solid-js 1.9.6 → 1.9.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/dev.cjs +26 -15
  2. package/dist/dev.js +334 -564
  3. package/dist/server.cjs +3 -1
  4. package/dist/server.js +83 -178
  5. package/dist/solid.cjs +26 -15
  6. package/dist/solid.js +290 -493
  7. package/h/dist/h.js +9 -40
  8. package/h/jsx-runtime/dist/jsx.js +1 -1
  9. package/h/jsx-runtime/types/index.d.ts +8 -11
  10. package/h/jsx-runtime/types/jsx.d.ts +246 -234
  11. package/h/types/hyperscript.d.ts +11 -11
  12. package/html/dist/html.js +94 -219
  13. package/html/types/lit.d.ts +33 -52
  14. package/package.json +3 -3
  15. package/store/dist/dev.cjs +9 -5
  16. package/store/dist/dev.js +50 -126
  17. package/store/dist/server.js +8 -20
  18. package/store/dist/store.cjs +9 -5
  19. package/store/dist/store.js +47 -117
  20. package/store/types/index.d.ts +7 -21
  21. package/store/types/modifiers.d.ts +3 -6
  22. package/store/types/mutable.d.ts +2 -5
  23. package/store/types/server.d.ts +5 -25
  24. package/store/types/store.d.ts +61 -218
  25. package/types/index.d.ts +11 -78
  26. package/types/jsx.d.ts +245 -229
  27. package/types/reactive/array.d.ts +4 -12
  28. package/types/reactive/observable.d.ts +16 -22
  29. package/types/reactive/scheduler.d.ts +6 -9
  30. package/types/reactive/signal.d.ts +145 -236
  31. package/types/render/Suspense.d.ts +5 -5
  32. package/types/render/component.d.ts +37 -73
  33. package/types/render/flow.d.ts +31 -43
  34. package/types/render/hydration.d.ts +15 -15
  35. package/types/server/index.d.ts +2 -57
  36. package/types/server/reactive.d.ts +45 -76
  37. package/types/server/rendering.d.ts +98 -169
  38. package/universal/dist/dev.js +12 -28
  39. package/universal/dist/universal.js +12 -28
  40. package/universal/types/index.d.ts +2 -3
  41. package/universal/types/universal.d.ts +3 -2
  42. package/web/dist/dev.cjs +89 -6
  43. package/web/dist/dev.js +174 -646
  44. package/web/dist/server.cjs +90 -5
  45. package/web/dist/server.js +194 -647
  46. package/web/dist/web.cjs +89 -6
  47. package/web/dist/web.js +172 -634
  48. package/web/storage/dist/storage.js +3 -3
  49. package/web/types/core.d.ts +1 -9
  50. package/web/types/index.d.ts +11 -31
  51. package/web/types/server-mock.d.ts +32 -47
@@ -71,7 +71,8 @@ export namespace JSX {
71
71
  > = EHandler | BoundEventHandler<T, E, EHandler>;
72
72
 
73
73
  interface EventHandlerWithOptions<T, E extends Event, EHandler = EventHandler<T, E>>
74
- extends AddEventListenerOptions {
74
+ extends AddEventListenerOptions,
75
+ EventListenerOptions {
75
76
  handleEvent: EHandler;
76
77
  }
77
78
 
@@ -141,6 +142,7 @@ export namespace JSX {
141
142
  }
142
143
  interface CustomAttributes<T> {
143
144
  ref?: T | ((el: T) => void) | undefined;
145
+ children?: FunctionMaybe<Element | undefined>;
144
146
  classList?:
145
147
  | {
146
148
  [k: string]: boolean | undefined;
@@ -198,16 +200,12 @@ export namespace JSX {
198
200
  };
199
201
 
200
202
  // events
201
- interface ElementEventMap<T> {
202
- onFullscreenChange?: EventHandlerUnion<T, Event> | undefined;
203
- onFullscreenError?: EventHandlerUnion<T, Event> | undefined;
204
-
205
- "on:fullscreenchange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
206
- "on:fullscreenerror"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
207
203
 
208
- onfullscreenchange?: EventHandlerUnion<T, Event> | undefined;
209
- onfullscreenerror?: EventHandlerUnion<T, Event> | undefined;
210
- }
204
+ /**
205
+ * `Window` events, defined for `<body>`, `<svg>`, `<frameset>` tags.
206
+ *
207
+ * Excluding `Elements events` already defined as globals that all tags share, such as `onblur`.
208
+ */
211
209
  interface WindowEventMap<T> {
212
210
  onAfterPrint?: EventHandlerUnion<T, Event> | undefined;
213
211
  onBeforePrint?: EventHandlerUnion<T, Event> | undefined;
@@ -279,6 +277,14 @@ export namespace JSX {
279
277
  "on:unload"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
280
278
  }
281
279
 
280
+ /**
281
+ * Global `Elements events`, defined for all tags.
282
+ *
283
+ * That's events defined and shared by all of the `HTMLElement/SVGElement/MathMLElement`
284
+ * interfaces.
285
+ *
286
+ * Includes events defined for the `Element` interface.
287
+ */
282
288
  interface CustomEventHandlersCamelCase<T> {
283
289
  onAbort?: EventHandlerUnion<T, UIEvent> | undefined;
284
290
  onAnimationCancel?: EventHandlerUnion<T, AnimationEvent> | undefined;
@@ -286,20 +292,31 @@ export namespace JSX {
286
292
  onAnimationIteration?: EventHandlerUnion<T, AnimationEvent> | undefined;
287
293
  onAnimationStart?: EventHandlerUnion<T, AnimationEvent> | undefined;
288
294
  onAuxClick?: EventHandlerUnion<T, PointerEvent> | undefined;
295
+ onBeforeCopy?: EventHandlerUnion<T, ClipboardEvent> | undefined;
296
+ onBeforeCut?: EventHandlerUnion<T, ClipboardEvent> | undefined;
289
297
  onBeforeInput?: InputEventHandlerUnion<T, InputEvent> | undefined;
298
+ onBeforeMatch?: EventHandlerUnion<T, Event> | undefined;
299
+ onBeforePaste?: EventHandlerUnion<T, ClipboardEvent> | undefined;
290
300
  onBeforeToggle?: EventHandlerUnion<T, ToggleEvent> | undefined;
301
+ onBeforeXRSelect?: EventHandlerUnion<T, Event> | undefined;
291
302
  onBlur?: FocusEventHandlerUnion<T, FocusEvent> | undefined;
292
303
  onCancel?: EventHandlerUnion<T, Event> | undefined;
293
304
  onCanPlay?: EventHandlerUnion<T, Event> | undefined;
294
305
  onCanPlayThrough?: EventHandlerUnion<T, Event> | undefined;
295
306
  onChange?: ChangeEventHandlerUnion<T, Event> | undefined;
296
307
  onClick?: EventHandlerUnion<T, MouseEvent> | undefined;
308
+ onClose?: EventHandlerUnion<T, Event> | undefined;
297
309
  // TODO `CommandEvent` is currently undefined in TS
298
310
  onCommand?: EventHandlerUnion<T, Event> | undefined;
299
311
  onCompositionEnd?: EventHandlerUnion<T, CompositionEvent> | undefined;
300
312
  onCompositionStart?: EventHandlerUnion<T, CompositionEvent> | undefined;
301
313
  onCompositionUpdate?: EventHandlerUnion<T, CompositionEvent> | undefined;
314
+ onContentVisibilityAutoStateChange?:
315
+ | EventHandlerUnion<T, ContentVisibilityAutoStateChangeEvent>
316
+ | undefined;
317
+ onContextLost?: EventHandlerUnion<T, Event> | undefined;
302
318
  onContextMenu?: EventHandlerUnion<T, PointerEvent> | undefined;
319
+ onContextRestored?: EventHandlerUnion<T, Event> | undefined;
303
320
  onCopy?: EventHandlerUnion<T, ClipboardEvent> | undefined;
304
321
  onCueChange?: EventHandlerUnion<T, Event> | undefined;
305
322
  onCut?: EventHandlerUnion<T, ClipboardEvent> | undefined;
@@ -319,6 +336,9 @@ export namespace JSX {
319
336
  onFocus?: FocusEventHandlerUnion<T, FocusEvent> | undefined;
320
337
  onFocusIn?: FocusEventHandlerUnion<T, FocusEvent> | undefined;
321
338
  onFocusOut?: FocusEventHandlerUnion<T, FocusEvent> | undefined;
339
+ onFormData?: EventHandlerUnion<T, FormDataEvent> | undefined;
340
+ onFullscreenChange?: EventHandlerUnion<T, Event> | undefined;
341
+ onFullscreenError?: EventHandlerUnion<T, Event> | undefined;
322
342
  onGotPointerCapture?: EventHandlerUnion<T, PointerEvent> | undefined;
323
343
  onInput?: InputEventHandlerUnion<T, InputEvent> | undefined;
324
344
  onInvalid?: EventHandlerUnion<T, Event> | undefined;
@@ -348,6 +368,7 @@ export namespace JSX {
348
368
  onPointerMove?: EventHandlerUnion<T, PointerEvent> | undefined;
349
369
  onPointerOut?: EventHandlerUnion<T, PointerEvent> | undefined;
350
370
  onPointerOver?: EventHandlerUnion<T, PointerEvent> | undefined;
371
+ onPointerRawUpdate?: EventHandlerUnion<T, PointerEvent> | undefined;
351
372
  onPointerUp?: EventHandlerUnion<T, PointerEvent> | undefined;
352
373
  onProgress?: EventHandlerUnion<T, ProgressEvent> | undefined;
353
374
  onRateChange?: EventHandlerUnion<T, Event> | undefined;
@@ -355,11 +376,16 @@ export namespace JSX {
355
376
  onResize?: EventHandlerUnion<T, UIEvent> | undefined;
356
377
  onScroll?: EventHandlerUnion<T, Event> | undefined;
357
378
  onScrollEnd?: EventHandlerUnion<T, Event> | undefined;
379
+ // todo `SnapEvent` is currently undefined in TS
380
+ onScrollSnapChange?: EventHandlerUnion<T, Event> | undefined;
381
+ // todo `SnapEvent` is currently undefined in TS
382
+ onScrollSnapChanging?: EventHandlerUnion<T, Event> | undefined;
358
383
  onSecurityPolicyViolation?: EventHandlerUnion<T, SecurityPolicyViolationEvent> | undefined;
359
384
  onSeeked?: EventHandlerUnion<T, Event> | undefined;
360
385
  onSeeking?: EventHandlerUnion<T, Event> | undefined;
361
386
  onSelect?: EventHandlerUnion<T, Event> | undefined;
362
387
  onSelectionChange?: EventHandlerUnion<T, Event> | undefined;
388
+ onSelectStart?: EventHandlerUnion<T, Event> | undefined;
363
389
  onSlotChange?: EventHandlerUnion<T, Event> | undefined;
364
390
  onStalled?: EventHandlerUnion<T, Event> | undefined;
365
391
  onSubmit?: EventHandlerUnion<T, SubmitEvent> | undefined;
@@ -386,20 +412,31 @@ export namespace JSX {
386
412
  onanimationiteration?: EventHandlerUnion<T, AnimationEvent> | undefined;
387
413
  onanimationstart?: EventHandlerUnion<T, AnimationEvent> | undefined;
388
414
  onauxclick?: EventHandlerUnion<T, PointerEvent> | undefined;
415
+ onbeforecopy?: EventHandlerUnion<T, ClipboardEvent> | undefined;
416
+ onbeforecut?: EventHandlerUnion<T, ClipboardEvent> | undefined;
389
417
  onbeforeinput?: InputEventHandlerUnion<T, InputEvent> | undefined;
418
+ onbeforematch?: EventHandlerUnion<T, Event> | undefined;
419
+ onbeforepaste?: EventHandlerUnion<T, ClipboardEvent> | undefined;
390
420
  onbeforetoggle?: EventHandlerUnion<T, ToggleEvent> | undefined;
421
+ onbeforexrselect?: EventHandlerUnion<T, Event> | undefined;
391
422
  onblur?: FocusEventHandlerUnion<T, FocusEvent> | undefined;
392
423
  oncancel?: EventHandlerUnion<T, Event> | undefined;
393
424
  oncanplay?: EventHandlerUnion<T, Event> | undefined;
394
425
  oncanplaythrough?: EventHandlerUnion<T, Event> | undefined;
395
426
  onchange?: ChangeEventHandlerUnion<T, Event> | undefined;
396
427
  onclick?: EventHandlerUnion<T, MouseEvent> | undefined;
428
+ onclose?: EventHandlerUnion<T, Event> | undefined;
397
429
  // TODO `CommandEvent` is currently undefined in TS
398
430
  oncommand?: EventHandlerUnion<T, Event> | undefined;
399
431
  oncompositionend?: EventHandlerUnion<T, CompositionEvent> | undefined;
400
432
  oncompositionstart?: EventHandlerUnion<T, CompositionEvent> | undefined;
401
433
  oncompositionupdate?: EventHandlerUnion<T, CompositionEvent> | undefined;
434
+ oncontentvisibilityautostatechange?:
435
+ | EventHandlerUnion<T, ContentVisibilityAutoStateChangeEvent>
436
+ | undefined;
437
+ oncontextlost?: EventHandlerUnion<T, Event> | undefined;
402
438
  oncontextmenu?: EventHandlerUnion<T, PointerEvent> | undefined;
439
+ oncontextrestored?: EventHandlerUnion<T, Event> | undefined;
403
440
  oncopy?: EventHandlerUnion<T, ClipboardEvent> | undefined;
404
441
  oncuechange?: EventHandlerUnion<T, Event> | undefined;
405
442
  oncut?: EventHandlerUnion<T, ClipboardEvent> | undefined;
@@ -419,6 +456,9 @@ export namespace JSX {
419
456
  onfocus?: FocusEventHandlerUnion<T, FocusEvent> | undefined;
420
457
  onfocusin?: FocusEventHandlerUnion<T, FocusEvent> | undefined;
421
458
  onfocusout?: FocusEventHandlerUnion<T, FocusEvent> | undefined;
459
+ onformdata?: EventHandlerUnion<T, FormDataEvent> | undefined;
460
+ onfullscreenchange?: EventHandlerUnion<T, Event> | undefined;
461
+ onfullscreenerror?: EventHandlerUnion<T, Event> | undefined;
422
462
  ongotpointercapture?: EventHandlerUnion<T, PointerEvent> | undefined;
423
463
  oninput?: InputEventHandlerUnion<T, InputEvent> | undefined;
424
464
  oninvalid?: EventHandlerUnion<T, Event> | undefined;
@@ -448,6 +488,7 @@ export namespace JSX {
448
488
  onpointermove?: EventHandlerUnion<T, PointerEvent> | undefined;
449
489
  onpointerout?: EventHandlerUnion<T, PointerEvent> | undefined;
450
490
  onpointerover?: EventHandlerUnion<T, PointerEvent> | undefined;
491
+ onpointerrawupdate?: EventHandlerUnion<T, PointerEvent> | undefined;
451
492
  onpointerup?: EventHandlerUnion<T, PointerEvent> | undefined;
452
493
  onprogress?: EventHandlerUnion<T, ProgressEvent> | undefined;
453
494
  onratechange?: EventHandlerUnion<T, Event> | undefined;
@@ -455,11 +496,16 @@ export namespace JSX {
455
496
  onresize?: EventHandlerUnion<T, UIEvent> | undefined;
456
497
  onscroll?: EventHandlerUnion<T, Event> | undefined;
457
498
  onscrollend?: EventHandlerUnion<T, Event> | undefined;
499
+ // todo `SnapEvent` is currently undefined in TS
500
+ onscrollsnapchange?: EventHandlerUnion<T, Event> | undefined;
501
+ // todo `SnapEvent` is currently undefined in TS
502
+ onscrollsnapchanging?: EventHandlerUnion<T, Event> | undefined;
458
503
  onsecuritypolicyviolation?: EventHandlerUnion<T, SecurityPolicyViolationEvent> | undefined;
459
504
  onseeked?: EventHandlerUnion<T, Event> | undefined;
460
505
  onseeking?: EventHandlerUnion<T, Event> | undefined;
461
506
  onselect?: EventHandlerUnion<T, Event> | undefined;
462
507
  onselectionchange?: EventHandlerUnion<T, Event> | undefined;
508
+ onselectstart?: EventHandlerUnion<T, Event> | undefined;
463
509
  onslotchange?: EventHandlerUnion<T, Event> | undefined;
464
510
  onstalled?: EventHandlerUnion<T, Event> | undefined;
465
511
  onsubmit?: EventHandlerUnion<T, SubmitEvent> | undefined;
@@ -486,10 +532,15 @@ export namespace JSX {
486
532
  "on:animationiteration"?: EventHandlerWithOptionsUnion<T, AnimationEvent> | undefined;
487
533
  "on:animationstart"?: EventHandlerWithOptionsUnion<T, AnimationEvent> | undefined;
488
534
  "on:auxclick"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
535
+ "on:beforecopy"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
536
+ "on:beforecut"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
489
537
  "on:beforeinput"?:
490
538
  | EventHandlerWithOptionsUnion<T, InputEvent, InputEventHandler<T, InputEvent>>
491
539
  | undefined;
540
+ "on:beforematch"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
541
+ "on:beforepaste"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
492
542
  "on:beforetoggle"?: EventHandlerWithOptionsUnion<T, ToggleEvent> | undefined;
543
+ "on:beforexrselect"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
493
544
  "on:blur"?:
494
545
  | EventHandlerWithOptionsUnion<T, FocusEvent, FocusEventHandler<T, FocusEvent>>
495
546
  | undefined;
@@ -498,12 +549,18 @@ export namespace JSX {
498
549
  "on:canplaythrough"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
499
550
  "on:change"?: EventHandlerWithOptionsUnion<T, Event, ChangeEventHandler<T, Event>> | undefined;
500
551
  "on:click"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
552
+ "on:close"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
501
553
  // TODO `CommandEvent` is currently undefined in TS
502
554
  "on:command"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
503
555
  "on:compositionend"?: EventHandlerWithOptionsUnion<T, CompositionEvent> | undefined;
504
556
  "on:compositionstart"?: EventHandlerWithOptionsUnion<T, CompositionEvent> | undefined;
505
557
  "on:compositionupdate"?: EventHandlerWithOptionsUnion<T, CompositionEvent> | undefined;
558
+ "on:contentvisibilityautostatechange"?:
559
+ | EventHandlerWithOptionsUnion<T, ContentVisibilityAutoStateChangeEvent>
560
+ | undefined;
561
+ "on:contextlost"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
506
562
  "on:contextmenu"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
563
+ "on:contextrestored"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
507
564
  "on:copy"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
508
565
  "on:cuechange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
509
566
  "on:cut"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
@@ -529,6 +586,9 @@ export namespace JSX {
529
586
  "on:focusout"?:
530
587
  | EventHandlerWithOptionsUnion<T, FocusEvent, FocusEventHandler<T, FocusEvent>>
531
588
  | undefined;
589
+ "on:formdata"?: EventHandlerWithOptionsUnion<T, FormDataEvent> | undefined;
590
+ "on:fullscreenchange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
591
+ "on:fullscreenerror"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
532
592
  "on:gotpointercapture"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
533
593
  "on:input"?:
534
594
  | EventHandlerWithOptionsUnion<T, InputEvent, InputEventHandler<T, InputEvent>>
@@ -560,6 +620,7 @@ export namespace JSX {
560
620
  "on:pointermove"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
561
621
  "on:pointerout"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
562
622
  "on:pointerover"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
623
+ "on:pointerrawupdate"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
563
624
  "on:pointerup"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
564
625
  "on:progress"?: EventHandlerWithOptionsUnion<T, ProgressEvent> | undefined;
565
626
  "on:ratechange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
@@ -567,6 +628,10 @@ export namespace JSX {
567
628
  "on:resize"?: EventHandlerWithOptionsUnion<T, UIEvent> | undefined;
568
629
  "on:scroll"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
569
630
  "on:scrollend"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
631
+ // todo `SnapEvent` is currently undefined in TS
632
+ "on:scrollsnapchange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
633
+ // todo `SnapEvent` is currently undefined in TS
634
+ "on:scrollsnapchanging"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
570
635
  "on:securitypolicyviolation"?:
571
636
  | EventHandlerWithOptionsUnion<T, SecurityPolicyViolationEvent>
572
637
  | undefined;
@@ -574,6 +639,7 @@ export namespace JSX {
574
639
  "on:seeking"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
575
640
  "on:select"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
576
641
  "on:selectionchange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
642
+ "on:selectstart"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
577
643
  "on:slotchange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
578
644
  "on:stalled"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
579
645
  "on:submit"?: EventHandlerWithOptionsUnion<T, SubmitEvent> | undefined;
@@ -593,6 +659,13 @@ export namespace JSX {
593
659
  "on:wheel"?: EventHandlerWithOptionsUnion<T, WheelEvent> | undefined;
594
660
  }
595
661
 
662
+ /**
663
+ * Global `Element` keys, defined for all tags regardless of their namespace.
664
+ *
665
+ * That's `keys` that are defined BY ALL `HTMLElement/SVGElement/MathMLElement` interfaces.
666
+ *
667
+ * Includes `keys` defined for the `Element` and `Node` interfaces.
668
+ */
596
669
  interface DOMAttributes<T>
597
670
  extends CustomAttributes<T>,
598
671
  DirectiveAttributes,
@@ -604,11 +677,25 @@ export namespace JSX {
604
677
  OnCaptureAttributes<T>,
605
678
  CustomEventHandlersCamelCase<T>,
606
679
  CustomEventHandlersLowerCase<T>,
607
- CustomEventHandlersNamespaced<T> {
608
- children?: FunctionMaybe<Element | undefined>;
680
+ CustomEventHandlersNamespaced<T>,
681
+ AriaAttributes {
682
+ // [key: ClassKeys]: boolean;
683
+
684
+ // properties
609
685
  innerHTML?: FunctionMaybe<string>;
610
- innerText?: FunctionMaybe<string | number>;
611
686
  textContent?: FunctionMaybe<string | number>;
687
+
688
+ // attributes
689
+ autofocus?: FunctionMaybe<boolean | undefined>;
690
+ class?: FunctionMaybe<string | undefined>;
691
+ elementtiming?: FunctionMaybe<string | undefined>;
692
+ id?: FunctionMaybe<string | undefined>;
693
+ nonce?: FunctionMaybe<string | undefined>;
694
+ slot?: FunctionMaybe<string | undefined>;
695
+ style?: FunctionMaybe<CSSProperties | string | undefined>;
696
+ tabindex?: FunctionMaybe<number | string | undefined>;
697
+
698
+ tabIndex?: FunctionMaybe<number | string | undefined>;
612
699
  }
613
700
 
614
701
  interface CSSProperties extends csstype.PropertiesHyphen {
@@ -617,6 +704,70 @@ export namespace JSX {
617
704
  }
618
705
 
619
706
  type HTMLAutocapitalize = "off" | "none" | "on" | "sentences" | "words" | "characters";
707
+ type HTMLAutocomplete =
708
+ | "additional-name"
709
+ | "address-level1"
710
+ | "address-level2"
711
+ | "address-level3"
712
+ | "address-level4"
713
+ | "address-line1"
714
+ | "address-line2"
715
+ | "address-line3"
716
+ | "bday"
717
+ | "bday-day"
718
+ | "bday-month"
719
+ | "bday-year"
720
+ | "billing"
721
+ | "cc-additional-name"
722
+ | "cc-csc"
723
+ | "cc-exp"
724
+ | "cc-exp-month"
725
+ | "cc-exp-year"
726
+ | "cc-family-name"
727
+ | "cc-given-name"
728
+ | "cc-name"
729
+ | "cc-number"
730
+ | "cc-type"
731
+ | "country"
732
+ | "country-name"
733
+ | "current-password"
734
+ | "email"
735
+ | "family-name"
736
+ | "fax"
737
+ | "given-name"
738
+ | "home"
739
+ | "honorific-prefix"
740
+ | "honorific-suffix"
741
+ | "impp"
742
+ | "language"
743
+ | "mobile"
744
+ | "name"
745
+ | "new-password"
746
+ | "nickname"
747
+ | "off"
748
+ | "on"
749
+ | "organization"
750
+ | "organization-title"
751
+ | "pager"
752
+ | "photo"
753
+ | "postal-code"
754
+ | "sex"
755
+ | "shipping"
756
+ | "street-address"
757
+ | "tel"
758
+ | "tel-area-code"
759
+ | "tel-country-code"
760
+ | "tel-extension"
761
+ | "tel-local"
762
+ | "tel-local-prefix"
763
+ | "tel-local-suffix"
764
+ | "tel-national"
765
+ | "transaction-amount"
766
+ | "transaction-currency"
767
+ | "url"
768
+ | "username"
769
+ | "work"
770
+ | (string & {});
620
771
  type HTMLDir = "ltr" | "rtl" | "auto";
621
772
  type HTMLFormEncType = "application/x-www-form-urlencoded" | "multipart/form-data" | "text/plain";
622
773
  type HTMLFormMethod = "post" | "get" | "dialog";
@@ -1044,64 +1195,74 @@ export namespace JSX {
1044
1195
  // [key in CSSKeys as `style:${key}`]: csstype.PropertiesHyphen[key];
1045
1196
  // };
1046
1197
 
1047
- interface HTMLAttributes<T> extends AriaAttributes, DOMAttributes<T> {
1048
- // [key: ClassKeys]: boolean;
1049
- about?: FunctionMaybe<string | undefined>;
1198
+ /** `HTMLElement` interface keys only. (ex not svg/math) */
1199
+ interface HTMLAttributes<T> extends DOMAttributes<T> {
1200
+ innerText?: FunctionMaybe<string | number>;
1201
+
1050
1202
  accesskey?: FunctionMaybe<string | undefined>;
1051
1203
  autocapitalize?: FunctionMaybe<HTMLAutocapitalize | undefined>;
1052
- class?: FunctionMaybe<string | undefined>;
1053
- color?: FunctionMaybe<string | undefined>;
1204
+ autocorrect?: FunctionMaybe<"on" | "off" | undefined>;
1054
1205
  contenteditable?: FunctionMaybe<
1055
1206
  "true" | "false" | boolean | "plaintext-only" | "inherit" | undefined
1056
1207
  >;
1057
- contextmenu?: FunctionMaybe<string | undefined>;
1058
- datatype?: FunctionMaybe<string | undefined>;
1059
1208
  dir?: FunctionMaybe<HTMLDir | undefined>;
1060
1209
  draggable?: FunctionMaybe<boolean | "false" | "true" | undefined>;
1210
+ enterkeyhint?: FunctionMaybe<
1211
+ "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined
1212
+ >;
1061
1213
  exportparts?: FunctionMaybe<string | undefined>;
1062
1214
  hidden?: FunctionMaybe<boolean | "hidden" | "until-found" | undefined>;
1063
- id?: FunctionMaybe<string | undefined>;
1064
1215
  inert?: FunctionMaybe<boolean | undefined>;
1065
- inlist?: FunctionMaybe<any | undefined>;
1066
1216
  inputmode?: FunctionMaybe<
1067
1217
  "decimal" | "email" | "none" | "numeric" | "search" | "tel" | "text" | "url" | undefined
1068
1218
  >;
1069
1219
  is?: FunctionMaybe<string | undefined>;
1070
- itemid?: FunctionMaybe<string | undefined>;
1071
- itemprop?: FunctionMaybe<string | undefined>;
1072
- itemref?: FunctionMaybe<string | undefined>;
1073
- itemscope?: FunctionMaybe<boolean | undefined>;
1074
- itemtype?: FunctionMaybe<string | undefined>;
1075
1220
  lang?: FunctionMaybe<string | undefined>;
1076
1221
  part?: FunctionMaybe<string | undefined>;
1077
1222
  popover?: FunctionMaybe<boolean | "manual" | "auto" | undefined>;
1078
- prefix?: FunctionMaybe<string | undefined>;
1079
- property?: FunctionMaybe<string | undefined>;
1080
- resource?: FunctionMaybe<string | undefined>;
1081
- slot?: FunctionMaybe<string | undefined>;
1082
1223
  spellcheck?: FunctionMaybe<"true" | "false" | boolean | undefined>;
1083
- style?: FunctionMaybe<CSSProperties | string | undefined>;
1084
- tabindex?: FunctionMaybe<number | string | undefined>;
1085
1224
  title?: FunctionMaybe<string | undefined>;
1086
1225
  translate?: FunctionMaybe<"yes" | "no" | undefined>;
1087
- typeof?: FunctionMaybe<string | undefined>;
1088
- vocab?: FunctionMaybe<string | undefined>;
1089
1226
 
1090
1227
  accessKey?: FunctionMaybe<string | undefined>;
1091
1228
  autoCapitalize?: FunctionMaybe<HTMLAutocapitalize | undefined>;
1092
1229
  contentEditable?: FunctionMaybe<boolean | "plaintext-only" | "inherit" | undefined>;
1093
- contextMenu?: FunctionMaybe<string | undefined>;
1094
1230
  exportParts?: FunctionMaybe<string | undefined>;
1095
1231
  inputMode?: FunctionMaybe<
1096
1232
  "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined
1097
1233
  >;
1234
+
1235
+ // Microdata
1236
+ itemid?: FunctionMaybe<string | undefined>;
1237
+ itemprop?: FunctionMaybe<string | undefined>;
1238
+ itemref?: FunctionMaybe<string | undefined>;
1239
+ itemscope?: FunctionMaybe<boolean | undefined>;
1240
+ itemtype?: FunctionMaybe<string | undefined>;
1241
+
1098
1242
  itemId?: FunctionMaybe<string | undefined>;
1099
1243
  itemProp?: FunctionMaybe<string | undefined>;
1100
1244
  itemRef?: FunctionMaybe<string | undefined>;
1101
1245
  itemScope?: FunctionMaybe<boolean | undefined>;
1102
1246
  itemType?: FunctionMaybe<string | undefined>;
1103
- tabIndex?: FunctionMaybe<number | string | undefined>;
1247
+
1248
+ // RDFa Attributes
1249
+ about?: FunctionMaybe<string | undefined>;
1250
+ datatype?: FunctionMaybe<string | undefined>;
1251
+ inlist?: FunctionMaybe<any | undefined>;
1252
+ prefix?: FunctionMaybe<string | undefined>;
1253
+ property?: FunctionMaybe<string | undefined>;
1254
+ resource?: FunctionMaybe<string | undefined>;
1255
+ typeof?: FunctionMaybe<string | undefined>;
1256
+ vocab?: FunctionMaybe<string | undefined>;
1257
+
1258
+ /** @deprecated */
1259
+ contextmenu?: FunctionMaybe<string | undefined>;
1260
+ /** @deprecated */
1261
+ contextMenu?: FunctionMaybe<string | undefined>;
1104
1262
  }
1263
+
1264
+ // html elements
1265
+
1105
1266
  interface AnchorHTMLAttributes<T> extends HTMLAttributes<T> {
1106
1267
  download?: FunctionMaybe<string | undefined>;
1107
1268
  href?: FunctionMaybe<string | undefined>;
@@ -1152,15 +1313,14 @@ export namespace JSX {
1152
1313
  href?: FunctionMaybe<string | undefined>;
1153
1314
  target?: FunctionMaybe<"_self" | "_blank" | "_parent" | "_top" | (string & {}) | undefined>;
1154
1315
  }
1316
+ interface BdoHTMLAttributes<T> extends HTMLAttributes<T> {
1317
+ dir?: FunctionMaybe<"ltr" | "rtl" | undefined>;
1318
+ }
1155
1319
  interface BlockquoteHTMLAttributes<T> extends HTMLAttributes<T> {
1156
1320
  cite?: FunctionMaybe<string | undefined>;
1157
1321
  }
1158
- interface BodyHTMLAttributes<T>
1159
- extends HTMLAttributes<T>,
1160
- WindowEventMap<T>,
1161
- ElementEventMap<T> {}
1322
+ interface BodyHTMLAttributes<T> extends HTMLAttributes<T>, WindowEventMap<T> {}
1162
1323
  interface ButtonHTMLAttributes<T> extends HTMLAttributes<T> {
1163
- autofocus?: FunctionMaybe<boolean | undefined>;
1164
1324
  disabled?: FunctionMaybe<boolean | undefined>;
1165
1325
  form?: FunctionMaybe<string | undefined>;
1166
1326
  formaction?: FunctionMaybe<string | SerializableAttributeValue | undefined>;
@@ -1199,14 +1359,6 @@ export namespace JSX {
1199
1359
  height?: FunctionMaybe<number | string | undefined>;
1200
1360
  width?: FunctionMaybe<number | string | undefined>;
1201
1361
 
1202
- onContextLost?: EventHandlerUnion<T, Event> | undefined;
1203
- "on:contextlost"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
1204
- oncontextlost?: EventHandlerUnion<T, Event> | undefined;
1205
-
1206
- onContextRestored?: EventHandlerUnion<T, Event> | undefined;
1207
- "on:contextrestored"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
1208
- oncontextrestored?: EventHandlerUnion<T, Event> | undefined;
1209
-
1210
1362
  /**
1211
1363
  * @deprecated
1212
1364
  * @non-standard
@@ -1267,13 +1419,8 @@ export namespace JSX {
1267
1419
  */
1268
1420
  tabindex?: never;
1269
1421
 
1270
- onClose?: EventHandlerUnion<T, Event> | undefined;
1271
- "on:close"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
1272
- onclose?: EventHandlerUnion<T, Event> | undefined;
1273
-
1274
- onCancel?: EventHandlerUnion<T, Event> | undefined;
1275
- "on:cancel"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
1276
- oncancel?: EventHandlerUnion<T, Event> | undefined;
1422
+ /** @experimental */
1423
+ closedby: FunctionMaybe<"any" | "closerequest" | "none" | undefined>;
1277
1424
  }
1278
1425
  interface EmbedHTMLAttributes<T> extends HTMLAttributes<T> {
1279
1426
  height?: FunctionMaybe<number | string | undefined>;
@@ -1303,10 +1450,6 @@ export namespace JSX {
1303
1450
  rel?: FunctionMaybe<string | undefined>;
1304
1451
  target?: FunctionMaybe<"_self" | "_blank" | "_parent" | "_top" | (string & {}) | undefined>;
1305
1452
 
1306
- onFormData?: EventHandlerUnion<T, FormDataEvent> | undefined;
1307
- "on:formdata"?: EventHandlerWithOptionsUnion<T, FormDataEvent> | undefined;
1308
- onformdata?: EventHandlerUnion<T, FormDataEvent> | undefined;
1309
-
1310
1453
  noValidate?: FunctionMaybe<boolean | undefined>;
1311
1454
 
1312
1455
  /** @deprecated */
@@ -1368,7 +1511,6 @@ export namespace JSX {
1368
1511
  alt?: FunctionMaybe<string | undefined>;
1369
1512
  crossorigin?: FunctionMaybe<HTMLCrossorigin | undefined>;
1370
1513
  decoding?: FunctionMaybe<"sync" | "async" | "auto" | undefined>;
1371
- elementtiming?: FunctionMaybe<string | undefined>;
1372
1514
  fetchpriority?: FunctionMaybe<"high" | "low" | "auto" | undefined>;
1373
1515
  height?: FunctionMaybe<number | string | undefined>;
1374
1516
  ismap?: FunctionMaybe<boolean | undefined>;
@@ -1410,83 +1552,14 @@ export namespace JSX {
1410
1552
  }
1411
1553
  interface InputHTMLAttributes<T> extends HTMLAttributes<T> {
1412
1554
  accept?: FunctionMaybe<string | undefined>;
1555
+ alpha?: FunctionMaybe<boolean | undefined>;
1413
1556
  alt?: FunctionMaybe<string | undefined>;
1414
- autocomplete?: FunctionMaybe<
1415
- | "additional-name"
1416
- | "address-level1"
1417
- | "address-level2"
1418
- | "address-level3"
1419
- | "address-level4"
1420
- | "address-line1"
1421
- | "address-line2"
1422
- | "address-line3"
1423
- | "bday"
1424
- | "bday-day"
1425
- | "bday-month"
1426
- | "bday-year"
1427
- | "billing"
1428
- | "cc-additional-name"
1429
- | "cc-csc"
1430
- | "cc-exp"
1431
- | "cc-exp-month"
1432
- | "cc-exp-year"
1433
- | "cc-family-name"
1434
- | "cc-given-name"
1435
- | "cc-name"
1436
- | "cc-number"
1437
- | "cc-type"
1438
- | "country"
1439
- | "country-name"
1440
- | "current-password"
1441
- | "email"
1442
- | "family-name"
1443
- | "fax"
1444
- | "given-name"
1445
- | "home"
1446
- | "honorific-prefix"
1447
- | "honorific-suffix"
1448
- | "impp"
1449
- | "language"
1450
- | "mobile"
1451
- | "name"
1452
- | "new-password"
1453
- | "nickname"
1454
- | "off"
1455
- | "on"
1456
- | "organization"
1457
- | "organization-title"
1458
- | "pager"
1459
- | "photo"
1460
- | "postal-code"
1461
- | "sex"
1462
- | "shipping"
1463
- | "street-address"
1464
- | "tel"
1465
- | "tel-area-code"
1466
- | "tel-country-code"
1467
- | "tel-extension"
1468
- | "tel-local"
1469
- | "tel-local-prefix"
1470
- | "tel-local-suffix"
1471
- | "tel-national"
1472
- | "transaction-amount"
1473
- | "transaction-currency"
1474
- | "url"
1475
- | "username"
1476
- | "work"
1477
- | (string & {})
1478
- | undefined
1479
- >;
1480
- autocorrect?: FunctionMaybe<"on" | "off" | undefined>;
1481
- autofocus?: FunctionMaybe<boolean | undefined>;
1557
+ autocomplete?: FunctionMaybe<HTMLAutocomplete | undefined>;
1482
1558
  capture?: FunctionMaybe<"user" | "environment" | undefined>;
1483
1559
  checked?: FunctionMaybe<boolean | undefined>;
1484
- crossorigin?: FunctionMaybe<HTMLCrossorigin | undefined>;
1560
+ colorspace?: FunctionMaybe<string | undefined>;
1485
1561
  dirname?: FunctionMaybe<string | undefined>;
1486
1562
  disabled?: FunctionMaybe<boolean | undefined>;
1487
- enterkeyhint?: FunctionMaybe<
1488
- "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined
1489
- >;
1490
1563
  form?: FunctionMaybe<string | undefined>;
1491
1564
  formaction?: FunctionMaybe<string | SerializableAttributeValue | undefined>;
1492
1565
  formenctype?: FunctionMaybe<HTMLFormEncType | undefined>;
@@ -1544,7 +1617,6 @@ export namespace JSX {
1544
1617
  /** @non-standard */
1545
1618
  incremental?: FunctionMaybe<boolean | undefined>;
1546
1619
 
1547
- crossOrigin?: FunctionMaybe<HTMLCrossorigin | undefined>;
1548
1620
  formAction?: FunctionMaybe<string | SerializableAttributeValue | undefined>;
1549
1621
  formEnctype?: FunctionMaybe<HTMLFormEncType | undefined>;
1550
1622
  formMethod?: FunctionMaybe<HTMLFormMethod | undefined>;
@@ -1566,8 +1638,6 @@ export namespace JSX {
1566
1638
  dateTime?: FunctionMaybe<string | undefined>;
1567
1639
  }
1568
1640
  interface KeygenHTMLAttributes<T> extends HTMLAttributes<T> {
1569
- /** @deprecated */
1570
- autofocus?: FunctionMaybe<boolean | undefined>;
1571
1641
  /** @deprecated */
1572
1642
  challenge?: FunctionMaybe<string | undefined>;
1573
1643
  /** @deprecated */
@@ -1583,7 +1653,6 @@ export namespace JSX {
1583
1653
  }
1584
1654
  interface LabelHTMLAttributes<T> extends HTMLAttributes<T> {
1585
1655
  for?: FunctionMaybe<string | undefined>;
1586
- form?: FunctionMaybe<string | undefined>;
1587
1656
  }
1588
1657
  interface LiHTMLAttributes<T> extends HTMLAttributes<T> {
1589
1658
  value?: FunctionMaybe<number | string | undefined>;
@@ -1594,6 +1663,7 @@ export namespace JSX {
1594
1663
  interface LinkHTMLAttributes<T> extends HTMLAttributes<T> {
1595
1664
  as?: FunctionMaybe<HTMLLinkAs | undefined>;
1596
1665
  blocking?: FunctionMaybe<"render" | undefined>;
1666
+ color?: FunctionMaybe<string | undefined>;
1597
1667
  crossorigin?: FunctionMaybe<HTMLCrossorigin | undefined>;
1598
1668
  disabled?: FunctionMaybe<boolean | undefined>;
1599
1669
  fetchpriority?: FunctionMaybe<"high" | "low" | "auto" | undefined>;
@@ -1621,7 +1691,7 @@ export namespace JSX {
1621
1691
  interface MapHTMLAttributes<T> extends HTMLAttributes<T> {
1622
1692
  name?: FunctionMaybe<string | undefined>;
1623
1693
  }
1624
- interface MediaHTMLAttributes<T> extends HTMLAttributes<T>, ElementEventMap<T> {
1694
+ interface MediaHTMLAttributes<T> extends HTMLAttributes<T> {
1625
1695
  autoplay?: FunctionMaybe<boolean | undefined>;
1626
1696
  controls?: FunctionMaybe<boolean | undefined>;
1627
1697
  controlslist?: FunctionMaybe<
@@ -1775,7 +1845,6 @@ export namespace JSX {
1775
1845
  fetchpriority?: FunctionMaybe<"high" | "low" | "auto" | undefined>;
1776
1846
  integrity?: FunctionMaybe<string | undefined>;
1777
1847
  nomodule?: FunctionMaybe<boolean | undefined>;
1778
- nonce?: FunctionMaybe<string | undefined>;
1779
1848
  referrerpolicy?: FunctionMaybe<HTMLReferrerPolicy | undefined>;
1780
1849
  src?: FunctionMaybe<string | undefined>;
1781
1850
  type?: FunctionMaybe<"importmap" | "module" | "speculationrules" | (string & {}) | undefined>;
@@ -1795,8 +1864,7 @@ export namespace JSX {
1795
1864
  language?: FunctionMaybe<string | undefined>;
1796
1865
  }
1797
1866
  interface SelectHTMLAttributes<T> extends HTMLAttributes<T> {
1798
- autocomplete?: FunctionMaybe<string | undefined>;
1799
- autofocus?: FunctionMaybe<boolean | undefined>;
1867
+ autocomplete?: FunctionMaybe<HTMLAutocomplete | undefined>;
1800
1868
  disabled?: FunctionMaybe<boolean | undefined>;
1801
1869
  form?: FunctionMaybe<string | undefined>;
1802
1870
  multiple?: FunctionMaybe<boolean | undefined>;
@@ -1820,7 +1888,6 @@ export namespace JSX {
1820
1888
  interface StyleHTMLAttributes<T> extends HTMLAttributes<T> {
1821
1889
  blocking?: FunctionMaybe<"render" | undefined>;
1822
1890
  media?: FunctionMaybe<string | undefined>;
1823
- nonce?: FunctionMaybe<string | undefined>;
1824
1891
 
1825
1892
  /** @deprecated */
1826
1893
  scoped?: FunctionMaybe<boolean | undefined>;
@@ -1860,90 +1927,18 @@ export namespace JSX {
1860
1927
  }
1861
1928
  interface TemplateHTMLAttributes<T> extends HTMLAttributes<T> {
1862
1929
  shadowrootclonable?: FunctionMaybe<boolean | undefined>;
1930
+ shadowrootcustomelementregistry?: FunctionMaybe<boolean | undefined>;
1863
1931
  shadowrootdelegatesfocus?: FunctionMaybe<boolean | undefined>;
1864
1932
  shadowrootmode?: FunctionMaybe<"open" | "closed" | undefined>;
1865
1933
 
1866
1934
  /** @experimental */
1867
1935
  shadowrootserializable?: FunctionMaybe<boolean | undefined>;
1868
-
1869
- /** @deprecated */
1870
- content?: FunctionMaybe<DocumentFragment | undefined>;
1871
1936
  }
1872
1937
  interface TextareaHTMLAttributes<T> extends HTMLAttributes<T> {
1873
- autocomplete?: FunctionMaybe<
1874
- | "additional-name"
1875
- | "address-level1"
1876
- | "address-level2"
1877
- | "address-level3"
1878
- | "address-level4"
1879
- | "address-line1"
1880
- | "address-line2"
1881
- | "address-line3"
1882
- | "bday"
1883
- | "bday-day"
1884
- | "bday-month"
1885
- | "bday-year"
1886
- | "billing"
1887
- | "cc-additional-name"
1888
- | "cc-csc"
1889
- | "cc-exp"
1890
- | "cc-exp-month"
1891
- | "cc-exp-year"
1892
- | "cc-family-name"
1893
- | "cc-given-name"
1894
- | "cc-name"
1895
- | "cc-number"
1896
- | "cc-type"
1897
- | "country"
1898
- | "country-name"
1899
- | "current-password"
1900
- | "email"
1901
- | "family-name"
1902
- | "fax"
1903
- | "given-name"
1904
- | "home"
1905
- | "honorific-prefix"
1906
- | "honorific-suffix"
1907
- | "impp"
1908
- | "language"
1909
- | "mobile"
1910
- | "name"
1911
- | "new-password"
1912
- | "nickname"
1913
- | "off"
1914
- | "on"
1915
- | "organization"
1916
- | "organization-title"
1917
- | "pager"
1918
- | "photo"
1919
- | "postal-code"
1920
- | "sex"
1921
- | "shipping"
1922
- | "street-address"
1923
- | "tel"
1924
- | "tel-area-code"
1925
- | "tel-country-code"
1926
- | "tel-extension"
1927
- | "tel-local"
1928
- | "tel-local-prefix"
1929
- | "tel-local-suffix"
1930
- | "tel-national"
1931
- | "transaction-amount"
1932
- | "transaction-currency"
1933
- | "url"
1934
- | "username"
1935
- | "work"
1936
- | (string & {})
1937
- | undefined
1938
- >;
1939
- autocorrect?: FunctionMaybe<"on" | "off" | undefined>;
1940
- autofocus?: FunctionMaybe<boolean | undefined>;
1938
+ autocomplete?: FunctionMaybe<HTMLAutocomplete | undefined>;
1941
1939
  cols?: FunctionMaybe<number | string | undefined>;
1942
1940
  dirname?: FunctionMaybe<string | undefined>;
1943
1941
  disabled?: FunctionMaybe<boolean | undefined>;
1944
- enterkeyhint?: FunctionMaybe<
1945
- "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined
1946
- >;
1947
1942
  form?: FunctionMaybe<string | undefined>;
1948
1943
  maxlength?: FunctionMaybe<number | string | undefined>;
1949
1944
  minlength?: FunctionMaybe<number | string | undefined>;
@@ -2049,7 +2044,6 @@ export namespace JSX {
2049
2044
 
2050
2045
  // does this exists?
2051
2046
  allowfullscreen?: FunctionMaybe<boolean | undefined>;
2052
- autofocus?: FunctionMaybe<boolean | undefined>;
2053
2047
  autosize?: FunctionMaybe<boolean | undefined>;
2054
2048
 
2055
2049
  /** @deprecated */
@@ -2060,6 +2054,7 @@ export namespace JSX {
2060
2054
  guestinstance?: FunctionMaybe<string | undefined>;
2061
2055
  }
2062
2056
 
2057
+ // svg elements
2063
2058
  type SVGPreserveAspectRatio =
2064
2059
  | "none"
2065
2060
  | "xMinYMin"
@@ -2120,13 +2115,16 @@ export namespace JSX {
2120
2115
  | "defer xMidYMax slice"
2121
2116
  | "defer xMaxYMax slice";
2122
2117
  type SVGUnits = "userSpaceOnUse" | "objectBoundingBox";
2123
- interface CoreSVGAttributes<T> extends AriaAttributes, DOMAttributes<T> {
2124
- id?: FunctionMaybe<string | undefined>;
2118
+
2119
+ /** Global `SVGElement` interface keys only. (ex not html/math) */
2120
+ interface CoreSVGAttributes<T> extends DOMAttributes<T> {
2125
2121
  lang?: FunctionMaybe<string | undefined>;
2126
2122
  tabindex?: FunctionMaybe<number | string | undefined>;
2123
+ xmlns?: FunctionMaybe<string | undefined>;
2127
2124
 
2128
2125
  tabIndex?: FunctionMaybe<number | string | undefined>;
2129
2126
  }
2127
+
2130
2128
  interface StylableSVGAttributes {
2131
2129
  class?: FunctionMaybe<string | undefined>;
2132
2130
  style?: FunctionMaybe<CSSProperties | string | undefined>;
@@ -2293,7 +2291,23 @@ export namespace JSX {
2293
2291
  interface AnimationElementSVGAttributes<T>
2294
2292
  extends CoreSVGAttributes<T>,
2295
2293
  ExternalResourceSVGAttributes,
2296
- ConditionalProcessingSVGAttributes {}
2294
+ ConditionalProcessingSVGAttributes {
2295
+ // TODO TimeEvent is currently undefined on TS
2296
+ onBegin?: EventHandlerUnion<T, Event> | undefined;
2297
+ onbegin?: EventHandlerUnion<T, Event> | undefined;
2298
+ "on:begin"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
2299
+
2300
+ // TODO TimeEvent is currently undefined on TS
2301
+ onEnd?: EventHandlerUnion<T, Event> | undefined;
2302
+ onend?: EventHandlerUnion<T, Event> | undefined;
2303
+ "on:end"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
2304
+
2305
+ // TODO TimeEvent is currently undefined on TS
2306
+ onRepeat?: EventHandlerUnion<T, Event> | undefined;
2307
+ onrepeat?: EventHandlerUnion<T, Event> | undefined;
2308
+ "on:repeat"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
2309
+ }
2310
+
2297
2311
  interface ContainerElementSVGAttributes<T>
2298
2312
  extends CoreSVGAttributes<T>,
2299
2313
  ShapeElementSVGAttributes<T>,
@@ -2800,7 +2814,7 @@ export namespace JSX {
2800
2814
  y?: FunctionMaybe<number | string | undefined>;
2801
2815
  }
2802
2816
  interface SetSVGAttributes<T>
2803
- extends CoreSVGAttributes<T>,
2817
+ extends AnimationElementSVGAttributes<T>,
2804
2818
  StylableSVGAttributes,
2805
2819
  AnimationTimingSVGAttributes {}
2806
2820
  interface StopSVGAttributes<T>
@@ -2818,8 +2832,7 @@ export namespace JSX {
2818
2832
  FitToViewBoxSVGAttributes,
2819
2833
  ZoomAndPanSVGAttributes,
2820
2834
  PresentationSVGAttributes,
2821
- WindowEventMap<T>,
2822
- ElementEventMap<T> {
2835
+ WindowEventMap<T> {
2823
2836
  "xmlns:xlink"?: FunctionMaybe<string | undefined>;
2824
2837
  contentScriptType?: FunctionMaybe<string | undefined>;
2825
2838
  contentStyleType?: FunctionMaybe<string | undefined>;
@@ -2927,8 +2940,15 @@ export namespace JSX {
2927
2940
  viewTarget?: FunctionMaybe<string | undefined>;
2928
2941
  }
2929
2942
 
2930
- interface MathMLAttributes<T> extends HTMLAttributes<T> {
2943
+ // math elements
2944
+
2945
+ /** Global `MathMLElement` interface keys only. (ex not html/svg) */
2946
+ interface MathMLAttributes<T> extends DOMAttributes<T> {
2947
+ dir?: FunctionMaybe<HTMLDir | undefined>;
2931
2948
  displaystyle?: FunctionMaybe<boolean | undefined>;
2949
+ scriptlevel?: FunctionMaybe<string | undefined>;
2950
+ xmlns?: FunctionMaybe<string | undefined>;
2951
+
2932
2952
  /** @deprecated */
2933
2953
  href?: FunctionMaybe<string | undefined>;
2934
2954
  /** @deprecated */
@@ -2937,8 +2957,6 @@ export namespace JSX {
2937
2957
  mathcolor?: FunctionMaybe<string | undefined>;
2938
2958
  /** @deprecated */
2939
2959
  mathsize?: FunctionMaybe<string | undefined>;
2940
- nonce?: FunctionMaybe<string | undefined>;
2941
- scriptlevel?: FunctionMaybe<string | undefined>;
2942
2960
  }
2943
2961
 
2944
2962
  interface MathMLAnnotationElementAttributes<T> extends MathMLAttributes<T> {
@@ -3214,7 +3232,7 @@ export namespace JSX {
3214
3232
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/bdo
3215
3233
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3216
3234
  */
3217
- bdo: HTMLAttributes<HTMLElement>;
3235
+ bdo: BdoHTMLAttributes<HTMLElement>;
3218
3236
  /**
3219
3237
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/blockquote
3220
3238
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLQuoteElement
@@ -3743,12 +3761,6 @@ export namespace JSX {
3743
3761
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLUnknownElement
3744
3762
  */
3745
3763
  menuitem: HTMLAttributes<HTMLUnknownElement>;
3746
- /**
3747
- * @deprecated
3748
- * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/xxxxx
3749
- * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLUnknownElement
3750
- */
3751
- noindex: HTMLAttributes<HTMLUnknownElement>;
3752
3764
  /**
3753
3765
  * @deprecated
3754
3766
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/param