@solidjs/h 2.0.0-experimental.9 → 2.0.0-rc.0

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