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