marko 6.0.0-3.9 → 6.0.0-next.3.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/tags-html.d.ts ADDED
@@ -0,0 +1,3935 @@
1
+ import * as csstype from "csstype";
2
+
3
+ /**
4
+ * Potential improvements:
5
+ * - Share properties between input interfaces
6
+ * - Add more interfaces of `Link` which restrict specific attributes based on type.
7
+ * - Isolate some event handlers to specific elements (eg media events).
8
+ * - Create more interface for individual aria roles.
9
+ */
10
+
11
+ declare global {
12
+ namespace Marko {
13
+ interface NativeTags {
14
+ a: NativeTag<Marko.HTML.A, HTMLAnchorElement>;
15
+ abbr: NativeTag<Marko.HTML.Abbr, HTMLElement>;
16
+ address: NativeTag<Marko.HTML.Address, HTMLElement>;
17
+ area: NativeTag<Marko.HTML.Area, HTMLAreaElement>;
18
+ article: NativeTag<Marko.HTML.Article, HTMLElement>;
19
+ aside: NativeTag<Marko.HTML.Aside, HTMLElement>;
20
+ audio: NativeTag<Marko.HTML.Audio, HTMLAudioElement>;
21
+ b: NativeTag<Marko.HTML.B, HTMLElement>;
22
+ base: NativeTag<Marko.HTML.Base, HTMLBaseElement>;
23
+ bdi: NativeTag<Marko.HTML.BDI, HTMLElement>;
24
+ bdo: NativeTag<Marko.HTML.BDO, HTMLElement>;
25
+ blockquote: NativeTag<Marko.HTML.BlockQuote, HTMLQuoteElement>;
26
+ body: NativeTag<Marko.HTML.Body, HTMLBodyElement>;
27
+ br: NativeTag<Marko.HTML.Br, HTMLBRElement>;
28
+ button: NativeTag<Marko.HTML.Button, HTMLButtonElement>;
29
+ canvas: NativeTag<Marko.HTML.Canvas, HTMLCanvasElement>;
30
+ caption: NativeTag<Marko.HTML.Caption, HTMLTableCaptionElement>;
31
+ cite: NativeTag<Marko.HTML.Cite, HTMLElement>;
32
+ code: NativeTag<Marko.HTML.Code, HTMLElement>;
33
+ col: NativeTag<Marko.HTML.Col, HTMLTableColElement>;
34
+ colgroup: NativeTag<Marko.HTML.ColGroup, HTMLTableColElement>;
35
+ data: NativeTag<Marko.HTML.Data, HTMLDataElement>;
36
+ datalist: NativeTag<Marko.HTML.DataList, HTMLDataListElement>;
37
+ dd: NativeTag<Marko.HTML.DD, HTMLElement>;
38
+ del: NativeTag<Marko.HTML.Del, HTMLModElement>;
39
+ details: NativeTag<Marko.HTML.Details, HTMLDetailsElement>;
40
+ dfn: NativeTag<Marko.HTML.Dfn, HTMLElement>;
41
+ dialog: NativeTag<Marko.HTML.Dialog, HTMLDialogElement>;
42
+ div: NativeTag<Marko.HTML.Div, HTMLDivElement>;
43
+ dl: NativeTag<Marko.HTML.DL, HTMLDListElement>;
44
+ dt: NativeTag<Marko.HTML.DT, HTMLElement>;
45
+ em: NativeTag<Marko.HTML.Em, HTMLElement>;
46
+ embed: NativeTag<Marko.HTML.Embed, HTMLEmbedElement>;
47
+ fieldset: NativeTag<Marko.HTML.FieldSet, HTMLFieldSetElement>;
48
+ figcaption: NativeTag<Marko.HTML.FigCaption, HTMLElement>;
49
+ figure: NativeTag<Marko.HTML.Figure, HTMLElement>;
50
+ footer: NativeTag<Marko.HTML.Footer, HTMLElement>;
51
+ form: NativeTag<Marko.HTML.Form, HTMLFormElement>;
52
+ h1: NativeTag<Marko.HTML.H1, HTMLHeadingElement>;
53
+ h2: NativeTag<Marko.HTML.H2, HTMLHeadingElement>;
54
+ h3: NativeTag<Marko.HTML.H3, HTMLHeadingElement>;
55
+ h4: NativeTag<Marko.HTML.H4, HTMLHeadingElement>;
56
+ h5: NativeTag<Marko.HTML.H5, HTMLHeadingElement>;
57
+ h6: NativeTag<Marko.HTML.H6, HTMLHeadingElement>;
58
+ head: NativeTag<Marko.HTML.Head, HTMLHeadElement>;
59
+ header: NativeTag<Marko.HTML.Header, HTMLElement>;
60
+ hgroup: NativeTag<Marko.HTML.HGroup, HTMLElement>;
61
+ hr: NativeTag<Marko.HTML.HR, HTMLHRElement>;
62
+ html: NativeTag<Marko.HTML.HTML, HTMLHtmlElement>;
63
+ i: NativeTag<Marko.HTML.I, HTMLElement>;
64
+ iframe: NativeTag<Marko.HTML.IFrame, HTMLIFrameElement>;
65
+ img: NativeTag<Marko.HTML.Img, HTMLImageElement>;
66
+ input: NativeTag<Marko.HTML.Input, HTMLInputElement>;
67
+ ins: NativeTag<Marko.HTML.Ins, HTMLModElement>;
68
+ kbd: NativeTag<Marko.HTML.Kbd, HTMLElement>;
69
+ label: NativeTag<Marko.HTML.Label, HTMLLabelElement>;
70
+ legend: NativeTag<Marko.HTML.Legend, HTMLLegendElement>;
71
+ li: NativeTag<Marko.HTML.LI, HTMLLIElement>;
72
+ link: NativeTag<Marko.HTML.Link, HTMLLinkElement>;
73
+ main: NativeTag<Marko.HTML.Main, HTMLElement>;
74
+ map: NativeTag<Marko.HTML.Map, HTMLMapElement>;
75
+ mark: NativeTag<Marko.HTML.Mark, HTMLElement>;
76
+ menu: NativeTag<Marko.HTML.Menu, HTMLMenuElement>;
77
+ meta: NativeTag<Marko.HTML.Meta, HTMLMetaElement>;
78
+ meter: NativeTag<Marko.HTML.Meter, HTMLMeterElement>;
79
+ nav: NativeTag<Marko.HTML.Nav, HTMLElement>;
80
+ noscript: NativeTag<Marko.HTML.NoScript, HTMLElement>;
81
+ object: NativeTag<Marko.HTML.Object, HTMLObjectElement>;
82
+ ol: NativeTag<Marko.HTML.OL, HTMLOListElement>;
83
+ optgroup: NativeTag<Marko.HTML.OptGroup, HTMLOptGroupElement>;
84
+ option: NativeTag<Marko.HTML.Option, HTMLOptionElement>;
85
+ output: NativeTag<Marko.HTML.Output, HTMLOutputElement>;
86
+ p: NativeTag<Marko.HTML.P, HTMLParagraphElement>;
87
+ picture: NativeTag<Marko.HTML.Picture, HTMLPictureElement>;
88
+ pre: NativeTag<Marko.HTML.Pre, HTMLPreElement>;
89
+ progress: NativeTag<Marko.HTML.Progress, HTMLProgressElement>;
90
+ q: NativeTag<Marko.HTML.Q, HTMLQuoteElement>;
91
+ rp: NativeTag<Marko.HTML.RP, HTMLElement>;
92
+ rt: NativeTag<Marko.HTML.RT, HTMLElement>;
93
+ ruby: NativeTag<Marko.HTML.Ruby, HTMLElement>;
94
+ s: NativeTag<Marko.HTML.S, HTMLElement>;
95
+ samp: NativeTag<Marko.HTML.Samp, HTMLElement>;
96
+ script: NativeTag<Marko.HTML.Script, HTMLScriptElement>;
97
+ section: NativeTag<Marko.HTML.Section, HTMLElement>;
98
+ select: NativeTag<Marko.HTML.Select, HTMLSelectElement>;
99
+ slot: NativeTag<Marko.HTML.Slot, HTMLSlotElement>;
100
+ small: NativeTag<Marko.HTML.Small, HTMLElement>;
101
+ source: NativeTag<Marko.HTML.Source, HTMLSourceElement>;
102
+ span: NativeTag<Marko.HTML.Span, HTMLSpanElement>;
103
+ strong: NativeTag<Marko.HTML.Strong, HTMLElement>;
104
+ style: NativeTag<Marko.HTML.Style, HTMLStyleElement>;
105
+ sub: NativeTag<Marko.HTML.Sub, HTMLElement>;
106
+ summary: NativeTag<Marko.HTML.Summary, HTMLElement>;
107
+ sup: NativeTag<Marko.HTML.Sup, HTMLElement>;
108
+ table: NativeTag<Marko.HTML.Table, HTMLTableElement>;
109
+ tbody: NativeTag<Marko.HTML.TBody, HTMLTableSectionElement>;
110
+ td: NativeTag<Marko.HTML.TD, HTMLTableDataCellElement>;
111
+ template: NativeTag<Marko.HTML.Template, HTMLTemplateElement>;
112
+ textarea: NativeTag<Marko.HTML.TextArea, HTMLTextAreaElement>;
113
+ tfoot: NativeTag<Marko.HTML.TFoot, HTMLTableSectionElement>;
114
+ th: NativeTag<Marko.HTML.TH, HTMLTableHeaderCellElement>;
115
+ thead: NativeTag<Marko.HTML.THead, HTMLTableSectionElement>;
116
+ time: NativeTag<Marko.HTML.Time, HTMLTimeElement>;
117
+ title: NativeTag<Marko.HTML.Title, HTMLTitleElement>;
118
+ tr: NativeTag<Marko.HTML.TR, HTMLTableRowElement>;
119
+ track: NativeTag<Marko.HTML.Track, HTMLTrackElement>;
120
+ u: NativeTag<Marko.HTML.U, HTMLElement>;
121
+ ul: NativeTag<Marko.HTML.UL, HTMLUListElement>;
122
+ var: NativeTag<Marko.HTML.Var, HTMLElement>;
123
+ video: NativeTag<Marko.HTML.Video, HTMLVideoElement>;
124
+ wbr: NativeTag<Marko.HTML.WBr, HTMLElement>;
125
+ }
126
+
127
+ namespace CSS {
128
+ export interface Properties
129
+ extends csstype.PropertiesHyphen,
130
+ csstype.Properties {}
131
+ }
132
+
133
+ namespace HTML {
134
+ interface A extends HTMLAttributes<HTMLAnchorElement> {
135
+ /**
136
+ * Specifies whether to download the resource, or the name of the file to download.
137
+ * @see https://html.spec.whatwg.org/multipage/links.html#attr-hyperlink-download
138
+ */
139
+ download?: AttrBooleanOrString;
140
+
141
+ /**
142
+ * Specifies the URL of the linked resource.
143
+ * @see https://html.spec.whatwg.org/multipage/links.html#attr-hyperlink-href
144
+ */
145
+ href?: AttrString;
146
+
147
+ /**
148
+ * Specifies the language of the linked resource.
149
+ * @see https://html.spec.whatwg.org/multipage/links.html#attr-hyperlink-hreflang
150
+ */
151
+ hreflang?: AttrString;
152
+
153
+ /**
154
+ * Specifies the intended media type for the linked resource.
155
+ * @see https://html.spec.whatwg.org/multipage/semantics.html#attr-link-media
156
+ */
157
+ media?: AttrString;
158
+
159
+ /**
160
+ * Specifies a space-separated list of URLs to send a ping request to when the link is followed.
161
+ * @see https://html.spec.whatwg.org/multipage/links.html#ping
162
+ */
163
+ ping?: AttrString;
164
+
165
+ /**
166
+ * Specifies the referrer policy for the linked resource.
167
+ * @see https://html.spec.whatwg.org/multipage/links.html#attr-hyperlink-referrerpolicy
168
+ */
169
+ referrerpolicy?: AttrReferrerPolicy;
170
+
171
+ /**
172
+ * Specifies the relationship between the current document and the linked resource.
173
+ * @see https://html.spec.whatwg.org/multipage/links.html#linkTypes
174
+ */
175
+ rel?:
176
+ | AttrMissing
177
+ | "alternate"
178
+ | "author"
179
+ | "bookmark"
180
+ | "external"
181
+ | "help"
182
+ | "license"
183
+ | "next"
184
+ | "nofollow"
185
+ | "noopener"
186
+ | "noreferrer"
187
+ | "opener"
188
+ | "prev"
189
+ | "search"
190
+ | "tag"
191
+ | (string & {});
192
+
193
+ /**
194
+ * Specifies the browsing context for the linked resource.
195
+ * @see https://html.spec.whatwg.org/multipage/links.html#attr-hyperlink-target
196
+ */
197
+ target?: AttrTarget;
198
+
199
+ /**
200
+ * Specifies the MIME type of the linked resource.
201
+ * @see https://html.spec.whatwg.org/multipage/links.html#attr-hyperlink-type
202
+ */
203
+ type?: AttrString;
204
+
205
+ /** @deprecated */
206
+ charset?: AttrString;
207
+
208
+ /** @deprecated */
209
+ coords?: AttrString;
210
+
211
+ /** @deprecated */
212
+ name?: AttrString;
213
+
214
+ /** @deprecated */
215
+ rev?: AttrString;
216
+
217
+ /** @deprecated */
218
+ shape?: AttrString;
219
+ }
220
+
221
+ interface Abbr extends HTMLAttributes<HTMLElement> {}
222
+ interface Address extends HTMLAttributes<HTMLElement> {}
223
+ interface Area extends HTMLAttributes<HTMLAreaElement> {
224
+ /**
225
+ * Specifies an alternative text for the area.
226
+ * @see https://html.spec.whatwg.org/multipage/image-maps.html#attr-area-alt
227
+ */
228
+ alt?: AttrString;
229
+
230
+ /**
231
+ * Specifies the coordinates of the area's shape.
232
+ * @see https://html.spec.whatwg.org/multipage/image-maps.html#attr-area-coords
233
+ */
234
+ coords?: AttrString;
235
+
236
+ /**
237
+ * Specifies whether to download the resource, or the name of the file to download.
238
+ * @see https://html.spec.whatwg.org/multipage/links.html#attr-hyperlink-download
239
+ */
240
+ download?: A["download"];
241
+
242
+ /**
243
+ * Specifies the URL of the linked resource.
244
+ * @see https://html.spec.whatwg.org/multipage/links.html#attr-hyperlink-href
245
+ */
246
+ href?: A["href"];
247
+
248
+ /**
249
+ * Specifies the language of the linked resource.
250
+ * @see https://html.spec.whatwg.org/multipage/links.html#attr-hyperlink-hreflang
251
+ */
252
+ hreflang?: A["hreflang"];
253
+
254
+ /**
255
+ * Specifies a space-separated list of URLs to send a ping request to when the link is followed.
256
+ * @see https://html.spec.whatwg.org/multipage/links.html#ping
257
+ */
258
+ ping?: A["ping"];
259
+
260
+ /**
261
+ * Specifies the referrer policy for the linked resource.
262
+ * @see https://html.spec.whatwg.org/multipage/links.html#attr-hyperlink-referrerpolicy
263
+ */
264
+ referrerpolicy?: A["referrerpolicy"];
265
+
266
+ /**
267
+ * Specifies the relationship between the current document and the linked resource.
268
+ * @see https://html.spec.whatwg.org/multipage/links.html#linkTypes
269
+ */
270
+ rel?: A["rel"];
271
+
272
+ /**
273
+ * Specifies the shape of the clickable region on the area.
274
+ * @see https://html.spec.whatwg.org/multipage/image-maps.html#attr-area-shape
275
+ */
276
+ shape?: AttrMissing | "rect" | "circle" | "poly" | "default";
277
+
278
+ /**
279
+ * Specifies the browsing context for the linked resource.
280
+ * @see https://html.spec.whatwg.org/multipage/links.html#attr-hyperlink-target
281
+ */
282
+ target?: A["target"];
283
+
284
+ /** @deprecated */
285
+ name?: AttrString;
286
+
287
+ /** @deprecated */
288
+ nohref?: AttrString;
289
+
290
+ /** @deprecated */
291
+ type?: AttrString;
292
+ }
293
+ interface Article extends HTMLAttributes<HTMLElement> {}
294
+ interface Aside extends HTMLAttributes<HTMLElement> {}
295
+ interface Audio extends HTMLAttributes<HTMLAudioElement> {
296
+ /**
297
+ * Specifies whether the audio should start playing automatically.
298
+ * @see https://html.spec.whatwg.org/multipage/media.html#attr-media-autoplay
299
+ */
300
+ autoplay?: AttrBoolean;
301
+
302
+ /**
303
+ * Specifies whether the audio controls should be displayed.
304
+ * @see https://html.spec.whatwg.org/multipage/media.html#attr-media-controls
305
+ */
306
+ controls?: AttrBoolean;
307
+
308
+ /**
309
+ * Specifies the controls to be shown or hidden on the audio player.
310
+ * @see https://wicg.github.io/controls-list/explainer.html
311
+ */
312
+ controlslist?:
313
+ | AttrMissing
314
+ | "nodownload"
315
+ | "nofullscreen"
316
+ | "noplaybackrate"
317
+ | "noremoteplayback"
318
+ | (string & {});
319
+
320
+ /**
321
+ * Specifies the CORS settings for the audio resource.
322
+ * @see https://html.spec.whatwg.org/multipage/media.html#attr-media-crossorigin
323
+ */
324
+ crossorigin?: AttrCrossOrigin;
325
+
326
+ /**
327
+ * Specifies whether to disable remote playback of the audio.
328
+ * @see https://www.w3.org/TR/remote-playback/#the-disableremoteplayback-attribute
329
+ */
330
+ disableremoteplayback?: AttrBoolean;
331
+
332
+ /**
333
+ * Specifies whether the audio should start over again when finished.
334
+ * @see https://html.spec.whatwg.org/multipage/media.html#attr-media-loop
335
+ */
336
+ loop?: AttrBoolean;
337
+
338
+ /**
339
+ * Specifies whether the audio should be muted by default.
340
+ * @see https://html.spec.whatwg.org/multipage/media.html#attr-media-muted
341
+ */
342
+ muted?: AttrBoolean;
343
+
344
+ /**
345
+ * Specifies the type of preloading for the audio.
346
+ * @see https://html.spec.whatwg.org/multipage/media.html#attr-media-preload
347
+ */
348
+ preload?: AttrBoolean | "none" | "metadata" | "auto";
349
+
350
+ /**
351
+ * Specifies the URL of the audio resource.
352
+ * @see https://html.spec.whatwg.org/multipage/media.html#attr-media-src
353
+ */
354
+ src?: AttrString;
355
+ }
356
+
357
+ interface B extends HTMLAttributes<HTMLElement> {}
358
+ interface Base extends HTMLAttributes<HTMLBaseElement> {
359
+ /**
360
+ * Specifies the base URL for resolving relative URLs within the document.
361
+ * @see https://html.spec.whatwg.org/multipage/semantics.html#attr-base-href
362
+ */
363
+ href?: AttrString;
364
+
365
+ /**
366
+ * Specifies the default browsing context for links and forms in the document.
367
+ * @see https://html.spec.whatwg.org/multipage/semantics.html#attr-base-target
368
+ */
369
+ target?: AttrTarget;
370
+ }
371
+ interface BDI extends HTMLAttributes<HTMLElement> {}
372
+ interface BDO extends HTMLAttributes<HTMLElement> {}
373
+ interface BlockQuote extends HTMLAttributes<HTMLQuoteElement> {
374
+ /**
375
+ * Specifies the URL of the source document or quoted content.
376
+ * @see https://html.spec.whatwg.org/multipage/grouping-content.html#attr-blockquote-cite
377
+ */
378
+ cite?: AttrString;
379
+ }
380
+ interface Body extends HTMLAttributes<HTMLBodyElement> {
381
+ /**
382
+ * Fires after printing the document.
383
+ * @see https://html.spec.whatwg.org/multipage/indices.html#event-afterprint
384
+ */
385
+ onAfterprint?: AttrEventHandler<Event, HTMLBodyElement>;
386
+ "on-afterprint"?: this["onAfterprint"];
387
+
388
+ /**
389
+ * Fires before printing the document.
390
+ * @see https://html.spec.whatwg.org/multipage/indices.html#event-beforeprint
391
+ */
392
+ onBeforeprint?: AttrEventHandler<Event, HTMLBodyElement>;
393
+ "on-beforeprint"?: this["onBeforeprint"];
394
+
395
+ /**
396
+ * Fired when the page is about to be unloaded, in case the page would like to show a warning prompt.
397
+ * @see https://html.spec.whatwg.org/multipage/indices.html#event-beforeunload
398
+ */
399
+ onBeforeunload?: AttrEventHandler<BeforeUnloadEvent, HTMLBodyElement>;
400
+ "on-beforeunload"?: this["onBeforeunload"];
401
+
402
+ /**
403
+ * Fired when the fragment part of the document's URL changes.
404
+ * @see https://html.spec.whatwg.org/multipage/indices.html#event-hashchange
405
+ */
406
+ onHashchange?: AttrEventHandler<HashChangeEvent, HTMLBodyElement>;
407
+ "on-hashchange"?: this["onHashchange"];
408
+
409
+ /**
410
+ * Fired when the user's preferred languages change.
411
+ * @see https://html.spec.whatwg.org/multipage/indices.html#event-languagechange
412
+ */
413
+ onLanguagechange?: AttrEventHandler<Event, HTMLBodyElement>;
414
+ "on-languagechange"?: this["onLanguagechange"];
415
+
416
+ /**
417
+ * Fired when the window receives a message.
418
+ * @see https://html.spec.whatwg.org/multipage/indices.html#event-message
419
+ */
420
+ onMessage?: AttrEventHandler<MessageEvent, HTMLBodyElement>;
421
+ "on-message"?: this["onMessage"];
422
+
423
+ /**
424
+ * Fired when the window receives an error message.
425
+ * @see https://html.spec.whatwg.org/multipage/indices.html#event-messageerror
426
+ */
427
+ onMessageerror?: AttrEventHandler<MessageEvent, HTMLBodyElement>;
428
+ "on-messageerror"?: this["onMessageerror"];
429
+
430
+ /**
431
+ * Fired when the network connection is lost.
432
+ * @see https://html.spec.whatwg.org/multipage/indices.html#event-offline
433
+ */
434
+ onOffline?: AttrEventHandler<Event, HTMLBodyElement>;
435
+ "on-offline"?: this["onOffline"];
436
+
437
+ /**
438
+ * Fired when the network connection is recovered.
439
+ * @see https://html.spec.whatwg.org/multipage/indices.html#event-online
440
+ */
441
+ onOnline?: AttrEventHandler<Event, HTMLBodyElement>;
442
+ "on-online"?: this["onOnline"];
443
+
444
+ /**
445
+ * Fired when the page's session history entry stops being the active entry.
446
+ * @see https://html.spec.whatwg.org/multipage/indices.html#event-pagehide
447
+ */
448
+ onPagehide?: AttrEventHandler<PageTransitionEvent, HTMLBodyElement>;
449
+ "on-pagehide"?: this["onPagehide"];
450
+
451
+ /**
452
+ * Fired when the page's session history entry becomes the active entry.
453
+ * @see https://html.spec.whatwg.org/multipage/indices.html#event-pageshow
454
+ */
455
+ onPageshow?: AttrEventHandler<PageTransitionEvent, HTMLBodyElement>;
456
+ "on-pageshow"?: this["onPageshow"];
457
+
458
+ /**
459
+ * Fired when the window's session history is popped.
460
+ * @see https://html.spec.whatwg.org/multipage/indices.html#event-popstate
461
+ */
462
+ onPopstate?: AttrEventHandler<PopStateEvent, HTMLBodyElement>;
463
+ "on-popstate"?: this["onPopstate"];
464
+
465
+ /**
466
+ * Fires when a previously-unhandled promise rejection becomes handled.
467
+ * @see https://html.spec.whatwg.org/multipage/indices.html#event-rejectionhandled
468
+ */
469
+ onRejectionhandled?: AttrEventHandler<Event, HTMLBodyElement>;
470
+ "on-rejectionhandled"?: this["onRejectionhandled"];
471
+
472
+ /**
473
+ * Fired when the corresponding localStorage or sessionStorage storage areas change.
474
+ * @see https://html.spec.whatwg.org/multipage/indices.html#event-storage
475
+ */
476
+ onStorage?: AttrEventHandler<StorageEvent, HTMLBodyElement>;
477
+ "on-storage"?: this["onStorage"];
478
+
479
+ /**
480
+ * Fired when a promise rejection goes unhandled.
481
+ * @see https://html.spec.whatwg.org/multipage/indices.html#event-unhandledrejection
482
+ */
483
+ onUnhandledRejection?: AttrEventHandler<
484
+ PromiseRejectionEvent,
485
+ HTMLBodyElement
486
+ >;
487
+ "on-unhandledrejection"?: this["onUnhandledRejection"];
488
+
489
+ /**
490
+ * Fired when the page is going away.
491
+ * @see https://html.spec.whatwg.org/multipage/indices.html#event-unload
492
+ */
493
+ onUnload?: AttrEventHandler<Event, HTMLBodyElement>;
494
+ "on-unload"?: this["onUnload"];
495
+
496
+ /** @deprecated */
497
+ alink?: AttrString;
498
+
499
+ /** @deprecated */
500
+ background?: AttrString;
501
+
502
+ /** @deprecated */
503
+ bgcolor?: AttrString;
504
+
505
+ /** @deprecated */
506
+ link?: AttrString;
507
+
508
+ /** @deprecated */
509
+ text?: AttrString;
510
+
511
+ /** @deprecated */
512
+ vlink?: AttrString;
513
+
514
+ /** @deprecated */
515
+ bottommargin?: AttrStringOrNumber;
516
+
517
+ /** @deprecated */
518
+ leftmargin?: AttrStringOrNumber;
519
+
520
+ /** @deprecated */
521
+ rightmargin?: AttrStringOrNumber;
522
+
523
+ /** @deprecated */
524
+ topmargin?: AttrStringOrNumber;
525
+ }
526
+
527
+ interface Br extends HTMLAttributes<HTMLBRElement> {
528
+ /** @deprecated */
529
+ clear?: AttrString;
530
+ }
531
+ interface Button extends HTMLAttributes<HTMLButtonElement> {
532
+ /**
533
+ * Specifies whether the button should be disabled.
534
+ * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fe-disabled
535
+ */
536
+ disabled?: AttrBoolean;
537
+
538
+ /**
539
+ * Specifies the form element associated with the button.
540
+ * @see https://html.spec.whatwg.org/multipage/form-elements.html#attr-fae-form
541
+ */
542
+ form?: AttrString;
543
+
544
+ /**
545
+ * Specifies the URL of the form's action when the button is clicked.
546
+ * @see https://html.spec.whatwg.org/multipage/form-elements.html#attr-fs-formaction
547
+ */
548
+ formaction?: Form["action"];
549
+
550
+ /**
551
+ * Specifies the enctype attribute for the form when the button is clicked.
552
+ * @see https://html.spec.whatwg.org/multipage/form-elements.html#attr-fs-formenctype
553
+ */
554
+ formenctype?: Form["enctype"];
555
+
556
+ /**
557
+ * Specifies the method attribute for the form when the button is clicked.
558
+ * @see https://html.spec.whatwg.org/multipage/form-elements.html#attr-fs-formmethod
559
+ */
560
+ formmethod?: Form["method"];
561
+
562
+ /**
563
+ * Specifies whether the form should not validate when the button is clicked.
564
+ * @see https://html.spec.whatwg.org/multipage/form-elements.html#attr-fs-formnovalidate
565
+ */
566
+ formnovalidate?: Form["novalidate"];
567
+
568
+ /**
569
+ * Specifies the target attribute for the form when the button is clicked.
570
+ * @see https://html.spec.whatwg.org/multipage/form-elements.html#attr-fs-formtarget
571
+ */
572
+ formtarget?: Form["target"];
573
+
574
+ /**
575
+ * Specifies the name of the button.
576
+ * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fe-name
577
+ */
578
+ name?: AttrString;
579
+
580
+ /**
581
+ * Specifies the type of the button.
582
+ * @see https://html.spec.whatwg.org/multipage/form-elements.html#attr-button-type
583
+ */
584
+ type?: AttrMissing | "submit" | "reset" | "button";
585
+
586
+ /**
587
+ * Specifies the value of the button.
588
+ * @see https://html.spec.whatwg.org/multipage/form-elements.html#attr-button-value
589
+ */
590
+ value?: AttrString;
591
+
592
+ /**
593
+ * Specifies the target element for the popover.
594
+ * @see https://developer.chrome.com/docs/web-platform/popover-api/popovertargetaction-toggle-attribute
595
+ */
596
+ popovertarget?: AttrString;
597
+
598
+ /**
599
+ * Specifies the action to perform on the popover target.
600
+ * @see https://developer.chrome.com/docs/web-platform/popover-api/popovertargetaction-toggle-attribute
601
+ */
602
+ popovertargetaction?: AttrMissing | "toggle" | "show" | "hide";
603
+ }
604
+ interface Canvas extends HTMLAttributes<HTMLCanvasElement> {
605
+ /**
606
+ * Specifies the height of the canvas element.
607
+ * @see https://html.spec.whatwg.org/multipage/canvas.html#attr-canvas-height
608
+ */
609
+ height?: AttrStringOrNumber;
610
+
611
+ /**
612
+ * Specifies the width of the canvas element.
613
+ * @see https://html.spec.whatwg.org/multipage/canvas.html#attr-canvas-width
614
+ */
615
+ width?: AttrStringOrNumber;
616
+ }
617
+ interface Caption extends HTMLAttributes<HTMLTableCaptionElement> {
618
+ /** @deprecated */
619
+ align?: AttrString;
620
+ }
621
+ interface Cite extends HTMLAttributes<HTMLElement> {}
622
+ interface Code extends HTMLAttributes<HTMLElement> {}
623
+ interface Col extends HTMLAttributes<HTMLTableColElement> {
624
+ /**
625
+ * Specifies how many columns in the table the `<col>` element spans.
626
+ * @see https://html.spec.whatwg.org/multipage/tables.html#attr-col-span
627
+ */
628
+ span?: AttrStringOrNumber;
629
+
630
+ /** @deprecated */
631
+ align?: AttrString;
632
+
633
+ /** @deprecated */
634
+ char?: AttrString;
635
+
636
+ /** @deprecated */
637
+ charoff?: AttrStringOrNumber;
638
+
639
+ /** @deprecated */
640
+ valign?: AttrString;
641
+
642
+ /** @deprecated */
643
+ width?: AttrStringOrNumber;
644
+ }
645
+ interface ColGroup extends HTMLAttributes<HTMLTableColElement> {
646
+ /**
647
+ * Specifies how many columns in the table the `<colgroup>` element spans.
648
+ * @see https://html.spec.whatwg.org/multipage/tables.html#attr-colgroup-span
649
+ */
650
+ span?: AttrStringOrNumber;
651
+
652
+ /** @deprecated */
653
+ align?: AttrString;
654
+
655
+ /** @deprecated */
656
+ bgcolor?: AttrString;
657
+
658
+ /** @deprecated */
659
+ char?: AttrString;
660
+
661
+ /** @deprecated */
662
+ charoff?: AttrStringOrNumber;
663
+
664
+ /** @deprecated */
665
+ valign?: AttrString;
666
+ }
667
+ interface Data extends HTMLAttributes<HTMLDataElement> {
668
+ /**
669
+ * Specifies the machine-readable value of the `<data>` element.
670
+ * @see https://html.spec.whatwg.org/multipage/text-level-semantics.html#attr-data-value
671
+ */
672
+ value?: AttrStringOrNumber;
673
+ }
674
+
675
+ interface DataList extends HTMLAttributes<HTMLDataListElement> {}
676
+ interface DD extends HTMLAttributes<HTMLElement> {
677
+ /** @deprecated */
678
+ nowrap?: AttrYesNoString;
679
+ }
680
+ interface Del extends HTMLAttributes<HTMLModElement> {
681
+ /**
682
+ * Specifies the URL of the source of the quote or change.
683
+ * @see https://html.spec.whatwg.org/multipage/edits.html#attr-mod-cite
684
+ */
685
+ cite?: AttrString;
686
+
687
+ /**
688
+ * Specifies the date and time of the quote or change.
689
+ * @see https://html.spec.whatwg.org/multipage/edits.html#attr-mod-datetime
690
+ */
691
+ datetime?: AttrString;
692
+ }
693
+ interface Details extends HTMLAttributes<HTMLDetailsElement> {
694
+ /**
695
+ * Specifies whether the `<details>` element is open.
696
+ * @see https://html.spec.whatwg.org/multipage/interactive-elements.html#attr-details-open
697
+ */
698
+ open?: AttrBoolean;
699
+
700
+ // NON STANDARD
701
+ /**
702
+ * Called whenever a the `open` attribute has changed.
703
+ * When `openChange` is a function, `open` becomes controlled.
704
+ */
705
+ openChange?: AttrMissing | ((open: boolean) => void);
706
+ }
707
+ interface Dfn extends HTMLAttributes<HTMLElement> {}
708
+ interface Dialog extends HTMLAttributes<HTMLDialogElement> {
709
+ /**
710
+ * Specifies whether the `<dialog>` element is open.
711
+ * @see https://html.spec.whatwg.org/multipage/interactive-elements.html#attr-dialog-open
712
+ */
713
+ open?: AttrBoolean;
714
+
715
+ // NON STANDARD
716
+ /**
717
+ * Called whenever a the `open` attribute has changed.
718
+ * When `openChange` is a function, `open` becomes controlled.
719
+ */
720
+ openChange?: AttrMissing | ((open: boolean) => void);
721
+ }
722
+ interface Div extends HTMLAttributes<HTMLDivElement> {}
723
+ interface DL extends HTMLAttributes<HTMLDListElement> {}
724
+ interface DT extends HTMLAttributes<HTMLElement> {}
725
+ interface Em extends HTMLAttributes<HTMLElement> {}
726
+ interface Embed extends HTMLAttributes<HTMLEmbedElement> {
727
+ /**
728
+ * Specifies the height of the embedded content.
729
+ * @see https://html.spec.whatwg.org/multipage/embedded-content-other.html#attr-dim-height
730
+ */
731
+ height?: AttrStringOrNumber;
732
+
733
+ /**
734
+ * Specifies the URL of the resource to embed.
735
+ * @see https://html.spec.whatwg.org/multipage/iframe-embed-object.html#attr-embed-src
736
+ */
737
+ src?: AttrString;
738
+
739
+ /**
740
+ * Specifies the MIME type of the embedded content.
741
+ * @see https://html.spec.whatwg.org/multipage/iframe-embed-object.html#attr-embed-type
742
+ */
743
+ type?: AttrString;
744
+
745
+ /**
746
+ * Specifies the width of the embedded content.
747
+ * @see https://html.spec.whatwg.org/multipage/embedded-content-other.html#attr-dim-width
748
+ */
749
+ width?: AttrStringOrNumber;
750
+ }
751
+ interface FieldSet extends HTMLAttributes<HTMLFieldSetElement> {
752
+ /**
753
+ * Specifies whether the `<fieldset>` element is disabled.
754
+ * @see https://html.spec.whatwg.org/multipage/form-elements.html#attr-fieldset-disabled
755
+ */
756
+ disabled?: AttrBoolean;
757
+ /**
758
+ * Specifies associated form for the `<fieldset>`.
759
+ * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fae-form
760
+ */
761
+ form?: AttrString;
762
+ /**
763
+ * Specifies the name of the `<fieldset>` on the form.elements api.
764
+ * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fe-name
765
+ * @see HTMLFormElement.elements
766
+ */
767
+ name?: AttrString;
768
+ }
769
+ interface FigCaption extends HTMLAttributes<HTMLElement> {}
770
+ interface Figure extends HTMLAttributes<HTMLElement> {}
771
+ interface Form extends HTMLAttributes<HTMLFormElement> {
772
+ /**
773
+ * Specifies the character encodings that are to be used for the form submission.
774
+ * @see https://html.spec.whatwg.org/multipage/forms.html#attr-form-accept-charset
775
+ */
776
+ "accept-charset"?: AttrString;
777
+ /**
778
+ * Specifies the URL which the form data will be submitted to.
779
+ * @see https://html.spec.whatwg.org/multipage/forms.html#attr-fs-action
780
+ */
781
+ action?: AttrString;
782
+ /**
783
+ * Controls whether the browser should automatically complete form input values.
784
+ * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fe-autocomplete
785
+ */
786
+ autocomplete?: AttrOnOff;
787
+ /**
788
+ * Specifies the content type used to submit the form to the server.
789
+ * @see https://html.spec.whatwg.org/multipage/forms.html#attr-form-enctype
790
+ */
791
+ enctype?:
792
+ | AttrMissing
793
+ | "application/x-www-form-urlencoded"
794
+ | "multipart/form-data"
795
+ | "text/plain";
796
+ /**
797
+ * Specifies the HTTP method used to submit the form to the server.
798
+ * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fs-method
799
+ */
800
+ method?:
801
+ | AttrMissing
802
+ | "POST"
803
+ | "post"
804
+ | "GET"
805
+ | "get"
806
+ | "dialog"
807
+ | "DIALOG";
808
+ /**
809
+ * The name attribute represents the form's name within the forms collection.
810
+ * @see https://html.spec.whatwg.org/multipage/forms.html#attr-form-name
811
+ * @see Document.forms
812
+ */
813
+ name?: AttrString;
814
+ /**
815
+ * Indicates that the form should not be validated when submitted.
816
+ * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fs-novalidate
817
+ */
818
+ novalidate?: AttrBoolean;
819
+ /**
820
+ * Specifies the relationship between the current document and the linked document.
821
+ * @see https://html.spec.whatwg.org/multipage/links.html#linkTypes
822
+ */
823
+ rel?:
824
+ | AttrMissing
825
+ | "external"
826
+ | "help"
827
+ | "license"
828
+ | "next"
829
+ | "nofollow"
830
+ | "noopener"
831
+ | "noreferrer"
832
+ | "opener"
833
+ | "prev"
834
+ | "search"
835
+ | (string & {});
836
+ /**
837
+ * Specifies the browsing context in which the linked resource will be opened.
838
+ * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fs-target
839
+ */
840
+ target?: AttrTarget;
841
+ /** @deprecated */
842
+ accept?: AttrString;
843
+
844
+ /**
845
+ * Fired at a form element when it is constructing the entry list
846
+ * @see https://html.spec.whatwg.org/multipage/indices.html#event-formdata
847
+ */
848
+ onFormdata?: AttrEventHandler<FormDataEvent, HTMLFormElement>;
849
+ "on-formdata"?: this["onFormdata"];
850
+
851
+ /**
852
+ * Fired when a form is submitted, either by user interaction or through a script.
853
+ * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#event-submit
854
+ */
855
+ onSubmit?: AttrEventHandler<SubmitEvent, HTMLFormElement>;
856
+ "on-submit"?: this["onSubmit"];
857
+ }
858
+ interface H1 extends HTMLAttributes<HTMLHeadingElement> {}
859
+ interface H2 extends HTMLAttributes<HTMLHeadingElement> {}
860
+ interface H3 extends HTMLAttributes<HTMLHeadingElement> {}
861
+ interface H4 extends HTMLAttributes<HTMLHeadingElement> {}
862
+ interface H5 extends HTMLAttributes<HTMLHeadingElement> {}
863
+ interface H6 extends HTMLAttributes<HTMLHeadingElement> {}
864
+ interface Footer extends HTMLAttributes<HTMLElement> {}
865
+ interface Head extends HTMLAttributes<HTMLHeadElement> {
866
+ /** @deprecated */
867
+ profile?: AttrString;
868
+ /** @see https://ogp.me/ */
869
+ prefix?: AttrString;
870
+ }
871
+ interface Header extends HTMLAttributes<HTMLElement> {}
872
+ interface HGroup extends HTMLAttributes<HTMLElement> {}
873
+ interface HR extends HTMLAttributes<HTMLHRElement> {
874
+ /** @deprecated */
875
+ align?: AttrMissing | "left" | "center" | "right";
876
+ /** @deprecated */
877
+ color?: AttrString;
878
+ /** @deprecated */
879
+ noshade?: AttrBoolean;
880
+ /** @deprecated */
881
+ size?: AttrStringOrNumber;
882
+ /** @deprecated */
883
+ width?: AttrStringOrNumber;
884
+ }
885
+ interface HTML extends HTMLAttributes<HTMLHtmlElement> {
886
+ /** @deprecated */
887
+ xmlns?: AttrString;
888
+ /** @deprecated */
889
+ manifest?: AttrString;
890
+ /** @deprecated */
891
+ version?: AttrString;
892
+ /** @see https://ogp.me/ */
893
+ prefix?: AttrString;
894
+ }
895
+ interface I extends HTMLAttributes<HTMLElement> {}
896
+ interface IFrame extends HTMLAttributes<HTMLIFrameElement> {
897
+ /**
898
+ * A space-separated list of permissions that are granted to the content inside the frame.
899
+ * @see https://html.spec.whatwg.org/multipage/iframe-embed-object.html#attr-iframe-allow
900
+ */
901
+ allow?: AttrString;
902
+ /**
903
+ * Indicates whether the iframe can be displayed in fullscreen mode.
904
+ * @see https://html.spec.whatwg.org/multipage/iframe-embed-object.html#attr-iframe-allowfullscreen
905
+ */
906
+ allowfullscreen?: AttrBoolean;
907
+ /**
908
+ * The height of the iframe.
909
+ * @see https://html.spec.whatwg.org/multipage/embedded-content-other.html#attr-dim-height
910
+ */
911
+ height?: AttrStringOrNumber;
912
+ /**
913
+ * Indicates whether the browser should eagerly load the frame's contents or not.
914
+ * @see https://html.spec.whatwg.org/multipage/iframe-embed-object.html#attr-iframe-loading
915
+ */
916
+ loading?: AttrMissing | "eager" | "lazy";
917
+ /**
918
+ * A name or keyword that can be used to refer to the iframe from elsewhere in the document.
919
+ * @see https://html.spec.whatwg.org/multipage/iframe-embed-object.html#attr-iframe-name
920
+ */
921
+ name?: AttrString;
922
+ /**
923
+ * Specifies the referrer policy for the iframe.
924
+ * @see https://html.spec.whatwg.org/multipage/iframe-embed-object.html#attr-iframe-referrerpolicy
925
+ */
926
+ referrerpolicy?: AttrReferrerPolicy;
927
+ /**
928
+ * A set of sandbox flags that are applied to the iframe.
929
+ * @see https://html.spec.whatwg.org/multipage/iframe-embed-object.html#attr-iframe-sandbox
930
+ */
931
+ sandbox?:
932
+ | AttrMissing
933
+ | "allow-downloads-without-user-activation"
934
+ | "allow-downloads"
935
+ | "allow-forms"
936
+ | "allow-modals"
937
+ | "allow-orientation-lock"
938
+ | "allow-pointer-lock"
939
+ | "allow-popups-to-escape-sandbox"
940
+ | "allow-popups"
941
+ | "allow-presentation"
942
+ | "allow-same-origin"
943
+ | "allow-scripts"
944
+ | "allow-storage-access-by-user-activation"
945
+ | "allow-top-navigation-by-user-activation"
946
+ | "allow-top-navigation-to-custom-protocols"
947
+ | "allow-top-navigation"
948
+ | (string & {});
949
+ /**
950
+ * The URL of the page to embed in the iframe.
951
+ * @see https://html.spec.whatwg.org/multipage/iframe-embed-object.html#attr-iframe-src
952
+ */
953
+ src?: AttrString;
954
+ /**
955
+ * A document to render inside the iframe.
956
+ * @see https://html.spec.whatwg.org/multipage/iframe-embed-object.html#attr-iframe-srcdoc
957
+ */
958
+ srcdoc?: AttrString;
959
+ /**
960
+ * The width of the iframe.
961
+ * @see https://html.spec.whatwg.org/multipage/embedded-content-other.html#attr-dim-width
962
+ */
963
+ width?: AttrStringOrNumber;
964
+ /** @deprecated */
965
+ align?: AttrString;
966
+ /** @deprecated */
967
+ frameborder?: AttrStringOrNumber;
968
+ /** @deprecated */
969
+ longdesc?: AttrString;
970
+ /** @deprecated */
971
+ marginheight?: AttrStringOrNumber;
972
+ /** @deprecated */
973
+ marginwidth?: AttrStringOrNumber;
974
+ /** @deprecated */
975
+ scrolling?: AttrYesNoString | "auto";
976
+ }
977
+ interface Img extends HTMLAttributes<HTMLImageElement> {
978
+ /**
979
+ * The alternative text for the image, displayed when the image cannot be loaded or
980
+ * rendered. This is useful for accessibility purposes.
981
+ * @see https://html.spec.whatwg.org/multipage/embedded-content.html#attr-img-alt
982
+ */
983
+ alt?: AttrString;
984
+
985
+ /**
986
+ * A CORS setting attribute that determines if the image should be fetched with CORS or not.
987
+ * @see https://html.spec.whatwg.org/multipage/embedded-content.html#attr-img-crossorigin
988
+ */
989
+ crossorigin?: AttrCrossOrigin;
990
+
991
+ /**
992
+ * Specifies the decoding mode for the image, which can be "sync", "async", or "auto".
993
+ * @see https://html.spec.whatwg.org/multipage/embedded-content.html#attr-img-decoding
994
+ */
995
+ decoding?: AttrMissing | "sync" | "async" | "auto";
996
+
997
+ /**
998
+ * Sets the fetch priority of the image, which can be "auto", "high", or "low".
999
+ * @see https://html.spec.whatwg.org/multipage/embedded-content.html#attr-img-fetchpriority
1000
+ */
1001
+ fetchpriority?: AttrMissing | "auto" | "high" | "low";
1002
+
1003
+ /**
1004
+ * The height of the image, either as a string (CSS length value) or a number (pixels).
1005
+ * @see https://html.spec.whatwg.org/multipage/embedded-content.html#attr-dim-height
1006
+ */
1007
+ height?: AttrStringOrNumber;
1008
+
1009
+ /**
1010
+ * Indicates that the image is part of a server-side image map.
1011
+ * @see https://html.spec.whatwg.org/multipage/embedded-content.html#attr-img-ismap
1012
+ */
1013
+ ismap?: AttrBoolean;
1014
+
1015
+ /**
1016
+ * Specifies the loading behavior of the image, which can be "eager" or "lazy".
1017
+ * @see https://html.spec.whatwg.org/multipage/embedded-content.html#attr-img-loading
1018
+ */
1019
+ loading?: AttrMissing | "eager" | "lazy";
1020
+
1021
+ /**
1022
+ * Sets the referrer policy for the image request.
1023
+ * @see https://html.spec.whatwg.org/multipage/embedded-content.html#attr-img-referrerpolicy
1024
+ */
1025
+ referrerpolicy?: AttrReferrerPolicy;
1026
+
1027
+ /**
1028
+ * A string containing size descriptors for responsive images.
1029
+ * @see https://html.spec.whatwg.org/multipage/embedded-content.html#attr-img-sizes
1030
+ */
1031
+ sizes?: AttrString;
1032
+
1033
+ /**
1034
+ * The URL of the image to display.
1035
+ * @see https://html.spec.whatwg.org/multipage/embedded-content.html#attr-img-src
1036
+ */
1037
+ src?: AttrString;
1038
+
1039
+ /**
1040
+ * A string containing URL and size descriptor pairs for responsive images.
1041
+ * @see https://html.spec.whatwg.org/multipage/embedded-content.html#attr-img-srcset
1042
+ */
1043
+ srcset?: AttrString;
1044
+
1045
+ /**
1046
+ * The URL of a client-side image map to associate with the image.
1047
+ * @see https://html.spec.whatwg.org/multipage/image-maps.html#attr-hyperlink-usemap
1048
+ */
1049
+ usemap?: AttrString;
1050
+
1051
+ /**
1052
+ * The width of the image, either as a string (CSS length value) or a number (pixels
1053
+ * @see https://html.spec.whatwg.org/multipage/embedded-content.html#attr-dim-width
1054
+ */
1055
+ width?: AttrStringOrNumber;
1056
+
1057
+ /** @deprecated */
1058
+ align?: AttrMissing | "left" | "center" | "right" | "justify" | "char";
1059
+ /** @deprecated */
1060
+ border?: AttrStringOrNumber;
1061
+ /** @deprecated */
1062
+ hspace?: AttrStringOrNumber;
1063
+ /** @deprecated */
1064
+ longdesc?: AttrString;
1065
+ /** @deprecated */
1066
+ name?: AttrString;
1067
+ /** @deprecated */
1068
+ vspace?: AttrStringOrNumber;
1069
+ }
1070
+ interface Input extends HTMLAttributes<HTMLInputElement> {
1071
+ /**
1072
+ * A comma-separated list of file types that a file input should accept.
1073
+ * @see https://html.spec.whatwg.org/multipage/input.html#attr-input-accept
1074
+ */
1075
+ accept?: AttrString;
1076
+
1077
+ /**
1078
+ * The alternate text for an image input, displayed if the image cannot be loaded.
1079
+ * @see https://html.spec.whatwg.org/multipage/input.html#attr-input-alt
1080
+ */
1081
+ alt?: AttrString;
1082
+
1083
+ /**
1084
+ * Specifies whether the input field should have autocomplete enabled or disabled.
1085
+ * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fe-autocomplete
1086
+ */
1087
+ autocomplete?: AttrAutoComplete;
1088
+
1089
+ /**
1090
+ * Indicates whether a file input should use a specific capture method.
1091
+ * "user" indicates the front camera, "environment" indicates the rear camera.
1092
+ * @see https://w3c.github.io/html-media-capture/#dfn-capture
1093
+ */
1094
+ capture?: AttrBoolean | "user" | "environment";
1095
+
1096
+ /**
1097
+ * Indicates whether a checkbox should be checked or not.
1098
+ * @see https://html.spec.whatwg.org/multipage/input.html#attr-input-checked
1099
+ */
1100
+ checked?: AttrBoolean;
1101
+
1102
+ /**
1103
+ * Enables the submission of the directionality of a text input.
1104
+ * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fe-dirname
1105
+ */
1106
+ dirname?: AttrString;
1107
+
1108
+ /**
1109
+ * Indicates whether the input should be disabled or not. When disabled,
1110
+ * the input will not be interactable or submitted with the form.
1111
+ * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fe-disabled
1112
+ */
1113
+ disabled?: AttrBoolean;
1114
+
1115
+ /**
1116
+ * The ID of the form element that this input is associated with.
1117
+ * This allows the input to be associated with a form even if it is
1118
+ * not a direct descendant of the form element.
1119
+ * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fae-form
1120
+ */
1121
+ form?: AttrString;
1122
+
1123
+ /**
1124
+ * The URL of the form processing endpoint when the input image is used for form submission.
1125
+ * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fs-formaction
1126
+ */
1127
+ formaction?: Form["action"];
1128
+
1129
+ /**
1130
+ * The encoding type for the form data when the input image is used for form submission.
1131
+ * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fs-formenctype
1132
+ */
1133
+ formenctype?: Form["enctype"];
1134
+
1135
+ /**
1136
+ * The HTTP method to use when the input image is used for form submission.
1137
+ * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fs-formmethod
1138
+ */
1139
+ formmethod?: Form["method"];
1140
+
1141
+ /**
1142
+ * Indicates whether form validation should be skipped when the input image is used for form submission.
1143
+ * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fs-formnovalidate
1144
+ */
1145
+ formnovalidate?: Form["novalidate"];
1146
+
1147
+ /**
1148
+ * The browsing context for displaying the response after form submission when the input image is used.
1149
+ * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fs-formtarget
1150
+ */
1151
+ formtarget?: Form["target"];
1152
+
1153
+ /**
1154
+ * The height of of an image input in pixels.
1155
+ * @see https://html.spec.whatwg.org/multipage/embedded-content-other.html#attr-dim-height
1156
+ */
1157
+ height?: AttrStringOrNumber;
1158
+
1159
+ /**
1160
+ * The ID of a <datalist> element that provides a list of suggested values for the input.
1161
+ * @see https://html.spec.whatwg.org/multipage/input.html#attr-input-list
1162
+ */
1163
+ list?: AttrString;
1164
+
1165
+ /**
1166
+ * The maximum allowed value for the input.
1167
+ * @see https://html.spec.whatwg.org/multipage/input.html#attr-input-max
1168
+ */
1169
+ max?: AttrStringOrNumber;
1170
+
1171
+ /**
1172
+ * The maximum number of characters allowed in the input.
1173
+ * @see https://html.spec.whatwg.org/multipage/input.html#attr-input-maxlength
1174
+ */
1175
+ maxlength?: AttrStringOrNumber;
1176
+
1177
+ /**
1178
+ * The minimum allowed value for the input.
1179
+ * @see https://html.spec.whatwg.org/multipage/input.html#attr-input-min
1180
+ */
1181
+ min?: AttrStringOrNumber;
1182
+
1183
+ /**
1184
+ * The minimum number of characters required in the input.
1185
+ * @see https://html.spec.whatwg.org/multipage/input.html#attr-input-minlength
1186
+ */
1187
+ minlength?: AttrStringOrNumber;
1188
+
1189
+ /**
1190
+ * Indicates whether the input should allow more than one value.
1191
+ * @see https://html.spec.whatwg.org/multipage/input.html#attr-input-multiple
1192
+ */
1193
+ multiple?: AttrBoolean;
1194
+
1195
+ /**
1196
+ * Used as a key when submitting the forms data. Also the name used in the form.elements api.
1197
+ * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fe-name
1198
+ * @see HTMLFormElement.elements
1199
+ */
1200
+ name?: AttrString;
1201
+
1202
+ /**
1203
+ * A regular expression pattern to be validated against the input value.
1204
+ * @see https://html.spec.whatwg.org/multipage/input.html#attr-input-pattern
1205
+ */
1206
+ pattern?: AttrString;
1207
+
1208
+ /**
1209
+ * A short hint to display in the input field before the user enters a value.
1210
+ * @see https://html.spec.whatwg.org/multipage/input.html#attr-input-placeholder
1211
+ */
1212
+ placeholder?: AttrStringOrNumber;
1213
+
1214
+ /**
1215
+ * Specifies the target element for the popover.
1216
+ * @see https://developer.chrome.com/docs/web-platform/popover-api/popovertargetaction-toggle-attribute
1217
+ */
1218
+ popovertarget?: AttrString;
1219
+
1220
+ /**
1221
+ * Specifies the action to perform on the popover target.
1222
+ * @see https://developer.chrome.com/docs/web-platform/popover-api/popovertargetaction-toggle-attribute
1223
+ */
1224
+ popovertargetaction?: AttrMissing | "toggle" | "show" | "hide";
1225
+
1226
+ /**
1227
+ * Indicates whether the input should be read-only or not. Read-only inputs cannot be edited.
1228
+ * @see https://html.spec.whatwg.org/multipage/input.html#attr-input-readonly
1229
+ */
1230
+ readonly?: AttrBoolean;
1231
+
1232
+ /**
1233
+ * Indicates whether the input is required to have a value for the form to be submitted.
1234
+ * @see https://html.spec.whatwg.org/multipage/input.html#attr-input-required
1235
+ */
1236
+ required?: AttrBoolean;
1237
+
1238
+ /**
1239
+ * The number of characters wide a text input field should be displayed.
1240
+ * @see https://html.spec.whatwg.org/multipage/input.html#attr-input-size
1241
+ */
1242
+ size?: AttrStringOrNumber;
1243
+
1244
+ /**
1245
+ * The URL of the image file.
1246
+ * @see https://html.spec.whatwg.org/multipage/input.html#attr-input-src
1247
+ */
1248
+ src?: AttrString;
1249
+
1250
+ /**
1251
+ * Specifies the allowed number intervals for the input value.
1252
+ * @see https://html.spec.whatwg.org/multipage/input.html#attr-input-step
1253
+ */
1254
+ step?: AttrStringOrNumber;
1255
+
1256
+ /**
1257
+ * Controls the data type (and associated control) of the element.
1258
+ * @see https://html.spec.whatwg.org/multipage/input.html#attr-input-type
1259
+ */
1260
+ type?:
1261
+ | AttrMissing
1262
+ | "button"
1263
+ | "checkbox"
1264
+ | "color"
1265
+ | "date"
1266
+ | "datetime-local"
1267
+ | "email"
1268
+ | "file"
1269
+ | "hidden"
1270
+ | "image"
1271
+ | "month"
1272
+ | "number"
1273
+ | "password"
1274
+ | "radio"
1275
+ | "range"
1276
+ | "reset"
1277
+ | "search"
1278
+ | "submit"
1279
+ | "tel"
1280
+ | "text"
1281
+ | "time"
1282
+ | "url"
1283
+ | "week";
1284
+
1285
+ /**
1286
+ * Specifies the string value you want to pass back to the server.
1287
+ * @see https://html.spec.whatwg.org/multipage/input.html#attr-input-value
1288
+ */
1289
+ value?: AttrStringOrNumber;
1290
+
1291
+ /**
1292
+ * The width of an image input in pixels.
1293
+ * @see https://html.spec.whatwg.org/multipage/embedded-content-other.html#attr-dim-width
1294
+ */
1295
+ width?: AttrStringOrNumber;
1296
+
1297
+ // NON STANDARD
1298
+
1299
+ /**
1300
+ * Called whenever a the `checked` property of an `input` has changed.
1301
+ * When `checkedChange` is a function, `checked` becomes controlled.
1302
+ * This means the `checked` property is synchronized instead of the `checked` attribute.
1303
+ */
1304
+ checkedChange?: AttrMissing | ((checked: boolean) => void);
1305
+
1306
+ /**
1307
+ * Used to synchronize the `checked` attribute with a `value` attribute used across related `input type="checkbox"` and `input type="radio"` controls.
1308
+ * When `checkedValue` is a string, the `checked` attribute will be set to a boolean that is `true` if the `checkedValue` is the same as the `value`.
1309
+ * When `checkedValue` is an array of strings, the `checked` attribute will be set to a boolean that is `true` if the `checkedValue` array includes the `value`.
1310
+ * If the `checkedValue` is falsy then `checked` is always `false`.
1311
+ */
1312
+ checkedValue?: AttrMissing | string | string[];
1313
+ /**
1314
+ * Called whenever a `input type="checkbox"` or `input type="radio"` using the `checkedValue` attribute has changed.
1315
+ * When `checkedValueChange` is a function, `checked` becomes controlled.
1316
+ * This means the `checked` property is synchronized instead of the `checked` attribute.
1317
+ */
1318
+ checkedValueChange?:
1319
+ | AttrMissing
1320
+ | ((
1321
+ /** Note this is hack that allows you to work with the value as both a string and a string[] without needing generics */
1322
+ checkedValue: string & string[],
1323
+ ) => void);
1324
+
1325
+ /**
1326
+ * Called whenever a the `value` property of an `input` has changed.
1327
+ * When `valueChange` is a function, `value` becomes controlled. This means
1328
+ * This means the `value` property is synchronized instead of the `value` attribute.
1329
+ */
1330
+ valueChange?: AttrMissing | ((value: string) => void);
1331
+ }
1332
+
1333
+ interface Ins extends HTMLAttributes<HTMLModElement> {
1334
+ /**
1335
+ * A URI for a resource that explains the reason for the insertion.
1336
+ * @see https://html.spec.whatwg.org/multipage/edits.html#attr-mod-cite
1337
+ */
1338
+ cite?: AttrString;
1339
+
1340
+ /**
1341
+ * The date and time when the element's contents were inserted, in the format "YYYY-MM-DDThh:mm:ssZ".
1342
+ * @see https://html.spec.whatwg.org/multipage/edits.html#attr-mod-datetime
1343
+ */
1344
+ datetime?: AttrString;
1345
+ }
1346
+
1347
+ interface Kbd extends HTMLAttributes<HTMLElement> {}
1348
+ interface Label extends HTMLAttributes<HTMLLabelElement> {
1349
+ /**
1350
+ * The ID of a form control that this label is associated with.
1351
+ * @see https://html.spec.whatwg.org/multipage/forms.html#attr-label-for
1352
+ */
1353
+ for?: AttrString;
1354
+
1355
+ /**
1356
+ * The ID of the form element that this label is associated with, if the form control is not a descendant of the label element.
1357
+ * Note that this attribute is non standard.
1358
+ *
1359
+ * @see https://www.w3schools.com/tags//att_label_form.asp
1360
+ */
1361
+ form?: AttrString;
1362
+ }
1363
+
1364
+ interface Legend extends HTMLAttributes<HTMLLegendElement> {}
1365
+ interface LI extends HTMLAttributes<HTMLLIElement> {
1366
+ /**
1367
+ * The value used to determine the ordinal value of the list item.
1368
+ * @see https://html.spec.whatwg.org/multipage/grouping-content.html#attr-li-value
1369
+ */
1370
+ value?: AttrStringOrNumber;
1371
+
1372
+ /** @deprecated */
1373
+ type?: AttrString;
1374
+ }
1375
+ // TODO break into multiple interfaces based on rel?
1376
+ interface Link extends HTMLAttributes<HTMLLinkElement> {
1377
+ /**
1378
+ * Specifies the type of resource for the preload request.
1379
+ * @see https://html.spec.whatwg.org/multipage/links.html#attr-link-as
1380
+ */
1381
+ as?:
1382
+ | AttrMissing
1383
+ | "audio"
1384
+ | "document"
1385
+ | "embed"
1386
+ | "fetch"
1387
+ | "font"
1388
+ | "image"
1389
+ | "object"
1390
+ | "script"
1391
+ | "style"
1392
+ | "track"
1393
+ | "video"
1394
+ | "worker";
1395
+
1396
+ /**
1397
+ * Specifies whether the link should block rendering or not.
1398
+ * @see https://html.spec.whatwg.org/multipage/links.html#attr-link-blocking
1399
+ */
1400
+ blocking?: AttrMissing | "render";
1401
+
1402
+ /**
1403
+ * Specifies how the CORS requests for the element should be handled.
1404
+ * @see https://html.spec.whatwg.org/multipage/urls-and-fetching.html#cors-settings-attributes
1405
+ */
1406
+ crossorigin?: AttrCrossOrigin;
1407
+
1408
+ /**
1409
+ * Indicates if the link element is disabled.
1410
+ * @see https://html.spec.whatwg.org/multipage/links.html#attr-link-disabled
1411
+ */
1412
+ disabled?: AttrBoolean;
1413
+
1414
+ /**
1415
+ * Specifies the priority for the fetch request.
1416
+ * @see https://html.spec.whatwg.org/multipage/links.html#attr-link-fetchpriority
1417
+ */
1418
+ fetchpriority?: AttrMissing | "auto" | "high" | "low";
1419
+
1420
+ /**
1421
+ * Specifies the URL of the linked resource.
1422
+ * @see https://html.spec.whatwg.org/multipage/links.html#attr-link-href
1423
+ */
1424
+ href?: AttrString;
1425
+
1426
+ /**
1427
+ * Specifies the language of the linked resource.
1428
+ * @see https://html.spec.whatwg.org/multipage/links.html#attr-link-hreflang
1429
+ */
1430
+ hreflang?: AttrString;
1431
+
1432
+ /**
1433
+ * Specifies the sizes for image resources.
1434
+ * @see https://html.spec.whatwg.org/multipage/links.html#attr-link-imagesizes
1435
+ */
1436
+ imagesizes?: AttrString;
1437
+
1438
+ /**
1439
+ * Specifies a set of source sizes for responsive images.
1440
+ * @see https://html.spec.whatwg.org/multipage/links.html#attr-link-imagesrcset
1441
+ */
1442
+ imagesrcset?: AttrString;
1443
+
1444
+ /**
1445
+ * Allows a resource to be fetched with a cryptographic hash, ensuring the integrity of the resource.
1446
+ * @see https://html.spec.whatwg.org/multipage/links.html#attr-link-integrity
1447
+ */
1448
+ integrity?: AttrString;
1449
+
1450
+ /**
1451
+ * Specifies the media for which the linked resource is designed.
1452
+ * @see https://html.spec.whatwg.org/multipage/links.html#attr-link-media
1453
+ */
1454
+ media?: AttrString;
1455
+
1456
+ /**
1457
+ * Specifies the referrer policy for the request initiated by the link element.
1458
+ * @see https://html.spec.whatwg.org/multipage/links.html#attr-link-referrerpolicy
1459
+ */
1460
+ referrerpolicy?: AttrReferrerPolicy;
1461
+
1462
+ /**
1463
+ * Specifies the relationship between the current document and the linked resource.
1464
+ * @see https://html.spec.whatwg.org/multipage/links.html#attr-link-rel
1465
+ */
1466
+ rel?:
1467
+ | AttrMissing
1468
+ | "alternate"
1469
+ | "author"
1470
+ | "bookmark"
1471
+ | "canonical"
1472
+ | "dns-prefetch"
1473
+ | "external"
1474
+ | "help"
1475
+ | "icon"
1476
+ | "manifest"
1477
+ | "modulepreload"
1478
+ | "license"
1479
+ | "next"
1480
+ | "pingback"
1481
+ | "preconnect"
1482
+ | "prefetch"
1483
+ | "preload"
1484
+ | "prev"
1485
+ | "search"
1486
+ | "stylesheet"
1487
+ | (string & {});
1488
+
1489
+ /**
1490
+ * Specifies the size of the resource for rel="icon" or rel="apple-touch-icon".
1491
+ * @see https://html.spec.whatwg.org/multipage/links.html#attr-link-sizes
1492
+ */
1493
+ sizes?: AttrString;
1494
+
1495
+ /**
1496
+ * Specifies the MIME type of the linked resource.
1497
+ * @see https://html.spec.whatwg.org/multipage/links.html#attr-link-type
1498
+ */
1499
+ type?: AttrString;
1500
+
1501
+ // DEPRECATED
1502
+
1503
+ /** @deprecated */
1504
+ charset?: AttrString;
1505
+
1506
+ /** @deprecated */
1507
+ rev?: AttrString;
1508
+ }
1509
+
1510
+ interface Main extends HTMLAttributes<HTMLElement> {}
1511
+ interface Map extends HTMLAttributes<HTMLMapElement> {
1512
+ /**
1513
+ * Specifies the name of the map.
1514
+ * @see https://html.spec.whatwg.org/multipage/embedded-content.html#attr-map-name
1515
+ */
1516
+ name?: AttrString;
1517
+ }
1518
+ interface Mark extends HTMLAttributes<HTMLElement> {}
1519
+ interface Menu extends HTMLAttributes<HTMLMenuElement> {
1520
+ /**
1521
+ * Specifies the title of the menu.
1522
+ * @see https://html.spec.whatwg.org/multipage/interactive-elements.html#attr-menu-label
1523
+ */
1524
+ label?: AttrString;
1525
+
1526
+ /**
1527
+ * Specifies the type of the menu, either a context menu or a toolbar.
1528
+ * @see https://html.spec.whatwg.org/multipage/interactive-elements.html#attr-menu-type
1529
+ */
1530
+ type?: AttrMissing | "context" | "toolbar";
1531
+ }
1532
+ interface Meta extends HTMLAttributes<HTMLMetaElement> {
1533
+ /**
1534
+ * Specifies the character encoding for the HTML document.
1535
+ * @see https://html.spec.whatwg.org/multipage/semantics.html#attr-meta-charset
1536
+ */
1537
+ charset?: AttrString;
1538
+
1539
+ /**
1540
+ * Specifies the value associated with the http-equiv or name attribute.
1541
+ * @see https://html.spec.whatwg.org/multipage/semantics.html#attr-meta-content
1542
+ */
1543
+ content?: AttrString;
1544
+
1545
+ /**
1546
+ * Specifies a pragma directive to affect the behavior of the user agent or server.
1547
+ * @see https://html.spec.whatwg.org/multipage/semantics.html#attr-meta-http-equiv
1548
+ */
1549
+ "http-equiv"?:
1550
+ | AttrMissing
1551
+ | "Content-Security-Policy"
1552
+ | "Content-Type"
1553
+ | "Default-Style"
1554
+ | "Refresh"
1555
+ | "X-UA-Compatible";
1556
+
1557
+ /**
1558
+ * Specifies the metadata name for the content attribute.
1559
+ * @see https://html.spec.whatwg.org/multipage/semantics.html#attr-meta-name
1560
+ */
1561
+ name?: AttrString;
1562
+
1563
+ /** @see https://ogp.me/ */
1564
+ property?: AttrString;
1565
+ }
1566
+ interface Meter extends HTMLAttributes<HTMLMeterElement> {
1567
+ /**
1568
+ * Specifies the upper bound of the high end of the measured range.
1569
+ * @see https://html.spec.whatwg.org/multipage/form-elements.html#attr-meter-high
1570
+ */
1571
+ high?: AttrStringOrNumber;
1572
+
1573
+ /**
1574
+ * Specifies the lower bound of the low end of the measured range.
1575
+ * @see https://html.spec.whatwg.org/multipage/form-elements.html#attr-meter-low
1576
+ */
1577
+ low?: AttrStringOrNumber;
1578
+
1579
+ /**
1580
+ * Specifies the maximum value of the range.
1581
+ * @see https://html.spec.whatwg.org/multipage/form-elements.html#attr-meter-max
1582
+ */
1583
+ max?: AttrStringOrNumber;
1584
+
1585
+ /**
1586
+ * Specifies the minimum value of the range.
1587
+ * @see https://html.spec.whatwg.org/multipage/form-elements.html#attr-meter-min
1588
+ */
1589
+ min?: AttrStringOrNumber;
1590
+
1591
+ /**
1592
+ * Specifies the value that is considered optimal.
1593
+ * @see https://html.spec.whatwg.org/multipage/form-elements.html#attr-meter-optimum
1594
+ */
1595
+ optimum?: AttrStringOrNumber;
1596
+
1597
+ /**
1598
+ * Specifies the current value of the meter.
1599
+ * @see https://html.spec.whatwg.org/multipage/form-elements.html#attr-meter-value
1600
+ */
1601
+ value?: AttrStringOrNumber;
1602
+ }
1603
+
1604
+ interface Nav extends HTMLAttributes<HTMLElement> {}
1605
+ interface NoScript extends HTMLAttributes<HTMLElement> {}
1606
+ interface Object extends HTMLAttributes<HTMLObjectElement> {
1607
+ /**
1608
+ * Specifies the URL of the resource to be embedded.
1609
+ * @see https://html.spec.whatwg.org/multipage/iframe-embed-object.html#attr-object-data
1610
+ */
1611
+ data?: AttrString;
1612
+
1613
+ /**
1614
+ * Associates the object element with a form element.
1615
+ * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fae-form
1616
+ */
1617
+ form?: AttrString;
1618
+
1619
+ /**
1620
+ * Specifies the height of the object element.
1621
+ * @see https://html.spec.whatwg.org/multipage/embedded-content-other.html#attr-dim-height
1622
+ */
1623
+ height?: AttrStringOrNumber;
1624
+
1625
+ /**
1626
+ * Specifies the name of the object element.
1627
+ * @see https://html.spec.whatwg.org/multipage/iframe-embed-object.html#attr-object-name
1628
+ */
1629
+ name?: AttrString;
1630
+
1631
+ /**
1632
+ * Specifies the MIME type of the resource.
1633
+ * @see https://html.spec.whatwg.org/multipage/iframe-embed-object.html#attr-object-type
1634
+ */
1635
+ type?: AttrString;
1636
+
1637
+ /**
1638
+ * Specifies a client-side image map to be used with the object element.
1639
+ * @see https://html.spec.whatwg.org/multipage/iframe-embed-object.html#attr-object-usemap
1640
+ */
1641
+ usemap?: AttrString;
1642
+
1643
+ /**
1644
+ * Specifies the width of the object element.
1645
+ * @see https://html.spec.whatwg.org/multipage/embedded-content-other.html#attr-dim-width
1646
+ */
1647
+ width?: AttrStringOrNumber;
1648
+
1649
+ /** @deprecated */
1650
+ archive?: AttrString;
1651
+ /** @deprecated */
1652
+ border?: AttrString;
1653
+ /** @deprecated */
1654
+ classid?: AttrString;
1655
+ /** @deprecated */
1656
+ codebase?: AttrString;
1657
+ /** @deprecated */
1658
+ codetype?: AttrString;
1659
+ /** @deprecated */
1660
+ declare?: AttrBoolean;
1661
+ /** @deprecated */
1662
+ standby?: AttrString;
1663
+ }
1664
+ interface OL extends HTMLAttributes<HTMLOListElement> {
1665
+ /**
1666
+ * Specifies whether the list items are numbered in reverse order.
1667
+ * @see https://html.spec.whatwg.org/multipage/grouping-content.html#attr-ol-reversed
1668
+ */
1669
+ reversed?: AttrBoolean;
1670
+
1671
+ /**
1672
+ * Specifies the starting value of the list items.
1673
+ * @see https://html.spec.whatwg.org/multipage/grouping-content.html#attr-ol-start
1674
+ */
1675
+ start?: AttrStringOrNumber;
1676
+
1677
+ /**
1678
+ * Specifies the numbering type of the list items.
1679
+ * @see https://html.spec.whatwg.org/multipage/grouping-content.html#attr-ol-type
1680
+ */
1681
+ type?: AttrMissing | "1" | "a" | "A" | "i" | "I";
1682
+ }
1683
+ interface OptGroup extends HTMLAttributes<HTMLOptGroupElement> {
1684
+ /**
1685
+ * Specifies that the option group is disabled.
1686
+ * @see https://html.spec.whatwg.org/multipage/form-elements.html#attr-optgroup-disabled
1687
+ */
1688
+ disabled?: AttrBoolean;
1689
+
1690
+ /**
1691
+ * Specifies a label for the option group.
1692
+ * @see https://html.spec.whatwg.org/multipage/form-elements.html#attr-optgroup-label
1693
+ */
1694
+ label?: AttrString;
1695
+ }
1696
+ interface Option extends HTMLAttributes<HTMLOptionElement> {
1697
+ /**
1698
+ * Specifies that the option is disabled.
1699
+ * @see https://html.spec.whatwg.org/multipage/form-elements.html#attr-option-disabled
1700
+ */
1701
+ disabled?: AttrBoolean;
1702
+
1703
+ /**
1704
+ * Specifies a label for the option element.
1705
+ * @see https://html.spec.whatwg.org/multipage/form-elements.html#attr-option-label
1706
+ */
1707
+ label?: AttrString;
1708
+
1709
+ /**
1710
+ * Specifies that the option element is selected by default.
1711
+ * @see https://html.spec.whatwg.org/multipage/form-elements.html#attr-option-selected
1712
+ */
1713
+ selected?: AttrBoolean;
1714
+
1715
+ /**
1716
+ * Specifies the value of the option element.
1717
+ * @see https://html.spec.whatwg.org/multipage/form-elements.html#attr-option-value
1718
+ */
1719
+ value?: AttrStringOrNumber;
1720
+ }
1721
+ interface Output extends HTMLAttributes<HTMLOutputElement> {
1722
+ /**
1723
+ * Specifies the ID of the form element that this output element is associated with.
1724
+ * @see https://html.spec.whatwg.org/multipage/form-elements.html#attr-output-for
1725
+ */
1726
+ for?: AttrString;
1727
+
1728
+ /**
1729
+ * Specifies the ID of the form that this output element belongs to.
1730
+ * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fae-form
1731
+ */
1732
+ form?: AttrString;
1733
+
1734
+ /**
1735
+ * Specifies the name of the output element.
1736
+ * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fe-name
1737
+ */
1738
+ name?: AttrString;
1739
+ }
1740
+
1741
+ interface P extends HTMLAttributes<HTMLParagraphElement> {}
1742
+ interface Picture extends HTMLAttributes<HTMLPictureElement> {}
1743
+ interface Pre extends HTMLAttributes<HTMLPreElement> {
1744
+ /** @deprecated */
1745
+ cols?: AttrStringOrNumber;
1746
+ /** @deprecated */
1747
+ width?: AttrStringOrNumber;
1748
+ /** @deprecated */
1749
+ wrap?: AttrString;
1750
+ }
1751
+ interface Progress extends HTMLAttributes<HTMLProgressElement> {
1752
+ /**
1753
+ * Specifies the maximum value of the progress bar.
1754
+ * @see https://html.spec.whatwg.org/multipage/form-elements.html#attr-progress-max
1755
+ */
1756
+ max?: AttrStringOrNumber;
1757
+
1758
+ /**
1759
+ * Specifies the current value of the progress bar.
1760
+ * @see https://html.spec.whatwg.org/multipage/form-elements.html#attr-progress-value
1761
+ */
1762
+ value?: AttrStringOrNumber;
1763
+ }
1764
+
1765
+ interface Q extends HTMLAttributes<HTMLQuoteElement> {
1766
+ /**
1767
+ * Specifies the URL of the source document or message that the quotation came from.
1768
+ * @see https://html.spec.whatwg.org/multipage/text-level-semantics.html#attr-q-cite
1769
+ */
1770
+ cite?: AttrString;
1771
+ }
1772
+
1773
+ interface RP extends HTMLAttributes<HTMLElement> {}
1774
+ interface RT extends HTMLAttributes<HTMLElement> {}
1775
+ interface Ruby extends HTMLAttributes<HTMLElement> {}
1776
+ interface S extends HTMLAttributes<HTMLElement> {}
1777
+ interface Samp extends HTMLAttributes<HTMLElement> {}
1778
+ interface Script extends HTMLAttributes<HTMLScriptElement> {
1779
+ /**
1780
+ * Specifies that the script should be executed asynchronously.
1781
+ * @see https://html.spec.whatwg.org/multipage/scripting.html#attr-script-async
1782
+ */
1783
+ async?: AttrBoolean;
1784
+
1785
+ /**
1786
+ * Specifies that the script should be fetched and executed after the page is rendered.
1787
+ * @see https://html.spec.whatwg.org/multipage/scripting.html#attr-script-blocking
1788
+ */
1789
+ blocking?: AttrMissing | "render";
1790
+
1791
+ /**
1792
+ * Specifies whether CORS (Cross-Origin Resource Sharing) requests should be used when fetching the script.
1793
+ * @see https://html.spec.whatwg.org/multipage/scripting.html#attr-script-crossorigin
1794
+ */
1795
+ crossorigin?: AttrCrossOrigin;
1796
+
1797
+ /**
1798
+ * Specifies that the script should be executed after the page is parsed, but before the document is loaded.
1799
+ * @see https://html.spec.whatwg.org/multipage/scripting.html#attr-script-defer
1800
+ */
1801
+ defer?: AttrBoolean;
1802
+
1803
+ /**
1804
+ * Specifies the priority level for fetching the script.
1805
+ * @see https://html.spec.whatwg.org/multipage/scripting.html#attr-script-fetchpriority
1806
+ */
1807
+ fetchpriority?: AttrMissing | "auto" | "high" | "low";
1808
+
1809
+ /**
1810
+ * Specifies the integrity hash for the script.
1811
+ * @see https://html.spec.whatwg.org/multipage/urls-and-fetching.html#attr-link-integrity
1812
+ */
1813
+ integrity?: AttrString;
1814
+
1815
+ /**
1816
+ * Specifies that the script should be ignored if the browser doesn't support modules.
1817
+ * @see https://html.spec.whatwg.org/multipage/scripting.html#attr-script-nomodule
1818
+ */
1819
+ nomodule?: AttrBoolean;
1820
+
1821
+ /**
1822
+ * Specifies the referrer policy for the script.
1823
+ * @see https://html.spec.whatwg.org/multipage/urls-and-fetching.html#attr-link-referrerpolicy
1824
+ */
1825
+ referrerpolicy?: AttrReferrerPolicy;
1826
+
1827
+ /**
1828
+ * Specifies the URL of the script.
1829
+ * @see https://html.spec.whatwg.org/multipage/scripting.html#attr-script-src
1830
+ */
1831
+ src?: AttrString;
1832
+
1833
+ /**
1834
+ * Specifies the type of the script.
1835
+ * @see https://html.spec.whatwg.org/multipage/scripting.html#attr-script-type
1836
+ */
1837
+ type?:
1838
+ | AttrMissing
1839
+ | "application/javascript"
1840
+ | "module"
1841
+ | "import-map"
1842
+ | (string & {});
1843
+
1844
+ /** @deprecated */
1845
+ charset?: AttrString;
1846
+ /** @deprecated */
1847
+ language?: AttrString;
1848
+ }
1849
+
1850
+ interface Section extends HTMLAttributes<HTMLElement> {}
1851
+ interface Select extends HTMLAttributes<HTMLSelectElement> {
1852
+ /**
1853
+ * Controls whether the browser should automatically complete the value for the select.
1854
+ * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fe-autocomplete
1855
+ */
1856
+ autocomplete?: AttrAutoComplete;
1857
+
1858
+ /**
1859
+ * Indicates whether the select element should be disabled or not.
1860
+ * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fe-disabled
1861
+ */
1862
+ disabled?: AttrBoolean;
1863
+
1864
+ /**
1865
+ * Specifies the form element associated with the select.
1866
+ * @see https://html.spec.whatwg.org/multipage/form-elements.html#attr-fae-form
1867
+ */
1868
+ form?: AttrString;
1869
+
1870
+ /**
1871
+ * Indicates that multiple options can be selected.
1872
+ * @see https://html.spec.whatwg.org/multipage/form-elements.html#attr-select-multiple
1873
+ */
1874
+ multiple?: AttrBoolean;
1875
+
1876
+ /**
1877
+ * The name attribute of the select element, which is used as a key
1878
+ * when submitting the form data. Also the named used in the form.elements.
1879
+ * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fe-name
1880
+ * @see HTMLFormElement.elements
1881
+ */
1882
+ name?: AttrString;
1883
+
1884
+ /**
1885
+ * Indicates whether a selection is required or not for the select.
1886
+ * @see https://html.spec.whatwg.org/multipage/form-elements.html#attr-select-required
1887
+ */
1888
+ required?: AttrBoolean;
1889
+
1890
+ /**
1891
+ * Specifies how many options are visible at once.
1892
+ * @see https://html.spec.whatwg.org/multipage/form-elements.html#attr-select-size
1893
+ */
1894
+ size?: AttrStringOrNumber;
1895
+
1896
+ // NON STANDARD
1897
+
1898
+ /**
1899
+ * When the `value` is a string, nested `<option>` tags with a matching `value` attribute become `selected`.
1900
+ * When the `value` is an array of strings, nested `<option>` tags with a `value` contained within the array are `selected.
1901
+ */
1902
+ value?: AttrMissing | string | string[];
1903
+
1904
+ /**
1905
+ * Called whenever a the `value` property of the `select` has changed.
1906
+ * When `valueChange` is a function, `value` becomes controlled. This means
1907
+ * This means the `value` property is synchronized instead of the `value` attribute.
1908
+ */
1909
+ valueChange?:
1910
+ | AttrMissing
1911
+ | ((
1912
+ /** Note this is hack that allows you to work with the value as both a string and a string[] without needing generics */
1913
+ value: string & string[],
1914
+ ) => void);
1915
+ }
1916
+
1917
+ interface Slot extends HTMLAttributes<HTMLSlotElement> {
1918
+ /**
1919
+ * Used to assign slots to other elements
1920
+ * @see https://html.spec.whatwg.org/multipage/semantics.html#attr-slot-name
1921
+ */
1922
+ name?: AttrString;
1923
+ }
1924
+
1925
+ interface Small extends HTMLAttributes<HTMLElement> {}
1926
+ interface Source extends HTMLAttributes<HTMLSourceElement> {
1927
+ /**
1928
+ * Specifies the MIME type of the resource provided by the <source> element.
1929
+ * Helps the browser decide if it can play the resource or not.
1930
+ * @see https://html.spec.whatwg.org/multipage/embedded-content.html#attr-source-type
1931
+ */
1932
+ type?: AttrString;
1933
+
1934
+ /**
1935
+ * Specifies the URL of the media resource for the <source> element.
1936
+ * @see https://html.spec.whatwg.org/multipage/embedded-content.html#attr-source-src
1937
+ */
1938
+ src?: AttrString;
1939
+
1940
+ /**
1941
+ * Specifies a list of image sources for the <source> element when used inside a <picture> element.
1942
+ * Provides a way to offer multiple image formats or resolutions.
1943
+ * @see https://html.spec.whatwg.org/multipage/embedded-content.html#attr-source-srcset
1944
+ */
1945
+ srcset?: AttrString;
1946
+
1947
+ /**
1948
+ * Specifies the sizes of the images provided in the srcset attribute for the <source> element.
1949
+ * Helps the browser choose the most suitable image based on the device's dimensions.
1950
+ * @see https://html.spec.whatwg.org/multipage/embedded-content.html#attr-source-sizes
1951
+ */
1952
+ sizes?: AttrString;
1953
+
1954
+ /**
1955
+ * Specifies the media conditions for the <source> element.
1956
+ * Helps the browser choose the most suitable source based on the device's capabilities and preferences.
1957
+ * @see https://html.spec.whatwg.org/multipage/embedded-content.html#attr-source-media
1958
+ */
1959
+ media?: AttrString;
1960
+
1961
+ /**
1962
+ * Specifies the height of the <source> element's media resource.
1963
+ * @see https://html.spec.whatwg.org/multipage/embedded-content-other.html#attr-dim-height
1964
+ */
1965
+ height?: AttrStringOrNumber;
1966
+
1967
+ /**
1968
+ * Specifies the width of the <source> element's media resource.
1969
+ * @see https://html.spec.whatwg.org/multipage/embedded-content-other.html#attr-dim-width
1970
+ */
1971
+ width?: AttrStringOrNumber;
1972
+ }
1973
+
1974
+ interface Span extends HTMLAttributes<HTMLSpanElement> {}
1975
+ interface Strong extends HTMLAttributes<HTMLElement> {}
1976
+ interface Style extends HTMLAttributes<HTMLStyleElement> {
1977
+ /**
1978
+ * Determines whether the <style> element blocks rendering.
1979
+ * Since <style> already blocks rendering, this attribute is currently useless until
1980
+ * a non-blocking option for this attribute is added.
1981
+ * @see https://html.spec.whatwg.org/multipage/semantics.html#attr-style-blocking
1982
+ */
1983
+ blocking?: AttrMissing | "render";
1984
+
1985
+ /**
1986
+ * Specifies the intended media for which the styles in the <style> element should be applied.
1987
+ * For example, "print" for print media or "screen" for screen display.
1988
+ * @see https://html.spec.whatwg.org/multipage/semantics.html#attr-style-media
1989
+ */
1990
+ media?: AttrString;
1991
+ /** @deprecated */
1992
+ scoped?: AttrBoolean;
1993
+ /** @deprecated */
1994
+ type?: AttrMissing | "text/css";
1995
+ }
1996
+ interface Sub extends HTMLAttributes<HTMLElement> {}
1997
+ interface Summary extends HTMLAttributes<HTMLElement> {}
1998
+ interface Sup extends HTMLAttributes<HTMLElement> {}
1999
+ interface Table extends HTMLAttributes<HTMLTableElement> {
2000
+ /** @deprecated */
2001
+ align?: AttrString;
2002
+ /** @deprecated */
2003
+ bgcolor?: AttrString;
2004
+ /** @deprecated */
2005
+ border?: AttrStringOrNumber;
2006
+ /** @deprecated */
2007
+ cellpadding?: AttrStringOrNumber;
2008
+ /** @deprecated */
2009
+ cellspacing?: AttrStringOrNumber;
2010
+ /** @deprecated */
2011
+ frame?: AttrString;
2012
+ /** @deprecated */
2013
+ rules?: AttrString;
2014
+ /** @deprecated */
2015
+ summary?: AttrString;
2016
+ /** @deprecated */
2017
+ width?: AttrStringOrNumber;
2018
+ }
2019
+ interface TBody extends HTMLAttributes<HTMLTableSectionElement> {
2020
+ /** @deprecated */
2021
+ align?: AttrString;
2022
+ /** @deprecated */
2023
+ bgcolor?: AttrString;
2024
+ /** @deprecated */
2025
+ char?: AttrString;
2026
+ /** @deprecated */
2027
+ charoff?: AttrStringOrNumber;
2028
+ /** @deprecated */
2029
+ valign?: AttrString;
2030
+ }
2031
+ interface TD extends HTMLAttributes<HTMLTableCellElement> {
2032
+ /**
2033
+ * Specifies how many columns the <td> element should span in the table.
2034
+ * @see https://html.spec.whatwg.org/multipage/tables.html#attr-tdth-colspan
2035
+ */
2036
+ colspan?: AttrStringOrNumber;
2037
+
2038
+ /**
2039
+ * Specifies a list of header cell IDs that are related to the content of the <td> element.
2040
+ * @see https://html.spec.whatwg.org/multipage/tables.html#attr-tdth-headers
2041
+ */
2042
+ headers?: AttrString;
2043
+
2044
+ /**
2045
+ * Specifies how many rows the <td> element should span in the table.
2046
+ * @see https://html.spec.whatwg.org/multipage/tables.html#attr-tdth-rowspan
2047
+ */
2048
+ rowspan?: AttrStringOrNumber;
2049
+
2050
+ /** @deprecated */
2051
+ align?: AttrString;
2052
+ /** @deprecated */
2053
+ axis?: AttrString;
2054
+ /** @deprecated */
2055
+ bgcolor?: AttrString;
2056
+ /** @deprecated */
2057
+ char?: AttrString;
2058
+ /** @deprecated */
2059
+ charoff?: AttrStringOrNumber;
2060
+ /** @deprecated */
2061
+ height?: AttrStringOrNumber;
2062
+ /** @deprecated */
2063
+ scope?: AttrString;
2064
+ /** @deprecated */
2065
+ valign?: AttrString;
2066
+ /** @deprecated */
2067
+ width?: AttrStringOrNumber;
2068
+ }
2069
+ interface Template extends HTMLAttributes<HTMLTemplateElement> {
2070
+ /**
2071
+ * Specifies the shadow root mode for the <template> element when creating a shadow root.
2072
+ * "open" allows access to the shadow root, while "closed" restricts access.
2073
+ * @see https://developer.chrome.com/articles/declarative-shadow-dom
2074
+ * @see https://github.com/mfreed7/declarative-shadow-dom
2075
+ */
2076
+ shadowrootmode?: AttrMissing | "open" | "closed";
2077
+ }
2078
+ interface TextArea extends HTMLAttributes<HTMLTextAreaElement> {
2079
+ /**
2080
+ * Represents the autocomplete attribute of the <textarea> element.
2081
+ * Helps browsers autofill the user's input based on previous entries.
2082
+ * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fe-autocomplete
2083
+ */
2084
+ autocomplete?: AttrAutoComplete;
2085
+
2086
+ /**
2087
+ * (Safari only). Controls the autocorrect behavior of the <textarea> element.
2088
+ */
2089
+ autocorrect?: AttrOnOff;
2090
+
2091
+ /**
2092
+ * Specifies the visible width of the <textarea> element in terms of character width.
2093
+ * @see https://html.spec.whatwg.org/multipage/form-elements.html#attr-textarea-cols
2094
+ */
2095
+ cols?: AttrStringOrNumber;
2096
+
2097
+ /**
2098
+ * Represents the dirname attribute of the <textarea> element.
2099
+ * Provides a way to submit the text direction (ltr or rtl) along with the form data.
2100
+ * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fe-dirname
2101
+ */
2102
+ dirname?: AttrString;
2103
+
2104
+ /**
2105
+ * Indicates whether the <textarea> element should be disabled or not.
2106
+ * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fe-disabled
2107
+ */
2108
+ disabled?: AttrBoolean;
2109
+
2110
+ /**
2111
+ * Represents the form attribute of the <textarea> element.
2112
+ * Associates the <textarea> with a specific <form> element.
2113
+ * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fae-form
2114
+ */
2115
+ form?: AttrString;
2116
+
2117
+ /**
2118
+ * Specifies the maximum number of characters that can be entered into the <textarea> element.
2119
+ * @see https://html.spec.whatwg.org/multipage/form-elements.html#attr-textarea-maxlength
2120
+ */
2121
+ maxlength?: AttrStringOrNumber;
2122
+
2123
+ /**
2124
+ * Specifies the minimum number of characters required for the <textarea> element.
2125
+ * @see https://html.spec.whatwg.org/multipage/form-elements.html#attr-textarea-minlength
2126
+ */
2127
+ minlength?: AttrStringOrNumber;
2128
+
2129
+ /**
2130
+ * Represents the name attribute of the <textarea> element.
2131
+ * Used as a key when submitting the form data.
2132
+ * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fe-name
2133
+ */
2134
+ name?: AttrString;
2135
+
2136
+ /**
2137
+ * Specifies a short hint that describes the expected value of the <textarea> element.
2138
+ * Displayed when the element is empty and not focused.
2139
+ * @see https://html.spec.whatwg.org/multipage/form-elements.html#attr-textarea-placeholder
2140
+ */
2141
+ placeholder?: AttrString;
2142
+
2143
+ /**
2144
+ * Indicates whether the <textarea> element should be read-only or not.
2145
+ * Users can't modify the content, but the text is selectable and can be copied.
2146
+ * @see https://html.spec.whatwg.org/multipage/form-elements.html#attr-textarea-readonly
2147
+ */
2148
+ readonly?: AttrBoolean;
2149
+
2150
+ /**
2151
+ * Indicates whether a value is required or not for the <textarea> element.
2152
+ * @see https://html.spec.whatwg.org/multipage/form-elements.html#attr-textarea-required
2153
+ */
2154
+ required?: AttrBoolean;
2155
+
2156
+ /**
2157
+ * Specifies the visible height of the <textarea> element in terms of text lines.
2158
+ * @see https://html.spec.whatwg.org/multipage/form-elements.html#attr-textarea-rows
2159
+ */
2160
+ rows?: AttrStringOrNumber;
2161
+
2162
+ /**
2163
+ * Controls the line wrapping behavior of the <textarea> element.
2164
+ * "hard" inserts line breaks in the submitted value, "soft" doesn't, and "off" disables wrapping.
2165
+ * @see https://html.spec.whatwg.org/multipage/form-elements.html#attr-textarea-wrap
2166
+ */
2167
+ wrap?: AttrMissing | "hard" | "soft" | "off";
2168
+
2169
+ // NON STANDARD
2170
+
2171
+ /**
2172
+ * Represents the current value of the `textarea` element.
2173
+ */
2174
+ value?: AttrMissing | string;
2175
+
2176
+ /**
2177
+ * Called whenever a the `value` property of the `textarea` has changed.
2178
+ * When `valueChange` is a function, `value` becomes controlled. This means
2179
+ * This means the `value` property is synchronized instead of the `value` attribute.
2180
+ */
2181
+ valueChange?: AttrMissing | ((value: string) => void);
2182
+ }
2183
+
2184
+ interface TFoot extends HTMLAttributes<HTMLTableSectionElement> {
2185
+ /** @deprecated */
2186
+ align?: AttrString;
2187
+ /** @deprecated */
2188
+ bgcolor?: AttrString;
2189
+ /** @deprecated */
2190
+ char?: AttrString;
2191
+ /** @deprecated */
2192
+ charoff?: AttrStringOrNumber;
2193
+ /** @deprecated */
2194
+ valign?: AttrString;
2195
+ }
2196
+ interface TH extends HTMLAttributes<HTMLTableCellElement> {
2197
+ /**
2198
+ * Represents the abbreviation for the content of the <th> element.
2199
+ * Provides a short description or label for the cell, which can be used by screen readers.
2200
+ * @see https://html.spec.whatwg.org/multipage/tables.html#attr-th-abbr
2201
+ */
2202
+ abbr?: AttrString;
2203
+
2204
+ /**
2205
+ * Specifies how many columns the <th> element should span in the table.
2206
+ * @see https://html.spec.whatwg.org/multipage/tables.html#attr-tdth-colspan
2207
+ */
2208
+ colspan?: AttrStringOrNumber;
2209
+
2210
+ /**
2211
+ * Specifies a list of header cell IDs that are related to the content of the <th> element.
2212
+ * @see https://html.spec.whatwg.org/multipage/tables.html#attr-tdth-headers
2213
+ */
2214
+ headers?: AttrString;
2215
+
2216
+ /**
2217
+ * Specifies how many rows the <th> element should span in the table.
2218
+ * @see https://html.spec.whatwg.org/multipage/tables.html#attr-tdth-rowspan
2219
+ */
2220
+ rowspan?: AttrStringOrNumber;
2221
+
2222
+ /**
2223
+ * Specifies the scope of the <th> element, defining its association with either row or column headers.
2224
+ * @see https://html.spec.whatwg.org/multipage/tables.html#attr-th-scope
2225
+ */
2226
+ scope?: AttrMissing | "col" | "row" | "rowgroup" | "colgroup";
2227
+
2228
+ /** @deprecated */
2229
+ align?: AttrString;
2230
+ /** @deprecated */
2231
+ axis?: AttrString;
2232
+ /** @deprecated */
2233
+ bgcolor?: AttrString;
2234
+ /** @deprecated */
2235
+ char?: AttrString;
2236
+ /** @deprecated */
2237
+ charoff?: AttrStringOrNumber;
2238
+ /** @deprecated */
2239
+ height?: AttrStringOrNumber;
2240
+ /** @deprecated */
2241
+ valign?: AttrString;
2242
+ /** @deprecated */
2243
+ width?: AttrStringOrNumber;
2244
+ }
2245
+ interface THead extends HTMLAttributes<HTMLTableSectionElement> {
2246
+ /** @deprecated */
2247
+ align?: AttrString;
2248
+ /** @deprecated */
2249
+ bgcolor?: AttrString;
2250
+ /** @deprecated */
2251
+ char?: AttrString;
2252
+ /** @deprecated */
2253
+ charoff?: AttrStringOrNumber;
2254
+ /** @deprecated */
2255
+ valign?: AttrString;
2256
+ }
2257
+ interface Time extends HTMLAttributes<HTMLTimeElement> {
2258
+ /**
2259
+ * Represents the machine-readable datetime attribute of the <time> element.
2260
+ * Provides a standardized way to represent dates and times in HTML content.
2261
+ * @see https://html.spec.whatwg.org/multipage/text-level-semantics.html#attr-time-datetime
2262
+ */
2263
+ datetime?: AttrString;
2264
+ }
2265
+ interface Title extends HTMLAttributes<HTMLTitleElement> {}
2266
+ interface TR extends HTMLAttributes<HTMLTableRowElement> {
2267
+ /** @deprecated */
2268
+ align?: AttrString;
2269
+ /** @deprecated */
2270
+ bgcolor?: AttrString;
2271
+ /** @deprecated */
2272
+ char?: AttrString;
2273
+ /** @deprecated */
2274
+ charoff?: AttrStringOrNumber;
2275
+ /** @deprecated */
2276
+ valign?: AttrString;
2277
+ }
2278
+ interface Track extends HTMLAttributes<HTMLTrackElement> {
2279
+ default?: AttrBoolean;
2280
+ kind?:
2281
+ | AttrMissing
2282
+ | "subtitles"
2283
+ | "captions"
2284
+ | "descriptions"
2285
+ | "chapters"
2286
+ | "metadata";
2287
+ label?: AttrString;
2288
+ src?: AttrString;
2289
+ srclang?: AttrString;
2290
+ }
2291
+ interface U extends HTMLAttributes<HTMLElement> {}
2292
+ interface UL extends HTMLAttributes<HTMLUListElement> {
2293
+ /** @deprecated */
2294
+ compact?: AttrBoolean;
2295
+ /** @deprecated */
2296
+ type?: AttrMissing | "disc" | "square" | "circle";
2297
+ }
2298
+ interface Var extends HTMLAttributes<HTMLElement> {}
2299
+ interface Video extends HTMLAttributes<HTMLVideoElement> {
2300
+ /**
2301
+ * Indicates if the video can automatically enter Picture-in-Picture mode when not visible.
2302
+ * @see https://w3c.github.io/picture-in-picture/#auto-pip
2303
+ */
2304
+ autopictureinpicture?: AttrBoolean;
2305
+
2306
+ /**
2307
+ * Specifies whether the video should start playing automatically when the page loads.
2308
+ * @see https://html.spec.whatwg.org/multipage/media.html#attr-media-autoplay
2309
+ */
2310
+ autoplay?: AttrBoolean;
2311
+
2312
+ /**
2313
+ * Indicates whether the browser should provide default video controls.
2314
+ * @see https://html.spec.whatwg.org/multipage/media.html#attr-media-controls
2315
+ */
2316
+ controls?: AttrBoolean;
2317
+
2318
+ /**
2319
+ * Specifies the controls to be shown or hidden on the audio player.
2320
+ * @see https://wicg.github.io/controls-list/explainer.html
2321
+ */
2322
+ controlslist?:
2323
+ | AttrMissing
2324
+ | "nodownload"
2325
+ | "nofullscreen"
2326
+ | "noplaybackrate"
2327
+ | "noremoteplayback"
2328
+ | (string & {});
2329
+
2330
+ /**
2331
+ * Specifies the CORS settings for the video resource.
2332
+ * @see https://html.spec.whatwg.org/multipage/media.html#attr-media-crossorigin
2333
+ */
2334
+ crossorigin?: AttrCrossOrigin;
2335
+
2336
+ /**
2337
+ * Disables the Picture-in-Picture mode for the video.
2338
+ * @see https://wicg.github.io/picture-in-picture/#disablepictureinpicture-attribute
2339
+ */
2340
+ disablepictureinpicture?: AttrBoolean;
2341
+
2342
+ /**
2343
+ * Disables the Remote Playback API for the video.
2344
+ * @see https://w3c.github.io/remote-playback/#the-disableremoteplayback-attribute
2345
+ */
2346
+ disableremoteplayback?: AttrBoolean;
2347
+
2348
+ /**
2349
+ * Specifies the height of the video's display area.
2350
+ * @see https://html.spec.whatwg.org/multipage/media.html#attr-video-height
2351
+ */
2352
+ height?: AttrStringOrNumber;
2353
+
2354
+ /**
2355
+ * Indicates whether the video should start over again when it ends.
2356
+ * @see https://html.spec.whatwg.org/multipage/media.html#attr-media-loop
2357
+ */
2358
+ loop?: AttrBoolean;
2359
+
2360
+ /**
2361
+ * Indicates whether the video should be muted by default.
2362
+ * @see https://html.spec.whatwg.org/multipage/media.html#attr-media-muted
2363
+ */
2364
+ muted?: AttrBoolean;
2365
+
2366
+ /**
2367
+ * Specifies that the video should be played inline on iOS devices, rather than automatically entering fullscreen mode when playback begins.
2368
+ * @see https://webkit.org/blog/6784/new-video-policies-for-ios/
2369
+ */
2370
+ playsinline?: AttrBoolean;
2371
+
2372
+ /**
2373
+ * Specifies the URL of an image to be shown while the video is downloading or until the user plays the video.
2374
+ * @see https://html.spec.whatwg.org/multipage/media.html#attr-video-poster
2375
+ */
2376
+ poster?: AttrString;
2377
+
2378
+ /**
2379
+ * Specifies how much of the video should be preloaded when the page loads.
2380
+ * @see https://html.spec.whatwg.org/multipage/media.html#attr-media-preload
2381
+ */
2382
+ preload?: AttrBoolean | "none" | "metadata" | "auto";
2383
+ /**
2384
+ * Specifies the URL of the video file to be embedded.
2385
+ * @see https://html.spec.whatwg.org/multipage/media.html#attr-media-src
2386
+ */
2387
+ src?: AttrString;
2388
+ /**
2389
+ * Specifies the width of the video's display area.
2390
+ * @see https://html.spec.whatwg.org/multipage/embedded-content-other.html#attr-dim-width
2391
+ */
2392
+ width?: AttrStringOrNumber;
2393
+ }
2394
+
2395
+ interface WBr extends HTMLAttributes<HTMLElement> {}
2396
+ }
2397
+
2398
+ interface Directives {
2399
+ /**
2400
+ * Used to uniquely identify a tag within a template in order
2401
+ * to get an element reference to it later.
2402
+ *
2403
+ * @see Marko.Component.getEl
2404
+ * @see Marko.Component.getComponent
2405
+ */
2406
+ key?: AttrString;
2407
+
2408
+ /**
2409
+ * Tells Marko to avoid updating the element or its contents (excluding custom tags which may rerender independently).
2410
+ */
2411
+ "no-update"?: AttrBoolean;
2412
+
2413
+ /**
2414
+ * Tells Marko to avoid updating an element's contents (excluding custom tags which may rerender independently). Used instead of no-update when runtime functionality is needed.
2415
+ */
2416
+ "no-update-if"?: AttrBoolean;
2417
+
2418
+ /**
2419
+ * Tells Marko to avoid updating an element's body.
2420
+ */
2421
+ "no-update-body"?: AttrBoolean;
2422
+
2423
+ /**
2424
+ * Tells Marko to avoid updating an element's body. Used instead of no-update-body when runtime functionality is needed.
2425
+ * @see https://markojs.com/docs/syntax/#conditional-rendering
2426
+ */
2427
+ "no-update-body-if"?: AttrBoolean;
2428
+ }
2429
+
2430
+ interface HTMLAttributes<T extends Element = Element>
2431
+ extends AriaAttributes {
2432
+ /**
2433
+ * Specifies a keyboard shortcut to activate or focus on an element.
2434
+ * @see https://html.spec.whatwg.org/multipage/interaction.html#the-accesskey-attribute
2435
+ */
2436
+ accesskey?: AttrString;
2437
+
2438
+ /**
2439
+ * Controls the capitalization behavior of user input.
2440
+ * @see https://html.spec.whatwg.org/multipage/interaction.html#attr-autocapitalize
2441
+ */
2442
+ autocapitalize?:
2443
+ | AttrOnOff
2444
+ | "characters"
2445
+ | "none"
2446
+ | "sentences"
2447
+ | "words";
2448
+
2449
+ /**
2450
+ * Indicates whether the element should automatically get focus when the page loads.
2451
+ * @see https://html.spec.whatwg.org/multipage/interaction.html#the-autofocus-attribute
2452
+ */
2453
+ autofocus?: AttrBoolean;
2454
+
2455
+ /**
2456
+ * Specifies a space-separated list of class names for an element.
2457
+ * @see https://markojs.com/docs/syntax/#class-attribute
2458
+ * @see https://html.spec.whatwg.org/multipage/dom.html#classes
2459
+ */
2460
+ class?: AttrClass;
2461
+
2462
+ /**
2463
+ * Specifies whether the content of an element is editable or not.
2464
+ * @see https://html.spec.whatwg.org/multipage/interaction.html#attr-contenteditable
2465
+ */
2466
+ contenteditable?: AttrBooleanString | "plaintext-only";
2467
+
2468
+ /**
2469
+ * Specifies the ID of a context menu to show when the element is right-clicked.
2470
+ * @see https://html.spec.whatwg.org/multipage/interaction.html#attr-contextmenu
2471
+ */
2472
+ contextmenu?: AttrString;
2473
+
2474
+ /**
2475
+ * Specifies the text direction for the content of an element.
2476
+ * @see https://html.spec.whatwg.org/multipage/dom.html#the-dir-attribute
2477
+ */
2478
+ dir?: AttrMissing | "ltr" | "rtl" | "auto";
2479
+
2480
+ /**
2481
+ * Specifies whether an element is draggable or not.
2482
+ * @see https://html.spec.whatwg.org/multipage/dnd.html#the-draggable-attribute
2483
+ */
2484
+ draggable?: AttrBooleanString;
2485
+
2486
+ /**
2487
+ * A string used to identify the element for performance measurement purposes.
2488
+ * @see https://wicg.github.io/element-timing/#sec-elements-exposed
2489
+ */
2490
+ elementtiming?: AttrString;
2491
+
2492
+ /**
2493
+ * Provides a hint to the user agent about the type of action expected from the "Enter" key.
2494
+ * @see https://html.spec.whatwg.org/multipage/interaction.html#attr-enterkeyhint
2495
+ */
2496
+ enterkeyhint?:
2497
+ | AttrMissing
2498
+ | "enter"
2499
+ | "done"
2500
+ | "go"
2501
+ | "next"
2502
+ | "previous"
2503
+ | "search"
2504
+ | "send";
2505
+
2506
+ /**
2507
+ * Specifies a list of part names for the element that are available for CSS ::part() selector.
2508
+ * @see https://drafts.csswg.org/css-shadow-parts-1/#exportparts-attribute
2509
+ */
2510
+ exportparts?: AttrString;
2511
+
2512
+ /**
2513
+ * Indicates whether the element should be hidden from rendering or not.
2514
+ * @see https://html.spec.whatwg.org/multipage/interaction.html#the-hidden-attribute
2515
+ */
2516
+ hidden?: AttrBoolean | "until-found";
2517
+
2518
+ /**
2519
+ * Specifies a unique identifier for the element within the document.
2520
+ * @see https://html.spec.whatwg.org/multipage/dom.html#the-id-attribute
2521
+ */
2522
+ id?: AttrString;
2523
+
2524
+ /**
2525
+ * Specifies whether an element should be inert or not, preventing user interaction and making it non-focusable.
2526
+ * @see https://html.spec.whatwg.org/multipage/interaction.html#inert-subtrees
2527
+ */
2528
+ inert?: AttrBoolean;
2529
+
2530
+ /**
2531
+ * Provides a hint to the user agent about the type of virtual keyboard to display for text input.
2532
+ * @see https://html.spec.whatwg.org/multipage/interaction.html#attr-inputmode
2533
+ */
2534
+ inputmode?:
2535
+ | AttrMissing
2536
+ | "decimal"
2537
+ | "email"
2538
+ | "none"
2539
+ | "numeric"
2540
+ | "search"
2541
+ | "tel"
2542
+ | "text"
2543
+ | "url";
2544
+
2545
+ /**
2546
+ * Specifies the name of a custom element to use as a replacement for the standard built-in element.
2547
+ * @see https://html.spec.whatwg.org/multipage/custom-elements.html#attr-is
2548
+ */
2549
+ is?: AttrString;
2550
+
2551
+ /**
2552
+ * Specifies a globally unique identifier (URI) for the element in the context of microdata.
2553
+ * @see https://html.spec.whatwg.org/multipage/microdata.html#attr-itemid
2554
+ */
2555
+ itemid?: AttrString;
2556
+
2557
+ /**
2558
+ * Specifies a list of one or more property names for the element in the context of microdata.
2559
+ * @see https://html.spec.whatwg.org/multipage/microdata.html#attr-itemprop
2560
+ */
2561
+ itemprop?: AttrString;
2562
+
2563
+ /**
2564
+ * Specifies a list of IDs of elements that contain additional properties for the item in the context of microdata.
2565
+ * @see https://html.spec.whatwg.org/multipage/microdata.html#attr-itemref
2566
+ */
2567
+ itemref?: AttrString;
2568
+
2569
+ /**
2570
+ * Specifies that the element is a microdata item, representing a single entity or concept.
2571
+ * @see https://html.spec.whatwg.org/multipage/microdata.html#attr-itemscope
2572
+ */
2573
+ itemscope?: AttrBoolean;
2574
+
2575
+ /**
2576
+ * Specifies the type of item represented by the element using a vocabulary URL in the context of microdata.
2577
+ * @see https://html.spec.whatwg.org/multipage/microdata.html#attr-itemtype
2578
+ */
2579
+ itemtype?: AttrString;
2580
+
2581
+ /**
2582
+ * Specifies the primary language for the element's contents and for any child elements.
2583
+ * @see https://html.spec.whatwg.org/multipage/dom.html#attr-lang
2584
+ */
2585
+ lang?: AttrString;
2586
+
2587
+ /**
2588
+ * Specifies a cryptographic nonce (number used once) for content within a script or style element.
2589
+ * @see https://html.spec.whatwg.org/multipage/urls-and-fetching.html#attr-nonce
2590
+ */
2591
+ nonce?: AttrString;
2592
+
2593
+ /**
2594
+ * Specifies that the element won't be rendered until it becomes shown, at which point it will be rendered on top of other page content.
2595
+ * @see https://html.spec.whatwg.org/multipage/popover.html#attr-popover
2596
+ */
2597
+ popover?: AttrBoolean | "auto" | "manual";
2598
+
2599
+ /**
2600
+ * Specifies a list of part names for the element that can be targeted by the ::part() CSS pseudo-element.
2601
+ * @see https://drafts.csswg.org/css-shadow-parts-1/#part-attribute
2602
+ */
2603
+ part?: AttrString;
2604
+
2605
+ /**
2606
+ * Specifies the name of the slot the element should be assigned to when inside a shadow tree.
2607
+ * @see https://html.spec.whatwg.org/multipage/scripting.html#attr-slot
2608
+ */
2609
+ slot?: AttrString;
2610
+
2611
+ /**
2612
+ * Specifies whether the element should have its spelling and grammar checked or not.
2613
+ * @see https://html.spec.whatwg.org/multipage/interaction.html#attr-spellcheck
2614
+ */
2615
+ spellcheck?: AttrBooleanString;
2616
+
2617
+ /**
2618
+ * Specifies the inline CSS styles for the element.
2619
+ * @see https://markojs.com/docs/syntax/#style-attribute
2620
+ * @see https://html.spec.whatwg.org/multipage/dom.html#the-style-attribute
2621
+ */
2622
+ style?: AttrStyle;
2623
+
2624
+ /**
2625
+ * Specifies the order in which elements should be focused when navigating via the keyboard.
2626
+ * @see https://html.spec.whatwg.org/multipage/interaction.html#attr-tabindex
2627
+ */
2628
+ tabindex?: AttrStringOrNumber;
2629
+
2630
+ /**
2631
+ * Specifies extra information about the element, usually shown as a tooltip.
2632
+ * @see https://html.spec.whatwg.org/multipage/dom.html#the-title-attribute
2633
+ */
2634
+ title?: AttrString;
2635
+
2636
+ /**
2637
+ * Specifies whether the element's content should be translated when the page is localized.
2638
+ * @see https://html.spec.whatwg.org/multipage/dom.html#the-translate-attribute
2639
+ */
2640
+ translate?: AttrYesNoString;
2641
+
2642
+ /**
2643
+ * Specifies the policy for showing the virtual keyboard when an element receives focus.
2644
+ * @see https://w3c.github.io/virtual-keyboard/#dom-elementcontenteditable-virtualkeyboardpolicy
2645
+ */
2646
+ virtualkeyboardpolicy?: AttrMissing | "auto" | "manual";
2647
+
2648
+ /**
2649
+ * Provide body content for the tag as a Marko.Body.
2650
+ * @see Marko.Body
2651
+ */
2652
+ content?: Marko.Body<[], void>;
2653
+
2654
+ /**
2655
+ * Fired when resource was not fully loaded, but not as the result of an error.
2656
+ * @see https://html.spec.whatwg.org/multipage/media.html#event-media-abort
2657
+ */
2658
+ onAbort?: AttrEventHandler<Event, T>;
2659
+ "on-abort"?: this["onAbort"];
2660
+ onabort?: AttrString;
2661
+
2662
+ /**
2663
+ * Fired when an Animation unexpectedly aborts.
2664
+ * @see https://w3c.github.io/csswg-drafts/css-animations/#eventdef-globaleventhandlers-animationcancel
2665
+ */
2666
+ onAnimationcancel?: AttrEventHandler<AnimationEvent, T>;
2667
+ "on-animationcancel"?: this["onAnimationcancel"];
2668
+
2669
+ /**
2670
+ * Fired when an animation has completed.
2671
+ * @see https://w3c.github.io/csswg-drafts/css-animations/#eventdef-globaleventhandlers-animationend
2672
+ */
2673
+ onAnimationend?: AttrEventHandler<AnimationEvent, T>;
2674
+ "on-animationend"?: this["onAnimationend"];
2675
+
2676
+ /**
2677
+ * Fired at the end of each iteration of an animation, except when an animationend event would fire at the same time.
2678
+ * @see https://w3c.github.io/csswg-drafts/css-animations/#eventdef-globaleventhandlers-animationiteration
2679
+ */
2680
+ onAnimationiteration?: AttrEventHandler<AnimationEvent, T>;
2681
+ "on-animationiteration"?: this["onAnimationiteration"];
2682
+
2683
+ /**
2684
+ * Fired when an animation has started.
2685
+ * @see https://w3c.github.io/csswg-drafts/css-animations/#eventdef-globaleventhandlers-animationstart
2686
+ */
2687
+ onAnimationstart?: AttrEventHandler<AnimationEvent, T>;
2688
+ "on-animationstart"?: this["onAnimationstart"];
2689
+
2690
+ /**
2691
+ * Fired when a non-primary pointing device button (any mouse button other than the primary—usually leftmost—button)
2692
+ * has been pressed and released both within the same element.
2693
+ * @see https://w3c.github.io/uievents/#event-type-auxclick
2694
+ */
2695
+ onAuxclick?: AttrEventHandler<PointerEvent, T>;
2696
+ "on-auxclick"?: this["onAuxclick"];
2697
+ onauxclick?: AttrString;
2698
+
2699
+ /**
2700
+ * Fires when the value of an <input>, or <textarea> element is about to be modified.
2701
+ * @see https://w3c.github.io/uievents/#event-type-beforeinput
2702
+ */
2703
+ onBeforeinput?: AttrEventHandler<InputEvent, T>;
2704
+ "on-beforeinput"?: this["onBeforeinput"];
2705
+ onbeforeinput?: AttrString;
2706
+
2707
+ /**
2708
+ * Fired on elements with the hidden=until-found attribute before they are revealed.
2709
+ * @see https://html.spec.whatwg.org/multipage/indices.html#event-beforematch
2710
+ */
2711
+ onBeforematch?: AttrEventHandler<Event, T>;
2712
+ "on-beforematch"?: this["onBeforematch"];
2713
+ onbeforematch?: AttrString;
2714
+
2715
+ /**
2716
+ * Fired on elements with the popover attribute when they are transitioning between showing and hidden
2717
+ * @see https://html.spec.whatwg.org/multipage/indices.html#event-beforetoggle
2718
+ */
2719
+ onBeforetoggle?: AttrEventHandler<Event, T>;
2720
+ "on-beforetoggle"?: this["onBeforetoggle"];
2721
+ onbeforetoggle?: AttrString;
2722
+
2723
+ /**
2724
+ * Fires when a node loses focus.
2725
+ * @see https://html.spec.whatwg.org/multipage/indices.html#event-blur
2726
+ */
2727
+ onBlur?: AttrEventHandler<Event, T>;
2728
+ "on-blur"?: this["onBlur"];
2729
+ onblur?: AttrString;
2730
+
2731
+ /**
2732
+ * Fired at controls when the user commits a value change (see also the input event)
2733
+ * @see https://html.spec.whatwg.org/multipage/indices.html#event-cancel
2734
+ */
2735
+ onCancel?: AttrEventHandler<Event, T>;
2736
+ "on-cancel"?: this["onCancel"];
2737
+ oncancel?: AttrString;
2738
+
2739
+ /**
2740
+ * Fires when the user agent can resume playback of the media data,
2741
+ * but estimates that if playback were to be started now, the media resource could not be rendered at the current
2742
+ * playback rate up to its end without having to stop for further buffering of content.
2743
+ * @see https://html.spec.whatwg.org/multipage/media.html#event-media-canplay
2744
+ */
2745
+ onCanplay?: AttrEventHandler<Event, T>;
2746
+ "on-canplay"?: this["onCanplay"];
2747
+ oncanplay?: AttrString;
2748
+
2749
+ /**
2750
+ * Fires when the user agent can play through the media data without having to stop for further buffering of content.
2751
+ * @see https://html.spec.whatwg.org/multipage/media.html#event-media-canplaythrough
2752
+ */
2753
+ onCanplaythrough?: AttrEventHandler<Event, T>;
2754
+ "on-canplaythrough"?: this["onCanplaythrough"];
2755
+ oncanplaythrough?: AttrString;
2756
+
2757
+ /**
2758
+ * Fired when the form elements value is modified.
2759
+ * @see https://html.spec.whatwg.org/multipage/indices.html#event-change
2760
+ */
2761
+ onChange?: AttrEventHandler<Event, T>;
2762
+ "on-change"?: this["onChange"];
2763
+ onchange?: AttrString;
2764
+
2765
+ /**
2766
+ * Normally a mouse event; also synthetically fired at an element before its activation behavior is run,
2767
+ * when an element is activated from a non-pointer input device (e.g. a keyboard).
2768
+ * @see https://w3c.github.io/uievents/#event-type-click
2769
+ */
2770
+ onClick?: AttrEventHandler<PointerEvent, T>;
2771
+ "on-click"?: this["onClick"];
2772
+ onclick?: AttrString;
2773
+
2774
+ /**
2775
+ * Fired at dialog elements when they are closed
2776
+ * @see https://html.spec.whatwg.org/multipage/indices.html#event-close
2777
+ */
2778
+ onClose?: AttrEventHandler<Event, T>;
2779
+ "on-close"?: this["onClose"];
2780
+ onclose?: AttrString;
2781
+
2782
+ /**
2783
+ * Fired when a text composition system such as an input method editor completes or cancels the current composition session.
2784
+ * @see https://w3c.github.io/uievents/#event-type-compositionend
2785
+ */
2786
+ onCompositionend?: AttrEventHandler<CompositionEvent, T>;
2787
+ "on-compositionend"?: this["onCompositionend"];
2788
+
2789
+ /**
2790
+ * Fired when a text composition system such as an input method editor starts a new composition session.
2791
+ * @see https://w3c.github.io/uievents/#event-type-compositionstart
2792
+ */
2793
+ onCompositionstart?: AttrEventHandler<CompositionEvent, T>;
2794
+ "on-compositionstart"?: this["onCompositionstart"];
2795
+
2796
+ /**
2797
+ * Fired when a new character is received in the context of a text composition session controlled by a text
2798
+ * composition system such as an input method editor.
2799
+ * @see https://w3c.github.io/uievents/#event-type-compositionupdate
2800
+ */
2801
+ onCompositionupdate?: AttrEventHandler<CompositionEvent, T>;
2802
+ "on-compositionupdate"?: this["onCompositionupdate"];
2803
+
2804
+ /**
2805
+ * Fired when the corresponding CanvasRenderingContext2D or OffscreenCanvasRenderingContext2D is lost
2806
+ * @see https://html.spec.whatwg.org/multipage/indices.html#event-contextlost
2807
+ */
2808
+ onContextlost?: AttrEventHandler<Event, T>;
2809
+ "on-contextlost"?: this["onContextlost"];
2810
+ oncontextlost?: AttrString;
2811
+
2812
+ /**
2813
+ * Fired when the user attempts to open a context menu.
2814
+ * This event is typically triggered by clicking the right mouse button, or by pressing the context menu key.
2815
+ * @see https://w3c.github.io/uievents/#event-type-contextmenu
2816
+ */
2817
+ onContextmenu?: AttrEventHandler<PointerEvent, T>;
2818
+ "on-contextmenu"?: this["onContextmenu"];
2819
+ oncontextmenu?: AttrString;
2820
+
2821
+ /**
2822
+ * Fired when the corresponding CanvasRenderingContext2D or OffscreenCanvasRenderingContext2D is restored after being lost
2823
+ * @see https://html.spec.whatwg.org/multipage/indices.html#event-contextrestored
2824
+ */
2825
+ onContextrestored?: AttrEventHandler<Event, T>;
2826
+ "on-contextrestored"?: this["onContextrestored"];
2827
+ oncontextrestored?: AttrString;
2828
+
2829
+ /**
2830
+ * Fired when the user copies the content of an element.
2831
+ * @see https://w3c.github.io/clipboard-apis/#clipboard-event-copy
2832
+ */
2833
+ onCopy?: AttrEventHandler<ClipboardEvent, T>;
2834
+ "on-copy"?: this["onCopy"];
2835
+ oncopy?: AttrString;
2836
+
2837
+ /**
2838
+ * Fired when one or more cues in the track have become active or stopped being active.
2839
+ * @see https://html.spec.whatwg.org/multipage/media.html#event-media-cuechange
2840
+ */
2841
+ onCuechange?: AttrEventHandler<Event, T>;
2842
+ "on-cuechange"?: this["onCuechange"];
2843
+ oncuechange?: AttrString;
2844
+
2845
+ /**
2846
+ * Fired when the user cuts the content of an element.
2847
+ * @see https://w3c.github.io/clipboard-apis/#clipboard-event-cut
2848
+ */
2849
+ onCut?: AttrEventHandler<ClipboardEvent, T>;
2850
+ "on-cut"?: this["onCut"];
2851
+ oncut?: AttrString;
2852
+
2853
+ /**
2854
+ * Fired when the user double-clicks on an element.
2855
+ * @see https://w3c.github.io/uievents/#event-type-dblclick
2856
+ */
2857
+ onDblclick?: AttrEventHandler<MouseEvent, T>;
2858
+ "on-dblclick"?: this["onDblclick"];
2859
+ ondblclick?: AttrString;
2860
+
2861
+ /**
2862
+ * Fired every few hundred milliseconds as an element or text selection is being dragged by the user.
2863
+ * @see https://html.spec.whatwg.org/multipage/dnd.html#event-dnd-drag
2864
+ */
2865
+ onDrag?: AttrEventHandler<DragEvent, T>;
2866
+ "on-drag"?: this["onDrag"];
2867
+ ondrag?: AttrString;
2868
+
2869
+ /**
2870
+ * Fired when a drag operation is being ended (by releasing a mouse button or hitting the escape key).
2871
+ * @see https://html.spec.whatwg.org/multipage/dnd.html#event-dnd-dragend
2872
+ */
2873
+ onDragend?: AttrEventHandler<DragEvent, T>;
2874
+ "on-dragend"?: this["onDragend"];
2875
+ ondragend?: AttrString;
2876
+
2877
+ /**
2878
+ * Fired when a drag operation is being ended (by releasing a mouse button or hitting the escape key).
2879
+ * @see https://html.spec.whatwg.org/multipage/dnd.html#event-dnd-dragenter
2880
+ */
2881
+ onDragenter?: AttrEventHandler<DragEvent, T>;
2882
+ "on-dragenter"?: this["onDragenter"];
2883
+ ondragenter?: AttrString;
2884
+
2885
+ /**
2886
+ * Fired when a dragged element or text selection leaves a valid drop target.
2887
+ * @see https://html.spec.whatwg.org/multipage/dnd.html#event-dnd-dragleave
2888
+ */
2889
+ onDragleave?: AttrEventHandler<DragEvent, T>;
2890
+ "on-dragleave"?: this["onDragleave"];
2891
+ ondragleave?: AttrString;
2892
+
2893
+ /**
2894
+ * Fired an element or text selection is being dragged over a valid drop target (every few hundred milliseconds).
2895
+ * @see https://html.spec.whatwg.org/multipage/dnd.html#event-dnd-dragover
2896
+ */
2897
+ onDragover?: AttrEventHandler<DragEvent, T>;
2898
+ "on-dragover"?: this["onDragover"];
2899
+ ondragover?: AttrString;
2900
+
2901
+ /**
2902
+ * Fired when an element or text selection has started being dragged.
2903
+ * @see https://html.spec.whatwg.org/multipage/dnd.html#event-dnd-dragstart
2904
+ */
2905
+ onDragstart?: AttrEventHandler<DragEvent, T>;
2906
+ "on-dragstart"?: this["onDragstart"];
2907
+ ondragstart?: AttrString;
2908
+
2909
+ /**
2910
+ * Fired when an element or text selection is dropped on a valid drop target.
2911
+ * @see https://html.spec.whatwg.org/multipage/dnd.html#event-dnd-drop
2912
+ */
2913
+ onDrop?: AttrEventHandler<DragEvent, T>;
2914
+ "on-drop"?: this["onDrop"];
2915
+ ondrop?: AttrString;
2916
+
2917
+ /**
2918
+ * Fired when the duration attribute of a media element has just been updated.
2919
+ * @see https://html.spec.whatwg.org/multipage/media.html#event-media-durationchange
2920
+ */
2921
+ onDurationchange?: AttrEventHandler<Event, T>;
2922
+ "on-durationchange"?: this["onDurationchange"];
2923
+ ondurationchange?: AttrString;
2924
+
2925
+ /**
2926
+ * Fired when a media element's playback stops because its source data has been fully consumed and not looped.
2927
+ * @see https://html.spec.whatwg.org/multipage/media.html#event-media-emptied
2928
+ */
2929
+ onEmptied?: AttrEventHandler<Event, T>;
2930
+ "on-emptied"?: this["onEmptied"];
2931
+ onemptied?: AttrString;
2932
+
2933
+ /**
2934
+ * Fired when an encrypted media stream is encountered and the user agent recognizes the stream's encryption scheme.
2935
+ * @see https://w3c.github.io/encrypted-media/#dom-evt-encrypted
2936
+ */
2937
+ onEncrypted?: AttrEventHandler<MediaEncryptedEvent, T>;
2938
+ "on-encrypted"?: this["onEncrypted"];
2939
+
2940
+ /**
2941
+ * Fired when playback of a media element reaches its end, either because the media has reached its end or the loop attribute is not set.
2942
+ * @see https://html.spec.whatwg.org/multipage/media.html#event-media-ended
2943
+ */
2944
+ onEnded?: AttrEventHandler<Event, T>;
2945
+ "on-ended"?: this["onEnded"];
2946
+ onended?: AttrString;
2947
+
2948
+ /**
2949
+ * Fired when an error occurs while fetching an external resource, such as a script, image, or video.
2950
+ * @see https://html.spec.whatwg.org/multipage/indices.html#event-error
2951
+ */
2952
+ onError?: AttrEventHandler<ErrorEvent | Event, T>;
2953
+ "on-error"?: this["onError"];
2954
+ onerror?: AttrString;
2955
+
2956
+ /**
2957
+ * Fired when an element receives focus, either by user input or via script.
2958
+ * @see https://html.spec.whatwg.org/multipage/interaction.html#event-focus
2959
+ */
2960
+ onFocus?: AttrEventHandler<FocusEvent, T>;
2961
+ "on-focus"?: this["onFocus"];
2962
+ onfocus?: AttrString;
2963
+
2964
+ /**
2965
+ * Fires when an element has received focus, after the focus event. The two events differ in that focusin bubbles, while focus does not.
2966
+ * @see HTMLAttributes.onFocus
2967
+ * @see https://w3c.github.io/uievents/#event-type-focusin
2968
+ */
2969
+ onFocusin?: AttrEventHandler<FocusEvent, T>;
2970
+ "on-focusin"?: this["onFocusin"];
2971
+
2972
+ /**
2973
+ * Fires when an element has lost focus, after the blur event. The two events differ in that focusout bubbles, while blur does not.
2974
+ * @see HTMLAttributes.onBlur
2975
+ * @see https://w3c.github.io/uievents/#event-type-focusout
2976
+ */
2977
+ onFocusout?: AttrEventHandler<FocusEvent, T>;
2978
+ "on-focusout"?: this["onFocusout"];
2979
+
2980
+ /**
2981
+ * Fired at a form element when it is constructing the entry list
2982
+ * @see https://html.spec.whatwg.org/multipage/indices.html#event-formdata
2983
+ */
2984
+ onFormdata?: AttrEventHandler<FormDataEvent, T>;
2985
+ "on-formdata"?: this["onFormdata"];
2986
+ onformdata?: AttrString;
2987
+
2988
+ /**
2989
+ * Fired immediately after an Element switches into or out of fullscreen mode.
2990
+ * @see https://fullscreen.spec.whatwg.org/#handler-document-onfullscreenchange
2991
+ */
2992
+ onFullscreenchange?: AttrEventHandler<Event, T>;
2993
+ "on-fullscreenchange"?: this["onFullscreenchange"];
2994
+
2995
+ /**
2996
+ * Fired when the browser cannot switch to fullscreen mode.
2997
+ * @see https://fullscreen.spec.whatwg.org/#handler-document-onfullscreenerror
2998
+ */
2999
+ onFullscreenerror?: AttrEventHandler<Event, T>;
3000
+ "on-fullscreenerror"?: this["onFullscreenerror"];
3001
+
3002
+ /**
3003
+ * Fired when an element captures a pointer using setPointerCapture().
3004
+ *
3005
+ * @see Element.setPointerCapture
3006
+ * @see https://w3c.github.io/pointerevents/#the-gotpointercapture-event
3007
+ */
3008
+ onGotpointercapture?: AttrEventHandler<PointerEvent, T>;
3009
+ "on-gotpointercapture"?: this["onGotpointercapture"];
3010
+
3011
+ /**
3012
+ * Fired when the form element's value changes, as a result of user input.
3013
+ * @see https://w3c.github.io/uievents/#event-type-input
3014
+ */
3015
+ onInput?: AttrEventHandler<InputEvent, T>;
3016
+ "on-input"?: this["onInput"];
3017
+ oninput?: AttrString;
3018
+
3019
+ /**
3020
+ * Fired when a form element is found to be invalid during submission or constraint validation.
3021
+ * @see https://html.spec.whatwg.org/multipage/indices.html#event-invalid
3022
+ */
3023
+ onInvalid?: AttrEventHandler<Event, T>;
3024
+ "on-invalid"?: this["onInvalid"];
3025
+ oninvalid?: AttrString;
3026
+
3027
+ /**
3028
+ * Fired when a key is first pressed down.
3029
+ * @see https://w3c.github.io/uievents/#event-type-keydown
3030
+ */
3031
+ onKeydown?: AttrEventHandler<KeyboardEvent, T>;
3032
+ "on-keydown"?: this["onKeydown"];
3033
+ onkeydown?: AttrString;
3034
+
3035
+ /**
3036
+ * Fired when a key is pressed down and then released, while the element has focus.
3037
+ * @see https://w3c.github.io/uievents/#event-type-keypress
3038
+ */
3039
+ onKeypress?: AttrEventHandler<KeyboardEvent, T>;
3040
+ "on-keypress"?: this["onKeypress"];
3041
+ onkeypress?: AttrString;
3042
+
3043
+ /**
3044
+ * Fired when a key is released after being pressed down.
3045
+ * @see https://w3c.github.io/uievents/#event-type-keyup
3046
+ */
3047
+ onKeyup?: AttrEventHandler<KeyboardEvent, T>;
3048
+ "on-keyup"?: this["onKeyup"];
3049
+ onkeyup?: AttrString;
3050
+
3051
+ /**
3052
+ * Fired when an element or resource, such as an image, has completely loaded.
3053
+ * @see https://html.spec.whatwg.org/multipage/indices.html#event-load
3054
+ */
3055
+ onLoad?: AttrEventHandler<Event, T>;
3056
+ "on-load"?: this["onLoad"];
3057
+ onload?: AttrString;
3058
+
3059
+ /**
3060
+ * Fired when the user agent can render the media data at the current playback position for the first time.
3061
+ * @see https://html.spec.whatwg.org/multipage/media.html#event-media-loadeddata
3062
+ */
3063
+ onLoadeddata?: AttrEventHandler<Event, T>;
3064
+ "on-loadeddata"?: this["onLoadeddata"];
3065
+ onloadeddata?: AttrString;
3066
+
3067
+ /**
3068
+ * Fired when the user agent has just determined the duration and dimensions of the media resource.
3069
+ * @see https://html.spec.whatwg.org/multipage/media.html#event-media-loadedmetadata
3070
+ */
3071
+ onLoadedmetadata?: AttrEventHandler<Event, T>;
3072
+ "on-loadedmetadata"?: this["onLoadedmetadata"];
3073
+ onloadedmetadata?: AttrString;
3074
+
3075
+ /**
3076
+ * Fired when the user agent begins looking for media data, before the media has begun to load.
3077
+ * @see https://html.spec.whatwg.org/multipage/media.html#event-media-loadstart
3078
+ */
3079
+ onLoadstart?: AttrEventHandler<Event, T>;
3080
+ "on-loadstart"?: this["onLoadstart"];
3081
+ onloadstart?: AttrString;
3082
+
3083
+ /**
3084
+ * Fired when a captured pointer is released.
3085
+ * @see https://w3c.github.io/pointerevents/#dfn-lostpointercapture
3086
+ */
3087
+ onLostpointercapture?: AttrEventHandler<PointerEvent, T>;
3088
+ "on-lostpointercapture"?: this["onLostpointercapture"];
3089
+
3090
+ /**
3091
+ * Fired when a pointing device button is pressed down over an element.
3092
+ * @see https://w3c.github.io/uievents/#event-type-mousedown
3093
+ */
3094
+ onMousedown?: AttrEventHandler<MouseEvent, T>;
3095
+ "on-mousedown"?: this["onMousedown"];
3096
+ onmousedown?: AttrString;
3097
+
3098
+ /**
3099
+ * Fired when a pointing device is moved onto the element.
3100
+ * @see https://w3c.github.io/uievents/#event-type-mouseenter
3101
+ */
3102
+ onMouseenter?: AttrEventHandler<MouseEvent, T>;
3103
+ "on-mouseenter"?: this["onMouseenter"];
3104
+ onmouseenter?: AttrString;
3105
+
3106
+ /**
3107
+ * Fired when a pointing device is moved off the element.
3108
+ * @see https://w3c.github.io/uievents/#event-type-mouseleave
3109
+ */
3110
+ onMouseleave?: AttrEventHandler<MouseEvent, T>;
3111
+ "on-mouseleave"?: this["onMouseleave"];
3112
+ onmouseleave?: AttrString;
3113
+
3114
+ /**
3115
+ * Fired when a pointing device is moved over an element.
3116
+ * @see https://w3c.github.io/uievents/#event-type-mousemove
3117
+ */
3118
+ onMousemove?: AttrEventHandler<MouseEvent, T>;
3119
+ "on-mousemove"?: this["onMousemove"];
3120
+ onmousemove?: AttrString;
3121
+
3122
+ /**
3123
+ * Fired when a pointing device is moved off the element or off one of its children.
3124
+ * @see https://w3c.github.io/uievents/#event-type-mouseout
3125
+ */
3126
+ onMouseout?: AttrEventHandler<MouseEvent, T>;
3127
+ "on-mouseout"?: this["onMouseout"];
3128
+ onmouseout?: AttrString;
3129
+
3130
+ /**
3131
+ * Fired when a pointing device is moved onto the element or onto one of its children.
3132
+ * @see https://w3c.github.io/uievents/#event-type-mouseover
3133
+ */
3134
+ onMouseover?: AttrEventHandler<MouseEvent, T>;
3135
+ "on-mouseover"?: this["onMouseover"];
3136
+ onmouseover?: AttrString;
3137
+
3138
+ /**
3139
+ * Fired when a pointing device button is released over an element.
3140
+ * @see https://w3c.github.io/uievents/#event-type-mouseup
3141
+ */
3142
+ onMouseup?: AttrEventHandler<MouseEvent, T>;
3143
+ "on-mouseup"?: this["onMouseup"];
3144
+ onmouseup?: AttrString;
3145
+
3146
+ /**
3147
+ * Fired when the user has completed a "paste" action, usually through a context menu or keyboard shortcut.
3148
+ * @see https://w3c.github.io/clipboard-apis/#clipboard-event-paste
3149
+ */
3150
+ onPaste?: AttrEventHandler<ClipboardEvent, T>;
3151
+ "on-paste"?: this["onPaste"];
3152
+ onpaste?: AttrString;
3153
+
3154
+ /**
3155
+ * Fired when playback of a media element is paused.
3156
+ * @see https://html.spec.whatwg.org/multipage/media.html#event-media-pause
3157
+ */
3158
+ onPause?: AttrEventHandler<Event, T>;
3159
+ "on-pause"?: this["onPause"];
3160
+ onpause?: AttrString;
3161
+
3162
+ /**
3163
+ * Fired when playback of a media element is ready to start after having been paused.
3164
+ * @see https://html.spec.whatwg.org/multipage/media.html#event-media-play
3165
+ */
3166
+ onPlay?: AttrEventHandler<Event, T>;
3167
+ "on-play"?: this["onPlay"];
3168
+ onplay?: AttrString;
3169
+
3170
+ /**
3171
+ * Fired when playback of a media element is ready to start, or when playback is resumed after a pause event.
3172
+ * @see https://html.spec.whatwg.org/multipage/media.html#event-media-playing
3173
+ */
3174
+ onPlaying?: AttrEventHandler<Event, T>;
3175
+ "on-playing"?: this["onPlaying"];
3176
+ onplaying?: AttrString;
3177
+
3178
+ /**
3179
+ * Fired when the pointing device's hardware triggers a cancellation of the pointer event, such as due to a system event.
3180
+ * @see https://w3c.github.io/pointerevents/#the-pointercancel-event
3181
+ */
3182
+ onPointercancel?: AttrEventHandler<PointerEvent, T>;
3183
+ "on-pointercancel"?: this["onPointercancel"];
3184
+
3185
+ /**
3186
+ * Fired when a pointing device's button is pressed down on an element.
3187
+ * @see https://w3c.github.io/pointerevents/#the-pointerdown-event
3188
+ */
3189
+ onPointerdown?: AttrEventHandler<PointerEvent, T>;
3190
+ "on-pointerdown"?: this["onPointerdown"];
3191
+
3192
+ /**
3193
+ * Fired when a pointing device is moved onto the element.
3194
+ * @see https://w3c.github.io/pointerevents/#the-pointerenter-event
3195
+ */
3196
+ onPointerenter?: AttrEventHandler<PointerEvent, T>;
3197
+ "on-pointerenter"?: this["onPointerenter"];
3198
+
3199
+ /**
3200
+ * Fired when a pointing device is moved off the element.
3201
+ * @see https://w3c.github.io/pointerevents/#the-pointerleave-event
3202
+ */
3203
+ onPointerleave?: AttrEventHandler<PointerEvent, T>;
3204
+ "on-pointerleave"?: this["onPointerleave"];
3205
+
3206
+ /**
3207
+ * Fired when a pointing device is moved over an element.
3208
+ * @see https://w3c.github.io/pointerevents/#the-pointermove-event
3209
+ */
3210
+ onPointermove?: AttrEventHandler<PointerEvent, T>;
3211
+ "on-pointermove"?: this["onPointermove"];
3212
+
3213
+ /**
3214
+ * Fired when a pointing device is moved off the element or off one of its children.
3215
+ * @see https://w3c.github.io/pointerevents/#the-pointerout-event
3216
+ */
3217
+ onPointerout?: AttrEventHandler<PointerEvent, T>;
3218
+ "on-pointerout"?: this["onPointerout"];
3219
+
3220
+ /**
3221
+ * Fired when a pointing device is moved onto the element or onto one of its children.
3222
+ * @see https://w3c.github.io/pointerevents/#the-pointerover-event
3223
+ */
3224
+ onPointerover?: AttrEventHandler<PointerEvent, T>;
3225
+ "on-pointerover"?: this["onPointerover"];
3226
+
3227
+ /**
3228
+ * Fired when a pointing device's button is released over an element.
3229
+ * @see https://w3c.github.io/pointerevents/#the-pointerup-event
3230
+ */
3231
+ onPointerup?: AttrEventHandler<PointerEvent, T>;
3232
+ "on-pointerup"?: this["onPointerup"];
3233
+
3234
+ /**
3235
+ * Fired when the user agent is downloading media data or resources, to indicate progress.
3236
+ * @see https://html.spec.whatwg.org/multipage/media.html#event-media-progress
3237
+ */
3238
+ onProgress?: AttrEventHandler<Event, T>;
3239
+ "on-progress"?: this["onProgress"];
3240
+ onprogress?: AttrString;
3241
+
3242
+ /**
3243
+ * Fired when the playback rate of a media element has changed.
3244
+ * @see https://html.spec.whatwg.org/multipage/media.html#event-media-ratechange
3245
+ */
3246
+ onRatechange?: AttrEventHandler<Event, T>;
3247
+ "on-ratechange"?: this["onRatechange"];
3248
+ onratechange?: AttrString;
3249
+
3250
+ /**
3251
+ * Fired when a form is reset, either by user interaction or through a script.
3252
+ * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#event-reset
3253
+ */
3254
+ onReset?: AttrEventHandler<Event, T>;
3255
+ "on-reset"?: this["onReset"];
3256
+ onreset?: AttrString;
3257
+
3258
+ /**
3259
+ * Fired at the Window when the viewport is resized. Fired at VisualViewport when the visual viewport is resized or the layout viewport is scaled.
3260
+ * @see https://drafts.csswg.org/cssom-view/#eventdef-window-resize
3261
+ */
3262
+ onResize?: AttrEventHandler<Event, T>;
3263
+ "on-resize"?: this["onResize"];
3264
+ onresize?: AttrString;
3265
+
3266
+ /**
3267
+ * Fired when an element's scrollbar is being scrolled.
3268
+ * @see https://drafts.csswg.org/cssom-view/#eventdef-document-scroll
3269
+ */
3270
+ onScroll?: AttrEventHandler<Event, T>;
3271
+ "on-scroll"?: this["onScroll"];
3272
+ onscroll?: AttrString;
3273
+
3274
+ /**
3275
+ * Fired when element scrolling has completed. Scrolling is considered completed when the scroll position has no more pending updates and the user has completed their gesture.
3276
+ * @see https://drafts.csswg.org/cssom-view/#eventdef-document-scrollend
3277
+ */
3278
+ onScrollend?: AttrEventHandler<Event, T>;
3279
+ "on-scrollend"?: this["onScrollend"];
3280
+ onscrollend?: AttrString;
3281
+
3282
+ /**
3283
+ * Fired when a security policy violation occurs, such as when an attempted resource load is blocked due to the security settings of the browser or when an inline script violates the Content Security Policy (CSP) of the page.
3284
+ * @see https://w3c.github.io/webappsec-csp/#eventdef-globaleventhandlers-securitypolicyviolation
3285
+ */
3286
+ onSecurityPolicyViolation?: AttrEventHandler<
3287
+ SecurityPolicyViolationEvent,
3288
+ T
3289
+ >;
3290
+ "on-securitypolicyviolation"?: this["onSecurityPolicyViolation"];
3291
+ onsecuritypolicyviolation?: AttrString;
3292
+
3293
+ /**
3294
+ * Fired when a seek operation on a media element completes.
3295
+ * @see https://html.spec.whatwg.org/multipage/media.html#event-media-seeked
3296
+ */
3297
+ onSeeked?: AttrEventHandler<Event, T>;
3298
+ "on-seeked"?: this["onSeeked"];
3299
+ onseeked?: AttrString;
3300
+
3301
+ /**
3302
+ * Fired when a seek operation on a media element begins.
3303
+ * @see https://html.spec.whatwg.org/multipage/media.html#event-media-seeking
3304
+ */
3305
+ onSeeking?: AttrEventHandler<Event, T>;
3306
+ "on-seeking"?: this["onSeeking"];
3307
+ onseeking?: AttrString;
3308
+
3309
+ /**
3310
+ * Fired when some text is selected within an input or textarea element.
3311
+ * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#event-select
3312
+ */
3313
+ onSelect?: AttrEventHandler<Event, T>;
3314
+ "on-select"?: this["onSelect"];
3315
+ onselect?: AttrString;
3316
+
3317
+ /**
3318
+ * Fired when a <slot> element's distributed nodes change.
3319
+ * @see https://dom.spec.whatwg.org/#eventdef-htmlslotelement-slotchange
3320
+ */
3321
+ onSlotchange?: AttrEventHandler<Event, T>;
3322
+ "on-slotchange"?: this["onSlotchange"];
3323
+ onslotchange?: AttrString;
3324
+
3325
+ /**
3326
+ * Fired when a media element's data downloading has been stalled due to an issue, such as a lack of data.
3327
+ * @see https://html.spec.whatwg.org/multipage/media.html#event-media-stalled
3328
+ */
3329
+ onStalled?: AttrEventHandler<Event, T>;
3330
+ "on-stalled"?: this["onStalled"];
3331
+ onstalled?: AttrString;
3332
+
3333
+ /**
3334
+ * Fired at a form element when it is submitted
3335
+ * @see https://html.spec.whatwg.org/multipage/indices.html#event-submit
3336
+ */
3337
+ onSubmit?: AttrEventHandler<SubmitEvent, T>;
3338
+ "on-submit"?: this["onSubmit"];
3339
+ onsubmit?: AttrString;
3340
+
3341
+ /**
3342
+ * Fired when the user agent intentionally does not download media data.
3343
+ * @see https://html.spec.whatwg.org/multipage/media.html#event-media-suspend
3344
+ */
3345
+ onSuspend?: AttrEventHandler<Event, T>;
3346
+ "on-suspend"?: this["onSuspend"];
3347
+ onsuspend?: AttrString;
3348
+
3349
+ /**
3350
+ * Fired when the current playback position of a media element changes as part of normal playback or due to a seek operation.
3351
+ * @see https://html.spec.whatwg.org/multipage/media.html#event-media-timeupdate
3352
+ */
3353
+ onTimeupdate?: AttrEventHandler<Event, T>;
3354
+ "on-timeupdate"?: this["onTimeupdate"];
3355
+ ontimeupdate?: AttrString;
3356
+
3357
+ /**
3358
+ * Fired at details elements when they open or close; fired on elements with the popover attribute when they are transitioning between showing and hidden
3359
+ * @see https://html.spec.whatwg.org/multipage/indices.html#event-toggle
3360
+ */
3361
+ onToggle?: AttrEventHandler<Event, T>;
3362
+ "on-toggle"?: this["onToggle"];
3363
+ ontoggle?: AttrString;
3364
+
3365
+ /**
3366
+ * Fired when a touch event is interrupted, such as by a modal window or an incoming phone call.
3367
+ * @see https://w3c.github.io/touch-events/#event-touchcancel
3368
+ */
3369
+ onTouchcancel?: AttrEventHandler<TouchEvent, T>;
3370
+ "on-touchcancel"?: this["onTouchcancel"];
3371
+
3372
+ /**
3373
+ * Fired when a finger is lifted from a touch surface.
3374
+ * @see https://w3c.github.io/touch-events/#event-touchend
3375
+ */
3376
+ onTouchend?: AttrEventHandler<TouchEvent, T>;
3377
+ "on-touchend"?: this["onTouchend"];
3378
+
3379
+ /**
3380
+ * Fired when a finger is moved along a touch surface.
3381
+ * @see https://w3c.github.io/touch-events/#event-touchmove
3382
+ */
3383
+ onTouchmove?: AttrEventHandler<TouchEvent, T>;
3384
+ "on-touchmove"?: this["onTouchmove"];
3385
+
3386
+ /**
3387
+ * Fired when a finger is placed on a touch surface.
3388
+ * @see https://w3c.github.io/touch-events/#event-touchstart
3389
+ */
3390
+ onTouchstart?: AttrEventHandler<TouchEvent, T>;
3391
+ "on-touchstart"?: this["onTouchstart"];
3392
+
3393
+ /**
3394
+ * Fired when a CSS transition is canceled.
3395
+ * @see https://drafts.csswg.org/css-transitions/#transitioncancel
3396
+ */
3397
+ onTransitioncancel?: AttrEventHandler<TransitionEvent, T>;
3398
+ "on-transitioncancel"?: this["onTransitioncancel"];
3399
+
3400
+ /**
3401
+ * Fired when a CSS transition has completed.
3402
+ * @see https://drafts.csswg.org/css-transitions/#transitionend
3403
+ */
3404
+ onTransitionend?: AttrEventHandler<TransitionEvent, T>;
3405
+ "on-transitionend"?: this["onTransitionend"];
3406
+
3407
+ /**
3408
+ * Fired when a CSS transition is first created, i.e. before any transition-delay has begun.
3409
+ * @see https://drafts.csswg.org/css-transitions/#transitionrun
3410
+ */
3411
+ onTransitionrun?: AttrEventHandler<TransitionEvent, T>;
3412
+ "on-transitionrun"?: this["onTransitionrun"];
3413
+
3414
+ /**
3415
+ * Fired when a CSS transition has actually started, i.e., after any transition-delay has ended.
3416
+ * @see https://drafts.csswg.org/css-transitions/#transitionstart
3417
+ */
3418
+ onTransitionstart?: AttrEventHandler<TransitionEvent, T>;
3419
+ "on-transitionstart"?: this["onTransitionstart"];
3420
+
3421
+ /**
3422
+ * Fired when the volume level or muted state of a media element changes.
3423
+ * @see https://html.spec.whatwg.org/multipage/media.html#event-media-volumechange
3424
+ */
3425
+ onVolumechange?: AttrEventHandler<Event, T>;
3426
+ "on-volumechange"?: this["onVolumechange"];
3427
+ onvolumechange?: AttrString;
3428
+
3429
+ /**
3430
+ * Fired when a media element is waiting for data to continue playback, such as when buffering.
3431
+ * @see https://html.spec.whatwg.org/multipage/media.html#event-media-waiting
3432
+ */
3433
+ onWaiting?: AttrEventHandler<Event, T>;
3434
+ "on-waiting"?: this["onWaiting"];
3435
+ onwaiting?: AttrString;
3436
+
3437
+ /**
3438
+ * Fired when a user rotates a mouse wheel or similar input device over an element.
3439
+ * @see https://w3c.github.io/uievents/#event-type-wheel
3440
+ */
3441
+ onWheel?: AttrEventHandler<WheelEvent, T>;
3442
+ "on-wheel"?: this["onWheel"];
3443
+ onwheel?: AttrString;
3444
+
3445
+ /**
3446
+ * data-* global attributes form a class of attributes called custom data attributes, that allow proprietary
3447
+ * information to be exchanged between the HTML and its DOM representation by scripts.
3448
+ * @see https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes
3449
+ */
3450
+ [data: `data-${string}`]: AttrMissing | string | number | boolean;
3451
+ }
3452
+
3453
+ interface AriaAttributes {
3454
+ /**
3455
+ * Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application.
3456
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-activedescendant
3457
+ */
3458
+ "aria-activedescendant"?: AttrString;
3459
+ /**
3460
+ * Indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute.
3461
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-atomic
3462
+ * @see aria-relevant
3463
+ */
3464
+ "aria-atomic"?: AttrBooleanString;
3465
+ /**
3466
+ * Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be
3467
+ * presented if they are made.
3468
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-autocomplete
3469
+ */
3470
+ "aria-autocomplete"?: AttrMissing | "both" | "inline" | "list" | "none";
3471
+ /**
3472
+ * Indicates an element is being modified and that assistive technologies MAY want to wait until the modifications are complete before exposing them to the user.
3473
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-busy
3474
+ */
3475
+ "aria-busy"?: AttrBooleanString;
3476
+ /**
3477
+ * Indicates the current "checked" state of checkboxes, radio buttons, and other widgets.
3478
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-checked
3479
+ */
3480
+ "aria-checked"?: AttrTriState;
3481
+ /**
3482
+ * Defines the total number of columns in a table, grid, or treegrid.
3483
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-colcount
3484
+ */
3485
+ "aria-colcount"?: AttrStringOrNumber;
3486
+ /**
3487
+ * Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid.
3488
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-colindex
3489
+ */
3490
+ "aria-colindex"?: AttrStringOrNumber;
3491
+ /**
3492
+ * Defines a human readable text alternative of aria-colindex.
3493
+ * @see https://w3c.github.io/aria/#aria-colindextext
3494
+ * @see aria-colindex
3495
+ */
3496
+ "aria-colindextext"?: AttrString;
3497
+ /**
3498
+ * Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid.
3499
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-colspan
3500
+ */
3501
+ "aria-colspan"?: AttrStringOrNumber;
3502
+ /**
3503
+ * Identifies the element (or elements) whose contents or presence are controlled by the current element.
3504
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-controls
3505
+ * @see aria-owns
3506
+ */
3507
+ "aria-controls"?: AttrString;
3508
+ /**
3509
+ * Indicates the element that represents the current item within a container or set of related elements.
3510
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-current
3511
+ */
3512
+ "aria-current"?:
3513
+ | AttrBooleanString
3514
+ | "date"
3515
+ | "location"
3516
+ | "page"
3517
+ | "step"
3518
+ | "time"
3519
+ | "true";
3520
+ /**
3521
+ * Identifies the element (or elements) that describes the object.
3522
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-describedby
3523
+ * @see aria-labelledby
3524
+ */
3525
+ "aria-describedby"?: AttrString;
3526
+ /**
3527
+ * Defines a string value that describes or annotates the current element.
3528
+ * @see https://w3c.github.io/aria/#aria-description
3529
+ * @see aria-describedby
3530
+ */
3531
+ "aria-description"?: AttrString;
3532
+ /**
3533
+ * Identifies the element that provides a detailed, extended description for the object.
3534
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-details
3535
+ * @see aria-describedby
3536
+ */
3537
+ "aria-details"?: AttrString;
3538
+ /**
3539
+ * Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable.
3540
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-disabled
3541
+ */
3542
+ "aria-disabled"?: AttrBooleanString;
3543
+ /**
3544
+ * @deprecated Indicates what functions can be performed when a dragged object is released on the drop target.
3545
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-dropeffect
3546
+ * */
3547
+ "aria-dropeffect"?:
3548
+ | AttrMissing
3549
+ | "copy"
3550
+ | "execute"
3551
+ | "link"
3552
+ | "move"
3553
+ | "none"
3554
+ | "popup";
3555
+ /**
3556
+ * Identifies the element that provides an error message for the object.
3557
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-errormessage
3558
+ * @see aria-invalid
3559
+ * @see aria-describedby
3560
+ */
3561
+ "aria-errormessage"?: AttrString;
3562
+ /**
3563
+ * Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed.
3564
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-expanded
3565
+ * @see aria-controls
3566
+ */
3567
+ "aria-expanded"?: AttrBooleanString;
3568
+ /**
3569
+ * Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion,
3570
+ * allows assistive technology to override the general default of reading in document source order.
3571
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-flowto
3572
+ */
3573
+ "aria-flowto"?: AttrString;
3574
+ /**
3575
+ * @deprecated Indicates an element's "grabbed" state in a drag-and-drop operation.
3576
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-grabbed
3577
+ */
3578
+ "aria-grabbed"?: AttrBooleanString;
3579
+ /**
3580
+ * Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element.
3581
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-haspopup
3582
+ */
3583
+ "aria-haspopup"?:
3584
+ | AttrBooleanString
3585
+ | "dialog"
3586
+ | "grid"
3587
+ | "listbox"
3588
+ | "menu"
3589
+ | "tree";
3590
+ /**
3591
+ * Indicates whether the element is exposed to an accessibility API.
3592
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-hidden
3593
+ * @see aria-disabled
3594
+ */
3595
+ "aria-hidden"?: AttrBooleanString;
3596
+ /**
3597
+ * Indicates the entered value does not conform to the format expected by the application.
3598
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-invalid
3599
+ * @see aria-errormessage
3600
+ */
3601
+ "aria-invalid"?: AttrBooleanString | "grammar" | "spelling";
3602
+ /**
3603
+ * Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element.
3604
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-keyshortcuts
3605
+ */
3606
+ "aria-keyshortcuts"?: AttrString;
3607
+ /**
3608
+ * Defines a string value that labels the current element.
3609
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-label
3610
+ * @see aria-labelledby
3611
+ */
3612
+ "aria-label"?: AttrString;
3613
+ /**
3614
+ * Identifies the element (or elements) that labels the current element.
3615
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-labelledby
3616
+ * @see aria-decribedby
3617
+ */
3618
+ "aria-labelledby"?: AttrString;
3619
+ /**
3620
+ * Defines the hierarchical level of an element within a structure.
3621
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-level
3622
+ */
3623
+ "aria-level"?: AttrMissing | number | string;
3624
+ /**
3625
+ * Indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies,
3626
+ * and user can expect from the live region.
3627
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-live
3628
+ */
3629
+ "aria-live"?: AttrMissing | "assertive" | "off" | "polite";
3630
+ /**
3631
+ * Indicates whether an element is modal when displayed.
3632
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-modal
3633
+ */
3634
+ "aria-modal"?: AttrBooleanString;
3635
+ /**
3636
+ * Indicates whether a text box accepts multiple lines of input or only a single line.
3637
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-multiline
3638
+ */
3639
+ "aria-multiline"?: AttrBooleanString;
3640
+ /**
3641
+ * Indicates that the user may select more than one item from the current selectable descendants.
3642
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-multiselectable
3643
+ */
3644
+ "aria-multiselectable"?: AttrBooleanString;
3645
+ /**
3646
+ * Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous.
3647
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-orientation
3648
+ */
3649
+ "aria-orientation"?: AttrMissing | "horizontal" | "vertical";
3650
+ /**
3651
+ * Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship
3652
+ * between DOM elements where the DOM hierarchy cannot be used to represent the relationship.
3653
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-owns
3654
+ */
3655
+ "aria-owns"?: AttrString;
3656
+ /**
3657
+ * Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value.
3658
+ * A hint could be a sample value or a brief description of the expected format.
3659
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-placeholder
3660
+ */
3661
+ "aria-placeholder"?: AttrString;
3662
+ /**
3663
+ * Defines an element's number or position in the current set of listitems or treeitems.
3664
+ * Not required if all elements in the set are present in the DOM.
3665
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-posinset
3666
+ */
3667
+ "aria-posinset"?: AttrStringOrNumber;
3668
+ /**
3669
+ * Indicates the current "pressed" state of toggle buttons.
3670
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-pressed
3671
+ */
3672
+ "aria-pressed"?: AttrTriState;
3673
+ /**
3674
+ * Indicates that the element is not editable, but is otherwise operable.
3675
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-readonly
3676
+ */
3677
+ "aria-readonly"?: AttrBooleanString;
3678
+ /**
3679
+ * Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified.
3680
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-relevant
3681
+ */
3682
+ "aria-relevant"?:
3683
+ | AttrMissing
3684
+ | "additions removals"
3685
+ | "additions text"
3686
+ | "additions"
3687
+ | "all"
3688
+ | "removals additions"
3689
+ | "removals text"
3690
+ | "removals"
3691
+ | "text additions"
3692
+ | "text removals"
3693
+ | "text";
3694
+ /**
3695
+ * Indicates that user input is required on the element before a form may be submitted.
3696
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-required
3697
+ */
3698
+ "aria-required"?: AttrBooleanString;
3699
+ /**
3700
+ * Defines a human-readable, author-localized description for the role of an element.
3701
+ */
3702
+ "aria-roledescription"?: AttrString;
3703
+ /**
3704
+ * Defines the total number of rows in a table, grid, or treegrid.
3705
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-rowcount
3706
+ */
3707
+ "aria-rowcount"?: AttrStringOrNumber;
3708
+ /**
3709
+ * Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid.
3710
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-rowindex
3711
+ */
3712
+ "aria-rowindex"?: AttrStringOrNumber;
3713
+ /**
3714
+ * Defines a human readable text alternative of aria-rowindex.
3715
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-rowindextext
3716
+ * @see aria-rowindex
3717
+ */
3718
+ "aria-rowindextext"?: AttrString;
3719
+ /**
3720
+ * Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid.
3721
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-rowspan
3722
+ */
3723
+ "aria-rowspan"?: AttrStringOrNumber;
3724
+ /**
3725
+ * Indicates the current "selected" state of various widgets.
3726
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-selected
3727
+ */
3728
+ "aria-selected"?: AttrBooleanString;
3729
+ /**
3730
+ * Defines the number of items in the current set of listitems or treeitems.
3731
+ * Not required if all elements in the set are present in the DOM.
3732
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-setsize
3733
+ */
3734
+ "aria-setsize"?: AttrStringOrNumber;
3735
+ /**
3736
+ * Indicates if items in a table or grid are sorted in ascending or descending order.
3737
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-sort
3738
+ */
3739
+ "aria-sort"?: "ascending" | "descending" | "none" | "other";
3740
+ /**
3741
+ * Defines the maximum allowed value for a range widget.
3742
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-valuemax
3743
+ * @see aria-valuenow
3744
+ */
3745
+ "aria-valuemax"?: AttrStringOrNumber;
3746
+ /**
3747
+ * Defines the minimum allowed value for a range widget.
3748
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-valuemin
3749
+ * @see aria-valuenow
3750
+ */
3751
+ "aria-valuemin"?: AttrStringOrNumber;
3752
+ /**
3753
+ * Defines the current value for a range widget.
3754
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-valuenow
3755
+ * @see aria-valuetext
3756
+ * @see aria-valuemin
3757
+ * @see aria-valuemax
3758
+ */
3759
+ "aria-valuenow"?: AttrStringOrNumber;
3760
+ /**
3761
+ * Defines the human readable text alternative of aria-valuenow for a range widget.
3762
+ * @see https://www.w3.org/TR/wai-aria-1.1/#aria-valuetext
3763
+ * @see aria-valuenow
3764
+ */
3765
+ "aria-valuetext"?: AttrString;
3766
+ /**
3767
+ * Defines the ARIA role of an element.
3768
+ * @see https://www.w3.org/TR/wai-aria-1.1/#role_definitions
3769
+ */
3770
+ role?:
3771
+ | AttrMissing
3772
+ | "alert"
3773
+ | "alertdialog"
3774
+ | "application"
3775
+ | "article"
3776
+ | "banner"
3777
+ | "button"
3778
+ | "cell"
3779
+ | "checkbox"
3780
+ | "columnheader"
3781
+ | "combobox"
3782
+ | "complementary"
3783
+ | "contentinfo"
3784
+ | "definition"
3785
+ | "dialog"
3786
+ | "directory"
3787
+ | "document"
3788
+ | "feed"
3789
+ | "figure"
3790
+ | "form"
3791
+ | "grid"
3792
+ | "gridcell"
3793
+ | "group"
3794
+ | "heading"
3795
+ | "img"
3796
+ | "link"
3797
+ | "list"
3798
+ | "listbox"
3799
+ | "listitem"
3800
+ | "log"
3801
+ | "main"
3802
+ | "marquee"
3803
+ | "math"
3804
+ | "menu"
3805
+ | "menubar"
3806
+ | "menuitem"
3807
+ | "menuitemcheckbox"
3808
+ | "menuitemradio"
3809
+ | "meter"
3810
+ | "navigation"
3811
+ | "none"
3812
+ | "note"
3813
+ | "option"
3814
+ | "presentation"
3815
+ | "progressbar"
3816
+ | "radio"
3817
+ | "radiogroup"
3818
+ | "region"
3819
+ | "row"
3820
+ | "rowgroup"
3821
+ | "rowheader"
3822
+ | "scrollbar"
3823
+ | "search"
3824
+ | "searchbox"
3825
+ | "separator"
3826
+ | "slider"
3827
+ | "spinbutton"
3828
+ | "status"
3829
+ | "switch"
3830
+ | "tab"
3831
+ | "table"
3832
+ | "tablist"
3833
+ | "tabpanel"
3834
+ | "term"
3835
+ | "textbox"
3836
+ | "timer"
3837
+ | "toolbar"
3838
+ | "tooltip"
3839
+ | "tree"
3840
+ | "treegrid"
3841
+ | "treeitem";
3842
+ }
3843
+ }
3844
+ }
3845
+
3846
+ type AttrMissing = undefined | null | false;
3847
+ type AttrClass =
3848
+ | AttrMissing
3849
+ | string
3850
+ | AttrClass[]
3851
+ | Record<string, AttrMissing | boolean>;
3852
+ type AttrStyle = AttrMissing | string | Marko.CSS.Properties | AttrStyle[];
3853
+ type AttrCrossOrigin = AttrBoolean | "anonymous" | "use-credentials";
3854
+ type AttrEventHandler<Event, Target> =
3855
+ | AttrMissing
3856
+ | ((event: Event, target: Target) => unknown);
3857
+ type AttrTarget =
3858
+ | AttrMissing
3859
+ | "_blank"
3860
+ | "_parent"
3861
+ | "_self"
3862
+ | "_top"
3863
+ | (string & {});
3864
+ type AttrReferrerPolicy =
3865
+ | AttrMissing
3866
+ | "no-referrer-when-downgrade"
3867
+ | "no-referrer"
3868
+ | "origin-when-cross-origin"
3869
+ | "origin"
3870
+ | "same-origin"
3871
+ | "strict-origin-when-cross-origin"
3872
+ | "strict-origin"
3873
+ | "unsafe-url";
3874
+ type AttrString = AttrMissing | string;
3875
+ type AttrStringOrNumber = AttrString | number;
3876
+ type AttrBoolean = AttrMissing | boolean;
3877
+ type AttrBooleanOrString = AttrBoolean | string;
3878
+ type AttrBooleanString = AttrMissing | "false" | "true";
3879
+ type AttrYesNoString = AttrMissing | "no" | "yes";
3880
+ type AttrTriState = AttrBooleanString | "mixed";
3881
+ type AttrOnOff = AttrMissing | "on" | "off";
3882
+ type AttrAutoComplete =
3883
+ | AttrOnOff
3884
+ | "shipping"
3885
+ | "billing"
3886
+ | "name"
3887
+ | "honorific-prefix"
3888
+ | "given-name"
3889
+ | "additional-name"
3890
+ | "family-name"
3891
+ | "honorific-suffix"
3892
+ | "nickname"
3893
+ | "username"
3894
+ | "new-password"
3895
+ | "current-password"
3896
+ | "one-time-code"
3897
+ | "organization-title"
3898
+ | "organization"
3899
+ | "street-address"
3900
+ | "address-line1"
3901
+ | "address-line2"
3902
+ | "address-line3"
3903
+ | "address-level4"
3904
+ | "address-level3"
3905
+ | "address-level2"
3906
+ | "address-level1"
3907
+ | "country"
3908
+ | "country-name"
3909
+ | "postal-code"
3910
+ | "cc-name"
3911
+ | "cc-given-name"
3912
+ | "cc-additional-name"
3913
+ | "cc-family-name"
3914
+ | "cc-number"
3915
+ | "cc-exp"
3916
+ | "cc-exp-month"
3917
+ | "cc-exp-year"
3918
+ | "cc-csc"
3919
+ | "cc-type"
3920
+ | "transaction-currency"
3921
+ | "transaction-amount"
3922
+ | "language"
3923
+ | "bday"
3924
+ | "bday-day"
3925
+ | "bday-month"
3926
+ | "bday-year"
3927
+ | "sex"
3928
+ | "url"
3929
+ | "photo"
3930
+ | "home"
3931
+ | "work"
3932
+ | "mobile"
3933
+ | "fax"
3934
+ | "pager"
3935
+ | (string & {});