@magnet-js/common 0.1.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 (58) hide show
  1. package/LICENSE +21 -0
  2. package/esm/_dnt.shims.d.ts +2 -0
  3. package/esm/_dnt.shims.d.ts.map +1 -0
  4. package/esm/_dnt.shims.js +57 -0
  5. package/esm/common.d.ts +80 -0
  6. package/esm/common.d.ts.map +1 -0
  7. package/esm/common.js +22 -0
  8. package/esm/dom/aria.d.ts +266 -0
  9. package/esm/dom/aria.d.ts.map +1 -0
  10. package/esm/dom/aria.js +87 -0
  11. package/esm/dom/globalAttributes.d.ts +95 -0
  12. package/esm/dom/globalAttributes.d.ts.map +1 -0
  13. package/esm/dom/globalAttributes.js +1 -0
  14. package/esm/dom/html.d.ts +1008 -0
  15. package/esm/dom/html.d.ts.map +1 -0
  16. package/esm/dom/html.js +84 -0
  17. package/esm/dom/mathML.d.ts +213 -0
  18. package/esm/dom/mathML.d.ts.map +1 -0
  19. package/esm/dom/mathML.js +47 -0
  20. package/esm/dom/shadowable.d.ts +24 -0
  21. package/esm/dom/shadowable.d.ts.map +1 -0
  22. package/esm/dom/shadowable.js +31 -0
  23. package/esm/dom/svg.d.ts +884 -0
  24. package/esm/dom/svg.d.ts.map +1 -0
  25. package/esm/dom/svg.js +61 -0
  26. package/esm/mod.d.ts +8 -0
  27. package/esm/mod.d.ts.map +1 -0
  28. package/esm/mod.js +7 -0
  29. package/esm/package.json +3 -0
  30. package/package.json +23 -0
  31. package/script/_dnt.shims.d.ts +2 -0
  32. package/script/_dnt.shims.d.ts.map +1 -0
  33. package/script/_dnt.shims.js +60 -0
  34. package/script/common.d.ts +80 -0
  35. package/script/common.d.ts.map +1 -0
  36. package/script/common.js +53 -0
  37. package/script/dom/aria.d.ts +266 -0
  38. package/script/dom/aria.d.ts.map +1 -0
  39. package/script/dom/aria.js +91 -0
  40. package/script/dom/globalAttributes.d.ts +95 -0
  41. package/script/dom/globalAttributes.d.ts.map +1 -0
  42. package/script/dom/globalAttributes.js +2 -0
  43. package/script/dom/html.d.ts +1008 -0
  44. package/script/dom/html.d.ts.map +1 -0
  45. package/script/dom/html.js +90 -0
  46. package/script/dom/mathML.d.ts +213 -0
  47. package/script/dom/mathML.d.ts.map +1 -0
  48. package/script/dom/mathML.js +53 -0
  49. package/script/dom/shadowable.d.ts +24 -0
  50. package/script/dom/shadowable.d.ts.map +1 -0
  51. package/script/dom/shadowable.js +35 -0
  52. package/script/dom/svg.d.ts +884 -0
  53. package/script/dom/svg.d.ts.map +1 -0
  54. package/script/dom/svg.js +67 -0
  55. package/script/mod.d.ts +8 -0
  56. package/script/mod.d.ts.map +1 -0
  57. package/script/mod.js +23 -0
  58. package/script/package.json +3 -0
@@ -0,0 +1,1008 @@
1
+ import type { Absent, Action, HTMLGlobalAttributes } from "./globalAttributes.js";
2
+ import type { AriaAttributeKey, AriaAttributes, NamingNotAllowed } from "./aria.js";
3
+ import type { Falsy, MaybeArray, MaybeSignal } from "../common.js";
4
+ export type HTMLAttributes<T extends {
5
+ tagName: string;
6
+ }> = (Lowercase<T["tagName"]> extends keyof HTMLElementAttributes<T> ? HTMLElementAttributes<T>[Lowercase<T["tagName"]>] : HTMLGlobalAttributes<T>) & (Lowercase<T["tagName"]> extends keyof HTMLElementAriaAttributes ? Pick<AriaAttributes, HTMLElementAriaAttributes[Lowercase<T["tagName"]>]> : AriaAttributes) & {
7
+ _use?: Action<T> | Falsy;
8
+ };
9
+ /**
10
+ * Map from standard HTML tag names to the ARIA attribute names applicable to
11
+ * each tag.
12
+ *
13
+ * The value is either:
14
+ * - `never` — no ARIA attributes are allowed.
15
+ * - a single allowed ARIA attribute key.
16
+ * - `Exclude<keyof AriaAttributes, ...>` — all attributes except the listed
17
+ * exclusions.
18
+ *
19
+ * Based on the W3C "ARIA in HTML" specification.
20
+ *
21
+ * @see https://www.w3.org/TR/html-aria/#docconformance
22
+ */
23
+ export interface HTMLElementAriaAttributes {
24
+ base: never;
25
+ col: never;
26
+ colgroup: never;
27
+ datalist: never;
28
+ head: never;
29
+ html: never;
30
+ link: never;
31
+ map: never;
32
+ meta: never;
33
+ noscript: never;
34
+ script: never;
35
+ slot: never;
36
+ source: never;
37
+ style: never;
38
+ template: never;
39
+ title: never;
40
+ track: never;
41
+ param: never;
42
+ br: "aria-hidden";
43
+ picture: "aria-hidden";
44
+ wbr: "aria-hidden";
45
+ abbr: NamingNotAllowed;
46
+ b: NamingNotAllowed;
47
+ bdi: NamingNotAllowed;
48
+ bdo: NamingNotAllowed;
49
+ body: Exclude<AriaAttributeKey, "aria-hidden" | "aria-label" | "aria-labelledby">;
50
+ caption: NamingNotAllowed;
51
+ cite: NamingNotAllowed;
52
+ code: NamingNotAllowed;
53
+ data: NamingNotAllowed;
54
+ del: NamingNotAllowed;
55
+ div: NamingNotAllowed;
56
+ em: NamingNotAllowed;
57
+ figcaption: NamingNotAllowed;
58
+ i: NamingNotAllowed;
59
+ ins: NamingNotAllowed;
60
+ kbd: NamingNotAllowed;
61
+ legend: NamingNotAllowed;
62
+ mark: NamingNotAllowed;
63
+ p: NamingNotAllowed;
64
+ pre: NamingNotAllowed;
65
+ q: NamingNotAllowed;
66
+ rp: NamingNotAllowed;
67
+ rt: NamingNotAllowed;
68
+ s: NamingNotAllowed;
69
+ samp: NamingNotAllowed;
70
+ small: NamingNotAllowed;
71
+ span: NamingNotAllowed;
72
+ strong: NamingNotAllowed;
73
+ sub: NamingNotAllowed;
74
+ sup: NamingNotAllowed;
75
+ time: NamingNotAllowed;
76
+ u: NamingNotAllowed;
77
+ var: NamingNotAllowed;
78
+ meter: Exclude<keyof AriaAttributes, "aria-valuemax" | "aria-valuemin">;
79
+ option: Exclude<keyof AriaAttributes, "aria-selected">;
80
+ progress: Exclude<keyof AriaAttributes, "aria-valuemax">;
81
+ select: Exclude<keyof AriaAttributes, "aria-multiselectable">;
82
+ }
83
+ export interface HTMLElementAttributes<T> {
84
+ /** HTML element attributes for the a element. */
85
+ a: HTMLAnchorAttributes<T>;
86
+ /** HTML element attributes for the area element. */
87
+ area: HTMLAreaAttributes<T>;
88
+ /** HTML element attributes for the audio element. */
89
+ audio: HTMLAudioAttributes<T>;
90
+ /** HTML element attributes for the base element. */
91
+ base: HTMLBaseAttributes<T>;
92
+ /** HTML element attributes for the blockquote element. */
93
+ blockquote: HTMLBlockQuoteAttributes<T>;
94
+ /** HTML element attributes for the button element. */
95
+ button: HTMLButtonAttributes<T>;
96
+ /** HTML element attributes for the canvas element. */
97
+ canvas: HTMLCanvasAttributes<T>;
98
+ /** HTML element attributes for the col element. */
99
+ col: HTMLTableColumnAttributes<T>;
100
+ /** HTML element attributes for the colgroup element. */
101
+ colgroup: HTMLTableColumnGroupAttributes<T>;
102
+ /** HTML element attributes for the data element. */
103
+ data: HTMLDataElementAttributes<T>;
104
+ /** HTML element attributes for the del element. */
105
+ del: HTMLDeletedTextAttributes<T>;
106
+ /** HTML element attributes for the details element. */
107
+ details: HTMLDetailsAttributes<T>;
108
+ /** HTML element attributes for the dialog element. */
109
+ dialog: HTMLDialogAttributes<T>;
110
+ /** HTML element attributes for the embed element. */
111
+ embed: HTMLEmbedAttributes<T>;
112
+ /** HTML element attributes for the fieldset element. */
113
+ fieldset: HTMLFieldSetAttributes<T>;
114
+ /** HTML element attributes for the font element. */
115
+ font: HTMLFontAttributes<T>;
116
+ /** HTML element attributes for the form element. */
117
+ form: HTMLFormAttributes<T>;
118
+ /** HTML element attributes for the frame element. */
119
+ frame: HTMLFrameAttributes<T>;
120
+ /** HTML element attributes for the frameset element. */
121
+ frameset: HTMLFrameSetAttributes<T>;
122
+ /** HTML element attributes for the head element. */
123
+ head: HTMLHeadAttributes<T>;
124
+ /** HTML element attributes for the html element. */
125
+ html: HTMLHtmlAttributes<T>;
126
+ /** HTML element attributes for the iframe element. */
127
+ iframe: HTMLIFrameAttributes<T>;
128
+ /** HTML element attributes for the img element. */
129
+ img: HTMLImageAttributes<T>;
130
+ /** HTML element attributes for the input element. */
131
+ input: HTMLInputAttributes<T>;
132
+ /** HTML element attributes for the ins element. */
133
+ ins: HTMLInsertedTextAttributes<T>;
134
+ /** HTML element attributes for the label element. */
135
+ label: HTMLLabelAttributes<T>;
136
+ /** HTML element attributes for the li element. */
137
+ li: HTMLLIAttributes<T>;
138
+ /** HTML element attributes for the link element. */
139
+ link: HTMLLinkAttributes<T>;
140
+ /** HTML element attributes for the map element. */
141
+ map: HTMLMapAttributes<T>;
142
+ /** HTML element attributes for the meta element. */
143
+ meta: HTMLMetaAttributes<T>;
144
+ /** HTML element attributes for the meter element. */
145
+ meter: HTMLMeterAttributes<T>;
146
+ /** HTML element attributes for the object element. */
147
+ object: HTMLObjectAttributes<T>;
148
+ /** HTML element attributes for the ol element. */
149
+ ol: HTMLOListAttributes<T>;
150
+ /** HTML element attributes for the optgroup element. */
151
+ optgroup: HTMLOptGroupAttributes<T>;
152
+ /** HTML element attributes for the option element. */
153
+ option: HTMLOptionAttributes<T>;
154
+ /** HTML element attributes for the output element. */
155
+ output: HTMLOutputAttributes<T>;
156
+ /** HTML element attributes for the progress element. */
157
+ progress: HTMLProgressAttributes<T>;
158
+ /** HTML element attributes for the q element. */
159
+ q: HTMLQuoteAttributes<T>;
160
+ /** HTML element attributes for the script element. */
161
+ script: HTMLScriptAttributes<T>;
162
+ /** HTML element attributes for the select element. */
163
+ select: HTMLSelectAttributes<T>;
164
+ /** HTML element attributes for the slot element. */
165
+ slot: HTMLSlotAttributes<T>;
166
+ /** HTML element attributes for the source element. */
167
+ source: HTMLSourceAttributes<T>;
168
+ /** HTML element attributes for the style element. */
169
+ style: HTMLStyleAttributes<T>;
170
+ /** HTML element attributes for the td element. */
171
+ td: HTMLTableCellAttributes<T>;
172
+ /** HTML element attributes for the template element. */
173
+ template: HTMLTemplateAttributes<T>;
174
+ /** HTML element attributes for the textarea element. */
175
+ textarea: HTMLTextAreaAttributes<T>;
176
+ /** HTML element attributes for the th element. */
177
+ th: HTMLTableHeaderCellAttributes<T>;
178
+ /** HTML element attributes for the time element. */
179
+ time: HTMLTimeAttributes<T>;
180
+ /** HTML element attributes for the track element. */
181
+ track: HTMLTrackAttributes<T>;
182
+ /** HTML element attributes for the video element. */
183
+ video: HTMLVideoAttributes<T>;
184
+ }
185
+ /**
186
+ * HTML element attributes for the a element.
187
+ *
188
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/a#attributes
189
+ */
190
+ export interface HTMLAnchorAttributes<T> extends HTMLGlobalAttributes<T> {
191
+ attributionsrc?: MaybeSignal<string | boolean | Absent>;
192
+ download?: MaybeSignal<string | boolean | Absent>;
193
+ href?: MaybeSignal<string | Absent>;
194
+ hreflang?: MaybeSignal<string | Absent>;
195
+ ping?: MaybeSignal<string | Absent>;
196
+ referrerpolicy?: MaybeSignal<ReferrerPolicy | Absent>;
197
+ rel?: MaybeSignal<MaybeArray<AnchorAndAreaRel> | Absent>;
198
+ target?: MaybeSignal<BrowsingContext | "_unfencedTop" | Absent>;
199
+ type?: MaybeSignal<string | Absent>;
200
+ }
201
+ /**
202
+ * HTML element attributes for the area element.
203
+ *
204
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/area#attributes
205
+ */
206
+ export interface HTMLAreaAttributes<T> extends HTMLGlobalAttributes<T> {
207
+ alt?: MaybeSignal<string | Absent>;
208
+ coords?: MaybeSignal<string | Absent>;
209
+ download?: MaybeSignal<string | boolean | Absent>;
210
+ href?: MaybeSignal<string | Absent>;
211
+ ping?: MaybeSignal<string | Absent>;
212
+ referrerpolicy?: MaybeSignal<ReferrerPolicy | Absent>;
213
+ rel?: MaybeSignal<MaybeArray<AnchorAndAreaRel> | Absent>;
214
+ shape?: MaybeSignal<"rect" | "circle" | "poly" | "default" | Absent>;
215
+ target?: MaybeSignal<BrowsingContext | Absent>;
216
+ }
217
+ /**
218
+ * HTML element attributes for the audio element.
219
+ *
220
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/audio#attributes
221
+ */
222
+ export interface HTMLAudioAttributes<T> extends HTMLGlobalAttributes<T> {
223
+ autoplay?: MaybeSignal<"" | boolean | Absent>;
224
+ controls?: MaybeSignal<"" | boolean | Absent>;
225
+ controlslist?: MaybeSignal<MaybeArray<ControlListItem> | Absent>;
226
+ crossorigin?: MaybeSignal<"" | "anonymous" | "use-credentials" | Absent>;
227
+ disableremoteplayback?: MaybeSignal<boolean | Absent>;
228
+ loading?: MaybeSignal<Loading | Absent>;
229
+ loop?: MaybeSignal<boolean | Absent>;
230
+ muted?: MaybeSignal<boolean | Absent>;
231
+ preload?: MaybeSignal<"" | "auto" | "metadata" | "none" | Absent>;
232
+ src?: MaybeSignal<string | Absent>;
233
+ }
234
+ /**
235
+ * HTML element attributes for the base element.
236
+ *
237
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/base#attributes
238
+ */
239
+ export interface HTMLBaseAttributes<T> extends HTMLGlobalAttributes<T> {
240
+ href?: MaybeSignal<string | Absent>;
241
+ target?: MaybeSignal<BrowsingContext | Absent>;
242
+ }
243
+ /**
244
+ * HTML element attributes for the blockquote element.
245
+ *
246
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/blockquote#attributes
247
+ */
248
+ export interface HTMLBlockQuoteAttributes<T> extends HTMLGlobalAttributes<T> {
249
+ cite?: MaybeSignal<string | Absent>;
250
+ }
251
+ /**
252
+ * HTML element attributes for the button element.
253
+ *
254
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/button#attributes
255
+ */
256
+ export interface HTMLButtonAttributes<T> extends HTMLGlobalAttributes<T> {
257
+ autofocus?: MaybeSignal<"" | boolean | Absent>;
258
+ command?: MaybeSignal<"show-modal" | "close" | "request-close" | "show-popover" | "hide-popover" | "toggle-popover" | `--${string}` | Absent>;
259
+ commandfor?: MaybeSignal<string | Absent>;
260
+ disabled?: MaybeSignal<"" | boolean | Absent>;
261
+ form?: MaybeSignal<string | Absent>;
262
+ formaction?: MaybeSignal<string | Absent>;
263
+ formenctype?: MaybeSignal<FormEncodingType | Absent>;
264
+ formmethod?: MaybeSignal<FormMethod | Absent>;
265
+ formnovalidate?: MaybeSignal<"" | boolean | Absent>;
266
+ formtarget?: MaybeSignal<BrowsingContext | Absent>;
267
+ name?: MaybeSignal<string | Absent>;
268
+ popovertarget?: MaybeSignal<string | Absent>;
269
+ popovertargetaction?: MaybeSignal<PopoverTargetAction | Absent>;
270
+ type?: MaybeSignal<ButtonType | Absent>;
271
+ value?: MaybeSignal<string | Absent>;
272
+ }
273
+ /**
274
+ * HTML element attributes for the canvas element.
275
+ *
276
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/canvas#attributes
277
+ */
278
+ export interface HTMLCanvasAttributes<T> extends HTMLGlobalAttributes<T> {
279
+ height?: MaybeSignal<string | number | Absent>;
280
+ width?: MaybeSignal<string | number | Absent>;
281
+ }
282
+ /**
283
+ * HTML element attributes for the col element.
284
+ *
285
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/col#attributes
286
+ */
287
+ export interface HTMLTableColumnAttributes<T> extends HTMLGlobalAttributes<T> {
288
+ span?: MaybeSignal<string | number | Absent>;
289
+ }
290
+ /**
291
+ * HTML element attributes for the colgroup element.
292
+ *
293
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/colgroup#attributes
294
+ */
295
+ export interface HTMLTableColumnGroupAttributes<T> extends HTMLTableColumnAttributes<T> {
296
+ }
297
+ /**
298
+ * HTML element attributes for the data element.
299
+ *
300
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/data#attributes
301
+ */
302
+ export interface HTMLDataElementAttributes<T> extends HTMLGlobalAttributes<T> {
303
+ value?: MaybeSignal<string | number | Absent>;
304
+ }
305
+ /**
306
+ * HTML element attributes for the del element.
307
+ *
308
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/del#attributes
309
+ */
310
+ export interface HTMLDeletedTextAttributes<T> extends HTMLGlobalAttributes<T> {
311
+ cite?: MaybeSignal<string | Absent>;
312
+ datetime?: MaybeSignal<string | Absent>;
313
+ }
314
+ /**
315
+ * HTML element attributes for the details element.
316
+ *
317
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/details#attributes
318
+ */
319
+ export interface HTMLDetailsAttributes<T> extends HTMLGlobalAttributes<T> {
320
+ open?: MaybeSignal<"" | boolean | Absent>;
321
+ name?: MaybeSignal<string | Absent>;
322
+ }
323
+ /**
324
+ * HTML element attributes for the dialog element.
325
+ *
326
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/dialog#attributes
327
+ */
328
+ export interface HTMLDialogAttributes<T> extends Omit<HTMLGlobalAttributes<T>, "tabindex"> {
329
+ closedby?: MaybeSignal<"any" | "close-request" | "none" | Absent>;
330
+ open?: MaybeSignal<"" | boolean | Absent>;
331
+ }
332
+ /**
333
+ * HTML element attributes for the embed element.
334
+ *
335
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/embed#attributes
336
+ */
337
+ export interface HTMLEmbedAttributes<T> extends HTMLCanvasAttributes<T> {
338
+ src?: MaybeSignal<string | Absent>;
339
+ type?: MaybeSignal<string | Absent>;
340
+ }
341
+ /**
342
+ * HTML element attributes for the fieldset element.
343
+ *
344
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/fieldset#attributes
345
+ */
346
+ export interface HTMLFieldSetAttributes<T> extends HTMLGlobalAttributes<T> {
347
+ disabled?: MaybeSignal<"" | boolean | Absent>;
348
+ form?: MaybeSignal<string | Absent>;
349
+ name?: MaybeSignal<string | Absent>;
350
+ }
351
+ /**
352
+ * HTML element attributes for the font element.
353
+ *
354
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/font#attributes
355
+ */
356
+ export interface HTMLFontAttributes<T> extends HTMLGlobalAttributes<T> {
357
+ color?: MaybeSignal<string | Absent>;
358
+ face?: MaybeSignal<string | Absent>;
359
+ size?: MaybeSignal<string | number | Absent>;
360
+ }
361
+ /**
362
+ * HTML element attributes for the form element.
363
+ *
364
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/form#attributes
365
+ */
366
+ export interface HTMLFormAttributes<T> extends HTMLGlobalAttributes<T> {
367
+ accept?: MaybeSignal<string | Absent>;
368
+ acceptcharset?: MaybeSignal<`${"U" | "u"}${"T" | "t"}${"F" | "f"}-8` | Absent>;
369
+ action?: MaybeSignal<string | Absent>;
370
+ autocomplete?: MaybeSignal<"on" | "off" | Absent>;
371
+ enctype?: MaybeSignal<FormEncodingType | Absent>;
372
+ method?: MaybeSignal<FormMethod | Absent>;
373
+ name?: MaybeSignal<string | Absent>;
374
+ novalidate?: MaybeSignal<"" | boolean | Absent>;
375
+ rel?: MaybeSignal<FormRel | Absent>;
376
+ target?: MaybeSignal<BrowsingContext | "_unfencedTop" | Absent>;
377
+ }
378
+ /**
379
+ * HTML element attributes for the frame element.
380
+ *
381
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/frame#attributes
382
+ */
383
+ export interface HTMLFrameAttributes<T> extends HTMLGlobalAttributes<T> {
384
+ src?: MaybeSignal<string | Absent>;
385
+ name?: MaybeSignal<string | Absent>;
386
+ noresize?: MaybeSignal<"" | boolean | Absent>;
387
+ scrolling?: MaybeSignal<"yes" | "no" | Absent>;
388
+ marginheight?: MaybeSignal<string | number | Absent>;
389
+ marginwidth?: MaybeSignal<string | number | Absent>;
390
+ frameborder?: MaybeSignal<string | number | Absent>;
391
+ }
392
+ /**
393
+ * HTML element attributes for the frameset element.
394
+ *
395
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/frameset#attributes
396
+ */
397
+ export interface HTMLFrameSetAttributes<T> extends HTMLGlobalAttributes<T> {
398
+ cols?: MaybeSignal<string | number | Absent>;
399
+ rows?: MaybeSignal<string | number | Absent>;
400
+ }
401
+ /**
402
+ * HTML element attributes for the head element.
403
+ *
404
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/head#attributes
405
+ */
406
+ export interface HTMLHeadAttributes<T> extends HTMLGlobalAttributes<T> {
407
+ profile?: MaybeSignal<MaybeArray<string> | string | Absent>;
408
+ }
409
+ /**
410
+ * HTML element attributes for the html element.
411
+ *
412
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/html#attributes
413
+ */
414
+ export interface HTMLHtmlAttributes<T> extends HTMLGlobalAttributes<T> {
415
+ version?: MaybeSignal<string | Absent>;
416
+ xmlns?: MaybeSignal<string | Absent>;
417
+ }
418
+ /**
419
+ * HTML element attributes for the iframe element.
420
+ *
421
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/iframe#attributes
422
+ */
423
+ export interface HTMLIFrameAttributes<T> extends HTMLGlobalAttributes<T> {
424
+ allow?: MaybeSignal<string | Absent>;
425
+ allowfullscreen?: MaybeSignal<"" | boolean | Absent>;
426
+ allowpaymentrequest?: MaybeSignal<"" | boolean | Absent>;
427
+ browsingtopics?: MaybeSignal<"" | boolean | Absent>;
428
+ credentialless?: MaybeSignal<"" | boolean | Absent>;
429
+ csp?: MaybeSignal<string | Absent>;
430
+ height?: MaybeSignal<string | number | Absent>;
431
+ loading?: MaybeSignal<Loading | Absent>;
432
+ name?: MaybeSignal<string | Absent>;
433
+ privatetoken?: MaybeSignal<string | Absent>;
434
+ referrerpolicy?: MaybeSignal<ReferrerPolicy | Absent>;
435
+ sandbox?: MaybeSignal<MaybeArray<SandboxToken> | SandboxToken | Absent>;
436
+ src?: MaybeSignal<string | Absent>;
437
+ srcdoc?: MaybeSignal<string | Absent>;
438
+ width?: MaybeSignal<string | number | Absent>;
439
+ }
440
+ /**
441
+ * HTML element attributes for the img element.
442
+ *
443
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/img#attributes
444
+ */
445
+ export interface HTMLImageAttributes<T> extends HTMLGlobalAttributes<T> {
446
+ alt?: MaybeSignal<string | boolean | Absent>;
447
+ attributionsrc?: MaybeSignal<string | boolean | Absent>;
448
+ crossorigin?: MaybeSignal<CrossOrigin | boolean | Absent>;
449
+ decoding?: MaybeSignal<Decoding | Absent>;
450
+ fetchpriority?: MaybeSignal<FetchPriority | Absent>;
451
+ height?: MaybeSignal<string | number | Absent>;
452
+ ismap?: MaybeSignal<"" | boolean | Absent>;
453
+ loading?: MaybeSignal<Loading | Absent>;
454
+ referrerpolicy?: MaybeSignal<ReferrerPolicy | Absent>;
455
+ sizes?: MaybeSignal<string | Absent>;
456
+ src?: MaybeSignal<string | Absent>;
457
+ srcset?: MaybeSignal<string | Absent>;
458
+ width?: MaybeSignal<string | number | Absent>;
459
+ }
460
+ /**
461
+ * HTML element attributes for the input element.
462
+ *
463
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#attributes
464
+ */
465
+ export interface HTMLInputAttributes<T> extends HTMLGlobalAttributes<T> {
466
+ accept?: MaybeSignal<string | Absent>;
467
+ alpha?: MaybeSignal<"" | boolean | Absent>;
468
+ alt?: MaybeSignal<string | Absent>;
469
+ autocomplete?: MaybeSignal<AutoComplete | Absent>;
470
+ capture?: MaybeSignal<"user" | "environment" | Absent>;
471
+ checked?: MaybeSignal<"" | boolean | Absent>;
472
+ colorspace?: MaybeSignal<"limited-srgb" | "display-p3" | Absent>;
473
+ dirname?: MaybeSignal<"ltr" | "rtl" | Absent>;
474
+ disabled?: MaybeSignal<"" | boolean | Absent>;
475
+ form?: MaybeSignal<string | Absent>;
476
+ formaction?: MaybeSignal<string | Absent>;
477
+ formenctype?: MaybeSignal<FormEncodingType | Absent>;
478
+ formmethod?: MaybeSignal<FormMethod | Absent>;
479
+ formnovalidate?: MaybeSignal<"" | boolean | Absent>;
480
+ formtarget?: MaybeSignal<BrowsingContext | Absent>;
481
+ height?: MaybeSignal<string | number | Absent>;
482
+ inputmode?: MaybeSignal<InputMode | Absent>;
483
+ list?: MaybeSignal<string | Absent>;
484
+ max?: MaybeSignal<string | number | Absent>;
485
+ maxlength?: MaybeSignal<string | number | Absent>;
486
+ min?: MaybeSignal<string | number | Absent>;
487
+ minlength?: MaybeSignal<string | number | Absent>;
488
+ multiple?: MaybeSignal<"" | boolean | Absent>;
489
+ name?: MaybeSignal<string | Absent>;
490
+ pattern?: MaybeSignal<string | Absent>;
491
+ placeholder?: MaybeSignal<string | number | Absent>;
492
+ popovertarget?: MaybeSignal<string | Absent>;
493
+ popovertargetaction?: MaybeSignal<PopoverTargetAction | Absent>;
494
+ readonly?: MaybeSignal<"" | boolean | Absent>;
495
+ required?: MaybeSignal<"" | boolean | Absent>;
496
+ size?: MaybeSignal<string | number | Absent>;
497
+ src?: MaybeSignal<string | Absent>;
498
+ step?: MaybeSignal<string | number | Absent>;
499
+ switch?: MaybeSignal<"" | boolean | Absent>;
500
+ type?: MaybeSignal<InputType | Absent>;
501
+ value?: MaybeSignal<string | number | Absent>;
502
+ width?: MaybeSignal<string | number | Absent>;
503
+ }
504
+ /**
505
+ * HTML element attributes for the ins element.
506
+ *
507
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/ins#attributes
508
+ */
509
+ export interface HTMLInsertedTextAttributes<T> extends HTMLGlobalAttributes<T> {
510
+ cite?: MaybeSignal<string | Absent>;
511
+ datetime?: MaybeSignal<string | Absent>;
512
+ }
513
+ /**
514
+ * HTML element attributes for the label element.
515
+ *
516
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/label#attributes
517
+ */
518
+ export interface HTMLLabelAttributes<T> extends HTMLGlobalAttributes<T> {
519
+ for?: MaybeSignal<string | Absent>;
520
+ }
521
+ /**
522
+ * HTML element attributes for the li element.
523
+ *
524
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/li#attributes
525
+ */
526
+ export interface HTMLLIAttributes<T> extends HTMLGlobalAttributes<T> {
527
+ value?: MaybeSignal<string | number | Absent>;
528
+ }
529
+ /**
530
+ * HTML element attributes for the link element.
531
+ *
532
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/link#attributes
533
+ */
534
+ export interface HTMLLinkAttributes<T> extends HTMLGlobalAttributes<T> {
535
+ as?: MaybeSignal<"audioworklet" | "fetch" | "font" | "image" | "json" | "paintworklet" | "script" | "serviceworker" | "sharedworker" | "style" | "text" | "track" | "worker" | Absent>;
536
+ blocking?: MaybeSignal<"render" | Absent>;
537
+ crossorigin?: MaybeSignal<CrossOrigin | Absent>;
538
+ disabled?: MaybeSignal<"" | boolean | Absent>;
539
+ fetchpriority?: MaybeSignal<FetchPriority | Absent>;
540
+ href?: MaybeSignal<string | Absent>;
541
+ hreflang?: MaybeSignal<string | Absent>;
542
+ imagesizes?: MaybeSignal<string | Absent>;
543
+ imagesrcset?: MaybeSignal<string | Absent>;
544
+ integrity?: MaybeSignal<string | Absent>;
545
+ media?: MaybeSignal<string | Absent>;
546
+ referrerpolicy?: MaybeSignal<ReferrerPolicy | Absent>;
547
+ rel?: MaybeSignal<LinkRel | Absent>;
548
+ sizes?: MaybeSignal<string | Absent>;
549
+ type?: MaybeSignal<string | Absent>;
550
+ }
551
+ /**
552
+ * HTML element attributes for the map element.
553
+ *
554
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/map#attributes
555
+ */
556
+ export interface HTMLMapAttributes<T> extends HTMLGlobalAttributes<T> {
557
+ name?: MaybeSignal<string | Absent>;
558
+ }
559
+ /**
560
+ * HTML element attributes for the meta element.
561
+ *
562
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/meta#attributes
563
+ */
564
+ export interface HTMLMetaAttributes<T> extends HTMLGlobalAttributes<T> {
565
+ charset?: MaybeSignal<string | Absent>;
566
+ content?: MaybeSignal<string | Absent>;
567
+ "http-equiv"?: MaybeSignal<string | Absent>;
568
+ media?: MaybeSignal<string | Absent>;
569
+ name?: MaybeSignal<string | Absent>;
570
+ }
571
+ /**
572
+ * HTML element attributes for the meter element.
573
+ *
574
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/meter#attributes
575
+ */
576
+ export interface HTMLMeterAttributes<T> extends HTMLGlobalAttributes<T> {
577
+ high?: MaybeSignal<string | number | Absent>;
578
+ low?: MaybeSignal<string | number | Absent>;
579
+ max?: MaybeSignal<string | number | Absent>;
580
+ min?: MaybeSignal<string | number | Absent>;
581
+ optimum?: MaybeSignal<string | number | Absent>;
582
+ value?: MaybeSignal<string | number | Absent>;
583
+ }
584
+ /**
585
+ * HTML element attributes for the object element.
586
+ *
587
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/object#attributes
588
+ */
589
+ export interface HTMLObjectAttributes<T> extends HTMLGlobalAttributes<T> {
590
+ archive?: MaybeSignal<MaybeArray<string> | string | Absent>;
591
+ border?: MaybeSignal<string | number | Absent>;
592
+ classid?: MaybeSignal<string | Absent>;
593
+ codebase?: MaybeSignal<string | Absent>;
594
+ codetype?: MaybeSignal<string | Absent>;
595
+ data?: MaybeSignal<string | Absent>;
596
+ declare?: MaybeSignal<"" | boolean | Absent>;
597
+ form?: MaybeSignal<string | Absent>;
598
+ height?: MaybeSignal<string | number | Absent>;
599
+ name?: MaybeSignal<string | Absent>;
600
+ standby?: MaybeSignal<string | Absent>;
601
+ type?: MaybeSignal<string | Absent>;
602
+ usemap?: MaybeSignal<string | Absent>;
603
+ width?: MaybeSignal<string | number | Absent>;
604
+ }
605
+ /**
606
+ * HTML element attributes for the ol element.
607
+ *
608
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/ol#attributes
609
+ */
610
+ export interface HTMLOListAttributes<T> extends HTMLGlobalAttributes<T> {
611
+ reversed?: MaybeSignal<"" | boolean | Absent>;
612
+ start?: MaybeSignal<string | number | Absent>;
613
+ type?: MaybeSignal<"a" | "A" | "i" | "I" | "1" | 1 | Absent>;
614
+ }
615
+ /**
616
+ * HTML element attributes for the optgroup element.
617
+ *
618
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/optgroup#attributes
619
+ */
620
+ export interface HTMLOptGroupAttributes<T> extends HTMLGlobalAttributes<T> {
621
+ disabled?: MaybeSignal<"" | boolean | Absent>;
622
+ label?: MaybeSignal<string | Absent>;
623
+ }
624
+ /**
625
+ * HTML element attributes for the option element.
626
+ *
627
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/option#attributes
628
+ */
629
+ export interface HTMLOptionAttributes<T> extends HTMLGlobalAttributes<T> {
630
+ disabled?: MaybeSignal<"" | boolean | Absent>;
631
+ label?: MaybeSignal<string | Absent>;
632
+ selected?: MaybeSignal<"" | boolean | Absent>;
633
+ value?: MaybeSignal<string | number | Absent>;
634
+ }
635
+ /**
636
+ * HTML element attributes for the output element.
637
+ *
638
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/output#attributes
639
+ */
640
+ export interface HTMLOutputAttributes<T> extends HTMLGlobalAttributes<T> {
641
+ for?: MaybeSignal<string | Absent>;
642
+ form?: MaybeSignal<string | Absent>;
643
+ name?: MaybeSignal<string | Absent>;
644
+ }
645
+ /**
646
+ * HTML element attributes for the progress element.
647
+ *
648
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/progress#attributes
649
+ */
650
+ export interface HTMLProgressAttributes<T> extends HTMLGlobalAttributes<T> {
651
+ max?: MaybeSignal<string | number | Absent>;
652
+ value?: MaybeSignal<string | number | Absent>;
653
+ }
654
+ /**
655
+ * HTML element attributes for the q element.
656
+ *
657
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/q#attributes
658
+ */
659
+ export interface HTMLQuoteAttributes<T> extends HTMLGlobalAttributes<T> {
660
+ cite?: MaybeSignal<string | Absent>;
661
+ }
662
+ /**
663
+ * HTML element attributes for the script element.
664
+ *
665
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/script#attributes
666
+ */
667
+ export interface HTMLScriptAttributes<T> extends HTMLGlobalAttributes<T> {
668
+ async?: MaybeSignal<"" | boolean | Absent>;
669
+ attributionsrc?: MaybeSignal<string | boolean | Absent>;
670
+ blocking?: MaybeSignal<"render" | Absent>;
671
+ crossorigin?: MaybeSignal<CrossOrigin | Absent>;
672
+ defer?: MaybeSignal<"" | boolean | Absent>;
673
+ integrity?: MaybeSignal<string | Absent>;
674
+ nomodule?: MaybeSignal<"" | boolean | Absent>;
675
+ referrerpolicy?: MaybeSignal<ReferrerPolicy | Absent>;
676
+ src?: MaybeSignal<string | Absent>;
677
+ type?: MaybeSignal<string | boolean | Absent>;
678
+ }
679
+ /**
680
+ * HTML element attributes for the select element.
681
+ *
682
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/select#attributes
683
+ */
684
+ export interface HTMLSelectAttributes<T> extends HTMLGlobalAttributes<T> {
685
+ autocomplete?: MaybeSignal<AutoComplete | Absent>;
686
+ autofocus?: MaybeSignal<"" | boolean | Absent>;
687
+ disabled?: MaybeSignal<"" | boolean | Absent>;
688
+ form?: MaybeSignal<string | Absent>;
689
+ multiple?: MaybeSignal<"" | boolean | Absent>;
690
+ name?: MaybeSignal<string | Absent>;
691
+ required?: MaybeSignal<"" | boolean | Absent>;
692
+ size?: MaybeSignal<string | number | Absent>;
693
+ }
694
+ /**
695
+ * HTML element attributes for the slot element.
696
+ *
697
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/slot#attributes
698
+ */
699
+ export interface HTMLSlotAttributes<T> extends HTMLGlobalAttributes<T> {
700
+ name?: MaybeSignal<string | Absent>;
701
+ }
702
+ /**
703
+ * HTML element attributes for the source element.
704
+ *
705
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/source#attributes
706
+ */
707
+ export interface HTMLSourceAttributes<T> extends HTMLGlobalAttributes<T> {
708
+ src?: MaybeSignal<string | Absent>;
709
+ srcset?: MaybeSignal<string | Absent>;
710
+ type?: MaybeSignal<string | Absent>;
711
+ }
712
+ /**
713
+ * HTML element attributes for the style element.
714
+ *
715
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/style#attributes
716
+ */
717
+ export interface HTMLStyleAttributes<T> extends HTMLGlobalAttributes<T> {
718
+ blocking?: MaybeSignal<"render" | Absent>;
719
+ media?: MaybeSignal<string | Absent>;
720
+ }
721
+ /**
722
+ * HTML element attributes for the td element.
723
+ *
724
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/td#attributes
725
+ */
726
+ export interface HTMLTableCellAttributes<T> extends HTMLGlobalAttributes<T> {
727
+ colspan?: MaybeSignal<string | number | Absent>;
728
+ headers?: MaybeSignal<MaybeArray<string> | string | Absent>;
729
+ rowspan?: MaybeSignal<string | number | Absent>;
730
+ }
731
+ /**
732
+ * HTML element attributes for the template element.
733
+ *
734
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/template#attributes
735
+ */
736
+ export interface HTMLTemplateAttributes<T> extends HTMLGlobalAttributes<T> {
737
+ shadowrootmode?: MaybeSignal<ShadowRootMode | Absent>;
738
+ shadowrootclonable?: MaybeSignal<"" | boolean | Absent>;
739
+ shadowrootdelegatesfocus?: MaybeSignal<"" | boolean | Absent>;
740
+ shadowrootcustomelementregistry?: MaybeSignal<"" | boolean | Absent>;
741
+ shadowrootserializable?: MaybeSignal<"" | boolean | Absent>;
742
+ shadowrootslotassignment?: MaybeSignal<SlotAssignmentMode | Absent>;
743
+ }
744
+ /**
745
+ * HTML element attributes for the textarea element.
746
+ *
747
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/textarea#attributes
748
+ */
749
+ export interface HTMLTextAreaAttributes<T> extends HTMLGlobalAttributes<T> {
750
+ autocomplete?: MaybeSignal<AutoComplete | Absent>;
751
+ autocorrect?: MaybeSignal<"" | "on" | "off" | boolean | Absent>;
752
+ autofocus?: MaybeSignal<"" | boolean | Absent>;
753
+ cols?: MaybeSignal<string | number | Absent>;
754
+ dirname?: MaybeSignal<"ltr" | "rtl" | Absent>;
755
+ disabled?: MaybeSignal<"" | boolean | Absent>;
756
+ form?: MaybeSignal<string | Absent>;
757
+ maxlength?: MaybeSignal<string | number | Absent>;
758
+ minlength?: MaybeSignal<string | number | Absent>;
759
+ name?: MaybeSignal<string | Absent>;
760
+ placeholder?: MaybeSignal<string | number | Absent>;
761
+ readonly?: MaybeSignal<"" | boolean | Absent>;
762
+ required?: MaybeSignal<"" | boolean | Absent>;
763
+ rows?: MaybeSignal<string | number | Absent>;
764
+ wrap?: MaybeSignal<"soft" | "hard" | "off" | Absent>;
765
+ }
766
+ /**
767
+ * HTML element attributes for the th element.
768
+ *
769
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/th#attributes
770
+ */
771
+ export interface HTMLTableHeaderCellAttributes<T> extends HTMLGlobalAttributes<T> {
772
+ abbr?: MaybeSignal<string | Absent>;
773
+ colspan?: MaybeSignal<string | number | Absent>;
774
+ headers?: MaybeSignal<MaybeArray<string> | string | Absent>;
775
+ scope?: MaybeSignal<"row" | "col" | "rowgroup" | "colgroup" | Absent>;
776
+ rowspan?: MaybeSignal<string | number | Absent>;
777
+ }
778
+ /**
779
+ * HTML element attributes for the time element.
780
+ *
781
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/time#attributes
782
+ */
783
+ export interface HTMLTimeAttributes<T> extends HTMLGlobalAttributes<T> {
784
+ datetime?: MaybeSignal<string | Absent>;
785
+ }
786
+ /**
787
+ * HTML element attributes for the track element.
788
+ *
789
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/track#attributes
790
+ */
791
+ export interface HTMLTrackAttributes<T> extends HTMLGlobalAttributes<T> {
792
+ default?: MaybeSignal<"" | boolean | Absent>;
793
+ kind?: MaybeSignal<"subtitles" | "captions" | "descriptions" | "chapters" | "metadata" | Absent>;
794
+ label?: MaybeSignal<string | Absent>;
795
+ src?: MaybeSignal<string | Absent>;
796
+ srclang?: MaybeSignal<string | Absent>;
797
+ }
798
+ /**
799
+ * HTML element attributes for the video element.
800
+ *
801
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/video#attributes
802
+ */
803
+ export interface HTMLVideoAttributes<T> extends HTMLGlobalAttributes<T> {
804
+ autoplay?: MaybeSignal<"" | boolean | Absent>;
805
+ controls?: MaybeSignal<"" | boolean | Absent>;
806
+ controlslist?: MaybeSignal<MaybeArray<ControlListItem> | ControlListItem | Absent>;
807
+ crossorigin?: MaybeSignal<"" | "anonymous" | "use-credentials" | Absent>;
808
+ disablepictureinpicture?: MaybeSignal<"" | boolean | Absent>;
809
+ disableremoteplayback?: MaybeSignal<"" | boolean | Absent>;
810
+ height?: MaybeSignal<string | number | Absent>;
811
+ loading?: MaybeSignal<Loading | Absent>;
812
+ loop?: MaybeSignal<"" | boolean | Absent>;
813
+ muted?: MaybeSignal<"" | boolean | Absent>;
814
+ playsinline?: MaybeSignal<"" | boolean | Absent>;
815
+ poster?: MaybeSignal<string | Absent>;
816
+ preload?: MaybeSignal<"auto" | "metadata" | "none" | Absent>;
817
+ src?: MaybeSignal<string | Absent>;
818
+ width?: MaybeSignal<string | number | Absent>;
819
+ }
820
+ /**
821
+ * Auto-complete attribute.
822
+ *
823
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete
824
+ */
825
+ export type AutoComplete = "on" | "off" | `${"" | `section-${string} `}${"" | "shipping " | "billing "}${`${"" | "home " | "work " | "mobile " | "fax " | "pager "}${"tel" | "tel-country-code" | "tel-national" | "tel-area-code" | "tel-local" | "tel-extension" | "email" | "impp"}` | "name" | "honorific-prefix" | "given-name" | "additional-name" | "family-name" | "honorific-suffix" | "nickname" | `username${"" | " webauthn"}` | "new-password" | `current-password${"" | " webauthn"}` | "one-time-code" | "organization-title" | "organization" | "street-address" | "address-line1" | "address-line2" | "address-line3" | "address-level4" | "address-level3" | "address-level2" | "address-level1" | "country" | "country-name" | "postal-code" | "cc-name" | "cc-given-name" | "cc-additional-name" | "cc-family-name" | "cc-number" | "cc-exp" | "cc-exp-month" | "cc-exp-year" | "cc-csc" | "cc-type" | "transaction-currency" | "transaction-amount" | "language" | "bday" | "bday-day" | "bday-month" | "bday-year" | "sex" | "url" | "photo"}` | (`section-${string}` | "shipping" | "billing" | "home" | "work" | "mobile" | "fax" | "pager" | "tel" | "tel-country-code" | "tel-national" | "tel-area-code" | "tel-local" | "tel-extension" | "email" | "impp" | "name" | "honorific-prefix" | "given-name" | "additional-name" | "family-name" | "honorific-suffix" | "nickname" | "username" | "new-password" | "current-password" | "one-time-code" | "organization-title" | "organization" | "street-address" | "address-line1" | "address-line2" | "address-line3" | "address-level4" | "address-level3" | "address-level2" | "address-level1" | "country" | "country-name" | "postal-code" | "cc-name" | "cc-given-name" | "cc-additional-name" | "cc-family-name" | "cc-number" | "cc-exp" | "cc-exp-month" | "cc-exp-year" | "cc-csc" | "cc-type" | "transaction-currency" | "transaction-amount" | "language" | "bday" | "bday-day" | "bday-month" | "bday-year" | "sex" | "url" | "photo" | "webauthn")[];
826
+ /**
827
+ * Input type.
828
+ *
829
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#type
830
+ */
831
+ export type InputType = "button" | "checkbox" | "color" | "date" | "datetime-local" | "email" | "file" | "hidden" | "image" | "month" | "number" | "password" | "radio" | "range" | "reset" | "search" | "submit" | "tel" | "text" | "time" | "url" | "week";
832
+ /**
833
+ * Input mode.
834
+ *
835
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#inputmode
836
+ */
837
+ export type InputMode = "none" | "text" | "tel" | "email" | "numeric" | "decimal" | "search" | "url";
838
+ /**
839
+ * Cross origin.
840
+ *
841
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/crossorigin
842
+ */
843
+ export type CrossOrigin = "" | "anonymous" | "use-credentials";
844
+ /**
845
+ * Decoding.
846
+ *
847
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/decoding
848
+ */
849
+ export type Decoding = "sync" | "async" | "auto";
850
+ /**
851
+ * Fetch priority.
852
+ *
853
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/fetchpriority
854
+ */
855
+ export type FetchPriority = "high" | "low" | "auto";
856
+ /**
857
+ * Sandbox token.
858
+ *
859
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/iframe#sandbox
860
+ */
861
+ export type SandboxToken = "allow-downloads" | "allow-forms" | "allow-modals" | "allow-orientation-lock" | "allow-pointer-lock" | "allow-popups" | "allow-popups-to-escape-sandbox" | "allow-presentation" | "allow-same-origin" | "allow-scripts" | "allow-storage-access-by-user-activation" | "allow-top-navigation" | "allow-top-navigation-by-user-activation" | "allow-top-navigation-to-custom-protocols";
862
+ /**
863
+ * Loading attribute.
864
+ *
865
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/iframe#loading
866
+ */
867
+ export type Loading = "eager" | "lazy";
868
+ /**
869
+ * Popover target action.
870
+ *
871
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/button#popovertargetaction
872
+ */
873
+ export type PopoverTargetAction = "hide" | "show" | "toggle";
874
+ /**
875
+ * Button type.
876
+ *
877
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/button#type
878
+ */
879
+ export type ButtonType = "submit" | "reset" | "button";
880
+ /**
881
+ * Form encoding type.
882
+ *
883
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/button#formenctype
884
+ */
885
+ export type FormEncodingType = "application/x-www-form-urlencoded" | "multipart/form-data" | "text/plain";
886
+ /**
887
+ * Form method.
888
+ *
889
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/button#formmethod
890
+ */
891
+ export type FormMethod = "get" | "post" | "dialog";
892
+ /**
893
+ * Browsing context.
894
+ *
895
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/base#target
896
+ */
897
+ export type BrowsingContext = "_self" | "_blank" | "_parent" | "_top";
898
+ /**
899
+ * Control list item.
900
+ *
901
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/audio#controlslist
902
+ */
903
+ export type ControlListItem = "nodownload" | "nofullscreen" | "noplaybackrate" | "noremoteplayback";
904
+ /**
905
+ * Rel attribute values for the a and area elements.
906
+ *
907
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/rel
908
+ */
909
+ export type AnchorAndAreaRel = CommonRel | "alternate" | "author" | "bookmark" | "external" | "me" | "nofollow" | "noopener" | "noreferrer" | "opener" | "privacy-policy" | "tag" | "terms-of-service";
910
+ /**
911
+ * Rel attribute values for the link element.
912
+ *
913
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/rel
914
+ */
915
+ export type LinkRel = CommonRel | "alternate" | "author" | "canonical" | "compression-dictionary" | "dns-prefetch" | "expect" | "icon" | "manifest" | "me" | "modulepreload" | "pingback" | "preconnect" | "prefetch" | "preload" | "prerender" | "privacy-policy" | "stylesheet" | "terms-of-service";
916
+ /**
917
+ * Rel attribute values for the form element.
918
+ *
919
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/rel
920
+ */
921
+ export type FormRel = CommonRel | "external" | "nofollow" | "noopener" | "noreferrer" | "opener";
922
+ /**
923
+ * Common rel attribute values.
924
+ *
925
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/rel
926
+ */
927
+ type CommonRel = "help" | "license" | "next" | "prev" | "search";
928
+ /**
929
+ * HTML tag names that restrict their allowed children to a specific set.
930
+ *
931
+ * Each of these elements has content-model rules defined by HTML. For example,
932
+ * a `<ul>` element may only contain `<li>` children, and a `<table>` may only
933
+ * contain the table-related children listed in {@link RestrictiveParents}.
934
+ *
935
+ * @see https://html.spec.whatwg.org/multipage/dom.html#content-models
936
+ */
937
+ export declare const HTML_RESTRICTIVE_PARENT: readonly ["audio", "datalist", "dl", "ol", "optgroup", "select", "table", "tbody", "tfoot", "thead", "tr", "ul", "video"];
938
+ /**
939
+ * Mapping from each HTML restrictive parent to the tag names it is allowed to
940
+ * contain.
941
+ */
942
+ export interface HTMLRestrictiveParents {
943
+ audio: "source" | "track";
944
+ datalist: "option";
945
+ dl: "dt" | "dd" | "div";
946
+ ol: "li";
947
+ optgroup: "option";
948
+ select: "option" | "optgroup" | "hr";
949
+ table: "caption" | "colgroup" | "thead" | "tbody" | "tfoot" | "tr";
950
+ tbody: "tr";
951
+ tfoot: "tr";
952
+ thead: "tr";
953
+ tr: "td" | "th";
954
+ ul: "li";
955
+ video: "source" | "track";
956
+ }
957
+ /** Tag names that impose a restricted child set. */
958
+ export type HTMLRestrictiveParent = keyof HTMLRestrictiveParents;
959
+ /**
960
+ * Checks whether a tag name is a restrictive parent.
961
+ * @param name - The tag name to check.
962
+ * @returns `true` if the tag restricts its allowed children.
963
+ */
964
+ export declare const isRestrictiveParent: (name: unknown) => name is HTMLRestrictiveParent;
965
+ /**
966
+ * Elements that can only contain text.
967
+ *
968
+ * The HTML parser treats the content of these elements as raw text rather than
969
+ * HTML markup. Only text children are valid inside them.
970
+ *
971
+ * This set covers the raw text / escapable raw text elements that exist in
972
+ * HTML (`<script>`, `<style>`, `<textarea>`, `<title>`) and the subset that
973
+ * also exist in SVG (`<script>`, `<style>`, `<title>`).
974
+ *
975
+ * @see https://html.spec.whatwg.org/multipage/syntax.html#raw-text-elements
976
+ * @see https://html.spec.whatwg.org/multipage/syntax.html#escapable-raw-text-elements
977
+ */
978
+ export type HTMLTextual = (typeof HTML_TEXTUAL)[number];
979
+ /**
980
+ * The list of textual elements.
981
+ */
982
+ export declare const HTML_TEXTUAL: readonly ["desc", "mi", "mn", "mo", "ms", "mtext", "option", "rp", "script", "style", "textarea", "title", "listing", "noembed", "noframes", "plaintext", "xmp"];
983
+ /**
984
+ * Checks if a name is a valid textual element name.
985
+ * @param name - The name to check.
986
+ * @returns True if the name is a valid textual element name, false otherwise.
987
+ */
988
+ export declare const isTextual: (name: unknown) => name is HTMLTextual;
989
+ /**
990
+ * HTML leaf elements — elements that cannot have children.
991
+ *
992
+ * In HTML these are known as "void elements".
993
+ *
994
+ * @see https://html.spec.whatwg.org/multipage/syntax.html#void-elements
995
+ */
996
+ export type Void = (typeof VOID)[number];
997
+ /**
998
+ * The list of HTML void elements.
999
+ */
1000
+ export declare const VOID: readonly ["area", "base", "br", "col", "embed", "hr", "img", "input", "link", "meta", "param", "source", "track", "wbr"];
1001
+ /**
1002
+ * Checks if a name is a valid HTML void element name.
1003
+ * @param name - The name to check.
1004
+ * @returns True if the name is a valid HTML void element name, false otherwise.
1005
+ */
1006
+ export declare const isVoid: (name: unknown) => name is Void;
1007
+ export {};
1008
+ //# sourceMappingURL=html.d.ts.map