@dom-expressions/runtime 0.50.0-next.15

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