solid-js 2.0.0-experimental.5 → 2.0.0-experimental.7

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/types/jsx.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  THIS FILE IS GENERATED BY `./jsx-update.mjs`.
3
- PLEASE UPDATE `jsx-h.d.ts` INSTEAD AND RUN `node jsx-update.mjs`.
3
+ PLEASE UPDATE `jsx-h.d.ts` INSTEAD AND RUN `pnpm jsx-sync-types`.
4
4
  */
5
5
 
6
6
  import * as csstype from "csstype";
@@ -35,6 +35,8 @@ import * as csstype from "csstype";
35
35
  * through the component tree, not the dom tree.
36
36
  * - Native event handlers use the namespace `on:` such `on:click`, and wont be delegated. bubbling
37
37
  * the dom tree.
38
+ * - A global case-insensitive event handler can be added by extending `EventHandlersElement<T>`
39
+ * - A native `on:` event handler can be added by extending `CustomEvents<T>` interface
38
40
  *
39
41
  * ## Boolean Attributes (property setter that accepts `true | false`):
40
42
  *
@@ -77,6 +79,37 @@ import * as csstype from "csstype";
77
79
  *
78
80
  * - The namespace `prop:` could be used to directly set properties in native elements and
79
81
  * custom-elements. `<custom-element prop:myProp={true}/>` equivalent to `el.myProp = true`
82
+ *
83
+ * ## Interfaces
84
+ *
85
+ * Events
86
+ *
87
+ * 1. An event handler goes in `EventHandlersElement` when:
88
+ *
89
+ * - `event` is global, that's to be defined in `HTMLElement` AND `SVGElement` AND `MathMLElement`
90
+ * - `event` is defined in `Element` (as `HTMLElement/MathMLElement/SVGElement` -> `Element`)
91
+ * 2. `<body>`, `<svg>`, `<framesete>` are special as these include `window` events
92
+ * 3. Any other event is special for its own tag.
93
+ *
94
+ * Browser Hierarchy
95
+ *
96
+ * - $Element (ex HTMLDivElement <div>) -> ... -> HTMLElement -> Element -> Node
97
+ * - $Element (all math elements are MathMLElement) MathMLElement -> Element -> Node
98
+ * - $Element`(ex SVGMaskElement <mask>) -> ... -> SVGElement -> Element -> Node
99
+ *
100
+ * Attributes
101
+ *
102
+ * <div> -> ... -> HTMLAttributes -> ElementAttributes
103
+ * <svg> -> ... -> SVGAttributes -> ElementAttributes
104
+ * <math> -> ... -> MathMLAttributes -> ElementAttributes
105
+ *
106
+ * ElementAttributes = `Element` + `Node` attributes (aka global attributes)
107
+ *
108
+ * HTMLAttributes = `HTMLElement` attributes (aka HTML global attributes)
109
+ * SVGAttributes = `SVGElement` attributes (aka SVG global attributes)
110
+ * MathMLAttributes = `MathMLElement` attributes (aka MATH global attributes)
111
+ *
112
+ * CustomAttributes = Framework attributes
80
113
  */
81
114
 
82
115
  type DOMElement = Element;
@@ -129,7 +162,8 @@ export namespace JSX {
129
162
  > = EHandler | BoundEventHandler<T, E, EHandler>;
130
163
 
131
164
  interface EventHandlerWithOptions<T, E extends Event, EHandler = EventHandler<T, E>>
132
- extends AddEventListenerOptions {
165
+ extends AddEventListenerOptions,
166
+ EventListenerOptions {
133
167
  handleEvent: EHandler;
134
168
  }
135
169
 
@@ -203,6 +237,7 @@ export namespace JSX {
203
237
  }
204
238
  interface CustomAttributes<T> {
205
239
  ref?: T | ((el: T) => void) | undefined;
240
+ children?: Element | undefined;
206
241
  $ServerOnly?: boolean | undefined;
207
242
  }
208
243
  type Accessor<T> = () => T;
@@ -211,8 +246,6 @@ export namespace JSX {
211
246
  [x: string]: (el: DOMElement, accessor: Accessor<any>) => void;
212
247
  }
213
248
  interface ExplicitProperties {}
214
- interface ExplicitAttributes {}
215
- interface ExplicitBoolAttributes {}
216
249
  interface CustomEvents {}
217
250
  type DirectiveAttributes = {
218
251
  [Key in keyof Directives as `use:${Key}`]?: Directives[Key];
@@ -236,551 +269,26 @@ export namespace JSX {
236
269
  type PropAttributes = {
237
270
  [Key in keyof ExplicitProperties as `prop:${Key}`]?: ExplicitProperties[Key];
238
271
  };
239
- type AttrAttributes = {
240
- [Key in keyof ExplicitAttributes as `attr:${Key}`]?: ExplicitAttributes[Key];
241
- };
242
- type BoolAttributes = {
243
- [Key in keyof ExplicitBoolAttributes as `bool:${Key}`]?: ExplicitBoolAttributes[Key];
244
- };
245
272
  type OnAttributes<T> = {
246
273
  [Key in keyof CustomEvents as `on:${Key}`]?: EventHandlerWithOptionsUnion<T, CustomEvents[Key]>;
247
274
  };
248
275
 
249
- // events
250
- interface ElementEventMap<T> {
251
- onFullscreenChange?: EventHandlerUnion<T, Event> | undefined;
252
- onFullscreenError?: EventHandlerUnion<T, Event> | undefined;
253
-
254
- "on:fullscreenchange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
255
- "on:fullscreenerror"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
276
+ // CSS
256
277
 
257
- /** @deprecated Use camelCase event handlers */
258
- onfullscreenchange?: EventHandlerUnion<T, Event> | undefined;
259
- /** @deprecated Use camelCase event handlers */
260
- onfullscreenerror?: EventHandlerUnion<T, Event> | undefined;
278
+ interface CSSProperties extends csstype.PropertiesHyphen {
279
+ // Override
280
+ [key: `-${string}`]: string | number | undefined;
261
281
  }
262
- interface WindowEventMap<T> {
263
- onAfterPrint?: EventHandlerUnion<T, Event> | undefined;
264
- onBeforePrint?: EventHandlerUnion<T, Event> | undefined;
265
- onBeforeUnload?: EventHandlerUnion<T, BeforeUnloadEvent> | undefined;
266
- onGamepadConnected?: EventHandlerUnion<T, GamepadEvent> | undefined;
267
- onGamepadDisconnected?: EventHandlerUnion<T, GamepadEvent> | undefined;
268
- onHashchange?: EventHandlerUnion<T, HashChangeEvent> | undefined;
269
- onLanguageChange?: EventHandlerUnion<T, Event> | undefined;
270
- onMessage?: EventHandlerUnion<T, MessageEvent> | undefined;
271
- onMessageError?: EventHandlerUnion<T, MessageEvent> | undefined;
272
- onOffline?: EventHandlerUnion<T, Event> | undefined;
273
- onOnline?: EventHandlerUnion<T, Event> | undefined;
274
- onPageHide?: EventHandlerUnion<T, PageTransitionEvent> | undefined;
275
- // TODO `PageRevealEvent` is currently undefined on TS
276
- onPageReveal?: EventHandlerUnion<T, Event> | undefined;
277
- onPageShow?: EventHandlerUnion<T, PageTransitionEvent> | undefined;
278
- // TODO `PageSwapEvent` is currently undefined on TS
279
- onPageSwap?: EventHandlerUnion<T, Event> | undefined;
280
- onPopstate?: EventHandlerUnion<T, PopStateEvent> | undefined;
281
- onRejectionHandled?: EventHandlerUnion<T, PromiseRejectionEvent> | undefined;
282
- onStorage?: EventHandlerUnion<T, StorageEvent> | undefined;
283
- onUnhandledRejection?: EventHandlerUnion<T, PromiseRejectionEvent> | undefined;
284
- onUnload?: EventHandlerUnion<T, Event> | undefined;
285
282
 
286
- /** @deprecated Use camelCase event handlers */
287
- onafterprint?: EventHandlerUnion<T, Event> | undefined;
288
- /** @deprecated Use camelCase event handlers */
289
- onbeforeprint?: EventHandlerUnion<T, Event> | undefined;
290
- /** @deprecated Use camelCase event handlers */
291
- onbeforeunload?: EventHandlerUnion<T, BeforeUnloadEvent> | undefined;
292
- /** @deprecated Use camelCase event handlers */
293
- ongamepadconnected?: EventHandlerUnion<T, GamepadEvent> | undefined;
294
- /** @deprecated Use camelCase event handlers */
295
- ongamepaddisconnected?: EventHandlerUnion<T, GamepadEvent> | undefined;
296
- /** @deprecated Use camelCase event handlers */
297
- onhashchange?: EventHandlerUnion<T, HashChangeEvent> | undefined;
298
- /** @deprecated Use camelCase event handlers */
299
- onlanguagechange?: EventHandlerUnion<T, Event> | undefined;
300
- /** @deprecated Use camelCase event handlers */
301
- onmessage?: EventHandlerUnion<T, MessageEvent> | undefined;
302
- /** @deprecated Use camelCase event handlers */
303
- onmessageerror?: EventHandlerUnion<T, MessageEvent> | undefined;
304
- /** @deprecated Use camelCase event handlers */
305
- onoffline?: EventHandlerUnion<T, Event> | undefined;
306
- /** @deprecated Use camelCase event handlers */
307
- ononline?: EventHandlerUnion<T, Event> | undefined;
308
- /** @deprecated Use camelCase event handlers */
309
- onpagehide?: EventHandlerUnion<T, PageTransitionEvent> | undefined;
310
- // TODO `PageRevealEvent` is currently undefined in TS
311
- /** @deprecated Use camelCase event handlers */
312
- onpagereveal?: EventHandlerUnion<T, Event> | undefined;
313
- /** @deprecated Use camelCase event handlers */
314
- onpageshow?: EventHandlerUnion<T, PageTransitionEvent> | undefined;
315
- // TODO `PageSwapEvent` is currently undefined in TS
316
- /** @deprecated Use camelCase event handlers */
317
- onpageswap?: EventHandlerUnion<T, Event> | undefined;
318
- /** @deprecated Use camelCase event handlers */
319
- onpopstate?: EventHandlerUnion<T, PopStateEvent> | undefined;
320
- /** @deprecated Use camelCase event handlers */
321
- onrejectionhandled?: EventHandlerUnion<T, PromiseRejectionEvent> | undefined;
322
- /** @deprecated Use camelCase event handlers */
323
- onstorage?: EventHandlerUnion<T, StorageEvent> | undefined;
324
- /** @deprecated Use camelCase event handlers */
325
- onunhandledrejection?: EventHandlerUnion<T, PromiseRejectionEvent> | undefined;
326
- /** @deprecated Use camelCase event handlers */
327
- onunload?: EventHandlerUnion<T, Event> | undefined;
283
+ // TODO: Should we allow this?
284
+ // type ClassKeys = `class:${string}`;
285
+ // type CSSKeys = Exclude<keyof csstype.PropertiesHyphen, `-${string}`>;
328
286
 
329
- "on:afterprint"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
330
- "on:beforeprint"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
331
- "on:beforeunload"?: EventHandlerWithOptionsUnion<T, BeforeUnloadEvent> | undefined;
332
- "on:gamepadconnected"?: EventHandlerWithOptionsUnion<T, GamepadEvent> | undefined;
333
- "on:gamepaddisconnected"?: EventHandlerWithOptionsUnion<T, GamepadEvent> | undefined;
334
- "on:hashchange"?: EventHandlerWithOptionsUnion<T, HashChangeEvent> | undefined;
335
- "on:languagechange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
336
- "on:message"?: EventHandlerWithOptionsUnion<T, MessageEvent> | undefined;
337
- "on:messageerror"?: EventHandlerWithOptionsUnion<T, MessageEvent> | undefined;
338
- "on:offline"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
339
- "on:online"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
340
- "on:pagehide"?: EventHandlerWithOptionsUnion<T, PageTransitionEvent> | undefined;
341
- // TODO `PageRevealEvent` is currently undefined in TS
342
- "on:pagereveal"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
343
- "on:pageshow"?: EventHandlerWithOptionsUnion<T, PageTransitionEvent> | undefined;
344
- // TODO `PageSwapEvent` is currently undefined in TS
345
- "on:pageswap"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
346
- "on:popstate"?: EventHandlerWithOptionsUnion<T, PopStateEvent> | undefined;
347
- "on:rejectionhandled"?: EventHandlerWithOptionsUnion<T, PromiseRejectionEvent> | undefined;
348
- "on:storage"?: EventHandlerWithOptionsUnion<T, StorageEvent> | undefined;
349
- "on:unhandledrejection"?: EventHandlerWithOptionsUnion<T, PromiseRejectionEvent> | undefined;
350
- "on:unload"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
351
- }
287
+ // type CSSAttributes = {
288
+ // [key in CSSKeys as `style:${key}`]: csstype.PropertiesHyphen[key];
289
+ // };
352
290
 
353
- interface CustomEventHandlersCamelCase<T> {
354
- onAbort?: EventHandlerUnion<T, UIEvent> | undefined;
355
- onAnimationCancel?: EventHandlerUnion<T, AnimationEvent> | undefined;
356
- onAnimationEnd?: EventHandlerUnion<T, AnimationEvent> | undefined;
357
- onAnimationIteration?: EventHandlerUnion<T, AnimationEvent> | undefined;
358
- onAnimationStart?: EventHandlerUnion<T, AnimationEvent> | undefined;
359
- onAuxClick?: EventHandlerUnion<T, PointerEvent> | undefined;
360
- onBeforeInput?: InputEventHandlerUnion<T, InputEvent> | undefined;
361
- onBeforeToggle?: EventHandlerUnion<T, ToggleEvent> | undefined;
362
- onBlur?: FocusEventHandlerUnion<T, FocusEvent> | undefined;
363
- onCancel?: EventHandlerUnion<T, Event> | undefined;
364
- onCanPlay?: EventHandlerUnion<T, Event> | undefined;
365
- onCanPlayThrough?: EventHandlerUnion<T, Event> | undefined;
366
- onChange?: ChangeEventHandlerUnion<T, Event> | undefined;
367
- onClick?: EventHandlerUnion<T, MouseEvent> | undefined;
368
- // TODO `CommandEvent` is currently undefined in TS
369
- onCommand?: EventHandlerUnion<T, Event> | undefined;
370
- onCompositionEnd?: EventHandlerUnion<T, CompositionEvent> | undefined;
371
- onCompositionStart?: EventHandlerUnion<T, CompositionEvent> | undefined;
372
- onCompositionUpdate?: EventHandlerUnion<T, CompositionEvent> | undefined;
373
- onContextMenu?: EventHandlerUnion<T, PointerEvent> | undefined;
374
- onCopy?: EventHandlerUnion<T, ClipboardEvent> | undefined;
375
- onCueChange?: EventHandlerUnion<T, Event> | undefined;
376
- onCut?: EventHandlerUnion<T, ClipboardEvent> | undefined;
377
- onDblClick?: EventHandlerUnion<T, MouseEvent> | undefined;
378
- onDrag?: EventHandlerUnion<T, DragEvent> | undefined;
379
- onDragEnd?: EventHandlerUnion<T, DragEvent> | undefined;
380
- onDragEnter?: EventHandlerUnion<T, DragEvent> | undefined;
381
- onDragExit?: EventHandlerUnion<T, DragEvent> | undefined;
382
- onDragLeave?: EventHandlerUnion<T, DragEvent> | undefined;
383
- onDragOver?: EventHandlerUnion<T, DragEvent> | undefined;
384
- onDragStart?: EventHandlerUnion<T, DragEvent> | undefined;
385
- onDrop?: EventHandlerUnion<T, DragEvent> | undefined;
386
- onDurationChange?: EventHandlerUnion<T, Event> | undefined;
387
- onEmptied?: EventHandlerUnion<T, Event> | undefined;
388
- onEnded?: EventHandlerUnion<T, Event> | undefined;
389
- onError?: EventHandlerUnion<T, ErrorEvent> | undefined;
390
- onFocus?: FocusEventHandlerUnion<T, FocusEvent> | undefined;
391
- onFocusIn?: FocusEventHandlerUnion<T, FocusEvent> | undefined;
392
- onFocusOut?: FocusEventHandlerUnion<T, FocusEvent> | undefined;
393
- onGotPointerCapture?: EventHandlerUnion<T, PointerEvent> | undefined;
394
- onInput?: InputEventHandlerUnion<T, InputEvent> | undefined;
395
- onInvalid?: EventHandlerUnion<T, Event> | undefined;
396
- onKeyDown?: EventHandlerUnion<T, KeyboardEvent> | undefined;
397
- onKeyPress?: EventHandlerUnion<T, KeyboardEvent> | undefined;
398
- onKeyUp?: EventHandlerUnion<T, KeyboardEvent> | undefined;
399
- onLoad?: EventHandlerUnion<T, Event> | undefined;
400
- onLoadedData?: EventHandlerUnion<T, Event> | undefined;
401
- onLoadedMetadata?: EventHandlerUnion<T, Event> | undefined;
402
- onLoadStart?: EventHandlerUnion<T, Event> | undefined;
403
- onLostPointerCapture?: EventHandlerUnion<T, PointerEvent> | undefined;
404
- onMouseDown?: EventHandlerUnion<T, MouseEvent> | undefined;
405
- onMouseEnter?: EventHandlerUnion<T, MouseEvent> | undefined;
406
- onMouseLeave?: EventHandlerUnion<T, MouseEvent> | undefined;
407
- onMouseMove?: EventHandlerUnion<T, MouseEvent> | undefined;
408
- onMouseOut?: EventHandlerUnion<T, MouseEvent> | undefined;
409
- onMouseOver?: EventHandlerUnion<T, MouseEvent> | undefined;
410
- onMouseUp?: EventHandlerUnion<T, MouseEvent> | undefined;
411
- onPaste?: EventHandlerUnion<T, ClipboardEvent> | undefined;
412
- onPause?: EventHandlerUnion<T, Event> | undefined;
413
- onPlay?: EventHandlerUnion<T, Event> | undefined;
414
- onPlaying?: EventHandlerUnion<T, Event> | undefined;
415
- onPointerCancel?: EventHandlerUnion<T, PointerEvent> | undefined;
416
- onPointerDown?: EventHandlerUnion<T, PointerEvent> | undefined;
417
- onPointerEnter?: EventHandlerUnion<T, PointerEvent> | undefined;
418
- onPointerLeave?: EventHandlerUnion<T, PointerEvent> | undefined;
419
- onPointerMove?: EventHandlerUnion<T, PointerEvent> | undefined;
420
- onPointerOut?: EventHandlerUnion<T, PointerEvent> | undefined;
421
- onPointerOver?: EventHandlerUnion<T, PointerEvent> | undefined;
422
- onPointerUp?: EventHandlerUnion<T, PointerEvent> | undefined;
423
- onProgress?: EventHandlerUnion<T, ProgressEvent> | undefined;
424
- onRateChange?: EventHandlerUnion<T, Event> | undefined;
425
- onReset?: EventHandlerUnion<T, Event> | undefined;
426
- onResize?: EventHandlerUnion<T, UIEvent> | undefined;
427
- onScroll?: EventHandlerUnion<T, Event> | undefined;
428
- onScrollEnd?: EventHandlerUnion<T, Event> | undefined;
429
- onSecurityPolicyViolation?: EventHandlerUnion<T, SecurityPolicyViolationEvent> | undefined;
430
- onSeeked?: EventHandlerUnion<T, Event> | undefined;
431
- onSeeking?: EventHandlerUnion<T, Event> | undefined;
432
- onSelect?: EventHandlerUnion<T, Event> | undefined;
433
- onSelectionChange?: EventHandlerUnion<T, Event> | undefined;
434
- onSlotChange?: EventHandlerUnion<T, Event> | undefined;
435
- onStalled?: EventHandlerUnion<T, Event> | undefined;
436
- onSubmit?: EventHandlerUnion<T, SubmitEvent> | undefined;
437
- onSuspend?: EventHandlerUnion<T, Event> | undefined;
438
- onTimeUpdate?: EventHandlerUnion<T, Event> | undefined;
439
- onToggle?: EventHandlerUnion<T, ToggleEvent> | undefined;
440
- onTouchCancel?: EventHandlerUnion<T, TouchEvent> | undefined;
441
- onTouchEnd?: EventHandlerUnion<T, TouchEvent> | undefined;
442
- onTouchMove?: EventHandlerUnion<T, TouchEvent> | undefined;
443
- onTouchStart?: EventHandlerUnion<T, TouchEvent> | undefined;
444
- onTransitionCancel?: EventHandlerUnion<T, TransitionEvent> | undefined;
445
- onTransitionEnd?: EventHandlerUnion<T, TransitionEvent> | undefined;
446
- onTransitionRun?: EventHandlerUnion<T, TransitionEvent> | undefined;
447
- onTransitionStart?: EventHandlerUnion<T, TransitionEvent> | undefined;
448
- onVolumeChange?: EventHandlerUnion<T, Event> | undefined;
449
- onWaiting?: EventHandlerUnion<T, Event> | undefined;
450
- onWheel?: EventHandlerUnion<T, WheelEvent> | undefined;
451
- }
452
- /** @type {GlobalEventHandlers} */
453
- interface CustomEventHandlersLowerCase<T> {
454
- /** @deprecated Use camelCase event handlers */
455
- onabort?: EventHandlerUnion<T, UIEvent> | undefined;
456
- /** @deprecated Use camelCase event handlers */
457
- onanimationcancel?: EventHandlerUnion<T, AnimationEvent> | undefined;
458
- /** @deprecated Use camelCase event handlers */
459
- onanimationend?: EventHandlerUnion<T, AnimationEvent> | undefined;
460
- /** @deprecated Use camelCase event handlers */
461
- onanimationiteration?: EventHandlerUnion<T, AnimationEvent> | undefined;
462
- /** @deprecated Use camelCase event handlers */
463
- onanimationstart?: EventHandlerUnion<T, AnimationEvent> | undefined;
464
- /** @deprecated Use camelCase event handlers */
465
- onauxclick?: EventHandlerUnion<T, PointerEvent> | undefined;
466
- /** @deprecated Use camelCase event handlers */
467
- onbeforeinput?: InputEventHandlerUnion<T, InputEvent> | undefined;
468
- /** @deprecated Use camelCase event handlers */
469
- onbeforetoggle?: EventHandlerUnion<T, ToggleEvent> | undefined;
470
- /** @deprecated Use camelCase event handlers */
471
- onblur?: FocusEventHandlerUnion<T, FocusEvent> | undefined;
472
- /** @deprecated Use camelCase event handlers */
473
- oncancel?: EventHandlerUnion<T, Event> | undefined;
474
- /** @deprecated Use camelCase event handlers */
475
- oncanplay?: EventHandlerUnion<T, Event> | undefined;
476
- /** @deprecated Use camelCase event handlers */
477
- oncanplaythrough?: EventHandlerUnion<T, Event> | undefined;
478
- /** @deprecated Use camelCase event handlers */
479
- onchange?: ChangeEventHandlerUnion<T, Event> | undefined;
480
- /** @deprecated Use camelCase event handlers */
481
- onclick?: EventHandlerUnion<T, MouseEvent> | undefined;
482
- // TODO `CommandEvent` is currently undefined in TS
483
- /** @deprecated Use camelCase event handlers */
484
- oncommand?: EventHandlerUnion<T, Event> | undefined;
485
- /** @deprecated Use camelCase event handlers */
486
- oncompositionend?: EventHandlerUnion<T, CompositionEvent> | undefined;
487
- /** @deprecated Use camelCase event handlers */
488
- oncompositionstart?: EventHandlerUnion<T, CompositionEvent> | undefined;
489
- /** @deprecated Use camelCase event handlers */
490
- oncompositionupdate?: EventHandlerUnion<T, CompositionEvent> | undefined;
491
- /** @deprecated Use camelCase event handlers */
492
- oncontextmenu?: EventHandlerUnion<T, PointerEvent> | undefined;
493
- /** @deprecated Use camelCase event handlers */
494
- oncopy?: EventHandlerUnion<T, ClipboardEvent> | undefined;
495
- /** @deprecated Use camelCase event handlers */
496
- oncuechange?: EventHandlerUnion<T, Event> | undefined;
497
- /** @deprecated Use camelCase event handlers */
498
- oncut?: EventHandlerUnion<T, ClipboardEvent> | undefined;
499
- /** @deprecated Use camelCase event handlers */
500
- ondblclick?: EventHandlerUnion<T, MouseEvent> | undefined;
501
- /** @deprecated Use camelCase event handlers */
502
- ondrag?: EventHandlerUnion<T, DragEvent> | undefined;
503
- /** @deprecated Use camelCase event handlers */
504
- ondragend?: EventHandlerUnion<T, DragEvent> | undefined;
505
- /** @deprecated Use camelCase event handlers */
506
- ondragenter?: EventHandlerUnion<T, DragEvent> | undefined;
507
- /** @deprecated Use camelCase event handlers */
508
- ondragexit?: EventHandlerUnion<T, DragEvent> | undefined;
509
- /** @deprecated Use camelCase event handlers */
510
- ondragleave?: EventHandlerUnion<T, DragEvent> | undefined;
511
- /** @deprecated Use camelCase event handlers */
512
- ondragover?: EventHandlerUnion<T, DragEvent> | undefined;
513
- /** @deprecated Use camelCase event handlers */
514
- ondragstart?: EventHandlerUnion<T, DragEvent> | undefined;
515
- /** @deprecated Use camelCase event handlers */
516
- ondrop?: EventHandlerUnion<T, DragEvent> | undefined;
517
- /** @deprecated Use camelCase event handlers */
518
- ondurationchange?: EventHandlerUnion<T, Event> | undefined;
519
- /** @deprecated Use camelCase event handlers */
520
- onemptied?: EventHandlerUnion<T, Event> | undefined;
521
- /** @deprecated Use camelCase event handlers */
522
- onended?: EventHandlerUnion<T, Event> | undefined;
523
- /** @deprecated Use camelCase event handlers */
524
- onerror?: EventHandlerUnion<T, ErrorEvent> | undefined;
525
- /** @deprecated Use camelCase event handlers */
526
- onfocus?: FocusEventHandlerUnion<T, FocusEvent> | undefined;
527
- /** @deprecated Use camelCase event handlers */
528
- onfocusin?: FocusEventHandlerUnion<T, FocusEvent> | undefined;
529
- /** @deprecated Use camelCase event handlers */
530
- onfocusout?: FocusEventHandlerUnion<T, FocusEvent> | undefined;
531
- /** @deprecated Use camelCase event handlers */
532
- ongotpointercapture?: EventHandlerUnion<T, PointerEvent> | undefined;
533
- /** @deprecated Use camelCase event handlers */
534
- oninput?: InputEventHandlerUnion<T, InputEvent> | undefined;
535
- /** @deprecated Use camelCase event handlers */
536
- oninvalid?: EventHandlerUnion<T, Event> | undefined;
537
- /** @deprecated Use camelCase event handlers */
538
- onkeydown?: EventHandlerUnion<T, KeyboardEvent> | undefined;
539
- /** @deprecated Use camelCase event handlers */
540
- onkeypress?: EventHandlerUnion<T, KeyboardEvent> | undefined;
541
- /** @deprecated Use camelCase event handlers */
542
- onkeyup?: EventHandlerUnion<T, KeyboardEvent> | undefined;
543
- /** @deprecated Use camelCase event handlers */
544
- onload?: EventHandlerUnion<T, Event> | undefined;
545
- /** @deprecated Use camelCase event handlers */
546
- onloadeddata?: EventHandlerUnion<T, Event> | undefined;
547
- /** @deprecated Use camelCase event handlers */
548
- onloadedmetadata?: EventHandlerUnion<T, Event> | undefined;
549
- /** @deprecated Use camelCase event handlers */
550
- onloadstart?: EventHandlerUnion<T, Event> | undefined;
551
- /** @deprecated Use camelCase event handlers */
552
- onlostpointercapture?: EventHandlerUnion<T, PointerEvent> | undefined;
553
- /** @deprecated Use camelCase event handlers */
554
- onmousedown?: EventHandlerUnion<T, MouseEvent> | undefined;
555
- /** @deprecated Use camelCase event handlers */
556
- onmouseenter?: EventHandlerUnion<T, MouseEvent> | undefined;
557
- /** @deprecated Use camelCase event handlers */
558
- onmouseleave?: EventHandlerUnion<T, MouseEvent> | undefined;
559
- /** @deprecated Use camelCase event handlers */
560
- onmousemove?: EventHandlerUnion<T, MouseEvent> | undefined;
561
- /** @deprecated Use camelCase event handlers */
562
- onmouseout?: EventHandlerUnion<T, MouseEvent> | undefined;
563
- /** @deprecated Use camelCase event handlers */
564
- onmouseover?: EventHandlerUnion<T, MouseEvent> | undefined;
565
- /** @deprecated Use camelCase event handlers */
566
- onmouseup?: EventHandlerUnion<T, MouseEvent> | undefined;
567
- /** @deprecated Use camelCase event handlers */
568
- onpaste?: EventHandlerUnion<T, ClipboardEvent> | undefined;
569
- /** @deprecated Use camelCase event handlers */
570
- onpause?: EventHandlerUnion<T, Event> | undefined;
571
- /** @deprecated Use camelCase event handlers */
572
- onplay?: EventHandlerUnion<T, Event> | undefined;
573
- /** @deprecated Use camelCase event handlers */
574
- onplaying?: EventHandlerUnion<T, Event> | undefined;
575
- /** @deprecated Use camelCase event handlers */
576
- onpointercancel?: EventHandlerUnion<T, PointerEvent> | undefined;
577
- /** @deprecated Use camelCase event handlers */
578
- onpointerdown?: EventHandlerUnion<T, PointerEvent> | undefined;
579
- /** @deprecated Use camelCase event handlers */
580
- onpointerenter?: EventHandlerUnion<T, PointerEvent> | undefined;
581
- /** @deprecated Use camelCase event handlers */
582
- onpointerleave?: EventHandlerUnion<T, PointerEvent> | undefined;
583
- /** @deprecated Use camelCase event handlers */
584
- onpointermove?: EventHandlerUnion<T, PointerEvent> | undefined;
585
- /** @deprecated Use camelCase event handlers */
586
- onpointerout?: EventHandlerUnion<T, PointerEvent> | undefined;
587
- /** @deprecated Use camelCase event handlers */
588
- onpointerover?: EventHandlerUnion<T, PointerEvent> | undefined;
589
- /** @deprecated Use camelCase event handlers */
590
- onpointerup?: EventHandlerUnion<T, PointerEvent> | undefined;
591
- /** @deprecated Use camelCase event handlers */
592
- onprogress?: EventHandlerUnion<T, ProgressEvent> | undefined;
593
- /** @deprecated Use camelCase event handlers */
594
- onratechange?: EventHandlerUnion<T, Event> | undefined;
595
- /** @deprecated Use camelCase event handlers */
596
- onreset?: EventHandlerUnion<T, Event> | undefined;
597
- /** @deprecated Use camelCase event handlers */
598
- onresize?: EventHandlerUnion<T, UIEvent> | undefined;
599
- /** @deprecated Use camelCase event handlers */
600
- onscroll?: EventHandlerUnion<T, Event> | undefined;
601
- /** @deprecated Use camelCase event handlers */
602
- onscrollend?: EventHandlerUnion<T, Event> | undefined;
603
- /** @deprecated Use camelCase event handlers */
604
- onsecuritypolicyviolation?: EventHandlerUnion<T, SecurityPolicyViolationEvent> | undefined;
605
- /** @deprecated Use camelCase event handlers */
606
- onseeked?: EventHandlerUnion<T, Event> | undefined;
607
- /** @deprecated Use camelCase event handlers */
608
- onseeking?: EventHandlerUnion<T, Event> | undefined;
609
- /** @deprecated Use camelCase event handlers */
610
- onselect?: EventHandlerUnion<T, Event> | undefined;
611
- /** @deprecated Use camelCase event handlers */
612
- onselectionchange?: EventHandlerUnion<T, Event> | undefined;
613
- /** @deprecated Use camelCase event handlers */
614
- onslotchange?: EventHandlerUnion<T, Event> | undefined;
615
- /** @deprecated Use camelCase event handlers */
616
- onstalled?: EventHandlerUnion<T, Event> | undefined;
617
- /** @deprecated Use camelCase event handlers */
618
- onsubmit?: EventHandlerUnion<T, SubmitEvent> | undefined;
619
- /** @deprecated Use camelCase event handlers */
620
- onsuspend?: EventHandlerUnion<T, Event> | undefined;
621
- /** @deprecated Use camelCase event handlers */
622
- ontimeupdate?: EventHandlerUnion<T, Event> | undefined;
623
- /** @deprecated Use camelCase event handlers */
624
- ontoggle?: EventHandlerUnion<T, ToggleEvent> | undefined;
625
- /** @deprecated Use camelCase event handlers */
626
- ontouchcancel?: EventHandlerUnion<T, TouchEvent> | undefined;
627
- /** @deprecated Use camelCase event handlers */
628
- ontouchend?: EventHandlerUnion<T, TouchEvent> | undefined;
629
- /** @deprecated Use camelCase event handlers */
630
- ontouchmove?: EventHandlerUnion<T, TouchEvent> | undefined;
631
- /** @deprecated Use camelCase event handlers */
632
- ontouchstart?: EventHandlerUnion<T, TouchEvent> | undefined;
633
- /** @deprecated Use camelCase event handlers */
634
- ontransitioncancel?: EventHandlerUnion<T, TransitionEvent> | undefined;
635
- /** @deprecated Use camelCase event handlers */
636
- ontransitionend?: EventHandlerUnion<T, TransitionEvent> | undefined;
637
- /** @deprecated Use camelCase event handlers */
638
- ontransitionrun?: EventHandlerUnion<T, TransitionEvent> | undefined;
639
- /** @deprecated Use camelCase event handlers */
640
- ontransitionstart?: EventHandlerUnion<T, TransitionEvent> | undefined;
641
- /** @deprecated Use camelCase event handlers */
642
- onvolumechange?: EventHandlerUnion<T, Event> | undefined;
643
- /** @deprecated Use camelCase event handlers */
644
- onwaiting?: EventHandlerUnion<T, Event> | undefined;
645
- /** @deprecated Use camelCase event handlers */
646
- onwheel?: EventHandlerUnion<T, WheelEvent> | undefined;
647
- }
648
-
649
- interface CustomEventHandlersNamespaced<T> {
650
- "on:abort"?: EventHandlerWithOptionsUnion<T, UIEvent> | undefined;
651
- "on:animationcancel"?: EventHandlerWithOptionsUnion<T, AnimationEvent> | undefined;
652
- "on:animationend"?: EventHandlerWithOptionsUnion<T, AnimationEvent> | undefined;
653
- "on:animationiteration"?: EventHandlerWithOptionsUnion<T, AnimationEvent> | undefined;
654
- "on:animationstart"?: EventHandlerWithOptionsUnion<T, AnimationEvent> | undefined;
655
- "on:auxclick"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
656
- "on:beforeinput"?:
657
- | EventHandlerWithOptionsUnion<T, InputEvent, InputEventHandler<T, InputEvent>>
658
- | undefined;
659
- "on:beforetoggle"?: EventHandlerWithOptionsUnion<T, ToggleEvent> | undefined;
660
- "on:blur"?:
661
- | EventHandlerWithOptionsUnion<T, FocusEvent, FocusEventHandler<T, FocusEvent>>
662
- | undefined;
663
- "on:cancel"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
664
- "on:canplay"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
665
- "on:canplaythrough"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
666
- "on:change"?: EventHandlerWithOptionsUnion<T, Event, ChangeEventHandler<T, Event>> | undefined;
667
- "on:click"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
668
- // TODO `CommandEvent` is currently undefined in TS
669
- "on:command"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
670
- "on:compositionend"?: EventHandlerWithOptionsUnion<T, CompositionEvent> | undefined;
671
- "on:compositionstart"?: EventHandlerWithOptionsUnion<T, CompositionEvent> | undefined;
672
- "on:compositionupdate"?: EventHandlerWithOptionsUnion<T, CompositionEvent> | undefined;
673
- "on:contextmenu"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
674
- "on:copy"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
675
- "on:cuechange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
676
- "on:cut"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
677
- "on:dblclick"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
678
- "on:drag"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
679
- "on:dragend"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
680
- "on:dragenter"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
681
- "on:dragexit"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
682
- "on:dragleave"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
683
- "on:dragover"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
684
- "on:dragstart"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
685
- "on:drop"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
686
- "on:durationchange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
687
- "on:emptied"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
688
- "on:ended"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
689
- "on:error"?: EventHandlerWithOptionsUnion<T, ErrorEvent> | undefined;
690
- "on:focus"?:
691
- | EventHandlerWithOptionsUnion<T, FocusEvent, FocusEventHandler<T, FocusEvent>>
692
- | undefined;
693
- "on:focusin"?:
694
- | EventHandlerWithOptionsUnion<T, FocusEvent, FocusEventHandler<T, FocusEvent>>
695
- | undefined;
696
- "on:focusout"?:
697
- | EventHandlerWithOptionsUnion<T, FocusEvent, FocusEventHandler<T, FocusEvent>>
698
- | undefined;
699
- "on:gotpointercapture"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
700
- "on:input"?:
701
- | EventHandlerWithOptionsUnion<T, InputEvent, InputEventHandler<T, InputEvent>>
702
- | undefined;
703
- "on:invalid"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
704
- "on:keydown"?: EventHandlerWithOptionsUnion<T, KeyboardEvent> | undefined;
705
- "on:keypress"?: EventHandlerWithOptionsUnion<T, KeyboardEvent> | undefined;
706
- "on:keyup"?: EventHandlerWithOptionsUnion<T, KeyboardEvent> | undefined;
707
- "on:load"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
708
- "on:loadeddata"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
709
- "on:loadedmetadata"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
710
- "on:loadstart"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
711
- "on:lostpointercapture"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
712
- "on:mousedown"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
713
- "on:mouseenter"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
714
- "on:mouseleave"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
715
- "on:mousemove"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
716
- "on:mouseout"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
717
- "on:mouseover"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
718
- "on:mouseup"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
719
- "on:paste"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
720
- "on:pause"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
721
- "on:play"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
722
- "on:playing"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
723
- "on:pointercancel"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
724
- "on:pointerdown"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
725
- "on:pointerenter"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
726
- "on:pointerleave"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
727
- "on:pointermove"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
728
- "on:pointerout"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
729
- "on:pointerover"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
730
- "on:pointerup"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
731
- "on:progress"?: EventHandlerWithOptionsUnion<T, ProgressEvent> | undefined;
732
- "on:ratechange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
733
- "on:reset"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
734
- "on:resize"?: EventHandlerWithOptionsUnion<T, UIEvent> | undefined;
735
- "on:scroll"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
736
- "on:scrollend"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
737
- "on:securitypolicyviolation"?:
738
- | EventHandlerWithOptionsUnion<T, SecurityPolicyViolationEvent>
739
- | undefined;
740
- "on:seeked"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
741
- "on:seeking"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
742
- "on:select"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
743
- "on:selectionchange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
744
- "on:slotchange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
745
- "on:stalled"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
746
- "on:submit"?: EventHandlerWithOptionsUnion<T, SubmitEvent> | undefined;
747
- "on:suspend"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
748
- "on:timeupdate"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
749
- "on:toggle"?: EventHandlerWithOptionsUnion<T, ToggleEvent> | undefined;
750
- "on:touchcancel"?: EventHandlerWithOptionsUnion<T, TouchEvent> | undefined;
751
- "on:touchend"?: EventHandlerWithOptionsUnion<T, TouchEvent> | undefined;
752
- "on:touchmove"?: EventHandlerWithOptionsUnion<T, TouchEvent> | undefined;
753
- "on:touchstart"?: EventHandlerWithOptionsUnion<T, TouchEvent> | undefined;
754
- "on:transitioncancel"?: EventHandlerWithOptionsUnion<T, TransitionEvent> | undefined;
755
- "on:transitionend"?: EventHandlerWithOptionsUnion<T, TransitionEvent> | undefined;
756
- "on:transitionrun"?: EventHandlerWithOptionsUnion<T, TransitionEvent> | undefined;
757
- "on:transitionstart"?: EventHandlerWithOptionsUnion<T, TransitionEvent> | undefined;
758
- "on:volumechange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
759
- "on:waiting"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
760
- "on:wheel"?: EventHandlerWithOptionsUnion<T, WheelEvent> | undefined;
761
- }
762
-
763
- interface DOMAttributes<T>
764
- extends CustomAttributes<T>,
765
- DirectiveAttributes,
766
- DirectiveFunctionAttributes<T>,
767
- PropAttributes,
768
- AttrAttributes,
769
- BoolAttributes,
770
- OnAttributes<T>,
771
- CustomEventHandlersCamelCase<T>,
772
- CustomEventHandlersLowerCase<T>,
773
- CustomEventHandlersNamespaced<T> {
774
- children?: Element | undefined;
775
- innerHTML?: string;
776
- innerText?: string | number;
777
- textContent?: string | number;
778
- }
779
-
780
- interface CSSProperties extends csstype.PropertiesHyphen {
781
- // Override
782
- [key: `-${string}`]: string | number | undefined;
783
- }
291
+ // BOOLEAN
784
292
 
785
293
  /**
786
294
  * Boolean and Pseudo-Boolean Attributes Helpers.
@@ -797,50 +305,7 @@ export namespace JSX {
797
305
 
798
306
  type RemoveAttribute = undefined | false;
799
307
 
800
- /** Enumerated Attributes */
801
- type HTMLAutocapitalize = "off" | "none" | "on" | "sentences" | "words" | "characters";
802
- type HTMLDir = "ltr" | "rtl" | "auto";
803
- type HTMLFormEncType = "application/x-www-form-urlencoded" | "multipart/form-data" | "text/plain";
804
- type HTMLFormMethod = "post" | "get" | "dialog";
805
- type HTMLCrossorigin = "anonymous" | "use-credentials" | EnumeratedAcceptsEmpty;
806
- type HTMLReferrerPolicy =
807
- | "no-referrer"
808
- | "no-referrer-when-downgrade"
809
- | "origin"
810
- | "origin-when-cross-origin"
811
- | "same-origin"
812
- | "strict-origin"
813
- | "strict-origin-when-cross-origin"
814
- | "unsafe-url";
815
- type HTMLIframeSandbox =
816
- | "allow-downloads-without-user-activation"
817
- | "allow-downloads"
818
- | "allow-forms"
819
- | "allow-modals"
820
- | "allow-orientation-lock"
821
- | "allow-pointer-lock"
822
- | "allow-popups"
823
- | "allow-popups-to-escape-sandbox"
824
- | "allow-presentation"
825
- | "allow-same-origin"
826
- | "allow-scripts"
827
- | "allow-storage-access-by-user-activation"
828
- | "allow-top-navigation"
829
- | "allow-top-navigation-by-user-activation"
830
- | "allow-top-navigation-to-custom-protocols";
831
- type HTMLLinkAs =
832
- | "audio"
833
- | "document"
834
- | "embed"
835
- | "fetch"
836
- | "font"
837
- | "image"
838
- | "object"
839
- | "script"
840
- | "style"
841
- | "track"
842
- | "video"
843
- | "worker";
308
+ // ARIA
844
309
 
845
310
  // All the WAI-ARIA 1.1 attributes from https://www.w3.org/TR/wai-aria-1.1/
846
311
  interface AriaAttributes {
@@ -1225,36 +690,424 @@ export namespace JSX {
1225
690
  | RemoveAttribute;
1226
691
  }
1227
692
 
1228
- // TODO: Should we allow this?
1229
- // type ClassKeys = `class:${string}`;
1230
- // type CSSKeys = Exclude<keyof csstype.PropertiesHyphen, `-${string}`>;
693
+ // EVENTS
694
+
695
+ /**
696
+ * `Window` events, defined for `<body>`, `<svg>`, `<frameset>` tags.
697
+ *
698
+ * Excluding `EventHandlersElement` events already defined as globals that all tags share, such as
699
+ * `onblur`.
700
+ */
701
+ interface EventHandlersWindow<T> {
702
+ onAfterPrint?: EventHandlerUnion<T, Event> | undefined;
703
+ onBeforePrint?: EventHandlerUnion<T, Event> | undefined;
704
+ onBeforeUnload?: EventHandlerUnion<T, BeforeUnloadEvent> | undefined;
705
+ onGamepadConnected?: EventHandlerUnion<T, GamepadEvent> | undefined;
706
+ onGamepadDisconnected?: EventHandlerUnion<T, GamepadEvent> | undefined;
707
+ onHashchange?: EventHandlerUnion<T, HashChangeEvent> | undefined;
708
+ onLanguageChange?: EventHandlerUnion<T, Event> | undefined;
709
+ onMessage?: EventHandlerUnion<T, MessageEvent> | undefined;
710
+ onMessageError?: EventHandlerUnion<T, MessageEvent> | undefined;
711
+ onOffline?: EventHandlerUnion<T, Event> | undefined;
712
+ onOnline?: EventHandlerUnion<T, Event> | undefined;
713
+ onPageHide?: EventHandlerUnion<T, PageTransitionEvent> | undefined;
714
+ // TODO `PageRevealEvent` is currently undefined on TS
715
+ onPageReveal?: EventHandlerUnion<T, Event> | undefined;
716
+ onPageShow?: EventHandlerUnion<T, PageTransitionEvent> | undefined;
717
+ // TODO `PageSwapEvent` is currently undefined on TS
718
+ onPageSwap?: EventHandlerUnion<T, Event> | undefined;
719
+ onPopstate?: EventHandlerUnion<T, PopStateEvent> | undefined;
720
+ onRejectionHandled?: EventHandlerUnion<T, PromiseRejectionEvent> | undefined;
721
+ onStorage?: EventHandlerUnion<T, StorageEvent> | undefined;
722
+ onUnhandledRejection?: EventHandlerUnion<T, PromiseRejectionEvent> | undefined;
723
+ onUnload?: EventHandlerUnion<T, Event> | undefined;
724
+
725
+ "on:afterprint"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
726
+ "on:beforeprint"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
727
+ "on:beforeunload"?: EventHandlerWithOptionsUnion<T, BeforeUnloadEvent> | undefined;
728
+ "on:gamepadconnected"?: EventHandlerWithOptionsUnion<T, GamepadEvent> | undefined;
729
+ "on:gamepaddisconnected"?: EventHandlerWithOptionsUnion<T, GamepadEvent> | undefined;
730
+ "on:hashchange"?: EventHandlerWithOptionsUnion<T, HashChangeEvent> | undefined;
731
+ "on:languagechange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
732
+ "on:message"?: EventHandlerWithOptionsUnion<T, MessageEvent> | undefined;
733
+ "on:messageerror"?: EventHandlerWithOptionsUnion<T, MessageEvent> | undefined;
734
+ "on:offline"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
735
+ "on:online"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
736
+ "on:pagehide"?: EventHandlerWithOptionsUnion<T, PageTransitionEvent> | undefined;
737
+ // TODO `PageRevealEvent` is currently undefined in TS
738
+ "on:pagereveal"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
739
+ "on:pageshow"?: EventHandlerWithOptionsUnion<T, PageTransitionEvent> | undefined;
740
+ // TODO `PageSwapEvent` is currently undefined in TS
741
+ "on:pageswap"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
742
+ "on:popstate"?: EventHandlerWithOptionsUnion<T, PopStateEvent> | undefined;
743
+ "on:rejectionhandled"?: EventHandlerWithOptionsUnion<T, PromiseRejectionEvent> | undefined;
744
+ "on:storage"?: EventHandlerWithOptionsUnion<T, StorageEvent> | undefined;
745
+ "on:unhandledrejection"?: EventHandlerWithOptionsUnion<T, PromiseRejectionEvent> | undefined;
746
+ "on:unload"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
747
+ }
748
+
749
+ /**
750
+ * Global `EventHandlersElement`, defined for all tags.
751
+ *
752
+ * That's events defined and shared BY ALL of the `HTMLElement/SVGElement/MathMLElement`
753
+ * interfaces.
754
+ *
755
+ * Includes events defined for the `Element` interface.
756
+ */
757
+ interface EventHandlersElement<T> {
758
+ onAbort?: EventHandlerUnion<T, UIEvent> | undefined;
759
+ onAnimationCancel?: EventHandlerUnion<T, AnimationEvent> | undefined;
760
+ onAnimationEnd?: EventHandlerUnion<T, AnimationEvent> | undefined;
761
+ onAnimationIteration?: EventHandlerUnion<T, AnimationEvent> | undefined;
762
+ onAnimationStart?: EventHandlerUnion<T, AnimationEvent> | undefined;
763
+ onAuxClick?: EventHandlerUnion<T, PointerEvent> | undefined;
764
+ onBeforeCopy?: EventHandlerUnion<T, ClipboardEvent> | undefined;
765
+ onBeforeCut?: EventHandlerUnion<T, ClipboardEvent> | undefined;
766
+ onBeforeInput?: InputEventHandlerUnion<T, InputEvent> | undefined;
767
+ onBeforeMatch?: EventHandlerUnion<T, Event> | undefined;
768
+ onBeforePaste?: EventHandlerUnion<T, ClipboardEvent> | undefined;
769
+ onBeforeToggle?: EventHandlerUnion<T, ToggleEvent> | undefined;
770
+ onBeforeXRSelect?: EventHandlerUnion<T, Event> | undefined;
771
+ onBlur?: FocusEventHandlerUnion<T, FocusEvent> | undefined;
772
+ onCancel?: EventHandlerUnion<T, Event> | undefined;
773
+ onCanPlay?: EventHandlerUnion<T, Event> | undefined;
774
+ onCanPlayThrough?: EventHandlerUnion<T, Event> | undefined;
775
+ onChange?: ChangeEventHandlerUnion<T, Event> | undefined;
776
+ onClick?: EventHandlerUnion<T, MouseEvent> | undefined;
777
+ onClose?: EventHandlerUnion<T, Event> | undefined;
778
+ // TODO `CommandEvent` is currently undefined in TS
779
+ onCommand?: EventHandlerUnion<T, Event> | undefined;
780
+ onCompositionEnd?: EventHandlerUnion<T, CompositionEvent> | undefined;
781
+ onCompositionStart?: EventHandlerUnion<T, CompositionEvent> | undefined;
782
+ onCompositionUpdate?: EventHandlerUnion<T, CompositionEvent> | undefined;
783
+ onContentVisibilityAutoStateChange?:
784
+ | EventHandlerUnion<T, ContentVisibilityAutoStateChangeEvent>
785
+ | undefined;
786
+ onContextLost?: EventHandlerUnion<T, Event> | undefined;
787
+ onContextMenu?: EventHandlerUnion<T, PointerEvent> | undefined;
788
+ onContextRestored?: EventHandlerUnion<T, Event> | undefined;
789
+ onCopy?: EventHandlerUnion<T, ClipboardEvent> | undefined;
790
+ onCueChange?: EventHandlerUnion<T, Event> | undefined;
791
+ onCut?: EventHandlerUnion<T, ClipboardEvent> | undefined;
792
+ onDblClick?: EventHandlerUnion<T, MouseEvent> | undefined;
793
+ onDrag?: EventHandlerUnion<T, DragEvent> | undefined;
794
+ onDragEnd?: EventHandlerUnion<T, DragEvent> | undefined;
795
+ onDragEnter?: EventHandlerUnion<T, DragEvent> | undefined;
796
+ onDragExit?: EventHandlerUnion<T, DragEvent> | undefined;
797
+ onDragLeave?: EventHandlerUnion<T, DragEvent> | undefined;
798
+ onDragOver?: EventHandlerUnion<T, DragEvent> | undefined;
799
+ onDragStart?: EventHandlerUnion<T, DragEvent> | undefined;
800
+ onDrop?: EventHandlerUnion<T, DragEvent> | undefined;
801
+ onDurationChange?: EventHandlerUnion<T, Event> | undefined;
802
+ onEmptied?: EventHandlerUnion<T, Event> | undefined;
803
+ onEnded?: EventHandlerUnion<T, Event> | undefined;
804
+ onError?: EventHandlerUnion<T, ErrorEvent> | undefined;
805
+ onFocus?: FocusEventHandlerUnion<T, FocusEvent> | undefined;
806
+ onFocusIn?: FocusEventHandlerUnion<T, FocusEvent> | undefined;
807
+ onFocusOut?: FocusEventHandlerUnion<T, FocusEvent> | undefined;
808
+ onFormData?: EventHandlerUnion<T, FormDataEvent> | undefined;
809
+ onFullscreenChange?: EventHandlerUnion<T, Event> | undefined;
810
+ onFullscreenError?: EventHandlerUnion<T, Event> | undefined;
811
+ onGotPointerCapture?: EventHandlerUnion<T, PointerEvent> | undefined;
812
+ onInput?: InputEventHandlerUnion<T, InputEvent> | undefined;
813
+ onInvalid?: EventHandlerUnion<T, Event> | undefined;
814
+ onKeyDown?: EventHandlerUnion<T, KeyboardEvent> | undefined;
815
+ onKeyPress?: EventHandlerUnion<T, KeyboardEvent> | undefined;
816
+ onKeyUp?: EventHandlerUnion<T, KeyboardEvent> | undefined;
817
+ onLoad?: EventHandlerUnion<T, Event> | undefined;
818
+ onLoadedData?: EventHandlerUnion<T, Event> | undefined;
819
+ onLoadedMetadata?: EventHandlerUnion<T, Event> | undefined;
820
+ onLoadStart?: EventHandlerUnion<T, Event> | undefined;
821
+ onLostPointerCapture?: EventHandlerUnion<T, PointerEvent> | undefined;
822
+ onMouseDown?: EventHandlerUnion<T, MouseEvent> | undefined;
823
+ onMouseEnter?: EventHandlerUnion<T, MouseEvent> | undefined;
824
+ onMouseLeave?: EventHandlerUnion<T, MouseEvent> | undefined;
825
+ onMouseMove?: EventHandlerUnion<T, MouseEvent> | undefined;
826
+ onMouseOut?: EventHandlerUnion<T, MouseEvent> | undefined;
827
+ onMouseOver?: EventHandlerUnion<T, MouseEvent> | undefined;
828
+ onMouseUp?: EventHandlerUnion<T, MouseEvent> | undefined;
829
+ onPaste?: EventHandlerUnion<T, ClipboardEvent> | undefined;
830
+ onPause?: EventHandlerUnion<T, Event> | undefined;
831
+ onPlay?: EventHandlerUnion<T, Event> | undefined;
832
+ onPlaying?: EventHandlerUnion<T, Event> | undefined;
833
+ onPointerCancel?: EventHandlerUnion<T, PointerEvent> | undefined;
834
+ onPointerDown?: EventHandlerUnion<T, PointerEvent> | undefined;
835
+ onPointerEnter?: EventHandlerUnion<T, PointerEvent> | undefined;
836
+ onPointerLeave?: EventHandlerUnion<T, PointerEvent> | undefined;
837
+ onPointerMove?: EventHandlerUnion<T, PointerEvent> | undefined;
838
+ onPointerOut?: EventHandlerUnion<T, PointerEvent> | undefined;
839
+ onPointerOver?: EventHandlerUnion<T, PointerEvent> | undefined;
840
+ onPointerRawUpdate?: EventHandlerUnion<T, PointerEvent> | undefined;
841
+ onPointerUp?: EventHandlerUnion<T, PointerEvent> | undefined;
842
+ onProgress?: EventHandlerUnion<T, ProgressEvent> | undefined;
843
+ onRateChange?: EventHandlerUnion<T, Event> | undefined;
844
+ onReset?: EventHandlerUnion<T, Event> | undefined;
845
+ onResize?: EventHandlerUnion<T, UIEvent> | undefined;
846
+ onScroll?: EventHandlerUnion<T, Event> | undefined;
847
+ onScrollEnd?: EventHandlerUnion<T, Event> | undefined;
848
+ // todo `SnapEvent` is currently undefined in TS
849
+ onScrollSnapChange?: EventHandlerUnion<T, Event> | undefined;
850
+ // todo `SnapEvent` is currently undefined in TS
851
+ onScrollSnapChanging?: EventHandlerUnion<T, Event> | undefined;
852
+ onSecurityPolicyViolation?: EventHandlerUnion<T, SecurityPolicyViolationEvent> | undefined;
853
+ onSeeked?: EventHandlerUnion<T, Event> | undefined;
854
+ onSeeking?: EventHandlerUnion<T, Event> | undefined;
855
+ onSelect?: EventHandlerUnion<T, Event> | undefined;
856
+ onSelectionChange?: EventHandlerUnion<T, Event> | undefined;
857
+ onSelectStart?: EventHandlerUnion<T, Event> | undefined;
858
+ onSlotChange?: EventHandlerUnion<T, Event> | undefined;
859
+ onStalled?: EventHandlerUnion<T, Event> | undefined;
860
+ onSubmit?: EventHandlerUnion<T, SubmitEvent> | undefined;
861
+ onSuspend?: EventHandlerUnion<T, Event> | undefined;
862
+ onTimeUpdate?: EventHandlerUnion<T, Event> | undefined;
863
+ onToggle?: EventHandlerUnion<T, ToggleEvent> | undefined;
864
+ onTouchCancel?: EventHandlerUnion<T, TouchEvent> | undefined;
865
+ onTouchEnd?: EventHandlerUnion<T, TouchEvent> | undefined;
866
+ onTouchMove?: EventHandlerUnion<T, TouchEvent> | undefined;
867
+ onTouchStart?: EventHandlerUnion<T, TouchEvent> | undefined;
868
+ onTransitionCancel?: EventHandlerUnion<T, TransitionEvent> | undefined;
869
+ onTransitionEnd?: EventHandlerUnion<T, TransitionEvent> | undefined;
870
+ onTransitionRun?: EventHandlerUnion<T, TransitionEvent> | undefined;
871
+ onTransitionStart?: EventHandlerUnion<T, TransitionEvent> | undefined;
872
+ onVolumeChange?: EventHandlerUnion<T, Event> | undefined;
873
+ onWaiting?: EventHandlerUnion<T, Event> | undefined;
874
+ onWheel?: EventHandlerUnion<T, WheelEvent> | undefined;
875
+
876
+ "on:abort"?: EventHandlerWithOptionsUnion<T, UIEvent> | undefined;
877
+ "on:animationcancel"?: EventHandlerWithOptionsUnion<T, AnimationEvent> | undefined;
878
+ "on:animationend"?: EventHandlerWithOptionsUnion<T, AnimationEvent> | undefined;
879
+ "on:animationiteration"?: EventHandlerWithOptionsUnion<T, AnimationEvent> | undefined;
880
+ "on:animationstart"?: EventHandlerWithOptionsUnion<T, AnimationEvent> | undefined;
881
+ "on:auxclick"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
882
+ "on:beforecopy"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
883
+ "on:beforecut"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
884
+ "on:beforeinput"?:
885
+ | EventHandlerWithOptionsUnion<T, InputEvent, InputEventHandler<T, InputEvent>>
886
+ | undefined;
887
+ "on:beforematch"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
888
+ "on:beforepaste"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
889
+ "on:beforetoggle"?: EventHandlerWithOptionsUnion<T, ToggleEvent> | undefined;
890
+ "on:beforexrselect"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
891
+ "on:blur"?:
892
+ | EventHandlerWithOptionsUnion<T, FocusEvent, FocusEventHandler<T, FocusEvent>>
893
+ | undefined;
894
+ "on:cancel"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
895
+ "on:canplay"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
896
+ "on:canplaythrough"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
897
+ "on:change"?: EventHandlerWithOptionsUnion<T, Event, ChangeEventHandler<T, Event>> | undefined;
898
+ "on:click"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
899
+ "on:close"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
900
+ // TODO `CommandEvent` is currently undefined in TS
901
+ "on:command"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
902
+ "on:compositionend"?: EventHandlerWithOptionsUnion<T, CompositionEvent> | undefined;
903
+ "on:compositionstart"?: EventHandlerWithOptionsUnion<T, CompositionEvent> | undefined;
904
+ "on:compositionupdate"?: EventHandlerWithOptionsUnion<T, CompositionEvent> | undefined;
905
+ "on:contentvisibilityautostatechange"?:
906
+ | EventHandlerWithOptionsUnion<T, ContentVisibilityAutoStateChangeEvent>
907
+ | undefined;
908
+ "on:contextlost"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
909
+ "on:contextmenu"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
910
+ "on:contextrestored"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
911
+ "on:copy"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
912
+ "on:cuechange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
913
+ "on:cut"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
914
+ "on:dblclick"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
915
+ "on:drag"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
916
+ "on:dragend"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
917
+ "on:dragenter"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
918
+ "on:dragexit"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
919
+ "on:dragleave"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
920
+ "on:dragover"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
921
+ "on:dragstart"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
922
+ "on:drop"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
923
+ "on:durationchange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
924
+ "on:emptied"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
925
+ "on:ended"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
926
+ "on:error"?: EventHandlerWithOptionsUnion<T, ErrorEvent> | undefined;
927
+ "on:focus"?:
928
+ | EventHandlerWithOptionsUnion<T, FocusEvent, FocusEventHandler<T, FocusEvent>>
929
+ | undefined;
930
+ "on:focusin"?:
931
+ | EventHandlerWithOptionsUnion<T, FocusEvent, FocusEventHandler<T, FocusEvent>>
932
+ | undefined;
933
+ "on:focusout"?:
934
+ | EventHandlerWithOptionsUnion<T, FocusEvent, FocusEventHandler<T, FocusEvent>>
935
+ | undefined;
936
+ "on:formdata"?: EventHandlerWithOptionsUnion<T, FormDataEvent> | undefined;
937
+ "on:fullscreenchange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
938
+ "on:fullscreenerror"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
939
+ "on:gotpointercapture"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
940
+ "on:input"?:
941
+ | EventHandlerWithOptionsUnion<T, InputEvent, InputEventHandler<T, InputEvent>>
942
+ | undefined;
943
+ "on:invalid"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
944
+ "on:keydown"?: EventHandlerWithOptionsUnion<T, KeyboardEvent> | undefined;
945
+ "on:keypress"?: EventHandlerWithOptionsUnion<T, KeyboardEvent> | undefined;
946
+ "on:keyup"?: EventHandlerWithOptionsUnion<T, KeyboardEvent> | undefined;
947
+ "on:load"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
948
+ "on:loadeddata"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
949
+ "on:loadedmetadata"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
950
+ "on:loadstart"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
951
+ "on:lostpointercapture"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
952
+ "on:mousedown"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
953
+ "on:mouseenter"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
954
+ "on:mouseleave"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
955
+ "on:mousemove"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
956
+ "on:mouseout"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
957
+ "on:mouseover"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
958
+ "on:mouseup"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
959
+ "on:paste"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
960
+ "on:pause"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
961
+ "on:play"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
962
+ "on:playing"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
963
+ "on:pointercancel"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
964
+ "on:pointerdown"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
965
+ "on:pointerenter"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
966
+ "on:pointerleave"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
967
+ "on:pointermove"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
968
+ "on:pointerout"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
969
+ "on:pointerover"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
970
+ "on:pointerrawupdate"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
971
+ "on:pointerup"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
972
+ "on:progress"?: EventHandlerWithOptionsUnion<T, ProgressEvent> | undefined;
973
+ "on:ratechange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
974
+ "on:reset"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
975
+ "on:resize"?: EventHandlerWithOptionsUnion<T, UIEvent> | undefined;
976
+ "on:scroll"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
977
+ "on:scrollend"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
978
+ // todo `SnapEvent` is currently undefined in TS
979
+ "on:scrollsnapchange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
980
+ // todo `SnapEvent` is currently undefined in TS
981
+ "on:scrollsnapchanging"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
982
+ "on:securitypolicyviolation"?:
983
+ | EventHandlerWithOptionsUnion<T, SecurityPolicyViolationEvent>
984
+ | undefined;
985
+ "on:seeked"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
986
+ "on:seeking"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
987
+ "on:select"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
988
+ "on:selectionchange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
989
+ "on:selectstart"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
990
+ "on:slotchange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
991
+ "on:stalled"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
992
+ "on:submit"?: EventHandlerWithOptionsUnion<T, SubmitEvent> | undefined;
993
+ "on:suspend"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
994
+ "on:timeupdate"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
995
+ "on:toggle"?: EventHandlerWithOptionsUnion<T, ToggleEvent> | undefined;
996
+ "on:touchcancel"?: EventHandlerWithOptionsUnion<T, TouchEvent> | undefined;
997
+ "on:touchend"?: EventHandlerWithOptionsUnion<T, TouchEvent> | undefined;
998
+ "on:touchmove"?: EventHandlerWithOptionsUnion<T, TouchEvent> | undefined;
999
+ "on:touchstart"?: EventHandlerWithOptionsUnion<T, TouchEvent> | undefined;
1000
+ "on:transitioncancel"?: EventHandlerWithOptionsUnion<T, TransitionEvent> | undefined;
1001
+ "on:transitionend"?: EventHandlerWithOptionsUnion<T, TransitionEvent> | undefined;
1002
+ "on:transitionrun"?: EventHandlerWithOptionsUnion<T, TransitionEvent> | undefined;
1003
+ "on:transitionstart"?: EventHandlerWithOptionsUnion<T, TransitionEvent> | undefined;
1004
+ "on:volumechange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
1005
+ "on:waiting"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
1006
+ "on:wheel"?: EventHandlerWithOptionsUnion<T, WheelEvent> | undefined;
1007
+ }
1231
1008
 
1232
- // type CSSAttributes = {
1233
- // [key in CSSKeys as `style:${key}`]: csstype.PropertiesHyphen[key];
1234
- // };
1009
+ type EventType =
1010
+ | (keyof EventHandlersWindow<any> extends infer K
1011
+ ? K extends `on:${infer T}`
1012
+ ? T
1013
+ : K extends `on${infer T}`
1014
+ ? Lowercase<T>
1015
+ : never
1016
+ : never)
1017
+ | (keyof EventHandlersElement<any> extends infer K
1018
+ ? K extends `on:${infer T}`
1019
+ ? T
1020
+ : K extends `on${infer T}`
1021
+ ? Lowercase<T>
1022
+ : never
1023
+ : never)
1024
+ | (string & {});
1235
1025
 
1236
- interface HTMLAttributes<T> extends AriaAttributes, DOMAttributes<T> {
1026
+ // GLOBAL ATTRIBUTES
1027
+
1028
+ /**
1029
+ * Global `Element` + `Node` interface keys, shared by all tags regardless of their namespace:
1030
+ *
1031
+ * 1. That's `keys` that are defined BY ALL `HTMLElement/SVGElement/MathMLElement` interfaces.
1032
+ * 2. Includes `keys` defined by `Element` and `Node` interfaces.
1033
+ */
1034
+ interface ElementAttributes<T>
1035
+ extends CustomAttributes<T>,
1036
+ DirectiveAttributes,
1037
+ DirectiveFunctionAttributes<T>,
1038
+ PropAttributes,
1039
+ OnAttributes<T>,
1040
+ EventHandlersElement<T>,
1041
+ AriaAttributes {
1237
1042
  // [key: ClassKeys]: boolean;
1238
- about?: string | RemoveAttribute;
1043
+
1044
+ // properties
1045
+ innerHTML?: string;
1046
+ textContent?: string | number;
1047
+
1048
+ // attributes
1049
+ autofocus?: BooleanAttribute | RemoveAttribute;
1050
+ class?: string | ClassList | RemoveAttribute;
1051
+ elementtiming?: string | RemoveAttribute;
1052
+ id?: string | RemoveAttribute;
1053
+ nonce?: string | RemoveAttribute;
1054
+ part?: string | RemoveAttribute;
1055
+ slot?: string | RemoveAttribute;
1056
+ style?: CSSProperties | string | RemoveAttribute;
1057
+ tabindex?: number | string | RemoveAttribute;
1058
+ }
1059
+ /** Global `SVGElement` interface keys only. */
1060
+ interface SVGAttributes<T> extends ElementAttributes<T> {
1061
+ id?: string | RemoveAttribute;
1062
+ lang?: string | RemoveAttribute;
1063
+ tabindex?: number | string | RemoveAttribute;
1064
+ xmlns?: string | RemoveAttribute;
1065
+ }
1066
+ /** Global `MathMLElement` interface keys only. */
1067
+ interface MathMLAttributes<T> extends ElementAttributes<T> {
1068
+ dir?: HTMLDir | RemoveAttribute;
1069
+ displaystyle?: BooleanAttribute | RemoveAttribute;
1070
+ scriptlevel?: string | RemoveAttribute;
1071
+ xmlns?: string | RemoveAttribute;
1072
+
1073
+ /** @deprecated */
1074
+ href?: string | RemoveAttribute;
1075
+ /** @deprecated */
1076
+ mathbackground?: string | RemoveAttribute;
1077
+ /** @deprecated */
1078
+ mathcolor?: string | RemoveAttribute;
1079
+ /** @deprecated */
1080
+ mathsize?: string | RemoveAttribute;
1081
+ }
1082
+ /** Global `HTMLElement` interface keys only. */
1083
+ interface HTMLAttributes<T> extends ElementAttributes<T> {
1084
+ // properties
1085
+ innerText?: string | number;
1086
+
1087
+ // attributes
1239
1088
  accesskey?: string | RemoveAttribute;
1240
1089
  autocapitalize?: HTMLAutocapitalize | RemoveAttribute;
1241
- class?: string | ClassList | RemoveAttribute;
1242
- color?: string | RemoveAttribute;
1090
+ autocorrect?: "on" | "off" | RemoveAttribute;
1243
1091
  contenteditable?:
1244
1092
  | EnumeratedPseudoBoolean
1245
1093
  | EnumeratedAcceptsEmpty
1246
1094
  | "plaintext-only"
1247
1095
  | "inherit"
1248
1096
  | RemoveAttribute;
1249
- contextmenu?: string | RemoveAttribute;
1250
- datatype?: string | RemoveAttribute;
1251
1097
  dir?: HTMLDir | RemoveAttribute;
1252
1098
  draggable?: EnumeratedPseudoBoolean | RemoveAttribute;
1099
+ enterkeyhint?:
1100
+ | "enter"
1101
+ | "done"
1102
+ | "go"
1103
+ | "next"
1104
+ | "previous"
1105
+ | "search"
1106
+ | "send"
1107
+ | RemoveAttribute;
1253
1108
  exportparts?: string | RemoveAttribute;
1254
1109
  hidden?: EnumeratedAcceptsEmpty | "hidden" | "until-found" | RemoveAttribute;
1255
- id?: string | RemoveAttribute;
1256
1110
  inert?: BooleanAttribute | RemoveAttribute;
1257
- inlist?: any | RemoveAttribute;
1258
1111
  inputmode?:
1259
1112
  | "decimal"
1260
1113
  | "email"
@@ -1266,60 +1119,148 @@ export namespace JSX {
1266
1119
  | "url"
1267
1120
  | RemoveAttribute;
1268
1121
  is?: string | RemoveAttribute;
1122
+ lang?: string | RemoveAttribute;
1123
+ popover?: EnumeratedAcceptsEmpty | "manual" | "auto" | RemoveAttribute;
1124
+ spellcheck?: EnumeratedPseudoBoolean | EnumeratedAcceptsEmpty | RemoveAttribute;
1125
+ title?: string | RemoveAttribute;
1126
+ translate?: "yes" | "no" | RemoveAttribute;
1127
+
1128
+ /** @experimental */
1129
+ virtualkeyboardpolicy?: EnumeratedAcceptsEmpty | "auto" | "manual" | RemoveAttribute;
1130
+ /** @experimental */
1131
+ writingsuggestions?: EnumeratedPseudoBoolean | RemoveAttribute;
1132
+
1133
+ // Microdata
1269
1134
  itemid?: string | RemoveAttribute;
1270
1135
  itemprop?: string | RemoveAttribute;
1271
1136
  itemref?: string | RemoveAttribute;
1272
1137
  itemscope?: BooleanAttribute | RemoveAttribute;
1273
1138
  itemtype?: string | RemoveAttribute;
1274
- lang?: string | RemoveAttribute;
1275
- part?: string | RemoveAttribute;
1276
- popover?: EnumeratedAcceptsEmpty | "manual" | "auto" | RemoveAttribute;
1139
+
1140
+ // RDFa Attributes
1141
+ about?: string | RemoveAttribute;
1142
+ datatype?: string | RemoveAttribute;
1143
+ inlist?: any | RemoveAttribute;
1277
1144
  prefix?: string | RemoveAttribute;
1278
1145
  property?: string | RemoveAttribute;
1279
1146
  resource?: string | RemoveAttribute;
1280
- slot?: string | RemoveAttribute;
1281
- spellcheck?: EnumeratedPseudoBoolean | EnumeratedAcceptsEmpty | RemoveAttribute;
1282
- style?: CSSProperties | string | RemoveAttribute;
1283
- tabindex?: number | string | RemoveAttribute;
1284
- title?: string | RemoveAttribute;
1285
- translate?: "yes" | "no" | RemoveAttribute;
1286
1147
  typeof?: string | RemoveAttribute;
1287
1148
  vocab?: string | RemoveAttribute;
1288
1149
 
1289
- /** @deprecated Use lowercase attributes */
1290
- accessKey?: string | RemoveAttribute;
1291
- /** @deprecated Use lowercase attributes */
1292
- autoCapitalize?: HTMLAutocapitalize | RemoveAttribute;
1293
- /** @deprecated Use lowercase attributes */
1294
- contentEditable?: EnumeratedPseudoBoolean | "plaintext-only" | "inherit" | RemoveAttribute;
1295
- /** @deprecated Use lowercase attributes */
1296
- contextMenu?: string | RemoveAttribute;
1297
- /** @deprecated Use lowercase attributes */
1298
- exportParts?: string | RemoveAttribute;
1299
- /** @deprecated Use lowercase attributes */
1300
- inputMode?:
1301
- | "none"
1302
- | "text"
1303
- | "tel"
1304
- | "url"
1305
- | "email"
1306
- | "numeric"
1307
- | "decimal"
1308
- | "search"
1309
- | RemoveAttribute;
1310
- /** @deprecated Use lowercase attributes */
1311
- itemId?: string | RemoveAttribute;
1312
- /** @deprecated Use lowercase attributes */
1313
- itemProp?: string | RemoveAttribute;
1314
- /** @deprecated Use lowercase attributes */
1315
- itemRef?: string | RemoveAttribute;
1316
- /** @deprecated Use lowercase attributes */
1317
- itemScope?: BooleanAttribute | RemoveAttribute;
1318
- /** @deprecated Use lowercase attributes */
1319
- itemType?: string | RemoveAttribute;
1320
- /** @deprecated Use lowercase attributes */
1321
- tabIndex?: number | string | RemoveAttribute;
1150
+ /** @deprecated */
1151
+ contextmenu?: string | RemoveAttribute;
1322
1152
  }
1153
+
1154
+ // HTML
1155
+
1156
+ type HTMLAutocapitalize = "off" | "none" | "on" | "sentences" | "words" | "characters";
1157
+ type HTMLAutocomplete =
1158
+ | "additional-name"
1159
+ | "address-level1"
1160
+ | "address-level2"
1161
+ | "address-level3"
1162
+ | "address-level4"
1163
+ | "address-line1"
1164
+ | "address-line2"
1165
+ | "address-line3"
1166
+ | "bday"
1167
+ | "bday-day"
1168
+ | "bday-month"
1169
+ | "bday-year"
1170
+ | "billing"
1171
+ | "cc-additional-name"
1172
+ | "cc-csc"
1173
+ | "cc-exp"
1174
+ | "cc-exp-month"
1175
+ | "cc-exp-year"
1176
+ | "cc-family-name"
1177
+ | "cc-given-name"
1178
+ | "cc-name"
1179
+ | "cc-number"
1180
+ | "cc-type"
1181
+ | "country"
1182
+ | "country-name"
1183
+ | "current-password"
1184
+ | "email"
1185
+ | "family-name"
1186
+ | "fax"
1187
+ | "given-name"
1188
+ | "home"
1189
+ | "honorific-prefix"
1190
+ | "honorific-suffix"
1191
+ | "impp"
1192
+ | "language"
1193
+ | "mobile"
1194
+ | "name"
1195
+ | "new-password"
1196
+ | "nickname"
1197
+ | "off"
1198
+ | "on"
1199
+ | "organization"
1200
+ | "organization-title"
1201
+ | "pager"
1202
+ | "photo"
1203
+ | "postal-code"
1204
+ | "sex"
1205
+ | "shipping"
1206
+ | "street-address"
1207
+ | "tel"
1208
+ | "tel-area-code"
1209
+ | "tel-country-code"
1210
+ | "tel-extension"
1211
+ | "tel-local"
1212
+ | "tel-local-prefix"
1213
+ | "tel-local-suffix"
1214
+ | "tel-national"
1215
+ | "transaction-amount"
1216
+ | "transaction-currency"
1217
+ | "url"
1218
+ | "username"
1219
+ | "work"
1220
+ | (string & {});
1221
+ type HTMLDir = "ltr" | "rtl" | "auto";
1222
+ type HTMLFormEncType = "application/x-www-form-urlencoded" | "multipart/form-data" | "text/plain";
1223
+ type HTMLFormMethod = "post" | "get" | "dialog";
1224
+ type HTMLCrossorigin = "anonymous" | "use-credentials" | EnumeratedAcceptsEmpty;
1225
+ type HTMLReferrerPolicy =
1226
+ | "no-referrer"
1227
+ | "no-referrer-when-downgrade"
1228
+ | "origin"
1229
+ | "origin-when-cross-origin"
1230
+ | "same-origin"
1231
+ | "strict-origin"
1232
+ | "strict-origin-when-cross-origin"
1233
+ | "unsafe-url";
1234
+ type HTMLIframeSandbox =
1235
+ | "allow-downloads-without-user-activation"
1236
+ | "allow-downloads"
1237
+ | "allow-forms"
1238
+ | "allow-modals"
1239
+ | "allow-orientation-lock"
1240
+ | "allow-pointer-lock"
1241
+ | "allow-popups"
1242
+ | "allow-popups-to-escape-sandbox"
1243
+ | "allow-presentation"
1244
+ | "allow-same-origin"
1245
+ | "allow-scripts"
1246
+ | "allow-storage-access-by-user-activation"
1247
+ | "allow-top-navigation"
1248
+ | "allow-top-navigation-by-user-activation"
1249
+ | "allow-top-navigation-to-custom-protocols";
1250
+ type HTMLLinkAs =
1251
+ | "audio"
1252
+ | "document"
1253
+ | "embed"
1254
+ | "fetch"
1255
+ | "font"
1256
+ | "image"
1257
+ | "object"
1258
+ | "script"
1259
+ | "style"
1260
+ | "track"
1261
+ | "video"
1262
+ | "worker";
1263
+
1323
1264
  interface AnchorHTMLAttributes<T> extends HTMLAttributes<T> {
1324
1265
  download?: string | RemoveAttribute;
1325
1266
  href?: string | RemoveAttribute;
@@ -1333,9 +1274,6 @@ export namespace JSX {
1333
1274
  /** @experimental */
1334
1275
  attributionsrc?: string | RemoveAttribute;
1335
1276
 
1336
- /** @deprecated Use lowercase attributes */
1337
- referrerPolicy?: HTMLReferrerPolicy | RemoveAttribute;
1338
-
1339
1277
  /** @deprecated */
1340
1278
  charset?: string | RemoveAttribute;
1341
1279
  /** @deprecated */
@@ -1362,9 +1300,6 @@ export namespace JSX {
1362
1300
  /** @experimental */
1363
1301
  attributionsrc?: string | RemoveAttribute;
1364
1302
 
1365
- /** @deprecated Use lowercase attributes */
1366
- referrerPolicy?: HTMLReferrerPolicy | RemoveAttribute;
1367
-
1368
1303
  /** @deprecated */
1369
1304
  nohref?: BooleanAttribute | RemoveAttribute;
1370
1305
  }
@@ -1372,15 +1307,14 @@ export namespace JSX {
1372
1307
  href?: string | RemoveAttribute;
1373
1308
  target?: "_self" | "_blank" | "_parent" | "_top" | (string & {}) | RemoveAttribute;
1374
1309
  }
1310
+ interface BdoHTMLAttributes<T> extends HTMLAttributes<T> {
1311
+ dir?: "ltr" | "rtl" | RemoveAttribute;
1312
+ }
1375
1313
  interface BlockquoteHTMLAttributes<T> extends HTMLAttributes<T> {
1376
1314
  cite?: string | RemoveAttribute;
1377
1315
  }
1378
- interface BodyHTMLAttributes<T>
1379
- extends HTMLAttributes<T>,
1380
- WindowEventMap<T>,
1381
- ElementEventMap<T> {}
1316
+ interface BodyHTMLAttributes<T> extends HTMLAttributes<T>, EventHandlersWindow<T> {}
1382
1317
  interface ButtonHTMLAttributes<T> extends HTMLAttributes<T> {
1383
- autofocus?: BooleanAttribute | RemoveAttribute;
1384
1318
  disabled?: BooleanAttribute | RemoveAttribute;
1385
1319
  form?: string | RemoveAttribute;
1386
1320
  formaction?: string | SerializableAttributeValue | RemoveAttribute;
@@ -1405,36 +1339,11 @@ export namespace JSX {
1405
1339
  | RemoveAttribute;
1406
1340
  /** @experimental */
1407
1341
  commandfor?: string | RemoveAttribute;
1408
-
1409
- /** @deprecated Use lowercase attributes */
1410
- formAction?: string | SerializableAttributeValue | RemoveAttribute;
1411
- /** @deprecated Use lowercase attributes */
1412
- formEnctype?: HTMLFormEncType | RemoveAttribute;
1413
- /** @deprecated Use lowercase attributes */
1414
- formMethod?: HTMLFormMethod | RemoveAttribute;
1415
- /** @deprecated Use lowercase attributes */
1416
- formNoValidate?: boolean | RemoveAttribute;
1417
- /** @deprecated Use lowercase attributes */
1418
- formTarget?: string | RemoveAttribute;
1419
- /** @deprecated Use lowercase attributes */
1420
- popoverTarget?: string | RemoveAttribute;
1421
- /** @deprecated Use lowercase attributes */
1422
- popoverTargetAction?: "hide" | "show" | "toggle" | RemoveAttribute;
1423
1342
  }
1424
1343
  interface CanvasHTMLAttributes<T> extends HTMLAttributes<T> {
1425
1344
  height?: number | string | RemoveAttribute;
1426
1345
  width?: number | string | RemoveAttribute;
1427
1346
 
1428
- onContextLost?: EventHandlerUnion<T, Event> | undefined;
1429
- "on:contextlost"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
1430
- /** @deprecated Use camelCase event handlers */
1431
- oncontextlost?: EventHandlerUnion<T, Event> | undefined;
1432
-
1433
- onContextRestored?: EventHandlerUnion<T, Event> | undefined;
1434
- "on:contextrestored"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
1435
- /** @deprecated Use camelCase event handlers */
1436
- oncontextrestored?: EventHandlerUnion<T, Event> | undefined;
1437
-
1438
1347
  /**
1439
1348
  * @deprecated
1440
1349
  * @non-standard
@@ -1487,23 +1396,16 @@ export namespace JSX {
1487
1396
  interface DialogHtmlAttributes<T> extends HTMLAttributes<T> {
1488
1397
  open?: BooleanAttribute | RemoveAttribute;
1489
1398
  /**
1490
- * Do not add the tabindex property to the <dialog> element as it is not interactive and does
1491
- * not receive focus. The dialog's contents, including the close button contained in the dialog,
1492
- * can receive focus and be interactive.
1399
+ * Do not add the `tabindex` property to the `<dialog>` element as it is not interactive and
1400
+ * does not receive focus. The dialog's contents, including the close button contained in the
1401
+ * dialog, can receive focus and be interactive.
1493
1402
  *
1494
1403
  * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/dialog#usage_notes
1495
1404
  */
1496
1405
  tabindex?: never;
1497
1406
 
1498
- onClose?: EventHandlerUnion<T, Event> | undefined;
1499
- "on:close"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
1500
- /** @deprecated Use camelCase event handlers */
1501
- onclose?: EventHandlerUnion<T, Event> | undefined;
1502
-
1503
- onCancel?: EventHandlerUnion<T, Event> | undefined;
1504
- "on:cancel"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
1505
- /** @deprecated Use camelCase event handlers */
1506
- oncancel?: EventHandlerUnion<T, Event> | undefined;
1407
+ /** @experimental */
1408
+ closedby?: "any" | "closerequest" | "none" | RemoveAttribute;
1507
1409
  }
1508
1410
  interface EmbedHTMLAttributes<T> extends HTMLAttributes<T> {
1509
1411
  height?: number | string | RemoveAttribute;
@@ -1533,14 +1435,6 @@ export namespace JSX {
1533
1435
  rel?: string | RemoveAttribute;
1534
1436
  target?: "_self" | "_blank" | "_parent" | "_top" | (string & {}) | RemoveAttribute;
1535
1437
 
1536
- onFormData?: EventHandlerUnion<T, FormDataEvent> | undefined;
1537
- "on:formdata"?: EventHandlerWithOptionsUnion<T, FormDataEvent> | undefined;
1538
- /** @deprecated Use camelCase event handlers */
1539
- onformdata?: EventHandlerUnion<T, FormDataEvent> | undefined;
1540
-
1541
- /** @deprecated Use lowercase attributes */
1542
- noValidate?: boolean | RemoveAttribute;
1543
-
1544
1438
  /** @deprecated */
1545
1439
  accept?: string | RemoveAttribute;
1546
1440
  }
@@ -1556,9 +1450,6 @@ export namespace JSX {
1556
1450
  srcdoc?: string | RemoveAttribute;
1557
1451
  width?: number | string | RemoveAttribute;
1558
1452
 
1559
- /** @deprecated Use lowercase attributes */
1560
- referrerPolicy?: HTMLReferrerPolicy | RemoveAttribute;
1561
-
1562
1453
  /** @experimental */
1563
1454
  adauctionheaders?: BooleanAttribute | RemoveAttribute;
1564
1455
  /**
@@ -1599,9 +1490,9 @@ export namespace JSX {
1599
1490
  }
1600
1491
  interface ImgHTMLAttributes<T> extends HTMLAttributes<T> {
1601
1492
  alt?: string | RemoveAttribute;
1493
+ browsingtopics?: string | RemoveAttribute;
1602
1494
  crossorigin?: HTMLCrossorigin | RemoveAttribute;
1603
1495
  decoding?: "sync" | "async" | "auto" | RemoveAttribute;
1604
- elementtiming?: string | RemoveAttribute;
1605
1496
  fetchpriority?: "high" | "low" | "auto" | RemoveAttribute;
1606
1497
  height?: number | string | RemoveAttribute;
1607
1498
  ismap?: BooleanAttribute | RemoveAttribute;
@@ -1618,17 +1509,6 @@ export namespace JSX {
1618
1509
  /** @experimental */
1619
1510
  sharedstoragewritable?: BooleanAttribute | RemoveAttribute;
1620
1511
 
1621
- /** @deprecated Use lowercase attributes */
1622
- crossOrigin?: HTMLCrossorigin | RemoveAttribute;
1623
- /** @deprecated Use lowercase attributes */
1624
- isMap?: boolean | RemoveAttribute;
1625
- /** @deprecated Use lowercase attributes */
1626
- referrerPolicy?: HTMLReferrerPolicy | RemoveAttribute;
1627
- /** @deprecated Use lowercase attributes */
1628
- srcSet?: string | RemoveAttribute;
1629
- /** @deprecated Use lowercase attributes */
1630
- useMap?: string | RemoveAttribute;
1631
-
1632
1512
  /** @deprecated */
1633
1513
  align?: "top" | "middle" | "bottom" | "left" | "right" | RemoveAttribute;
1634
1514
  /** @deprecated */
@@ -1648,88 +1528,14 @@ export namespace JSX {
1648
1528
  }
1649
1529
  interface InputHTMLAttributes<T> extends HTMLAttributes<T> {
1650
1530
  accept?: string | RemoveAttribute;
1531
+ alpha?: BooleanAttribute | RemoveAttribute;
1651
1532
  alt?: string | RemoveAttribute;
1652
- autocomplete?:
1653
- | "additional-name"
1654
- | "address-level1"
1655
- | "address-level2"
1656
- | "address-level3"
1657
- | "address-level4"
1658
- | "address-line1"
1659
- | "address-line2"
1660
- | "address-line3"
1661
- | "bday"
1662
- | "bday-day"
1663
- | "bday-month"
1664
- | "bday-year"
1665
- | "billing"
1666
- | "cc-additional-name"
1667
- | "cc-csc"
1668
- | "cc-exp"
1669
- | "cc-exp-month"
1670
- | "cc-exp-year"
1671
- | "cc-family-name"
1672
- | "cc-given-name"
1673
- | "cc-name"
1674
- | "cc-number"
1675
- | "cc-type"
1676
- | "country"
1677
- | "country-name"
1678
- | "current-password"
1679
- | "email"
1680
- | "family-name"
1681
- | "fax"
1682
- | "given-name"
1683
- | "home"
1684
- | "honorific-prefix"
1685
- | "honorific-suffix"
1686
- | "impp"
1687
- | "language"
1688
- | "mobile"
1689
- | "name"
1690
- | "new-password"
1691
- | "nickname"
1692
- | "off"
1693
- | "on"
1694
- | "organization"
1695
- | "organization-title"
1696
- | "pager"
1697
- | "photo"
1698
- | "postal-code"
1699
- | "sex"
1700
- | "shipping"
1701
- | "street-address"
1702
- | "tel"
1703
- | "tel-area-code"
1704
- | "tel-country-code"
1705
- | "tel-extension"
1706
- | "tel-local"
1707
- | "tel-local-prefix"
1708
- | "tel-local-suffix"
1709
- | "tel-national"
1710
- | "transaction-amount"
1711
- | "transaction-currency"
1712
- | "url"
1713
- | "username"
1714
- | "work"
1715
- | (string & {})
1716
- | RemoveAttribute;
1717
- autocorrect?: "on" | "off" | RemoveAttribute;
1718
- autofocus?: BooleanAttribute | RemoveAttribute;
1533
+ autocomplete?: HTMLAutocomplete | RemoveAttribute;
1719
1534
  capture?: "user" | "environment" | RemoveAttribute;
1720
1535
  checked?: BooleanAttribute | RemoveAttribute;
1721
- crossorigin?: HTMLCrossorigin | RemoveAttribute;
1536
+ colorspace?: string | RemoveAttribute;
1722
1537
  dirname?: string | RemoveAttribute;
1723
1538
  disabled?: BooleanAttribute | RemoveAttribute;
1724
- enterkeyhint?:
1725
- | "enter"
1726
- | "done"
1727
- | "go"
1728
- | "next"
1729
- | "previous"
1730
- | "search"
1731
- | "send"
1732
- | RemoveAttribute;
1733
1539
  form?: string | RemoveAttribute;
1734
1540
  formaction?: string | SerializableAttributeValue | RemoveAttribute;
1735
1541
  formenctype?: HTMLFormEncType | RemoveAttribute;
@@ -1786,25 +1592,6 @@ export namespace JSX {
1786
1592
  /** @non-standard */
1787
1593
  incremental?: BooleanAttribute | RemoveAttribute;
1788
1594
 
1789
- /** @deprecated Use lowercase attributes */
1790
- crossOrigin?: HTMLCrossorigin | RemoveAttribute;
1791
- /** @deprecated Use lowercase attributes */
1792
- formAction?: string | SerializableAttributeValue | RemoveAttribute;
1793
- /** @deprecated Use lowercase attributes */
1794
- formEnctype?: HTMLFormEncType | RemoveAttribute;
1795
- /** @deprecated Use lowercase attributes */
1796
- formMethod?: HTMLFormMethod | RemoveAttribute;
1797
- /** @deprecated Use lowercase attributes */
1798
- formNoValidate?: boolean | RemoveAttribute;
1799
- /** @deprecated Use lowercase attributes */
1800
- formTarget?: string | RemoveAttribute;
1801
- /** @deprecated Use lowercase attributes */
1802
- maxLength?: number | string | RemoveAttribute;
1803
- /** @deprecated Use lowercase attributes */
1804
- minLength?: number | string | RemoveAttribute;
1805
- /** @deprecated Use lowercase attributes */
1806
- readOnly?: boolean | RemoveAttribute;
1807
-
1808
1595
  /** @deprecated */
1809
1596
  align?: string | RemoveAttribute;
1810
1597
  /** @deprecated */
@@ -1813,13 +1600,8 @@ export namespace JSX {
1813
1600
  interface ModHTMLAttributes<T> extends HTMLAttributes<T> {
1814
1601
  cite?: string | RemoveAttribute;
1815
1602
  datetime?: string | RemoveAttribute;
1816
-
1817
- /** @deprecated Use lowercase attributes */
1818
- dateTime?: string | RemoveAttribute;
1819
1603
  }
1820
1604
  interface KeygenHTMLAttributes<T> extends HTMLAttributes<T> {
1821
- /** @deprecated */
1822
- autofocus?: BooleanAttribute | RemoveAttribute;
1823
1605
  /** @deprecated */
1824
1606
  challenge?: string | RemoveAttribute;
1825
1607
  /** @deprecated */
@@ -1835,7 +1617,6 @@ export namespace JSX {
1835
1617
  }
1836
1618
  interface LabelHTMLAttributes<T> extends HTMLAttributes<T> {
1837
1619
  for?: string | RemoveAttribute;
1838
- form?: string | RemoveAttribute;
1839
1620
  }
1840
1621
  interface LiHTMLAttributes<T> extends HTMLAttributes<T> {
1841
1622
  value?: number | string | RemoveAttribute;
@@ -1846,6 +1627,7 @@ export namespace JSX {
1846
1627
  interface LinkHTMLAttributes<T> extends HTMLAttributes<T> {
1847
1628
  as?: HTMLLinkAs | RemoveAttribute;
1848
1629
  blocking?: "render" | RemoveAttribute;
1630
+ color?: string | RemoveAttribute;
1849
1631
  crossorigin?: HTMLCrossorigin | RemoveAttribute;
1850
1632
  disabled?: BooleanAttribute | RemoveAttribute;
1851
1633
  fetchpriority?: "high" | "low" | "auto" | RemoveAttribute;
@@ -1860,11 +1642,6 @@ export namespace JSX {
1860
1642
  sizes?: string | RemoveAttribute;
1861
1643
  type?: string | RemoveAttribute;
1862
1644
 
1863
- /** @deprecated Use lowercase attributes */
1864
- crossOrigin?: HTMLCrossorigin | RemoveAttribute;
1865
- /** @deprecated Use lowercase attributes */
1866
- referrerPolicy?: HTMLReferrerPolicy | RemoveAttribute;
1867
-
1868
1645
  /** @deprecated */
1869
1646
  charset?: string | RemoveAttribute;
1870
1647
  /** @deprecated */
@@ -1875,7 +1652,7 @@ export namespace JSX {
1875
1652
  interface MapHTMLAttributes<T> extends HTMLAttributes<T> {
1876
1653
  name?: string | RemoveAttribute;
1877
1654
  }
1878
- interface MediaHTMLAttributes<T> extends HTMLAttributes<T>, ElementEventMap<T> {
1655
+ interface MediaHTMLAttributes<T> extends HTMLAttributes<T> {
1879
1656
  autoplay?: BooleanAttribute | RemoveAttribute;
1880
1657
  controls?: BooleanAttribute | RemoveAttribute;
1881
1658
  controlslist?:
@@ -1894,19 +1671,10 @@ export namespace JSX {
1894
1671
 
1895
1672
  onEncrypted?: EventHandlerUnion<T, MediaEncryptedEvent> | undefined;
1896
1673
  "on:encrypted"?: EventHandlerWithOptionsUnion<T, MediaEncryptedEvent> | undefined;
1897
- /** @deprecated Use camelCase event handlers */
1898
- onencrypted?: EventHandlerUnion<T, MediaEncryptedEvent> | undefined;
1899
1674
 
1900
1675
  onWaitingForKey?: EventHandlerUnion<T, Event> | undefined;
1901
1676
  "on:waitingforkey"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
1902
- /** @deprecated Use camelCase event handlers */
1903
- onwaitingforkey?: EventHandlerUnion<T, Event> | undefined;
1904
1677
 
1905
- /** @deprecated Use lowercase attributes */
1906
- crossOrigin?: HTMLCrossorigin | RemoveAttribute;
1907
-
1908
- /** @deprecated Use lowercase attributes */
1909
- mediaGroup?: string | RemoveAttribute;
1910
1678
  /** @deprecated */
1911
1679
  mediagroup?: string | RemoveAttribute;
1912
1680
  }
@@ -1953,9 +1721,7 @@ export namespace JSX {
1953
1721
  name?: string | RemoveAttribute;
1954
1722
  type?: string | RemoveAttribute;
1955
1723
  width?: number | string | RemoveAttribute;
1956
-
1957
- /** @deprecated Use lowercase attributes */
1958
- useMap?: string | RemoveAttribute;
1724
+ wmode?: string | RemoveAttribute;
1959
1725
 
1960
1726
  /** @deprecated */
1961
1727
  align?: string | RemoveAttribute;
@@ -2030,9 +1796,9 @@ export namespace JSX {
2030
1796
  crossorigin?: HTMLCrossorigin | RemoveAttribute;
2031
1797
  defer?: BooleanAttribute | RemoveAttribute;
2032
1798
  fetchpriority?: "high" | "low" | "auto" | RemoveAttribute;
1799
+ for?: string | RemoveAttribute;
2033
1800
  integrity?: string | RemoveAttribute;
2034
1801
  nomodule?: BooleanAttribute | RemoveAttribute;
2035
- nonce?: string | RemoveAttribute;
2036
1802
  referrerpolicy?: HTMLReferrerPolicy | RemoveAttribute;
2037
1803
  src?: string | RemoveAttribute;
2038
1804
  type?: "importmap" | "module" | "speculationrules" | (string & {}) | RemoveAttribute;
@@ -2040,13 +1806,6 @@ export namespace JSX {
2040
1806
  /** @experimental */
2041
1807
  attributionsrc?: string | RemoveAttribute;
2042
1808
 
2043
- /** @deprecated Use lowercase attributes */
2044
- crossOrigin?: HTMLCrossorigin | RemoveAttribute;
2045
- /** @deprecated Use lowercase attributes */
2046
- noModule?: boolean | RemoveAttribute;
2047
- /** @deprecated Use lowercase attributes */
2048
- referrerPolicy?: HTMLReferrerPolicy | RemoveAttribute;
2049
-
2050
1809
  /** @deprecated */
2051
1810
  charset?: string | RemoveAttribute;
2052
1811
  /** @deprecated */
@@ -2055,8 +1814,7 @@ export namespace JSX {
2055
1814
  language?: string | RemoveAttribute;
2056
1815
  }
2057
1816
  interface SelectHTMLAttributes<T> extends HTMLAttributes<T> {
2058
- autocomplete?: string | RemoveAttribute;
2059
- autofocus?: BooleanAttribute | RemoveAttribute;
1817
+ autocomplete?: HTMLAutocomplete | RemoveAttribute;
2060
1818
  disabled?: BooleanAttribute | RemoveAttribute;
2061
1819
  form?: string | RemoveAttribute;
2062
1820
  multiple?: BooleanAttribute | RemoveAttribute;
@@ -2080,7 +1838,6 @@ export namespace JSX {
2080
1838
  interface StyleHTMLAttributes<T> extends HTMLAttributes<T> {
2081
1839
  blocking?: "render" | RemoveAttribute;
2082
1840
  media?: string | RemoveAttribute;
2083
- nonce?: string | RemoveAttribute;
2084
1841
 
2085
1842
  /** @deprecated */
2086
1843
  scoped?: BooleanAttribute | RemoveAttribute;
@@ -2092,11 +1849,6 @@ export namespace JSX {
2092
1849
  headers?: string | RemoveAttribute;
2093
1850
  rowspan?: number | string | RemoveAttribute;
2094
1851
 
2095
- /** @deprecated Use lowercase attributes */
2096
- colSpan?: number | string | RemoveAttribute;
2097
- /** @deprecated Use lowercase attributes */
2098
- rowSpan?: number | string | RemoveAttribute;
2099
-
2100
1852
  /** @deprecated */
2101
1853
  abbr?: string | RemoveAttribute;
2102
1854
  /** @deprecated */
@@ -2124,93 +1876,17 @@ export namespace JSX {
2124
1876
  shadowrootclonable?: BooleanAttribute | RemoveAttribute;
2125
1877
  shadowrootdelegatesfocus?: BooleanAttribute | RemoveAttribute;
2126
1878
  shadowrootmode?: "open" | "closed" | RemoveAttribute;
1879
+ shadowrootcustomelementregistry?: BooleanAttribute | RemoveAttribute;
2127
1880
 
2128
1881
  /** @experimental */
2129
1882
  shadowrootserializable?: BooleanAttribute | RemoveAttribute;
2130
-
2131
- /** @deprecated */
2132
- content?: DocumentFragment | RemoveAttribute;
2133
1883
  }
2134
1884
  interface TextareaHTMLAttributes<T> extends HTMLAttributes<T> {
2135
- autocomplete?:
2136
- | "additional-name"
2137
- | "address-level1"
2138
- | "address-level2"
2139
- | "address-level3"
2140
- | "address-level4"
2141
- | "address-line1"
2142
- | "address-line2"
2143
- | "address-line3"
2144
- | "bday"
2145
- | "bday-day"
2146
- | "bday-month"
2147
- | "bday-year"
2148
- | "billing"
2149
- | "cc-additional-name"
2150
- | "cc-csc"
2151
- | "cc-exp"
2152
- | "cc-exp-month"
2153
- | "cc-exp-year"
2154
- | "cc-family-name"
2155
- | "cc-given-name"
2156
- | "cc-name"
2157
- | "cc-number"
2158
- | "cc-type"
2159
- | "country"
2160
- | "country-name"
2161
- | "current-password"
2162
- | "email"
2163
- | "family-name"
2164
- | "fax"
2165
- | "given-name"
2166
- | "home"
2167
- | "honorific-prefix"
2168
- | "honorific-suffix"
2169
- | "impp"
2170
- | "language"
2171
- | "mobile"
2172
- | "name"
2173
- | "new-password"
2174
- | "nickname"
2175
- | "off"
2176
- | "on"
2177
- | "organization"
2178
- | "organization-title"
2179
- | "pager"
2180
- | "photo"
2181
- | "postal-code"
2182
- | "sex"
2183
- | "shipping"
2184
- | "street-address"
2185
- | "tel"
2186
- | "tel-area-code"
2187
- | "tel-country-code"
2188
- | "tel-extension"
2189
- | "tel-local"
2190
- | "tel-local-prefix"
2191
- | "tel-local-suffix"
2192
- | "tel-national"
2193
- | "transaction-amount"
2194
- | "transaction-currency"
2195
- | "url"
2196
- | "username"
2197
- | "work"
2198
- | (string & {})
2199
- | RemoveAttribute;
2200
- autocorrect?: "on" | "off" | RemoveAttribute;
2201
- autofocus?: BooleanAttribute | RemoveAttribute;
1885
+ autocomplete?: HTMLAutocomplete | RemoveAttribute;
2202
1886
  cols?: number | string | RemoveAttribute;
2203
1887
  dirname?: string | RemoveAttribute;
2204
1888
  disabled?: BooleanAttribute | RemoveAttribute;
2205
- enterkeyhint?:
2206
- | "enter"
2207
- | "done"
2208
- | "go"
2209
- | "next"
2210
- | "previous"
2211
- | "search"
2212
- | "send"
2213
- | RemoveAttribute;
1889
+
2214
1890
  form?: string | RemoveAttribute;
2215
1891
  maxlength?: number | string | RemoveAttribute;
2216
1892
  minlength?: number | string | RemoveAttribute;
@@ -2221,13 +1897,6 @@ export namespace JSX {
2221
1897
  rows?: number | string | RemoveAttribute;
2222
1898
  value?: string | string[] | number | RemoveAttribute;
2223
1899
  wrap?: "hard" | "soft" | "off" | RemoveAttribute;
2224
-
2225
- /** @deprecated Use lowercase attributes */
2226
- maxLength?: number | string | RemoveAttribute;
2227
- /** @deprecated Use lowercase attributes */
2228
- minLength?: number | string | RemoveAttribute;
2229
- /** @deprecated Use lowercase attributes */
2230
- readOnly?: boolean | RemoveAttribute;
2231
1900
  }
2232
1901
  interface ThHTMLAttributes<T> extends HTMLAttributes<T> {
2233
1902
  abbr?: string | RemoveAttribute;
@@ -2236,11 +1905,6 @@ export namespace JSX {
2236
1905
  rowspan?: number | string | RemoveAttribute;
2237
1906
  scope?: "col" | "row" | "rowgroup" | "colgroup" | RemoveAttribute;
2238
1907
 
2239
- /** @deprecated Use lowercase attributes */
2240
- colSpan?: number | string | RemoveAttribute;
2241
- /** @deprecated Use lowercase attributes */
2242
- rowSpan?: number | string | RemoveAttribute;
2243
-
2244
1908
  /** @deprecated */
2245
1909
  align?: "left" | "center" | "right" | "justify" | "char" | RemoveAttribute;
2246
1910
  /** @deprecated */
@@ -2262,9 +1926,6 @@ export namespace JSX {
2262
1926
  }
2263
1927
  interface TimeHTMLAttributes<T> extends HTMLAttributes<T> {
2264
1928
  datetime?: string | RemoveAttribute;
2265
-
2266
- /** @deprecated Use lowercase attributes */
2267
- dateTime?: string | RemoveAttribute;
2268
1929
  }
2269
1930
  interface TrackHTMLAttributes<T> extends HTMLAttributes<T> {
2270
1931
  default?: BooleanAttribute | RemoveAttribute;
@@ -2284,8 +1945,6 @@ export namespace JSX {
2284
1945
  src?: string | RemoveAttribute;
2285
1946
  srclang?: string | RemoveAttribute;
2286
1947
 
2287
- /** @deprecated Use lowercase attributes */
2288
- mediaGroup?: string | RemoveAttribute;
2289
1948
  /** @deprecated */
2290
1949
  mediagroup?: string | RemoveAttribute;
2291
1950
  }
@@ -2298,13 +1957,9 @@ export namespace JSX {
2298
1957
 
2299
1958
  onEnterPictureInPicture?: EventHandlerUnion<T, PictureInPictureEvent> | undefined;
2300
1959
  "on:enterpictureinpicture"?: EventHandlerWithOptionsUnion<T, PictureInPictureEvent> | undefined;
2301
- /** @deprecated Use camelCase event handlers */
2302
- onenterpictureinpicture?: EventHandlerUnion<T, PictureInPictureEvent> | undefined;
2303
1960
 
2304
1961
  onLeavePictureInPicture?: EventHandlerUnion<T, PictureInPictureEvent> | undefined;
2305
1962
  "on:leavepictureinpicture"?: EventHandlerWithOptionsUnion<T, PictureInPictureEvent> | undefined;
2306
- /** @deprecated Use camelCase event handlers */
2307
- onleavepictureinpicture?: EventHandlerUnion<T, PictureInPictureEvent> | undefined;
2308
1963
  }
2309
1964
 
2310
1965
  interface WebViewHTMLAttributes<T> extends HTMLAttributes<T> {
@@ -2324,7 +1979,6 @@ export namespace JSX {
2324
1979
 
2325
1980
  // does this exists?
2326
1981
  allowfullscreen?: BooleanAttribute | RemoveAttribute;
2327
- autofocus?: BooleanAttribute | RemoveAttribute;
2328
1982
  autosize?: BooleanAttribute | RemoveAttribute;
2329
1983
 
2330
1984
  /** @deprecated */
@@ -2335,7 +1989,8 @@ export namespace JSX {
2335
1989
  guestinstance?: string | RemoveAttribute;
2336
1990
  }
2337
1991
 
2338
- /** SVG Enumerated Attributes */
1992
+ // SVG
1993
+
2339
1994
  type SVGPreserveAspectRatio =
2340
1995
  | "none"
2341
1996
  | "xMinYMin"
@@ -2397,14 +2052,6 @@ export namespace JSX {
2397
2052
  | "defer xMaxYMax slice";
2398
2053
  type SVGUnits = "userSpaceOnUse" | "objectBoundingBox";
2399
2054
 
2400
- interface CoreSVGAttributes<T> extends AriaAttributes, DOMAttributes<T> {
2401
- id?: string | RemoveAttribute;
2402
- lang?: string | RemoveAttribute;
2403
- tabindex?: number | string | RemoveAttribute;
2404
-
2405
- /** @deprecated Use lowercase attributes */
2406
- tabIndex?: number | string | RemoveAttribute;
2407
- }
2408
2055
  interface StylableSVGAttributes {
2409
2056
  class?: string | ClassList | RemoveAttribute;
2410
2057
  style?: CSSProperties | string | RemoveAttribute;
@@ -2576,11 +2223,23 @@ export namespace JSX {
2576
2223
  visibility?: "visible" | "hidden" | "collapse" | "inherit" | RemoveAttribute;
2577
2224
  }
2578
2225
  interface AnimationElementSVGAttributes<T>
2579
- extends CoreSVGAttributes<T>,
2226
+ extends SVGAttributes<T>,
2580
2227
  ExternalResourceSVGAttributes,
2581
- ConditionalProcessingSVGAttributes {}
2228
+ ConditionalProcessingSVGAttributes {
2229
+ // TODO TimeEvent is currently undefined on TS
2230
+ onBegin?: EventHandlerUnion<T, Event> | undefined;
2231
+ "on:begin"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
2232
+
2233
+ // TODO TimeEvent is currently undefined on TS
2234
+ onEnd?: EventHandlerUnion<T, Event> | undefined;
2235
+ "on:end"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
2236
+
2237
+ // TODO TimeEvent is currently undefined on TS
2238
+ onRepeat?: EventHandlerUnion<T, Event> | undefined;
2239
+ "on:repeat"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
2240
+ }
2582
2241
  interface ContainerElementSVGAttributes<T>
2583
- extends CoreSVGAttributes<T>,
2242
+ extends SVGAttributes<T>,
2584
2243
  ShapeElementSVGAttributes<T>,
2585
2244
  Pick<
2586
2245
  PresentationSVGAttributes,
@@ -2594,7 +2253,7 @@ export namespace JSX {
2594
2253
  | "color-rendering"
2595
2254
  > {}
2596
2255
  interface FilterPrimitiveElementSVGAttributes<T>
2597
- extends CoreSVGAttributes<T>,
2256
+ extends SVGAttributes<T>,
2598
2257
  Pick<PresentationSVGAttributes, "color-interpolation-filters"> {
2599
2258
  height?: number | string | RemoveAttribute;
2600
2259
  result?: string | RemoveAttribute;
@@ -2614,7 +2273,7 @@ export namespace JSX {
2614
2273
  viewBox?: string | RemoveAttribute;
2615
2274
  }
2616
2275
  interface GradientElementSVGAttributes<T>
2617
- extends CoreSVGAttributes<T>,
2276
+ extends SVGAttributes<T>,
2618
2277
  ExternalResourceSVGAttributes,
2619
2278
  StylableSVGAttributes {
2620
2279
  gradientTransform?: string | RemoveAttribute;
@@ -2623,7 +2282,7 @@ export namespace JSX {
2623
2282
  spreadMethod?: "pad" | "reflect" | "repeat" | RemoveAttribute;
2624
2283
  }
2625
2284
  interface GraphicsElementSVGAttributes<T>
2626
- extends CoreSVGAttributes<T>,
2285
+ extends SVGAttributes<T>,
2627
2286
  Pick<
2628
2287
  PresentationSVGAttributes,
2629
2288
  | "clip-rule"
@@ -2637,14 +2296,14 @@ export namespace JSX {
2637
2296
  | "color-interpolation"
2638
2297
  | "color-rendering"
2639
2298
  > {}
2640
- interface LightSourceElementSVGAttributes<T> extends CoreSVGAttributes<T> {}
2299
+ interface LightSourceElementSVGAttributes<T> extends SVGAttributes<T> {}
2641
2300
  interface NewViewportSVGAttributes<T>
2642
- extends CoreSVGAttributes<T>,
2301
+ extends SVGAttributes<T>,
2643
2302
  Pick<PresentationSVGAttributes, "overflow" | "clip"> {
2644
2303
  viewBox?: string | RemoveAttribute;
2645
2304
  }
2646
2305
  interface ShapeElementSVGAttributes<T>
2647
- extends CoreSVGAttributes<T>,
2306
+ extends SVGAttributes<T>,
2648
2307
  Pick<
2649
2308
  PresentationSVGAttributes,
2650
2309
  | "color"
@@ -2663,7 +2322,7 @@ export namespace JSX {
2663
2322
  | "pathLength"
2664
2323
  > {}
2665
2324
  interface TextContentElementSVGAttributes<T>
2666
- extends CoreSVGAttributes<T>,
2325
+ extends SVGAttributes<T>,
2667
2326
  Pick<
2668
2327
  PresentationSVGAttributes,
2669
2328
  | "font-family"
@@ -2740,7 +2399,7 @@ export namespace JSX {
2740
2399
  r?: number | string | RemoveAttribute;
2741
2400
  }
2742
2401
  interface ClipPathSVGAttributes<T>
2743
- extends CoreSVGAttributes<T>,
2402
+ extends SVGAttributes<T>,
2744
2403
  ConditionalProcessingSVGAttributes,
2745
2404
  ExternalResourceSVGAttributes,
2746
2405
  StylableSVGAttributes,
@@ -2754,7 +2413,7 @@ export namespace JSX {
2754
2413
  ExternalResourceSVGAttributes,
2755
2414
  StylableSVGAttributes,
2756
2415
  TransformableSVGAttributes {}
2757
- interface DescSVGAttributes<T> extends CoreSVGAttributes<T>, StylableSVGAttributes {}
2416
+ interface DescSVGAttributes<T> extends SVGAttributes<T>, StylableSVGAttributes {}
2758
2417
  interface EllipseSVGAttributes<T>
2759
2418
  extends GraphicsElementSVGAttributes<T>,
2760
2419
  ShapeElementSVGAttributes<T>,
@@ -2831,7 +2490,7 @@ export namespace JSX {
2831
2490
  elevation?: number | string | RemoveAttribute;
2832
2491
  }
2833
2492
  interface FeDropShadowSVGAttributes<T>
2834
- extends CoreSVGAttributes<T>,
2493
+ extends SVGAttributes<T>,
2835
2494
  FilterPrimitiveElementSVGAttributes<T>,
2836
2495
  StylableSVGAttributes,
2837
2496
  Pick<PresentationSVGAttributes, "color" | "flood-color" | "flood-opacity"> {
@@ -2843,7 +2502,7 @@ export namespace JSX {
2843
2502
  extends FilterPrimitiveElementSVGAttributes<T>,
2844
2503
  StylableSVGAttributes,
2845
2504
  Pick<PresentationSVGAttributes, "color" | "flood-color" | "flood-opacity"> {}
2846
- interface FeFuncSVGAttributes<T> extends CoreSVGAttributes<T> {
2505
+ interface FeFuncSVGAttributes<T> extends SVGAttributes<T> {
2847
2506
  amplitude?: number | string | RemoveAttribute;
2848
2507
  exponent?: number | string | RemoveAttribute;
2849
2508
  intercept?: number | string | RemoveAttribute;
@@ -2868,9 +2527,7 @@ export namespace JSX {
2868
2527
  interface FeMergeSVGAttributes<T>
2869
2528
  extends FilterPrimitiveElementSVGAttributes<T>,
2870
2529
  StylableSVGAttributes {}
2871
- interface FeMergeNodeSVGAttributes<T>
2872
- extends CoreSVGAttributes<T>,
2873
- SingleInputFilterSVGAttributes {}
2530
+ interface FeMergeNodeSVGAttributes<T> extends SVGAttributes<T>, SingleInputFilterSVGAttributes {}
2874
2531
  interface FeMorphologySVGAttributes<T>
2875
2532
  extends FilterPrimitiveElementSVGAttributes<T>,
2876
2533
  SingleInputFilterSVGAttributes,
@@ -2924,7 +2581,7 @@ export namespace JSX {
2924
2581
  type?: "fractalNoise" | "turbulence" | RemoveAttribute;
2925
2582
  }
2926
2583
  interface FilterSVGAttributes<T>
2927
- extends CoreSVGAttributes<T>,
2584
+ extends SVGAttributes<T>,
2928
2585
  ExternalResourceSVGAttributes,
2929
2586
  StylableSVGAttributes {
2930
2587
  filterRes?: number | string | RemoveAttribute;
@@ -3013,8 +2670,8 @@ export namespace JSX {
3013
2670
  x?: number | string | RemoveAttribute;
3014
2671
  y?: number | string | RemoveAttribute;
3015
2672
  }
3016
- interface MetadataSVGAttributes<T> extends CoreSVGAttributes<T> {}
3017
- interface MPathSVGAttributes<T> extends CoreSVGAttributes<T> {}
2673
+ interface MetadataSVGAttributes<T> extends SVGAttributes<T> {}
2674
+ interface MPathSVGAttributes<T> extends SVGAttributes<T> {}
3018
2675
  interface PathSVGAttributes<T>
3019
2676
  extends GraphicsElementSVGAttributes<T>,
3020
2677
  ShapeElementSVGAttributes<T>,
@@ -3085,11 +2742,11 @@ export namespace JSX {
3085
2742
  y?: number | string | RemoveAttribute;
3086
2743
  }
3087
2744
  interface SetSVGAttributes<T>
3088
- extends CoreSVGAttributes<T>,
2745
+ extends AnimationElementSVGAttributes<T>,
3089
2746
  StylableSVGAttributes,
3090
2747
  AnimationTimingSVGAttributes {}
3091
2748
  interface StopSVGAttributes<T>
3092
- extends CoreSVGAttributes<T>,
2749
+ extends SVGAttributes<T>,
3093
2750
  StylableSVGAttributes,
3094
2751
  Pick<PresentationSVGAttributes, "color" | "stop-color" | "stop-opacity"> {
3095
2752
  offset?: number | string | RemoveAttribute;
@@ -3103,15 +2760,13 @@ export namespace JSX {
3103
2760
  FitToViewBoxSVGAttributes,
3104
2761
  ZoomAndPanSVGAttributes,
3105
2762
  PresentationSVGAttributes,
3106
- WindowEventMap<T>,
3107
- ElementEventMap<T> {
2763
+ EventHandlersWindow<T> {
3108
2764
  "xmlns:xlink"?: string | RemoveAttribute;
3109
2765
  contentScriptType?: string | RemoveAttribute;
3110
2766
  contentStyleType?: string | RemoveAttribute;
3111
2767
  height?: number | string | RemoveAttribute;
3112
2768
  width?: number | string | RemoveAttribute;
3113
2769
  x?: number | string | RemoveAttribute;
3114
- xmlns?: string | RemoveAttribute;
3115
2770
  y?: number | string | RemoveAttribute;
3116
2771
 
3117
2772
  /** @deprecated */
@@ -3191,7 +2846,7 @@ export namespace JSX {
3191
2846
  }
3192
2847
  /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/use */
3193
2848
  interface UseSVGAttributes<T>
3194
- extends CoreSVGAttributes<T>,
2849
+ extends SVGAttributes<T>,
3195
2850
  StylableSVGAttributes,
3196
2851
  ConditionalProcessingSVGAttributes,
3197
2852
  GraphicsElementSVGAttributes<T>,
@@ -3205,28 +2860,14 @@ export namespace JSX {
3205
2860
  y?: number | string | RemoveAttribute;
3206
2861
  }
3207
2862
  interface ViewSVGAttributes<T>
3208
- extends CoreSVGAttributes<T>,
2863
+ extends SVGAttributes<T>,
3209
2864
  ExternalResourceSVGAttributes,
3210
2865
  FitToViewBoxSVGAttributes,
3211
2866
  ZoomAndPanSVGAttributes {
3212
2867
  viewTarget?: string | RemoveAttribute;
3213
2868
  }
3214
2869
 
3215
- interface MathMLAttributes<T> extends HTMLAttributes<T> {
3216
- xmlns?: string | RemoveAttribute;
3217
-
3218
- displaystyle?: BooleanAttribute | RemoveAttribute;
3219
- /** @deprecated */
3220
- href?: string | RemoveAttribute;
3221
- /** @deprecated */
3222
- mathbackground?: string | RemoveAttribute;
3223
- /** @deprecated */
3224
- mathcolor?: string | RemoveAttribute;
3225
- /** @deprecated */
3226
- mathsize?: string | RemoveAttribute;
3227
- nonce?: string | RemoveAttribute;
3228
- scriptlevel?: string | RemoveAttribute;
3229
- }
2870
+ // MATH
3230
2871
 
3231
2872
  interface MathMLAnnotationElementAttributes<T> extends MathMLAttributes<T> {
3232
2873
  encoding?: string | RemoveAttribute;
@@ -3433,8 +3074,6 @@ export namespace JSX {
3433
3074
  }
3434
3075
  interface MathMLSemanticsElementAttributes<T> extends MathMLAttributes<T> {}
3435
3076
 
3436
- /* MathMLDeprecatedElements */
3437
-
3438
3077
  interface MathMLMencloseElementAttributes<T> extends MathMLAttributes<T> {
3439
3078
  /** @non-standard */
3440
3079
  notation?: string | RemoveAttribute;
@@ -3445,6 +3084,8 @@ export namespace JSX {
3445
3084
  separators?: string | RemoveAttribute;
3446
3085
  }
3447
3086
 
3087
+ // TAGS
3088
+
3448
3089
  /** @type {HTMLElementTagNameMap} */
3449
3090
  interface HTMLElementTags {
3450
3091
  /**
@@ -3501,7 +3142,7 @@ export namespace JSX {
3501
3142
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/bdo
3502
3143
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3503
3144
  */
3504
- bdo: HTMLAttributes<HTMLElement>;
3145
+ bdo: BdoHTMLAttributes<HTMLElement>;
3505
3146
  /**
3506
3147
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/blockquote
3507
3148
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLQuoteElement
@@ -4030,11 +3671,6 @@ export namespace JSX {
4030
3671
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLUnknownElement
4031
3672
  */
4032
3673
  menuitem: HTMLAttributes<HTMLUnknownElement>;
4033
- /**
4034
- * @deprecated
4035
- * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLUnknownElement
4036
- */
4037
- noindex: HTMLAttributes<HTMLUnknownElement>;
4038
3674
  /**
4039
3675
  * @deprecated
4040
3676
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/param