@solidjs/web 2.0.0-beta.0 → 2.0.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,4321 @@
1
+ /**
2
+ THIS FILE IS GENERATED BY `./jsx-update.mjs`.
3
+ PLEASE UPDATE `jsx-h.d.ts` INSTEAD AND RUN `pnpm jsx-sync-types`.
4
+ */
5
+
6
+ import * as csstype from "csstype";
7
+ import type { PropKey, WidenPropValue } from "./jsx-properties.cjs";
8
+ import type { Element as SolidElement } from "solid-js";
9
+
10
+ /**
11
+ * Originally based on JSX types for Surplus and Inferno and adapted for `dom-expressions`.
12
+ *
13
+ * - https://github.com/adamhaile/surplus/blob/master/index.d.ts
14
+ * - https://github.com/infernojs/inferno/blob/master/packages/inferno/src/core/types.ts
15
+ *
16
+ * MathML typings coming mostly from Preact
17
+ *
18
+ * - https://github.com/preactjs/preact/blob/07dc9f324e58569ce66634aa03fe8949b4190358/src/jsx.d.ts#L2575
19
+ *
20
+ * Checked against other frameworks via the following table:
21
+ *
22
+ * - https://potahtml.github.io/namespace-jsx-project/index.html
23
+ *
24
+ * # Typings on elements
25
+ *
26
+ * ## Attributes
27
+ *
28
+ * - Typings include attributes and not properties (unless the property Is special-cased, such
29
+ * textContent, event handlers, etc).
30
+ * - Attributes are lowercase to avoid confusion with properties.
31
+ * - Attributes are used "as is" and won't be transformed in any way (such to `lowercase` or from
32
+ * `dashed-case` to `camelCase`).
33
+ *
34
+ * ## Event Handlers
35
+ *
36
+ * - Event handlers use `camelCase` such `onClick` and will be delegated when possible, bubbling
37
+ * through the component tree, not the dom tree.
38
+ * - Native event handlers use the namespace `on:` such `on:click`, and wont be delegated. bubbling
39
+ * the dom tree.
40
+ * - A global case-insensitive event handler can be added by extending `EventHandlersElement<T>`
41
+ * - A native `on:` event handler can be added by extending `CustomEvents<T>` interface
42
+ *
43
+ * ## Boolean Attributes (property setter that accepts `true | false`):
44
+ *
45
+ * - `(bool)true` adds the attribute `<video autoplay={true}/>` or in JSX as `<video autoplay/>`
46
+ * - `(bool)false` removes the attribute from the DOM `<video autoplay={false}/>`
47
+ * - `=""` may be accepted for the sake of parity with html `<video autoplay=""/>`
48
+ * - `"true" | "false"` are NOT allowed, these are strings that evaluate to `(bool)true`
49
+ *
50
+ * ## Enumerated Attributes (attribute accepts 1 string value out of many)
51
+ *
52
+ * - Accepts any of the enumerated values, such: `"perhaps" | "maybe"`
53
+ * - When one of the possible values is empty(in html that's for the attribute to be present), then it
54
+ * will also accept `(bool)true` to make it consistent with boolean attributes.
55
+ *
56
+ * Such `popover` attribute provides `"" | "manual" | "auto" | "hint"`.
57
+ *
58
+ * By NOT allowing `(bool)true` we will have to write `<div popover="" />`. Therefore, To make it
59
+ * consistent with Boolean Attributes we accept `true | "" | "manual" | "auto" | "hint"`, such as:
60
+ * `<div popover={true} />` or in JSX `<div popover />` is allowed and equivalent to `<div
61
+ * popover="" />`
62
+ *
63
+ * ## Pseudo-Boolean Attributes (enumerated attributes that happen to accept the strings `"true" | "false"`)
64
+ *
65
+ * - Such `<div draggable="true"/>` or `<div draggable="false"/>`. The value of the attribute is a
66
+ * string not a boolean.
67
+ * - `<div draggable={true}/>` is not valid because `(bool)true` is NOT transformed to the string
68
+ * `"true"`. Likewise `<div draggable={false}/>` removes the attribute from the element.
69
+ * - MDN documentation https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/draggable
70
+ *
71
+ * ## All Of The Above In a nutshell
72
+ *
73
+ * - `(bool)true` adds an empty attribute
74
+ * - `(bool)false` removes the attribute
75
+ * - Attributes are lowercase
76
+ * - Event handlers are camelCase
77
+ * - Anything else is a `string` and used "as is"
78
+ * - Additionally, an attribute may be removed by `undefined`
79
+ *
80
+ * ## Using Properties
81
+ *
82
+ * - The namespace `prop:` could be used to directly set properties in native elements and
83
+ * custom-elements. `<custom-element prop:myProp={true}/>` equivalent to `el.myProp = true`
84
+ *
85
+ * ## Interfaces
86
+ *
87
+ * Events
88
+ *
89
+ * 1. An event handler goes in `EventHandlersElement` when:
90
+ *
91
+ * - `event` is global, that's to be defined in `HTMLElement` AND `SVGElement` AND `MathMLElement`
92
+ * - `event` is defined in `Element` (as `HTMLElement/MathMLElement/SVGElement` -> `Element`)
93
+ * 2. `<body>`, `<svg>`, `<framesete>` are special as these include `window` events
94
+ * 3. Any other event is special for its own tag.
95
+ *
96
+ * Browser Hierarchy
97
+ *
98
+ * - $Element (ex HTMLDivElement <div>) -> ... -> HTMLElement -> Element -> Node
99
+ * - $Element (all math elements are MathMLElement) MathMLElement -> Element -> Node
100
+ * - $Element`(ex SVGMaskElement <mask>) -> ... -> SVGElement -> Element -> Node
101
+ *
102
+ * Attributes
103
+ *
104
+ * <div> -> ... -> HTMLAttributes -> ElementAttributes
105
+ * <svg> -> ... -> SVGAttributes -> ElementAttributes
106
+ * <math> -> ... -> MathMLAttributes -> ElementAttributes
107
+ *
108
+ * ElementAttributes = `Element` + `Node` attributes (aka global attributes)
109
+ *
110
+ * HTMLAttributes = `HTMLElement` attributes (aka HTML global attributes)
111
+ * SVGAttributes = `SVGElement` attributes (aka SVG global attributes)
112
+ * MathMLAttributes = `MathMLElement` attributes (aka MATH global attributes)
113
+ *
114
+ * CustomAttributes = Framework attributes
115
+ */
116
+
117
+ type DOMElement = Element;
118
+
119
+ /**
120
+ * Fallback declarations for event types that are not yet defined in older TypeScript
121
+ * `lib.dom.d.ts` versions. When the user's TS lib defines these, declaration merging
122
+ * yields the full specialized type; otherwise these serve as a bare `Event` fallback.
123
+ */
124
+ declare global {
125
+ interface CommandEvent extends Event {}
126
+ interface PageRevealEvent extends Event {}
127
+ interface PageSwapEvent extends Event {}
128
+ interface SnapEvent extends Event {}
129
+ interface TimeEvent extends Event {}
130
+ }
131
+
132
+ export namespace JSX {
133
+ // START - difference between `jsx.d.ts` and `jsx-h.d.ts`
134
+ type FunctionMaybe<T = unknown> = { (): T } | T;
135
+ interface FunctionElement {
136
+ (): Element;
137
+ }
138
+
139
+ type Element = SolidElement | Node | ArrayElement;
140
+ // END - difference between `jsx.d.ts` and `jsx-h.d.ts`
141
+
142
+ interface ArrayElement extends Array<Element> {}
143
+
144
+ interface ElementClass {
145
+ // empty, libs can define requirements downstream
146
+ }
147
+ interface ElementAttributesProperty {
148
+ // empty, libs can define requirements downstream
149
+ }
150
+ interface ElementChildrenAttribute {
151
+ children: {};
152
+ }
153
+
154
+ // Event handlers
155
+
156
+ interface EventHandler<T, E extends Event> {
157
+ (
158
+ e: E & {
159
+ currentTarget: T;
160
+ target: DOMElement;
161
+ }
162
+ ): void;
163
+ }
164
+
165
+ interface BoundEventHandler<
166
+ T,
167
+ E extends Event,
168
+ EHandler extends EventHandler<T, any> = EventHandler<T, E>
169
+ > {
170
+ 0: (data: any, ...e: Parameters<EHandler>) => void;
171
+ 1: any;
172
+ }
173
+ type EventHandlerUnion<
174
+ T,
175
+ E extends Event,
176
+ EHandler extends EventHandler<T, any> = EventHandler<T, E>
177
+ > = EHandler | BoundEventHandler<T, E, EHandler>;
178
+
179
+ interface EventHandlerWithOptions<T, E extends Event, EHandler = EventHandler<T, E>>
180
+ extends AddEventListenerOptions, EventListenerOptions {
181
+ handleEvent: EHandler;
182
+ }
183
+
184
+ type EventHandlerWithOptionsUnion<
185
+ T,
186
+ E extends Event,
187
+ EHandler extends EventHandler<T, any> = EventHandler<T, E>
188
+ > = EHandler | EventHandlerWithOptions<T, E, EHandler>;
189
+
190
+ interface InputEventHandler<T, E extends InputEvent> {
191
+ (
192
+ e: E & {
193
+ currentTarget: T;
194
+ target: T extends HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement
195
+ ? T
196
+ : DOMElement;
197
+ }
198
+ ): void;
199
+ }
200
+ type InputEventHandlerUnion<T, E extends InputEvent> = EventHandlerUnion<
201
+ T,
202
+ E,
203
+ InputEventHandler<T, E>
204
+ >;
205
+
206
+ interface ChangeEventHandler<T, E extends Event> {
207
+ (
208
+ e: E & {
209
+ currentTarget: T;
210
+ target: T extends HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement
211
+ ? T
212
+ : DOMElement;
213
+ }
214
+ ): void;
215
+ }
216
+ type ChangeEventHandlerUnion<T, E extends Event> = EventHandlerUnion<
217
+ T,
218
+ E,
219
+ ChangeEventHandler<T, E>
220
+ >;
221
+
222
+ interface FocusEventHandler<T, E extends FocusEvent> {
223
+ (
224
+ e: E & {
225
+ currentTarget: T;
226
+ target: T extends HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement
227
+ ? T
228
+ : DOMElement;
229
+ }
230
+ ): void;
231
+ }
232
+ type FocusEventHandlerUnion<T, E extends FocusEvent> = EventHandlerUnion<
233
+ T,
234
+ E,
235
+ FocusEventHandler<T, E>
236
+ >;
237
+ // end event handlers
238
+
239
+ type ClassList =
240
+ | Record<string, boolean>
241
+ | Array<string | number | boolean | null | undefined | Record<string, boolean>>;
242
+
243
+ const SERIALIZABLE: unique symbol;
244
+ interface SerializableAttributeValue {
245
+ toString(): string;
246
+ [SERIALIZABLE]: never;
247
+ }
248
+
249
+ type RefCallback<T> = (el: T) => void;
250
+ type Ref<T> = T | RefCallback<T> | (RefCallback<T> | Ref<T>)[];
251
+
252
+ interface IntrinsicAttributes {
253
+ ref?: Ref<unknown> | undefined;
254
+ }
255
+ interface CustomAttributes<T> {
256
+ ref?: Ref<T> | undefined;
257
+ children?: Element | undefined;
258
+ $ServerOnly?: boolean | undefined;
259
+ }
260
+ interface ExplicitProperties {}
261
+ interface CustomEvents {}
262
+ type PropAttributes = {
263
+ [Key in keyof ExplicitProperties as `prop:${Key}`]?: ExplicitProperties[Key];
264
+ };
265
+ type OnAttributes<T> = {
266
+ [Key in keyof CustomEvents as `on:${Key}`]?: EventHandlerWithOptionsUnion<T, CustomEvents[Key]>;
267
+ };
268
+
269
+ /**
270
+ * Writable, element-specific DOM properties exposed as `prop:*` attributes, auto-derived
271
+ * from the element interface `T`. See `./jsx-properties.d.ts` for the filtering rules.
272
+ * Existing element interfaces can locally disable an auto-derived key with
273
+ * `"prop:foo"?: never;` to redirect users to a plain attribute form.
274
+ */
275
+ type Properties<T> = {
276
+ [K in keyof T as PropKey<T, K>]?: WidenPropValue<T[K]>;
277
+ };
278
+
279
+ // CSS
280
+
281
+ interface CSSProperties extends csstype.PropertiesHyphen {
282
+ // Override
283
+ [key: `-${string}`]: string | number | undefined;
284
+ }
285
+
286
+ // TODO: Should we allow this?
287
+ // type ClassKeys = `class:${string}`;
288
+ // type CSSKeys = Exclude<keyof csstype.PropertiesHyphen, `-${string}`>;
289
+
290
+ // type CSSAttributes = {
291
+ // [key in CSSKeys as `style:${key}`]: csstype.PropertiesHyphen[key];
292
+ // };
293
+
294
+ // BOOLEAN
295
+
296
+ /**
297
+ * Boolean and Pseudo-Boolean Attributes Helpers.
298
+ *
299
+ * Please use the helpers to describe boolean and pseudo boolean attributes to make this file and
300
+ * also the typings easier to understand and explain.
301
+ */
302
+
303
+ type BooleanAttribute = true | false | "";
304
+
305
+ type BooleanProperty = true | false;
306
+
307
+ type EnumeratedPseudoBoolean = "false" | "true";
308
+
309
+ type EnumeratedAcceptsEmpty = "" | true;
310
+
311
+ type RemoveAttribute = undefined | false;
312
+
313
+ type RemoveProperty = undefined;
314
+
315
+ // ARIA
316
+
317
+ // All the WAI-ARIA 1.1 attributes from https://www.w3.org/TR/wai-aria-1.1/
318
+ interface AriaAttributes {
319
+ /**
320
+ * Identifies the currently active element when DOM focus is on a composite widget, textbox,
321
+ * group, or application.
322
+ */
323
+ "aria-activedescendant"?: string | RemoveAttribute;
324
+ /**
325
+ * Indicates whether assistive technologies will present all, or only parts of, the changed
326
+ * region based on the change notifications defined by the aria-relevant attribute.
327
+ */
328
+ "aria-atomic"?: EnumeratedPseudoBoolean | RemoveAttribute;
329
+ /**
330
+ * Similar to the global aria-label. Defines a string value that labels the current element,
331
+ * which is intended to be converted into Braille.
332
+ *
333
+ * @see aria-label.
334
+ */
335
+ "aria-braillelabel"?: string | RemoveAttribute;
336
+ /**
337
+ * Defines a human-readable, author-localized abbreviated description for the role of an element
338
+ * intended to be converted into Braille. Braille is not a one-to-one transliteration of letters
339
+ * and numbers, but rather it includes various abbreviations, contractions, and characters that
340
+ * represent words (known as logograms).
341
+ *
342
+ * Instead of converting long role descriptions to Braille, the aria-brailleroledescription
343
+ * attribute allows for providing an abbreviated version of the aria-roledescription value,
344
+ * which is a human-readable, author-localized description for the role of an element, for
345
+ * improved user experience with braille interfaces.
346
+ *
347
+ * @see aria-roledescription.
348
+ */
349
+ "aria-brailleroledescription"?: string | RemoveAttribute;
350
+ /**
351
+ * Indicates whether inputting text could trigger display of one or more predictions of the
352
+ * user's intended value for an input and specifies how predictions would be presented if they
353
+ * are made.
354
+ */
355
+ "aria-autocomplete"?: "none" | "inline" | "list" | "both" | RemoveAttribute;
356
+ /**
357
+ * Indicates an element is being modified and that assistive technologies MAY want to wait until
358
+ * the modifications are complete before exposing them to the user.
359
+ */
360
+ "aria-busy"?: EnumeratedPseudoBoolean | RemoveAttribute;
361
+ /**
362
+ * Indicates the current "checked" state of checkboxes, radio buttons, and other widgets.
363
+ *
364
+ * @see aria-pressed @see aria-selected.
365
+ */
366
+ "aria-checked"?: EnumeratedPseudoBoolean | "mixed" | RemoveAttribute;
367
+ /**
368
+ * Defines the total number of columns in a table, grid, or treegrid.
369
+ *
370
+ * @see aria-colindex.
371
+ */
372
+ "aria-colcount"?: number | string | RemoveAttribute;
373
+ /**
374
+ * Defines an element's column index or position with respect to the total number of columns
375
+ * within a table, grid, or treegrid.
376
+ *
377
+ * @see aria-colcount @see aria-colspan.
378
+ */
379
+ "aria-colindex"?: number | string | RemoveAttribute;
380
+ /** Defines a human-readable text alternative of the numeric aria-colindex. */
381
+ "aria-colindextext"?: number | string | RemoveAttribute;
382
+ /**
383
+ * Defines the number of columns spanned by a cell or gridcell within a table, grid, or
384
+ * treegrid.
385
+ *
386
+ * @see aria-colindex @see aria-rowspan.
387
+ */
388
+ "aria-colspan"?: number | string | RemoveAttribute;
389
+ /**
390
+ * Identifies the element (or elements) whose contents or presence are controlled by the current
391
+ * element.
392
+ *
393
+ * @see aria-owns.
394
+ */
395
+ "aria-controls"?: string | RemoveAttribute;
396
+ /**
397
+ * Indicates the element that represents the current item within a container or set of related
398
+ * elements.
399
+ */
400
+ "aria-current"?:
401
+ | EnumeratedPseudoBoolean
402
+ | "page"
403
+ | "step"
404
+ | "location"
405
+ | "date"
406
+ | "time"
407
+ | RemoveAttribute;
408
+ /**
409
+ * Identifies the element (or elements) that describes the object.
410
+ *
411
+ * @see aria-labelledby
412
+ */
413
+ "aria-describedby"?: string | RemoveAttribute;
414
+ /**
415
+ * Defines a string value that describes or annotates the current element.
416
+ *
417
+ * @see aria-describedby
418
+ */
419
+ "aria-description"?: string | RemoveAttribute;
420
+ /**
421
+ * Identifies the element that provides a detailed, extended description for the object.
422
+ *
423
+ * @see aria-describedby.
424
+ */
425
+ "aria-details"?: string | RemoveAttribute;
426
+ /**
427
+ * Indicates that the element is perceivable but disabled, so it is not editable or otherwise
428
+ * operable.
429
+ *
430
+ * @see aria-hidden @see aria-readonly.
431
+ */
432
+ "aria-disabled"?: EnumeratedPseudoBoolean | RemoveAttribute;
433
+ /**
434
+ * Indicates what functions can be performed when a dragged object is released on the drop
435
+ * target.
436
+ *
437
+ * @deprecated In ARIA 1.1
438
+ */
439
+ "aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | RemoveAttribute;
440
+ /**
441
+ * Identifies the element that provides an error message for the object.
442
+ *
443
+ * @see aria-invalid @see aria-describedby.
444
+ */
445
+ "aria-errormessage"?: string | RemoveAttribute;
446
+ /**
447
+ * Indicates whether the element, or another grouping element it controls, is currently expanded
448
+ * or collapsed.
449
+ */
450
+ "aria-expanded"?: EnumeratedPseudoBoolean | RemoveAttribute;
451
+ /**
452
+ * Identifies the next element (or elements) in an alternate reading order of content which, at
453
+ * the user's discretion, allows assistive technology to override the general default of reading
454
+ * in document source order.
455
+ */
456
+ "aria-flowto"?: string | RemoveAttribute;
457
+ /**
458
+ * Indicates an element's "grabbed" state in a drag-and-drop operation.
459
+ *
460
+ * @deprecated In ARIA 1.1
461
+ */
462
+ "aria-grabbed"?: EnumeratedPseudoBoolean | RemoveAttribute;
463
+ /**
464
+ * Indicates the availability and type of interactive popup element, such as menu or dialog,
465
+ * that can be triggered by an element.
466
+ */
467
+ "aria-haspopup"?:
468
+ | EnumeratedPseudoBoolean
469
+ | "menu"
470
+ | "listbox"
471
+ | "tree"
472
+ | "grid"
473
+ | "dialog"
474
+ | RemoveAttribute;
475
+ /**
476
+ * Indicates whether the element is exposed to an accessibility API.
477
+ *
478
+ * @see aria-disabled.
479
+ */
480
+ "aria-hidden"?: EnumeratedPseudoBoolean | RemoveAttribute;
481
+ /**
482
+ * Indicates the entered value does not conform to the format expected by the application.
483
+ *
484
+ * @see aria-errormessage.
485
+ */
486
+ "aria-invalid"?: EnumeratedPseudoBoolean | "grammar" | "spelling" | RemoveAttribute;
487
+ /**
488
+ * Indicates keyboard shortcuts that an author has implemented to activate or give focus to an
489
+ * element.
490
+ */
491
+ "aria-keyshortcuts"?: string | RemoveAttribute;
492
+ /**
493
+ * Defines a string value that labels the current element.
494
+ *
495
+ * @see aria-labelledby.
496
+ */
497
+ "aria-label"?: string | RemoveAttribute;
498
+ /**
499
+ * Identifies the element (or elements) that labels the current element.
500
+ *
501
+ * @see aria-describedby.
502
+ */
503
+ "aria-labelledby"?: string | RemoveAttribute;
504
+ /** Defines the hierarchical level of an element within a structure. */
505
+ "aria-level"?: number | string | RemoveAttribute;
506
+ /**
507
+ * Indicates that an element will be updated, and describes the types of updates the user
508
+ * agents, assistive technologies, and user can expect from the live region.
509
+ */
510
+ "aria-live"?: "off" | "assertive" | "polite" | RemoveAttribute;
511
+ /** Indicates whether an element is modal when displayed. */
512
+ "aria-modal"?: EnumeratedPseudoBoolean | RemoveAttribute;
513
+ /** Indicates whether a text box accepts multiple lines of input or only a single line. */
514
+ "aria-multiline"?: EnumeratedPseudoBoolean | RemoveAttribute;
515
+ /**
516
+ * Indicates that the user may select more than one item from the current selectable
517
+ * descendants.
518
+ */
519
+ "aria-multiselectable"?: EnumeratedPseudoBoolean | RemoveAttribute;
520
+ /** Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous. */
521
+ "aria-orientation"?: "horizontal" | "vertical" | RemoveAttribute;
522
+ /**
523
+ * Identifies an element (or elements) in order to define a visual, functional, or contextual
524
+ * parent/child relationship between DOM elements where the DOM hierarchy cannot be used to
525
+ * represent the relationship.
526
+ *
527
+ * @see aria-controls.
528
+ */
529
+ "aria-owns"?: string | RemoveAttribute;
530
+ /**
531
+ * Defines a short hint (a word or short phrase) intended to aid the user with data entry when
532
+ * the control has no value. A hint could be a sample value or a brief description of the
533
+ * expected format.
534
+ */
535
+ "aria-placeholder"?: string | RemoveAttribute;
536
+ /**
537
+ * Defines an element's number or position in the current set of listitems or treeitems. Not
538
+ * required if all elements in the set are present in the DOM.
539
+ *
540
+ * @see aria-setsize.
541
+ */
542
+ "aria-posinset"?: number | string | RemoveAttribute;
543
+ /**
544
+ * Indicates the current "pressed" state of toggle buttons.
545
+ *
546
+ * @see aria-checked @see aria-selected.
547
+ */
548
+ "aria-pressed"?: EnumeratedPseudoBoolean | "mixed" | RemoveAttribute;
549
+ /**
550
+ * Indicates that the element is not editable, but is otherwise operable.
551
+ *
552
+ * @see aria-disabled.
553
+ */
554
+ "aria-readonly"?: EnumeratedPseudoBoolean | RemoveAttribute;
555
+ /**
556
+ * Indicates what notifications the user agent will trigger when the accessibility tree within a
557
+ * live region is modified.
558
+ *
559
+ * @see aria-atomic.
560
+ */
561
+ "aria-relevant"?:
562
+ | "additions"
563
+ | "additions removals"
564
+ | "additions text"
565
+ | "all"
566
+ | "removals"
567
+ | "removals additions"
568
+ | "removals text"
569
+ | "text"
570
+ | "text additions"
571
+ | "text removals"
572
+ | RemoveAttribute;
573
+ /** Indicates that user input is required on the element before a form may be submitted. */
574
+ "aria-required"?: EnumeratedPseudoBoolean | RemoveAttribute;
575
+ /** Defines a human-readable, author-localized description for the role of an element. */
576
+ "aria-roledescription"?: string | RemoveAttribute;
577
+ /**
578
+ * Defines the total number of rows in a table, grid, or treegrid.
579
+ *
580
+ * @see aria-rowindex.
581
+ */
582
+ "aria-rowcount"?: number | string | RemoveAttribute;
583
+ /**
584
+ * Defines an element's row index or position with respect to the total number of rows within a
585
+ * table, grid, or treegrid.
586
+ *
587
+ * @see aria-rowcount @see aria-rowspan.
588
+ */
589
+ "aria-rowindex"?: number | string | RemoveAttribute;
590
+ /** Defines a human-readable text alternative of aria-rowindex. */
591
+ "aria-rowindextext"?: number | string | RemoveAttribute;
592
+
593
+ /**
594
+ * Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid.
595
+ *
596
+ * @see aria-rowindex @see aria-colspan.
597
+ */
598
+ "aria-rowspan"?: number | string | RemoveAttribute;
599
+ /**
600
+ * Indicates the current "selected" state of various widgets.
601
+ *
602
+ * @see aria-checked @see aria-pressed.
603
+ */
604
+ "aria-selected"?: EnumeratedPseudoBoolean | RemoveAttribute;
605
+ /**
606
+ * Defines the number of items in the current set of listitems or treeitems. Not required if all
607
+ * elements in the set are present in the DOM.
608
+ *
609
+ * @see aria-posinset.
610
+ */
611
+ "aria-setsize"?: number | string | RemoveAttribute;
612
+ /** Indicates if items in a table or grid are sorted in ascending or descending order. */
613
+ "aria-sort"?: "none" | "ascending" | "descending" | "other" | RemoveAttribute;
614
+ /** Defines the maximum allowed value for a range widget. */
615
+ "aria-valuemax"?: number | string | RemoveAttribute;
616
+ /** Defines the minimum allowed value for a range widget. */
617
+ "aria-valuemin"?: number | string | RemoveAttribute;
618
+ /**
619
+ * Defines the current value for a range widget.
620
+ *
621
+ * @see aria-valuetext.
622
+ */
623
+ "aria-valuenow"?: number | string | RemoveAttribute;
624
+ /** Defines the human readable text alternative of aria-valuenow for a range widget. */
625
+ "aria-valuetext"?: string | RemoveAttribute;
626
+ role?:
627
+ | "alert"
628
+ | "alertdialog"
629
+ | "application"
630
+ | "article"
631
+ | "banner"
632
+ | "button"
633
+ | "cell"
634
+ | "checkbox"
635
+ | "columnheader"
636
+ | "combobox"
637
+ | "complementary"
638
+ | "contentinfo"
639
+ | "definition"
640
+ | "dialog"
641
+ | "directory"
642
+ | "document"
643
+ | "feed"
644
+ | "figure"
645
+ | "form"
646
+ | "grid"
647
+ | "gridcell"
648
+ | "group"
649
+ | "heading"
650
+ | "img"
651
+ | "link"
652
+ | "list"
653
+ | "listbox"
654
+ | "listitem"
655
+ | "log"
656
+ | "main"
657
+ | "marquee"
658
+ | "math"
659
+ | "menu"
660
+ | "menubar"
661
+ | "menuitem"
662
+ | "menuitemcheckbox"
663
+ | "menuitemradio"
664
+ | "meter"
665
+ | "navigation"
666
+ | "none"
667
+ | "note"
668
+ | "option"
669
+ | "presentation"
670
+ | "progressbar"
671
+ | "radio"
672
+ | "radiogroup"
673
+ | "region"
674
+ | "row"
675
+ | "rowgroup"
676
+ | "rowheader"
677
+ | "scrollbar"
678
+ | "search"
679
+ | "searchbox"
680
+ | "separator"
681
+ | "slider"
682
+ | "spinbutton"
683
+ | "status"
684
+ | "switch"
685
+ | "tab"
686
+ | "table"
687
+ | "tablist"
688
+ | "tabpanel"
689
+ | "term"
690
+ | "textbox"
691
+ | "timer"
692
+ | "toolbar"
693
+ | "tooltip"
694
+ | "tree"
695
+ | "treegrid"
696
+ | "treeitem"
697
+ | RemoveAttribute;
698
+ }
699
+
700
+ // EVENTS
701
+
702
+ /**
703
+ * `Window` events, defined for `<body>`, `<svg>`, `<frameset>` tags.
704
+ *
705
+ * Excluding `EventHandlersElement` events already defined as globals that all tags share, such as
706
+ * `onblur`.
707
+ */
708
+ interface EventHandlersWindow<T> {
709
+ onAfterPrint?: EventHandlerUnion<T, Event> | undefined;
710
+ onBeforePrint?: EventHandlerUnion<T, Event> | undefined;
711
+ onBeforeUnload?: EventHandlerUnion<T, BeforeUnloadEvent> | undefined;
712
+ onDeviceMotion?: EventHandlerUnion<T, DeviceMotionEvent> | undefined;
713
+ onDeviceOrientation?: EventHandlerUnion<T, DeviceOrientationEvent> | undefined;
714
+ onDeviceOrientationAbsolute?: EventHandlerUnion<T, DeviceOrientationEvent> | undefined;
715
+ onGamepadConnected?: EventHandlerUnion<T, GamepadEvent> | undefined;
716
+ onGamepadDisconnected?: EventHandlerUnion<T, GamepadEvent> | undefined;
717
+ onHashchange?: EventHandlerUnion<T, HashChangeEvent> | undefined;
718
+ onLanguageChange?: EventHandlerUnion<T, Event> | undefined;
719
+ onMessage?: EventHandlerUnion<T, MessageEvent> | undefined;
720
+ onMessageError?: EventHandlerUnion<T, MessageEvent> | undefined;
721
+ onOffline?: EventHandlerUnion<T, Event> | undefined;
722
+ onOnline?: EventHandlerUnion<T, Event> | undefined;
723
+ /** @deprecated Use `screen.orientation` (`ScreenOrientation.change`) instead. */
724
+ onOrientationChange?: EventHandlerUnion<T, Event> | undefined;
725
+ onPageHide?: EventHandlerUnion<T, PageTransitionEvent> | undefined;
726
+ onPageReveal?: EventHandlerUnion<T, PageRevealEvent> | undefined;
727
+ onPageShow?: EventHandlerUnion<T, PageTransitionEvent> | undefined;
728
+ onPageSwap?: EventHandlerUnion<T, PageSwapEvent> | undefined;
729
+ onPopstate?: EventHandlerUnion<T, PopStateEvent> | undefined;
730
+ onRejectionHandled?: EventHandlerUnion<T, PromiseRejectionEvent> | undefined;
731
+ onStorage?: EventHandlerUnion<T, StorageEvent> | undefined;
732
+ onUnhandledRejection?: EventHandlerUnion<T, PromiseRejectionEvent> | undefined;
733
+ onUnload?: EventHandlerUnion<T, Event> | undefined;
734
+
735
+ "on:afterprint"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
736
+ "on:beforeprint"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
737
+ "on:beforeunload"?: EventHandlerWithOptionsUnion<T, BeforeUnloadEvent> | undefined;
738
+ "on:devicemotion"?: EventHandlerWithOptionsUnion<T, DeviceMotionEvent> | undefined;
739
+ "on:deviceorientation"?: EventHandlerWithOptionsUnion<T, DeviceOrientationEvent> | undefined;
740
+ "on:deviceorientationabsolute"?:
741
+ | EventHandlerWithOptionsUnion<T, DeviceOrientationEvent>
742
+ | undefined;
743
+ "on:gamepadconnected"?: EventHandlerWithOptionsUnion<T, GamepadEvent> | undefined;
744
+ "on:gamepaddisconnected"?: EventHandlerWithOptionsUnion<T, GamepadEvent> | undefined;
745
+ "on:hashchange"?: EventHandlerWithOptionsUnion<T, HashChangeEvent> | undefined;
746
+ "on:languagechange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
747
+ "on:message"?: EventHandlerWithOptionsUnion<T, MessageEvent> | undefined;
748
+ "on:messageerror"?: EventHandlerWithOptionsUnion<T, MessageEvent> | undefined;
749
+ "on:offline"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
750
+ "on:online"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
751
+ /** @deprecated Use `screen.orientation` (`ScreenOrientation.change`) instead. */
752
+ "on:orientationchange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
753
+ "on:pagehide"?: EventHandlerWithOptionsUnion<T, PageTransitionEvent> | undefined;
754
+ "on:pagereveal"?: EventHandlerWithOptionsUnion<T, PageRevealEvent> | undefined;
755
+ "on:pageshow"?: EventHandlerWithOptionsUnion<T, PageTransitionEvent> | undefined;
756
+ "on:pageswap"?: EventHandlerWithOptionsUnion<T, PageSwapEvent> | undefined;
757
+ "on:popstate"?: EventHandlerWithOptionsUnion<T, PopStateEvent> | undefined;
758
+ "on:rejectionhandled"?: EventHandlerWithOptionsUnion<T, PromiseRejectionEvent> | undefined;
759
+ "on:storage"?: EventHandlerWithOptionsUnion<T, StorageEvent> | undefined;
760
+ "on:unhandledrejection"?: EventHandlerWithOptionsUnion<T, PromiseRejectionEvent> | undefined;
761
+ "on:unload"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
762
+ }
763
+
764
+ /**
765
+ * Global `EventHandlersElement`, defined for all tags.
766
+ *
767
+ * That's events defined and shared BY ALL of the `HTMLElement/SVGElement/MathMLElement`
768
+ * interfaces.
769
+ *
770
+ * Includes events defined for the `Element` interface.
771
+ */
772
+ interface EventHandlersElement<T> {
773
+ onAbort?: EventHandlerUnion<T, UIEvent> | undefined;
774
+ onAnimationCancel?: EventHandlerUnion<T, AnimationEvent> | undefined;
775
+ onAnimationEnd?: EventHandlerUnion<T, AnimationEvent> | undefined;
776
+ onAnimationIteration?: EventHandlerUnion<T, AnimationEvent> | undefined;
777
+ onAnimationStart?: EventHandlerUnion<T, AnimationEvent> | undefined;
778
+ onAuxClick?: EventHandlerUnion<T, PointerEvent> | undefined;
779
+ onBeforeCopy?: EventHandlerUnion<T, ClipboardEvent> | undefined;
780
+ onBeforeCut?: EventHandlerUnion<T, ClipboardEvent> | undefined;
781
+ onBeforeInput?: InputEventHandlerUnion<T, InputEvent> | undefined;
782
+ onBeforeMatch?: EventHandlerUnion<T, Event> | undefined;
783
+ onBeforePaste?: EventHandlerUnion<T, ClipboardEvent> | undefined;
784
+ onBeforeToggle?: EventHandlerUnion<T, ToggleEvent> | undefined;
785
+ onBeforeXRSelect?: EventHandlerUnion<T, Event> | undefined;
786
+ onBlur?: FocusEventHandlerUnion<T, FocusEvent> | undefined;
787
+ onCancel?: EventHandlerUnion<T, Event> | undefined;
788
+ onCanPlay?: EventHandlerUnion<T, Event> | undefined;
789
+ onCanPlayThrough?: EventHandlerUnion<T, Event> | undefined;
790
+ onChange?: ChangeEventHandlerUnion<T, Event> | undefined;
791
+ onClick?: EventHandlerUnion<T, MouseEvent> | undefined;
792
+ onClose?: EventHandlerUnion<T, Event> | undefined;
793
+ onCommand?: EventHandlerUnion<T, CommandEvent> | undefined;
794
+ onCompositionEnd?: EventHandlerUnion<T, CompositionEvent> | undefined;
795
+ onCompositionStart?: EventHandlerUnion<T, CompositionEvent> | undefined;
796
+ onCompositionUpdate?: EventHandlerUnion<T, CompositionEvent> | undefined;
797
+ onContentVisibilityAutoStateChange?:
798
+ | EventHandlerUnion<T, ContentVisibilityAutoStateChangeEvent>
799
+ | undefined;
800
+ onContextLost?: EventHandlerUnion<T, Event> | undefined;
801
+ onContextMenu?: EventHandlerUnion<T, PointerEvent> | undefined;
802
+ onContextRestored?: EventHandlerUnion<T, Event> | undefined;
803
+ onCopy?: EventHandlerUnion<T, ClipboardEvent> | undefined;
804
+ onCueChange?: EventHandlerUnion<T, Event> | undefined;
805
+ onCut?: EventHandlerUnion<T, ClipboardEvent> | undefined;
806
+ onDblClick?: EventHandlerUnion<T, MouseEvent> | undefined;
807
+ onDrag?: EventHandlerUnion<T, DragEvent> | undefined;
808
+ onDragEnd?: EventHandlerUnion<T, DragEvent> | undefined;
809
+ onDragEnter?: EventHandlerUnion<T, DragEvent> | undefined;
810
+ onDragExit?: EventHandlerUnion<T, DragEvent> | undefined;
811
+ onDragLeave?: EventHandlerUnion<T, DragEvent> | undefined;
812
+ onDragOver?: EventHandlerUnion<T, DragEvent> | undefined;
813
+ onDragStart?: EventHandlerUnion<T, DragEvent> | undefined;
814
+ onDrop?: EventHandlerUnion<T, DragEvent> | undefined;
815
+ onDurationChange?: EventHandlerUnion<T, Event> | undefined;
816
+ onEmptied?: EventHandlerUnion<T, Event> | undefined;
817
+ onEnded?: EventHandlerUnion<T, Event> | undefined;
818
+ onError?: EventHandlerUnion<T, ErrorEvent> | undefined;
819
+ onFocus?: FocusEventHandlerUnion<T, FocusEvent> | undefined;
820
+ onFocusIn?: FocusEventHandlerUnion<T, FocusEvent> | undefined;
821
+ onFocusOut?: FocusEventHandlerUnion<T, FocusEvent> | undefined;
822
+ onFormData?: EventHandlerUnion<T, FormDataEvent> | undefined;
823
+ onFullscreenChange?: EventHandlerUnion<T, Event> | undefined;
824
+ onFullscreenError?: EventHandlerUnion<T, Event> | undefined;
825
+ onGotPointerCapture?: EventHandlerUnion<T, PointerEvent> | undefined;
826
+ onInput?: InputEventHandlerUnion<T, InputEvent> | undefined;
827
+ onInvalid?: EventHandlerUnion<T, Event> | undefined;
828
+ onKeyDown?: EventHandlerUnion<T, KeyboardEvent> | undefined;
829
+ onKeyPress?: EventHandlerUnion<T, KeyboardEvent> | undefined;
830
+ onKeyUp?: EventHandlerUnion<T, KeyboardEvent> | undefined;
831
+ onLoad?: EventHandlerUnion<T, Event> | undefined;
832
+ onLoadedData?: EventHandlerUnion<T, Event> | undefined;
833
+ onLoadedMetadata?: EventHandlerUnion<T, Event> | undefined;
834
+ onLoadStart?: EventHandlerUnion<T, Event> | undefined;
835
+ onLostPointerCapture?: EventHandlerUnion<T, PointerEvent> | undefined;
836
+ onMouseDown?: EventHandlerUnion<T, MouseEvent> | undefined;
837
+ onMouseEnter?: EventHandlerUnion<T, MouseEvent> | undefined;
838
+ onMouseLeave?: EventHandlerUnion<T, MouseEvent> | undefined;
839
+ onMouseMove?: EventHandlerUnion<T, MouseEvent> | undefined;
840
+ onMouseOut?: EventHandlerUnion<T, MouseEvent> | undefined;
841
+ onMouseOver?: EventHandlerUnion<T, MouseEvent> | undefined;
842
+ onMouseUp?: EventHandlerUnion<T, MouseEvent> | undefined;
843
+ onPaste?: EventHandlerUnion<T, ClipboardEvent> | undefined;
844
+ onPause?: EventHandlerUnion<T, Event> | undefined;
845
+ onPlay?: EventHandlerUnion<T, Event> | undefined;
846
+ onPlaying?: EventHandlerUnion<T, Event> | undefined;
847
+ onPointerCancel?: EventHandlerUnion<T, PointerEvent> | undefined;
848
+ onPointerDown?: EventHandlerUnion<T, PointerEvent> | undefined;
849
+ onPointerEnter?: EventHandlerUnion<T, PointerEvent> | undefined;
850
+ onPointerLeave?: EventHandlerUnion<T, PointerEvent> | undefined;
851
+ onPointerMove?: EventHandlerUnion<T, PointerEvent> | undefined;
852
+ onPointerOut?: EventHandlerUnion<T, PointerEvent> | undefined;
853
+ onPointerOver?: EventHandlerUnion<T, PointerEvent> | undefined;
854
+ onPointerRawUpdate?: EventHandlerUnion<T, PointerEvent> | undefined;
855
+ onPointerUp?: EventHandlerUnion<T, PointerEvent> | undefined;
856
+ onProgress?: EventHandlerUnion<T, ProgressEvent> | undefined;
857
+ onRateChange?: EventHandlerUnion<T, Event> | undefined;
858
+ onReset?: EventHandlerUnion<T, Event> | undefined;
859
+ onResize?: EventHandlerUnion<T, UIEvent> | undefined;
860
+ onScroll?: EventHandlerUnion<T, Event> | undefined;
861
+ onScrollEnd?: EventHandlerUnion<T, Event> | undefined;
862
+ onScrollSnapChange?: EventHandlerUnion<T, SnapEvent> | undefined;
863
+ onScrollSnapChanging?: EventHandlerUnion<T, SnapEvent> | undefined;
864
+ onSecurityPolicyViolation?: EventHandlerUnion<T, SecurityPolicyViolationEvent> | undefined;
865
+ onSeeked?: EventHandlerUnion<T, Event> | undefined;
866
+ onSeeking?: EventHandlerUnion<T, Event> | undefined;
867
+ onSelect?: EventHandlerUnion<T, Event> | undefined;
868
+ onSelectionChange?: EventHandlerUnion<T, Event> | undefined;
869
+ onSelectStart?: EventHandlerUnion<T, Event> | undefined;
870
+ onSlotChange?: EventHandlerUnion<T, Event> | undefined;
871
+ onStalled?: EventHandlerUnion<T, Event> | undefined;
872
+ onSubmit?: EventHandlerUnion<T, SubmitEvent> | undefined;
873
+ onSuspend?: EventHandlerUnion<T, Event> | undefined;
874
+ onTimeUpdate?: EventHandlerUnion<T, Event> | undefined;
875
+ onToggle?: EventHandlerUnion<T, ToggleEvent> | undefined;
876
+ onTouchCancel?: EventHandlerUnion<T, TouchEvent> | undefined;
877
+ onTouchEnd?: EventHandlerUnion<T, TouchEvent> | undefined;
878
+ onTouchMove?: EventHandlerUnion<T, TouchEvent> | undefined;
879
+ onTouchStart?: EventHandlerUnion<T, TouchEvent> | undefined;
880
+ onTransitionCancel?: EventHandlerUnion<T, TransitionEvent> | undefined;
881
+ onTransitionEnd?: EventHandlerUnion<T, TransitionEvent> | undefined;
882
+ onTransitionRun?: EventHandlerUnion<T, TransitionEvent> | undefined;
883
+ onTransitionStart?: EventHandlerUnion<T, TransitionEvent> | undefined;
884
+ onVolumeChange?: EventHandlerUnion<T, Event> | undefined;
885
+ onWaiting?: EventHandlerUnion<T, Event> | undefined;
886
+ onWheel?: EventHandlerUnion<T, WheelEvent> | undefined;
887
+
888
+ "on:abort"?: EventHandlerWithOptionsUnion<T, UIEvent> | undefined;
889
+ "on:animationcancel"?: EventHandlerWithOptionsUnion<T, AnimationEvent> | undefined;
890
+ "on:animationend"?: EventHandlerWithOptionsUnion<T, AnimationEvent> | undefined;
891
+ "on:animationiteration"?: EventHandlerWithOptionsUnion<T, AnimationEvent> | undefined;
892
+ "on:animationstart"?: EventHandlerWithOptionsUnion<T, AnimationEvent> | undefined;
893
+ "on:auxclick"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
894
+ "on:beforecopy"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
895
+ "on:beforecut"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
896
+ "on:beforeinput"?:
897
+ | EventHandlerWithOptionsUnion<T, InputEvent, InputEventHandler<T, InputEvent>>
898
+ | undefined;
899
+ "on:beforematch"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
900
+ "on:beforepaste"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
901
+ "on:beforetoggle"?: EventHandlerWithOptionsUnion<T, ToggleEvent> | undefined;
902
+ "on:beforexrselect"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
903
+ "on:blur"?:
904
+ | EventHandlerWithOptionsUnion<T, FocusEvent, FocusEventHandler<T, FocusEvent>>
905
+ | undefined;
906
+ "on:cancel"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
907
+ "on:canplay"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
908
+ "on:canplaythrough"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
909
+ "on:change"?: EventHandlerWithOptionsUnion<T, Event, ChangeEventHandler<T, Event>> | undefined;
910
+ "on:click"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
911
+ "on:close"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
912
+ "on:command"?: EventHandlerWithOptionsUnion<T, CommandEvent> | undefined;
913
+ "on:compositionend"?: EventHandlerWithOptionsUnion<T, CompositionEvent> | undefined;
914
+ "on:compositionstart"?: EventHandlerWithOptionsUnion<T, CompositionEvent> | undefined;
915
+ "on:compositionupdate"?: EventHandlerWithOptionsUnion<T, CompositionEvent> | undefined;
916
+ "on:contentvisibilityautostatechange"?:
917
+ | EventHandlerWithOptionsUnion<T, ContentVisibilityAutoStateChangeEvent>
918
+ | undefined;
919
+ "on:contextlost"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
920
+ "on:contextmenu"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
921
+ "on:contextrestored"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
922
+ "on:copy"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
923
+ "on:cuechange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
924
+ "on:cut"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
925
+ "on:dblclick"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
926
+ "on:drag"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
927
+ "on:dragend"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
928
+ "on:dragenter"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
929
+ "on:dragexit"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
930
+ "on:dragleave"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
931
+ "on:dragover"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
932
+ "on:dragstart"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
933
+ "on:drop"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
934
+ "on:durationchange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
935
+ "on:emptied"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
936
+ "on:ended"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
937
+ "on:error"?: EventHandlerWithOptionsUnion<T, ErrorEvent> | undefined;
938
+ "on:focus"?:
939
+ | EventHandlerWithOptionsUnion<T, FocusEvent, FocusEventHandler<T, FocusEvent>>
940
+ | undefined;
941
+ "on:focusin"?:
942
+ | EventHandlerWithOptionsUnion<T, FocusEvent, FocusEventHandler<T, FocusEvent>>
943
+ | undefined;
944
+ "on:focusout"?:
945
+ | EventHandlerWithOptionsUnion<T, FocusEvent, FocusEventHandler<T, FocusEvent>>
946
+ | undefined;
947
+ "on:formdata"?: EventHandlerWithOptionsUnion<T, FormDataEvent> | undefined;
948
+ "on:fullscreenchange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
949
+ "on:fullscreenerror"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
950
+ "on:gotpointercapture"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
951
+ "on:input"?:
952
+ | EventHandlerWithOptionsUnion<T, InputEvent, InputEventHandler<T, InputEvent>>
953
+ | undefined;
954
+ "on:invalid"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
955
+ "on:keydown"?: EventHandlerWithOptionsUnion<T, KeyboardEvent> | undefined;
956
+ "on:keypress"?: EventHandlerWithOptionsUnion<T, KeyboardEvent> | undefined;
957
+ "on:keyup"?: EventHandlerWithOptionsUnion<T, KeyboardEvent> | undefined;
958
+ "on:load"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
959
+ "on:loadeddata"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
960
+ "on:loadedmetadata"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
961
+ "on:loadstart"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
962
+ "on:lostpointercapture"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
963
+ "on:mousedown"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
964
+ "on:mouseenter"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
965
+ "on:mouseleave"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
966
+ "on:mousemove"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
967
+ "on:mouseout"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
968
+ "on:mouseover"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
969
+ "on:mouseup"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
970
+ "on:paste"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
971
+ "on:pause"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
972
+ "on:play"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
973
+ "on:playing"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
974
+ "on:pointercancel"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
975
+ "on:pointerdown"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
976
+ "on:pointerenter"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
977
+ "on:pointerleave"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
978
+ "on:pointermove"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
979
+ "on:pointerout"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
980
+ "on:pointerover"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
981
+ "on:pointerrawupdate"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
982
+ "on:pointerup"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
983
+ "on:progress"?: EventHandlerWithOptionsUnion<T, ProgressEvent> | undefined;
984
+ "on:ratechange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
985
+ "on:reset"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
986
+ "on:resize"?: EventHandlerWithOptionsUnion<T, UIEvent> | undefined;
987
+ "on:scroll"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
988
+ "on:scrollend"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
989
+ "on:scrollsnapchange"?: EventHandlerWithOptionsUnion<T, SnapEvent> | undefined;
990
+ "on:scrollsnapchanging"?: EventHandlerWithOptionsUnion<T, SnapEvent> | undefined;
991
+ "on:securitypolicyviolation"?:
992
+ | EventHandlerWithOptionsUnion<T, SecurityPolicyViolationEvent>
993
+ | undefined;
994
+ "on:seeked"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
995
+ "on:seeking"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
996
+ "on:select"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
997
+ "on:selectionchange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
998
+ "on:selectstart"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
999
+ "on:slotchange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
1000
+ "on:stalled"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
1001
+ "on:submit"?: EventHandlerWithOptionsUnion<T, SubmitEvent> | undefined;
1002
+ "on:suspend"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
1003
+ "on:timeupdate"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
1004
+ "on:toggle"?: EventHandlerWithOptionsUnion<T, ToggleEvent> | undefined;
1005
+ "on:touchcancel"?: EventHandlerWithOptionsUnion<T, TouchEvent> | undefined;
1006
+ "on:touchend"?: EventHandlerWithOptionsUnion<T, TouchEvent> | undefined;
1007
+ "on:touchmove"?: EventHandlerWithOptionsUnion<T, TouchEvent> | undefined;
1008
+ "on:touchstart"?: EventHandlerWithOptionsUnion<T, TouchEvent> | undefined;
1009
+ "on:transitioncancel"?: EventHandlerWithOptionsUnion<T, TransitionEvent> | undefined;
1010
+ "on:transitionend"?: EventHandlerWithOptionsUnion<T, TransitionEvent> | undefined;
1011
+ "on:transitionrun"?: EventHandlerWithOptionsUnion<T, TransitionEvent> | undefined;
1012
+ "on:transitionstart"?: EventHandlerWithOptionsUnion<T, TransitionEvent> | undefined;
1013
+ "on:volumechange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
1014
+ "on:waiting"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
1015
+ "on:wheel"?: EventHandlerWithOptionsUnion<T, WheelEvent> | undefined;
1016
+ }
1017
+
1018
+ // EventName = "click" | "mousedown" ...
1019
+
1020
+ type EventName =
1021
+ | (keyof EventHandlersWindow<any> extends infer K
1022
+ ? K extends `on:${infer T}`
1023
+ ? T
1024
+ : K extends `on${infer T}`
1025
+ ? Lowercase<T>
1026
+ : never
1027
+ : never)
1028
+ | (keyof EventHandlersElement<any> extends infer K
1029
+ ? K extends `on:${infer T}`
1030
+ ? T
1031
+ : K extends `on${infer T}`
1032
+ ? Lowercase<T>
1033
+ : never
1034
+ : never)
1035
+ | (string & {});
1036
+
1037
+ type ExtractEventType<T> = {
1038
+ [K in keyof T as K extends `on:${infer Name}`
1039
+ ? Name
1040
+ : never]: T[K] extends EventHandlerWithOptionsUnion<Element, infer E> ? E : never;
1041
+ };
1042
+
1043
+ // EventType["click"] = MouseEvent
1044
+
1045
+ type EventType = ExtractEventType<EventHandlersElement<Element>> &
1046
+ ExtractEventType<EventHandlersWindow<Element>>;
1047
+
1048
+ // GLOBAL ATTRIBUTES
1049
+
1050
+ /**
1051
+ * Global `Element` + `Node` interface keys, shared by all tags regardless of their namespace:
1052
+ *
1053
+ * 1. That's `keys` that are defined BY ALL `HTMLElement/SVGElement/MathMLElement` interfaces.
1054
+ * 2. Includes `keys` defined by `Element` and `Node` interfaces.
1055
+ */
1056
+ interface ElementAttributes<T>
1057
+ extends
1058
+ CustomAttributes<T>,
1059
+ PropAttributes,
1060
+ OnAttributes<T>,
1061
+ EventHandlersElement<T>,
1062
+ AriaAttributes {
1063
+ // [key: ClassKeys]: boolean;
1064
+
1065
+ // properties
1066
+ innerHTML?: string;
1067
+ textContent?: string | number;
1068
+
1069
+ // attributes
1070
+ autofocus?: BooleanAttribute | RemoveAttribute;
1071
+ /**
1072
+ * Class names to apply. Accepts a string, an object whose keys are class
1073
+ * names and values are booleans (`{ active: isActive() }` — truthy keys
1074
+ * are added), or an array merging strings/objects/nested arrays
1075
+ * (`["card", props.class, { active: isActive() }]`).
1076
+ *
1077
+ * For conditional classes, prefer the array+object form. Don't build
1078
+ * class strings manually with concatenation, template literals, or
1079
+ * `.filter(Boolean).join(" ")` — that's the React/`classnames` reflex
1080
+ * and the array+object form replaces it. The array+object form composes
1081
+ * with reactive values directly; manually-built strings re-run the whole
1082
+ * concatenation on every change instead of toggling the affected classes.
1083
+ */
1084
+ class?: string | ClassList | RemoveAttribute;
1085
+ elementtiming?: string | RemoveAttribute;
1086
+ id?: string | RemoveAttribute;
1087
+ nonce?: string | RemoveAttribute;
1088
+ part?: string | RemoveAttribute;
1089
+ slot?: string | RemoveAttribute;
1090
+ style?: CSSProperties | string | RemoveAttribute;
1091
+ tabindex?: number | string | RemoveAttribute;
1092
+ }
1093
+ /** Global `SVGElement` interface keys only. */
1094
+ interface SVGAttributes<T> extends ElementAttributes<T> {
1095
+ id?: string | RemoveAttribute;
1096
+ lang?: string | RemoveAttribute;
1097
+ tabindex?: number | string | RemoveAttribute;
1098
+ xmlns?: string | RemoveAttribute;
1099
+ }
1100
+ /** Global `MathMLElement` interface keys only. */
1101
+ interface MathMLAttributes<T> extends ElementAttributes<T> {
1102
+ dir?: HTMLDir | RemoveAttribute;
1103
+ displaystyle?: BooleanAttribute | RemoveAttribute;
1104
+ scriptlevel?: string | RemoveAttribute;
1105
+ xmlns?: string | RemoveAttribute;
1106
+
1107
+ /** @deprecated */
1108
+ href?: string | RemoveAttribute;
1109
+ /** @deprecated */
1110
+ mathbackground?: string | RemoveAttribute;
1111
+ /** @deprecated */
1112
+ mathcolor?: string | RemoveAttribute;
1113
+ /** @deprecated */
1114
+ mathsize?: string | RemoveAttribute;
1115
+ }
1116
+ /** Global `HTMLElement` interface keys only. */
1117
+ interface HTMLAttributes<T> extends ElementAttributes<T> {
1118
+ // properties
1119
+ innerText?: string | number;
1120
+
1121
+ // attributes
1122
+ accesskey?: string | RemoveAttribute;
1123
+ autocapitalize?: HTMLAutocapitalize | RemoveAttribute;
1124
+ autocorrect?: "on" | "off" | RemoveAttribute;
1125
+ contenteditable?:
1126
+ | EnumeratedPseudoBoolean
1127
+ | EnumeratedAcceptsEmpty
1128
+ | "plaintext-only"
1129
+ | "inherit"
1130
+ | RemoveAttribute;
1131
+ dir?: HTMLDir | RemoveAttribute;
1132
+ draggable?: EnumeratedPseudoBoolean | RemoveAttribute;
1133
+ enterkeyhint?:
1134
+ | "enter"
1135
+ | "done"
1136
+ | "go"
1137
+ | "next"
1138
+ | "previous"
1139
+ | "search"
1140
+ | "send"
1141
+ | RemoveAttribute;
1142
+ exportparts?: string | RemoveAttribute;
1143
+ hidden?: EnumeratedAcceptsEmpty | "hidden" | "until-found" | RemoveAttribute;
1144
+ inert?: BooleanAttribute | RemoveAttribute;
1145
+ inputmode?:
1146
+ | "decimal"
1147
+ | "email"
1148
+ | "none"
1149
+ | "numeric"
1150
+ | "search"
1151
+ | "tel"
1152
+ | "text"
1153
+ | "url"
1154
+ | RemoveAttribute;
1155
+ is?: string | RemoveAttribute;
1156
+ lang?: string | RemoveAttribute;
1157
+ popover?: EnumeratedAcceptsEmpty | "manual" | "auto" | "hint" | RemoveAttribute;
1158
+ spellcheck?: EnumeratedPseudoBoolean | EnumeratedAcceptsEmpty | RemoveAttribute;
1159
+ title?: string | RemoveAttribute;
1160
+ translate?: "yes" | "no" | RemoveAttribute;
1161
+
1162
+ /** @experimental */
1163
+ virtualkeyboardpolicy?: EnumeratedAcceptsEmpty | "auto" | "manual" | RemoveAttribute;
1164
+ /** @experimental */
1165
+ writingsuggestions?: EnumeratedPseudoBoolean | RemoveAttribute;
1166
+
1167
+ // Microdata
1168
+ itemid?: string | RemoveAttribute;
1169
+ itemprop?: string | RemoveAttribute;
1170
+ itemref?: string | RemoveAttribute;
1171
+ itemscope?: BooleanAttribute | RemoveAttribute;
1172
+ itemtype?: string | RemoveAttribute;
1173
+
1174
+ // RDFa Attributes
1175
+ about?: string | RemoveAttribute;
1176
+ datatype?: string | RemoveAttribute;
1177
+ inlist?: any | RemoveAttribute;
1178
+ prefix?: string | RemoveAttribute;
1179
+ property?: string | RemoveAttribute;
1180
+ resource?: string | RemoveAttribute;
1181
+ typeof?: string | RemoveAttribute;
1182
+ vocab?: string | RemoveAttribute;
1183
+
1184
+ /** @deprecated */
1185
+ contextmenu?: string | RemoveAttribute;
1186
+ }
1187
+
1188
+ // HTML
1189
+
1190
+ type HTMLAutocapitalize = "off" | "none" | "on" | "sentences" | "words" | "characters";
1191
+ type HTMLAutocomplete =
1192
+ | "additional-name"
1193
+ | "address-level1"
1194
+ | "address-level2"
1195
+ | "address-level3"
1196
+ | "address-level4"
1197
+ | "address-line1"
1198
+ | "address-line2"
1199
+ | "address-line3"
1200
+ | "bday"
1201
+ | "bday-day"
1202
+ | "bday-month"
1203
+ | "bday-year"
1204
+ | "billing"
1205
+ | "cc-additional-name"
1206
+ | "cc-csc"
1207
+ | "cc-exp"
1208
+ | "cc-exp-month"
1209
+ | "cc-exp-year"
1210
+ | "cc-family-name"
1211
+ | "cc-given-name"
1212
+ | "cc-name"
1213
+ | "cc-number"
1214
+ | "cc-type"
1215
+ | "country"
1216
+ | "country-name"
1217
+ | "current-password"
1218
+ | "email"
1219
+ | "family-name"
1220
+ | "fax"
1221
+ | "given-name"
1222
+ | "home"
1223
+ | "honorific-prefix"
1224
+ | "honorific-suffix"
1225
+ | "impp"
1226
+ | "language"
1227
+ | "mobile"
1228
+ | "name"
1229
+ | "new-password"
1230
+ | "nickname"
1231
+ | "off"
1232
+ | "on"
1233
+ | "organization"
1234
+ | "organization-title"
1235
+ | "pager"
1236
+ | "photo"
1237
+ | "postal-code"
1238
+ | "sex"
1239
+ | "shipping"
1240
+ | "street-address"
1241
+ | "tel"
1242
+ | "tel-area-code"
1243
+ | "tel-country-code"
1244
+ | "tel-extension"
1245
+ | "tel-local"
1246
+ | "tel-local-prefix"
1247
+ | "tel-local-suffix"
1248
+ | "tel-national"
1249
+ | "transaction-amount"
1250
+ | "transaction-currency"
1251
+ | "url"
1252
+ | "username"
1253
+ | "work"
1254
+ | (string & {});
1255
+ type HTMLDir = "ltr" | "rtl" | "auto";
1256
+ type HTMLFormEncType = "application/x-www-form-urlencoded" | "multipart/form-data" | "text/plain";
1257
+ type HTMLFormMethod = "post" | "get" | "dialog";
1258
+ type HTMLCrossorigin = "anonymous" | "use-credentials" | EnumeratedAcceptsEmpty;
1259
+ type HTMLReferrerPolicy =
1260
+ | "no-referrer"
1261
+ | "no-referrer-when-downgrade"
1262
+ | "origin"
1263
+ | "origin-when-cross-origin"
1264
+ | "same-origin"
1265
+ | "strict-origin"
1266
+ | "strict-origin-when-cross-origin"
1267
+ | "unsafe-url";
1268
+ type HTMLIframeSandbox =
1269
+ | "allow-downloads-without-user-activation"
1270
+ | "allow-downloads"
1271
+ | "allow-forms"
1272
+ | "allow-modals"
1273
+ | "allow-orientation-lock"
1274
+ | "allow-pointer-lock"
1275
+ | "allow-popups"
1276
+ | "allow-popups-to-escape-sandbox"
1277
+ | "allow-presentation"
1278
+ | "allow-same-origin"
1279
+ | "allow-scripts"
1280
+ | "allow-storage-access-by-user-activation"
1281
+ | "allow-top-navigation"
1282
+ | "allow-top-navigation-by-user-activation"
1283
+ | "allow-top-navigation-to-custom-protocols";
1284
+ type HTMLLinkAs =
1285
+ | "audio"
1286
+ | "document"
1287
+ | "embed"
1288
+ | "fetch"
1289
+ | "font"
1290
+ | "image"
1291
+ | "object"
1292
+ | "script"
1293
+ | "style"
1294
+ | "track"
1295
+ | "video"
1296
+ | "worker";
1297
+
1298
+ interface AnchorHTMLAttributes<T> extends HTMLAttributes<T> {
1299
+ download?: string | EnumeratedAcceptsEmpty | RemoveAttribute;
1300
+ href?: string | RemoveAttribute;
1301
+ hreflang?: string | RemoveAttribute;
1302
+ ping?: string | RemoveAttribute;
1303
+ referrerpolicy?: HTMLReferrerPolicy | RemoveAttribute;
1304
+ rel?: string | RemoveAttribute;
1305
+ target?: "_self" | "_blank" | "_parent" | "_top" | (string & {}) | RemoveAttribute;
1306
+ type?: string | RemoveAttribute;
1307
+
1308
+ /** @experimental */
1309
+ attributionsrc?: string | RemoveAttribute;
1310
+
1311
+ /** @deprecated */
1312
+ charset?: string | RemoveAttribute;
1313
+ /** @deprecated */
1314
+ coords?: string | RemoveAttribute;
1315
+ /** @deprecated */
1316
+ name?: string | RemoveAttribute;
1317
+ /** @deprecated */
1318
+ rev?: string | RemoveAttribute;
1319
+ /** @deprecated */
1320
+ shape?: "rect" | "circle" | "poly" | "default" | RemoveAttribute;
1321
+ }
1322
+ interface AudioHTMLAttributes<T> extends MediaHTMLAttributes<T> {}
1323
+ interface AreaHTMLAttributes<T> extends HTMLAttributes<T> {
1324
+ alt?: string | RemoveAttribute;
1325
+ coords?: string | RemoveAttribute;
1326
+ download?: string | EnumeratedAcceptsEmpty | RemoveAttribute;
1327
+ href?: string | RemoveAttribute;
1328
+ ping?: string | RemoveAttribute;
1329
+ referrerpolicy?: HTMLReferrerPolicy | RemoveAttribute;
1330
+ rel?: string | RemoveAttribute;
1331
+ shape?: "rect" | "circle" | "poly" | "default" | RemoveAttribute;
1332
+ target?: "_self" | "_blank" | "_parent" | "_top" | (string & {}) | RemoveAttribute;
1333
+
1334
+ /** @experimental */
1335
+ attributionsrc?: string | RemoveAttribute;
1336
+
1337
+ /** @deprecated */
1338
+ nohref?: BooleanAttribute | RemoveAttribute;
1339
+ }
1340
+ interface BaseHTMLAttributes<T> extends HTMLAttributes<T> {
1341
+ href?: string | RemoveAttribute;
1342
+ target?: "_self" | "_blank" | "_parent" | "_top" | (string & {}) | RemoveAttribute;
1343
+ }
1344
+ interface BdoHTMLAttributes<T> extends HTMLAttributes<T> {
1345
+ dir?: "ltr" | "rtl" | RemoveAttribute;
1346
+ }
1347
+ interface BlockquoteHTMLAttributes<T> extends HTMLAttributes<T> {
1348
+ cite?: string | RemoveAttribute;
1349
+ }
1350
+ interface BodyHTMLAttributes<T> extends HTMLAttributes<T>, EventHandlersWindow<T> {}
1351
+ interface ButtonHTMLAttributes<T> extends HTMLAttributes<T> {
1352
+ disabled?: BooleanAttribute | RemoveAttribute;
1353
+ form?: string | RemoveAttribute;
1354
+ formaction?: string | SerializableAttributeValue | RemoveAttribute;
1355
+ formenctype?: HTMLFormEncType | RemoveAttribute;
1356
+ formmethod?: HTMLFormMethod | RemoveAttribute;
1357
+ formnovalidate?: BooleanAttribute | RemoveAttribute;
1358
+ formtarget?: "_self" | "_blank" | "_parent" | "_top" | (string & {}) | RemoveAttribute;
1359
+ name?: string | RemoveAttribute;
1360
+ popovertarget?: string | RemoveAttribute;
1361
+ popovertargetaction?: "hide" | "show" | "toggle" | RemoveAttribute;
1362
+ type?: "submit" | "reset" | "button" | "menu" | RemoveAttribute;
1363
+ value?: string | RemoveAttribute;
1364
+
1365
+ /** @experimental */
1366
+ command?:
1367
+ | "show-modal"
1368
+ | "close"
1369
+ | "show-popover"
1370
+ | "hide-popover"
1371
+ | "toggle-popover"
1372
+ | (string & {})
1373
+ | RemoveAttribute;
1374
+ /** @experimental */
1375
+ commandfor?: string | RemoveAttribute;
1376
+ }
1377
+ interface CanvasHTMLAttributes<T> extends HTMLAttributes<T> {
1378
+ height?: number | string | RemoveAttribute;
1379
+ width?: number | string | RemoveAttribute;
1380
+
1381
+ /**
1382
+ * @deprecated
1383
+ * @non-standard
1384
+ */
1385
+ "moz-opaque"?: BooleanAttribute | RemoveAttribute;
1386
+ }
1387
+ interface CaptionHTMLAttributes<T> extends HTMLAttributes<T> {
1388
+ /** @deprecated */
1389
+ align?: "left" | "center" | "right" | RemoveAttribute;
1390
+ }
1391
+ interface ColHTMLAttributes<T> extends HTMLAttributes<T> {
1392
+ span?: number | string | RemoveAttribute;
1393
+
1394
+ /** @deprecated */
1395
+ align?: "left" | "center" | "right" | "justify" | "char" | RemoveAttribute;
1396
+ /** @deprecated */
1397
+ bgcolor?: string | RemoveAttribute;
1398
+ /** @deprecated */
1399
+ char?: string | RemoveAttribute;
1400
+ /** @deprecated */
1401
+ charoff?: string | RemoveAttribute;
1402
+ /** @deprecated */
1403
+ valign?: "baseline" | "bottom" | "middle" | "top" | RemoveAttribute;
1404
+ /** @deprecated */
1405
+ width?: number | string | RemoveAttribute;
1406
+ }
1407
+ interface ColgroupHTMLAttributes<T> extends HTMLAttributes<T> {
1408
+ span?: number | string | RemoveAttribute;
1409
+
1410
+ /** @deprecated */
1411
+ align?: "left" | "center" | "right" | "justify" | "char" | RemoveAttribute;
1412
+ /** @deprecated */
1413
+ bgcolor?: string | RemoveAttribute;
1414
+ /** @deprecated */
1415
+ char?: string | RemoveAttribute;
1416
+ /** @deprecated */
1417
+ charoff?: string | RemoveAttribute;
1418
+ /** @deprecated */
1419
+ valign?: "baseline" | "bottom" | "middle" | "top" | RemoveAttribute;
1420
+ /** @deprecated */
1421
+ width?: number | string | RemoveAttribute;
1422
+ }
1423
+ interface DataHTMLAttributes<T> extends HTMLAttributes<T> {
1424
+ value?: string | string[] | number | RemoveAttribute;
1425
+ }
1426
+ interface DetailsHtmlAttributes<T> extends HTMLAttributes<T> {
1427
+ name?: string | RemoveAttribute;
1428
+ open?: BooleanAttribute | RemoveAttribute;
1429
+ }
1430
+ interface DialogHtmlAttributes<T> extends HTMLAttributes<T> {
1431
+ open?: BooleanAttribute | RemoveAttribute;
1432
+ /**
1433
+ * Do not add the `tabindex` property to the `<dialog>` element as it is not interactive and
1434
+ * does not receive focus. The dialog's contents, including the close button contained in the
1435
+ * dialog, can receive focus and be interactive.
1436
+ *
1437
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/dialog#usage_notes
1438
+ */
1439
+ tabindex?: never;
1440
+ "prop:tabIndex"?: never;
1441
+
1442
+ /** @experimental */
1443
+ closedby?: "any" | "closerequest" | "none" | RemoveAttribute;
1444
+ }
1445
+ interface EmbedHTMLAttributes<T> extends HTMLAttributes<T> {
1446
+ height?: number | string | RemoveAttribute;
1447
+ src?: string | RemoveAttribute;
1448
+ type?: string | RemoveAttribute;
1449
+ width?: number | string | RemoveAttribute;
1450
+
1451
+ /** @deprecated */
1452
+ align?: "left" | "right" | "justify" | "center" | RemoveAttribute;
1453
+ /** @deprecated */
1454
+ name?: string | RemoveAttribute;
1455
+ }
1456
+ interface FieldsetHTMLAttributes<T> extends HTMLAttributes<T> {
1457
+ disabled?: BooleanAttribute | RemoveAttribute;
1458
+ form?: string | RemoveAttribute;
1459
+ name?: string | RemoveAttribute;
1460
+ }
1461
+ interface FormHTMLAttributes<T> extends HTMLAttributes<T> {
1462
+ "accept-charset"?: string | RemoveAttribute;
1463
+ action?: string | SerializableAttributeValue | RemoveAttribute;
1464
+ autocomplete?: "on" | "off" | RemoveAttribute;
1465
+ encoding?: HTMLFormEncType | RemoveAttribute;
1466
+ enctype?: HTMLFormEncType | RemoveAttribute;
1467
+ method?: HTMLFormMethod | RemoveAttribute;
1468
+ name?: string | RemoveAttribute;
1469
+ novalidate?: BooleanAttribute | RemoveAttribute;
1470
+ rel?: string | RemoveAttribute;
1471
+ target?: "_self" | "_blank" | "_parent" | "_top" | (string & {}) | RemoveAttribute;
1472
+
1473
+ /** @deprecated */
1474
+ accept?: string | RemoveAttribute;
1475
+ }
1476
+ interface IframeHTMLAttributes<T> extends HTMLAttributes<T> {
1477
+ allow?: string | RemoveAttribute;
1478
+ allowfullscreen?: BooleanAttribute | RemoveAttribute;
1479
+ height?: number | string | RemoveAttribute;
1480
+ loading?: "eager" | "lazy" | RemoveAttribute;
1481
+ name?: string | RemoveAttribute;
1482
+ referrerpolicy?: HTMLReferrerPolicy | RemoveAttribute;
1483
+ sandbox?: HTMLIframeSandbox | string | RemoveAttribute;
1484
+ src?: string | RemoveAttribute;
1485
+ srcdoc?: string | RemoveAttribute;
1486
+ width?: number | string | RemoveAttribute;
1487
+
1488
+ /** @experimental */
1489
+ adauctionheaders?: BooleanAttribute | RemoveAttribute;
1490
+ /**
1491
+ * @non-standard
1492
+ * @experimental
1493
+ */
1494
+ browsingtopics?: BooleanAttribute | RemoveAttribute;
1495
+ /** @experimental */
1496
+ credentialless?: BooleanAttribute | RemoveAttribute;
1497
+ /** @experimental */
1498
+ csp?: string | RemoveAttribute;
1499
+ /** @experimental */
1500
+ privatetoken?: string | RemoveAttribute;
1501
+ /** @experimental */
1502
+ sharedstoragewritable?: BooleanAttribute | RemoveAttribute;
1503
+
1504
+ /** @deprecated */
1505
+ align?: string | RemoveAttribute;
1506
+ /**
1507
+ * @deprecated
1508
+ * @non-standard
1509
+ */
1510
+ allowpaymentrequest?: BooleanAttribute | RemoveAttribute;
1511
+ /** @deprecated */
1512
+ allowtransparency?: BooleanAttribute | RemoveAttribute;
1513
+ /** @deprecated */
1514
+ frameborder?: number | string | RemoveAttribute;
1515
+ /** @deprecated */
1516
+ longdesc?: string | RemoveAttribute;
1517
+ /** @deprecated */
1518
+ marginheight?: number | string | RemoveAttribute;
1519
+ /** @deprecated */
1520
+ marginwidth?: number | string | RemoveAttribute;
1521
+ /** @deprecated */
1522
+ scrolling?: "yes" | "no" | "auto" | RemoveAttribute;
1523
+ /** @deprecated */
1524
+ seamless?: BooleanAttribute | RemoveAttribute;
1525
+ }
1526
+ interface ImgHTMLAttributes<T> extends HTMLAttributes<T> {
1527
+ alt?: string | RemoveAttribute;
1528
+ browsingtopics?: string | RemoveAttribute;
1529
+ crossorigin?: HTMLCrossorigin | RemoveAttribute;
1530
+ decoding?: "sync" | "async" | "auto" | RemoveAttribute;
1531
+ fetchpriority?: "high" | "low" | "auto" | RemoveAttribute;
1532
+ height?: number | string | RemoveAttribute;
1533
+ ismap?: BooleanAttribute | RemoveAttribute;
1534
+ loading?: "eager" | "lazy" | RemoveAttribute;
1535
+ referrerpolicy?: HTMLReferrerPolicy | RemoveAttribute;
1536
+ sizes?: string | RemoveAttribute;
1537
+ src?: string | RemoveAttribute;
1538
+ srcset?: string | RemoveAttribute;
1539
+ usemap?: string | RemoveAttribute;
1540
+ width?: number | string | RemoveAttribute;
1541
+
1542
+ /** @experimental */
1543
+ attributionsrc?: string | RemoveAttribute;
1544
+ /** @experimental */
1545
+ sharedstoragewritable?: BooleanAttribute | RemoveAttribute;
1546
+
1547
+ /** @deprecated */
1548
+ align?: "top" | "middle" | "bottom" | "left" | "right" | RemoveAttribute;
1549
+ /** @deprecated */
1550
+ border?: string | RemoveAttribute;
1551
+ /** @deprecated */
1552
+ hspace?: number | string | RemoveAttribute;
1553
+ /** @deprecated */
1554
+ intrinsicsize?: string | RemoveAttribute;
1555
+ /** @deprecated */
1556
+ longdesc?: string | RemoveAttribute;
1557
+ /** @deprecated */
1558
+ lowsrc?: string | RemoveAttribute;
1559
+ /** @deprecated */
1560
+ name?: string | RemoveAttribute;
1561
+ /** @deprecated */
1562
+ vspace?: number | string | RemoveAttribute;
1563
+ }
1564
+ interface InputHTMLAttributes<T> extends HTMLAttributes<T> {
1565
+ accept?: string | RemoveAttribute;
1566
+ alpha?: BooleanAttribute | RemoveAttribute;
1567
+ alt?: string | RemoveAttribute;
1568
+ autocomplete?: HTMLAutocomplete | RemoveAttribute;
1569
+ capture?: "user" | "environment" | RemoveAttribute;
1570
+
1571
+ colorspace?: string | RemoveAttribute;
1572
+ dirname?: string | RemoveAttribute;
1573
+ disabled?: BooleanAttribute | RemoveAttribute;
1574
+ form?: string | RemoveAttribute;
1575
+ formaction?: string | SerializableAttributeValue | RemoveAttribute;
1576
+ formenctype?: HTMLFormEncType | RemoveAttribute;
1577
+ formmethod?: HTMLFormMethod | RemoveAttribute;
1578
+ formnovalidate?: BooleanAttribute | RemoveAttribute;
1579
+ formtarget?: string | RemoveAttribute;
1580
+ height?: number | string | RemoveAttribute;
1581
+ list?: string | RemoveAttribute;
1582
+ max?: number | string | RemoveAttribute;
1583
+ maxlength?: number | string | RemoveAttribute;
1584
+ min?: number | string | RemoveAttribute;
1585
+ minlength?: number | string | RemoveAttribute;
1586
+ multiple?: BooleanAttribute | RemoveAttribute;
1587
+ name?: string | RemoveAttribute;
1588
+ pattern?: string | RemoveAttribute;
1589
+ placeholder?: string | RemoveAttribute;
1590
+ popovertarget?: string | RemoveAttribute;
1591
+ popovertargetaction?: "hide" | "show" | "toggle" | RemoveAttribute;
1592
+ readonly?: BooleanAttribute | RemoveAttribute;
1593
+ required?: BooleanAttribute | RemoveAttribute;
1594
+ // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/search#results
1595
+ results?: number | RemoveAttribute;
1596
+ size?: number | string | RemoveAttribute;
1597
+ src?: string | RemoveAttribute;
1598
+ step?: number | string | RemoveAttribute;
1599
+ type?:
1600
+ | "button"
1601
+ | "checkbox"
1602
+ | "color"
1603
+ | "date"
1604
+ | "datetime-local"
1605
+ | "email"
1606
+ | "file"
1607
+ | "hidden"
1608
+ | "image"
1609
+ | "month"
1610
+ | "number"
1611
+ | "password"
1612
+ | "radio"
1613
+ | "range"
1614
+ | "reset"
1615
+ | "search"
1616
+ | "submit"
1617
+ | "tel"
1618
+ | "text"
1619
+ | "time"
1620
+ | "url"
1621
+ | "week"
1622
+ | (string & {})
1623
+ | RemoveAttribute;
1624
+ width?: number | string | RemoveAttribute;
1625
+ webkitdirectory?: BooleanAttribute | RemoveAttribute;
1626
+
1627
+ /** @non-standard */
1628
+ incremental?: BooleanAttribute | RemoveAttribute;
1629
+
1630
+ /** @deprecated */
1631
+ align?: string | RemoveAttribute;
1632
+ /** @deprecated */
1633
+ usemap?: string | RemoveAttribute;
1634
+
1635
+ // special cases locked to properties
1636
+
1637
+ checked?: BooleanProperty | RemoveProperty;
1638
+ /** @error use `<input checked={..}/>` instead */
1639
+ "prop:checked"?: never;
1640
+
1641
+ defaultChecked?: BooleanProperty | RemoveProperty;
1642
+ /** @error use `<input defaultChecked={..}/>` instead */
1643
+ "prop:defaultChecked"?: never;
1644
+
1645
+ value?: string | string[] | number | RemoveProperty;
1646
+ /** @error use `<input value={..}/>` instead */
1647
+ "prop:value"?: never;
1648
+
1649
+ defaultValue?: string | string[] | number | RemoveProperty;
1650
+ /** @error use `<input defaultValue={..}/>` instead */
1651
+ "prop:defaultValue"?: never;
1652
+ }
1653
+ interface ModHTMLAttributes<T> extends HTMLAttributes<T> {
1654
+ cite?: string | RemoveAttribute;
1655
+ datetime?: string | RemoveAttribute;
1656
+ }
1657
+ interface KeygenHTMLAttributes<T> extends HTMLAttributes<T> {
1658
+ /** @deprecated */
1659
+ challenge?: string | RemoveAttribute;
1660
+ /** @deprecated */
1661
+ disabled?: BooleanAttribute | RemoveAttribute;
1662
+ /** @deprecated */
1663
+ form?: string | RemoveAttribute;
1664
+ /** @deprecated */
1665
+ keyparams?: string | RemoveAttribute;
1666
+ /** @deprecated */
1667
+ keytype?: string | RemoveAttribute;
1668
+ /** @deprecated */
1669
+ name?: string | RemoveAttribute;
1670
+ }
1671
+ interface LabelHTMLAttributes<T> extends HTMLAttributes<T> {
1672
+ for?: string | RemoveAttribute;
1673
+ }
1674
+ interface LiHTMLAttributes<T> extends HTMLAttributes<T> {
1675
+ value?: number | string | RemoveAttribute;
1676
+
1677
+ /** @deprecated */
1678
+ type?: "1" | "a" | "A" | "i" | "I" | RemoveAttribute;
1679
+ }
1680
+ interface LinkHTMLAttributes<T> extends HTMLAttributes<T> {
1681
+ as?: HTMLLinkAs | RemoveAttribute;
1682
+ blocking?: "render" | RemoveAttribute;
1683
+ color?: string | RemoveAttribute;
1684
+ crossorigin?: HTMLCrossorigin | RemoveAttribute;
1685
+ disabled?: BooleanAttribute | RemoveAttribute;
1686
+ fetchpriority?: "high" | "low" | "auto" | RemoveAttribute;
1687
+ href?: string | RemoveAttribute;
1688
+ hreflang?: string | RemoveAttribute;
1689
+ imagesizes?: string | RemoveAttribute;
1690
+ imagesrcset?: string | RemoveAttribute;
1691
+ integrity?: string | RemoveAttribute;
1692
+ media?: string | RemoveAttribute;
1693
+ referrerpolicy?: HTMLReferrerPolicy | RemoveAttribute;
1694
+ rel?: string | RemoveAttribute;
1695
+ sizes?: string | RemoveAttribute;
1696
+ type?: string | RemoveAttribute;
1697
+
1698
+ /** @deprecated */
1699
+ charset?: string | RemoveAttribute;
1700
+ /** @deprecated */
1701
+ rev?: string | RemoveAttribute;
1702
+ /** @deprecated */
1703
+ target?: string | RemoveAttribute;
1704
+ }
1705
+ interface MapHTMLAttributes<T> extends HTMLAttributes<T> {
1706
+ name?: string | RemoveAttribute;
1707
+ }
1708
+ interface MediaHTMLAttributes<T> extends HTMLAttributes<T> {
1709
+ autoplay?: BooleanAttribute | RemoveAttribute;
1710
+ controls?: BooleanAttribute | RemoveAttribute;
1711
+ controlslist?:
1712
+ | "nodownload"
1713
+ | "nofullscreen"
1714
+ | "noplaybackrate"
1715
+ | "noremoteplayback"
1716
+ | (string & {})
1717
+ | RemoveAttribute;
1718
+ crossorigin?: HTMLCrossorigin | RemoveAttribute;
1719
+ disableremoteplayback?: BooleanAttribute | RemoveAttribute;
1720
+ loop?: BooleanAttribute | RemoveAttribute;
1721
+
1722
+ preload?: "none" | "metadata" | "auto" | EnumeratedAcceptsEmpty | RemoveAttribute;
1723
+ src?: string | RemoveAttribute;
1724
+
1725
+ onEncrypted?: EventHandlerUnion<T, MediaEncryptedEvent> | undefined;
1726
+ "on:encrypted"?: EventHandlerWithOptionsUnion<T, MediaEncryptedEvent> | undefined;
1727
+
1728
+ onWaitingForKey?: EventHandlerUnion<T, Event> | undefined;
1729
+ "on:waitingforkey"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
1730
+
1731
+ /** @deprecated */
1732
+ mediagroup?: string | RemoveAttribute;
1733
+
1734
+ // special cases locked to properties
1735
+
1736
+ muted?: BooleanProperty | RemoveProperty;
1737
+ /** @error use `<video/audio muted={..}/>` instead */
1738
+ "prop:muted"?: never;
1739
+
1740
+ defaultMuted?: BooleanProperty | RemoveProperty;
1741
+ /** @error use `<video/audio defaultMuted={..}/>` instead */
1742
+ "prop:defaultMuted"?: never;
1743
+ }
1744
+ interface MenuHTMLAttributes<T> extends HTMLAttributes<T> {
1745
+ /** @deprecated */
1746
+ compact?: BooleanAttribute | RemoveAttribute;
1747
+ /** @deprecated */
1748
+ label?: string | RemoveAttribute;
1749
+ /** @deprecated */
1750
+ type?: "context" | "toolbar" | RemoveAttribute;
1751
+ }
1752
+ interface MetaHTMLAttributes<T> extends HTMLAttributes<T> {
1753
+ "http-equiv"?:
1754
+ | "content-security-policy"
1755
+ | "content-type"
1756
+ | "default-style"
1757
+ | "x-ua-compatible"
1758
+ | "refresh"
1759
+ | RemoveAttribute;
1760
+ charset?: string | RemoveAttribute;
1761
+ content?: string | RemoveAttribute;
1762
+ media?: string | RemoveAttribute;
1763
+ name?: string | RemoveAttribute;
1764
+
1765
+ /** @deprecated */
1766
+ scheme?: string | RemoveAttribute;
1767
+ }
1768
+ interface MeterHTMLAttributes<T> extends HTMLAttributes<T> {
1769
+ form?: string | RemoveAttribute;
1770
+ high?: number | string | RemoveAttribute;
1771
+ low?: number | string | RemoveAttribute;
1772
+ max?: number | string | RemoveAttribute;
1773
+ min?: number | string | RemoveAttribute;
1774
+ optimum?: number | string | RemoveAttribute;
1775
+ value?: string | string[] | number | RemoveAttribute;
1776
+ }
1777
+ interface QuoteHTMLAttributes<T> extends HTMLAttributes<T> {
1778
+ cite?: string | RemoveAttribute;
1779
+ }
1780
+ interface ObjectHTMLAttributes<T> extends HTMLAttributes<T> {
1781
+ data?: string | RemoveAttribute;
1782
+ form?: string | RemoveAttribute;
1783
+ height?: number | string | RemoveAttribute;
1784
+ name?: string | RemoveAttribute;
1785
+ type?: string | RemoveAttribute;
1786
+ width?: number | string | RemoveAttribute;
1787
+ wmode?: string | RemoveAttribute;
1788
+
1789
+ /** @deprecated */
1790
+ align?: string | RemoveAttribute;
1791
+ /** @deprecated */
1792
+ archive?: string | RemoveAttribute;
1793
+ /** @deprecated */
1794
+ border?: string | RemoveAttribute;
1795
+ /** @deprecated */
1796
+ classid?: string | RemoveAttribute;
1797
+ /** @deprecated */
1798
+ code?: string | RemoveAttribute;
1799
+ /** @deprecated */
1800
+ codebase?: string | RemoveAttribute;
1801
+ /** @deprecated */
1802
+ codetype?: string | RemoveAttribute;
1803
+ /** @deprecated */
1804
+ declare?: BooleanAttribute | RemoveAttribute;
1805
+ /** @deprecated */
1806
+ hspace?: number | string | RemoveAttribute;
1807
+ /** @deprecated */
1808
+ standby?: string | RemoveAttribute;
1809
+ /** @deprecated */
1810
+ usemap?: string | RemoveAttribute;
1811
+ /** @deprecated */
1812
+ vspace?: number | string | RemoveAttribute;
1813
+ /** @deprecated */
1814
+ typemustmatch?: BooleanAttribute | RemoveAttribute;
1815
+ }
1816
+ interface OlHTMLAttributes<T> extends HTMLAttributes<T> {
1817
+ reversed?: BooleanAttribute | RemoveAttribute;
1818
+ start?: number | string | RemoveAttribute;
1819
+ type?: "1" | "a" | "A" | "i" | "I" | RemoveAttribute;
1820
+
1821
+ /**
1822
+ * @deprecated
1823
+ * @non-standard
1824
+ */
1825
+ compact?: BooleanAttribute | RemoveAttribute;
1826
+ }
1827
+ interface OptgroupHTMLAttributes<T> extends HTMLAttributes<T> {
1828
+ disabled?: BooleanAttribute | RemoveAttribute;
1829
+ label?: string | RemoveAttribute;
1830
+ }
1831
+ interface OptionHTMLAttributes<T> extends HTMLAttributes<T> {
1832
+ disabled?: BooleanAttribute | RemoveAttribute;
1833
+ label?: string | RemoveAttribute;
1834
+
1835
+ // special cases locked to properties
1836
+
1837
+ selected?: BooleanProperty | RemoveProperty;
1838
+ /** @error use `<option selected={..}/>` instead */
1839
+ "prop:selected"?: never;
1840
+
1841
+ defaultSelected?: BooleanProperty | RemoveProperty;
1842
+ /** @error use `<option defaultSelected={..}/>` instead */
1843
+ "prop:defaultSelected"?: never;
1844
+
1845
+ value?: string | string[] | number | RemoveProperty;
1846
+ /** @error use `<option value={..}/>` instead */
1847
+ "prop:value"?: never;
1848
+
1849
+ // for sanity
1850
+
1851
+ /** @error This doesn't exists for `<option/>` */
1852
+ "prop:defaultValue"?: never;
1853
+ /** @error This doesn't exists for `<option/>` */
1854
+ defaultValue?: never;
1855
+ }
1856
+ interface OutputHTMLAttributes<T> extends HTMLAttributes<T> {
1857
+ for?: string | RemoveAttribute;
1858
+ form?: string | RemoveAttribute;
1859
+ name?: string | RemoveAttribute;
1860
+ }
1861
+ interface ParamHTMLAttributes<T> extends HTMLAttributes<T> {
1862
+ /** @deprecated */
1863
+ name?: string | RemoveAttribute;
1864
+ /** @deprecated */
1865
+ type?: string | RemoveAttribute;
1866
+ /** @deprecated */
1867
+ value?: string | number | RemoveAttribute;
1868
+ /** @deprecated */
1869
+ valuetype?: "data" | "ref" | "object" | RemoveAttribute;
1870
+ }
1871
+ interface ProgressHTMLAttributes<T> extends HTMLAttributes<T> {
1872
+ max?: number | string | RemoveAttribute;
1873
+ value?: string | string[] | number | RemoveAttribute;
1874
+ }
1875
+ interface ScriptHTMLAttributes<T> extends HTMLAttributes<T> {
1876
+ async?: BooleanAttribute | RemoveAttribute;
1877
+ blocking?: "render" | RemoveAttribute;
1878
+ crossorigin?: HTMLCrossorigin | RemoveAttribute;
1879
+ defer?: BooleanAttribute | RemoveAttribute;
1880
+ fetchpriority?: "high" | "low" | "auto" | RemoveAttribute;
1881
+ for?: string | RemoveAttribute;
1882
+ integrity?: string | RemoveAttribute;
1883
+ nomodule?: BooleanAttribute | RemoveAttribute;
1884
+ referrerpolicy?: HTMLReferrerPolicy | RemoveAttribute;
1885
+ src?: string | RemoveAttribute;
1886
+ type?: "importmap" | "module" | "speculationrules" | (string & {}) | RemoveAttribute;
1887
+
1888
+ /** @experimental */
1889
+ attributionsrc?: string | RemoveAttribute;
1890
+
1891
+ /** @deprecated */
1892
+ charset?: string | RemoveAttribute;
1893
+ /** @deprecated */
1894
+ event?: string | RemoveAttribute;
1895
+ /** @deprecated */
1896
+ language?: string | RemoveAttribute;
1897
+ }
1898
+ interface SelectHTMLAttributes<T> extends HTMLAttributes<T> {
1899
+ autocomplete?: HTMLAutocomplete | RemoveAttribute;
1900
+ disabled?: BooleanAttribute | RemoveAttribute;
1901
+ form?: string | RemoveAttribute;
1902
+ multiple?: BooleanAttribute | RemoveAttribute;
1903
+ name?: string | RemoveAttribute;
1904
+ required?: BooleanAttribute | RemoveAttribute;
1905
+ size?: number | string | RemoveAttribute;
1906
+
1907
+ // special cases locked to properties
1908
+
1909
+ value?: string | string[] | number | RemoveProperty;
1910
+ /** @error use `<select value={..}/>` instead */
1911
+ "prop:value"?: never;
1912
+
1913
+ // for sanity
1914
+
1915
+ /** @error use `<option defaultSelected={..}/>` instead */
1916
+ defaultSelected?: never;
1917
+ /** @error use `<option defaultSelected={..}/>` instead */
1918
+ "prop:defaultSelected"?: never;
1919
+
1920
+ /** @error use `<option defaultSelected={..}/>` instead */
1921
+ selected?: never;
1922
+ /** @error use `<option defaultSelected={..}/>` instead */
1923
+ "prop:selected"?: never;
1924
+ }
1925
+ interface HTMLSlotElementAttributes<T> extends HTMLAttributes<T> {
1926
+ name?: string | RemoveAttribute;
1927
+ }
1928
+ interface SourceHTMLAttributes<T> extends HTMLAttributes<T> {
1929
+ height?: number | string | RemoveAttribute;
1930
+ media?: string | RemoveAttribute;
1931
+ sizes?: string | RemoveAttribute;
1932
+ src?: string | RemoveAttribute;
1933
+ srcset?: string | RemoveAttribute;
1934
+ type?: string | RemoveAttribute;
1935
+ width?: number | string | RemoveAttribute;
1936
+ }
1937
+ interface StyleHTMLAttributes<T> extends HTMLAttributes<T> {
1938
+ blocking?: "render" | RemoveAttribute;
1939
+ media?: string | RemoveAttribute;
1940
+
1941
+ /** @deprecated */
1942
+ scoped?: BooleanAttribute | RemoveAttribute;
1943
+ /** @deprecated */
1944
+ type?: string | RemoveAttribute;
1945
+ }
1946
+ interface TdHTMLAttributes<T> extends HTMLAttributes<T> {
1947
+ colspan?: number | string | RemoveAttribute;
1948
+ headers?: string | RemoveAttribute;
1949
+ rowspan?: number | string | RemoveAttribute;
1950
+
1951
+ /** @deprecated */
1952
+ abbr?: string | RemoveAttribute;
1953
+ /** @deprecated */
1954
+ align?: "left" | "center" | "right" | "justify" | "char" | RemoveAttribute;
1955
+ /** @deprecated */
1956
+ axis?: string | RemoveAttribute;
1957
+ /** @deprecated */
1958
+ bgcolor?: string | RemoveAttribute;
1959
+ /** @deprecated */
1960
+ char?: string | RemoveAttribute;
1961
+ /** @deprecated */
1962
+ charoff?: string | RemoveAttribute;
1963
+ /** @deprecated */
1964
+ height?: number | string | RemoveAttribute;
1965
+ /** @deprecated */
1966
+ nowrap?: BooleanAttribute | RemoveAttribute;
1967
+ /** @deprecated */
1968
+ scope?: "col" | "row" | "rowgroup" | "colgroup" | RemoveAttribute;
1969
+ /** @deprecated */
1970
+ valign?: "baseline" | "bottom" | "middle" | "top" | RemoveAttribute;
1971
+ /** @deprecated */
1972
+ width?: number | string | RemoveAttribute;
1973
+ }
1974
+ interface TemplateHTMLAttributes<T> extends HTMLAttributes<T> {
1975
+ shadowrootclonable?: BooleanAttribute | RemoveAttribute;
1976
+ shadowrootdelegatesfocus?: BooleanAttribute | RemoveAttribute;
1977
+ shadowrootmode?: "open" | "closed" | RemoveAttribute;
1978
+ shadowrootcustomelementregistry?: BooleanAttribute | RemoveAttribute;
1979
+
1980
+ /** @experimental */
1981
+ shadowrootserializable?: BooleanAttribute | RemoveAttribute;
1982
+ }
1983
+ interface TextareaHTMLAttributes<T> extends HTMLAttributes<T> {
1984
+ autocomplete?: HTMLAutocomplete | RemoveAttribute;
1985
+ cols?: number | string | RemoveAttribute;
1986
+ dirname?: string | RemoveAttribute;
1987
+ disabled?: BooleanAttribute | RemoveAttribute;
1988
+
1989
+ form?: string | RemoveAttribute;
1990
+ maxlength?: number | string | RemoveAttribute;
1991
+ minlength?: number | string | RemoveAttribute;
1992
+ name?: string | RemoveAttribute;
1993
+ placeholder?: string | RemoveAttribute;
1994
+ readonly?: BooleanAttribute | RemoveAttribute;
1995
+ required?: BooleanAttribute | RemoveAttribute;
1996
+ rows?: number | string | RemoveAttribute;
1997
+ wrap?: "hard" | "soft" | "off" | RemoveAttribute;
1998
+
1999
+ // special cases locked to properties
2000
+
2001
+ value?: string | string[] | number | RemoveProperty;
2002
+ /** @error use `<textarea value={..}/>` instead */
2003
+ "prop:value"?: never;
2004
+
2005
+ defaultValue?: string | string[] | number | RemoveProperty;
2006
+ /** @error use `<textarea defaultValue={..}/>` instead */
2007
+ "prop:defaultValue"?: never;
2008
+ }
2009
+ interface ThHTMLAttributes<T> extends HTMLAttributes<T> {
2010
+ abbr?: string | RemoveAttribute;
2011
+ colspan?: number | string | RemoveAttribute;
2012
+ headers?: string | RemoveAttribute;
2013
+ rowspan?: number | string | RemoveAttribute;
2014
+ scope?: "col" | "row" | "rowgroup" | "colgroup" | RemoveAttribute;
2015
+
2016
+ /** @deprecated */
2017
+ align?: "left" | "center" | "right" | "justify" | "char" | RemoveAttribute;
2018
+ /** @deprecated */
2019
+ axis?: string | RemoveAttribute;
2020
+ /** @deprecated */
2021
+ bgcolor?: string | RemoveAttribute;
2022
+ /** @deprecated */
2023
+ char?: string | RemoveAttribute;
2024
+ /** @deprecated */
2025
+ charoff?: string | RemoveAttribute;
2026
+ /** @deprecated */
2027
+ height?: string | RemoveAttribute;
2028
+ /** @deprecated */
2029
+ nowrap?: BooleanAttribute | RemoveAttribute;
2030
+ /** @deprecated */
2031
+ valign?: "baseline" | "bottom" | "middle" | "top" | RemoveAttribute;
2032
+ /** @deprecated */
2033
+ width?: number | string | RemoveAttribute;
2034
+ }
2035
+ interface TimeHTMLAttributes<T> extends HTMLAttributes<T> {
2036
+ datetime?: string | RemoveAttribute;
2037
+ }
2038
+ interface TrackHTMLAttributes<T> extends HTMLAttributes<T> {
2039
+ default?: BooleanAttribute | RemoveAttribute;
2040
+ kind?:
2041
+ | "alternative"
2042
+ | "descriptions"
2043
+ | "main"
2044
+ | "main-desc"
2045
+ | "translation"
2046
+ | "commentary"
2047
+ | "subtitles"
2048
+ | "captions"
2049
+ | "chapters"
2050
+ | "metadata"
2051
+ | RemoveAttribute;
2052
+ label?: string | RemoveAttribute;
2053
+ src?: string | RemoveAttribute;
2054
+ srclang?: string | RemoveAttribute;
2055
+
2056
+ /** @deprecated */
2057
+ mediagroup?: string | RemoveAttribute;
2058
+ }
2059
+ interface VideoHTMLAttributes<T> extends MediaHTMLAttributes<T> {
2060
+ disablepictureinpicture?: BooleanAttribute | RemoveAttribute;
2061
+ height?: number | string | RemoveAttribute;
2062
+ playsinline?: BooleanAttribute | RemoveAttribute;
2063
+ poster?: string | RemoveAttribute;
2064
+ width?: number | string | RemoveAttribute;
2065
+
2066
+ onEnterPictureInPicture?: EventHandlerUnion<T, PictureInPictureEvent> | undefined;
2067
+ "on:enterpictureinpicture"?: EventHandlerWithOptionsUnion<T, PictureInPictureEvent> | undefined;
2068
+
2069
+ onLeavePictureInPicture?: EventHandlerUnion<T, PictureInPictureEvent> | undefined;
2070
+ "on:leavepictureinpicture"?: EventHandlerWithOptionsUnion<T, PictureInPictureEvent> | undefined;
2071
+ }
2072
+
2073
+ interface WebViewHTMLAttributes<T> extends HTMLAttributes<T> {
2074
+ allowpopups?: BooleanAttribute | RemoveAttribute;
2075
+ disableblinkfeatures?: string | RemoveAttribute;
2076
+ disablewebsecurity?: BooleanAttribute | RemoveAttribute;
2077
+ enableblinkfeatures?: string | RemoveAttribute;
2078
+ httpreferrer?: string | RemoveAttribute;
2079
+ nodeintegration?: BooleanAttribute | RemoveAttribute;
2080
+ nodeintegrationinsubframes?: BooleanAttribute | RemoveAttribute;
2081
+ partition?: string | RemoveAttribute;
2082
+ plugins?: BooleanAttribute | RemoveAttribute;
2083
+ preload?: string | RemoveAttribute;
2084
+ src?: string | RemoveAttribute;
2085
+ useragent?: string | RemoveAttribute;
2086
+ webpreferences?: string | RemoveAttribute;
2087
+
2088
+ // does this exists?
2089
+ allowfullscreen?: BooleanAttribute | RemoveAttribute;
2090
+ autosize?: BooleanAttribute | RemoveAttribute;
2091
+
2092
+ /** @deprecated */
2093
+ blinkfeatures?: string | RemoveAttribute;
2094
+ /** @deprecated */
2095
+ disableguestresize?: BooleanAttribute | RemoveAttribute;
2096
+ /** @deprecated */
2097
+ guestinstance?: string | RemoveAttribute;
2098
+ }
2099
+
2100
+ // SVG
2101
+
2102
+ type SVGPreserveAspectRatio =
2103
+ | "none"
2104
+ | "xMinYMin"
2105
+ | "xMidYMin"
2106
+ | "xMaxYMin"
2107
+ | "xMinYMid"
2108
+ | "xMidYMid"
2109
+ | "xMaxYMid"
2110
+ | "xMinYMax"
2111
+ | "xMidYMax"
2112
+ | "xMaxYMax"
2113
+ | "xMinYMin meet"
2114
+ | "xMidYMin meet"
2115
+ | "xMaxYMin meet"
2116
+ | "xMinYMid meet"
2117
+ | "xMidYMid meet"
2118
+ | "xMaxYMid meet"
2119
+ | "xMinYMax meet"
2120
+ | "xMidYMax meet"
2121
+ | "xMaxYMax meet"
2122
+ | "xMinYMin slice"
2123
+ | "xMidYMin slice"
2124
+ | "xMaxYMin slice"
2125
+ | "xMinYMid slice"
2126
+ | "xMidYMid slice"
2127
+ | "xMaxYMid slice"
2128
+ | "xMinYMax slice"
2129
+ | "xMidYMax slice"
2130
+ | "xMaxYMax slice";
2131
+ type ImagePreserveAspectRatio =
2132
+ | SVGPreserveAspectRatio
2133
+ | "defer none"
2134
+ | "defer xMinYMin"
2135
+ | "defer xMidYMin"
2136
+ | "defer xMaxYMin"
2137
+ | "defer xMinYMid"
2138
+ | "defer xMidYMid"
2139
+ | "defer xMaxYMid"
2140
+ | "defer xMinYMax"
2141
+ | "defer xMidYMax"
2142
+ | "defer xMaxYMax"
2143
+ | "defer xMinYMin meet"
2144
+ | "defer xMidYMin meet"
2145
+ | "defer xMaxYMin meet"
2146
+ | "defer xMinYMid meet"
2147
+ | "defer xMidYMid meet"
2148
+ | "defer xMaxYMid meet"
2149
+ | "defer xMinYMax meet"
2150
+ | "defer xMidYMax meet"
2151
+ | "defer xMaxYMax meet"
2152
+ | "defer xMinYMin slice"
2153
+ | "defer xMidYMin slice"
2154
+ | "defer xMaxYMin slice"
2155
+ | "defer xMinYMid slice"
2156
+ | "defer xMidYMid slice"
2157
+ | "defer xMaxYMid slice"
2158
+ | "defer xMinYMax slice"
2159
+ | "defer xMidYMax slice"
2160
+ | "defer xMaxYMax slice";
2161
+ type SVGUnits = "userSpaceOnUse" | "objectBoundingBox";
2162
+
2163
+ interface StylableSVGAttributes {
2164
+ /**
2165
+ * Class names to apply. Accepts a string, an object whose keys are class
2166
+ * names and values are booleans (`{ active: isActive() }` — truthy keys
2167
+ * are added), or an array merging strings/objects/nested arrays
2168
+ * (`["card", props.class, { active: isActive() }]`).
2169
+ *
2170
+ * For conditional classes, prefer the array+object form. Don't build
2171
+ * class strings manually with concatenation, template literals, or
2172
+ * `.filter(Boolean).join(" ")` — that's the React/`classnames` reflex
2173
+ * and the array+object form replaces it. The array+object form composes
2174
+ * with reactive values directly; manually-built strings re-run the whole
2175
+ * concatenation on every change instead of toggling the affected classes.
2176
+ */
2177
+ class?: string | ClassList | RemoveAttribute;
2178
+ style?: CSSProperties | string | RemoveAttribute;
2179
+ }
2180
+ interface TransformableSVGAttributes {
2181
+ transform?: string | RemoveAttribute;
2182
+ }
2183
+ interface ConditionalProcessingSVGAttributes {
2184
+ requiredExtensions?: string | RemoveAttribute;
2185
+ requiredFeatures?: string | RemoveAttribute;
2186
+ systemLanguage?: string | RemoveAttribute;
2187
+ }
2188
+ interface ExternalResourceSVGAttributes {
2189
+ externalResourcesRequired?: EnumeratedPseudoBoolean | RemoveAttribute;
2190
+ }
2191
+ interface AnimationTimingSVGAttributes {
2192
+ begin?: string | RemoveAttribute;
2193
+ dur?: string | RemoveAttribute;
2194
+ end?: string | RemoveAttribute;
2195
+ fill?: "freeze" | "remove" | RemoveAttribute;
2196
+ max?: string | RemoveAttribute;
2197
+ min?: string | RemoveAttribute;
2198
+ repeatCount?: number | "indefinite" | RemoveAttribute;
2199
+ repeatDur?: string | RemoveAttribute;
2200
+ restart?: "always" | "whenNotActive" | "never" | RemoveAttribute;
2201
+ }
2202
+ interface AnimationValueSVGAttributes {
2203
+ by?: number | string | RemoveAttribute;
2204
+ calcMode?: "discrete" | "linear" | "paced" | "spline" | RemoveAttribute;
2205
+ from?: number | string | RemoveAttribute;
2206
+ keySplines?: string | RemoveAttribute;
2207
+ keyTimes?: string | RemoveAttribute;
2208
+ to?: number | string | RemoveAttribute;
2209
+ values?: string | RemoveAttribute;
2210
+ }
2211
+ interface AnimationAdditionSVGAttributes {
2212
+ accumulate?: "none" | "sum" | RemoveAttribute;
2213
+ additive?: "replace" | "sum" | RemoveAttribute;
2214
+ attributeName?: string | RemoveAttribute;
2215
+ }
2216
+ interface AnimationAttributeTargetSVGAttributes {
2217
+ attributeName?: string | RemoveAttribute;
2218
+ attributeType?: "CSS" | "XML" | "auto" | RemoveAttribute;
2219
+ }
2220
+ interface PresentationSVGAttributes {
2221
+ "alignment-baseline"?:
2222
+ | "auto"
2223
+ | "baseline"
2224
+ | "before-edge"
2225
+ | "text-before-edge"
2226
+ | "middle"
2227
+ | "central"
2228
+ | "after-edge"
2229
+ | "text-after-edge"
2230
+ | "ideographic"
2231
+ | "alphabetic"
2232
+ | "hanging"
2233
+ | "mathematical"
2234
+ | "inherit"
2235
+ | RemoveAttribute;
2236
+ "baseline-shift"?: number | string | RemoveAttribute;
2237
+ "clip-path"?: string | RemoveAttribute;
2238
+ "clip-rule"?: "nonzero" | "evenodd" | "inherit" | RemoveAttribute;
2239
+ "color-interpolation"?: "auto" | "sRGB" | "linearRGB" | "inherit" | RemoveAttribute;
2240
+ "color-interpolation-filters"?: "auto" | "sRGB" | "linearRGB" | "inherit" | RemoveAttribute;
2241
+ "color-profile"?: string | RemoveAttribute;
2242
+ "color-rendering"?: "auto" | "optimizeSpeed" | "optimizeQuality" | "inherit" | RemoveAttribute;
2243
+ "dominant-baseline"?:
2244
+ | "auto"
2245
+ | "text-bottom"
2246
+ | "alphabetic"
2247
+ | "ideographic"
2248
+ | "middle"
2249
+ | "central"
2250
+ | "mathematical"
2251
+ | "hanging"
2252
+ | "text-top"
2253
+ | "inherit"
2254
+ | RemoveAttribute;
2255
+ "enable-background"?: string | RemoveAttribute;
2256
+ "fill-opacity"?: number | string | "inherit" | RemoveAttribute;
2257
+ "fill-rule"?: "nonzero" | "evenodd" | "inherit" | RemoveAttribute;
2258
+ "flood-color"?: string | RemoveAttribute;
2259
+ "flood-opacity"?: number | string | "inherit" | RemoveAttribute;
2260
+ "font-family"?: string | RemoveAttribute;
2261
+ "font-size"?: string | RemoveAttribute;
2262
+ "font-size-adjust"?: number | string | RemoveAttribute;
2263
+ "font-stretch"?: string | RemoveAttribute;
2264
+ "font-style"?: "normal" | "italic" | "oblique" | "inherit" | RemoveAttribute;
2265
+ "font-variant"?: string | RemoveAttribute;
2266
+ "font-weight"?: number | string | RemoveAttribute;
2267
+ "glyph-orientation-horizontal"?: string | RemoveAttribute;
2268
+ "glyph-orientation-vertical"?: string | RemoveAttribute;
2269
+ "image-rendering"?: "auto" | "optimizeQuality" | "optimizeSpeed" | "inherit" | RemoveAttribute;
2270
+ "letter-spacing"?: number | string | RemoveAttribute;
2271
+ "lighting-color"?: string | RemoveAttribute;
2272
+ "marker-end"?: string | RemoveAttribute;
2273
+ "marker-mid"?: string | RemoveAttribute;
2274
+ "marker-start"?: string | RemoveAttribute;
2275
+ "pointer-events"?:
2276
+ | "bounding-box"
2277
+ | "visiblePainted"
2278
+ | "visibleFill"
2279
+ | "visibleStroke"
2280
+ | "visible"
2281
+ | "painted"
2282
+ | "color"
2283
+ | "fill"
2284
+ | "stroke"
2285
+ | "all"
2286
+ | "none"
2287
+ | "inherit"
2288
+ | RemoveAttribute;
2289
+ "shape-rendering"?:
2290
+ | "auto"
2291
+ | "optimizeSpeed"
2292
+ | "crispEdges"
2293
+ | "geometricPrecision"
2294
+ | "inherit"
2295
+ | RemoveAttribute;
2296
+ "stop-color"?: string | RemoveAttribute;
2297
+ "stop-opacity"?: number | string | "inherit" | RemoveAttribute;
2298
+ "stroke-dasharray"?: string | RemoveAttribute;
2299
+ "stroke-dashoffset"?: number | string | RemoveAttribute;
2300
+ "stroke-linecap"?: "butt" | "round" | "square" | "inherit" | RemoveAttribute;
2301
+ "stroke-linejoin"?:
2302
+ | "arcs"
2303
+ | "bevel"
2304
+ | "miter"
2305
+ | "miter-clip"
2306
+ | "round"
2307
+ | "inherit"
2308
+ | RemoveAttribute;
2309
+ "stroke-miterlimit"?: number | string | "inherit" | RemoveAttribute;
2310
+ "stroke-opacity"?: number | string | "inherit" | RemoveAttribute;
2311
+ "stroke-width"?: number | string | RemoveAttribute;
2312
+ "text-anchor"?: "start" | "middle" | "end" | "inherit" | RemoveAttribute;
2313
+ "text-decoration"?:
2314
+ | "none"
2315
+ | "underline"
2316
+ | "overline"
2317
+ | "line-through"
2318
+ | "blink"
2319
+ | "inherit"
2320
+ | RemoveAttribute;
2321
+ "text-rendering"?:
2322
+ | "auto"
2323
+ | "optimizeSpeed"
2324
+ | "optimizeLegibility"
2325
+ | "geometricPrecision"
2326
+ | "inherit"
2327
+ | RemoveAttribute;
2328
+ "unicode-bidi"?: string | RemoveAttribute;
2329
+ "word-spacing"?: number | string | RemoveAttribute;
2330
+ "writing-mode"?: "lr-tb" | "rl-tb" | "tb-rl" | "lr" | "rl" | "tb" | "inherit" | RemoveAttribute;
2331
+ clip?: string | RemoveAttribute;
2332
+ color?: string | RemoveAttribute;
2333
+ cursor?: string | RemoveAttribute;
2334
+ direction?: "ltr" | "rtl" | "inherit" | RemoveAttribute;
2335
+ display?: string | RemoveAttribute;
2336
+ fill?: string | RemoveAttribute;
2337
+ filter?: string | RemoveAttribute;
2338
+ kerning?: string | RemoveAttribute;
2339
+ mask?: string | RemoveAttribute;
2340
+ opacity?: number | string | "inherit" | RemoveAttribute;
2341
+ overflow?: "visible" | "hidden" | "scroll" | "auto" | "inherit" | RemoveAttribute;
2342
+ pathLength?: string | number | RemoveAttribute;
2343
+ stroke?: string | RemoveAttribute;
2344
+ visibility?: "visible" | "hidden" | "collapse" | "inherit" | RemoveAttribute;
2345
+ }
2346
+ interface AnimationElementSVGAttributes<T>
2347
+ extends SVGAttributes<T>, ExternalResourceSVGAttributes, ConditionalProcessingSVGAttributes {
2348
+ onBegin?: EventHandlerUnion<T, TimeEvent> | undefined;
2349
+ "on:begin"?: EventHandlerWithOptionsUnion<T, TimeEvent> | undefined;
2350
+
2351
+ onEnd?: EventHandlerUnion<T, TimeEvent> | undefined;
2352
+ "on:end"?: EventHandlerWithOptionsUnion<T, TimeEvent> | undefined;
2353
+
2354
+ onRepeat?: EventHandlerUnion<T, TimeEvent> | undefined;
2355
+ "on:repeat"?: EventHandlerWithOptionsUnion<T, TimeEvent> | undefined;
2356
+ }
2357
+ interface ContainerElementSVGAttributes<T>
2358
+ extends
2359
+ SVGAttributes<T>,
2360
+ ShapeElementSVGAttributes<T>,
2361
+ Pick<
2362
+ PresentationSVGAttributes,
2363
+ | "clip-path"
2364
+ | "mask"
2365
+ | "cursor"
2366
+ | "opacity"
2367
+ | "filter"
2368
+ | "enable-background"
2369
+ | "color-interpolation"
2370
+ | "color-rendering"
2371
+ > {}
2372
+ interface FilterPrimitiveElementSVGAttributes<T>
2373
+ extends SVGAttributes<T>, Pick<PresentationSVGAttributes, "color-interpolation-filters"> {
2374
+ height?: number | string | RemoveAttribute;
2375
+ result?: string | RemoveAttribute;
2376
+ width?: number | string | RemoveAttribute;
2377
+ x?: number | string | RemoveAttribute;
2378
+ y?: number | string | RemoveAttribute;
2379
+ }
2380
+ interface SingleInputFilterSVGAttributes {
2381
+ in?: string | RemoveAttribute;
2382
+ }
2383
+ interface DoubleInputFilterSVGAttributes {
2384
+ in?: string | RemoveAttribute;
2385
+ in2?: string | RemoveAttribute;
2386
+ }
2387
+ interface FitToViewBoxSVGAttributes {
2388
+ preserveAspectRatio?: SVGPreserveAspectRatio | RemoveAttribute;
2389
+ viewBox?: string | RemoveAttribute;
2390
+ }
2391
+ interface GradientElementSVGAttributes<T>
2392
+ extends SVGAttributes<T>, ExternalResourceSVGAttributes, StylableSVGAttributes {
2393
+ gradientTransform?: string | RemoveAttribute;
2394
+ gradientUnits?: SVGUnits | RemoveAttribute;
2395
+ href?: string | RemoveAttribute;
2396
+ spreadMethod?: "pad" | "reflect" | "repeat" | RemoveAttribute;
2397
+ }
2398
+ interface GraphicsElementSVGAttributes<T>
2399
+ extends
2400
+ SVGAttributes<T>,
2401
+ Pick<
2402
+ PresentationSVGAttributes,
2403
+ | "clip-rule"
2404
+ | "mask"
2405
+ | "pointer-events"
2406
+ | "cursor"
2407
+ | "opacity"
2408
+ | "filter"
2409
+ | "display"
2410
+ | "visibility"
2411
+ | "color-interpolation"
2412
+ | "color-rendering"
2413
+ > {}
2414
+ interface LightSourceElementSVGAttributes<T> extends SVGAttributes<T> {}
2415
+ interface NewViewportSVGAttributes<T>
2416
+ extends SVGAttributes<T>, Pick<PresentationSVGAttributes, "overflow" | "clip"> {
2417
+ viewBox?: string | RemoveAttribute;
2418
+ }
2419
+ interface ShapeElementSVGAttributes<T>
2420
+ extends
2421
+ SVGAttributes<T>,
2422
+ Pick<
2423
+ PresentationSVGAttributes,
2424
+ | "color"
2425
+ | "fill"
2426
+ | "fill-rule"
2427
+ | "fill-opacity"
2428
+ | "stroke"
2429
+ | "stroke-width"
2430
+ | "stroke-linecap"
2431
+ | "stroke-linejoin"
2432
+ | "stroke-miterlimit"
2433
+ | "stroke-dasharray"
2434
+ | "stroke-dashoffset"
2435
+ | "stroke-opacity"
2436
+ | "shape-rendering"
2437
+ | "pathLength"
2438
+ > {}
2439
+ interface TextContentElementSVGAttributes<T>
2440
+ extends
2441
+ SVGAttributes<T>,
2442
+ Pick<
2443
+ PresentationSVGAttributes,
2444
+ | "font-family"
2445
+ | "font-style"
2446
+ | "font-variant"
2447
+ | "font-weight"
2448
+ | "font-stretch"
2449
+ | "font-size"
2450
+ | "font-size-adjust"
2451
+ | "kerning"
2452
+ | "letter-spacing"
2453
+ | "word-spacing"
2454
+ | "text-decoration"
2455
+ | "glyph-orientation-horizontal"
2456
+ | "glyph-orientation-vertical"
2457
+ | "direction"
2458
+ | "unicode-bidi"
2459
+ | "text-anchor"
2460
+ | "dominant-baseline"
2461
+ | "color"
2462
+ | "fill"
2463
+ | "fill-rule"
2464
+ | "fill-opacity"
2465
+ | "stroke"
2466
+ | "stroke-width"
2467
+ | "stroke-linecap"
2468
+ | "stroke-linejoin"
2469
+ | "stroke-miterlimit"
2470
+ | "stroke-dasharray"
2471
+ | "stroke-dashoffset"
2472
+ | "stroke-opacity"
2473
+ > {}
2474
+ interface ZoomAndPanSVGAttributes {
2475
+ /**
2476
+ * @deprecated
2477
+ * @non-standard
2478
+ */
2479
+ zoomAndPan?: "disable" | "magnify" | RemoveAttribute;
2480
+ }
2481
+ interface AnimateSVGAttributes<T>
2482
+ extends
2483
+ AnimationElementSVGAttributes<T>,
2484
+ AnimationAttributeTargetSVGAttributes,
2485
+ AnimationTimingSVGAttributes,
2486
+ AnimationValueSVGAttributes,
2487
+ AnimationAdditionSVGAttributes,
2488
+ Pick<PresentationSVGAttributes, "color-interpolation" | "color-rendering"> {}
2489
+ interface AnimateMotionSVGAttributes<T>
2490
+ extends
2491
+ AnimationElementSVGAttributes<T>,
2492
+ AnimationTimingSVGAttributes,
2493
+ AnimationValueSVGAttributes,
2494
+ AnimationAdditionSVGAttributes {
2495
+ keyPoints?: string | RemoveAttribute;
2496
+ origin?: "default" | RemoveAttribute;
2497
+ path?: string | RemoveAttribute;
2498
+ rotate?: number | string | "auto" | "auto-reverse" | RemoveAttribute;
2499
+ }
2500
+ interface AnimateTransformSVGAttributes<T>
2501
+ extends
2502
+ AnimationElementSVGAttributes<T>,
2503
+ AnimationAttributeTargetSVGAttributes,
2504
+ AnimationTimingSVGAttributes,
2505
+ AnimationValueSVGAttributes,
2506
+ AnimationAdditionSVGAttributes {
2507
+ type?: "translate" | "scale" | "rotate" | "skewX" | "skewY" | RemoveAttribute;
2508
+ }
2509
+ interface CircleSVGAttributes<T>
2510
+ extends
2511
+ GraphicsElementSVGAttributes<T>,
2512
+ ShapeElementSVGAttributes<T>,
2513
+ ConditionalProcessingSVGAttributes,
2514
+ StylableSVGAttributes,
2515
+ TransformableSVGAttributes,
2516
+ Pick<PresentationSVGAttributes, "clip-path"> {
2517
+ cx?: number | string | RemoveAttribute;
2518
+ cy?: number | string | RemoveAttribute;
2519
+ r?: number | string | RemoveAttribute;
2520
+ }
2521
+ interface ClipPathSVGAttributes<T>
2522
+ extends
2523
+ SVGAttributes<T>,
2524
+ ConditionalProcessingSVGAttributes,
2525
+ ExternalResourceSVGAttributes,
2526
+ StylableSVGAttributes,
2527
+ TransformableSVGAttributes,
2528
+ Pick<PresentationSVGAttributes, "clip-path"> {
2529
+ clipPathUnits?: SVGUnits | RemoveAttribute;
2530
+ }
2531
+ interface DefsSVGAttributes<T>
2532
+ extends
2533
+ ContainerElementSVGAttributes<T>,
2534
+ ConditionalProcessingSVGAttributes,
2535
+ ExternalResourceSVGAttributes,
2536
+ StylableSVGAttributes,
2537
+ TransformableSVGAttributes {}
2538
+ interface DescSVGAttributes<T> extends SVGAttributes<T>, StylableSVGAttributes {}
2539
+ interface EllipseSVGAttributes<T>
2540
+ extends
2541
+ GraphicsElementSVGAttributes<T>,
2542
+ ShapeElementSVGAttributes<T>,
2543
+ ConditionalProcessingSVGAttributes,
2544
+ ExternalResourceSVGAttributes,
2545
+ StylableSVGAttributes,
2546
+ TransformableSVGAttributes,
2547
+ Pick<PresentationSVGAttributes, "clip-path"> {
2548
+ cx?: number | string | RemoveAttribute;
2549
+ cy?: number | string | RemoveAttribute;
2550
+ rx?: number | string | RemoveAttribute;
2551
+ ry?: number | string | RemoveAttribute;
2552
+ }
2553
+ interface FeBlendSVGAttributes<T>
2554
+ extends
2555
+ FilterPrimitiveElementSVGAttributes<T>,
2556
+ DoubleInputFilterSVGAttributes,
2557
+ StylableSVGAttributes {
2558
+ mode?: "normal" | "multiply" | "screen" | "darken" | "lighten" | RemoveAttribute;
2559
+ }
2560
+ interface FeColorMatrixSVGAttributes<T>
2561
+ extends
2562
+ FilterPrimitiveElementSVGAttributes<T>,
2563
+ SingleInputFilterSVGAttributes,
2564
+ StylableSVGAttributes {
2565
+ type?: "matrix" | "saturate" | "hueRotate" | "luminanceToAlpha" | RemoveAttribute;
2566
+ values?: string | RemoveAttribute;
2567
+ }
2568
+ interface FeComponentTransferSVGAttributes<T>
2569
+ extends
2570
+ FilterPrimitiveElementSVGAttributes<T>,
2571
+ SingleInputFilterSVGAttributes,
2572
+ StylableSVGAttributes {}
2573
+ interface FeCompositeSVGAttributes<T>
2574
+ extends
2575
+ FilterPrimitiveElementSVGAttributes<T>,
2576
+ DoubleInputFilterSVGAttributes,
2577
+ StylableSVGAttributes {
2578
+ k1?: number | string | RemoveAttribute;
2579
+ k2?: number | string | RemoveAttribute;
2580
+ k3?: number | string | RemoveAttribute;
2581
+ k4?: number | string | RemoveAttribute;
2582
+ operator?: "over" | "in" | "out" | "atop" | "xor" | "arithmetic" | RemoveAttribute;
2583
+ }
2584
+ interface FeConvolveMatrixSVGAttributes<T>
2585
+ extends
2586
+ FilterPrimitiveElementSVGAttributes<T>,
2587
+ SingleInputFilterSVGAttributes,
2588
+ StylableSVGAttributes {
2589
+ bias?: number | string | RemoveAttribute;
2590
+ divisor?: number | string | RemoveAttribute;
2591
+ edgeMode?: "duplicate" | "wrap" | "none" | RemoveAttribute;
2592
+ kernelMatrix?: string | RemoveAttribute;
2593
+ kernelUnitLength?: number | string | RemoveAttribute;
2594
+ order?: number | string | RemoveAttribute;
2595
+ preserveAlpha?: EnumeratedPseudoBoolean | RemoveAttribute;
2596
+ targetX?: number | string | RemoveAttribute;
2597
+ targetY?: number | string | RemoveAttribute;
2598
+ }
2599
+ interface FeDiffuseLightingSVGAttributes<T>
2600
+ extends
2601
+ FilterPrimitiveElementSVGAttributes<T>,
2602
+ SingleInputFilterSVGAttributes,
2603
+ StylableSVGAttributes,
2604
+ Pick<PresentationSVGAttributes, "color" | "lighting-color"> {
2605
+ diffuseConstant?: number | string | RemoveAttribute;
2606
+ kernelUnitLength?: number | string | RemoveAttribute;
2607
+ surfaceScale?: number | string | RemoveAttribute;
2608
+ }
2609
+ interface FeDisplacementMapSVGAttributes<T>
2610
+ extends
2611
+ FilterPrimitiveElementSVGAttributes<T>,
2612
+ DoubleInputFilterSVGAttributes,
2613
+ StylableSVGAttributes {
2614
+ scale?: number | string | RemoveAttribute;
2615
+ xChannelSelector?: "R" | "G" | "B" | "A" | RemoveAttribute;
2616
+ yChannelSelector?: "R" | "G" | "B" | "A" | RemoveAttribute;
2617
+ }
2618
+ interface FeDistantLightSVGAttributes<T> extends LightSourceElementSVGAttributes<T> {
2619
+ azimuth?: number | string | RemoveAttribute;
2620
+ elevation?: number | string | RemoveAttribute;
2621
+ }
2622
+ interface FeDropShadowSVGAttributes<T>
2623
+ extends
2624
+ SVGAttributes<T>,
2625
+ FilterPrimitiveElementSVGAttributes<T>,
2626
+ StylableSVGAttributes,
2627
+ Pick<PresentationSVGAttributes, "color" | "flood-color" | "flood-opacity"> {
2628
+ dx?: number | string | RemoveAttribute;
2629
+ dy?: number | string | RemoveAttribute;
2630
+ stdDeviation?: number | string | RemoveAttribute;
2631
+ }
2632
+ interface FeFloodSVGAttributes<T>
2633
+ extends
2634
+ FilterPrimitiveElementSVGAttributes<T>,
2635
+ StylableSVGAttributes,
2636
+ Pick<PresentationSVGAttributes, "color" | "flood-color" | "flood-opacity"> {}
2637
+ interface FeFuncSVGAttributes<T> extends SVGAttributes<T> {
2638
+ amplitude?: number | string | RemoveAttribute;
2639
+ exponent?: number | string | RemoveAttribute;
2640
+ intercept?: number | string | RemoveAttribute;
2641
+ offset?: number | string | RemoveAttribute;
2642
+ slope?: number | string | RemoveAttribute;
2643
+ tableValues?: string | RemoveAttribute;
2644
+ type?: "identity" | "table" | "discrete" | "linear" | "gamma" | RemoveAttribute;
2645
+ }
2646
+ interface FeGaussianBlurSVGAttributes<T>
2647
+ extends
2648
+ FilterPrimitiveElementSVGAttributes<T>,
2649
+ SingleInputFilterSVGAttributes,
2650
+ StylableSVGAttributes {
2651
+ stdDeviation?: number | string | RemoveAttribute;
2652
+ }
2653
+ interface FeImageSVGAttributes<T>
2654
+ extends
2655
+ FilterPrimitiveElementSVGAttributes<T>,
2656
+ ExternalResourceSVGAttributes,
2657
+ StylableSVGAttributes {
2658
+ href?: string | RemoveAttribute;
2659
+ preserveAspectRatio?: SVGPreserveAspectRatio | RemoveAttribute;
2660
+ }
2661
+ interface FeMergeSVGAttributes<T>
2662
+ extends FilterPrimitiveElementSVGAttributes<T>, StylableSVGAttributes {}
2663
+ interface FeMergeNodeSVGAttributes<T> extends SVGAttributes<T>, SingleInputFilterSVGAttributes {}
2664
+ interface FeMorphologySVGAttributes<T>
2665
+ extends
2666
+ FilterPrimitiveElementSVGAttributes<T>,
2667
+ SingleInputFilterSVGAttributes,
2668
+ StylableSVGAttributes {
2669
+ operator?: "erode" | "dilate" | RemoveAttribute;
2670
+ radius?: number | string | RemoveAttribute;
2671
+ }
2672
+ interface FeOffsetSVGAttributes<T>
2673
+ extends
2674
+ FilterPrimitiveElementSVGAttributes<T>,
2675
+ SingleInputFilterSVGAttributes,
2676
+ StylableSVGAttributes {
2677
+ dx?: number | string | RemoveAttribute;
2678
+ dy?: number | string | RemoveAttribute;
2679
+ }
2680
+ interface FePointLightSVGAttributes<T> extends LightSourceElementSVGAttributes<T> {
2681
+ x?: number | string | RemoveAttribute;
2682
+ y?: number | string | RemoveAttribute;
2683
+ z?: number | string | RemoveAttribute;
2684
+ }
2685
+ interface FeSpecularLightingSVGAttributes<T>
2686
+ extends
2687
+ FilterPrimitiveElementSVGAttributes<T>,
2688
+ SingleInputFilterSVGAttributes,
2689
+ StylableSVGAttributes,
2690
+ Pick<PresentationSVGAttributes, "color" | "lighting-color"> {
2691
+ kernelUnitLength?: number | string | RemoveAttribute;
2692
+ specularConstant?: string | RemoveAttribute;
2693
+ specularExponent?: string | RemoveAttribute;
2694
+ surfaceScale?: string | RemoveAttribute;
2695
+ }
2696
+ interface FeSpotLightSVGAttributes<T> extends LightSourceElementSVGAttributes<T> {
2697
+ limitingConeAngle?: number | string | RemoveAttribute;
2698
+ pointsAtX?: number | string | RemoveAttribute;
2699
+ pointsAtY?: number | string | RemoveAttribute;
2700
+ pointsAtZ?: number | string | RemoveAttribute;
2701
+ specularExponent?: number | string | RemoveAttribute;
2702
+ x?: number | string | RemoveAttribute;
2703
+ y?: number | string | RemoveAttribute;
2704
+ z?: number | string | RemoveAttribute;
2705
+ }
2706
+ interface FeTileSVGAttributes<T>
2707
+ extends
2708
+ FilterPrimitiveElementSVGAttributes<T>,
2709
+ SingleInputFilterSVGAttributes,
2710
+ StylableSVGAttributes {}
2711
+ interface FeTurbulanceSVGAttributes<T>
2712
+ extends FilterPrimitiveElementSVGAttributes<T>, StylableSVGAttributes {
2713
+ baseFrequency?: number | string | RemoveAttribute;
2714
+ numOctaves?: number | string | RemoveAttribute;
2715
+ seed?: number | string | RemoveAttribute;
2716
+ stitchTiles?: "stitch" | "noStitch" | RemoveAttribute;
2717
+ type?: "fractalNoise" | "turbulence" | RemoveAttribute;
2718
+ }
2719
+ interface FilterSVGAttributes<T>
2720
+ extends SVGAttributes<T>, ExternalResourceSVGAttributes, StylableSVGAttributes {
2721
+ filterRes?: number | string | RemoveAttribute;
2722
+ filterUnits?: SVGUnits | RemoveAttribute;
2723
+ height?: number | string | RemoveAttribute;
2724
+ primitiveUnits?: SVGUnits | RemoveAttribute;
2725
+ width?: number | string | RemoveAttribute;
2726
+ x?: number | string | RemoveAttribute;
2727
+ y?: number | string | RemoveAttribute;
2728
+ }
2729
+ interface ForeignObjectSVGAttributes<T>
2730
+ extends
2731
+ NewViewportSVGAttributes<T>,
2732
+ ConditionalProcessingSVGAttributes,
2733
+ ExternalResourceSVGAttributes,
2734
+ StylableSVGAttributes,
2735
+ TransformableSVGAttributes,
2736
+ Pick<PresentationSVGAttributes, "display" | "visibility"> {
2737
+ height?: number | string | RemoveAttribute;
2738
+ width?: number | string | RemoveAttribute;
2739
+ x?: number | string | RemoveAttribute;
2740
+ y?: number | string | RemoveAttribute;
2741
+ }
2742
+ interface GSVGAttributes<T>
2743
+ extends
2744
+ ContainerElementSVGAttributes<T>,
2745
+ ConditionalProcessingSVGAttributes,
2746
+ ExternalResourceSVGAttributes,
2747
+ StylableSVGAttributes,
2748
+ TransformableSVGAttributes,
2749
+ Pick<PresentationSVGAttributes, "clip-path" | "display" | "visibility"> {}
2750
+ interface ImageSVGAttributes<T>
2751
+ extends
2752
+ NewViewportSVGAttributes<T>,
2753
+ GraphicsElementSVGAttributes<T>,
2754
+ ConditionalProcessingSVGAttributes,
2755
+ StylableSVGAttributes,
2756
+ TransformableSVGAttributes,
2757
+ Pick<PresentationSVGAttributes, "clip-path" | "color-profile" | "image-rendering"> {
2758
+ height?: number | string | RemoveAttribute;
2759
+ href?: string | RemoveAttribute;
2760
+ preserveAspectRatio?: ImagePreserveAspectRatio | RemoveAttribute;
2761
+ width?: number | string | RemoveAttribute;
2762
+ x?: number | string | RemoveAttribute;
2763
+ y?: number | string | RemoveAttribute;
2764
+ }
2765
+ interface LineSVGAttributes<T>
2766
+ extends
2767
+ GraphicsElementSVGAttributes<T>,
2768
+ ShapeElementSVGAttributes<T>,
2769
+ ConditionalProcessingSVGAttributes,
2770
+ ExternalResourceSVGAttributes,
2771
+ StylableSVGAttributes,
2772
+ TransformableSVGAttributes,
2773
+ Pick<PresentationSVGAttributes, "clip-path" | "marker-start" | "marker-mid" | "marker-end"> {
2774
+ x1?: number | string | RemoveAttribute;
2775
+ x2?: number | string | RemoveAttribute;
2776
+ y1?: number | string | RemoveAttribute;
2777
+ y2?: number | string | RemoveAttribute;
2778
+ }
2779
+ interface LinearGradientSVGAttributes<T> extends GradientElementSVGAttributes<T> {
2780
+ x1?: number | string | RemoveAttribute;
2781
+ x2?: number | string | RemoveAttribute;
2782
+ y1?: number | string | RemoveAttribute;
2783
+ y2?: number | string | RemoveAttribute;
2784
+ }
2785
+ interface MarkerSVGAttributes<T>
2786
+ extends
2787
+ ContainerElementSVGAttributes<T>,
2788
+ ExternalResourceSVGAttributes,
2789
+ StylableSVGAttributes,
2790
+ FitToViewBoxSVGAttributes,
2791
+ Pick<PresentationSVGAttributes, "clip-path" | "overflow" | "clip"> {
2792
+ markerHeight?: number | string | RemoveAttribute;
2793
+ markerUnits?: "strokeWidth" | "userSpaceOnUse" | RemoveAttribute;
2794
+ markerWidth?: number | string | RemoveAttribute;
2795
+ orient?: string | RemoveAttribute;
2796
+ refX?: number | string | RemoveAttribute;
2797
+ refY?: number | string | RemoveAttribute;
2798
+ }
2799
+ interface MaskSVGAttributes<T>
2800
+ extends
2801
+ Omit<ContainerElementSVGAttributes<T>, "opacity" | "filter">,
2802
+ ConditionalProcessingSVGAttributes,
2803
+ ExternalResourceSVGAttributes,
2804
+ StylableSVGAttributes,
2805
+ Pick<PresentationSVGAttributes, "clip-path"> {
2806
+ height?: number | string | RemoveAttribute;
2807
+ maskContentUnits?: SVGUnits | RemoveAttribute;
2808
+ maskUnits?: SVGUnits | RemoveAttribute;
2809
+ width?: number | string | RemoveAttribute;
2810
+ x?: number | string | RemoveAttribute;
2811
+ y?: number | string | RemoveAttribute;
2812
+ }
2813
+ interface MetadataSVGAttributes<T> extends SVGAttributes<T> {}
2814
+ interface MPathSVGAttributes<T> extends SVGAttributes<T> {}
2815
+ interface PathSVGAttributes<T>
2816
+ extends
2817
+ GraphicsElementSVGAttributes<T>,
2818
+ ShapeElementSVGAttributes<T>,
2819
+ ConditionalProcessingSVGAttributes,
2820
+ ExternalResourceSVGAttributes,
2821
+ StylableSVGAttributes,
2822
+ TransformableSVGAttributes,
2823
+ Pick<PresentationSVGAttributes, "clip-path" | "marker-start" | "marker-mid" | "marker-end"> {
2824
+ d?: string | RemoveAttribute;
2825
+ pathLength?: number | string | RemoveAttribute;
2826
+ }
2827
+ interface PatternSVGAttributes<T>
2828
+ extends
2829
+ ContainerElementSVGAttributes<T>,
2830
+ ConditionalProcessingSVGAttributes,
2831
+ ExternalResourceSVGAttributes,
2832
+ StylableSVGAttributes,
2833
+ FitToViewBoxSVGAttributes,
2834
+ Pick<PresentationSVGAttributes, "clip-path" | "overflow" | "clip"> {
2835
+ height?: number | string | RemoveAttribute;
2836
+ href?: string | RemoveAttribute;
2837
+ patternContentUnits?: SVGUnits | RemoveAttribute;
2838
+ patternTransform?: string | RemoveAttribute;
2839
+ patternUnits?: SVGUnits | RemoveAttribute;
2840
+ width?: number | string | RemoveAttribute;
2841
+ x?: number | string | RemoveAttribute;
2842
+ y?: number | string | RemoveAttribute;
2843
+ }
2844
+ interface PolygonSVGAttributes<T>
2845
+ extends
2846
+ GraphicsElementSVGAttributes<T>,
2847
+ ShapeElementSVGAttributes<T>,
2848
+ ConditionalProcessingSVGAttributes,
2849
+ ExternalResourceSVGAttributes,
2850
+ StylableSVGAttributes,
2851
+ TransformableSVGAttributes,
2852
+ Pick<PresentationSVGAttributes, "clip-path" | "marker-start" | "marker-mid" | "marker-end"> {
2853
+ points?: string | RemoveAttribute;
2854
+ }
2855
+ interface PolylineSVGAttributes<T>
2856
+ extends
2857
+ GraphicsElementSVGAttributes<T>,
2858
+ ShapeElementSVGAttributes<T>,
2859
+ ConditionalProcessingSVGAttributes,
2860
+ ExternalResourceSVGAttributes,
2861
+ StylableSVGAttributes,
2862
+ TransformableSVGAttributes,
2863
+ Pick<PresentationSVGAttributes, "clip-path" | "marker-start" | "marker-mid" | "marker-end"> {
2864
+ points?: string | RemoveAttribute;
2865
+ }
2866
+ interface RadialGradientSVGAttributes<T> extends GradientElementSVGAttributes<T> {
2867
+ cx?: number | string | RemoveAttribute;
2868
+ cy?: number | string | RemoveAttribute;
2869
+ fx?: number | string | RemoveAttribute;
2870
+ fy?: number | string | RemoveAttribute;
2871
+ r?: number | string | RemoveAttribute;
2872
+ }
2873
+ interface RectSVGAttributes<T>
2874
+ extends
2875
+ GraphicsElementSVGAttributes<T>,
2876
+ ShapeElementSVGAttributes<T>,
2877
+ ConditionalProcessingSVGAttributes,
2878
+ ExternalResourceSVGAttributes,
2879
+ StylableSVGAttributes,
2880
+ TransformableSVGAttributes,
2881
+ Pick<PresentationSVGAttributes, "clip-path"> {
2882
+ height?: number | string | RemoveAttribute;
2883
+ rx?: number | string | RemoveAttribute;
2884
+ ry?: number | string | RemoveAttribute;
2885
+ width?: number | string | RemoveAttribute;
2886
+ x?: number | string | RemoveAttribute;
2887
+ y?: number | string | RemoveAttribute;
2888
+ }
2889
+ interface SetSVGAttributes<T>
2890
+ extends AnimationElementSVGAttributes<T>, StylableSVGAttributes, AnimationTimingSVGAttributes {}
2891
+ interface StopSVGAttributes<T>
2892
+ extends
2893
+ SVGAttributes<T>,
2894
+ StylableSVGAttributes,
2895
+ Pick<PresentationSVGAttributes, "color" | "stop-color" | "stop-opacity"> {
2896
+ offset?: number | string | RemoveAttribute;
2897
+ }
2898
+ interface SvgSVGAttributes<T>
2899
+ extends
2900
+ ContainerElementSVGAttributes<T>,
2901
+ NewViewportSVGAttributes<T>,
2902
+ ConditionalProcessingSVGAttributes,
2903
+ ExternalResourceSVGAttributes,
2904
+ StylableSVGAttributes,
2905
+ FitToViewBoxSVGAttributes,
2906
+ ZoomAndPanSVGAttributes,
2907
+ PresentationSVGAttributes,
2908
+ EventHandlersWindow<T> {
2909
+ "xmlns:xlink"?: string | RemoveAttribute;
2910
+ contentScriptType?: string | RemoveAttribute;
2911
+ contentStyleType?: string | RemoveAttribute;
2912
+ height?: number | string | RemoveAttribute;
2913
+ width?: number | string | RemoveAttribute;
2914
+ x?: number | string | RemoveAttribute;
2915
+ y?: number | string | RemoveAttribute;
2916
+
2917
+ /** @deprecated */
2918
+ baseProfile?: string | RemoveAttribute;
2919
+ /** @deprecated */
2920
+ version?: string | RemoveAttribute;
2921
+ }
2922
+ interface SwitchSVGAttributes<T>
2923
+ extends
2924
+ ContainerElementSVGAttributes<T>,
2925
+ ConditionalProcessingSVGAttributes,
2926
+ ExternalResourceSVGAttributes,
2927
+ StylableSVGAttributes,
2928
+ TransformableSVGAttributes,
2929
+ Pick<PresentationSVGAttributes, "display" | "visibility"> {}
2930
+ interface SymbolSVGAttributes<T>
2931
+ extends
2932
+ ContainerElementSVGAttributes<T>,
2933
+ NewViewportSVGAttributes<T>,
2934
+ ExternalResourceSVGAttributes,
2935
+ StylableSVGAttributes,
2936
+ FitToViewBoxSVGAttributes,
2937
+ Pick<PresentationSVGAttributes, "clip-path"> {
2938
+ height?: number | string | RemoveAttribute;
2939
+ preserveAspectRatio?: SVGPreserveAspectRatio | RemoveAttribute;
2940
+ refX?: number | string | RemoveAttribute;
2941
+ refY?: number | string | RemoveAttribute;
2942
+ viewBox?: string | RemoveAttribute;
2943
+ width?: number | string | RemoveAttribute;
2944
+ x?: number | string | RemoveAttribute;
2945
+ y?: number | string | RemoveAttribute;
2946
+ }
2947
+ interface TextSVGAttributes<T>
2948
+ extends
2949
+ TextContentElementSVGAttributes<T>,
2950
+ GraphicsElementSVGAttributes<T>,
2951
+ ConditionalProcessingSVGAttributes,
2952
+ ExternalResourceSVGAttributes,
2953
+ StylableSVGAttributes,
2954
+ TransformableSVGAttributes,
2955
+ Pick<PresentationSVGAttributes, "clip-path" | "writing-mode" | "text-rendering"> {
2956
+ dx?: number | string | RemoveAttribute;
2957
+ dy?: number | string | RemoveAttribute;
2958
+ lengthAdjust?: "spacing" | "spacingAndGlyphs" | RemoveAttribute;
2959
+ rotate?: number | string | RemoveAttribute;
2960
+ textLength?: number | string | RemoveAttribute;
2961
+ x?: number | string | RemoveAttribute;
2962
+ y?: number | string | RemoveAttribute;
2963
+ }
2964
+ interface TextPathSVGAttributes<T>
2965
+ extends
2966
+ TextContentElementSVGAttributes<T>,
2967
+ ConditionalProcessingSVGAttributes,
2968
+ ExternalResourceSVGAttributes,
2969
+ StylableSVGAttributes,
2970
+ Pick<
2971
+ PresentationSVGAttributes,
2972
+ "alignment-baseline" | "baseline-shift" | "display" | "visibility"
2973
+ > {
2974
+ href?: string | RemoveAttribute;
2975
+ method?: "align" | "stretch" | RemoveAttribute;
2976
+ spacing?: "auto" | "exact" | RemoveAttribute;
2977
+ startOffset?: number | string | RemoveAttribute;
2978
+ }
2979
+ interface TSpanSVGAttributes<T>
2980
+ extends
2981
+ TextContentElementSVGAttributes<T>,
2982
+ ConditionalProcessingSVGAttributes,
2983
+ ExternalResourceSVGAttributes,
2984
+ StylableSVGAttributes,
2985
+ Pick<
2986
+ PresentationSVGAttributes,
2987
+ "alignment-baseline" | "baseline-shift" | "display" | "visibility"
2988
+ > {
2989
+ dx?: number | string | RemoveAttribute;
2990
+ dy?: number | string | RemoveAttribute;
2991
+ lengthAdjust?: "spacing" | "spacingAndGlyphs" | RemoveAttribute;
2992
+ rotate?: number | string | RemoveAttribute;
2993
+ textLength?: number | string | RemoveAttribute;
2994
+ x?: number | string | RemoveAttribute;
2995
+ y?: number | string | RemoveAttribute;
2996
+ }
2997
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/use */
2998
+ interface UseSVGAttributes<T>
2999
+ extends
3000
+ SVGAttributes<T>,
3001
+ StylableSVGAttributes,
3002
+ ConditionalProcessingSVGAttributes,
3003
+ GraphicsElementSVGAttributes<T>,
3004
+ PresentationSVGAttributes,
3005
+ ExternalResourceSVGAttributes,
3006
+ TransformableSVGAttributes {
3007
+ height?: number | string | RemoveAttribute;
3008
+ href?: string | RemoveAttribute;
3009
+ width?: number | string | RemoveAttribute;
3010
+ x?: number | string | RemoveAttribute;
3011
+ y?: number | string | RemoveAttribute;
3012
+ }
3013
+ interface ViewSVGAttributes<T>
3014
+ extends
3015
+ SVGAttributes<T>,
3016
+ ExternalResourceSVGAttributes,
3017
+ FitToViewBoxSVGAttributes,
3018
+ ZoomAndPanSVGAttributes {
3019
+ viewTarget?: string | RemoveAttribute;
3020
+ }
3021
+
3022
+ // MATH
3023
+
3024
+ interface MathMLAnnotationElementAttributes<T> extends MathMLAttributes<T> {
3025
+ encoding?: string | RemoveAttribute;
3026
+
3027
+ /** @deprecated */
3028
+ src?: string | RemoveAttribute;
3029
+ }
3030
+ interface MathMLAnnotationXmlElementAttributes<T> extends MathMLAttributes<T> {
3031
+ encoding?: string | RemoveAttribute;
3032
+
3033
+ /** @deprecated */
3034
+ src?: string | RemoveAttribute;
3035
+ }
3036
+ interface MathMLMactionElementAttributes<T> extends MathMLAttributes<T> {
3037
+ /**
3038
+ * @deprecated
3039
+ * @non-standard
3040
+ */
3041
+ actiontype?: "statusline" | "toggle" | RemoveAttribute;
3042
+ /**
3043
+ * @deprecated
3044
+ * @non-standard
3045
+ */
3046
+ selection?: string | RemoveAttribute;
3047
+ }
3048
+ interface MathMLMathElementAttributes<T> extends MathMLAttributes<T> {
3049
+ display?: "block" | "inline" | RemoveAttribute;
3050
+ }
3051
+ interface MathMLMerrorElementAttributes<T> extends MathMLAttributes<T> {}
3052
+ interface MathMLMfracElementAttributes<T> extends MathMLAttributes<T> {
3053
+ linethickness?: string | RemoveAttribute;
3054
+
3055
+ /**
3056
+ * @deprecated
3057
+ * @non-standard
3058
+ */
3059
+ denomalign?: "center" | "left" | "right" | RemoveAttribute;
3060
+ /**
3061
+ * @deprecated
3062
+ * @non-standard
3063
+ */
3064
+ numalign?: "center" | "left" | "right" | RemoveAttribute;
3065
+ }
3066
+ interface MathMLMiElementAttributes<T> extends MathMLAttributes<T> {
3067
+ mathvariant?: "normal" | RemoveAttribute;
3068
+ }
3069
+
3070
+ interface MathMLMmultiscriptsElementAttributes<T> extends MathMLAttributes<T> {
3071
+ /**
3072
+ * @deprecated
3073
+ * @non-standard
3074
+ */
3075
+ subscriptshift?: string | RemoveAttribute;
3076
+ /**
3077
+ * @deprecated
3078
+ * @non-standard
3079
+ */
3080
+ superscriptshift?: string | RemoveAttribute;
3081
+ }
3082
+ interface MathMLMnElementAttributes<T> extends MathMLAttributes<T> {}
3083
+ interface MathMLMoElementAttributes<T> extends MathMLAttributes<T> {
3084
+ fence?: BooleanAttribute | RemoveAttribute;
3085
+ form?: "prefix" | "infix" | "postfix" | RemoveAttribute;
3086
+ largeop?: BooleanAttribute | RemoveAttribute;
3087
+ lspace?: string | RemoveAttribute;
3088
+ maxsize?: string | RemoveAttribute;
3089
+ minsize?: string | RemoveAttribute;
3090
+ movablelimits?: BooleanAttribute | RemoveAttribute;
3091
+ rspace?: string | RemoveAttribute;
3092
+ separator?: BooleanAttribute | RemoveAttribute;
3093
+ stretchy?: BooleanAttribute | RemoveAttribute;
3094
+ symmetric?: BooleanAttribute | RemoveAttribute;
3095
+
3096
+ /** @non-standard */
3097
+ accent?: BooleanAttribute | RemoveAttribute;
3098
+ }
3099
+ interface MathMLMoverElementAttributes<T> extends MathMLAttributes<T> {
3100
+ accent?: BooleanAttribute | RemoveAttribute;
3101
+ }
3102
+ interface MathMLMpaddedElementAttributes<T> extends MathMLAttributes<T> {
3103
+ depth?: string | RemoveAttribute;
3104
+ height?: string | RemoveAttribute;
3105
+ lspace?: string | RemoveAttribute;
3106
+ voffset?: string | RemoveAttribute;
3107
+ width?: string | RemoveAttribute;
3108
+ }
3109
+ interface MathMLMphantomElementAttributes<T> extends MathMLAttributes<T> {}
3110
+ interface MathMLMprescriptsElementAttributes<T> extends MathMLAttributes<T> {}
3111
+ interface MathMLMrootElementAttributes<T> extends MathMLAttributes<T> {}
3112
+ interface MathMLMrowElementAttributes<T> extends MathMLAttributes<T> {}
3113
+ interface MathMLMsElementAttributes<T> extends MathMLAttributes<T> {
3114
+ /** @deprecated */
3115
+ lquote?: string | RemoveAttribute;
3116
+ /** @deprecated */
3117
+ rquote?: string | RemoveAttribute;
3118
+ }
3119
+ interface MathMLMspaceElementAttributes<T> extends MathMLAttributes<T> {
3120
+ depth?: string | RemoveAttribute;
3121
+ height?: string | RemoveAttribute;
3122
+ width?: string | RemoveAttribute;
3123
+ }
3124
+ interface MathMLMsqrtElementAttributes<T> extends MathMLAttributes<T> {}
3125
+ interface MathMLMstyleElementAttributes<T> extends MathMLAttributes<T> {
3126
+ /**
3127
+ * @deprecated
3128
+ * @non-standard
3129
+ */
3130
+ background?: string | RemoveAttribute;
3131
+ /**
3132
+ * @deprecated
3133
+ * @non-standard
3134
+ */
3135
+ color?: string | RemoveAttribute;
3136
+ /**
3137
+ * @deprecated
3138
+ * @non-standard
3139
+ */
3140
+ fontsize?: string | RemoveAttribute;
3141
+ /**
3142
+ * @deprecated
3143
+ * @non-standard
3144
+ */
3145
+ fontstyle?: string | RemoveAttribute;
3146
+ /**
3147
+ * @deprecated
3148
+ * @non-standard
3149
+ */
3150
+ fontweight?: string | RemoveAttribute;
3151
+
3152
+ /** @deprecated */
3153
+ scriptminsize?: string | RemoveAttribute;
3154
+ /** @deprecated */
3155
+ scriptsizemultiplier?: string | RemoveAttribute;
3156
+ }
3157
+ interface MathMLMsubElementAttributes<T> extends MathMLAttributes<T> {
3158
+ /**
3159
+ * @deprecated
3160
+ * @non-standard
3161
+ */
3162
+ subscriptshift?: string | RemoveAttribute;
3163
+ }
3164
+ interface MathMLMsubsupElementAttributes<T> extends MathMLAttributes<T> {
3165
+ /**
3166
+ * @deprecated
3167
+ * @non-standard
3168
+ */
3169
+ subscriptshift?: string | RemoveAttribute;
3170
+ /**
3171
+ * @deprecated
3172
+ * @non-standard
3173
+ */
3174
+ superscriptshift?: string | RemoveAttribute;
3175
+ }
3176
+ interface MathMLMsupElementAttributes<T> extends MathMLAttributes<T> {
3177
+ /**
3178
+ * @deprecated
3179
+ * @non-standard
3180
+ */
3181
+ superscriptshift?: string | RemoveAttribute;
3182
+ }
3183
+ interface MathMLMtableElementAttributes<T> extends MathMLAttributes<T> {
3184
+ /** @non-standard */
3185
+ align?: "axis" | "baseline" | "bottom" | "center" | "top" | RemoveAttribute;
3186
+ /** @non-standard */
3187
+ columnalign?: "center" | "left" | "right" | RemoveAttribute;
3188
+ /** @non-standard */
3189
+ columnlines?: "dashed" | "none" | "solid" | RemoveAttribute;
3190
+ /** @non-standard */
3191
+ columnspacing?: string | RemoveAttribute;
3192
+ /** @non-standard */
3193
+ frame?: "dashed" | "none" | "solid" | RemoveAttribute;
3194
+ /** @non-standard */
3195
+ framespacing?: string | RemoveAttribute;
3196
+ /** @non-standard */
3197
+ rowalign?: "axis" | "baseline" | "bottom" | "center" | "top" | RemoveAttribute;
3198
+ /** @non-standard */
3199
+ rowlines?: "dashed" | "none" | "solid" | RemoveAttribute;
3200
+ /** @non-standard */
3201
+ rowspacing?: string | RemoveAttribute;
3202
+ /** @non-standard */
3203
+ width?: string | RemoveAttribute;
3204
+ }
3205
+ interface MathMLMtdElementAttributes<T> extends MathMLAttributes<T> {
3206
+ columnspan?: number | string | RemoveAttribute;
3207
+ rowspan?: number | string | RemoveAttribute;
3208
+ /** @non-standard */
3209
+ columnalign?: "center" | "left" | "right" | RemoveAttribute;
3210
+ /** @non-standard */
3211
+ rowalign?: "axis" | "baseline" | "bottom" | "center" | "top" | RemoveAttribute;
3212
+ }
3213
+ interface MathMLMtextElementAttributes<T> extends MathMLAttributes<T> {}
3214
+ interface MathMLMtrElementAttributes<T> extends MathMLAttributes<T> {
3215
+ /** @non-standard */
3216
+ columnalign?: "center" | "left" | "right" | RemoveAttribute;
3217
+ /** @non-standard */
3218
+ rowalign?: "axis" | "baseline" | "bottom" | "center" | "top" | RemoveAttribute;
3219
+ }
3220
+ interface MathMLMunderElementAttributes<T> extends MathMLAttributes<T> {
3221
+ accentunder?: BooleanAttribute | RemoveAttribute;
3222
+ }
3223
+ interface MathMLMunderoverElementAttributes<T> extends MathMLAttributes<T> {
3224
+ accent?: BooleanAttribute | RemoveAttribute;
3225
+ accentunder?: BooleanAttribute | RemoveAttribute;
3226
+ }
3227
+ interface MathMLSemanticsElementAttributes<T> extends MathMLAttributes<T> {}
3228
+
3229
+ interface MathMLMencloseElementAttributes<T> extends MathMLAttributes<T> {
3230
+ /** @non-standard */
3231
+ notation?: string | RemoveAttribute;
3232
+ }
3233
+ interface MathMLMfencedElementAttributes<T> extends MathMLAttributes<T> {
3234
+ close?: string | RemoveAttribute;
3235
+ open?: string | RemoveAttribute;
3236
+ separators?: string | RemoveAttribute;
3237
+ }
3238
+
3239
+ // TAGS
3240
+
3241
+ /** @type {HTMLElementTagNameMap} */
3242
+ interface HTMLElementTags {
3243
+ /**
3244
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a
3245
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement
3246
+ */
3247
+ a: AnchorHTMLAttributes<HTMLAnchorElement> & Properties<HTMLAnchorElement>;
3248
+ /**
3249
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/abbr
3250
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3251
+ */
3252
+ abbr: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3253
+ /**
3254
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/address
3255
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3256
+ */
3257
+ address: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3258
+ /**
3259
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/area
3260
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLAreaElement
3261
+ */
3262
+ area: AreaHTMLAttributes<HTMLAreaElement> & Properties<HTMLAreaElement>;
3263
+ /**
3264
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/article
3265
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3266
+ */
3267
+ article: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3268
+ /**
3269
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/aside
3270
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3271
+ */
3272
+ aside: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3273
+ /**
3274
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio
3275
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement
3276
+ */
3277
+ audio: AudioHTMLAttributes<HTMLAudioElement> & Properties<HTMLAudioElement>;
3278
+ /**
3279
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/b
3280
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3281
+ */
3282
+ b: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3283
+ /**
3284
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base
3285
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLBaseElement
3286
+ */
3287
+ base: BaseHTMLAttributes<HTMLBaseElement> & Properties<HTMLBaseElement>;
3288
+ /**
3289
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/bdi
3290
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3291
+ */
3292
+ bdi: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3293
+ /**
3294
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/bdo
3295
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3296
+ */
3297
+ bdo: BdoHTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3298
+ /**
3299
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/blockquote
3300
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLQuoteElement
3301
+ */
3302
+ blockquote: BlockquoteHTMLAttributes<HTMLQuoteElement> & Properties<HTMLQuoteElement>;
3303
+ /**
3304
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/body
3305
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLBodyElement
3306
+ */
3307
+ body: BodyHTMLAttributes<HTMLBodyElement> & Properties<HTMLBodyElement>;
3308
+ /**
3309
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/br
3310
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLBRElement
3311
+ */
3312
+ br: HTMLAttributes<HTMLBRElement> & Properties<HTMLBRElement>;
3313
+ /**
3314
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button
3315
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLButtonElement
3316
+ */
3317
+ button: ButtonHTMLAttributes<HTMLButtonElement> & Properties<HTMLButtonElement>;
3318
+ /**
3319
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas
3320
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement
3321
+ */
3322
+ canvas: CanvasHTMLAttributes<HTMLCanvasElement> & Properties<HTMLCanvasElement>;
3323
+ /**
3324
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/caption
3325
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableCaptionElement
3326
+ */
3327
+ caption: CaptionHTMLAttributes<HTMLTableCaptionElement> & Properties<HTMLTableCaptionElement>;
3328
+ /**
3329
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/cite
3330
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3331
+ */
3332
+ cite: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3333
+ /**
3334
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/code
3335
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3336
+ */
3337
+ code: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3338
+ /**
3339
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col
3340
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableColElement
3341
+ */
3342
+ col: ColHTMLAttributes<HTMLTableColElement> & Properties<HTMLTableColElement>;
3343
+ /**
3344
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/colgroup
3345
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableColElement
3346
+ */
3347
+ colgroup: ColgroupHTMLAttributes<HTMLTableColElement> & Properties<HTMLTableColElement>;
3348
+ /**
3349
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/data
3350
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLDataElement
3351
+ */
3352
+ data: DataHTMLAttributes<HTMLDataElement> & Properties<HTMLDataElement>;
3353
+ /**
3354
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/datalist
3355
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLDataListElement
3356
+ */
3357
+ datalist: HTMLAttributes<HTMLDataListElement> & Properties<HTMLDataListElement>;
3358
+ /**
3359
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dd
3360
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3361
+ */
3362
+ dd: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3363
+ /**
3364
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/del
3365
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLModElement
3366
+ */
3367
+ del: ModHTMLAttributes<HTMLModElement> & Properties<HTMLModElement>;
3368
+ /**
3369
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/details
3370
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLDetailsElement
3371
+ */
3372
+ details: DetailsHtmlAttributes<HTMLDetailsElement> & Properties<HTMLDetailsElement>;
3373
+ /**
3374
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dfn
3375
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3376
+ */
3377
+ dfn: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3378
+ /**
3379
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dialog
3380
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLDialogElement
3381
+ */
3382
+ dialog: DialogHtmlAttributes<HTMLDialogElement> & Properties<HTMLDialogElement>;
3383
+ /**
3384
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/div
3385
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLDivElement
3386
+ */
3387
+ div: HTMLAttributes<HTMLDivElement> & Properties<HTMLDivElement>;
3388
+ /**
3389
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dl
3390
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLDListElement
3391
+ */
3392
+ dl: HTMLAttributes<HTMLDListElement> & Properties<HTMLDListElement>;
3393
+ /**
3394
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dt
3395
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3396
+ */
3397
+ dt: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3398
+ /**
3399
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/em
3400
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3401
+ */
3402
+ em: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3403
+ /**
3404
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/embed
3405
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLEmbedElement
3406
+ */
3407
+ embed: EmbedHTMLAttributes<HTMLEmbedElement> & Properties<HTMLEmbedElement>;
3408
+ /**
3409
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/fieldset
3410
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLFieldSetElement
3411
+ */
3412
+ fieldset: FieldsetHTMLAttributes<HTMLFieldSetElement> & Properties<HTMLFieldSetElement>;
3413
+ /**
3414
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/figcaption
3415
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3416
+ */
3417
+ figcaption: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3418
+ /**
3419
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/figure
3420
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3421
+ */
3422
+ figure: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3423
+ /**
3424
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/footer
3425
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3426
+ */
3427
+ footer: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3428
+ /**
3429
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form
3430
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement
3431
+ */
3432
+ form: FormHTMLAttributes<HTMLFormElement> & Properties<HTMLFormElement>;
3433
+ /**
3434
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/h1
3435
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLHeadingElement
3436
+ */
3437
+ h1: HTMLAttributes<HTMLHeadingElement> & Properties<HTMLHeadingElement>;
3438
+ /**
3439
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/h2
3440
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLHeadingElement
3441
+ */
3442
+ h2: HTMLAttributes<HTMLHeadingElement> & Properties<HTMLHeadingElement>;
3443
+ /**
3444
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/h3
3445
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLHeadingElement
3446
+ */
3447
+ h3: HTMLAttributes<HTMLHeadingElement> & Properties<HTMLHeadingElement>;
3448
+ /**
3449
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/h4
3450
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLHeadingElement
3451
+ */
3452
+ h4: HTMLAttributes<HTMLHeadingElement> & Properties<HTMLHeadingElement>;
3453
+ /**
3454
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/h5
3455
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLHeadingElement
3456
+ */
3457
+ h5: HTMLAttributes<HTMLHeadingElement> & Properties<HTMLHeadingElement>;
3458
+ /**
3459
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/h6
3460
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLHeadingElement
3461
+ */
3462
+ h6: HTMLAttributes<HTMLHeadingElement> & Properties<HTMLHeadingElement>;
3463
+ /**
3464
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/head
3465
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLHeadElement
3466
+ */
3467
+ head: HTMLAttributes<HTMLHeadElement> & Properties<HTMLHeadElement>;
3468
+ /**
3469
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/header
3470
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3471
+ */
3472
+ header: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3473
+ /**
3474
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/hgroup
3475
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3476
+ */
3477
+ hgroup: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3478
+ /**
3479
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/hr
3480
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLHRElement
3481
+ */
3482
+ hr: HTMLAttributes<HTMLHRElement> & Properties<HTMLHRElement>;
3483
+ /**
3484
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/html
3485
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLHtmlElement
3486
+ */
3487
+ html: HTMLAttributes<HTMLHtmlElement> & Properties<HTMLHtmlElement>;
3488
+ /**
3489
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/i
3490
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3491
+ */
3492
+ i: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3493
+ /**
3494
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe
3495
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLIFrameElement
3496
+ */
3497
+ iframe: IframeHTMLAttributes<HTMLIFrameElement> & Properties<HTMLIFrameElement>;
3498
+ /**
3499
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img
3500
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement
3501
+ */
3502
+ img: ImgHTMLAttributes<HTMLImageElement> & Properties<HTMLImageElement>;
3503
+ /**
3504
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input
3505
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement
3506
+ */
3507
+ input: InputHTMLAttributes<HTMLInputElement> & Properties<HTMLInputElement>;
3508
+ /**
3509
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ins
3510
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLModElement
3511
+ */
3512
+ ins: ModHTMLAttributes<HTMLModElement> & Properties<HTMLModElement>;
3513
+ /**
3514
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/kbd
3515
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3516
+ */
3517
+ kbd: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3518
+ /**
3519
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/label
3520
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLLabelElement
3521
+ */
3522
+ label: LabelHTMLAttributes<HTMLLabelElement> & Properties<HTMLLabelElement>;
3523
+ /**
3524
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/legend
3525
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLLegendElement
3526
+ */
3527
+ legend: HTMLAttributes<HTMLLegendElement> & Properties<HTMLLegendElement>;
3528
+ /**
3529
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/li
3530
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLLIElement
3531
+ */
3532
+ li: LiHTMLAttributes<HTMLLIElement> & Properties<HTMLLIElement>;
3533
+ /**
3534
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link
3535
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLLinkElement
3536
+ */
3537
+ link: LinkHTMLAttributes<HTMLLinkElement> & Properties<HTMLLinkElement>;
3538
+ /**
3539
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/main
3540
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3541
+ */
3542
+ main: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3543
+ /**
3544
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/map
3545
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLMapElement
3546
+ */
3547
+ map: MapHTMLAttributes<HTMLMapElement> & Properties<HTMLMapElement>;
3548
+ /**
3549
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/mark
3550
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3551
+ */
3552
+ mark: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3553
+ /**
3554
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/menu
3555
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLMenuElement
3556
+ */
3557
+ menu: MenuHTMLAttributes<HTMLMenuElement> & Properties<HTMLMenuElement>;
3558
+ /**
3559
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta
3560
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLMetaElement
3561
+ */
3562
+ meta: MetaHTMLAttributes<HTMLMetaElement> & Properties<HTMLMetaElement>;
3563
+ /**
3564
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meter
3565
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLMeterElement
3566
+ */
3567
+ meter: MeterHTMLAttributes<HTMLMeterElement> & Properties<HTMLMeterElement>;
3568
+ /**
3569
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/nav
3570
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3571
+ */
3572
+ nav: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3573
+ /**
3574
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/noscript
3575
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3576
+ */
3577
+ noscript: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3578
+ /**
3579
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/object
3580
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLObjectElement
3581
+ */
3582
+ object: ObjectHTMLAttributes<HTMLObjectElement> & Properties<HTMLObjectElement>;
3583
+ /**
3584
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ol
3585
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLOListElement
3586
+ */
3587
+ ol: OlHTMLAttributes<HTMLOListElement> & Properties<HTMLOListElement>;
3588
+ /**
3589
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/optgroup
3590
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLOptGroupElement
3591
+ */
3592
+ optgroup: OptgroupHTMLAttributes<HTMLOptGroupElement> & Properties<HTMLOptGroupElement>;
3593
+ /**
3594
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option
3595
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLOptionElement
3596
+ */
3597
+ option: OptionHTMLAttributes<HTMLOptionElement> & Properties<HTMLOptionElement>;
3598
+ /**
3599
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/output
3600
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLOutputElement
3601
+ */
3602
+ output: OutputHTMLAttributes<HTMLOutputElement> & Properties<HTMLOutputElement>;
3603
+ /**
3604
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/p
3605
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLParagraphElement
3606
+ */
3607
+ p: HTMLAttributes<HTMLParagraphElement> & Properties<HTMLParagraphElement>;
3608
+ /**
3609
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture
3610
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLPictureElement
3611
+ */
3612
+ picture: HTMLAttributes<HTMLPictureElement> & Properties<HTMLPictureElement>;
3613
+ /**
3614
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/pre
3615
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLPreElement
3616
+ */
3617
+ pre: HTMLAttributes<HTMLPreElement> & Properties<HTMLPreElement>;
3618
+ /**
3619
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress
3620
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLProgressElement
3621
+ */
3622
+ progress: ProgressHTMLAttributes<HTMLProgressElement> & Properties<HTMLProgressElement>;
3623
+ /**
3624
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/q
3625
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLQuoteElement
3626
+ */
3627
+ q: QuoteHTMLAttributes<HTMLQuoteElement> & Properties<HTMLQuoteElement>;
3628
+ /**
3629
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/rp
3630
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3631
+ */
3632
+ rp: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3633
+ /**
3634
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/rt
3635
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3636
+ */
3637
+ rt: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3638
+ /**
3639
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ruby
3640
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3641
+ */
3642
+ ruby: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3643
+ /**
3644
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/s
3645
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3646
+ */
3647
+ s: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3648
+ /**
3649
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/samp
3650
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3651
+ */
3652
+ samp: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3653
+ /**
3654
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script
3655
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLScriptElement
3656
+ */
3657
+ script: ScriptHTMLAttributes<HTMLScriptElement> & Properties<HTMLScriptElement>;
3658
+ /**
3659
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/search
3660
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3661
+ */
3662
+ search: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3663
+ /**
3664
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/section
3665
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3666
+ */
3667
+ section: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3668
+ /**
3669
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select
3670
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement
3671
+ */
3672
+ select: SelectHTMLAttributes<HTMLSelectElement> & Properties<HTMLSelectElement>;
3673
+ /**
3674
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/slot
3675
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLSlotElement
3676
+ */
3677
+ slot: HTMLSlotElementAttributes<HTMLSlotElement> & Properties<HTMLSlotElement>;
3678
+ /**
3679
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/small
3680
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3681
+ */
3682
+ small: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3683
+ /**
3684
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source
3685
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLSourceElement
3686
+ */
3687
+ source: SourceHTMLAttributes<HTMLSourceElement> & Properties<HTMLSourceElement>;
3688
+ /**
3689
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/span
3690
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLSpanElement
3691
+ */
3692
+ span: HTMLAttributes<HTMLSpanElement> & Properties<HTMLSpanElement>;
3693
+ /**
3694
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/strong
3695
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3696
+ */
3697
+ strong: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3698
+ /**
3699
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/style
3700
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLStyleElement
3701
+ */
3702
+ style: StyleHTMLAttributes<HTMLStyleElement> & Properties<HTMLStyleElement>;
3703
+ /**
3704
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/sub
3705
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3706
+ */
3707
+ sub: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3708
+ /**
3709
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/summary
3710
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3711
+ */
3712
+ summary: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3713
+ /**
3714
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/sup
3715
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3716
+ */
3717
+ sup: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3718
+ /**
3719
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/table
3720
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement
3721
+ */
3722
+ table: HTMLAttributes<HTMLTableElement> & Properties<HTMLTableElement>;
3723
+ /**
3724
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tbody
3725
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableSectionElement
3726
+ */
3727
+ tbody: HTMLAttributes<HTMLTableSectionElement> & Properties<HTMLTableSectionElement>;
3728
+ /**
3729
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td
3730
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableCellElement
3731
+ */
3732
+ td: TdHTMLAttributes<HTMLTableCellElement> & Properties<HTMLTableCellElement>;
3733
+ /**
3734
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/template
3735
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTemplateElement
3736
+ */
3737
+ template: TemplateHTMLAttributes<HTMLTemplateElement> & Properties<HTMLTemplateElement>;
3738
+ /**
3739
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea
3740
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTextAreaElement
3741
+ */
3742
+ textarea: TextareaHTMLAttributes<HTMLTextAreaElement> & Properties<HTMLTextAreaElement>;
3743
+ /**
3744
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tfoot
3745
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableSectionElement
3746
+ */
3747
+ tfoot: HTMLAttributes<HTMLTableSectionElement> & Properties<HTMLTableSectionElement>;
3748
+ /**
3749
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th
3750
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableCellElement
3751
+ */
3752
+ th: ThHTMLAttributes<HTMLTableCellElement> & Properties<HTMLTableCellElement>;
3753
+ /**
3754
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/thead
3755
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableSectionElement
3756
+ */
3757
+ thead: HTMLAttributes<HTMLTableSectionElement> & Properties<HTMLTableSectionElement>;
3758
+ /**
3759
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/time
3760
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTimeElement
3761
+ */
3762
+ time: TimeHTMLAttributes<HTMLTimeElement> & Properties<HTMLTimeElement>;
3763
+ /**
3764
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/title
3765
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTitleElement
3766
+ */
3767
+ title: HTMLAttributes<HTMLTitleElement> & Properties<HTMLTitleElement>;
3768
+ /**
3769
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tr
3770
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableRowElement
3771
+ */
3772
+ tr: HTMLAttributes<HTMLTableRowElement> & Properties<HTMLTableRowElement>;
3773
+ /**
3774
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/track
3775
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTrackElement
3776
+ */
3777
+ track: TrackHTMLAttributes<HTMLTrackElement> & Properties<HTMLTrackElement>;
3778
+ /**
3779
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/u
3780
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3781
+ */
3782
+ u: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3783
+ /**
3784
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ul
3785
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLUListElement
3786
+ */
3787
+ ul: HTMLAttributes<HTMLUListElement> & Properties<HTMLUListElement>;
3788
+ /**
3789
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/var
3790
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3791
+ */
3792
+ var: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3793
+ /**
3794
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video
3795
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLVideoElement
3796
+ */
3797
+ video: VideoHTMLAttributes<HTMLVideoElement> & Properties<HTMLVideoElement>;
3798
+ /**
3799
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/wbr
3800
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3801
+ */
3802
+ wbr: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3803
+ /** @url https://www.electronjs.org/docs/latest/api/webview-tag */
3804
+ webview: WebViewHTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3805
+ }
3806
+ /** @type {HTMLElementDeprecatedTagNameMap} */
3807
+ interface HTMLElementDeprecatedTags {
3808
+ /**
3809
+ * @deprecated
3810
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/big
3811
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3812
+ */
3813
+ big: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3814
+ /**
3815
+ * @deprecated
3816
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/keygen
3817
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLUnknownElement
3818
+ */
3819
+ keygen: KeygenHTMLAttributes<HTMLUnknownElement> & Properties<HTMLUnknownElement>;
3820
+ /**
3821
+ * @deprecated
3822
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/menuitem
3823
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLUnknownElement
3824
+ */
3825
+ menuitem: HTMLAttributes<HTMLUnknownElement> & Properties<HTMLUnknownElement>;
3826
+ /**
3827
+ * @deprecated
3828
+ * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/param
3829
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLParamElement
3830
+ */
3831
+ param: ParamHTMLAttributes<HTMLParamElement> & Properties<HTMLParamElement>;
3832
+ }
3833
+ /** @type {SVGElementTagNameMap} */
3834
+ interface SVGElementTags {
3835
+ /**
3836
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/animate
3837
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGAnimateElement
3838
+ */
3839
+ animate: AnimateSVGAttributes<SVGAnimateElement> & Properties<SVGAnimateElement>;
3840
+ /**
3841
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/animateMotion
3842
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGAnimateMotionElement
3843
+ */
3844
+ animateMotion: AnimateMotionSVGAttributes<SVGAnimateMotionElement> &
3845
+ Properties<SVGAnimateMotionElement>;
3846
+ /**
3847
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/animateTransform
3848
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGAnimateTransformElement
3849
+ */
3850
+ animateTransform: AnimateTransformSVGAttributes<SVGAnimateTransformElement> &
3851
+ Properties<SVGAnimateTransformElement>;
3852
+ /**
3853
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/circle
3854
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGCircleElement
3855
+ */
3856
+ circle: CircleSVGAttributes<SVGCircleElement> & Properties<SVGCircleElement>;
3857
+ /**
3858
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/clipPath
3859
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGClipPathElement
3860
+ */
3861
+ clipPath: ClipPathSVGAttributes<SVGClipPathElement> & Properties<SVGClipPathElement>;
3862
+ /**
3863
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/defs
3864
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGDefsElement
3865
+ */
3866
+ defs: DefsSVGAttributes<SVGDefsElement> & Properties<SVGDefsElement>;
3867
+ /**
3868
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/desc
3869
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGDescElement
3870
+ */
3871
+ desc: DescSVGAttributes<SVGDescElement> & Properties<SVGDescElement>;
3872
+ /**
3873
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/ellipse
3874
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGEllipseElement
3875
+ */
3876
+ ellipse: EllipseSVGAttributes<SVGEllipseElement> & Properties<SVGEllipseElement>;
3877
+ /**
3878
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feBlend
3879
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEBlendElement
3880
+ */
3881
+ feBlend: FeBlendSVGAttributes<SVGFEBlendElement> & Properties<SVGFEBlendElement>;
3882
+ /**
3883
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feColorMatrix
3884
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEColorMatrixElement
3885
+ */
3886
+ feColorMatrix: FeColorMatrixSVGAttributes<SVGFEColorMatrixElement> &
3887
+ Properties<SVGFEColorMatrixElement>;
3888
+ /**
3889
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feComponentTransfer
3890
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEComponentTransferElemen
3891
+ */
3892
+ feComponentTransfer: FeComponentTransferSVGAttributes<SVGFEComponentTransferElement> &
3893
+ Properties<SVGFEComponentTransferElement>;
3894
+ /**
3895
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feComposite
3896
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFECompositeElement
3897
+ */
3898
+ feComposite: FeCompositeSVGAttributes<SVGFECompositeElement> &
3899
+ Properties<SVGFECompositeElement>;
3900
+ /**
3901
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feConvolveMatrix
3902
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEConvolveMatrixElement
3903
+ */
3904
+ feConvolveMatrix: FeConvolveMatrixSVGAttributes<SVGFEConvolveMatrixElement> &
3905
+ Properties<SVGFEConvolveMatrixElement>;
3906
+ /**
3907
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feDiffuseLighting
3908
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEDiffuseLightingElement
3909
+ */
3910
+ feDiffuseLighting: FeDiffuseLightingSVGAttributes<SVGFEDiffuseLightingElement> &
3911
+ Properties<SVGFEDiffuseLightingElement>;
3912
+ /**
3913
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feDisplacementMap
3914
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEDisplacementMapElement
3915
+ */
3916
+ feDisplacementMap: FeDisplacementMapSVGAttributes<SVGFEDisplacementMapElement> &
3917
+ Properties<SVGFEDisplacementMapElement>;
3918
+ /**
3919
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feDistantLight
3920
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEDistantLightElement
3921
+ */
3922
+ feDistantLight: FeDistantLightSVGAttributes<SVGFEDistantLightElement> &
3923
+ Properties<SVGFEDistantLightElement>;
3924
+ /**
3925
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feDropShadow
3926
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEDropShadowElement
3927
+ */
3928
+ feDropShadow: FeDropShadowSVGAttributes<SVGFEDropShadowElement> &
3929
+ Properties<SVGFEDropShadowElement>;
3930
+ /**
3931
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feFlood
3932
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEFloodElement
3933
+ */
3934
+ feFlood: FeFloodSVGAttributes<SVGFEFloodElement> & Properties<SVGFEFloodElement>;
3935
+ /**
3936
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feFuncA
3937
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEFuncAElement
3938
+ */
3939
+ feFuncA: FeFuncSVGAttributes<SVGFEFuncAElement> & Properties<SVGFEFuncAElement>;
3940
+ /**
3941
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feFuncB
3942
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEFuncBElement
3943
+ */
3944
+ feFuncB: FeFuncSVGAttributes<SVGFEFuncBElement> & Properties<SVGFEFuncBElement>;
3945
+ /**
3946
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feFuncG
3947
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEFuncGElement
3948
+ */
3949
+ feFuncG: FeFuncSVGAttributes<SVGFEFuncGElement> & Properties<SVGFEFuncGElement>;
3950
+ /**
3951
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feFuncR
3952
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEFuncRElement
3953
+ */
3954
+ feFuncR: FeFuncSVGAttributes<SVGFEFuncRElement> & Properties<SVGFEFuncRElement>;
3955
+ /**
3956
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feGaussianBlur
3957
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEGaussianBlurElement
3958
+ */
3959
+ feGaussianBlur: FeGaussianBlurSVGAttributes<SVGFEGaussianBlurElement> &
3960
+ Properties<SVGFEGaussianBlurElement>;
3961
+ /**
3962
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feImage
3963
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEImageElement
3964
+ */
3965
+ feImage: FeImageSVGAttributes<SVGFEImageElement> & Properties<SVGFEImageElement>;
3966
+ /**
3967
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feMerge
3968
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEMergeElement
3969
+ */
3970
+ feMerge: FeMergeSVGAttributes<SVGFEMergeElement> & Properties<SVGFEMergeElement>;
3971
+ /**
3972
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feMergeNode
3973
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEMergeNodeElement
3974
+ */
3975
+ feMergeNode: FeMergeNodeSVGAttributes<SVGFEMergeNodeElement> &
3976
+ Properties<SVGFEMergeNodeElement>;
3977
+ /**
3978
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feMorphology
3979
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEMorphologyElement
3980
+ */
3981
+ feMorphology: FeMorphologySVGAttributes<SVGFEMorphologyElement> &
3982
+ Properties<SVGFEMorphologyElement>;
3983
+ /**
3984
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feOffset
3985
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEOffsetElement
3986
+ */
3987
+ feOffset: FeOffsetSVGAttributes<SVGFEOffsetElement> & Properties<SVGFEOffsetElement>;
3988
+ /**
3989
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/fePointLight
3990
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEPointLightElement
3991
+ */
3992
+ fePointLight: FePointLightSVGAttributes<SVGFEPointLightElement> &
3993
+ Properties<SVGFEPointLightElement>;
3994
+ /**
3995
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feSpecularLighting
3996
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFESpecularLightingElement
3997
+ */
3998
+ feSpecularLighting: FeSpecularLightingSVGAttributes<SVGFESpecularLightingElement> &
3999
+ Properties<SVGFESpecularLightingElement>;
4000
+ /**
4001
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feSpotLight
4002
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFESpotLightElement
4003
+ */
4004
+ feSpotLight: FeSpotLightSVGAttributes<SVGFESpotLightElement> &
4005
+ Properties<SVGFESpotLightElement>;
4006
+ /**
4007
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feTile
4008
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFETileElement
4009
+ */
4010
+ feTile: FeTileSVGAttributes<SVGFETileElement> & Properties<SVGFETileElement>;
4011
+ /**
4012
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feTurbulence
4013
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFETurbulenceElement
4014
+ */
4015
+ feTurbulence: FeTurbulanceSVGAttributes<SVGFETurbulenceElement> &
4016
+ Properties<SVGFETurbulenceElement>;
4017
+ /**
4018
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/filter
4019
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFilterElement
4020
+ */
4021
+ filter: FilterSVGAttributes<SVGFilterElement> & Properties<SVGFilterElement>;
4022
+ /**
4023
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/foreignObject
4024
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGForeignObjectElement
4025
+ */
4026
+ foreignObject: ForeignObjectSVGAttributes<SVGForeignObjectElement> &
4027
+ Properties<SVGForeignObjectElement>;
4028
+ /**
4029
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/g
4030
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGGElement
4031
+ */
4032
+ g: GSVGAttributes<SVGGElement> & Properties<SVGGElement>;
4033
+ /**
4034
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/image
4035
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGImageElement
4036
+ */
4037
+ image: ImageSVGAttributes<SVGImageElement> & Properties<SVGImageElement>;
4038
+ /**
4039
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/line
4040
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGLineElement
4041
+ */
4042
+ line: LineSVGAttributes<SVGLineElement> & Properties<SVGLineElement>;
4043
+ /**
4044
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/linearGradient
4045
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGLinearGradientElement
4046
+ */
4047
+ linearGradient: LinearGradientSVGAttributes<SVGLinearGradientElement> &
4048
+ Properties<SVGLinearGradientElement>;
4049
+ /**
4050
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/marker
4051
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGMarkerElement
4052
+ */
4053
+ marker: MarkerSVGAttributes<SVGMarkerElement> & Properties<SVGMarkerElement>;
4054
+ /**
4055
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/mask
4056
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGMaskElement
4057
+ */
4058
+ mask: MaskSVGAttributes<SVGMaskElement> & Properties<SVGMaskElement>;
4059
+ /**
4060
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/metadata
4061
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGMetadataElement
4062
+ */
4063
+ metadata: MetadataSVGAttributes<SVGMetadataElement> & Properties<SVGMetadataElement>;
4064
+ /**
4065
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/mpath
4066
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGMPathElement
4067
+ */
4068
+ mpath: MPathSVGAttributes<SVGMPathElement> & Properties<SVGMPathElement>;
4069
+ /**
4070
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/path
4071
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGPathElement
4072
+ */
4073
+ path: PathSVGAttributes<SVGPathElement> & Properties<SVGPathElement>;
4074
+ /**
4075
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/pattern
4076
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGPatternElement
4077
+ */
4078
+ pattern: PatternSVGAttributes<SVGPatternElement> & Properties<SVGPatternElement>;
4079
+ /**
4080
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/polygon
4081
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGPolygonElement
4082
+ */
4083
+ polygon: PolygonSVGAttributes<SVGPolygonElement> & Properties<SVGPolygonElement>;
4084
+ /**
4085
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/polyline
4086
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGPolylineElement
4087
+ */
4088
+ polyline: PolylineSVGAttributes<SVGPolylineElement> & Properties<SVGPolylineElement>;
4089
+ /**
4090
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/radialGradient
4091
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGRadialGradientElement
4092
+ */
4093
+ radialGradient: RadialGradientSVGAttributes<SVGRadialGradientElement> &
4094
+ Properties<SVGRadialGradientElement>;
4095
+ /**
4096
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/rect
4097
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGRectElement
4098
+ */
4099
+ rect: RectSVGAttributes<SVGRectElement> & Properties<SVGRectElement>;
4100
+ /**
4101
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/set
4102
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGSetElement
4103
+ */
4104
+ set: SetSVGAttributes<SVGSetElement> & Properties<SVGSetElement>;
4105
+ /**
4106
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/stop
4107
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGStopElement
4108
+ */
4109
+ stop: StopSVGAttributes<SVGStopElement> & Properties<SVGStopElement>;
4110
+ /**
4111
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/svg
4112
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGSVGElement
4113
+ */
4114
+ svg: SvgSVGAttributes<SVGSVGElement> & Properties<SVGSVGElement>;
4115
+ /**
4116
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/switch
4117
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGSwitchElement
4118
+ */
4119
+ switch: SwitchSVGAttributes<SVGSwitchElement> & Properties<SVGSwitchElement>;
4120
+ /**
4121
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/symbol
4122
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGSymbolElement
4123
+ */
4124
+ symbol: SymbolSVGAttributes<SVGSymbolElement> & Properties<SVGSymbolElement>;
4125
+ /**
4126
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/text
4127
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGTextElement
4128
+ */
4129
+ text: TextSVGAttributes<SVGTextElement> & Properties<SVGTextElement>;
4130
+ /**
4131
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/textPath
4132
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGTextPathElement
4133
+ */
4134
+ textPath: TextPathSVGAttributes<SVGTextPathElement> & Properties<SVGTextPathElement>;
4135
+ /**
4136
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/tspan
4137
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGTSpanElement
4138
+ */
4139
+ tspan: TSpanSVGAttributes<SVGTSpanElement> & Properties<SVGTSpanElement>;
4140
+ /**
4141
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/use
4142
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGUseElement
4143
+ */
4144
+ use: UseSVGAttributes<SVGUseElement> & Properties<SVGUseElement>;
4145
+ /**
4146
+ * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/view
4147
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGViewElement
4148
+ */
4149
+ view: ViewSVGAttributes<SVGViewElement> & Properties<SVGViewElement>;
4150
+ }
4151
+
4152
+ interface MathMLElementTags {
4153
+ /**
4154
+ * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/annotation
4155
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4156
+ */
4157
+ annotation: MathMLAnnotationElementAttributes<MathMLElement> & Properties<MathMLElement>;
4158
+ /**
4159
+ * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/annotation-xml
4160
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4161
+ */
4162
+ "annotation-xml": MathMLAnnotationXmlElementAttributes<MathMLElement>;
4163
+ /**
4164
+ * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/math
4165
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4166
+ */
4167
+ math: MathMLMathElementAttributes<MathMLElement> & Properties<MathMLElement>;
4168
+ /**
4169
+ * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/merror
4170
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4171
+ */
4172
+ merror: MathMLMerrorElementAttributes<MathMLElement> & Properties<MathMLElement>;
4173
+ /**
4174
+ * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mfrac
4175
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4176
+ */
4177
+ mfrac: MathMLMfracElementAttributes<MathMLElement> & Properties<MathMLElement>;
4178
+ /**
4179
+ * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mi
4180
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4181
+ */
4182
+ mi: MathMLMiElementAttributes<MathMLElement> & Properties<MathMLElement>;
4183
+ /**
4184
+ * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mmultiscripts
4185
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4186
+ */
4187
+ mmultiscripts: MathMLMmultiscriptsElementAttributes<MathMLElement> & Properties<MathMLElement>;
4188
+ /**
4189
+ * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mn
4190
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4191
+ */
4192
+ mn: MathMLMnElementAttributes<MathMLElement> & Properties<MathMLElement>;
4193
+ /**
4194
+ * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mo
4195
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4196
+ */
4197
+ mo: MathMLMoElementAttributes<MathMLElement> & Properties<MathMLElement>;
4198
+ /**
4199
+ * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mover
4200
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4201
+ */
4202
+ mover: MathMLMoverElementAttributes<MathMLElement> & Properties<MathMLElement>;
4203
+ /**
4204
+ * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mpadded
4205
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4206
+ */
4207
+ mpadded: MathMLMpaddedElementAttributes<MathMLElement> & Properties<MathMLElement>;
4208
+ /**
4209
+ * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mphantom
4210
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4211
+ */
4212
+ mphantom: MathMLMphantomElementAttributes<MathMLElement> & Properties<MathMLElement>;
4213
+ /**
4214
+ * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mprescripts
4215
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4216
+ */
4217
+ mprescripts: MathMLMprescriptsElementAttributes<MathMLElement> & Properties<MathMLElement>;
4218
+ /**
4219
+ * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mroot
4220
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4221
+ */
4222
+ mroot: MathMLMrootElementAttributes<MathMLElement> & Properties<MathMLElement>;
4223
+ /**
4224
+ * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mrow
4225
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4226
+ */
4227
+ mrow: MathMLMrowElementAttributes<MathMLElement> & Properties<MathMLElement>;
4228
+ /**
4229
+ * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/ms
4230
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4231
+ */
4232
+ ms: MathMLMsElementAttributes<MathMLElement> & Properties<MathMLElement>;
4233
+ /**
4234
+ * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mspace
4235
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4236
+ */
4237
+ mspace: MathMLMspaceElementAttributes<MathMLElement> & Properties<MathMLElement>;
4238
+ /**
4239
+ * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msqrt
4240
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4241
+ */
4242
+ msqrt: MathMLMsqrtElementAttributes<MathMLElement> & Properties<MathMLElement>;
4243
+ /**
4244
+ * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle
4245
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4246
+ */
4247
+ mstyle: MathMLMstyleElementAttributes<MathMLElement> & Properties<MathMLElement>;
4248
+ /**
4249
+ * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msub
4250
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4251
+ */
4252
+ msub: MathMLMsubElementAttributes<MathMLElement> & Properties<MathMLElement>;
4253
+ /**
4254
+ * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msubsup
4255
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4256
+ */
4257
+ msubsup: MathMLMsubsupElementAttributes<MathMLElement> & Properties<MathMLElement>;
4258
+ /**
4259
+ * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msup
4260
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4261
+ */
4262
+ msup: MathMLMsupElementAttributes<MathMLElement> & Properties<MathMLElement>;
4263
+ /**
4264
+ * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable
4265
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4266
+ */
4267
+ mtable: MathMLMtableElementAttributes<MathMLElement> & Properties<MathMLElement>;
4268
+ /**
4269
+ * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtd
4270
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4271
+ */
4272
+ mtd: MathMLMtdElementAttributes<MathMLElement> & Properties<MathMLElement>;
4273
+ /**
4274
+ * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtext
4275
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4276
+ */
4277
+ mtext: MathMLMtextElementAttributes<MathMLElement> & Properties<MathMLElement>;
4278
+ /**
4279
+ * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtr
4280
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4281
+ */
4282
+ mtr: MathMLMtrElementAttributes<MathMLElement> & Properties<MathMLElement>;
4283
+ /**
4284
+ * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/munder
4285
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4286
+ */
4287
+ munder: MathMLMunderElementAttributes<MathMLElement> & Properties<MathMLElement>;
4288
+ /**
4289
+ * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/munderover
4290
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4291
+ */
4292
+ munderover: MathMLMunderoverElementAttributes<MathMLElement> & Properties<MathMLElement>;
4293
+ /**
4294
+ * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/semantics
4295
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4296
+ */
4297
+ semantics: MathMLSemanticsElementAttributes<MathMLElement> & Properties<MathMLElement>;
4298
+ /**
4299
+ * @non-standard
4300
+ * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/menclose
4301
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4302
+ */
4303
+ menclose: MathMLMencloseElementAttributes<MathMLElement> & Properties<MathMLElement>;
4304
+ /**
4305
+ * @deprecated
4306
+ * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/maction
4307
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4308
+ */
4309
+ maction: MathMLMactionElementAttributes<MathMLElement> & Properties<MathMLElement>;
4310
+ /**
4311
+ * @deprecated
4312
+ * @non-standard
4313
+ * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mfenced
4314
+ * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4315
+ */
4316
+ mfenced: MathMLMfencedElementAttributes<MathMLElement> & Properties<MathMLElement>;
4317
+ }
4318
+
4319
+ interface IntrinsicElements
4320
+ extends HTMLElementTags, HTMLElementDeprecatedTags, SVGElementTags, MathMLElementTags {}
4321
+ }