@arcmantle/lit-jsx 1.0.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 (119) hide show
  1. package/README.md +768 -0
  2. package/dist/compiler/attribute-processor.d.ts +128 -0
  3. package/dist/compiler/attribute-processor.d.ts.map +1 -0
  4. package/dist/compiler/attribute-processor.js +380 -0
  5. package/dist/compiler/attribute-processor.js.map +1 -0
  6. package/dist/compiler/babel-preset.d.ts +6 -0
  7. package/dist/compiler/babel-preset.d.ts.map +1 -0
  8. package/dist/compiler/babel-preset.js +27 -0
  9. package/dist/compiler/babel-preset.js.map +1 -0
  10. package/dist/compiler/builder.d.ts +22 -0
  11. package/dist/compiler/builder.d.ts.map +1 -0
  12. package/dist/compiler/builder.js +62 -0
  13. package/dist/compiler/builder.js.map +1 -0
  14. package/dist/compiler/compiler-utils.d.ts +81 -0
  15. package/dist/compiler/compiler-utils.d.ts.map +1 -0
  16. package/dist/compiler/compiler-utils.js +410 -0
  17. package/dist/compiler/compiler-utils.js.map +1 -0
  18. package/dist/compiler/config.d.ts +77 -0
  19. package/dist/compiler/config.d.ts.map +1 -0
  20. package/dist/compiler/config.js +78 -0
  21. package/dist/compiler/config.js.map +1 -0
  22. package/dist/compiler/postprocess.d.ts +5 -0
  23. package/dist/compiler/postprocess.d.ts.map +1 -0
  24. package/dist/compiler/postprocess.js +3 -0
  25. package/dist/compiler/postprocess.js.map +1 -0
  26. package/dist/compiler/preprocess.d.ts +5 -0
  27. package/dist/compiler/preprocess.d.ts.map +1 -0
  28. package/dist/compiler/preprocess.js +28 -0
  29. package/dist/compiler/preprocess.js.map +1 -0
  30. package/dist/compiler/transform-jsx.d.ts +5 -0
  31. package/dist/compiler/transform-jsx.d.ts.map +1 -0
  32. package/dist/compiler/transform-jsx.js +25 -0
  33. package/dist/compiler/transform-jsx.js.map +1 -0
  34. package/dist/compiler/transpiler.d.ts +48 -0
  35. package/dist/compiler/transpiler.d.ts.map +1 -0
  36. package/dist/compiler/transpiler.js +463 -0
  37. package/dist/compiler/transpiler.js.map +1 -0
  38. package/dist/compiler/vite-plugin.d.ts +38 -0
  39. package/dist/compiler/vite-plugin.d.ts.map +1 -0
  40. package/dist/compiler/vite-plugin.js +96 -0
  41. package/dist/compiler/vite-plugin.js.map +1 -0
  42. package/dist/runtime/choose-component.d.ts +39 -0
  43. package/dist/runtime/choose-component.d.ts.map +1 -0
  44. package/dist/runtime/choose-component.js +40 -0
  45. package/dist/runtime/choose-component.js.map +1 -0
  46. package/dist/runtime/compiler-ctors.d.ts +21 -0
  47. package/dist/runtime/compiler-ctors.d.ts.map +1 -0
  48. package/dist/runtime/compiler-ctors.js +21 -0
  49. package/dist/runtime/compiler-ctors.js.map +1 -0
  50. package/dist/runtime/for-component.d.ts +25 -0
  51. package/dist/runtime/for-component.d.ts.map +1 -0
  52. package/dist/runtime/for-component.js +35 -0
  53. package/dist/runtime/for-component.js.map +1 -0
  54. package/dist/runtime/literal-map.d.ts +22 -0
  55. package/dist/runtime/literal-map.d.ts.map +1 -0
  56. package/dist/runtime/literal-map.js +29 -0
  57. package/dist/runtime/literal-map.js.map +1 -0
  58. package/dist/runtime/rest-directive.d.ts +28 -0
  59. package/dist/runtime/rest-directive.d.ts.map +1 -0
  60. package/dist/runtime/rest-directive.js +49 -0
  61. package/dist/runtime/rest-directive.js.map +1 -0
  62. package/dist/runtime/show-component.d.ts +33 -0
  63. package/dist/runtime/show-component.d.ts.map +1 -0
  64. package/dist/runtime/show-component.js +30 -0
  65. package/dist/runtime/show-component.js.map +1 -0
  66. package/dist/runtime/tagged-template.d.ts +12 -0
  67. package/dist/runtime/tagged-template.d.ts.map +1 -0
  68. package/dist/runtime/tagged-template.js +12 -0
  69. package/dist/runtime/tagged-template.js.map +1 -0
  70. package/dist/runtime/type-helpers.d.ts +80 -0
  71. package/dist/runtime/type-helpers.d.ts.map +1 -0
  72. package/dist/runtime/type-helpers.js +85 -0
  73. package/dist/runtime/type-helpers.js.map +1 -0
  74. package/dist/shared/jsx-types.d.ts +2139 -0
  75. package/dist/shared/jsx-types.d.ts.map +1 -0
  76. package/dist/shared/jsx-types.js +2 -0
  77. package/dist/shared/jsx-types.js.map +1 -0
  78. package/dist/shared/jsx-utils.d.ts +30 -0
  79. package/dist/shared/jsx-utils.d.ts.map +1 -0
  80. package/dist/shared/jsx-utils.js +58 -0
  81. package/dist/shared/jsx-utils.js.map +1 -0
  82. package/dist/shared/mathml-tags.d.ts +12 -0
  83. package/dist/shared/mathml-tags.d.ts.map +1 -0
  84. package/dist/shared/mathml-tags.js +215 -0
  85. package/dist/shared/mathml-tags.js.map +1 -0
  86. package/dist/shared/svg-tags.d.ts +13 -0
  87. package/dist/shared/svg-tags.d.ts.map +1 -0
  88. package/dist/shared/svg-tags.js +95 -0
  89. package/dist/shared/svg-tags.js.map +1 -0
  90. package/dist/utils.d.ts +30 -0
  91. package/dist/utils.d.ts.map +1 -0
  92. package/dist/utils.js +30 -0
  93. package/dist/utils.js.map +1 -0
  94. package/package.json +52 -0
  95. package/src/compiler/attribute-processor.ts +579 -0
  96. package/src/compiler/babel-preset.ts +34 -0
  97. package/src/compiler/builder.ts +86 -0
  98. package/src/compiler/compiler-utils.ts +789 -0
  99. package/src/compiler/config.ts +77 -0
  100. package/src/compiler/postprocess.ts +7 -0
  101. package/src/compiler/preprocess.ts +40 -0
  102. package/src/compiler/transform-jsx.ts +36 -0
  103. package/src/compiler/transpiler.ts +644 -0
  104. package/src/compiler/vite-plugin.ts +114 -0
  105. package/src/external.d.ts +9 -0
  106. package/src/runtime/choose-component.ts +53 -0
  107. package/src/runtime/compiler-ctors.ts +28 -0
  108. package/src/runtime/for-component.ts +54 -0
  109. package/src/runtime/literal-map.ts +37 -0
  110. package/src/runtime/rest-directive.ts +66 -0
  111. package/src/runtime/show-component.ts +48 -0
  112. package/src/runtime/tagged-template.ts +11 -0
  113. package/src/runtime/type-helpers.ts +91 -0
  114. package/src/shared/jsx-types.ts +2556 -0
  115. package/src/shared/jsx-utils.ts +85 -0
  116. package/src/shared/mathml-tags.ts +235 -0
  117. package/src/shared/svg-tags.ts +103 -0
  118. package/src/tsconfig.json +4 -0
  119. package/src/utils.ts +30 -0
@@ -0,0 +1,2556 @@
1
+ import type * as csstype from 'csstype';
2
+ import type { nothing, TemplateResult } from 'lit-html';
3
+ import type { DirectiveResult } from 'lit-html/async-directive.js';
4
+ import type { RefOrCallback } from 'lit-html/directives/ref.js';
5
+
6
+
7
+ /*
8
+ * Based on SolidJS JSX types
9
+ *
10
+ * Changed to support Lit-html
11
+ */
12
+
13
+ type DOMElement = Element;
14
+
15
+ type IfEquals<X, Y, A = X> =
16
+ (<T>() => T extends X ? 1 : 2) extends
17
+ (<T>() => T extends Y ? 1 : 2) ? A : never;
18
+ type WritableKeys<T> = {
19
+ [P in keyof T]-?: IfEquals<{ [Q in P]: T[P] }, { -readonly [Q in P]: T[P] }, P>
20
+ }[keyof T];
21
+ type TrimReadonly<T> = Pick<T, WritableKeys<T>>;
22
+ type ExcludeHTML<T extends object> = TrimReadonly<Omit<T, keyof HTMLElement | 'constructor'>>;
23
+
24
+
25
+ declare global {
26
+ namespace JSX {
27
+ type JSXElement = [
28
+ Generator,
29
+ DirectiveResult<any>,
30
+ typeof nothing,
31
+ TemplateResult<any>,
32
+ Node,
33
+ JSXElement[],
34
+ (string & {}),
35
+ number,
36
+ boolean,
37
+ null,
38
+ undefined,
39
+ unknown,
40
+ ][number];
41
+
42
+ type Element = TemplateResult<any>; // This is the return type of a JSX template
43
+ type ElementType = string | JSXElement;
44
+ interface ElementClass { /* empty, libs can define requirements downstream */ }
45
+ interface ElementAttributesProperty { /* empty, libs can define requirements downstream */ }
46
+ interface ElementChildrenAttribute { children: {}; }
47
+
48
+ type CanBeNothing<T extends object> = {
49
+ [K in keyof T]?:
50
+ T[K] | typeof nothing
51
+ | ((flag: void) => T[K] | typeof nothing);
52
+ };
53
+
54
+ type JSXProps<T extends object> = CanBeNothing<ExcludeHTML<T>>
55
+ & JSX.HTMLAttributes<T>
56
+ & {};
57
+
58
+ type EventHandler<T, E extends Event> = (e: E & {
59
+ currentTarget: T;
60
+ target: DOMElement;
61
+ }) => void;
62
+ interface BoundEventHandler<
63
+ T, E extends Event, EHandler extends EventHandler<T, any> = EventHandler<T, E>,
64
+ > {
65
+ 0: (data: any, ...e: Parameters<EHandler>) => void;
66
+ 1: any;
67
+ }
68
+ type EventHandlerUnion<T, E extends Event, EHandler extends EventHandler<T, any> = EventHandler<T, E>> =
69
+ EHandler | BoundEventHandler<T, E, EHandler>;
70
+
71
+ interface EventHandlerWithOptions<
72
+ T, E extends Event, EHandler = EventHandler<T, E>,
73
+ > extends AddEventListenerOptions {
74
+ handleEvent: EHandler;
75
+ }
76
+ type EventHandlerWithOptionsUnion<
77
+ T, E extends Event, EHandler extends EventHandler<T, any> = EventHandler<T, E>,
78
+ > = EHandler | EventHandlerWithOptions<T, E, EHandler>;
79
+ type InputEventHandler<T, E extends InputEvent> = (e: E & {
80
+ currentTarget: T;
81
+ target: T extends HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement ? T : DOMElement;
82
+ }) => void;
83
+ type InputEventHandlerUnion<T, E extends InputEvent> = EventHandlerUnion<T, E, InputEventHandler<T, E>>;
84
+ type ChangeEventHandler<T, E extends Event> = (e: E & {
85
+ currentTarget: T;
86
+ target: T extends HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement ? T : DOMElement;
87
+ }) => void;
88
+ type ChangeEventHandlerUnion<T, E extends Event> = EventHandlerUnion<T, E, ChangeEventHandler<T, E>>;
89
+ type FocusEventHandler<T, E extends FocusEvent> = (e: E & {
90
+ currentTarget: T;
91
+ target: T extends HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement ? T : DOMElement;
92
+ }) => void;
93
+ type FocusEventHandlerUnion<T, E extends FocusEvent> = EventHandlerUnion< T, E, FocusEventHandler<T, E>>;
94
+
95
+ const SERIALIZABLE: unique symbol;
96
+ interface SerializableAttributeValue {
97
+ toString(): string;
98
+ [SERIALIZABLE]: never;
99
+ }
100
+ interface CustomAttributes<T> extends
101
+ Partial<{
102
+ ref: RefOrCallback<T>;
103
+ classList: { [k: string]: boolean | undefined; };
104
+ styleList: CSSProperties;
105
+ /**
106
+ * This property takes in one or more element directives.\
107
+ * This is akin to applying a directive through `<div ${myDirective()}></div>`
108
+ */
109
+ directive: DirectiveResult<any> | DirectiveResult<any>[];
110
+ }> {}
111
+ interface CustomEvents {}
112
+ type OnAttributes<T> = {
113
+ [Key in keyof CustomEvents as `on-${ Key }`]?: EventHandlerWithOptionsUnion<T, CustomEvents[Key]>;
114
+ };
115
+ type ElementDirective = Partial<Record<`dir:${ string }`, DirectiveResult<any>>>;
116
+ interface DOMAttributes<T> extends
117
+ CustomAttributes<T>,
118
+ OnAttributes<T>,
119
+ ElementDirective,
120
+ CustomEventHandlersNamespaced<T>,
121
+ CanBeNothing<{
122
+ children: JSXElement;
123
+ innerHTML: string;
124
+ innerText: string | number;
125
+ textContent: string | number;
126
+ }> {}
127
+
128
+ interface CustomEventHandlersNamespaced<T> extends
129
+ Partial<{
130
+ 'on-copy': EventHandlerWithOptionsUnion<T, ClipboardEvent>;
131
+ 'on-cut': EventHandlerWithOptionsUnion<T, ClipboardEvent>;
132
+ 'on-paste': EventHandlerWithOptionsUnion<T, ClipboardEvent>;
133
+ 'on-compositionend': EventHandlerWithOptionsUnion<T, CompositionEvent>;
134
+ 'on-compositionstart': EventHandlerWithOptionsUnion<T, CompositionEvent>;
135
+ 'on-compositionupdate': EventHandlerWithOptionsUnion<T, CompositionEvent>;
136
+ 'on-focusout': EventHandlerWithOptionsUnion<T, FocusEvent, FocusEventHandler<T, FocusEvent>>;
137
+ 'on-focusin': EventHandlerWithOptionsUnion<T, FocusEvent, FocusEventHandler<T, FocusEvent>>;
138
+ 'on-encrypted': EventHandlerWithOptionsUnion<T, Event>;
139
+ 'on-dragexit': EventHandlerWithOptionsUnion<T, DragEvent>;
140
+ 'on-abort': EventHandlerWithOptionsUnion<T, Event>;
141
+ 'on-animationend': EventHandlerWithOptionsUnion<T, AnimationEvent>;
142
+ 'on-animationiteration': EventHandlerWithOptionsUnion<T, AnimationEvent>;
143
+ 'on-animationstart': EventHandlerWithOptionsUnion<T, AnimationEvent>;
144
+ 'on-auxclick': EventHandlerWithOptionsUnion<T, MouseEvent>;
145
+ 'on-beforeinput': EventHandlerWithOptionsUnion<T, InputEvent, InputEventHandler<T, InputEvent>>;
146
+ 'on-beforetoggle': EventHandlerWithOptionsUnion<T, ToggleEvent>;
147
+ 'on-blur': EventHandlerWithOptionsUnion<T, FocusEvent, FocusEventHandler<T, FocusEvent>>;
148
+ 'on-canplay': EventHandlerWithOptionsUnion<T, Event>;
149
+ 'on-canplaythrough': EventHandlerWithOptionsUnion<T, Event>;
150
+ 'on-change': EventHandlerWithOptionsUnion<T, Event, ChangeEventHandler<T, Event>>;
151
+ 'on-click': EventHandlerWithOptionsUnion<T, MouseEvent>;
152
+ 'on-contextmenu': EventHandlerWithOptionsUnion<T, MouseEvent>;
153
+ 'on-dblclick': EventHandlerWithOptionsUnion<T, MouseEvent>;
154
+ 'on-drag': EventHandlerWithOptionsUnion<T, DragEvent>;
155
+ 'on-dragend': EventHandlerWithOptionsUnion<T, DragEvent>;
156
+ 'on-dragenter': EventHandlerWithOptionsUnion<T, DragEvent>;
157
+ 'on-dragleave': EventHandlerWithOptionsUnion<T, DragEvent>;
158
+ 'on-dragover': EventHandlerWithOptionsUnion<T, DragEvent>;
159
+ 'on-dragstart': EventHandlerWithOptionsUnion<T, DragEvent>;
160
+ 'on-drop': EventHandlerWithOptionsUnion<T, DragEvent>;
161
+ 'on-durationchange': EventHandlerWithOptionsUnion<T, Event>;
162
+ 'on-emptied': EventHandlerWithOptionsUnion<T, Event>;
163
+ 'on-ended': EventHandlerWithOptionsUnion<T, Event>;
164
+ 'on-error': EventHandlerWithOptionsUnion<T, Event>;
165
+ 'on-focus': EventHandlerWithOptionsUnion<T, FocusEvent, FocusEventHandler<T, FocusEvent>>;
166
+ 'on-gotpointercapture': EventHandlerWithOptionsUnion<T, PointerEvent>;
167
+ 'on-input': EventHandlerWithOptionsUnion<T, InputEvent, InputEventHandler<T, InputEvent>>;
168
+ 'on-invalid': EventHandlerWithOptionsUnion<T, Event>;
169
+ 'on-keydown': EventHandlerWithOptionsUnion<T, KeyboardEvent>;
170
+ 'on-keypress': EventHandlerWithOptionsUnion<T, KeyboardEvent>;
171
+ 'on-keyup': EventHandlerWithOptionsUnion<T, KeyboardEvent>;
172
+ 'on-load': EventHandlerWithOptionsUnion<T, Event>;
173
+ 'on-loadeddata': EventHandlerWithOptionsUnion<T, Event>;
174
+ 'on-loadedmetadata': EventHandlerWithOptionsUnion<T, Event>;
175
+ 'on-loadstart': EventHandlerWithOptionsUnion<T, Event>;
176
+ 'on-lostpointercapture': EventHandlerWithOptionsUnion<T, PointerEvent>;
177
+ 'on-mousedown': EventHandlerWithOptionsUnion<T, MouseEvent>;
178
+ 'on-mouseenter': EventHandlerWithOptionsUnion<T, MouseEvent>;
179
+ 'on-mouseleave': EventHandlerWithOptionsUnion<T, MouseEvent>;
180
+ 'on-mousemove': EventHandlerWithOptionsUnion<T, MouseEvent>;
181
+ 'on-mouseout': EventHandlerWithOptionsUnion<T, MouseEvent>;
182
+ 'on-mouseover': EventHandlerWithOptionsUnion<T, MouseEvent>;
183
+ 'on-mouseup': EventHandlerWithOptionsUnion<T, MouseEvent>;
184
+ 'on-pause': EventHandlerWithOptionsUnion<T, Event>;
185
+ 'on-play': EventHandlerWithOptionsUnion<T, Event>;
186
+ 'on-playing': EventHandlerWithOptionsUnion<T, Event>;
187
+ 'on-pointercancel': EventHandlerWithOptionsUnion<T, PointerEvent>;
188
+ 'on-pointerdown': EventHandlerWithOptionsUnion<T, PointerEvent>;
189
+ 'on-pointerenter': EventHandlerWithOptionsUnion<T, PointerEvent>;
190
+ 'on-pointerleave': EventHandlerWithOptionsUnion<T, PointerEvent>;
191
+ 'on-pointermove': EventHandlerWithOptionsUnion<T, PointerEvent>;
192
+ 'on-pointerout': EventHandlerWithOptionsUnion<T, PointerEvent>;
193
+ 'on-pointerover': EventHandlerWithOptionsUnion<T, PointerEvent>;
194
+ 'on-pointerup': EventHandlerWithOptionsUnion<T, PointerEvent>;
195
+ 'on-progress': EventHandlerWithOptionsUnion<T, ProgressEvent>;
196
+ 'on-ratechange': EventHandlerWithOptionsUnion<T, Event>;
197
+ 'on-reset': EventHandlerWithOptionsUnion<T, Event>;
198
+ 'on-scroll': EventHandlerWithOptionsUnion<T, Event>;
199
+ 'on-scrollend': EventHandlerWithOptionsUnion<T, Event>;
200
+ 'on-seeked': EventHandlerWithOptionsUnion<T, Event>;
201
+ 'on-seeking': EventHandlerWithOptionsUnion<T, Event>;
202
+ 'on-select': EventHandlerWithOptionsUnion<T, Event>;
203
+ 'on-stalled': EventHandlerWithOptionsUnion<T, Event>;
204
+ 'on-submit': EventHandlerWithOptionsUnion<T, SubmitEvent>;
205
+ 'on-suspend': EventHandlerWithOptionsUnion<T, Event>;
206
+ 'on-timeupdate': EventHandlerWithOptionsUnion<T, Event>;
207
+ 'on-toggle': EventHandlerWithOptionsUnion<T, ToggleEvent>;
208
+ 'on-touchcancel': EventHandlerWithOptionsUnion<T, TouchEvent>;
209
+ 'on-touchend': EventHandlerWithOptionsUnion<T, TouchEvent>;
210
+ 'on-touchmove': EventHandlerWithOptionsUnion<T, TouchEvent>;
211
+ 'on-touchstart': EventHandlerWithOptionsUnion<T, TouchEvent>;
212
+ 'on-transitionstart': EventHandlerWithOptionsUnion<T, TransitionEvent>;
213
+ 'on-transitionend': EventHandlerWithOptionsUnion<T, TransitionEvent>;
214
+ 'on-transitionrun': EventHandlerWithOptionsUnion<T, TransitionEvent>;
215
+ 'on-transitioncancel': EventHandlerWithOptionsUnion<T, TransitionEvent>;
216
+ 'on-volumechange': EventHandlerWithOptionsUnion<T, Event>;
217
+ 'on-waiting': EventHandlerWithOptionsUnion<T, Event>;
218
+ 'on-wheel': EventHandlerWithOptionsUnion<T, WheelEvent>;
219
+ }> {}
220
+ interface CSSProperties extends
221
+ csstype.Properties { }
222
+ type HTMLAutocapitalize = [
223
+ 'off',
224
+ 'none',
225
+ 'on',
226
+ 'sentences',
227
+ 'words',
228
+ 'characters',
229
+ ][number];
230
+ type HTMLDir = [
231
+ 'ltr',
232
+ 'rtl',
233
+ 'auto',
234
+ ][number];
235
+ type HTMLFormEncType = [
236
+ 'application/x-www-form-urlencoded',
237
+ 'multipart/form-data',
238
+ 'text/plain',
239
+ ][number];
240
+ type HTMLFormMethod = [
241
+ 'post',
242
+ 'get',
243
+ 'dialog',
244
+ ][number];
245
+ type HTMLCrossorigin = [
246
+ 'anonymous',
247
+ 'use-credentials',
248
+ ('' & {})
249
+ ][number];
250
+ type HTMLReferrerPolicy = [
251
+ 'no-referrer',
252
+ 'no-referrer-when-downgrade',
253
+ 'origin',
254
+ 'origin-when-cross-origin',
255
+ 'same-origin',
256
+ 'strict-origin',
257
+ 'strict-origin-when-cross-origin',
258
+ 'unsafe-url',
259
+ ][number];
260
+ type HTMLIframeSandbox = [
261
+ 'allow-downloads-without-user-activation',
262
+ 'allow-downloads',
263
+ 'allow-forms',
264
+ 'allow-modals',
265
+ 'allow-orientation-lock',
266
+ 'allow-pointer-lock',
267
+ 'allow-popups',
268
+ 'allow-popups-to-escape-sandbox',
269
+ 'allow-presentation',
270
+ 'allow-same-origin',
271
+ 'allow-scripts',
272
+ 'allow-storage-access-by-user-activation',
273
+ 'allow-top-navigation',
274
+ 'allow-top-navigation-by-user-activation',
275
+ 'allow-top-navigation-to-custom-protocols',
276
+ ][number];
277
+ type HTMLLinkAs = [
278
+ 'audio',
279
+ 'document',
280
+ 'embed',
281
+ 'fetch',
282
+ 'font',
283
+ 'image',
284
+ 'object',
285
+ 'script',
286
+ 'style',
287
+ 'track',
288
+ 'video',
289
+ 'worker',
290
+ ][number];
291
+
292
+ // All the WAI-ARIA 1.1 attributes from https://www.w3.org/TR/wai-aria-1.1/
293
+ interface AriaAttributes extends
294
+ CanBeNothing<{
295
+ /**
296
+ * Identifies the currently active element when DOM focus is on a composite widget, textbox,
297
+ * group, or application.
298
+ */
299
+ 'aria-activedescendant': string;
300
+ /**
301
+ * Indicates whether assistive technologies will present all, or only parts of, the changed
302
+ * region based on the change notifications defined by the aria-relevant attribute.
303
+ */
304
+ 'aria-atomic': boolean | 'false' | 'true';
305
+ /**
306
+ * Indicates whether inputting text could trigger display of one or more predictions of the
307
+ * user's intended value for an input and specifies how predictions would be presented if they
308
+ * are made.
309
+ */
310
+ 'aria-autocomplete': 'none' | 'inline' | 'list' | 'both';
311
+ /**
312
+ * Indicates an element is being modified and that assistive technologies MAY want to wait until
313
+ * the modifications are complete before exposing them to the user.
314
+ */
315
+ 'aria-busy': boolean | 'false' | 'true';
316
+ /**
317
+ * Indicates the current "checked" state of checkboxes, radio buttons, and other widgets.
318
+ *
319
+ * @see aria-pressed @see aria-selected.
320
+ */
321
+ 'aria-checked': boolean | 'false' | 'mixed' | 'true';
322
+ /**
323
+ * Defines the total number of columns in a table, grid, or treegrid.
324
+ *
325
+ * @see aria-colindex.
326
+ */
327
+ 'aria-colcount': number | string;
328
+ /**
329
+ * Defines an element's column index or position with respect to the total number of columns
330
+ * within a table, grid, or treegrid.
331
+ *
332
+ * @see aria-colcount @see aria-colspan.
333
+ */
334
+ 'aria-colindex': number | string;
335
+ /**
336
+ * Defines the number of columns spanned by a cell or gridcell within a table, grid, or
337
+ * treegrid.
338
+ *
339
+ * @see aria-colindex @see aria-rowspan.
340
+ */
341
+ 'aria-colspan': number | string;
342
+ /**
343
+ * Identifies the element (or elements) whose contents or presence are controlled by the current
344
+ * element.
345
+ *
346
+ * @see aria-owns.
347
+ */
348
+ 'aria-controls': string;
349
+ /**
350
+ * Indicates the element that represents the current item within a container or set of related
351
+ * elements.
352
+ */
353
+ 'aria-current':
354
+ | boolean
355
+ | 'false'
356
+ | 'true'
357
+ | 'page'
358
+ | 'step'
359
+ | 'location'
360
+ | 'date'
361
+ | 'time'
362
+ | undefined;
363
+ /**
364
+ * Identifies the element (or elements) that describes the object.
365
+ *
366
+ * @see aria-labelledby
367
+ */
368
+ 'aria-describedby': string;
369
+ /**
370
+ * Identifies the element that provides a detailed, extended description for the object.
371
+ *
372
+ * @see aria-describedby.
373
+ */
374
+ 'aria-details': string;
375
+ /**
376
+ * Indicates that the element is perceivable but disabled, so it is not editable or otherwise
377
+ * operable.
378
+ *
379
+ * @see aria-hidden @see aria-readonly.
380
+ */
381
+ 'aria-disabled': boolean | 'false' | 'true';
382
+ /**
383
+ * Indicates what functions can be performed when a dragged object is released on the drop
384
+ * target.
385
+ *
386
+ * @deprecated In ARIA 1.1
387
+ */
388
+ 'aria-dropeffect': 'none' | 'copy' | 'execute' | 'link' | 'move' | 'popup';
389
+ /**
390
+ * Identifies the element that provides an error message for the object.
391
+ *
392
+ * @see aria-invalid @see aria-describedby.
393
+ */
394
+ 'aria-errormessage': string;
395
+ /**
396
+ * Indicates whether the element, or another grouping element it controls, is currently expanded
397
+ * or collapsed.
398
+ */
399
+ 'aria-expanded': boolean | 'false' | 'true';
400
+ /**
401
+ * Identifies the next element (or elements) in an alternate reading order of content which, at
402
+ * the user's discretion, allows assistive technology to override the general default of reading
403
+ * in document source order.
404
+ */
405
+ 'aria-flowto': string;
406
+ /**
407
+ * Indicates an element's "grabbed" state in a drag-and-drop operation.
408
+ *
409
+ * @deprecated In ARIA 1.1
410
+ */
411
+ 'aria-grabbed': boolean | 'false' | 'true';
412
+ /**
413
+ * Indicates the availability and type of interactive popup element, such as menu or dialog,
414
+ * that can be triggered by an element.
415
+ */
416
+ 'aria-haspopup':
417
+ | boolean
418
+ | 'false'
419
+ | 'true'
420
+ | 'menu'
421
+ | 'listbox'
422
+ | 'tree'
423
+ | 'grid'
424
+ | 'dialog'
425
+ | undefined;
426
+ /**
427
+ * Indicates whether the element is exposed to an accessibility API.
428
+ *
429
+ * @see aria-disabled.
430
+ */
431
+ 'aria-hidden': boolean | 'false' | 'true';
432
+ /**
433
+ * Indicates the entered value does not conform to the format expected by the application.
434
+ *
435
+ * @see aria-errormessage.
436
+ */
437
+ 'aria-invalid': boolean | 'false' | 'true' | 'grammar' | 'spelling';
438
+ /**
439
+ * Indicates keyboard shortcuts that an author has implemented to activate or give focus to an
440
+ * element.
441
+ */
442
+ 'aria-keyshortcuts': string;
443
+ /**
444
+ * Defines a string value that labels the current element.
445
+ *
446
+ * @see aria-labelledby.
447
+ */
448
+ 'aria-label': string;
449
+ /**
450
+ * Identifies the element (or elements) that labels the current element.
451
+ *
452
+ * @see aria-describedby.
453
+ */
454
+ 'aria-labelledby': string;
455
+ /** Defines the hierarchical level of an element within a structure. */
456
+ 'aria-level': number | string;
457
+ /**
458
+ * Indicates that an element will be updated, and describes the types of updates the user
459
+ * agents, assistive technologies, and user can expect from the live region.
460
+ */
461
+ 'aria-live': 'off' | 'assertive' | 'polite';
462
+ /** Indicates whether an element is modal when displayed. */
463
+ 'aria-modal': boolean | 'false' | 'true';
464
+ /** Indicates whether a text box accepts multiple lines of input or only a single line. */
465
+ 'aria-multiline': boolean | 'false' | 'true';
466
+ /**
467
+ * Indicates that the user may select more than one item from the current selectable
468
+ * descendants.
469
+ */
470
+ 'aria-multiselectable': boolean | 'false' | 'true';
471
+ /** Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous. */
472
+ 'aria-orientation': 'horizontal' | 'vertical';
473
+ /**
474
+ * Identifies an element (or elements) in order to define a visual, functional, or contextual
475
+ * parent/child relationship between DOM elements where the DOM hierarchy cannot be used to
476
+ * represent the relationship.
477
+ *
478
+ * @see aria-controls.
479
+ */
480
+ 'aria-owns': string;
481
+ /**
482
+ * Defines a short hint (a word or short phrase) intended to aid the user with data entry when
483
+ * the control has no value. A hint could be a sample value or a brief description of the
484
+ * expected format.
485
+ */
486
+ 'aria-placeholder': string;
487
+ /**
488
+ * Defines an element's number or position in the current set of listitems or treeitems. Not
489
+ * required if all elements in the set are present in the DOM.
490
+ *
491
+ * @see aria-setsize.
492
+ */
493
+ 'aria-posinset': number | string;
494
+ /**
495
+ * Indicates the current "pressed" state of toggle buttons.
496
+ *
497
+ * @see aria-checked @see aria-selected.
498
+ */
499
+ 'aria-pressed': boolean | 'false' | 'mixed' | 'true';
500
+ /**
501
+ * Indicates that the element is not editable, but is otherwise operable.
502
+ *
503
+ * @see aria-disabled.
504
+ */
505
+ 'aria-readonly': boolean | 'false' | 'true';
506
+ /**
507
+ * Indicates what notifications the user agent will trigger when the accessibility tree within a
508
+ * live region is modified.
509
+ *
510
+ * @see aria-atomic.
511
+ */
512
+ 'aria-relevant':
513
+ | 'additions'
514
+ | 'additions removals'
515
+ | 'additions text'
516
+ | 'all'
517
+ | 'removals'
518
+ | 'removals additions'
519
+ | 'removals text'
520
+ | 'text'
521
+ | 'text additions'
522
+ | 'text removals'
523
+ | undefined;
524
+ /** Indicates that user input is required on the element before a form may be submitted. */
525
+ 'aria-required': boolean | 'false' | 'true';
526
+ /** Defines a human-readable, author-localized description for the role of an element. */
527
+ 'aria-roledescription': string;
528
+ /**
529
+ * Defines the total number of rows in a table, grid, or treegrid.
530
+ *
531
+ * @see aria-rowindex.
532
+ */
533
+ 'aria-rowcount': number | string;
534
+ /**
535
+ * Defines an element's row index or position with respect to the total number of rows within a
536
+ * table, grid, or treegrid.
537
+ *
538
+ * @see aria-rowcount @see aria-rowspan.
539
+ */
540
+ 'aria-rowindex': number | string;
541
+ /**
542
+ * Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid.
543
+ *
544
+ * @see aria-rowindex @see aria-colspan.
545
+ */
546
+ 'aria-rowspan': number | string;
547
+ /**
548
+ * Indicates the current "selected" state of various widgets.
549
+ *
550
+ * @see aria-checked @see aria-pressed.
551
+ */
552
+ 'aria-selected': boolean | 'false' | 'true';
553
+ /**
554
+ * Defines the number of items in the current set of listitems or treeitems. Not required if all
555
+ * elements in the set are present in the DOM.
556
+ *
557
+ * @see aria-posinset.
558
+ */
559
+ 'aria-setsize': number | string;
560
+ /** Indicates if items in a table or grid are sorted in ascending or descending order. */
561
+ 'aria-sort': 'none' | 'ascending' | 'descending' | 'other';
562
+ /** Defines the maximum allowed value for a range widget. */
563
+ 'aria-valuemax': number | string;
564
+ /** Defines the minimum allowed value for a range widget. */
565
+ 'aria-valuemin': number | string;
566
+ /**
567
+ * Defines the current value for a range widget.
568
+ *
569
+ * @see aria-valuetext.
570
+ */
571
+ 'aria-valuenow': number | string;
572
+ /** Defines the human readable text alternative of aria-valuenow for a range widget. */
573
+ 'aria-valuetext': string;
574
+ role:
575
+ | 'alert'
576
+ | 'alertdialog'
577
+ | 'application'
578
+ | 'article'
579
+ | 'banner'
580
+ | 'button'
581
+ | 'cell'
582
+ | 'checkbox'
583
+ | 'columnheader'
584
+ | 'combobox'
585
+ | 'complementary'
586
+ | 'contentinfo'
587
+ | 'definition'
588
+ | 'dialog'
589
+ | 'directory'
590
+ | 'document'
591
+ | 'feed'
592
+ | 'figure'
593
+ | 'form'
594
+ | 'grid'
595
+ | 'gridcell'
596
+ | 'group'
597
+ | 'heading'
598
+ | 'img'
599
+ | 'link'
600
+ | 'list'
601
+ | 'listbox'
602
+ | 'listitem'
603
+ | 'log'
604
+ | 'main'
605
+ | 'marquee'
606
+ | 'math'
607
+ | 'menu'
608
+ | 'menubar'
609
+ | 'menuitem'
610
+ | 'menuitemcheckbox'
611
+ | 'menuitemradio'
612
+ | 'meter'
613
+ | 'navigation'
614
+ | 'none'
615
+ | 'note'
616
+ | 'option'
617
+ | 'presentation'
618
+ | 'progressbar'
619
+ | 'radio'
620
+ | 'radiogroup'
621
+ | 'region'
622
+ | 'row'
623
+ | 'rowgroup'
624
+ | 'rowheader'
625
+ | 'scrollbar'
626
+ | 'search'
627
+ | 'searchbox'
628
+ | 'separator'
629
+ | 'slider'
630
+ | 'spinbutton'
631
+ | 'status'
632
+ | 'switch'
633
+ | 'tab'
634
+ | 'table'
635
+ | 'tablist'
636
+ | 'tabpanel'
637
+ | 'term'
638
+ | 'textbox'
639
+ | 'timer'
640
+ | 'toolbar'
641
+ | 'tooltip'
642
+ | 'tree'
643
+ | 'treegrid'
644
+ | 'treeitem';
645
+ }> {}
646
+ interface HTMLAttributes<T> extends
647
+ AriaAttributes,
648
+ DOMAttributes<T>,
649
+ CanBeNothing<{
650
+ accessKey: string;
651
+ class: string;
652
+ contenteditable: boolean | 'plaintext-only' | 'inherit';
653
+ contextmenu: string;
654
+ dir: HTMLDir;
655
+ draggable: boolean | 'false' | 'true';
656
+ hidden: boolean | 'hidden' | 'until-found';
657
+ id: string;
658
+ is: string;
659
+ inert: boolean;
660
+ lang: string;
661
+ spellcheck: boolean;
662
+ style: string;
663
+ tabindex: number | string;
664
+ title: string;
665
+ translate: 'yes' | 'no';
666
+ about: string;
667
+ datatype: string;
668
+ inlist: any;
669
+ popover: boolean | 'manual' | 'auto';
670
+ prefix: string;
671
+ property: string;
672
+ resource: string;
673
+ typeof: string;
674
+ vocab: string;
675
+ autocapitalize: HTMLAutocapitalize;
676
+ slot: string;
677
+ color: string;
678
+ itemprop: string;
679
+ itemscope: boolean;
680
+ itemtype: string;
681
+ itemid: string;
682
+ itemref: string;
683
+ part: string;
684
+ exportparts: string;
685
+ inputmode:
686
+ | 'none'
687
+ | 'text'
688
+ | 'tel'
689
+ | 'url'
690
+ | 'email'
691
+ | 'numeric'
692
+ | 'decimal'
693
+ | 'search';
694
+ contentEditable: boolean | 'plaintext-only' | 'inherit';
695
+ contextMenu: string;
696
+ tabIndex: number | string;
697
+ autoCapitalize: HTMLAutocapitalize;
698
+ itemProp: string;
699
+ itemScope: boolean;
700
+ itemType: string;
701
+ itemId: string;
702
+ itemRef: string;
703
+ exportParts: string;
704
+ inputMode:
705
+ | 'none'
706
+ | 'text'
707
+ | 'tel'
708
+ | 'url'
709
+ | 'email'
710
+ | 'numeric'
711
+ | 'decimal'
712
+ | 'search';
713
+ }> {}
714
+ interface AnchorHTMLAttributes<T> extends
715
+ HTMLAttributes<T>,
716
+ CanBeNothing<{
717
+ download: any;
718
+ href: string;
719
+ hreflang: string;
720
+ media: string;
721
+ ping: string;
722
+ referrerpolicy: HTMLReferrerPolicy;
723
+ rel: string;
724
+ target: string;
725
+ type: string;
726
+ referrerPolicy: HTMLReferrerPolicy;
727
+ }> {}
728
+ interface AudioHTMLAttributes<T> extends
729
+ MediaHTMLAttributes<T> {}
730
+ interface AreaHTMLAttributes<T> extends
731
+ HTMLAttributes<T>,
732
+ CanBeNothing<{
733
+ alt: string;
734
+ coords: string;
735
+ download: any;
736
+ href: string;
737
+ hreflang: string;
738
+ ping: string;
739
+ referrerpolicy: HTMLReferrerPolicy;
740
+ rel: string;
741
+ shape: 'rect' | 'circle' | 'poly' | 'default';
742
+ target: string;
743
+ referrerPolicy: HTMLReferrerPolicy;
744
+ }> {}
745
+ interface BaseHTMLAttributes<T> extends
746
+ HTMLAttributes<T>,
747
+ CanBeNothing<{
748
+ href: string;
749
+ target: string;
750
+ }> {}
751
+ interface BlockquoteHTMLAttributes<T> extends
752
+ HTMLAttributes<T>,
753
+ CanBeNothing<{
754
+ cite: string;
755
+ }> {}
756
+ interface ButtonHTMLAttributes<T> extends
757
+ HTMLAttributes<T>,
758
+ CanBeNothing<{
759
+ autofocus: boolean;
760
+ disabled: boolean;
761
+ form: string;
762
+ formaction: string | SerializableAttributeValue;
763
+ formenctype: HTMLFormEncType;
764
+ formmethod: HTMLFormMethod;
765
+ formnovalidate: boolean;
766
+ formtarget: string;
767
+ popovertarget: string;
768
+ popovertargetaction: 'hide' | 'show' | 'toggle';
769
+ name: string;
770
+ type: 'submit' | 'reset' | 'button';
771
+ value: string;
772
+ formAction: string | SerializableAttributeValue;
773
+ formEnctype: HTMLFormEncType;
774
+ formMethod: HTMLFormMethod;
775
+ formNoValidate: boolean;
776
+ formTarget: string;
777
+ popoverTarget: string;
778
+ popoverTargetAction: 'hide' | 'show' | 'toggle';
779
+ }> {}
780
+ interface CanvasHTMLAttributes<T> extends
781
+ HTMLAttributes<T>,
782
+ CanBeNothing<{
783
+ width: number | string;
784
+ height: number | string;
785
+ }> {}
786
+ interface ColHTMLAttributes<T> extends
787
+ HTMLAttributes<T>,
788
+ CanBeNothing<{
789
+ span: number | string;
790
+ width: number | string;
791
+ }> {}
792
+ interface ColgroupHTMLAttributes<T> extends
793
+ HTMLAttributes<T>,
794
+ CanBeNothing<{
795
+ span: number | string;
796
+ }> {}
797
+ interface DataHTMLAttributes<T> extends
798
+ HTMLAttributes<T>,
799
+ CanBeNothing<{
800
+ value: string | string[] | number;
801
+ }> {}
802
+ interface DetailsHtmlAttributes<T> extends
803
+ HTMLAttributes<T>,
804
+ CanBeNothing<{
805
+ open: boolean;
806
+ }> {}
807
+ interface DialogHtmlAttributes<T> extends
808
+ HTMLAttributes<T>,
809
+ CanBeNothing<{
810
+ open: boolean;
811
+ onClose: EventHandlerUnion<T, Event>;
812
+ onCancel: EventHandlerUnion<T, Event>;
813
+ }> {}
814
+ interface EmbedHTMLAttributes<T> extends
815
+ HTMLAttributes<T>,
816
+ CanBeNothing<{
817
+ height: number | string;
818
+ width: number | string;
819
+ src: string;
820
+ type: string;
821
+ }> {}
822
+ interface FieldsetHTMLAttributes<T> extends
823
+ HTMLAttributes<T>,
824
+ CanBeNothing<{
825
+ disabled: boolean;
826
+ form: string;
827
+ name: string;
828
+ }> {}
829
+ interface FormHTMLAttributes<T> extends
830
+ HTMLAttributes<T>,
831
+ CanBeNothing<{
832
+ 'accept-charset': string;
833
+ action: string | SerializableAttributeValue;
834
+ autocomplete: string;
835
+ encoding: HTMLFormEncType;
836
+ enctype: HTMLFormEncType;
837
+ method: HTMLFormMethod;
838
+ name: string;
839
+ novalidate: boolean;
840
+ target: string;
841
+ noValidate: boolean;
842
+ }> {}
843
+ interface IframeHTMLAttributes<T> extends
844
+ HTMLAttributes<T>,
845
+ CanBeNothing<{
846
+ allow: string;
847
+ allowfullscreen: boolean;
848
+ height: number | string;
849
+ loading: 'eager' | 'lazy';
850
+ name: string;
851
+ referrerpolicy: HTMLReferrerPolicy;
852
+ sandbox: HTMLIframeSandbox | string;
853
+ src: string;
854
+ srcdoc: string;
855
+ width: number | string;
856
+ referrerPolicy: HTMLReferrerPolicy;
857
+ }> {}
858
+ interface ImgHTMLAttributes<T> extends
859
+ HTMLAttributes<T>,
860
+ CanBeNothing<{
861
+ alt: string;
862
+ crossorigin: HTMLCrossorigin;
863
+ decoding: 'sync' | 'async' | 'auto';
864
+ height: number | string;
865
+ ismap: boolean;
866
+ isMap: boolean;
867
+ loading: 'eager' | 'lazy';
868
+ referrerpolicy: HTMLReferrerPolicy;
869
+ referrerPolicy: HTMLReferrerPolicy;
870
+ sizes: string;
871
+ src: string;
872
+ srcset: string;
873
+ srcSet: string;
874
+ usemap: string;
875
+ useMap: string;
876
+ width: number | string;
877
+ crossOrigin: HTMLCrossorigin;
878
+ elementtiming: string;
879
+ fetchpriority: 'high' | 'low' | 'auto';
880
+ }> {}
881
+ interface InputHTMLAttributes<T> extends
882
+ HTMLAttributes<T>,
883
+ CanBeNothing<{
884
+ accept: string;
885
+ alt: string;
886
+ autocomplete: string;
887
+ autocorrect: 'on' | 'off';
888
+ autofocus: boolean;
889
+ capture: boolean | string;
890
+ checked: boolean;
891
+ crossorigin: HTMLCrossorigin;
892
+ disabled: boolean;
893
+ enterkeyhint: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send';
894
+ form: string;
895
+ formaction: string | SerializableAttributeValue;
896
+ formenctype: HTMLFormEncType;
897
+ formmethod: HTMLFormMethod;
898
+ formnovalidate: boolean;
899
+ formtarget: string;
900
+ height: number | string;
901
+ incremental: boolean;
902
+ list: string;
903
+ max: number | string;
904
+ maxlength: number | string;
905
+ min: number | string;
906
+ minlength: number | string;
907
+ multiple: boolean;
908
+ name: string;
909
+ pattern: string;
910
+ placeholder: string;
911
+ readonly: boolean;
912
+ results: number;
913
+ required: boolean;
914
+ size: number | string;
915
+ src: string;
916
+ step: number | string;
917
+ type: string;
918
+ value: string | string[] | number;
919
+ width: number | string;
920
+ crossOrigin: HTMLCrossorigin;
921
+ formAction: string | SerializableAttributeValue;
922
+ formEnctype: HTMLFormEncType;
923
+ formMethod: HTMLFormMethod;
924
+ formNoValidate: boolean;
925
+ formTarget: string;
926
+ maxLength: number | string;
927
+ minLength: number | string;
928
+ readOnly: boolean;
929
+ }> {}
930
+ interface InsHTMLAttributes<T> extends
931
+ HTMLAttributes<T>,
932
+ CanBeNothing<{
933
+ cite: string;
934
+ dateTime: string;
935
+ }> {}
936
+ interface KeygenHTMLAttributes<T> extends
937
+ HTMLAttributes<T>,
938
+ CanBeNothing<{
939
+ autofocus: boolean;
940
+ challenge: string;
941
+ disabled: boolean;
942
+ form: string;
943
+ keytype: string;
944
+ keyparams: string;
945
+ name: string;
946
+ }> {}
947
+ interface LabelHTMLAttributes<T> extends
948
+ HTMLAttributes<T>,
949
+ CanBeNothing<{
950
+ for: string;
951
+ form: string;
952
+ }> {}
953
+ interface LiHTMLAttributes<T> extends
954
+ HTMLAttributes<T>,
955
+ CanBeNothing<{
956
+ value: number | string;
957
+ }> {}
958
+ interface LinkHTMLAttributes<T> extends
959
+ HTMLAttributes<T>,
960
+ CanBeNothing<{
961
+ as: HTMLLinkAs;
962
+ crossorigin: HTMLCrossorigin;
963
+ disabled: boolean;
964
+ fetchpriority: 'high' | 'low' | 'auto';
965
+ href: string;
966
+ hreflang: string;
967
+ imagesizes: string;
968
+ imagesrcset: string;
969
+ integrity: string;
970
+ media: string;
971
+ referrerpolicy: HTMLReferrerPolicy;
972
+ rel: string;
973
+ sizes: string;
974
+ type: string;
975
+ crossOrigin: HTMLCrossorigin;
976
+ referrerPolicy: HTMLReferrerPolicy;
977
+ }> {}
978
+ interface MapHTMLAttributes<T> extends
979
+ HTMLAttributes<T>,
980
+ CanBeNothing<{
981
+ name: string;
982
+ }> {}
983
+ interface MediaHTMLAttributes<T> extends
984
+ HTMLAttributes<T>,
985
+ CanBeNothing<{
986
+ autoplay: boolean;
987
+ controls: boolean;
988
+ crossorigin: HTMLCrossorigin;
989
+ loop: boolean;
990
+ mediagroup: string;
991
+ muted: boolean;
992
+ preload: 'none' | 'metadata' | 'auto' | '';
993
+ src: string;
994
+ crossOrigin: HTMLCrossorigin;
995
+ mediaGroup: string;
996
+ }> {}
997
+ interface MenuHTMLAttributes<T> extends
998
+ HTMLAttributes<T>,
999
+ CanBeNothing<{
1000
+ label: string;
1001
+ type: 'context' | 'toolbar';
1002
+ }> {}
1003
+ interface MetaHTMLAttributes<T> extends
1004
+ HTMLAttributes<T>,
1005
+ CanBeNothing<{
1006
+ charset: string;
1007
+ content: string;
1008
+ 'http-equiv': string;
1009
+ name: string;
1010
+ media: string;
1011
+ }> {}
1012
+ interface MeterHTMLAttributes<T> extends
1013
+ HTMLAttributes<T>,
1014
+ CanBeNothing<{
1015
+ form: string;
1016
+ high: number | string;
1017
+ low: number | string;
1018
+ max: number | string;
1019
+ min: number | string;
1020
+ optimum: number | string;
1021
+ value: string | string[] | number;
1022
+ }> {}
1023
+ interface QuoteHTMLAttributes<T> extends
1024
+ HTMLAttributes<T>,
1025
+ CanBeNothing<{
1026
+ cite: string;
1027
+ }> {}
1028
+ interface ObjectHTMLAttributes<T> extends
1029
+ HTMLAttributes<T>,
1030
+ CanBeNothing<{
1031
+ data: string;
1032
+ form: string;
1033
+ height: number | string;
1034
+ name: string;
1035
+ type: string;
1036
+ usemap: string;
1037
+ width: number | string;
1038
+ useMap: string;
1039
+ }> {}
1040
+ interface OlHTMLAttributes<T> extends
1041
+ HTMLAttributes<T>,
1042
+ CanBeNothing<{
1043
+ reversed: boolean;
1044
+ start: number | string;
1045
+ type: '1' | 'a' | 'A' | 'i' | 'I';
1046
+ }> {}
1047
+ interface OptgroupHTMLAttributes<T> extends
1048
+ HTMLAttributes<T>,
1049
+ CanBeNothing<{
1050
+ disabled: boolean;
1051
+ label: string;
1052
+ }> {}
1053
+ interface OptionHTMLAttributes<T> extends
1054
+ HTMLAttributes<T>,
1055
+ CanBeNothing<{
1056
+ disabled: boolean;
1057
+ label: string;
1058
+ selected: boolean;
1059
+ value: string | string[] | number;
1060
+ }> {}
1061
+ interface OutputHTMLAttributes<T> extends
1062
+ HTMLAttributes<T>,
1063
+ CanBeNothing<{
1064
+ form: string;
1065
+ for: string;
1066
+ name: string;
1067
+ }> {}
1068
+ interface ParamHTMLAttributes<T> extends
1069
+ HTMLAttributes<T>,
1070
+ CanBeNothing<{
1071
+ name: string;
1072
+ value: string | string[] | number;
1073
+ }> {}
1074
+ interface ProgressHTMLAttributes<T> extends
1075
+ HTMLAttributes<T>,
1076
+ CanBeNothing<{
1077
+ max: number | string;
1078
+ value: string | string[] | number;
1079
+ }> {}
1080
+ interface ScriptHTMLAttributes<T> extends
1081
+ HTMLAttributes<T>,
1082
+ CanBeNothing<{
1083
+ async: boolean;
1084
+ charset: string;
1085
+ crossorigin: HTMLCrossorigin;
1086
+ defer: boolean;
1087
+ integrity: string;
1088
+ nomodule: boolean;
1089
+ nonce: string;
1090
+ referrerpolicy: HTMLReferrerPolicy;
1091
+ src: string;
1092
+ type: string;
1093
+ crossOrigin: HTMLCrossorigin;
1094
+ noModule: boolean;
1095
+ referrerPolicy: HTMLReferrerPolicy;
1096
+ }> {}
1097
+ interface SelectHTMLAttributes<T> extends
1098
+ HTMLAttributes<T>,
1099
+ CanBeNothing<{
1100
+ autocomplete: string;
1101
+ autofocus: boolean;
1102
+ disabled: boolean;
1103
+ form: string;
1104
+ multiple: boolean;
1105
+ name: string;
1106
+ required: boolean;
1107
+ size: number | string;
1108
+ value: string | string[] | number;
1109
+ }> {}
1110
+ interface HTMLSlotElementAttributes<T = HTMLSlotElement> extends
1111
+ HTMLAttributes<T>,
1112
+ CanBeNothing<{
1113
+ name: string;
1114
+ }> {}
1115
+ interface SourceHTMLAttributes<T> extends
1116
+ HTMLAttributes<T>,
1117
+ CanBeNothing<{
1118
+ media: string;
1119
+ sizes: string;
1120
+ src: string;
1121
+ srcset: string;
1122
+ type: string;
1123
+ width: number | string;
1124
+ height: number | string;
1125
+ }> {}
1126
+ interface StyleHTMLAttributes<T> extends
1127
+ HTMLAttributes<T>,
1128
+ CanBeNothing<{
1129
+ media: string;
1130
+ nonce: string;
1131
+ scoped: boolean;
1132
+ type: string;
1133
+ }> {}
1134
+ interface TdHTMLAttributes<T> extends
1135
+ HTMLAttributes<T>,
1136
+ CanBeNothing<{
1137
+ colspan: number | string;
1138
+ headers: string;
1139
+ rowspan: number | string;
1140
+ colSpan: number | string;
1141
+ rowSpan: number | string;
1142
+ }> {}
1143
+ interface TemplateHTMLAttributes<T extends HTMLTemplateElement> extends
1144
+ HTMLAttributes<T>,
1145
+ CanBeNothing<{
1146
+ content: DocumentFragment;
1147
+ }> {}
1148
+ interface TextareaHTMLAttributes<T> extends
1149
+ HTMLAttributes<T>,
1150
+ CanBeNothing<{
1151
+ autocomplete: string;
1152
+ autofocus: boolean;
1153
+ cols: number | string;
1154
+ dirname: string;
1155
+ disabled: boolean;
1156
+ enterkeyhint: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send';
1157
+ form: string;
1158
+ maxlength: number | string;
1159
+ minlength: number | string;
1160
+ name: string;
1161
+ placeholder: string;
1162
+ readonly: boolean;
1163
+ required: boolean;
1164
+ rows: number | string;
1165
+ value: string | string[] | number;
1166
+ wrap: 'hard' | 'soft' | 'off';
1167
+ maxLength: number | string;
1168
+ minLength: number | string;
1169
+ readOnly: boolean;
1170
+ }> {}
1171
+ interface ThHTMLAttributes<T> extends
1172
+ HTMLAttributes<T>,
1173
+ CanBeNothing<{
1174
+ colspan: number | string;
1175
+ headers: string;
1176
+ rowspan: number | string;
1177
+ colSpan: number | string;
1178
+ rowSpan: number | string;
1179
+ scope: 'col' | 'row' | 'rowgroup' | 'colgroup';
1180
+ }> {}
1181
+ interface TimeHTMLAttributes<T> extends
1182
+ HTMLAttributes<T>,
1183
+ CanBeNothing<{
1184
+ datetime: string;
1185
+ dateTime: string;
1186
+ }> {}
1187
+ interface TrackHTMLAttributes<T> extends
1188
+ HTMLAttributes<T>,
1189
+ CanBeNothing<{
1190
+ default: boolean;
1191
+ kind: 'subtitles' | 'captions' | 'descriptions' | 'chapters' | 'metadata';
1192
+ label: string;
1193
+ src: string;
1194
+ srclang: string;
1195
+ }> {}
1196
+ interface VideoHTMLAttributes<T> extends
1197
+ MediaHTMLAttributes<T>,
1198
+ CanBeNothing<{
1199
+ height: number | string;
1200
+ playsinline: boolean;
1201
+ poster: string;
1202
+ width: number | string;
1203
+ disablepictureinpicture: boolean;
1204
+ }> {}
1205
+ type SVGPreserveAspectRatio = [
1206
+ 'none',
1207
+ 'xMinYMin',
1208
+ 'xMidYMin',
1209
+ 'xMaxYMin',
1210
+ 'xMinYMid',
1211
+ 'xMidYMid',
1212
+ 'xMaxYMid',
1213
+ 'xMinYMax',
1214
+ 'xMidYMax',
1215
+ 'xMaxYMax',
1216
+ 'xMinYMin meet',
1217
+ 'xMidYMin meet',
1218
+ 'xMaxYMin meet',
1219
+ 'xMinYMid meet',
1220
+ 'xMidYMid meet',
1221
+ 'xMaxYMid meet',
1222
+ 'xMinYMax meet',
1223
+ 'xMidYMax meet',
1224
+ 'xMaxYMax meet',
1225
+ 'xMinYMin slice',
1226
+ 'xMidYMin slice',
1227
+ 'xMaxYMin slice',
1228
+ 'xMinYMid slice',
1229
+ 'xMidYMid slice',
1230
+ 'xMaxYMid slice',
1231
+ 'xMinYMax slice',
1232
+ 'xMidYMax slice',
1233
+ 'xMaxYMax slice',
1234
+ ][number];
1235
+ type ImagePreserveAspectRatio = [
1236
+ SVGPreserveAspectRatio,
1237
+ 'defer none',
1238
+ 'defer xMinYMin',
1239
+ 'defer xMidYMin',
1240
+ 'defer xMaxYMin',
1241
+ 'defer xMinYMid',
1242
+ 'defer xMidYMid',
1243
+ 'defer xMaxYMid',
1244
+ 'defer xMinYMax',
1245
+ 'defer xMidYMax',
1246
+ 'defer xMaxYMax',
1247
+ 'defer xMinYMin meet',
1248
+ 'defer xMidYMin meet',
1249
+ 'defer xMaxYMin meet',
1250
+ 'defer xMinYMid meet',
1251
+ 'defer xMidYMid meet',
1252
+ 'defer xMaxYMid meet',
1253
+ 'defer xMinYMax meet',
1254
+ 'defer xMidYMax meet',
1255
+ 'defer xMaxYMax meet',
1256
+ 'defer xMinYMin slice',
1257
+ 'defer xMidYMin slice',
1258
+ 'defer xMaxYMin slice',
1259
+ 'defer xMinYMid slice',
1260
+ 'defer xMidYMid slice',
1261
+ 'defer xMaxYMid slice',
1262
+ 'defer xMinYMax slice',
1263
+ 'defer xMidYMax slice',
1264
+ 'defer xMaxYMax slice',
1265
+ ][number];
1266
+ type SVGUnits = 'userSpaceOnUse' | 'objectBoundingBox';
1267
+ interface CoreSVGAttributes<T> extends
1268
+ AriaAttributes,
1269
+ DOMAttributes<T>,
1270
+ CanBeNothing<{
1271
+ id: string;
1272
+ lang: string;
1273
+ tabIndex: number | string;
1274
+ tabindex: number | string;
1275
+ }> {}
1276
+ interface StylableSVGAttributes extends
1277
+ CanBeNothing<{
1278
+ class: string;
1279
+ style: CSSProperties | string;
1280
+ }> {}
1281
+ interface TransformableSVGAttributes extends
1282
+ CanBeNothing<{
1283
+ transform: string;
1284
+ }> {}
1285
+ interface ConditionalProcessingSVGAttributes extends
1286
+ CanBeNothing<{
1287
+ requiredExtensions: string;
1288
+ requiredFeatures: string;
1289
+ systemLanguage: string;
1290
+ }> {}
1291
+ interface ExternalResourceSVGAttributes extends
1292
+ CanBeNothing<{
1293
+ externalResourcesRequired: 'true' | 'false';
1294
+ }> {}
1295
+ interface AnimationTimingSVGAttributes extends
1296
+ CanBeNothing<{
1297
+ begin: string;
1298
+ dur: string;
1299
+ end: string;
1300
+ min: string;
1301
+ max: string;
1302
+ restart: 'always' | 'whenNotActive' | 'never';
1303
+ repeatCount: number | 'indefinite';
1304
+ repeatDur: string;
1305
+ fill: 'freeze' | 'remove';
1306
+ }> {}
1307
+ interface AnimationValueSVGAttributes extends
1308
+ CanBeNothing<{
1309
+ calcMode: 'discrete' | 'linear' | 'paced' | 'spline';
1310
+ values: string;
1311
+ keyTimes: string;
1312
+ keySplines: string;
1313
+ from: number | string;
1314
+ to: number | string;
1315
+ by: number | string;
1316
+ }> {}
1317
+ interface AnimationAdditionSVGAttributes extends
1318
+ CanBeNothing<{
1319
+ attributeName: string;
1320
+ additive: 'replace' | 'sum';
1321
+ accumulate: 'none' | 'sum';
1322
+ }> {}
1323
+ interface AnimationAttributeTargetSVGAttributes extends
1324
+ CanBeNothing<{
1325
+ attributeName: string;
1326
+ attributeType: 'CSS' | 'XML' | 'auto';
1327
+ }> {}
1328
+ interface PresentationSVGAttributes extends
1329
+ CanBeNothing<{
1330
+ 'alignment-baseline': [
1331
+ 'auto',
1332
+ 'baseline',
1333
+ 'before-edge',
1334
+ 'text-before-edge',
1335
+ 'middle',
1336
+ 'central',
1337
+ 'after-edge',
1338
+ 'text-after-edge',
1339
+ 'ideographic',
1340
+ 'alphabetic',
1341
+ 'hanging',
1342
+ 'mathematical',
1343
+ 'inherit',
1344
+ ][number];
1345
+ 'baseline-shift': number | string;
1346
+ clip: string;
1347
+ 'clip-path': string;
1348
+ 'clip-rule': 'nonzero' | 'evenodd' | 'inherit';
1349
+ color: string;
1350
+ 'color-interpolation': 'auto' | 'sRGB' | 'linearRGB' | 'inherit';
1351
+ 'color-interpolation-filters': 'auto' | 'sRGB' | 'linearRGB' | 'inherit';
1352
+ 'color-profile': string;
1353
+ 'color-rendering': 'auto' | 'optimizeSpeed' | 'optimizeQuality' | 'inherit';
1354
+ cursor: string;
1355
+ direction: 'ltr' | 'rtl' | 'inherit';
1356
+ display: string;
1357
+ 'dominant-baseline': [
1358
+ 'auto',
1359
+ 'text-bottom',
1360
+ 'alphabetic',
1361
+ 'ideographic',
1362
+ 'middle',
1363
+ 'central',
1364
+ 'mathematical',
1365
+ 'hanging',
1366
+ 'text-top',
1367
+ 'inherit',
1368
+ ][number];
1369
+ 'enable-background': string;
1370
+ fill: string;
1371
+ 'fill-opacity': number | string | 'inherit';
1372
+ 'fill-rule': 'nonzero' | 'evenodd' | 'inherit';
1373
+ filter: string;
1374
+ 'flood-color': string;
1375
+ 'flood-opacity': number | string | 'inherit';
1376
+ 'font-family': string;
1377
+ 'font-size': string;
1378
+ 'font-size-adjust': number | string;
1379
+ 'font-stretch': string;
1380
+ 'font-style': 'normal' | 'italic' | 'oblique' | 'inherit';
1381
+ 'font-variant': string;
1382
+ 'font-weight': number | string;
1383
+ 'glyph-orientation-horizontal': string;
1384
+ 'glyph-orientation-vertical': string;
1385
+ 'image-rendering': 'auto' | 'optimizeQuality' | 'optimizeSpeed' | 'inherit';
1386
+ kerning: string;
1387
+ 'letter-spacing': number | string;
1388
+ 'lighting-color': string;
1389
+ 'marker-end': string;
1390
+ 'marker-mid': string;
1391
+ 'marker-start': string;
1392
+ mask: string;
1393
+ opacity: number | string | 'inherit';
1394
+ overflow: 'visible' | 'hidden' | 'scroll' | 'auto' | 'inherit';
1395
+ pathLength: string | number;
1396
+ 'pointer-events': [
1397
+ 'bounding-box',
1398
+ 'visiblePainted',
1399
+ 'visibleFill',
1400
+ 'visibleStroke',
1401
+ 'visible',
1402
+ 'painted',
1403
+ 'color',
1404
+ 'fill',
1405
+ 'stroke',
1406
+ 'all',
1407
+ 'none',
1408
+ 'inherit',
1409
+ ][number];
1410
+ 'shape-rendering': [
1411
+ 'auto',
1412
+ 'optimizeSpeed',
1413
+ 'crispEdges',
1414
+ 'geometricPrecision',
1415
+ 'inherit',
1416
+ ][number];
1417
+ 'stop-color': string;
1418
+ 'stop-opacity': number | string | 'inherit';
1419
+ stroke: string;
1420
+ 'stroke-dasharray': string;
1421
+ 'stroke-dashoffset': number | string;
1422
+ 'stroke-linecap': 'butt' | 'round' | 'square' | 'inherit';
1423
+ 'stroke-linejoin': 'arcs' | 'bevel' | 'miter' | 'miter-clip' | 'round' | 'inherit';
1424
+ 'stroke-miterlimit': number | string | 'inherit';
1425
+ 'stroke-opacity': number | string | 'inherit';
1426
+ 'stroke-width': number | string;
1427
+ 'text-anchor': 'start' | 'middle' | 'end' | 'inherit';
1428
+ 'text-decoration': [
1429
+ 'none',
1430
+ 'underline',
1431
+ 'overline',
1432
+ 'line-through',
1433
+ 'blink',
1434
+ 'inherit',
1435
+ ][number];
1436
+ 'text-rendering': [
1437
+ 'auto',
1438
+ 'optimizeSpeed',
1439
+ 'optimizeLegibility',
1440
+ 'geometricPrecision',
1441
+ 'inherit',
1442
+ ][number];
1443
+ 'unicode-bidi': string;
1444
+ visibility: 'visible' | 'hidden' | 'collapse' | 'inherit';
1445
+ 'word-spacing': number | string;
1446
+ 'writing-mode': 'lr-tb' | 'rl-tb' | 'tb-rl' | 'lr' | 'rl' | 'tb' | 'inherit';
1447
+ }> {}
1448
+ interface AnimationElementSVGAttributes<T> extends
1449
+ CoreSVGAttributes<T>,
1450
+ ExternalResourceSVGAttributes,
1451
+ ConditionalProcessingSVGAttributes {}
1452
+ interface ContainerElementSVGAttributes<T> extends
1453
+ CoreSVGAttributes<T>,
1454
+ ShapeElementSVGAttributes<T>,
1455
+ Pick<PresentationSVGAttributes, [
1456
+ 'clip-path',
1457
+ 'mask',
1458
+ 'cursor',
1459
+ 'opacity',
1460
+ 'filter',
1461
+ 'enable-background',
1462
+ 'color-interpolation',
1463
+ 'color-rendering',
1464
+ ][number]> {}
1465
+ interface FilterPrimitiveElementSVGAttributes<T> extends
1466
+ CoreSVGAttributes<T>,
1467
+ Pick<PresentationSVGAttributes, 'color-interpolation-filters'>,
1468
+ CanBeNothing<{
1469
+ x: number | string;
1470
+ y: number | string;
1471
+ width: number | string;
1472
+ height: number | string;
1473
+ result: string;
1474
+ }> {}
1475
+ interface SingleInputFilterSVGAttributes extends
1476
+ CanBeNothing<{
1477
+ in: string;
1478
+ }> {}
1479
+ interface DoubleInputFilterSVGAttributes extends
1480
+ CanBeNothing<{
1481
+ in: string;
1482
+ in2: string;
1483
+ }> {}
1484
+ interface FitToViewBoxSVGAttributes extends
1485
+ CanBeNothing<{
1486
+ viewBox: string;
1487
+ preserveAspectRatio: SVGPreserveAspectRatio;
1488
+ }> {}
1489
+ interface GradientElementSVGAttributes<T> extends
1490
+ CoreSVGAttributes<T>,
1491
+ ExternalResourceSVGAttributes,
1492
+ StylableSVGAttributes,
1493
+ CanBeNothing<{
1494
+ gradientUnits: SVGUnits;
1495
+ gradientTransform: string;
1496
+ spreadMethod: 'pad' | 'reflect' | 'repeat';
1497
+ href: string;
1498
+ }> {}
1499
+ interface GraphicsElementSVGAttributes<T> extends
1500
+ CoreSVGAttributes<T>,
1501
+ Pick<PresentationSVGAttributes, [
1502
+ 'clip-rule',
1503
+ 'mask',
1504
+ 'pointer-events',
1505
+ 'cursor',
1506
+ 'opacity',
1507
+ 'filter',
1508
+ 'display',
1509
+ 'visibility',
1510
+ 'color-interpolation',
1511
+ 'color-rendering',
1512
+ ][number]> {}
1513
+ interface LightSourceElementSVGAttributes<T> extends
1514
+ CoreSVGAttributes<T> {}
1515
+ interface NewViewportSVGAttributes<T> extends
1516
+ CoreSVGAttributes<T>,
1517
+ Pick<PresentationSVGAttributes, 'overflow' | 'clip'>,
1518
+ CanBeNothing<{
1519
+ viewBox: string;
1520
+ }> {}
1521
+ interface ShapeElementSVGAttributes<T> extends
1522
+ CoreSVGAttributes<T>,
1523
+ Pick<PresentationSVGAttributes, [
1524
+ 'color',
1525
+ 'fill',
1526
+ 'fill-rule',
1527
+ 'fill-opacity',
1528
+ 'stroke',
1529
+ 'stroke-width',
1530
+ 'stroke-linecap',
1531
+ 'stroke-linejoin',
1532
+ 'stroke-miterlimit',
1533
+ 'stroke-dasharray',
1534
+ 'stroke-dashoffset',
1535
+ 'stroke-opacity',
1536
+ 'shape-rendering',
1537
+ 'pathLength',
1538
+ ][number]> {}
1539
+ interface TextContentElementSVGAttributes<T> extends
1540
+ CoreSVGAttributes<T>,
1541
+ Pick<PresentationSVGAttributes, [
1542
+ 'font-family',
1543
+ 'font-style',
1544
+ 'font-variant',
1545
+ 'font-weight',
1546
+ 'font-stretch',
1547
+ 'font-size',
1548
+ 'font-size-adjust',
1549
+ 'kerning',
1550
+ 'letter-spacing',
1551
+ 'word-spacing',
1552
+ 'text-decoration',
1553
+ 'glyph-orientation-horizontal',
1554
+ 'glyph-orientation-vertical',
1555
+ 'direction',
1556
+ 'unicode-bidi',
1557
+ 'text-anchor',
1558
+ 'dominant-baseline',
1559
+ 'color',
1560
+ 'fill',
1561
+ 'fill-rule',
1562
+ 'fill-opacity',
1563
+ 'stroke',
1564
+ 'stroke-width',
1565
+ 'stroke-linecap',
1566
+ 'stroke-linejoin',
1567
+ 'stroke-miterlimit',
1568
+ 'stroke-dasharray',
1569
+ 'stroke-dashoffset',
1570
+ 'stroke-opacity',
1571
+ ][number]> {}
1572
+ interface ZoomAndPanSVGAttributes extends
1573
+ CanBeNothing<{
1574
+ zoomAndPan: 'disable' | 'magnify';
1575
+ }> {}
1576
+ interface AnimateSVGAttributes<T> extends
1577
+ AnimationElementSVGAttributes<T>,
1578
+ AnimationAttributeTargetSVGAttributes,
1579
+ AnimationTimingSVGAttributes,
1580
+ AnimationValueSVGAttributes,
1581
+ AnimationAdditionSVGAttributes,
1582
+ Pick<PresentationSVGAttributes, [
1583
+ 'color-interpolation',
1584
+ 'color-rendering',
1585
+ ][number]> {}
1586
+ interface AnimateMotionSVGAttributes<T> extends
1587
+ AnimationElementSVGAttributes<T>,
1588
+ AnimationTimingSVGAttributes,
1589
+ AnimationValueSVGAttributes,
1590
+ AnimationAdditionSVGAttributes,
1591
+ CanBeNothing<{
1592
+ path: string;
1593
+ keyPoints: string;
1594
+ rotate: number | string | 'auto' | 'auto-reverse';
1595
+ origin: 'default';
1596
+ }> {}
1597
+ interface AnimateTransformSVGAttributes<T> extends
1598
+ AnimationElementSVGAttributes<T>,
1599
+ AnimationAttributeTargetSVGAttributes,
1600
+ AnimationTimingSVGAttributes,
1601
+ AnimationValueSVGAttributes,
1602
+ AnimationAdditionSVGAttributes,
1603
+ CanBeNothing<{
1604
+ type: 'translate' | 'scale' | 'rotate' | 'skewX' | 'skewY';
1605
+ }> {}
1606
+ interface CircleSVGAttributes<T> extends
1607
+ GraphicsElementSVGAttributes<T>,
1608
+ ShapeElementSVGAttributes<T>,
1609
+ ConditionalProcessingSVGAttributes,
1610
+ StylableSVGAttributes,
1611
+ TransformableSVGAttributes,
1612
+ CanBeNothing<{
1613
+ cx: number | string;
1614
+ cy: number | string;
1615
+ r: number | string;
1616
+ }> {}
1617
+ interface ClipPathSVGAttributes<T> extends
1618
+ CoreSVGAttributes<T>,
1619
+ ConditionalProcessingSVGAttributes,
1620
+ ExternalResourceSVGAttributes,
1621
+ StylableSVGAttributes,
1622
+ TransformableSVGAttributes,
1623
+ Pick<PresentationSVGAttributes, 'clip-path'>,
1624
+ CanBeNothing<{
1625
+ clipPathUnits: SVGUnits;
1626
+ }> {}
1627
+ interface DefsSVGAttributes<T> extends
1628
+ ContainerElementSVGAttributes<T>,
1629
+ ConditionalProcessingSVGAttributes,
1630
+ ExternalResourceSVGAttributes,
1631
+ StylableSVGAttributes,
1632
+ TransformableSVGAttributes {}
1633
+ interface DescSVGAttributes<T> extends
1634
+ CoreSVGAttributes<T>,
1635
+ StylableSVGAttributes {}
1636
+ interface EllipseSVGAttributes<T> extends
1637
+ GraphicsElementSVGAttributes<T>,
1638
+ ShapeElementSVGAttributes<T>,
1639
+ ConditionalProcessingSVGAttributes,
1640
+ ExternalResourceSVGAttributes,
1641
+ StylableSVGAttributes,
1642
+ TransformableSVGAttributes,
1643
+ CanBeNothing<{
1644
+ cx: number | string;
1645
+ cy: number | string;
1646
+ rx: number | string;
1647
+ ry: number | string;
1648
+ }> {}
1649
+ interface FeBlendSVGAttributes<T> extends
1650
+ FilterPrimitiveElementSVGAttributes<T>,
1651
+ DoubleInputFilterSVGAttributes,
1652
+ StylableSVGAttributes,
1653
+ CanBeNothing<{
1654
+ mode: 'normal' | 'multiply' | 'screen' | 'darken' | 'lighten';
1655
+ }> {}
1656
+ interface FeColorMatrixSVGAttributes<T> extends
1657
+ FilterPrimitiveElementSVGAttributes<T>,
1658
+ SingleInputFilterSVGAttributes,
1659
+ StylableSVGAttributes,
1660
+ CanBeNothing<{
1661
+ type: 'matrix' | 'saturate' | 'hueRotate' | 'luminanceToAlpha';
1662
+ values: string;
1663
+ }> {}
1664
+ interface FeComponentTransferSVGAttributes<T> extends
1665
+ FilterPrimitiveElementSVGAttributes<T>,
1666
+ SingleInputFilterSVGAttributes,
1667
+ StylableSVGAttributes {}
1668
+ interface FeCompositeSVGAttributes<T> extends
1669
+ FilterPrimitiveElementSVGAttributes<T>,
1670
+ DoubleInputFilterSVGAttributes,
1671
+ StylableSVGAttributes,
1672
+ CanBeNothing<{
1673
+ operator: 'over' | 'in' | 'out' | 'atop' | 'xor' | 'arithmetic';
1674
+ k1: number | string;
1675
+ k2: number | string;
1676
+ k3: number | string;
1677
+ k4: number | string;
1678
+ }> {}
1679
+ interface FeConvolveMatrixSVGAttributes<T> extends
1680
+ FilterPrimitiveElementSVGAttributes<T>,
1681
+ SingleInputFilterSVGAttributes,
1682
+ StylableSVGAttributes,
1683
+ CanBeNothing<{
1684
+ order: number | string;
1685
+ kernelMatrix: string;
1686
+ divisor: number | string;
1687
+ bias: number | string;
1688
+ targetX: number | string;
1689
+ targetY: number | string;
1690
+ edgeMode: 'duplicate' | 'wrap' | 'none';
1691
+ kernelUnitLength: number | string;
1692
+ preserveAlpha: 'true' | 'false';
1693
+ }> {}
1694
+ interface FeDiffuseLightingSVGAttributes<T> extends
1695
+ FilterPrimitiveElementSVGAttributes<T>,
1696
+ SingleInputFilterSVGAttributes,
1697
+ StylableSVGAttributes,
1698
+ Pick<PresentationSVGAttributes, 'color' | 'lighting-color'>,
1699
+ CanBeNothing<{
1700
+ surfaceScale: number | string;
1701
+ diffuseConstant: number | string;
1702
+ kernelUnitLength: number | string;
1703
+ }> {}
1704
+ interface FeDisplacementMapSVGAttributes<T> extends
1705
+ FilterPrimitiveElementSVGAttributes<T>,
1706
+ DoubleInputFilterSVGAttributes,
1707
+ StylableSVGAttributes,
1708
+ CanBeNothing<{
1709
+ scale: number | string;
1710
+ xChannelSelector: 'R' | 'G' | 'B' | 'A';
1711
+ yChannelSelector: 'R' | 'G' | 'B' | 'A';
1712
+ }> {}
1713
+ interface FeDistantLightSVGAttributes<T> extends
1714
+ LightSourceElementSVGAttributes<T>,
1715
+ CanBeNothing<{
1716
+ azimuth: number | string;
1717
+ elevation: number | string;
1718
+ }> {}
1719
+ interface FeDropShadowSVGAttributes<T> extends
1720
+ CoreSVGAttributes<T>,
1721
+ FilterPrimitiveElementSVGAttributes<T>,
1722
+ StylableSVGAttributes,
1723
+ Pick<PresentationSVGAttributes, 'color' | 'flood-color' | 'flood-opacity'>,
1724
+ CanBeNothing<{
1725
+ dx: number | string;
1726
+ dy: number | string;
1727
+ stdDeviation: number | string;
1728
+ }> {}
1729
+ interface FeFloodSVGAttributes<T> extends
1730
+ FilterPrimitiveElementSVGAttributes<T>,
1731
+ StylableSVGAttributes,
1732
+ Pick<PresentationSVGAttributes, 'color' | 'flood-color' | 'flood-opacity'> {}
1733
+ interface FeFuncSVGAttributes<T> extends
1734
+ CoreSVGAttributes<T>,
1735
+ CanBeNothing<{
1736
+ type: 'identity' | 'table' | 'discrete' | 'linear' | 'gamma';
1737
+ tableValues: string;
1738
+ slope: number | string;
1739
+ intercept: number | string;
1740
+ amplitude: number | string;
1741
+ exponent: number | string;
1742
+ offset: number | string;
1743
+ }> {}
1744
+ interface FeGaussianBlurSVGAttributes<T> extends
1745
+ FilterPrimitiveElementSVGAttributes<T>,
1746
+ SingleInputFilterSVGAttributes,
1747
+ StylableSVGAttributes,
1748
+ CanBeNothing<{
1749
+ stdDeviation: number | string;
1750
+ }> {}
1751
+ interface FeImageSVGAttributes<T> extends
1752
+ FilterPrimitiveElementSVGAttributes<T>,
1753
+ ExternalResourceSVGAttributes,
1754
+ StylableSVGAttributes,
1755
+ CanBeNothing<{
1756
+ preserveAspectRatio: SVGPreserveAspectRatio;
1757
+ href: string;
1758
+ }> {}
1759
+ interface FeMergeSVGAttributes<T> extends
1760
+ FilterPrimitiveElementSVGAttributes<T>,
1761
+ StylableSVGAttributes {}
1762
+ interface FeMergeNodeSVGAttributes<T> extends
1763
+ CoreSVGAttributes<T>,
1764
+ SingleInputFilterSVGAttributes {}
1765
+ interface FeMorphologySVGAttributes<T> extends
1766
+ FilterPrimitiveElementSVGAttributes<T>,
1767
+ SingleInputFilterSVGAttributes,
1768
+ StylableSVGAttributes,
1769
+ CanBeNothing<{
1770
+ operator: 'erode' | 'dilate';
1771
+ radius: number | string;
1772
+ }> {}
1773
+ interface FeOffsetSVGAttributes<T> extends
1774
+ FilterPrimitiveElementSVGAttributes<T>,
1775
+ SingleInputFilterSVGAttributes,
1776
+ StylableSVGAttributes,
1777
+ CanBeNothing<{
1778
+ dx: number | string;
1779
+ dy: number | string;
1780
+ }> {}
1781
+ interface FePointLightSVGAttributes<T> extends
1782
+ LightSourceElementSVGAttributes<T>,
1783
+ CanBeNothing<{
1784
+ x: number | string;
1785
+ y: number | string;
1786
+ z: number | string;
1787
+ }> {}
1788
+ interface FeSpecularLightingSVGAttributes<T> extends
1789
+ FilterPrimitiveElementSVGAttributes<T>,
1790
+ SingleInputFilterSVGAttributes,
1791
+ StylableSVGAttributes,
1792
+ Pick<PresentationSVGAttributes, 'color' | 'lighting-color'>,
1793
+ CanBeNothing<{
1794
+ surfaceScale: string;
1795
+ specularConstant: string;
1796
+ specularExponent: string;
1797
+ kernelUnitLength: number | string;
1798
+ }> {}
1799
+ interface FeSpotLightSVGAttributes<T> extends
1800
+ LightSourceElementSVGAttributes<T>,
1801
+ CanBeNothing<{
1802
+ x: number | string;
1803
+ y: number | string;
1804
+ z: number | string;
1805
+ pointsAtX: number | string;
1806
+ pointsAtY: number | string;
1807
+ pointsAtZ: number | string;
1808
+ specularExponent: number | string;
1809
+ limitingConeAngle: number | string;
1810
+ }> {}
1811
+ interface FeTileSVGAttributes<T> extends
1812
+ FilterPrimitiveElementSVGAttributes<T>,
1813
+ SingleInputFilterSVGAttributes,
1814
+ StylableSVGAttributes {}
1815
+ interface FeTurbulanceSVGAttributes<T> extends
1816
+ FilterPrimitiveElementSVGAttributes<T>,
1817
+ StylableSVGAttributes,
1818
+ CanBeNothing<{
1819
+ baseFrequency: number | string;
1820
+ numOctaves: number | string;
1821
+ seed: number | string;
1822
+ stitchTiles: 'stitch' | 'noStitch';
1823
+ type: 'fractalNoise' | 'turbulence';
1824
+ }> {}
1825
+ interface FilterSVGAttributes<T> extends
1826
+ CoreSVGAttributes<T>,
1827
+ ExternalResourceSVGAttributes,
1828
+ StylableSVGAttributes,
1829
+ CanBeNothing<{
1830
+ filterUnits: SVGUnits;
1831
+ primitiveUnits: SVGUnits;
1832
+ x: number | string;
1833
+ y: number | string;
1834
+ width: number | string;
1835
+ height: number | string;
1836
+ filterRes: number | string;
1837
+ }> {}
1838
+ interface ForeignObjectSVGAttributes<T> extends
1839
+ NewViewportSVGAttributes<T>,
1840
+ ConditionalProcessingSVGAttributes,
1841
+ ExternalResourceSVGAttributes,
1842
+ StylableSVGAttributes,
1843
+ TransformableSVGAttributes,
1844
+ Pick<PresentationSVGAttributes, 'display' | 'visibility'>,
1845
+ CanBeNothing<{
1846
+ x: number | string;
1847
+ y: number | string;
1848
+ width: number | string;
1849
+ height: number | string;
1850
+ }> {}
1851
+ interface GSVGAttributes<T> extends
1852
+ ContainerElementSVGAttributes<T>,
1853
+ ConditionalProcessingSVGAttributes,
1854
+ ExternalResourceSVGAttributes,
1855
+ StylableSVGAttributes,
1856
+ TransformableSVGAttributes,
1857
+ Pick<PresentationSVGAttributes, 'display' | 'visibility'> {}
1858
+ interface ImageSVGAttributes<T> extends
1859
+ NewViewportSVGAttributes<T>,
1860
+ GraphicsElementSVGAttributes<T>,
1861
+ ConditionalProcessingSVGAttributes,
1862
+ StylableSVGAttributes,
1863
+ TransformableSVGAttributes,
1864
+ Pick<PresentationSVGAttributes, 'color-profile' | 'image-rendering'>,
1865
+ CanBeNothing<{
1866
+ x: number | string;
1867
+ y: number | string;
1868
+ width: number | string;
1869
+ height: number | string;
1870
+ preserveAspectRatio: ImagePreserveAspectRatio;
1871
+ href: string;
1872
+ }> {}
1873
+ interface LineSVGAttributes<T> extends
1874
+ GraphicsElementSVGAttributes<T>,
1875
+ ShapeElementSVGAttributes<T>,
1876
+ ConditionalProcessingSVGAttributes,
1877
+ ExternalResourceSVGAttributes,
1878
+ StylableSVGAttributes,
1879
+ TransformableSVGAttributes,
1880
+ Pick<PresentationSVGAttributes, [
1881
+ 'marker-start',
1882
+ 'marker-mid',
1883
+ 'marker-end',
1884
+ ][number]>,
1885
+ CanBeNothing<{
1886
+ x1: number | string;
1887
+ y1: number | string;
1888
+ x2: number | string;
1889
+ y2: number | string;
1890
+ }> {}
1891
+ interface LinearGradientSVGAttributes<T> extends
1892
+ GradientElementSVGAttributes<T>,
1893
+ CanBeNothing<{
1894
+ x1: number | string;
1895
+ x2: number | string;
1896
+ y1: number | string;
1897
+ y2: number | string;
1898
+ }> {}
1899
+ interface MarkerSVGAttributes<T> extends
1900
+ ContainerElementSVGAttributes<T>,
1901
+ ExternalResourceSVGAttributes,
1902
+ StylableSVGAttributes,
1903
+ FitToViewBoxSVGAttributes,
1904
+ Pick<PresentationSVGAttributes, 'overflow' | 'clip'>,
1905
+ CanBeNothing<{
1906
+ markerUnits: 'strokeWidth' | 'userSpaceOnUse';
1907
+ refX: number | string;
1908
+ refY: number | string;
1909
+ markerWidth: number | string;
1910
+ markerHeight: number | string;
1911
+ orient: string;
1912
+ }> {}
1913
+ interface MaskSVGAttributes<T> extends
1914
+ Omit<ContainerElementSVGAttributes<T>, 'opacity' | 'filter'>,
1915
+ ConditionalProcessingSVGAttributes,
1916
+ ExternalResourceSVGAttributes,
1917
+ StylableSVGAttributes,
1918
+ CanBeNothing<{
1919
+ maskUnits: SVGUnits;
1920
+ maskContentUnits: SVGUnits;
1921
+ x: number | string;
1922
+ y: number | string;
1923
+ width: number | string;
1924
+ height: number | string;
1925
+ }> {}
1926
+ interface MetadataSVGAttributes<T> extends CoreSVGAttributes<T> {}
1927
+ interface MPathSVGAttributes<T> extends CoreSVGAttributes<T> {}
1928
+ interface PathSVGAttributes<T> extends
1929
+ GraphicsElementSVGAttributes<T>,
1930
+ ShapeElementSVGAttributes<T>,
1931
+ ConditionalProcessingSVGAttributes,
1932
+ ExternalResourceSVGAttributes,
1933
+ StylableSVGAttributes,
1934
+ TransformableSVGAttributes,
1935
+ Pick<PresentationSVGAttributes, [
1936
+ 'marker-start',
1937
+ 'marker-mid',
1938
+ 'marker-end',
1939
+ ][number]>,
1940
+ CanBeNothing<{
1941
+ d: string;
1942
+ pathLength: number | string;
1943
+ }> {}
1944
+ interface PatternSVGAttributes<T> extends
1945
+ ContainerElementSVGAttributes<T>,
1946
+ ConditionalProcessingSVGAttributes,
1947
+ ExternalResourceSVGAttributes,
1948
+ StylableSVGAttributes,
1949
+ FitToViewBoxSVGAttributes,
1950
+ Pick<PresentationSVGAttributes, 'overflow' | 'clip'>,
1951
+ CanBeNothing<{
1952
+ x: number | string;
1953
+ y: number | string;
1954
+ width: number | string;
1955
+ height: number | string;
1956
+ patternUnits: SVGUnits;
1957
+ patternContentUnits: SVGUnits;
1958
+ patternTransform: string;
1959
+ href: string;
1960
+ }> {}
1961
+ interface PolygonSVGAttributes<T> extends
1962
+ GraphicsElementSVGAttributes<T>,
1963
+ ShapeElementSVGAttributes<T>,
1964
+ ConditionalProcessingSVGAttributes,
1965
+ ExternalResourceSVGAttributes,
1966
+ StylableSVGAttributes,
1967
+ TransformableSVGAttributes,
1968
+ Pick<PresentationSVGAttributes, [
1969
+ 'marker-start',
1970
+ 'marker-mid',
1971
+ 'marker-end',
1972
+ ][number]>,
1973
+ CanBeNothing<{
1974
+ points: string;
1975
+ }> {}
1976
+ interface PolylineSVGAttributes<T> extends
1977
+ GraphicsElementSVGAttributes<T>,
1978
+ ShapeElementSVGAttributes<T>,
1979
+ ConditionalProcessingSVGAttributes,
1980
+ ExternalResourceSVGAttributes,
1981
+ StylableSVGAttributes,
1982
+ TransformableSVGAttributes,
1983
+ Pick<PresentationSVGAttributes, [
1984
+ 'marker-start',
1985
+ 'marker-mid',
1986
+ 'marker-end',
1987
+ ][number]>,
1988
+ CanBeNothing<{
1989
+ points: string;
1990
+ }> {}
1991
+ interface RadialGradientSVGAttributes<T> extends
1992
+ GradientElementSVGAttributes<T>,
1993
+ CanBeNothing<{
1994
+ cx: number | string;
1995
+ cy: number | string;
1996
+ r: number | string;
1997
+ fx: number | string;
1998
+ fy: number | string;
1999
+ }> {}
2000
+ interface RectSVGAttributes<T> extends
2001
+ GraphicsElementSVGAttributes<T>,
2002
+ ShapeElementSVGAttributes<T>,
2003
+ ConditionalProcessingSVGAttributes,
2004
+ ExternalResourceSVGAttributes,
2005
+ StylableSVGAttributes,
2006
+ TransformableSVGAttributes,
2007
+ CanBeNothing<{
2008
+ x: number | string;
2009
+ y: number | string;
2010
+ width: number | string;
2011
+ height: number | string;
2012
+ rx: number | string;
2013
+ ry: number | string;
2014
+ }> {}
2015
+ interface SetSVGAttributes<T> extends
2016
+ CoreSVGAttributes<T>,
2017
+ StylableSVGAttributes,
2018
+ AnimationTimingSVGAttributes {}
2019
+ interface StopSVGAttributes<T> extends
2020
+ CoreSVGAttributes<T>,
2021
+ StylableSVGAttributes,
2022
+ Pick<PresentationSVGAttributes, [
2023
+ 'color',
2024
+ 'stop-color',
2025
+ 'stop-opacity',
2026
+ ][number]>,
2027
+ CanBeNothing<{
2028
+ offset: number | string;
2029
+ }> {}
2030
+ interface SvgSVGAttributes<T> extends
2031
+ ContainerElementSVGAttributes<T>,
2032
+ NewViewportSVGAttributes<T>,
2033
+ ConditionalProcessingSVGAttributes,
2034
+ ExternalResourceSVGAttributes,
2035
+ StylableSVGAttributes,
2036
+ FitToViewBoxSVGAttributes,
2037
+ ZoomAndPanSVGAttributes,
2038
+ PresentationSVGAttributes,
2039
+ CanBeNothing<{
2040
+ version: string;
2041
+ baseProfile: string;
2042
+ x: number | string;
2043
+ y: number | string;
2044
+ width: number | string;
2045
+ height: number | string;
2046
+ contentScriptType: string;
2047
+ contentStyleType: string;
2048
+ xmlns: string;
2049
+ 'xmlns:xlink': string;
2050
+ }> {}
2051
+ interface SwitchSVGAttributes<T> extends
2052
+ ContainerElementSVGAttributes<T>,
2053
+ ConditionalProcessingSVGAttributes,
2054
+ ExternalResourceSVGAttributes,
2055
+ StylableSVGAttributes,
2056
+ TransformableSVGAttributes,
2057
+ Pick<PresentationSVGAttributes, 'display' | 'visibility'> {}
2058
+ interface SymbolSVGAttributes<T> extends
2059
+ ContainerElementSVGAttributes<T>,
2060
+ NewViewportSVGAttributes<T>,
2061
+ ExternalResourceSVGAttributes,
2062
+ StylableSVGAttributes,
2063
+ FitToViewBoxSVGAttributes,
2064
+ CanBeNothing<{
2065
+ width: number | string;
2066
+ height: number | string;
2067
+ preserveAspectRatio: SVGPreserveAspectRatio;
2068
+ refX: number | string;
2069
+ refY: number | string;
2070
+ viewBox: string;
2071
+ x: number | string;
2072
+ y: number | string;
2073
+ }> {}
2074
+ interface TextSVGAttributes<T> extends
2075
+ TextContentElementSVGAttributes<T>,
2076
+ GraphicsElementSVGAttributes<T>,
2077
+ ConditionalProcessingSVGAttributes,
2078
+ ExternalResourceSVGAttributes,
2079
+ StylableSVGAttributes,
2080
+ TransformableSVGAttributes,
2081
+ Pick<PresentationSVGAttributes, 'writing-mode' | 'text-rendering'>,
2082
+ CanBeNothing<{
2083
+ x: number | string;
2084
+ y: number | string;
2085
+ dx: number | string;
2086
+ dy: number | string;
2087
+ rotate: number | string;
2088
+ textLength: number | string;
2089
+ lengthAdjust: 'spacing' | 'spacingAndGlyphs';
2090
+ }> {}
2091
+ interface TextPathSVGAttributes<T> extends
2092
+ TextContentElementSVGAttributes<T>,
2093
+ ConditionalProcessingSVGAttributes,
2094
+ ExternalResourceSVGAttributes,
2095
+ StylableSVGAttributes,
2096
+ Pick<PresentationSVGAttributes, [
2097
+ 'alignment-baseline',
2098
+ 'baseline-shift',
2099
+ 'display',
2100
+ 'visibility',
2101
+ ][number]>,
2102
+ CanBeNothing<{
2103
+ startOffset: number | string;
2104
+ method: 'align' | 'stretch';
2105
+ spacing: 'auto' | 'exact';
2106
+ href: string;
2107
+ }> {}
2108
+ interface TSpanSVGAttributes<T> extends
2109
+ TextContentElementSVGAttributes<T>,
2110
+ ConditionalProcessingSVGAttributes,
2111
+ ExternalResourceSVGAttributes,
2112
+ StylableSVGAttributes,
2113
+ Pick<PresentationSVGAttributes, [
2114
+ 'alignment-baseline',
2115
+ 'baseline-shift',
2116
+ 'display',
2117
+ 'visibility',
2118
+ ][number]>,
2119
+ CanBeNothing<{
2120
+ x: number | string;
2121
+ y: number | string;
2122
+ dx: number | string;
2123
+ dy: number | string;
2124
+ rotate: number | string;
2125
+ textLength: number | string;
2126
+ lengthAdjust: 'spacing' | 'spacingAndGlyphs';
2127
+ }> {}
2128
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/use */
2129
+ interface UseSVGAttributes<T> extends
2130
+ CoreSVGAttributes<T>,
2131
+ StylableSVGAttributes,
2132
+ ConditionalProcessingSVGAttributes,
2133
+ GraphicsElementSVGAttributes<T>,
2134
+ PresentationSVGAttributes,
2135
+ ExternalResourceSVGAttributes,
2136
+ TransformableSVGAttributes,
2137
+ CanBeNothing<{
2138
+ x: number | string;
2139
+ y: number | string;
2140
+ width: number | string;
2141
+ height: number | string;
2142
+ href: string;
2143
+ }> {}
2144
+ interface ViewSVGAttributes<T> extends
2145
+ CoreSVGAttributes<T>,
2146
+ ExternalResourceSVGAttributes,
2147
+ FitToViewBoxSVGAttributes,
2148
+ ZoomAndPanSVGAttributes,
2149
+ CanBeNothing<{
2150
+ viewTarget: string;
2151
+ }> {}
2152
+ /** @type {HTMLElementTagNameMap} */
2153
+ interface HTMLElementTags {
2154
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a */
2155
+ a: AnchorHTMLAttributes<HTMLAnchorElement>;
2156
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/abbr */
2157
+ abbr: HTMLAttributes<HTMLElement>;
2158
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/address */
2159
+ address: HTMLAttributes<HTMLElement>;
2160
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/area */
2161
+ area: AreaHTMLAttributes<HTMLAreaElement>;
2162
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/article */
2163
+ article: HTMLAttributes<HTMLElement>;
2164
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/aside */
2165
+ aside: HTMLAttributes<HTMLElement>;
2166
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio */
2167
+ audio: AudioHTMLAttributes<HTMLAudioElement>;
2168
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/b */
2169
+ b: HTMLAttributes<HTMLElement>;
2170
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base */
2171
+ base: BaseHTMLAttributes<HTMLBaseElement>;
2172
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/bdi */
2173
+ bdi: HTMLAttributes<HTMLElement>;
2174
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/bdo */
2175
+ bdo: HTMLAttributes<HTMLElement>;
2176
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/blockquote */
2177
+ blockquote: BlockquoteHTMLAttributes<HTMLElement>;
2178
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/body */
2179
+ body: HTMLAttributes<HTMLBodyElement>;
2180
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/br */
2181
+ br: HTMLAttributes<HTMLBRElement>;
2182
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button */
2183
+ button: ButtonHTMLAttributes<HTMLButtonElement>;
2184
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas */
2185
+ canvas: CanvasHTMLAttributes<HTMLCanvasElement>;
2186
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/caption */
2187
+ caption: HTMLAttributes<HTMLElement>;
2188
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/cite */
2189
+ cite: HTMLAttributes<HTMLElement>;
2190
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/code */
2191
+ code: HTMLAttributes<HTMLElement>;
2192
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col */
2193
+ col: ColHTMLAttributes<HTMLTableColElement>;
2194
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/colgroup */
2195
+ colgroup: ColgroupHTMLAttributes<HTMLTableColElement>;
2196
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/data */
2197
+ data: DataHTMLAttributes<HTMLElement>;
2198
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/datalist */
2199
+ datalist: HTMLAttributes<HTMLDataListElement>;
2200
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dd */
2201
+ dd: HTMLAttributes<HTMLElement>;
2202
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/del */
2203
+ del: HTMLAttributes<HTMLElement>;
2204
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/details */
2205
+ details: DetailsHtmlAttributes<HTMLDetailsElement>;
2206
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dfn */
2207
+ dfn: HTMLAttributes<HTMLElement>;
2208
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dialog */
2209
+ dialog: DialogHtmlAttributes<HTMLDialogElement>;
2210
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/div */
2211
+ div: HTMLAttributes<HTMLDivElement>;
2212
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dl */
2213
+ dl: HTMLAttributes<HTMLDListElement>;
2214
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dt */
2215
+ dt: HTMLAttributes<HTMLElement>;
2216
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/em */
2217
+ em: HTMLAttributes<HTMLElement>;
2218
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/embed */
2219
+ embed: EmbedHTMLAttributes<HTMLEmbedElement>;
2220
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/fieldset */
2221
+ fieldset: FieldsetHTMLAttributes<HTMLFieldSetElement>;
2222
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/figcaption */
2223
+ figcaption: HTMLAttributes<HTMLElement>;
2224
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/figure */
2225
+ figure: HTMLAttributes<HTMLElement>;
2226
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/footer */
2227
+ footer: HTMLAttributes<HTMLElement>;
2228
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form */
2229
+ form: FormHTMLAttributes<HTMLFormElement>;
2230
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements */
2231
+ h1: HTMLAttributes<HTMLHeadingElement>;
2232
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements */
2233
+ h2: HTMLAttributes<HTMLHeadingElement>;
2234
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements */
2235
+ h3: HTMLAttributes<HTMLHeadingElement>;
2236
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements */
2237
+ h4: HTMLAttributes<HTMLHeadingElement>;
2238
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements */
2239
+ h5: HTMLAttributes<HTMLHeadingElement>;
2240
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements */
2241
+ h6: HTMLAttributes<HTMLHeadingElement>;
2242
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/head */
2243
+ head: HTMLAttributes<HTMLHeadElement>;
2244
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/header */
2245
+ header: HTMLAttributes<HTMLElement>;
2246
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/hgroup */
2247
+ hgroup: HTMLAttributes<HTMLElement>;
2248
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/hr */
2249
+ hr: HTMLAttributes<HTMLHRElement>;
2250
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/html */
2251
+ html: HTMLAttributes<HTMLHtmlElement>;
2252
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/i */
2253
+ i: HTMLAttributes<HTMLElement>;
2254
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe */
2255
+ iframe: IframeHTMLAttributes<HTMLIFrameElement>;
2256
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img */
2257
+ img: ImgHTMLAttributes<HTMLImageElement>;
2258
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input */
2259
+ input: InputHTMLAttributes<HTMLInputElement>;
2260
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ins */
2261
+ ins: InsHTMLAttributes<HTMLModElement>;
2262
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/kbd */
2263
+ kbd: HTMLAttributes<HTMLElement>;
2264
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/label */
2265
+ label: LabelHTMLAttributes<HTMLLabelElement>;
2266
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/legend */
2267
+ legend: HTMLAttributes<HTMLLegendElement>;
2268
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/li */
2269
+ li: LiHTMLAttributes<HTMLLIElement>;
2270
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link */
2271
+ link: LinkHTMLAttributes<HTMLLinkElement>;
2272
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/main */
2273
+ main: HTMLAttributes<HTMLElement>;
2274
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/map */
2275
+ map: MapHTMLAttributes<HTMLMapElement>;
2276
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/mark */
2277
+ mark: HTMLAttributes<HTMLElement>;
2278
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/menu */
2279
+ menu: MenuHTMLAttributes<HTMLMenuElement>;
2280
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta */
2281
+ meta: MetaHTMLAttributes<HTMLMetaElement>;
2282
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meter */
2283
+ meter: MeterHTMLAttributes<HTMLElement>;
2284
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/nav */
2285
+ nav: HTMLAttributes<HTMLElement>;
2286
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/noscript */
2287
+ noscript: HTMLAttributes<HTMLElement>;
2288
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/object */
2289
+ object: ObjectHTMLAttributes<HTMLObjectElement>;
2290
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ol */
2291
+ ol: OlHTMLAttributes<HTMLOListElement>;
2292
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/optgroup */
2293
+ optgroup: OptgroupHTMLAttributes<HTMLOptGroupElement>;
2294
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option */
2295
+ option: OptionHTMLAttributes<HTMLOptionElement>;
2296
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/output */
2297
+ output: OutputHTMLAttributes<HTMLElement>;
2298
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/p */
2299
+ p: HTMLAttributes<HTMLParagraphElement>;
2300
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture */
2301
+ picture: HTMLAttributes<HTMLElement>;
2302
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/pre */
2303
+ pre: HTMLAttributes<HTMLPreElement>;
2304
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress */
2305
+ progress: ProgressHTMLAttributes<HTMLProgressElement>;
2306
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/q */
2307
+ q: QuoteHTMLAttributes<HTMLQuoteElement>;
2308
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/rp */
2309
+ rp: HTMLAttributes<HTMLElement>;
2310
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/rt */
2311
+ rt: HTMLAttributes<HTMLElement>;
2312
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ruby */
2313
+ ruby: HTMLAttributes<HTMLElement>;
2314
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/s */
2315
+ s: HTMLAttributes<HTMLElement>;
2316
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/samp */
2317
+ samp: HTMLAttributes<HTMLElement>;
2318
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script */
2319
+ script: ScriptHTMLAttributes<HTMLScriptElement>;
2320
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/search */
2321
+ search: HTMLAttributes<HTMLElement>;
2322
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/section */
2323
+ section: HTMLAttributes<HTMLElement>;
2324
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select */
2325
+ select: SelectHTMLAttributes<HTMLSelectElement>;
2326
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/slot */
2327
+ slot: HTMLSlotElementAttributes;
2328
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/small */
2329
+ small: HTMLAttributes<HTMLElement>;
2330
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source */
2331
+ source: SourceHTMLAttributes<HTMLSourceElement>;
2332
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/span */
2333
+ span: HTMLAttributes<HTMLSpanElement>;
2334
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/strong */
2335
+ strong: HTMLAttributes<HTMLElement>;
2336
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/style */
2337
+ style: StyleHTMLAttributes<HTMLStyleElement>;
2338
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/sub */
2339
+ sub: HTMLAttributes<HTMLElement>;
2340
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/summary */
2341
+ summary: HTMLAttributes<HTMLElement>;
2342
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/sup */
2343
+ sup: HTMLAttributes<HTMLElement>;
2344
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/table */
2345
+ table: HTMLAttributes<HTMLTableElement>;
2346
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tbody */
2347
+ tbody: HTMLAttributes<HTMLTableSectionElement>;
2348
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td */
2349
+ td: TdHTMLAttributes<HTMLTableCellElement>;
2350
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/template */
2351
+ template: TemplateHTMLAttributes<HTMLTemplateElement>;
2352
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea */
2353
+ textarea: TextareaHTMLAttributes<HTMLTextAreaElement>;
2354
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tfoot */
2355
+ tfoot: HTMLAttributes<HTMLTableSectionElement>;
2356
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th */
2357
+ th: ThHTMLAttributes<HTMLTableCellElement>;
2358
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/thead */
2359
+ thead: HTMLAttributes<HTMLTableSectionElement>;
2360
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/time */
2361
+ time: TimeHTMLAttributes<HTMLElement>;
2362
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/title */
2363
+ title: HTMLAttributes<HTMLTitleElement>;
2364
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tr */
2365
+ tr: HTMLAttributes<HTMLTableRowElement>;
2366
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/track */
2367
+ track: TrackHTMLAttributes<HTMLTrackElement>;
2368
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/u */
2369
+ u: HTMLAttributes<HTMLElement>;
2370
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ul */
2371
+ ul: HTMLAttributes<HTMLUListElement>;
2372
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/var */
2373
+ var: HTMLAttributes<HTMLElement>;
2374
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video */
2375
+ video: VideoHTMLAttributes<HTMLVideoElement>;
2376
+ /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/wbr */
2377
+ wbr: HTMLAttributes<HTMLElement>;
2378
+ }
2379
+ /** @type {HTMLElementDeprecatedTagNameMap} */
2380
+ interface HTMLElementDeprecatedTags {
2381
+ /**
2382
+ * @deprecated The `<big>` element is deprecated and should not be used.
2383
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/big
2384
+ */
2385
+ big: HTMLAttributes<HTMLElement>;
2386
+ /**
2387
+ * @deprecated The `<keygen>` element is deprecated and should not be used.
2388
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/keygen
2389
+ */
2390
+ keygen: KeygenHTMLAttributes<HTMLElement>;
2391
+ /**
2392
+ * @deprecated The `<menuitem>` element is deprecated and should not be used.
2393
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/menuitem
2394
+ */
2395
+ menuitem: HTMLAttributes<HTMLElement>;
2396
+ /**
2397
+ * @deprecated The `<noindex>` element is deprecated and should not be used.
2398
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/noindex
2399
+ */
2400
+ noindex: HTMLAttributes<HTMLElement>;
2401
+ /**
2402
+ * @deprecated The `<param>` element is deprecated and should not be used.
2403
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/param
2404
+ */
2405
+ param: ParamHTMLAttributes<HTMLParamElement>;
2406
+ }
2407
+ /** @type {SVGElementTagNameMap} */
2408
+ interface SVGElementTags {
2409
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/animate */
2410
+ animate: AnimateSVGAttributes<SVGAnimateElement>;
2411
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/animateMotion */
2412
+ animateMotion: AnimateMotionSVGAttributes<SVGAnimateMotionElement>;
2413
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/animateTransform */
2414
+ animateTransform: AnimateTransformSVGAttributes<SVGAnimateTransformElement>;
2415
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/circle */
2416
+ circle: CircleSVGAttributes<SVGCircleElement>;
2417
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/clipPath */
2418
+ clipPath: ClipPathSVGAttributes<SVGClipPathElement>;
2419
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/defs */
2420
+ defs: DefsSVGAttributes<SVGDefsElement>;
2421
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/desc */
2422
+ desc: DescSVGAttributes<SVGDescElement>;
2423
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/ellipse */
2424
+ ellipse: EllipseSVGAttributes<SVGEllipseElement>;
2425
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feBlend */
2426
+ feBlend: FeBlendSVGAttributes<SVGFEBlendElement>;
2427
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feColorMatrix */
2428
+ feColorMatrix: FeColorMatrixSVGAttributes<SVGFEColorMatrixElement>;
2429
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feComponentTransfer */
2430
+ feComponentTransfer: FeComponentTransferSVGAttributes<SVGFEComponentTransferElement>;
2431
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feComposite */
2432
+ feComposite: FeCompositeSVGAttributes<SVGFECompositeElement>;
2433
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feConvolveMatrix */
2434
+ feConvolveMatrix: FeConvolveMatrixSVGAttributes<SVGFEConvolveMatrixElement>;
2435
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feDiffuseLighting */
2436
+ feDiffuseLighting: FeDiffuseLightingSVGAttributes<SVGFEDiffuseLightingElement>;
2437
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feDisplacementMap */
2438
+ feDisplacementMap: FeDisplacementMapSVGAttributes<SVGFEDisplacementMapElement>;
2439
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feDistantLight */
2440
+ feDistantLight: FeDistantLightSVGAttributes<SVGFEDistantLightElement>;
2441
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feDropShadow */
2442
+ feDropShadow: FeDropShadowSVGAttributes<SVGFEDropShadowElement>;
2443
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feFlood */
2444
+ feFlood: FeFloodSVGAttributes<SVGFEFloodElement>;
2445
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feFuncA */
2446
+ feFuncA: FeFuncSVGAttributes<SVGFEFuncAElement>;
2447
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feFuncB */
2448
+ feFuncB: FeFuncSVGAttributes<SVGFEFuncBElement>;
2449
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feFuncG */
2450
+ feFuncG: FeFuncSVGAttributes<SVGFEFuncGElement>;
2451
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feFuncR */
2452
+ feFuncR: FeFuncSVGAttributes<SVGFEFuncRElement>;
2453
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feGaussianBlur */
2454
+ feGaussianBlur: FeGaussianBlurSVGAttributes<SVGFEGaussianBlurElement>;
2455
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feImage */
2456
+ feImage: FeImageSVGAttributes<SVGFEImageElement>;
2457
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feMerge */
2458
+ feMerge: FeMergeSVGAttributes<SVGFEMergeElement>;
2459
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feMergeNode */
2460
+ feMergeNode: FeMergeNodeSVGAttributes<SVGFEMergeNodeElement>;
2461
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feMorphology */
2462
+ feMorphology: FeMorphologySVGAttributes<SVGFEMorphologyElement>;
2463
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feOffset */
2464
+ feOffset: FeOffsetSVGAttributes<SVGFEOffsetElement>;
2465
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/fePointLight */
2466
+ fePointLight: FePointLightSVGAttributes<SVGFEPointLightElement>;
2467
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feSpecularLighting */
2468
+ feSpecularLighting: FeSpecularLightingSVGAttributes<SVGFESpecularLightingElement>;
2469
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feSpotLight */
2470
+ feSpotLight: FeSpotLightSVGAttributes<SVGFESpotLightElement>;
2471
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feTile */
2472
+ feTile: FeTileSVGAttributes<SVGFETileElement>;
2473
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feTurbulence */
2474
+ feTurbulence: FeTurbulanceSVGAttributes<SVGFETurbulenceElement>;
2475
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/filter */
2476
+ filter: FilterSVGAttributes<SVGFilterElement>;
2477
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/foreignObject */
2478
+ foreignObject: ForeignObjectSVGAttributes<SVGForeignObjectElement>;
2479
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/g */
2480
+ g: GSVGAttributes<SVGGElement>;
2481
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/image */
2482
+ image: ImageSVGAttributes<SVGImageElement>;
2483
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/line */
2484
+ line: LineSVGAttributes<SVGLineElement>;
2485
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/linearGradient */
2486
+ linearGradient: LinearGradientSVGAttributes<SVGLinearGradientElement>;
2487
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/marker */
2488
+ marker: MarkerSVGAttributes<SVGMarkerElement>;
2489
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/mask */
2490
+ mask: MaskSVGAttributes<SVGMaskElement>;
2491
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/metadata */
2492
+ metadata: MetadataSVGAttributes<SVGMetadataElement>;
2493
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/mpath */
2494
+ mpath: MPathSVGAttributes<SVGMPathElement>;
2495
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/path */
2496
+ path: PathSVGAttributes<SVGPathElement>;
2497
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/pattern */
2498
+ pattern: PatternSVGAttributes<SVGPatternElement>;
2499
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/polygon */
2500
+ polygon: PolygonSVGAttributes<SVGPolygonElement>;
2501
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/polyline */
2502
+ polyline: PolylineSVGAttributes<SVGPolylineElement>;
2503
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/radialGradient */
2504
+ radialGradient: RadialGradientSVGAttributes<SVGRadialGradientElement>;
2505
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/rect */
2506
+ rect: RectSVGAttributes<SVGRectElement>;
2507
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/set */
2508
+ set: SetSVGAttributes<SVGSetElement>;
2509
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/stop */
2510
+ stop: StopSVGAttributes<SVGStopElement>;
2511
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/svg */
2512
+ svg: SvgSVGAttributes<SVGSVGElement>;
2513
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/switch */
2514
+ switch: SwitchSVGAttributes<SVGSwitchElement>;
2515
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/symbol */
2516
+ symbol: SymbolSVGAttributes<SVGSymbolElement>;
2517
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/text */
2518
+ text: TextSVGAttributes<SVGTextElement>;
2519
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/textPath */
2520
+ textPath: TextPathSVGAttributes<SVGTextPathElement>;
2521
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/tspan */
2522
+ tspan: TSpanSVGAttributes<SVGTSpanElement>;
2523
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/use */
2524
+ use: UseSVGAttributes<SVGUseElement>;
2525
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/view */
2526
+ view: ViewSVGAttributes<SVGViewElement>;
2527
+ }
2528
+ /** Interface for semantic tags that start with "s-". */
2529
+ interface SemanticTags { [key: `s-${ string }`]: HTMLAttributes<HTMLElement>; }
2530
+ /** Interface for registering custom element tags. */
2531
+ interface CustomElementTags {}
2532
+
2533
+ interface IntrinsicElements extends
2534
+ HTMLElementTags,
2535
+ HTMLElementDeprecatedTags,
2536
+ SVGElementTags,
2537
+ SemanticTags,
2538
+ CustomElementTags {}
2539
+ }
2540
+
2541
+ // eslint-disable-next-line no-var
2542
+ var as: {
2543
+ /**
2544
+ * Informs the compiler that the value should be bound as a property value.\
2545
+ * This binds the expression value as a property, using the `.` syntax e.g `.key=${value}`\
2546
+ * This function call is removed during compilation, therefore it has no runtime effect.
2547
+ */
2548
+ prop: <T>(value: T) => T;
2549
+ /**
2550
+ * Informs the compiler that the value should be bound as a boolean attribute.\
2551
+ * This allows the template to bind the value using the `?` syntax, e.g. `?disabled=${true}`\
2552
+ * This function call is removed during compilation, therefore it has no runtime effect.
2553
+ */
2554
+ bool: (value: boolean) => boolean;
2555
+ };
2556
+ }