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