UNPKG

68.1 kBTypeScriptView Raw
1// Type definitions for Svelte HTML, based on JSX React 18 typings
2// Original Project/Authors:
3// Type definitions for React 18.0
4// Project: http://facebook.github.io/react/
5// Definitions by: Asana <https://asana.com>
6// AssureSign <http://www.assuresign.com>
7// Microsoft <https://microsoft.com>
8// John Reilly <https://github.com/johnnyreilly>
9// Benoit Benezech <https://github.com/bbenezech>
10// Patricio Zavolinsky <https://github.com/pzavolinsky>
11// Eric Anderson <https://github.com/ericanderson>
12// Dovydas Navickas <https://github.com/DovydasNavickas>
13// Josh Rutherford <https://github.com/theruther4d>
14// Guilherme Hübner <https://github.com/guilhermehubner>
15// Ferdy Budhidharma <https://github.com/ferdaber>
16// Johann Rakotoharisoa <https://github.com/jrakotoharisoa>
17// Olivier Pascal <https://github.com/pascaloliv>
18// Martin Hochel <https://github.com/hotell>
19// Frank Li <https://github.com/franklixuefei>
20// Jessica Franco <https://github.com/Jessidhia>
21// Saransh Kataria <https://github.com/saranshkataria>
22// Kanitkorn Sujautra <https://github.com/lukyth>
23// Sebastian Silbermann <https://github.com/eps1lon>
24// Kyle Scully <https://github.com/zieka>
25// Cong Zhang <https://github.com/dancerphil>
26// Dimitri Mitropoulos <https://github.com/dimitropoulos>
27// JongChan Choi <https://github.com/disjukr>
28// Victor Magalhães <https://github.com/vhfmag>
29// Dale Tan <https://github.com/hellatan>
30// Priyanshu Rav <https://github.com/priyanshurav>
31// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
32// TypeScript Version: 2.8
33
34// Note: We also allow `null` as a valid value because Svelte treats this the same as `undefined`
35
36type Booleanish = boolean | 'true' | 'false';
37
38//
39// Event Handler Types
40// ----------------------------------------------------------------------
41
42type EventHandler<E extends Event = Event, T extends EventTarget = Element> = (
43 event: E & { currentTarget: EventTarget & T }
44) => any;
45
46export type ClipboardEventHandler<T extends EventTarget> = EventHandler<ClipboardEvent, T>;
47export type CompositionEventHandler<T extends EventTarget> = EventHandler<CompositionEvent, T>;
48export type DragEventHandler<T extends EventTarget> = EventHandler<DragEvent, T>;
49export type FocusEventHandler<T extends EventTarget> = EventHandler<FocusEvent, T>;
50export type FormEventHandler<T extends EventTarget> = EventHandler<Event, T>;
51export type ChangeEventHandler<T extends EventTarget> = EventHandler<Event, T>;
52export type KeyboardEventHandler<T extends EventTarget> = EventHandler<KeyboardEvent, T>;
53export type MouseEventHandler<T extends EventTarget> = EventHandler<MouseEvent, T>;
54export type TouchEventHandler<T extends EventTarget> = EventHandler<TouchEvent, T>;
55export type PointerEventHandler<T extends EventTarget> = EventHandler<PointerEvent, T>;
56export type GamepadEventHandler<T extends EventTarget> = EventHandler<GamepadEvent, T>;
57export type UIEventHandler<T extends EventTarget> = EventHandler<UIEvent, T>;
58export type WheelEventHandler<T extends EventTarget> = EventHandler<WheelEvent, T>;
59export type AnimationEventHandler<T extends EventTarget> = EventHandler<AnimationEvent, T>;
60export type TransitionEventHandler<T extends EventTarget> = EventHandler<TransitionEvent, T>;
61export type MessageEventHandler<T extends EventTarget> = EventHandler<MessageEvent, T>;
62export type ToggleEventHandler<T extends EventTarget> = EventHandler<ToggleEvent, T>;
63
64//
65// DOM Attributes
66// ----------------------------------------------------------------------
67
68export interface DOMAttributes<T extends EventTarget> {
69 // Clipboard Events
70 'on:copy'?: ClipboardEventHandler<T> | undefined | null;
71 'on:cut'?: ClipboardEventHandler<T> | undefined | null;
72 'on:paste'?: ClipboardEventHandler<T> | undefined | null;
73
74 // Composition Events
75 'on:compositionend'?: CompositionEventHandler<T> | undefined | null;
76 'on:compositionstart'?: CompositionEventHandler<T> | undefined | null;
77 'on:compositionupdate'?: CompositionEventHandler<T> | undefined | null;
78
79 // Focus Events
80 'on:focus'?: FocusEventHandler<T> | undefined | null;
81 'on:focusin'?: FocusEventHandler<T> | undefined | null;
82 'on:focusout'?: FocusEventHandler<T> | undefined | null;
83 'on:blur'?: FocusEventHandler<T> | undefined | null;
84
85 // Form Events
86 'on:change'?: FormEventHandler<T> | undefined | null;
87 'on:beforeinput'?: EventHandler<InputEvent, T> | undefined | null;
88 'on:input'?: FormEventHandler<T> | undefined | null;
89 'on:reset'?: FormEventHandler<T> | undefined | null;
90 'on:submit'?: EventHandler<SubmitEvent, T> | undefined | null;
91 'on:invalid'?: EventHandler<Event, T> | undefined | null;
92 'on:formdata'?: EventHandler<FormDataEvent, T> | undefined | null;
93
94 // Image Events
95 'on:load'?: EventHandler | undefined | null;
96 'on:error'?: EventHandler | undefined | null; // also a Media Event
97
98 // Popover Events
99 'on:beforetoggle'?: ToggleEventHandler<T> | undefined | null;
100 'on:toggle'?: ToggleEventHandler<T> | undefined | null;
101
102 // Keyboard Events
103 'on:keydown'?: KeyboardEventHandler<T> | undefined | null;
104 'on:keypress'?: KeyboardEventHandler<T> | undefined | null;
105 'on:keyup'?: KeyboardEventHandler<T> | undefined | null;
106
107 // Media Events
108 'on:abort'?: EventHandler<Event, T> | undefined | null;
109 'on:canplay'?: EventHandler<Event, T> | undefined | null;
110 'on:canplaythrough'?: EventHandler<Event, T> | undefined | null;
111 'on:cuechange'?: EventHandler<Event, T> | undefined | null;
112 'on:durationchange'?: EventHandler<Event, T> | undefined | null;
113 'on:emptied'?: EventHandler<Event, T> | undefined | null;
114 'on:encrypted'?: EventHandler<Event, T> | undefined | null;
115 'on:ended'?: EventHandler<Event, T> | undefined | null;
116 'on:loadeddata'?: EventHandler<Event, T> | undefined | null;
117 'on:loadedmetadata'?: EventHandler<Event, T> | undefined | null;
118 'on:loadstart'?: EventHandler<Event, T> | undefined | null;
119 'on:pause'?: EventHandler<Event, T> | undefined | null;
120 'on:play'?: EventHandler<Event, T> | undefined | null;
121 'on:playing'?: EventHandler<Event, T> | undefined | null;
122 'on:progress'?: EventHandler<Event, T> | undefined | null;
123 'on:ratechange'?: EventHandler<Event, T> | undefined | null;
124 'on:seeked'?: EventHandler<Event, T> | undefined | null;
125 'on:seeking'?: EventHandler<Event, T> | undefined | null;
126 'on:stalled'?: EventHandler<Event, T> | undefined | null;
127 'on:suspend'?: EventHandler<Event, T> | undefined | null;
128 'on:timeupdate'?: EventHandler<Event, T> | undefined | null;
129 'on:volumechange'?: EventHandler<Event, T> | undefined | null;
130 'on:waiting'?: EventHandler<Event, T> | undefined | null;
131
132 // MouseEvents
133 'on:auxclick'?: MouseEventHandler<T> | undefined | null;
134 'on:click'?: MouseEventHandler<T> | undefined | null;
135 'on:contextmenu'?: MouseEventHandler<T> | undefined | null;
136 'on:dblclick'?: MouseEventHandler<T> | undefined | null;
137 'on:drag'?: DragEventHandler<T> | undefined | null;
138 'on:dragend'?: DragEventHandler<T> | undefined | null;
139 'on:dragenter'?: DragEventHandler<T> | undefined | null;
140 'on:dragexit'?: DragEventHandler<T> | undefined | null;
141 'on:dragleave'?: DragEventHandler<T> | undefined | null;
142 'on:dragover'?: DragEventHandler<T> | undefined | null;
143 'on:dragstart'?: DragEventHandler<T> | undefined | null;
144 'on:drop'?: DragEventHandler<T> | undefined | null;
145 'on:mousedown'?: MouseEventHandler<T> | undefined | null;
146 'on:mouseenter'?: MouseEventHandler<T> | undefined | null;
147 'on:mouseleave'?: MouseEventHandler<T> | undefined | null;
148 'on:mousemove'?: MouseEventHandler<T> | undefined | null;
149 'on:mouseout'?: MouseEventHandler<T> | undefined | null;
150 'on:mouseover'?: MouseEventHandler<T> | undefined | null;
151 'on:mouseup'?: MouseEventHandler<T> | undefined | null;
152
153 // Selection Events
154 'on:select'?: EventHandler<Event, T> | undefined | null;
155 'on:selectionchange'?: EventHandler<Event, T> | undefined | null;
156 'on:selectstart'?: EventHandler<Event, T> | undefined | null;
157
158 // Touch Events
159 'on:touchcancel'?: TouchEventHandler<T> | undefined | null;
160 'on:touchend'?: TouchEventHandler<T> | undefined | null;
161 'on:touchmove'?: TouchEventHandler<T> | undefined | null;
162 'on:touchstart'?: TouchEventHandler<T> | undefined | null;
163
164 // Pointer Events
165 'on:gotpointercapture'?: PointerEventHandler<T> | undefined | null;
166 'on:pointercancel'?: PointerEventHandler<T> | undefined | null;
167 'on:pointerdown'?: PointerEventHandler<T> | undefined | null;
168 'on:pointerenter'?: PointerEventHandler<T> | undefined | null;
169 'on:pointerleave'?: PointerEventHandler<T> | undefined | null;
170 'on:pointermove'?: PointerEventHandler<T> | undefined | null;
171 'on:pointerout'?: PointerEventHandler<T> | undefined | null;
172 'on:pointerover'?: PointerEventHandler<T> | undefined | null;
173 'on:pointerup'?: PointerEventHandler<T> | undefined | null;
174 'on:lostpointercapture'?: PointerEventHandler<T> | undefined | null;
175
176 // Gamepad Events
177 'on:gamepadconnected'?: GamepadEventHandler<T> | undefined | null;
178 'on:gamepaddisconnected'?: GamepadEventHandler<T> | undefined | null;
179
180 // UI Events
181 'on:scroll'?: UIEventHandler<T> | undefined | null;
182 'on:scrollend'?: UIEventHandler<T> | undefined | null;
183 'on:resize'?: UIEventHandler<T> | undefined | null;
184
185 // Wheel Events
186 'on:wheel'?: WheelEventHandler<T> | undefined | null;
187
188 // Animation Events
189 'on:animationstart'?: AnimationEventHandler<T> | undefined | null;
190 'on:animationend'?: AnimationEventHandler<T> | undefined | null;
191 'on:animationiteration'?: AnimationEventHandler<T> | undefined | null;
192
193 // Transition Events
194 'on:transitionstart'?: TransitionEventHandler<T> | undefined | null;
195 'on:transitionrun'?: TransitionEventHandler<T> | undefined | null;
196 'on:transitionend'?: TransitionEventHandler<T> | undefined | null;
197 'on:transitioncancel'?: TransitionEventHandler<T> | undefined | null;
198
199 // Svelte Transition Events
200 'on:outrostart'?: EventHandler<CustomEvent<null>, T> | undefined | null;
201 'on:outroend'?: EventHandler<CustomEvent<null>, T> | undefined | null;
202 'on:introstart'?: EventHandler<CustomEvent<null>, T> | undefined | null;
203 'on:introend'?: EventHandler<CustomEvent<null>, T> | undefined | null;
204
205 // Message Events
206 'on:message'?: MessageEventHandler<T> | undefined | null;
207 'on:messageerror'?: MessageEventHandler<T> | undefined | null;
208
209 // Document Events
210 'on:visibilitychange'?: EventHandler<Event, T> | undefined | null;
211
212 // Global Events
213 'on:cancel'?: EventHandler<Event, T> | undefined | null;
214 'on:close'?: EventHandler<Event, T> | undefined | null;
215 'on:fullscreenchange'?: EventHandler<Event, T> | undefined | null;
216 'on:fullscreenerror'?: EventHandler<Event, T> | undefined | null;
217}
218
219// All the WAI-ARIA 1.1 attributes from https://www.w3.org/TR/wai-aria-1.1/
220export interface AriaAttributes {
221 /** Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application. */
222 'aria-activedescendant'?: string | undefined | null;
223 /** Indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute. */
224 'aria-atomic'?: Booleanish | undefined | null;
225 /**
226 * Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be
227 * presented if they are made.
228 */
229 'aria-autocomplete'?: 'none' | 'inline' | 'list' | 'both' | undefined | null;
230 /** Indicates an element is being modified and that assistive technologies MAY want to wait until the modifications are complete before exposing them to the user. */
231 'aria-busy'?: Booleanish | undefined | null;
232 /**
233 * Indicates the current "checked" state of checkboxes, radio buttons, and other widgets.
234 * @see aria-pressed @see aria-selected.
235 */
236 'aria-checked'?: boolean | 'false' | 'mixed' | 'true' | undefined | null;
237 /**
238 * Defines the total number of columns in a table, grid, or treegrid.
239 * @see aria-colindex.
240 */
241 'aria-colcount'?: number | undefined | null;
242 /**
243 * Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid.
244 * @see aria-colcount @see aria-colspan.
245 */
246 'aria-colindex'?: number | undefined | null;
247 /**
248 * Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid.
249 * @see aria-colindex @see aria-rowspan.
250 */
251 'aria-colspan'?: number | undefined | null;
252 /**
253 * Identifies the element (or elements) whose contents or presence are controlled by the current element.
254 * @see aria-owns.
255 */
256 'aria-controls'?: string | undefined | null;
257 /** Indicates the element that represents the current item within a container or set of related elements. */
258 'aria-current'?: Booleanish | 'page' | 'step' | 'location' | 'date' | 'time' | undefined | null;
259 /**
260 * Identifies the element (or elements) that describes the object.
261 * @see aria-labelledby
262 */
263 'aria-describedby'?: string | undefined | null;
264 /**
265 * Identifies the element that provides a detailed, extended description for the object.
266 * @see aria-describedby.
267 */
268 'aria-details'?: string | undefined | null;
269 /**
270 * Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable.
271 * @see aria-hidden @see aria-readonly.
272 */
273 'aria-disabled'?: Booleanish | undefined | null;
274 /**
275 * Indicates what functions can be performed when a dragged object is released on the drop target.
276 * @deprecated in ARIA 1.1
277 */
278 'aria-dropeffect'?: 'none' | 'copy' | 'execute' | 'link' | 'move' | 'popup' | undefined | null;
279 /**
280 * Identifies the element that provides an error message for the object.
281 * @see aria-invalid @see aria-describedby.
282 */
283 'aria-errormessage'?: string | undefined | null;
284 /** Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed. */
285 'aria-expanded'?: Booleanish | undefined | null;
286 /**
287 * Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion,
288 * allows assistive technology to override the general default of reading in document source order.
289 */
290 'aria-flowto'?: string | undefined | null;
291 /**
292 * Indicates an element's "grabbed" state in a drag-and-drop operation.
293 * @deprecated in ARIA 1.1
294 */
295 'aria-grabbed'?: Booleanish | undefined | null;
296 /** Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element. */
297 'aria-haspopup'?: Booleanish | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog' | undefined | null;
298 /**
299 * Indicates whether the element is exposed to an accessibility API.
300 * @see aria-disabled.
301 */
302 'aria-hidden'?: Booleanish | undefined | null;
303 /**
304 * Indicates the entered value does not conform to the format expected by the application.
305 * @see aria-errormessage.
306 */
307 'aria-invalid'?: Booleanish | 'grammar' | 'spelling' | undefined | null;
308 /** Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element. */
309 'aria-keyshortcuts'?: string | undefined | null;
310 /**
311 * Defines a string value that labels the current element.
312 * @see aria-labelledby.
313 */
314 'aria-label'?: string | undefined | null;
315 /**
316 * Identifies the element (or elements) that labels the current element.
317 * @see aria-describedby.
318 */
319 'aria-labelledby'?: string | undefined | null;
320 /** Defines the hierarchical level of an element within a structure. */
321 'aria-level'?: number | undefined | null;
322 /** Indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region. */
323 'aria-live'?: 'off' | 'assertive' | 'polite' | undefined | null;
324 /** Indicates whether an element is modal when displayed. */
325 'aria-modal'?: Booleanish | undefined | null;
326 /** Indicates whether a text box accepts multiple lines of input or only a single line. */
327 'aria-multiline'?: Booleanish | undefined | null;
328 /** Indicates that the user may select more than one item from the current selectable descendants. */
329 'aria-multiselectable'?: Booleanish | undefined | null;
330 /** Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous. */
331 'aria-orientation'?: 'horizontal' | 'vertical' | undefined | null;
332 /**
333 * Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship
334 * between DOM elements where the DOM hierarchy cannot be used to represent the relationship.
335 * @see aria-controls.
336 */
337 'aria-owns'?: string | undefined | null;
338 /**
339 * Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value.
340 * A hint could be a sample value or a brief description of the expected format.
341 */
342 'aria-placeholder'?: string | undefined | null;
343 /**
344 * Defines an element's number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.
345 * @see aria-setsize.
346 */
347 'aria-posinset'?: number | undefined | null;
348 /**
349 * Indicates the current "pressed" state of toggle buttons.
350 * @see aria-checked @see aria-selected.
351 */
352 'aria-pressed'?: boolean | 'false' | 'mixed' | 'true' | undefined | null;
353 /**
354 * Indicates that the element is not editable, but is otherwise operable.
355 * @see aria-disabled.
356 */
357 'aria-readonly'?: Booleanish | undefined | null;
358 /**
359 * Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified.
360 * @see aria-atomic.
361 */
362 'aria-relevant'?:
363 | 'additions'
364 | 'additions removals'
365 | 'additions text'
366 | 'all'
367 | 'removals'
368 | 'removals additions'
369 | 'removals text'
370 | 'text'
371 | 'text additions'
372 | 'text removals'
373 | undefined
374 | null;
375 /** Indicates that user input is required on the element before a form may be submitted. */
376 'aria-required'?: Booleanish | undefined | null;
377 /** Defines a human-readable, author-localized description for the role of an element. */
378 'aria-roledescription'?: string | undefined | null;
379 /**
380 * Defines the total number of rows in a table, grid, or treegrid.
381 * @see aria-rowindex.
382 */
383 'aria-rowcount'?: number | undefined | null;
384 /**
385 * Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid.
386 * @see aria-rowcount @see aria-rowspan.
387 */
388 'aria-rowindex'?: number | undefined | null;
389 /**
390 * Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid.
391 * @see aria-rowindex @see aria-colspan.
392 */
393 'aria-rowspan'?: number | undefined | null;
394 /**
395 * Indicates the current "selected" state of various widgets.
396 * @see aria-checked @see aria-pressed.
397 */
398 'aria-selected'?: Booleanish | undefined | null;
399 /**
400 * Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.
401 * @see aria-posinset.
402 */
403 'aria-setsize'?: number | undefined | null;
404 /** Indicates if items in a table or grid are sorted in ascending or descending order. */
405 'aria-sort'?: 'none' | 'ascending' | 'descending' | 'other' | undefined | null;
406 /** Defines the maximum allowed value for a range widget. */
407 'aria-valuemax'?: number | undefined | null;
408 /** Defines the minimum allowed value for a range widget. */
409 'aria-valuemin'?: number | undefined | null;
410 /**
411 * Defines the current value for a range widget.
412 * @see aria-valuetext.
413 */
414 'aria-valuenow'?: number | undefined | null;
415 /** Defines the human readable text alternative of aria-valuenow for a range widget. */
416 'aria-valuetext'?: string | undefined | null;
417}
418
419// All the WAI-ARIA 1.1 role attribute values from https://www.w3.org/TR/wai-aria-1.1/#role_definitions
420export type AriaRole =
421 | 'alert'
422 | 'alertdialog'
423 | 'application'
424 | 'article'
425 | 'banner'
426 | 'button'
427 | 'cell'
428 | 'checkbox'
429 | 'columnheader'
430 | 'combobox'
431 | 'complementary'
432 | 'contentinfo'
433 | 'definition'
434 | 'dialog'
435 | 'directory'
436 | 'document'
437 | 'feed'
438 | 'figure'
439 | 'form'
440 | 'grid'
441 | 'gridcell'
442 | 'group'
443 | 'heading'
444 | 'img'
445 | 'link'
446 | 'list'
447 | 'listbox'
448 | 'listitem'
449 | 'log'
450 | 'main'
451 | 'marquee'
452 | 'math'
453 | 'menu'
454 | 'menubar'
455 | 'menuitem'
456 | 'menuitemcheckbox'
457 | 'menuitemradio'
458 | 'navigation'
459 | 'none'
460 | 'note'
461 | 'option'
462 | 'presentation'
463 | 'progressbar'
464 | 'radio'
465 | 'radiogroup'
466 | 'region'
467 | 'row'
468 | 'rowgroup'
469 | 'rowheader'
470 | 'scrollbar'
471 | 'search'
472 | 'searchbox'
473 | 'separator'
474 | 'slider'
475 | 'spinbutton'
476 | 'status'
477 | 'switch'
478 | 'tab'
479 | 'table'
480 | 'tablist'
481 | 'tabpanel'
482 | 'term'
483 | 'textbox'
484 | 'timer'
485 | 'toolbar'
486 | 'tooltip'
487 | 'tree'
488 | 'treegrid'
489 | 'treeitem'
490 | (string & {});
491
492export interface HTMLAttributes<T extends EventTarget> extends AriaAttributes, DOMAttributes<T> {
493 // Standard HTML Attributes
494 accesskey?: string | undefined | null;
495 autofocus?: boolean | undefined | null;
496 class?: string | undefined | null;
497 contenteditable?: Booleanish | 'inherit' | 'plaintext-only' | undefined | null;
498 contextmenu?: string | undefined | null;
499 dir?: string | undefined | null;
500 draggable?: Booleanish | undefined | null;
501 enterkeyhint?:
502 | 'enter'
503 | 'done'
504 | 'go'
505 | 'next'
506 | 'previous'
507 | 'search'
508 | 'send'
509 | undefined
510 | null;
511 hidden?: boolean | undefined | null;
512 id?: string | undefined | null;
513 lang?: string | undefined | null;
514 part?: string | undefined | null;
515 placeholder?: string | undefined | null;
516 slot?: string | undefined | null;
517 spellcheck?: Booleanish | undefined | null;
518 style?: string | undefined | null;
519 tabindex?: number | undefined | null;
520 title?: string | undefined | null;
521 translate?: 'yes' | 'no' | '' | undefined | null;
522 inert?: boolean | undefined | null;
523 popover?: 'auto' | 'manual' | '' | undefined | null;
524
525 // Unknown
526 radiogroup?: string | undefined | null; // <command>, <menuitem>
527
528 // WAI-ARIA
529 role?: AriaRole | undefined | null;
530
531 // RDFa Attributes
532 about?: string | undefined | null;
533 datatype?: string | undefined | null;
534 inlist?: any;
535 prefix?: string | undefined | null;
536 property?: string | undefined | null;
537 resource?: string | undefined | null;
538 typeof?: string | undefined | null;
539 vocab?: string | undefined | null;
540
541 // Non-standard Attributes
542 autocapitalize?: string | undefined | null;
543 autocorrect?: string | undefined | null;
544 autosave?: string | undefined | null;
545 color?: string | undefined | null;
546 itemprop?: string | undefined | null;
547 itemscope?: boolean | undefined | null;
548 itemtype?: string | undefined | null;
549 itemid?: string | undefined | null;
550 itemref?: string | undefined | null;
551 results?: number | undefined | null;
552 security?: string | undefined | null;
553 unselectable?: 'on' | 'off' | undefined | null;
554
555 // Living Standard
556 /**
557 * Hints at the type of data that might be entered by the user while editing the element or its contents
558 * @see https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-inputmode-attribute
559 */
560 inputmode?:
561 | 'none'
562 | 'text'
563 | 'tel'
564 | 'url'
565 | 'email'
566 | 'numeric'
567 | 'decimal'
568 | 'search'
569 | undefined
570 | null;
571 /**
572 * Specify that a standard HTML element should behave like a defined custom built-in element
573 * @see https://html.spec.whatwg.org/multipage/custom-elements.html#attr-is
574 */
575 is?: string | undefined | null;
576
577 /**
578 * Elements with the contenteditable attribute support `innerHTML`, `textContent` and `innerText` bindings.
579 */
580 'bind:innerHTML'?: string | undefined | null;
581 /**
582 * Elements with the contenteditable attribute support `innerHTML`, `textContent` and `innerText` bindings.
583 */
584 'bind:textContent'?: string | undefined | null;
585 /**
586 * Elements with the contenteditable attribute support `innerHTML`, `textContent` and `innerText` bindings.
587 */
588 'bind:innerText'?: string | undefined | null;
589
590 readonly 'bind:contentRect'?: DOMRectReadOnly | undefined | null;
591 readonly 'bind:contentBoxSize'?: ResizeObserverSize[] | undefined | null;
592 readonly 'bind:borderBoxSize'?: ResizeObserverSize[] | undefined | null;
593 readonly 'bind:devicePixelContentBoxSize'?: ResizeObserverSize[] | undefined | null;
594
595 // SvelteKit
596 'data-sveltekit-keepfocus'?: true | '' | 'off' | undefined | null;
597 'data-sveltekit-noscroll'?: true | '' | 'off' | undefined | null;
598 'data-sveltekit-preload-code'?:
599 | true
600 | ''
601 | 'eager'
602 | 'viewport'
603 | 'hover'
604 | 'tap'
605 | 'off'
606 | undefined
607 | null;
608 'data-sveltekit-preload-data'?: true | '' | 'hover' | 'tap' | 'off' | undefined | null;
609 'data-sveltekit-reload'?: true | '' | 'off' | undefined | null;
610 'data-sveltekit-replacestate'?: true | '' | 'off' | undefined | null;
611
612 // allow any data- attribute
613 [key: `data-${string}`]: any;
614}
615
616export type HTMLAttributeAnchorTarget = '_self' | '_blank' | '_parent' | '_top' | (string & {});
617
618export interface HTMLAnchorAttributes extends HTMLAttributes<HTMLAnchorElement> {
619 download?: any;
620 href?: string | undefined | null;
621 hreflang?: string | undefined | null;
622 media?: string | undefined | null;
623 ping?: string | undefined | null;
624 rel?: string | undefined | null;
625 target?: HTMLAttributeAnchorTarget | undefined | null;
626 type?: string | undefined | null;
627 referrerpolicy?: ReferrerPolicy | undefined | null;
628
629 // Sapper
630 'sapper:noscroll'?: true | undefined | null;
631 'sapper:prefetch'?: true | undefined | null;
632}
633
634export interface HTMLAudioAttributes extends HTMLMediaAttributes<HTMLAudioElement> {}
635
636export interface HTMLAreaAttributes extends HTMLAttributes<HTMLAreaElement> {
637 alt?: string | undefined | null;
638 coords?: string | undefined | null;
639 download?: any;
640 href?: string | undefined | null;
641 hreflang?: string | undefined | null;
642 media?: string | undefined | null;
643 referrerpolicy?: ReferrerPolicy | undefined | null;
644 rel?: string | undefined | null;
645 shape?: string | undefined | null;
646 target?: string | undefined | null;
647 ping?: string | undefined | null;
648}
649
650export interface HTMLBaseAttributes extends HTMLAttributes<HTMLBaseElement> {
651 href?: string | undefined | null;
652 target?: string | undefined | null;
653}
654
655export interface HTMLBlockquoteAttributes extends HTMLAttributes<HTMLQuoteElement> {
656 cite?: string | undefined | null;
657}
658
659export interface HTMLButtonAttributes extends HTMLAttributes<HTMLButtonElement> {
660 disabled?: boolean | undefined | null;
661 form?: string | undefined | null;
662 formaction?: string | undefined | null;
663 formenctype?: string | undefined | null;
664 formmethod?: string | undefined | null;
665 formnovalidate?: boolean | undefined | null;
666 formtarget?: string | undefined | null;
667 name?: string | undefined | null;
668 type?: 'submit' | 'reset' | 'button' | undefined | null;
669 value?: string | string[] | number | undefined | null;
670 popovertarget?: string | undefined | null;
671 popovertargetaction?: 'toggle' | 'show' | 'hide' | undefined | null;
672}
673
674export interface HTMLCanvasAttributes extends HTMLAttributes<HTMLCanvasElement> {
675 height?: number | string | undefined | null;
676 width?: number | string | undefined | null;
677}
678
679export interface HTMLColAttributes extends HTMLAttributes<HTMLTableColElement> {
680 span?: number | undefined | null;
681 width?: number | string | undefined | null;
682}
683
684export interface HTMLColgroupAttributes extends HTMLAttributes<HTMLTableColElement> {
685 span?: number | undefined | null;
686}
687
688export interface HTMLDataAttributes extends HTMLAttributes<HTMLDataElement> {
689 value?: string | string[] | number | undefined | null;
690}
691
692export interface HTMLDetailsAttributes extends HTMLAttributes<HTMLDetailsElement> {
693 open?: boolean | undefined | null;
694
695 'bind:open'?: boolean | undefined | null;
696
697 'on:toggle'?: EventHandler<Event, HTMLDetailsElement> | undefined | null;
698}
699
700export interface HTMLDelAttributes extends HTMLAttributes<HTMLModElement> {
701 cite?: string | undefined | null;
702 datetime?: string | undefined | null;
703}
704
705export interface HTMLDialogAttributes extends HTMLAttributes<HTMLDialogElement> {
706 open?: boolean | undefined | null;
707}
708
709export interface HTMLEmbedAttributes extends HTMLAttributes<HTMLEmbedElement> {
710 height?: number | string | undefined | null;
711 src?: string | undefined | null;
712 type?: string | undefined | null;
713 width?: number | string | undefined | null;
714}
715
716export interface HTMLFieldsetAttributes extends HTMLAttributes<HTMLFieldSetElement> {
717 disabled?: boolean | undefined | null;
718 form?: string | undefined | null;
719 name?: string | undefined | null;
720}
721
722export interface HTMLFormAttributes extends HTMLAttributes<HTMLFormElement> {
723 acceptcharset?: string | undefined | null;
724 action?: string | undefined | null;
725 autocomplete?: string | undefined | null;
726 enctype?: string | undefined | null;
727 method?: string | undefined | null;
728 name?: string | undefined | null;
729 novalidate?: boolean | undefined | null;
730 target?: string | undefined | null;
731 rel?: string | undefined | null;
732}
733
734export interface HTMLHtmlAttributes extends HTMLAttributes<HTMLHtmlElement> {
735 manifest?: string | undefined | null;
736}
737
738export interface HTMLIframeAttributes extends HTMLAttributes<HTMLIFrameElement> {
739 allow?: string | undefined | null;
740 allowfullscreen?: boolean | undefined | null;
741 allowtransparency?: boolean | undefined | null;
742 /** @deprecated */
743 frameborder?: number | string | undefined | null;
744 height?: number | string | undefined | null;
745 loading?: 'eager' | 'lazy' | undefined | null;
746 /** @deprecated */
747 marginheight?: number | undefined | null;
748 /** @deprecated */
749 marginwidth?: number | undefined | null;
750 name?: string | undefined | null;
751 referrerpolicy?: ReferrerPolicy | undefined | null;
752 sandbox?: string | undefined | null;
753 /** @deprecated */
754 scrolling?: string | undefined | null;
755 seamless?: boolean | undefined | null;
756 src?: string | undefined | null;
757 srcdoc?: string | undefined | null;
758 width?: number | string | undefined | null;
759}
760
761export interface HTMLImgAttributes extends HTMLAttributes<HTMLImageElement> {
762 alt?: string | undefined | null;
763 crossorigin?: 'anonymous' | 'use-credentials' | '' | undefined | null;
764 decoding?: 'async' | 'auto' | 'sync' | undefined | null;
765 fetchpriority?: 'auto' | 'high' | 'low' | undefined | null;
766 height?: number | string | undefined | null;
767 ismap?: boolean | undefined | null;
768 loading?: 'eager' | 'lazy' | undefined | null;
769 referrerpolicy?: ReferrerPolicy | undefined | null;
770 sizes?: string | undefined | null;
771 src?: string | undefined | null;
772 srcset?: string | undefined | null;
773 usemap?: string | undefined | null;
774 width?: number | string | undefined | null;
775
776 readonly 'bind:naturalWidth'?: number | undefined | null;
777 readonly 'bind:naturalHeight'?: number | undefined | null;
778}
779
780export interface HTMLInsAttributes extends HTMLAttributes<HTMLModElement> {
781 cite?: string | undefined | null;
782 datetime?: string | undefined | null;
783}
784
785export type HTMLInputTypeAttribute =
786 | 'button'
787 | 'checkbox'
788 | 'color'
789 | 'date'
790 | 'datetime-local'
791 | 'email'
792 | 'file'
793 | 'hidden'
794 | 'image'
795 | 'month'
796 | 'number'
797 | 'password'
798 | 'radio'
799 | 'range'
800 | 'reset'
801 | 'search'
802 | 'submit'
803 | 'tel'
804 | 'text'
805 | 'time'
806 | 'url'
807 | 'week'
808 | (string & {});
809
810export interface HTMLInputAttributes extends HTMLAttributes<HTMLInputElement> {
811 accept?: string | undefined | null;
812 alt?: string | undefined | null;
813 autocomplete?: string | undefined | null;
814 capture?: boolean | 'user' | 'environment' | undefined | null; // https://www.w3.org/TR/html-media-capture/#the-capture-attribute
815 checked?: boolean | undefined | null;
816 crossorigin?: string | undefined | null;
817 disabled?: boolean | undefined | null;
818 form?: string | undefined | null;
819 formaction?: string | undefined | null;
820 formenctype?: string | undefined | null;
821 formmethod?: string | undefined | null;
822 formnovalidate?: boolean | undefined | null;
823 formtarget?: string | undefined | null;
824 height?: number | string | undefined | null;
825 indeterminate?: boolean | undefined | null;
826 list?: string | undefined | null;
827 max?: number | string | undefined | null;
828 maxlength?: number | undefined | null;
829 min?: number | string | undefined | null;
830 minlength?: number | undefined | null;
831 multiple?: boolean | undefined | null;
832 name?: string | undefined | null;
833 pattern?: string | undefined | null;
834 placeholder?: string | undefined | null;
835 readonly?: boolean | undefined | null;
836 required?: boolean | undefined | null;
837 size?: number | undefined | null;
838 src?: string | undefined | null;
839 step?: number | string | undefined | null;
840 type?: HTMLInputTypeAttribute | undefined | null;
841 value?: any;
842 width?: number | string | undefined | null;
843
844 'on:change'?: ChangeEventHandler<HTMLInputElement> | undefined | null;
845
846 'bind:checked'?: boolean | undefined | null;
847 'bind:value'?: any;
848 'bind:group'?: any | undefined | null;
849 'bind:files'?: FileList | undefined | null;
850 'bind:indeterminate'?: boolean | undefined | null;
851}
852
853export interface HTMLKeygenAttributes extends HTMLAttributes<HTMLElement> {
854 challenge?: string | undefined | null;
855 disabled?: boolean | undefined | null;
856 form?: string | undefined | null;
857 keytype?: string | undefined | null;
858 keyparams?: string | undefined | null;
859 name?: string | undefined | null;
860}
861
862export interface HTMLLabelAttributes extends HTMLAttributes<HTMLLabelElement> {
863 form?: string | undefined | null;
864 for?: string | undefined | null;
865}
866
867export interface HTMLLiAttributes extends HTMLAttributes<HTMLLIElement> {
868 value?: string | string[] | number | undefined | null;
869}
870
871export interface HTMLLinkAttributes extends HTMLAttributes<HTMLLinkElement> {
872 as?: string | undefined | null;
873 crossorigin?: string | undefined | null;
874 href?: string | undefined | null;
875 hreflang?: string | undefined | null;
876 integrity?: string | undefined | null;
877 media?: string | undefined | null;
878 imagesrcset?: string | undefined | null;
879 imagesizes?: string | undefined | null;
880 referrerpolicy?: ReferrerPolicy | undefined | null;
881 rel?: string | undefined | null;
882 sizes?: string | undefined | null;
883 type?: string | undefined | null;
884 charset?: string | undefined | null;
885 fetchpriority?: 'auto' | 'high' | 'low' | undefined | null;
886}
887
888export interface HTMLMapAttributes extends HTMLAttributes<HTMLMapElement> {
889 name?: string | undefined | null;
890}
891
892export interface HTMLMenuAttributes extends HTMLAttributes<HTMLMenuElement> {
893 type?: string | undefined | null;
894}
895
896export interface HTMLMediaAttributes<T extends HTMLMediaElement> extends HTMLAttributes<T> {
897 autoplay?: boolean | undefined | null;
898 controls?: boolean | undefined | null;
899 controlslist?:
900 | 'nodownload'
901 | 'nofullscreen'
902 | 'noplaybackrate'
903 | 'noremoteplayback'
904 | (string & {})
905 | undefined
906 | null;
907 crossorigin?: string | undefined | null;
908 currenttime?: number | undefined | null;
909 defaultmuted?: boolean | undefined | null;
910 defaultplaybackrate?: number | undefined | null;
911 loop?: boolean | undefined | null;
912 mediagroup?: string | undefined | null;
913 muted?: boolean | undefined | null;
914 playsinline?: boolean | undefined | null;
915 preload?: string | undefined | null;
916 src?: string | undefined | null;
917 /**
918 * a value between 0 and 1
919 */
920 volume?: number | undefined | null;
921
922 readonly 'bind:readyState'?: 0 | 1 | 2 | 3 | 4 | undefined | null;
923 readonly 'bind:duration'?: number | undefined | null;
924 readonly 'bind:buffered'?: SvelteMediaTimeRange[] | undefined | null;
925 readonly 'bind:played'?: SvelteMediaTimeRange[] | undefined | null;
926 readonly 'bind:seekable'?: SvelteMediaTimeRange[] | undefined | null;
927 readonly 'bind:seeking'?: boolean | undefined | null;
928 readonly 'bind:ended'?: boolean | undefined | null;
929 'bind:muted'?: boolean | undefined | null;
930 'bind:volume'?: number | undefined | null;
931 /**
932 * the current playback time in the video, in seconds
933 */
934 'bind:currentTime'?: number | undefined | null;
935 /**
936 * how fast or slow to play the video, where 1 is 'normal'
937 */
938 'bind:playbackRate'?: number | undefined | null;
939 'bind:paused'?: boolean | undefined | null;
940}
941
942export interface HTMLMetaAttributes extends HTMLAttributes<HTMLMetaElement> {
943 charset?: string | undefined | null;
944 content?: string | undefined | null;
945 'http-equiv'?: string | undefined | null;
946 name?: string | undefined | null;
947 media?: string | undefined | null;
948}
949
950export interface HTMLMeterAttributes extends HTMLAttributes<HTMLMeterElement> {
951 form?: string | undefined | null;
952 high?: number | undefined | null;
953 low?: number | undefined | null;
954 max?: number | string | undefined | null;
955 min?: number | string | undefined | null;
956 optimum?: number | undefined | null;
957 value?: string | string[] | number | undefined | null;
958}
959
960export interface HTMLQuoteAttributes extends HTMLAttributes<HTMLQuoteElement> {
961 cite?: string | undefined | null;
962}
963
964export interface HTMLObjectAttributes extends HTMLAttributes<HTMLObjectElement> {
965 classid?: string | undefined | null;
966 data?: string | undefined | null;
967 form?: string | undefined | null;
968 height?: number | string | undefined | null;
969 name?: string | undefined | null;
970 type?: string | undefined | null;
971 usemap?: string | undefined | null;
972 width?: number | string | undefined | null;
973 wmode?: string | undefined | null;
974}
975
976export interface HTMLOlAttributes extends HTMLAttributes<HTMLOListElement> {
977 reversed?: boolean | undefined | null;
978 start?: number | undefined | null;
979 type?: '1' | 'a' | 'A' | 'i' | 'I' | undefined | null;
980}
981
982export interface HTMLOptgroupAttributes extends HTMLAttributes<HTMLOptGroupElement> {
983 disabled?: boolean | undefined | null;
984 label?: string | undefined | null;
985}
986
987export interface HTMLOptionAttributes extends HTMLAttributes<HTMLOptionElement> {
988 disabled?: boolean | undefined | null;
989 label?: string | undefined | null;
990 selected?: boolean | undefined | null;
991 value?: any;
992}
993
994export interface HTMLOutputAttributes extends HTMLAttributes<HTMLOutputElement> {
995 form?: string | undefined | null;
996 for?: string | undefined | null;
997 name?: string | undefined | null;
998}
999
1000export interface HTMLParamAttributes extends HTMLAttributes<HTMLParamElement> {
1001 name?: string | undefined | null;
1002 value?: string | string[] | number | undefined | null;
1003}
1004
1005export interface HTMLProgressAttributes extends HTMLAttributes<HTMLProgressElement> {
1006 max?: number | string | undefined | null;
1007 value?: string | string[] | number | undefined | null;
1008}
1009
1010export interface HTMLSlotAttributes extends HTMLAttributes<HTMLSlotElement> {
1011 name?: string | undefined | null;
1012}
1013
1014export interface HTMLScriptAttributes extends HTMLAttributes<HTMLScriptElement> {
1015 async?: boolean | undefined | null;
1016 /** @deprecated */
1017 charset?: string | undefined | null;
1018 crossorigin?: string | undefined | null;
1019 defer?: boolean | undefined | null;
1020 fetchpriority?: 'auto' | 'high' | 'low' | undefined | null;
1021 integrity?: string | undefined | null;
1022 nomodule?: boolean | undefined | null;
1023 nonce?: string | undefined | null;
1024 referrerpolicy?: ReferrerPolicy | undefined | null;
1025 src?: string | undefined | null;
1026 type?: string | undefined | null;
1027}
1028
1029export interface HTMLSelectAttributes extends HTMLAttributes<HTMLSelectElement> {
1030 autocomplete?: string | undefined | null;
1031 disabled?: boolean | undefined | null;
1032 form?: string | undefined | null;
1033 multiple?: boolean | undefined | null;
1034 name?: string | undefined | null;
1035 required?: boolean | undefined | null;
1036 size?: number | undefined | null;
1037 value?: any;
1038
1039 'on:change'?: ChangeEventHandler<HTMLSelectElement> | undefined | null;
1040
1041 'bind:value'?: any;
1042}
1043
1044export interface HTMLSourceAttributes extends HTMLAttributes<HTMLSourceElement> {
1045 height?: number | string | undefined | null;
1046 media?: string | undefined | null;
1047 sizes?: string | undefined | null;
1048 src?: string | undefined | null;
1049 srcset?: string | undefined | null;
1050 type?: string | undefined | null;
1051 width?: number | string | undefined | null;
1052}
1053
1054export interface HTMLStyleAttributes extends HTMLAttributes<HTMLStyleElement> {
1055 media?: string | undefined | null;
1056 nonce?: string | undefined | null;
1057 scoped?: boolean | undefined | null;
1058 type?: string | undefined | null;
1059}
1060
1061export interface HTMLTableAttributes extends HTMLAttributes<HTMLTableElement> {
1062 align?: 'left' | 'center' | 'right' | undefined | null;
1063 bgcolor?: string | undefined | null;
1064 border?: number | undefined | null;
1065 cellpadding?: number | string | undefined | null;
1066 cellspacing?: number | string | undefined | null;
1067 frame?: boolean | undefined | null;
1068 rules?: 'none' | 'groups' | 'rows' | 'columns' | 'all' | undefined | null;
1069 summary?: string | undefined | null;
1070 width?: number | string | undefined | null;
1071}
1072
1073export interface HTMLTextareaAttributes extends HTMLAttributes<HTMLTextAreaElement> {
1074 autocomplete?: string | undefined | null;
1075 cols?: number | undefined | null;
1076 dirname?: string | undefined | null;
1077 disabled?: boolean | undefined | null;
1078 form?: string | undefined | null;
1079 maxlength?: number | undefined | null;
1080 minlength?: number | undefined | null;
1081 name?: string | undefined | null;
1082 placeholder?: string | undefined | null;
1083 readonly?: boolean | undefined | null;
1084 required?: boolean | undefined | null;
1085 rows?: number | undefined | null;
1086 value?: string | string[] | number | undefined | null;
1087 wrap?: string | undefined | null;
1088
1089 'on:change'?: ChangeEventHandler<HTMLTextAreaElement> | undefined | null;
1090
1091 'bind:value'?: any;
1092}
1093
1094export interface HTMLTdAttributes extends HTMLAttributes<HTMLTableCellElement> {
1095 align?: 'left' | 'center' | 'right' | 'justify' | 'char' | undefined | null;
1096 colspan?: number | undefined | null;
1097 headers?: string | undefined | null;
1098 rowspan?: number | undefined | null;
1099 scope?: string | undefined | null;
1100 abbr?: string | undefined | null;
1101 height?: number | string | undefined | null;
1102 width?: number | string | undefined | null;
1103 valign?: 'top' | 'middle' | 'bottom' | 'baseline' | undefined | null;
1104}
1105
1106export interface HTMLThAttributes extends HTMLAttributes<HTMLTableCellElement> {
1107 align?: 'left' | 'center' | 'right' | 'justify' | 'char' | undefined | null;
1108 colspan?: number | undefined | null;
1109 headers?: string | undefined | null;
1110 rowspan?: number | undefined | null;
1111 scope?: string | undefined | null;
1112 abbr?: string | undefined | null;
1113}
1114
1115export interface HTMLTimeAttributes extends HTMLAttributes<HTMLTimeElement> {
1116 datetime?: string | undefined | null;
1117}
1118
1119export interface HTMLTrackAttributes extends HTMLAttributes<HTMLTrackElement> {
1120 default?: boolean | undefined | null;
1121 kind?: string | undefined | null;
1122 label?: string | undefined | null;
1123 src?: string | undefined | null;
1124 srclang?: string | undefined | null;
1125}
1126
1127export interface HTMLVideoAttributes extends HTMLMediaAttributes<HTMLVideoElement> {
1128 height?: number | string | undefined | null;
1129 playsinline?: boolean | undefined | null;
1130 poster?: string | undefined | null;
1131 width?: number | string | undefined | null;
1132 disablepictureinpicture?: boolean | undefined | null;
1133 disableremoteplayback?: boolean | undefined | null;
1134
1135 readonly 'bind:videoWidth'?: number | undefined | null;
1136 readonly 'bind:videoHeight'?: number | undefined | null;
1137}
1138
1139export interface SvelteMediaTimeRange {
1140 start: number;
1141 end: number;
1142}
1143
1144export interface SvelteDocumentAttributes extends HTMLAttributes<Document> {
1145 readonly 'bind:fullscreenElement'?: Document['fullscreenElement'] | undefined | null;
1146 readonly 'bind:visibilityState'?: Document['visibilityState'] | undefined | null;
1147}
1148
1149export interface SvelteWindowAttributes extends HTMLAttributes<Window> {
1150 readonly 'bind:innerWidth'?: Window['innerWidth'] | undefined | null;
1151 readonly 'bind:innerHeight'?: Window['innerHeight'] | undefined | null;
1152 readonly 'bind:outerWidth'?: Window['outerWidth'] | undefined | null;
1153 readonly 'bind:outerHeight'?: Window['outerHeight'] | undefined | null;
1154 readonly 'bind:devicePixelRatio'?: Window['devicePixelRatio'] | undefined | null;
1155 'bind:scrollX'?: Window['scrollX'] | undefined | null;
1156 'bind:scrollY'?: Window['scrollY'] | undefined | null;
1157 readonly 'bind:online'?: Window['navigator']['onLine'] | undefined | null;
1158
1159 // SvelteKit
1160 'on:sveltekit:start'?: EventHandler<CustomEvent, Window> | undefined | null;
1161 'on:sveltekit:navigation-start'?: EventHandler<CustomEvent, Window> | undefined | null;
1162 'on:sveltekit:navigation-end'?: EventHandler<CustomEvent, Window> | undefined | null;
1163
1164 'on:devicelight'?: EventHandler<Event, Window> | undefined | null;
1165 'on:beforeinstallprompt'?: EventHandler<Event, Window> | undefined | null;
1166 'on:deviceproximity'?: EventHandler<Event, Window> | undefined | null;
1167 'on:paint'?: EventHandler<Event, Window> | undefined | null;
1168 'on:userproximity'?: EventHandler<Event, Window> | undefined | null;
1169 'on:beforeprint'?: EventHandler<Event, Window> | undefined | null;
1170 'on:afterprint'?: EventHandler<Event, Window> | undefined | null;
1171 'on:languagechange'?: EventHandler<Event, Window> | undefined | null;
1172 'on:orientationchange'?: EventHandler<Event, Window> | undefined | null;
1173 'on:message'?: EventHandler<MessageEvent, Window> | undefined | null;
1174 'on:messageerror'?: EventHandler<MessageEvent, Window> | undefined | null;
1175 'on:offline'?: EventHandler<Event, Window> | undefined | null;
1176 'on:online'?: EventHandler<Event, Window> | undefined | null;
1177 'on:beforeunload'?: EventHandler<BeforeUnloadEvent, Window> | undefined | null;
1178 'on:unload'?: EventHandler<Event, Window> | undefined | null;
1179 'on:storage'?: EventHandler<StorageEvent, Window> | undefined | null;
1180 'on:hashchange'?: EventHandler<HashChangeEvent, Window> | undefined | null;
1181 'on:pagehide'?: EventHandler<PageTransitionEvent, Window> | undefined | null;
1182 'on:pageshow'?: EventHandler<PageTransitionEvent, Window> | undefined | null;
1183 'on:popstate'?: EventHandler<PopStateEvent, Window> | undefined | null;
1184 'on:devicemotion'?: EventHandler<DeviceMotionEvent> | undefined | null;
1185 'on:deviceorientation'?: EventHandler<DeviceOrientationEvent, Window> | undefined | null;
1186 'on:deviceorientationabsolute'?: EventHandler<DeviceOrientationEvent, Window> | undefined | null;
1187 'on:unhandledrejection'?: EventHandler<PromiseRejectionEvent, Window> | undefined | null;
1188 'on:rejectionhandled'?: EventHandler<PromiseRejectionEvent, Window> | undefined | null;
1189}
1190
1191export interface SVGAttributes<T extends EventTarget> extends AriaAttributes, DOMAttributes<T> {
1192 // Attributes which also defined in HTMLAttributes
1193 className?: string | undefined | null;
1194 class?: string | undefined | null;
1195 color?: string | undefined | null;
1196 height?: number | string | undefined | null;
1197 id?: string | undefined | null;
1198 lang?: string | undefined | null;
1199 max?: number | string | undefined | null;
1200 media?: string | undefined | null;
1201 method?: string | undefined | null;
1202 min?: number | string | undefined | null;
1203 name?: string | undefined | null;
1204 style?: string | undefined | null;
1205 target?: string | undefined | null;
1206 type?: string | undefined | null;
1207 width?: number | string | undefined | null;
1208
1209 // Other HTML properties supported by SVG elements in browsers
1210 role?: AriaRole | undefined | null;
1211 tabindex?: number | undefined | null;
1212 crossorigin?: 'anonymous' | 'use-credentials' | '' | undefined | null;
1213
1214 // SVG Specific attributes
1215 'accent-height'?: number | string | undefined | null;
1216 accumulate?: 'none' | 'sum' | undefined | null;
1217 additive?: 'replace' | 'sum' | undefined | null;
1218 'alignment-baseline'?:
1219 | 'auto'
1220 | 'baseline'
1221 | 'before-edge'
1222 | 'text-before-edge'
1223 | 'middle'
1224 | 'central'
1225 | 'after-edge'
1226 | 'text-after-edge'
1227 | 'ideographic'
1228 | 'alphabetic'
1229 | 'hanging'
1230 | 'mathematical'
1231 | 'inherit'
1232 | undefined
1233 | null;
1234 allowReorder?: 'no' | 'yes' | undefined | null;
1235 alphabetic?: number | string | undefined | null;
1236 amplitude?: number | string | undefined | null;
1237 'arabic-form'?: 'initial' | 'medial' | 'terminal' | 'isolated' | undefined | null;
1238 ascent?: number | string | undefined | null;
1239 attributeName?: string | undefined | null;
1240 attributeType?: string | undefined | null;
1241 autoReverse?: number | string | undefined | null;
1242 azimuth?: number | string | undefined | null;
1243 baseFrequency?: number | string | undefined | null;
1244 'baseline-shift'?: number | string | undefined | null;
1245 baseProfile?: number | string | undefined | null;
1246 bbox?: number | string | undefined | null;
1247 begin?: number | string | undefined | null;
1248 bias?: number | string | undefined | null;
1249 by?: number | string | undefined | null;
1250 calcMode?: number | string | undefined | null;
1251 'cap-height'?: number | string | undefined | null;
1252 clip?: number | string | undefined | null;
1253 'clip-path'?: string | undefined | null;
1254 clipPathUnits?: number | string | undefined | null;
1255 'clip-rule'?: number | string | undefined | null;
1256 'color-interpolation'?: number | string | undefined | null;
1257 'color-interpolation-filters'?: 'auto' | 'sRGB' | 'linearRGB' | 'inherit' | undefined | null;
1258 'color-profile'?: number | string | undefined | null;
1259 'color-rendering'?: number | string | undefined | null;
1260 contentScriptType?: number | string | undefined | null;
1261 contentStyleType?: number | string | undefined | null;
1262 cursor?: number | string | undefined | null;
1263 cx?: number | string | undefined | null;
1264 cy?: number | string | undefined | null;
1265 d?: string | undefined | null;
1266 decelerate?: number | string | undefined | null;
1267 descent?: number | string | undefined | null;
1268 diffuseConstant?: number | string | undefined | null;
1269 direction?: number | string | undefined | null;
1270 display?: number | string | undefined | null;
1271 divisor?: number | string | undefined | null;
1272 'dominant-baseline'?: number | string | undefined | null;
1273 dur?: number | string | undefined | null;
1274 dx?: number | string | undefined | null;
1275 dy?: number | string | undefined | null;
1276 edgeMode?: number | string | undefined | null;
1277 elevation?: number | string | undefined | null;
1278 'enable-background'?: number | string | undefined | null;
1279 end?: number | string | undefined | null;
1280 exponent?: number | string | undefined | null;
1281 externalResourcesRequired?: number | string | undefined | null;
1282 fill?: string | undefined | null;
1283 'fill-opacity'?: number | string | undefined | null;
1284 'fill-rule'?: 'nonzero' | 'evenodd' | 'inherit' | undefined | null;
1285 filter?: string | undefined | null;
1286 filterRes?: number | string | undefined | null;
1287 filterUnits?: number | string | undefined | null;
1288 'flood-color'?: number | string | undefined | null;
1289 'flood-opacity'?: number | string | undefined | null;
1290 focusable?: number | string | undefined | null;
1291 'font-family'?: string | undefined | null;
1292 'font-size'?: number | string | undefined | null;
1293 'font-size-adjust'?: number | string | undefined | null;
1294 'font-stretch'?: number | string | undefined | null;
1295 'font-style'?: number | string | undefined | null;
1296 'font-variant'?: number | string | undefined | null;
1297 'font-weight'?: number | string | undefined | null;
1298 format?: number | string | undefined | null;
1299 from?: number | string | undefined | null;
1300 fx?: number | string | undefined | null;
1301 fy?: number | string | undefined | null;
1302 g1?: number | string | undefined | null;
1303 g2?: number | string | undefined | null;
1304 'glyph-name'?: number | string | undefined | null;
1305 'glyph-orientation-horizontal'?: number | string | undefined | null;
1306 'glyph-orientation-vertical'?: number | string | undefined | null;
1307 glyphRef?: number | string | undefined | null;
1308 gradientTransform?: string | undefined | null;
1309 gradientUnits?: string | undefined | null;
1310 hanging?: number | string | undefined | null;
1311 href?: string | undefined | null;
1312 'horiz-adv-x'?: number | string | undefined | null;
1313 'horiz-origin-x'?: number | string | undefined | null;
1314 ideographic?: number | string | undefined | null;
1315 'image-rendering'?: number | string | undefined | null;
1316 in2?: number | string | undefined | null;
1317 in?: string | undefined | null;
1318 intercept?: number | string | undefined | null;
1319 k1?: number | string | undefined | null;
1320 k2?: number | string | undefined | null;
1321 k3?: number | string | undefined | null;
1322 k4?: number | string | undefined | null;
1323 k?: number | string | undefined | null;
1324 kernelMatrix?: number | string | undefined | null;
1325 kernelUnitLength?: number | string | undefined | null;
1326 kerning?: number | string | undefined | null;
1327 keyPoints?: number | string | undefined | null;
1328 keySplines?: number | string | undefined | null;
1329 keyTimes?: number | string | undefined | null;
1330 lengthAdjust?: number | string | undefined | null;
1331 'letter-spacing'?: number | string | undefined | null;
1332 'lighting-color'?: number | string | undefined | null;
1333 limitingConeAngle?: number | string | undefined | null;
1334 local?: number | string | undefined | null;
1335 'marker-end'?: string | undefined | null;
1336 markerHeight?: number | string | undefined | null;
1337 'marker-mid'?: string | undefined | null;
1338 'marker-start'?: string | undefined | null;
1339 markerUnits?: number | string | undefined | null;
1340 markerWidth?: number | string | undefined | null;
1341 mask?: string | undefined | null;
1342 maskContentUnits?: number | string | undefined | null;
1343 maskUnits?: number | string | undefined | null;
1344 mathematical?: number | string | undefined | null;
1345 mode?: number | string | undefined | null;
1346 numOctaves?: number | string | undefined | null;
1347 offset?: number | string | undefined | null;
1348 opacity?: number | string | undefined | null;
1349 operator?: number | string | undefined | null;
1350 order?: number | string | undefined | null;
1351 orient?: number | string | undefined | null;
1352 orientation?: number | string | undefined | null;
1353 origin?: number | string | undefined | null;
1354 overflow?: number | string | undefined | null;
1355 'overline-position'?: number | string | undefined | null;
1356 'overline-thickness'?: number | string | undefined | null;
1357 'paint-order'?: number | string | undefined | null;
1358 'panose-1'?: number | string | undefined | null;
1359 path?: string | undefined | null;
1360 pathLength?: number | string | undefined | null;
1361 patternContentUnits?: string | undefined | null;
1362 patternTransform?: number | string | undefined | null;
1363 patternUnits?: string | undefined | null;
1364 'pointer-events'?: number | string | undefined | null;
1365 points?: string | undefined | null;
1366 pointsAtX?: number | string | undefined | null;
1367 pointsAtY?: number | string | undefined | null;
1368 pointsAtZ?: number | string | undefined | null;
1369 preserveAlpha?: number | string | undefined | null;
1370 preserveAspectRatio?: string | undefined | null;
1371 primitiveUnits?: number | string | undefined | null;
1372 r?: number | string | undefined | null;
1373 radius?: number | string | undefined | null;
1374 refX?: number | string | undefined | null;
1375 refY?: number | string | undefined | null;
1376 'rendering-intent'?: number | string | undefined | null;
1377 repeatCount?: number | string | undefined | null;
1378 repeatDur?: number | string | undefined | null;
1379 requiredExtensions?: number | string | undefined | null;
1380 requiredFeatures?: number | string | undefined | null;
1381 restart?: number | string | undefined | null;
1382 result?: string | undefined | null;
1383 rotate?: number | string | undefined | null;
1384 rx?: number | string | undefined | null;
1385 ry?: number | string | undefined | null;
1386 scale?: number | string | undefined | null;
1387 seed?: number | string | undefined | null;
1388 'shape-rendering'?: number | string | undefined | null;
1389 slope?: number | string | undefined | null;
1390 spacing?: number | string | undefined | null;
1391 specularConstant?: number | string | undefined | null;
1392 specularExponent?: number | string | undefined | null;
1393 speed?: number | string | undefined | null;
1394 spreadMethod?: string | undefined | null;
1395 startOffset?: number | string | undefined | null;
1396 stdDeviation?: number | string | undefined | null;
1397 stemh?: number | string | undefined | null;
1398 stemv?: number | string | undefined | null;
1399 stitchTiles?: number | string | undefined | null;
1400 'stop-color'?: string | undefined | null;
1401 'stop-opacity'?: number | string | undefined | null;
1402 'strikethrough-position'?: number | string | undefined | null;
1403 'strikethrough-thickness'?: number | string | undefined | null;
1404 string?: number | string | undefined | null;
1405 stroke?: string | undefined | null;
1406 'stroke-dasharray'?: string | number | undefined | null;
1407 'stroke-dashoffset'?: string | number | undefined | null;
1408 'stroke-linecap'?: 'butt' | 'round' | 'square' | 'inherit' | undefined | null;
1409 'stroke-linejoin'?:
1410 | 'arcs'
1411 | 'miter-clip'
1412 | 'miter'
1413 | 'round'
1414 | 'bevel'
1415 | 'inherit'
1416 | undefined
1417 | null;
1418 'stroke-miterlimit'?: string | undefined | null;
1419 'stroke-opacity'?: number | string | undefined | null;
1420 'stroke-width'?: number | string | undefined | null;
1421 surfaceScale?: number | string | undefined | null;
1422 systemLanguage?: number | string | undefined | null;
1423 tableValues?: number | string | undefined | null;
1424 targetX?: number | string | undefined | null;
1425 targetY?: number | string | undefined | null;
1426 'text-anchor'?: string | undefined | null;
1427 'text-decoration'?: number | string | undefined | null;
1428 textLength?: number | string | undefined | null;
1429 'text-rendering'?: number | string | undefined | null;
1430 to?: number | string | undefined | null;
1431 transform?: string | undefined | null;
1432 'transform-origin'?: string | undefined | null;
1433 u1?: number | string | undefined | null;
1434 u2?: number | string | undefined | null;
1435 'underline-position'?: number | string | undefined | null;
1436 'underline-thickness'?: number | string | undefined | null;
1437 unicode?: number | string | undefined | null;
1438 'unicode-bidi'?: number | string | undefined | null;
1439 'unicode-range'?: number | string | undefined | null;
1440 'units-per-em'?: number | string | undefined | null;
1441 'v-alphabetic'?: number | string | undefined | null;
1442 values?: string | undefined | null;
1443 'vector-effect'?: number | string | undefined | null;
1444 version?: string | undefined | null;
1445 'vert-adv-y'?: number | string | undefined | null;
1446 'vert-origin-x'?: number | string | undefined | null;
1447 'vert-origin-y'?: number | string | undefined | null;
1448 'v-hanging'?: number | string | undefined | null;
1449 'v-ideographic'?: number | string | undefined | null;
1450 viewBox?: string | undefined | null;
1451 viewTarget?: number | string | undefined | null;
1452 visibility?: number | string | undefined | null;
1453 'v-mathematical'?: number | string | undefined | null;
1454 widths?: number | string | undefined | null;
1455 'word-spacing'?: number | string | undefined | null;
1456 'writing-mode'?: number | string | undefined | null;
1457 x1?: number | string | undefined | null;
1458 x2?: number | string | undefined | null;
1459 x?: number | string | undefined | null;
1460 xChannelSelector?: string | undefined | null;
1461 'x-height'?: number | string | undefined | null;
1462 'xlink:actuate'?: string | undefined | null;
1463 'xlink:arcrole'?: string | undefined | null;
1464 'xlink:href'?: string | undefined | null;
1465 'xlink:role'?: string | undefined | null;
1466 'xlink:show'?: string | undefined | null;
1467 'xlink:title'?: string | undefined | null;
1468 'xlink:type'?: string | undefined | null;
1469 'xml:base'?: string | undefined | null;
1470 'xml:lang'?: string | undefined | null;
1471 xmlns?: string | undefined | null;
1472 'xmlns:xlink'?: string | undefined | null;
1473 'xml:space'?: string | undefined | null;
1474 y1?: number | string | undefined | null;
1475 y2?: number | string | undefined | null;
1476 y?: number | string | undefined | null;
1477 yChannelSelector?: string | undefined | null;
1478 z?: number | string | undefined | null;
1479 zoomAndPan?: string | undefined | null;
1480
1481 // allow any data- attribute
1482 [key: `data-${string}`]: any;
1483}
1484
1485export interface HTMLWebViewAttributes extends HTMLAttributes<HTMLElement> {
1486 allowfullscreen?: boolean | undefined | null;
1487 allowpopups?: boolean | undefined | null;
1488 autosize?: boolean | undefined | null;
1489 blinkfeatures?: string | undefined | null;
1490 disableblinkfeatures?: string | undefined | null;
1491 disableguestresize?: boolean | undefined | null;
1492 disablewebsecurity?: boolean | undefined | null;
1493 guestinstance?: string | undefined | null;
1494 httpreferrer?: string | undefined | null;
1495 nodeintegration?: boolean | undefined | null;
1496 partition?: string | undefined | null;
1497 plugins?: boolean | undefined | null;
1498 preload?: string | undefined | null;
1499 src?: string | undefined | null;
1500 useragent?: string | undefined | null;
1501 webpreferences?: string | undefined | null;
1502}
1503
1504//
1505// DOM Elements
1506// ----------------------------------------------------------------------
1507
1508export interface SvelteHTMLElements {
1509 a: HTMLAnchorAttributes;
1510 abbr: HTMLAttributes<HTMLElement>;
1511 address: HTMLAttributes<HTMLElement>;
1512 area: HTMLAreaAttributes;
1513 article: HTMLAttributes<HTMLElement>;
1514 aside: HTMLAttributes<HTMLElement>;
1515 audio: HTMLAudioAttributes;
1516 b: HTMLAttributes<HTMLElement>;
1517 base: HTMLBaseAttributes;
1518 bdi: HTMLAttributes<HTMLElement>;
1519 bdo: HTMLAttributes<HTMLElement>;
1520 big: HTMLAttributes<HTMLElement>;
1521 blockquote: HTMLBlockquoteAttributes;
1522 body: HTMLAttributes<HTMLBodyElement>;
1523 br: HTMLAttributes<HTMLBRElement>;
1524 button: HTMLButtonAttributes;
1525 canvas: HTMLCanvasAttributes;
1526 caption: HTMLAttributes<HTMLElement>;
1527 cite: HTMLAttributes<HTMLElement>;
1528 code: HTMLAttributes<HTMLElement>;
1529 col: HTMLColAttributes;
1530 colgroup: HTMLColgroupAttributes;
1531 data: HTMLDataAttributes;
1532 datalist: HTMLAttributes<HTMLDataListElement>;
1533 dd: HTMLAttributes<HTMLElement>;
1534 del: HTMLDelAttributes;
1535 details: HTMLDetailsAttributes;
1536 dfn: HTMLAttributes<HTMLElement>;
1537 dialog: HTMLDialogAttributes;
1538 div: HTMLAttributes<HTMLDivElement>;
1539 dl: HTMLAttributes<HTMLDListElement>;
1540 dt: HTMLAttributes<HTMLElement>;
1541 em: HTMLAttributes<HTMLElement>;
1542 embed: HTMLEmbedAttributes;
1543 fieldset: HTMLFieldsetAttributes;
1544 figcaption: HTMLAttributes<HTMLElement>;
1545 figure: HTMLAttributes<HTMLElement>;
1546 footer: HTMLAttributes<HTMLElement>;
1547 form: HTMLFormAttributes;
1548 h1: HTMLAttributes<HTMLHeadingElement>;
1549 h2: HTMLAttributes<HTMLHeadingElement>;
1550 h3: HTMLAttributes<HTMLHeadingElement>;
1551 h4: HTMLAttributes<HTMLHeadingElement>;
1552 h5: HTMLAttributes<HTMLHeadingElement>;
1553 h6: HTMLAttributes<HTMLHeadingElement>;
1554 head: HTMLAttributes<HTMLElement>;
1555 header: HTMLAttributes<HTMLElement>;
1556 hgroup: HTMLAttributes<HTMLElement>;
1557 hr: HTMLAttributes<HTMLHRElement>;
1558 html: HTMLHtmlAttributes;
1559 i: HTMLAttributes<HTMLElement>;
1560 iframe: HTMLIframeAttributes;
1561 img: HTMLImgAttributes;
1562 input: HTMLInputAttributes;
1563 ins: HTMLInsAttributes;
1564 kbd: HTMLAttributes<HTMLElement>;
1565 keygen: HTMLKeygenAttributes;
1566 label: HTMLLabelAttributes;
1567 legend: HTMLAttributes<HTMLLegendElement>;
1568 li: HTMLLiAttributes;
1569 link: HTMLLinkAttributes;
1570 main: HTMLAttributes<HTMLElement>;
1571 map: HTMLMapAttributes;
1572 mark: HTMLAttributes<HTMLElement>;
1573 menu: HTMLMenuAttributes;
1574 menuitem: HTMLAttributes<HTMLElement>;
1575 meta: HTMLMetaAttributes;
1576 meter: HTMLMeterAttributes;
1577 nav: HTMLAttributes<HTMLElement>;
1578 noscript: HTMLAttributes<HTMLElement>;
1579 object: HTMLObjectAttributes;
1580 ol: HTMLOlAttributes;
1581 optgroup: HTMLOptgroupAttributes;
1582 option: HTMLOptionAttributes;
1583 output: HTMLOutputAttributes;
1584 p: HTMLAttributes<HTMLParagraphElement>;
1585 param: HTMLParamAttributes;
1586 picture: HTMLAttributes<HTMLElement>;
1587 pre: HTMLAttributes<HTMLPreElement>;
1588 progress: HTMLProgressAttributes;
1589 q: HTMLQuoteAttributes;
1590 rp: HTMLAttributes<HTMLElement>;
1591 rt: HTMLAttributes<HTMLElement>;
1592 ruby: HTMLAttributes<HTMLElement>;
1593 s: HTMLAttributes<HTMLElement>;
1594 samp: HTMLAttributes<HTMLElement>;
1595 slot: HTMLSlotAttributes;
1596 script: HTMLScriptAttributes;
1597 section: HTMLAttributes<HTMLElement>;
1598 select: HTMLSelectAttributes;
1599 small: HTMLAttributes<HTMLElement>;
1600 source: HTMLSourceAttributes;
1601 span: HTMLAttributes<HTMLSpanElement>;
1602 strong: HTMLAttributes<HTMLElement>;
1603 style: HTMLStyleAttributes;
1604 sub: HTMLAttributes<HTMLElement>;
1605 summary: HTMLAttributes<HTMLElement>;
1606 sup: HTMLAttributes<HTMLElement>;
1607 table: HTMLTableAttributes;
1608 template: HTMLAttributes<HTMLTemplateElement>;
1609 tbody: HTMLAttributes<HTMLTableSectionElement>;
1610 td: HTMLTdAttributes;
1611 textarea: HTMLTextareaAttributes;
1612 tfoot: HTMLAttributes<HTMLTableSectionElement>;
1613 th: HTMLThAttributes;
1614 thead: HTMLAttributes<HTMLTableSectionElement>;
1615 time: HTMLTimeAttributes;
1616 title: HTMLAttributes<HTMLTitleElement>;
1617 tr: HTMLAttributes<HTMLTableRowElement>;
1618 track: HTMLTrackAttributes;
1619 u: HTMLAttributes<HTMLElement>;
1620 ul: HTMLAttributes<HTMLUListElement>;
1621 var: HTMLAttributes<HTMLElement>;
1622 video: HTMLVideoAttributes;
1623 wbr: HTMLAttributes<HTMLElement>;
1624 webview: HTMLWebViewAttributes;
1625 // SVG
1626 svg: SVGAttributes<SVGSVGElement>;
1627
1628 animate: SVGAttributes<SVGAnimateElement>;
1629 animateMotion: SVGAttributes<SVGElement>;
1630 animateTransform: SVGAttributes<SVGAnimateTransformElement>;
1631 circle: SVGAttributes<SVGCircleElement>;
1632 clipPath: SVGAttributes<SVGClipPathElement>;
1633 defs: SVGAttributes<SVGDefsElement>;
1634 desc: SVGAttributes<SVGDescElement>;
1635 ellipse: SVGAttributes<SVGEllipseElement>;
1636 feBlend: SVGAttributes<SVGFEBlendElement>;
1637 feColorMatrix: SVGAttributes<SVGFEColorMatrixElement>;
1638 feComponentTransfer: SVGAttributes<SVGFEComponentTransferElement>;
1639 feComposite: SVGAttributes<SVGFECompositeElement>;
1640 feConvolveMatrix: SVGAttributes<SVGFEConvolveMatrixElement>;
1641 feDiffuseLighting: SVGAttributes<SVGFEDiffuseLightingElement>;
1642 feDisplacementMap: SVGAttributes<SVGFEDisplacementMapElement>;
1643 feDistantLight: SVGAttributes<SVGFEDistantLightElement>;
1644 feDropShadow: SVGAttributes<SVGFEDropShadowElement>;
1645 feFlood: SVGAttributes<SVGFEFloodElement>;
1646 feFuncA: SVGAttributes<SVGFEFuncAElement>;
1647 feFuncB: SVGAttributes<SVGFEFuncBElement>;
1648 feFuncG: SVGAttributes<SVGFEFuncGElement>;
1649 feFuncR: SVGAttributes<SVGFEFuncRElement>;
1650 feGaussianBlur: SVGAttributes<SVGFEGaussianBlurElement>;
1651 feImage: SVGAttributes<SVGFEImageElement>;
1652 feMerge: SVGAttributes<SVGFEMergeElement>;
1653 feMergeNode: SVGAttributes<SVGFEMergeNodeElement>;
1654 feMorphology: SVGAttributes<SVGFEMorphologyElement>;
1655 feOffset: SVGAttributes<SVGFEOffsetElement>;
1656 fePointLight: SVGAttributes<SVGFEPointLightElement>;
1657 feSpecularLighting: SVGAttributes<SVGFESpecularLightingElement>;
1658 feSpotLight: SVGAttributes<SVGFESpotLightElement>;
1659 feTile: SVGAttributes<SVGFETileElement>;
1660 feTurbulence: SVGAttributes<SVGFETurbulenceElement>;
1661 filter: SVGAttributes<SVGFilterElement>;
1662 foreignObject: SVGAttributes<SVGForeignObjectElement>;
1663 g: SVGAttributes<SVGGElement>;
1664 image: SVGAttributes<SVGImageElement>;
1665 line: SVGAttributes<SVGLineElement>;
1666 linearGradient: SVGAttributes<SVGLinearGradientElement>;
1667 marker: SVGAttributes<SVGMarkerElement>;
1668 mask: SVGAttributes<SVGMaskElement>;
1669 metadata: SVGAttributes<SVGMetadataElement>;
1670 mpath: SVGAttributes<SVGElement>;
1671 path: SVGAttributes<SVGPathElement>;
1672 pattern: SVGAttributes<SVGPatternElement>;
1673 polygon: SVGAttributes<SVGPolygonElement>;
1674 polyline: SVGAttributes<SVGPolylineElement>;
1675 radialGradient: SVGAttributes<SVGRadialGradientElement>;
1676 rect: SVGAttributes<SVGRectElement>;
1677 stop: SVGAttributes<SVGStopElement>;
1678 switch: SVGAttributes<SVGSwitchElement>;
1679 symbol: SVGAttributes<SVGSymbolElement>;
1680 text: SVGAttributes<SVGTextElement>;
1681 textPath: SVGAttributes<SVGTextPathElement>;
1682 tspan: SVGAttributes<SVGTSpanElement>;
1683 use: SVGAttributes<SVGUseElement>;
1684 view: SVGAttributes<SVGViewElement>;
1685
1686 // Svelte specific
1687 'svelte:window': SvelteWindowAttributes;
1688 'svelte:document': SvelteDocumentAttributes;
1689 'svelte:body': HTMLAttributes<HTMLElement>;
1690 'svelte:fragment': { slot?: string };
1691 'svelte:options': {
1692 customElement?:
1693 | string
1694 | undefined
1695 | {
1696 tag: string;
1697 shadow?: 'open' | 'none' | undefined;
1698 props?:
1699 | Record<
1700 string,
1701 {
1702 attribute?: string;
1703 reflect?: boolean;
1704 type?: 'String' | 'Boolean' | 'Number' | 'Array' | 'Object';
1705 }
1706 >
1707 | undefined;
1708 extend?: (
1709 svelteCustomElementClass: new () => HTMLElement
1710 ) => new () => HTMLElement | undefined;
1711 };
1712 immutable?: boolean | undefined;
1713 accessors?: boolean | undefined;
1714 namespace?: string | undefined;
1715 [name: string]: any;
1716 };
1717 'svelte:head': { [name: string]: any };
1718
1719 [name: string]: { [name: string]: any };
1720}