@solidjs/h 2.0.0-beta.11 → 2.0.0-beta.13

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.
@@ -30,10 +30,9 @@ import type { Element as SolidElement } from "solid-js";
30
30
  *
31
31
  * - Event handlers use `camelCase` such `onClick` and will be delegated when possible, bubbling
32
32
  * through the component tree, not the dom tree.
33
- * - Native event handlers use the namespace `on:` such `on:click`, and wont be delegated. bubbling
34
- * the dom tree.
33
+ * - Event handlers use camelCase attributes; native listener options should be handled with `ref`
34
+ * callbacks that call `addEventListener` directly.
35
35
  * - A global case-insensitive event handler can be added by extending `EventHandlersElement<T>`
36
- * - A native `on:` event handler can be added by extending `CustomEvents<T>` interface
37
36
  *
38
37
  * ## Boolean Attributes (property setter that accepts `true | false`):
39
38
  *
@@ -171,17 +170,6 @@ export namespace JSX {
171
170
  EHandler extends EventHandler<T, any> = EventHandler<T, E>
172
171
  > = EHandler | BoundEventHandler<T, E, EHandler>;
173
172
 
174
- interface EventHandlerWithOptions<T, E extends Event, EHandler = EventHandler<T, E>>
175
- extends AddEventListenerOptions, EventListenerOptions {
176
- handleEvent: EHandler;
177
- }
178
-
179
- type EventHandlerWithOptionsUnion<
180
- T,
181
- E extends Event,
182
- EHandler extends EventHandler<T, any> = EventHandler<T, E>
183
- > = EHandler | EventHandlerWithOptions<T, E, EHandler>;
184
-
185
173
  interface InputEventHandler<T, E extends InputEvent> {
186
174
  (
187
175
  e: E & {
@@ -253,13 +241,9 @@ export namespace JSX {
253
241
  $ServerOnly?: boolean | undefined;
254
242
  }
255
243
  interface ExplicitProperties {}
256
- interface CustomEvents {}
257
244
  type PropAttributes = {
258
245
  [Key in keyof ExplicitProperties as `prop:${Key}`]?: ExplicitProperties[Key];
259
246
  };
260
- type OnAttributes<T> = {
261
- [Key in keyof CustomEvents as `on:${Key}`]?: EventHandlerWithOptionsUnion<T, CustomEvents[Key]>;
262
- };
263
247
 
264
248
  /**
265
249
  * Writable, element-specific DOM properties exposed as `prop:*` attributes, auto-derived
@@ -723,33 +707,7 @@ export namespace JSX {
723
707
  onUnhandledRejection?: EventHandlerUnion<T, PromiseRejectionEvent> | undefined;
724
708
  onUnload?: EventHandlerUnion<T, Event> | undefined;
725
709
 
726
- "on:afterprint"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
727
- "on:beforeprint"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
728
- "on:beforeunload"?: EventHandlerWithOptionsUnion<T, BeforeUnloadEvent> | undefined;
729
- "on:devicemotion"?: EventHandlerWithOptionsUnion<T, DeviceMotionEvent> | undefined;
730
- "on:deviceorientation"?: EventHandlerWithOptionsUnion<T, DeviceOrientationEvent> | undefined;
731
- "on:deviceorientationabsolute"?:
732
- | EventHandlerWithOptionsUnion<T, DeviceOrientationEvent>
733
- | undefined;
734
- "on:gamepadconnected"?: EventHandlerWithOptionsUnion<T, GamepadEvent> | undefined;
735
- "on:gamepaddisconnected"?: EventHandlerWithOptionsUnion<T, GamepadEvent> | undefined;
736
- "on:hashchange"?: EventHandlerWithOptionsUnion<T, HashChangeEvent> | undefined;
737
- "on:languagechange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
738
- "on:message"?: EventHandlerWithOptionsUnion<T, MessageEvent> | undefined;
739
- "on:messageerror"?: EventHandlerWithOptionsUnion<T, MessageEvent> | undefined;
740
- "on:offline"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
741
- "on:online"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
742
710
  /** @deprecated Use `screen.orientation` (`ScreenOrientation.change`) instead. */
743
- "on:orientationchange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
744
- "on:pagehide"?: EventHandlerWithOptionsUnion<T, PageTransitionEvent> | undefined;
745
- "on:pagereveal"?: EventHandlerWithOptionsUnion<T, PageRevealEvent> | undefined;
746
- "on:pageshow"?: EventHandlerWithOptionsUnion<T, PageTransitionEvent> | undefined;
747
- "on:pageswap"?: EventHandlerWithOptionsUnion<T, PageSwapEvent> | undefined;
748
- "on:popstate"?: EventHandlerWithOptionsUnion<T, PopStateEvent> | undefined;
749
- "on:rejectionhandled"?: EventHandlerWithOptionsUnion<T, PromiseRejectionEvent> | undefined;
750
- "on:storage"?: EventHandlerWithOptionsUnion<T, StorageEvent> | undefined;
751
- "on:unhandledrejection"?: EventHandlerWithOptionsUnion<T, PromiseRejectionEvent> | undefined;
752
- "on:unload"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
753
711
  }
754
712
 
755
713
  /**
@@ -875,167 +833,23 @@ export namespace JSX {
875
833
  onVolumeChange?: EventHandlerUnion<T, Event> | undefined;
876
834
  onWaiting?: EventHandlerUnion<T, Event> | undefined;
877
835
  onWheel?: EventHandlerUnion<T, WheelEvent> | undefined;
878
-
879
- "on:abort"?: EventHandlerWithOptionsUnion<T, UIEvent> | undefined;
880
- "on:animationcancel"?: EventHandlerWithOptionsUnion<T, AnimationEvent> | undefined;
881
- "on:animationend"?: EventHandlerWithOptionsUnion<T, AnimationEvent> | undefined;
882
- "on:animationiteration"?: EventHandlerWithOptionsUnion<T, AnimationEvent> | undefined;
883
- "on:animationstart"?: EventHandlerWithOptionsUnion<T, AnimationEvent> | undefined;
884
- "on:auxclick"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
885
- "on:beforecopy"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
886
- "on:beforecut"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
887
- "on:beforeinput"?:
888
- | EventHandlerWithOptionsUnion<T, InputEvent, InputEventHandler<T, InputEvent>>
889
- | undefined;
890
- "on:beforematch"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
891
- "on:beforepaste"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
892
- "on:beforetoggle"?: EventHandlerWithOptionsUnion<T, ToggleEvent> | undefined;
893
- "on:beforexrselect"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
894
- "on:blur"?:
895
- | EventHandlerWithOptionsUnion<T, FocusEvent, FocusEventHandler<T, FocusEvent>>
896
- | undefined;
897
- "on:cancel"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
898
- "on:canplay"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
899
- "on:canplaythrough"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
900
- "on:change"?: EventHandlerWithOptionsUnion<T, Event, ChangeEventHandler<T, Event>> | undefined;
901
- "on:click"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
902
- "on:close"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
903
- "on:command"?: EventHandlerWithOptionsUnion<T, CommandEvent> | undefined;
904
- "on:compositionend"?: EventHandlerWithOptionsUnion<T, CompositionEvent> | undefined;
905
- "on:compositionstart"?: EventHandlerWithOptionsUnion<T, CompositionEvent> | undefined;
906
- "on:compositionupdate"?: EventHandlerWithOptionsUnion<T, CompositionEvent> | undefined;
907
- "on:contentvisibilityautostatechange"?:
908
- | EventHandlerWithOptionsUnion<T, ContentVisibilityAutoStateChangeEvent>
909
- | undefined;
910
- "on:contextlost"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
911
- "on:contextmenu"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
912
- "on:contextrestored"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
913
- "on:copy"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
914
- "on:cuechange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
915
- "on:cut"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
916
- "on:dblclick"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
917
- "on:drag"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
918
- "on:dragend"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
919
- "on:dragenter"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
920
- "on:dragexit"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
921
- "on:dragleave"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
922
- "on:dragover"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
923
- "on:dragstart"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
924
- "on:drop"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
925
- "on:durationchange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
926
- "on:emptied"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
927
- "on:ended"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
928
- "on:error"?: EventHandlerWithOptionsUnion<T, ErrorEvent> | undefined;
929
- "on:focus"?:
930
- | EventHandlerWithOptionsUnion<T, FocusEvent, FocusEventHandler<T, FocusEvent>>
931
- | undefined;
932
- "on:focusin"?:
933
- | EventHandlerWithOptionsUnion<T, FocusEvent, FocusEventHandler<T, FocusEvent>>
934
- | undefined;
935
- "on:focusout"?:
936
- | EventHandlerWithOptionsUnion<T, FocusEvent, FocusEventHandler<T, FocusEvent>>
937
- | undefined;
938
- "on:formdata"?: EventHandlerWithOptionsUnion<T, FormDataEvent> | undefined;
939
- "on:fullscreenchange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
940
- "on:fullscreenerror"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
941
- "on:gotpointercapture"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
942
- "on:input"?:
943
- | EventHandlerWithOptionsUnion<T, InputEvent, InputEventHandler<T, InputEvent>>
944
- | undefined;
945
- "on:invalid"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
946
- "on:keydown"?: EventHandlerWithOptionsUnion<T, KeyboardEvent> | undefined;
947
- "on:keypress"?: EventHandlerWithOptionsUnion<T, KeyboardEvent> | undefined;
948
- "on:keyup"?: EventHandlerWithOptionsUnion<T, KeyboardEvent> | undefined;
949
- "on:load"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
950
- "on:loadeddata"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
951
- "on:loadedmetadata"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
952
- "on:loadstart"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
953
- "on:lostpointercapture"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
954
- "on:mousedown"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
955
- "on:mouseenter"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
956
- "on:mouseleave"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
957
- "on:mousemove"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
958
- "on:mouseout"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
959
- "on:mouseover"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
960
- "on:mouseup"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
961
- "on:paste"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
962
- "on:pause"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
963
- "on:play"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
964
- "on:playing"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
965
- "on:pointercancel"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
966
- "on:pointerdown"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
967
- "on:pointerenter"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
968
- "on:pointerleave"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
969
- "on:pointermove"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
970
- "on:pointerout"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
971
- "on:pointerover"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
972
- "on:pointerrawupdate"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
973
- "on:pointerup"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
974
- "on:progress"?: EventHandlerWithOptionsUnion<T, ProgressEvent> | undefined;
975
- "on:ratechange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
976
- "on:reset"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
977
- "on:resize"?: EventHandlerWithOptionsUnion<T, UIEvent> | undefined;
978
- "on:scroll"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
979
- "on:scrollend"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
980
- "on:scrollsnapchange"?: EventHandlerWithOptionsUnion<T, SnapEvent> | undefined;
981
- "on:scrollsnapchanging"?: EventHandlerWithOptionsUnion<T, SnapEvent> | 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
836
  }
1008
837
 
1009
838
  // EventName = "click" | "mousedown" ...
1010
839
 
1011
840
  type EventName =
1012
841
  | (keyof EventHandlersWindow<any> extends infer K
1013
- ? K extends `on:${infer T}`
1014
- ? T
1015
- : K extends `on${infer T}`
1016
- ? Lowercase<T>
1017
- : never
842
+ ? K extends `on${infer T}`
843
+ ? Lowercase<T>
844
+ : never
1018
845
  : never)
1019
846
  | (keyof EventHandlersElement<any> extends infer K
1020
- ? K extends `on:${infer T}`
1021
- ? T
1022
- : K extends `on${infer T}`
1023
- ? Lowercase<T>
1024
- : never
847
+ ? K extends `on${infer T}`
848
+ ? Lowercase<T>
849
+ : never
1025
850
  : never)
1026
851
  | (string & {});
1027
852
 
1028
- type ExtractEventType<T> = {
1029
- [K in keyof T as K extends `on:${infer Name}`
1030
- ? Name
1031
- : never]: T[K] extends EventHandlerWithOptionsUnion<Element, infer E> ? E : never;
1032
- };
1033
-
1034
- // EventType["click"] = MouseEvent
1035
-
1036
- type EventType = ExtractEventType<EventHandlersElement<Element>> &
1037
- ExtractEventType<EventHandlersWindow<Element>>;
1038
-
1039
853
  // GLOBAL ATTRIBUTES
1040
854
 
1041
855
  /**
@@ -1045,12 +859,7 @@ export namespace JSX {
1045
859
  * 2. Includes `keys` defined by `Element` and `Node` interfaces.
1046
860
  */
1047
861
  interface ElementAttributes<T>
1048
- extends
1049
- CustomAttributes<T>,
1050
- PropAttributes,
1051
- OnAttributes<T>,
1052
- EventHandlersElement<T>,
1053
- AriaAttributes {
862
+ extends CustomAttributes<T>, PropAttributes, EventHandlersElement<T>, AriaAttributes {
1054
863
  // [key: ClassKeys]: boolean;
1055
864
 
1056
865
  // properties
@@ -1719,13 +1528,6 @@ export namespace JSX {
1719
1528
  src?: FunctionMaybe<string | RemoveAttribute>;
1720
1529
 
1721
1530
  onEncrypted?: EventHandlerUnion<T, MediaEncryptedEvent> | undefined;
1722
- "on:encrypted"?: EventHandlerWithOptionsUnion<T, MediaEncryptedEvent> | undefined;
1723
-
1724
- onWaitingForKey?: EventHandlerUnion<T, Event> | undefined;
1725
- "on:waitingforkey"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
1726
-
1727
- /** @deprecated */
1728
- mediagroup?: FunctionMaybe<string | RemoveAttribute>;
1729
1531
 
1730
1532
  // special cases locked to properties
1731
1533
 
@@ -2064,14 +1866,6 @@ export namespace JSX {
2064
1866
  width?: FunctionMaybe<number | string | RemoveAttribute>;
2065
1867
 
2066
1868
  onEnterPictureInPicture?: EventHandlerUnion<T, PictureInPictureEvent> | undefined;
2067
- "on:enterpictureinpicture"?: EventHandlerWithOptionsUnion<T, PictureInPictureEvent> | undefined;
2068
-
2069
- onLeavePictureInPicture?: EventHandlerUnion<T, PictureInPictureEvent> | undefined;
2070
- "on:leavepictureinpicture"?: EventHandlerWithOptionsUnion<T, PictureInPictureEvent> | undefined;
2071
- }
2072
-
2073
- interface WebViewHTMLAttributes<T> extends HTMLAttributes<T> {
2074
- allowpopups?: FunctionMaybe<BooleanAttribute | RemoveAttribute>;
2075
1869
  disableblinkfeatures?: FunctionMaybe<string | RemoveAttribute>;
2076
1870
  disablewebsecurity?: FunctionMaybe<BooleanAttribute | RemoveAttribute>;
2077
1871
  enableblinkfeatures?: FunctionMaybe<string | RemoveAttribute>;
@@ -2348,32 +2142,6 @@ export namespace JSX {
2348
2142
  interface AnimationElementSVGAttributes<T>
2349
2143
  extends SVGAttributes<T>, ExternalResourceSVGAttributes, ConditionalProcessingSVGAttributes {
2350
2144
  onBegin?: EventHandlerUnion<T, TimeEvent> | undefined;
2351
- "on:begin"?: EventHandlerWithOptionsUnion<T, TimeEvent> | undefined;
2352
-
2353
- onEnd?: EventHandlerUnion<T, TimeEvent> | undefined;
2354
- "on:end"?: EventHandlerWithOptionsUnion<T, TimeEvent> | undefined;
2355
-
2356
- onRepeat?: EventHandlerUnion<T, TimeEvent> | undefined;
2357
- "on:repeat"?: EventHandlerWithOptionsUnion<T, TimeEvent> | undefined;
2358
- }
2359
- interface ContainerElementSVGAttributes<T>
2360
- extends
2361
- SVGAttributes<T>,
2362
- ShapeElementSVGAttributes<T>,
2363
- Pick<
2364
- PresentationSVGAttributes,
2365
- | "clip-path"
2366
- | "mask"
2367
- | "cursor"
2368
- | "opacity"
2369
- | "filter"
2370
- | "enable-background"
2371
- | "color-interpolation"
2372
- | "color-rendering"
2373
- > {}
2374
- interface FilterPrimitiveElementSVGAttributes<T>
2375
- extends SVGAttributes<T>, Pick<PresentationSVGAttributes, "color-interpolation-filters"> {
2376
- height?: FunctionMaybe<number | string | RemoveAttribute>;
2377
2145
  result?: FunctionMaybe<string | RemoveAttribute>;
2378
2146
  width?: FunctionMaybe<number | string | RemoveAttribute>;
2379
2147
  x?: FunctionMaybe<number | string | RemoveAttribute>;
@@ -30,10 +30,9 @@ import type { Element as SolidElement } from "solid-js";
30
30
  *
31
31
  * - Event handlers use `camelCase` such `onClick` and will be delegated when possible, bubbling
32
32
  * through the component tree, not the dom tree.
33
- * - Native event handlers use the namespace `on:` such `on:click`, and wont be delegated. bubbling
34
- * the dom tree.
33
+ * - Event handlers use camelCase attributes; native listener options should be handled with `ref`
34
+ * callbacks that call `addEventListener` directly.
35
35
  * - A global case-insensitive event handler can be added by extending `EventHandlersElement<T>`
36
- * - A native `on:` event handler can be added by extending `CustomEvents<T>` interface
37
36
  *
38
37
  * ## Boolean Attributes (property setter that accepts `true | false`):
39
38
  *
@@ -171,17 +170,6 @@ export namespace JSX {
171
170
  EHandler extends EventHandler<T, any> = EventHandler<T, E>
172
171
  > = EHandler | BoundEventHandler<T, E, EHandler>;
173
172
 
174
- interface EventHandlerWithOptions<T, E extends Event, EHandler = EventHandler<T, E>>
175
- extends AddEventListenerOptions, EventListenerOptions {
176
- handleEvent: EHandler;
177
- }
178
-
179
- type EventHandlerWithOptionsUnion<
180
- T,
181
- E extends Event,
182
- EHandler extends EventHandler<T, any> = EventHandler<T, E>
183
- > = EHandler | EventHandlerWithOptions<T, E, EHandler>;
184
-
185
173
  interface InputEventHandler<T, E extends InputEvent> {
186
174
  (
187
175
  e: E & {
@@ -253,13 +241,9 @@ export namespace JSX {
253
241
  $ServerOnly?: boolean | undefined;
254
242
  }
255
243
  interface ExplicitProperties {}
256
- interface CustomEvents {}
257
244
  type PropAttributes = {
258
245
  [Key in keyof ExplicitProperties as `prop:${Key}`]?: ExplicitProperties[Key];
259
246
  };
260
- type OnAttributes<T> = {
261
- [Key in keyof CustomEvents as `on:${Key}`]?: EventHandlerWithOptionsUnion<T, CustomEvents[Key]>;
262
- };
263
247
 
264
248
  /**
265
249
  * Writable, element-specific DOM properties exposed as `prop:*` attributes, auto-derived
@@ -723,33 +707,7 @@ export namespace JSX {
723
707
  onUnhandledRejection?: EventHandlerUnion<T, PromiseRejectionEvent> | undefined;
724
708
  onUnload?: EventHandlerUnion<T, Event> | undefined;
725
709
 
726
- "on:afterprint"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
727
- "on:beforeprint"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
728
- "on:beforeunload"?: EventHandlerWithOptionsUnion<T, BeforeUnloadEvent> | undefined;
729
- "on:devicemotion"?: EventHandlerWithOptionsUnion<T, DeviceMotionEvent> | undefined;
730
- "on:deviceorientation"?: EventHandlerWithOptionsUnion<T, DeviceOrientationEvent> | undefined;
731
- "on:deviceorientationabsolute"?:
732
- | EventHandlerWithOptionsUnion<T, DeviceOrientationEvent>
733
- | undefined;
734
- "on:gamepadconnected"?: EventHandlerWithOptionsUnion<T, GamepadEvent> | undefined;
735
- "on:gamepaddisconnected"?: EventHandlerWithOptionsUnion<T, GamepadEvent> | undefined;
736
- "on:hashchange"?: EventHandlerWithOptionsUnion<T, HashChangeEvent> | undefined;
737
- "on:languagechange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
738
- "on:message"?: EventHandlerWithOptionsUnion<T, MessageEvent> | undefined;
739
- "on:messageerror"?: EventHandlerWithOptionsUnion<T, MessageEvent> | undefined;
740
- "on:offline"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
741
- "on:online"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
742
710
  /** @deprecated Use `screen.orientation` (`ScreenOrientation.change`) instead. */
743
- "on:orientationchange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
744
- "on:pagehide"?: EventHandlerWithOptionsUnion<T, PageTransitionEvent> | undefined;
745
- "on:pagereveal"?: EventHandlerWithOptionsUnion<T, PageRevealEvent> | undefined;
746
- "on:pageshow"?: EventHandlerWithOptionsUnion<T, PageTransitionEvent> | undefined;
747
- "on:pageswap"?: EventHandlerWithOptionsUnion<T, PageSwapEvent> | undefined;
748
- "on:popstate"?: EventHandlerWithOptionsUnion<T, PopStateEvent> | undefined;
749
- "on:rejectionhandled"?: EventHandlerWithOptionsUnion<T, PromiseRejectionEvent> | undefined;
750
- "on:storage"?: EventHandlerWithOptionsUnion<T, StorageEvent> | undefined;
751
- "on:unhandledrejection"?: EventHandlerWithOptionsUnion<T, PromiseRejectionEvent> | undefined;
752
- "on:unload"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
753
711
  }
754
712
 
755
713
  /**
@@ -875,167 +833,23 @@ export namespace JSX {
875
833
  onVolumeChange?: EventHandlerUnion<T, Event> | undefined;
876
834
  onWaiting?: EventHandlerUnion<T, Event> | undefined;
877
835
  onWheel?: EventHandlerUnion<T, WheelEvent> | undefined;
878
-
879
- "on:abort"?: EventHandlerWithOptionsUnion<T, UIEvent> | undefined;
880
- "on:animationcancel"?: EventHandlerWithOptionsUnion<T, AnimationEvent> | undefined;
881
- "on:animationend"?: EventHandlerWithOptionsUnion<T, AnimationEvent> | undefined;
882
- "on:animationiteration"?: EventHandlerWithOptionsUnion<T, AnimationEvent> | undefined;
883
- "on:animationstart"?: EventHandlerWithOptionsUnion<T, AnimationEvent> | undefined;
884
- "on:auxclick"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
885
- "on:beforecopy"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
886
- "on:beforecut"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
887
- "on:beforeinput"?:
888
- | EventHandlerWithOptionsUnion<T, InputEvent, InputEventHandler<T, InputEvent>>
889
- | undefined;
890
- "on:beforematch"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
891
- "on:beforepaste"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
892
- "on:beforetoggle"?: EventHandlerWithOptionsUnion<T, ToggleEvent> | undefined;
893
- "on:beforexrselect"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
894
- "on:blur"?:
895
- | EventHandlerWithOptionsUnion<T, FocusEvent, FocusEventHandler<T, FocusEvent>>
896
- | undefined;
897
- "on:cancel"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
898
- "on:canplay"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
899
- "on:canplaythrough"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
900
- "on:change"?: EventHandlerWithOptionsUnion<T, Event, ChangeEventHandler<T, Event>> | undefined;
901
- "on:click"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
902
- "on:close"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
903
- "on:command"?: EventHandlerWithOptionsUnion<T, CommandEvent> | undefined;
904
- "on:compositionend"?: EventHandlerWithOptionsUnion<T, CompositionEvent> | undefined;
905
- "on:compositionstart"?: EventHandlerWithOptionsUnion<T, CompositionEvent> | undefined;
906
- "on:compositionupdate"?: EventHandlerWithOptionsUnion<T, CompositionEvent> | undefined;
907
- "on:contentvisibilityautostatechange"?:
908
- | EventHandlerWithOptionsUnion<T, ContentVisibilityAutoStateChangeEvent>
909
- | undefined;
910
- "on:contextlost"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
911
- "on:contextmenu"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
912
- "on:contextrestored"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
913
- "on:copy"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
914
- "on:cuechange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
915
- "on:cut"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
916
- "on:dblclick"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
917
- "on:drag"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
918
- "on:dragend"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
919
- "on:dragenter"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
920
- "on:dragexit"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
921
- "on:dragleave"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
922
- "on:dragover"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
923
- "on:dragstart"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
924
- "on:drop"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
925
- "on:durationchange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
926
- "on:emptied"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
927
- "on:ended"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
928
- "on:error"?: EventHandlerWithOptionsUnion<T, ErrorEvent> | undefined;
929
- "on:focus"?:
930
- | EventHandlerWithOptionsUnion<T, FocusEvent, FocusEventHandler<T, FocusEvent>>
931
- | undefined;
932
- "on:focusin"?:
933
- | EventHandlerWithOptionsUnion<T, FocusEvent, FocusEventHandler<T, FocusEvent>>
934
- | undefined;
935
- "on:focusout"?:
936
- | EventHandlerWithOptionsUnion<T, FocusEvent, FocusEventHandler<T, FocusEvent>>
937
- | undefined;
938
- "on:formdata"?: EventHandlerWithOptionsUnion<T, FormDataEvent> | undefined;
939
- "on:fullscreenchange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
940
- "on:fullscreenerror"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
941
- "on:gotpointercapture"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
942
- "on:input"?:
943
- | EventHandlerWithOptionsUnion<T, InputEvent, InputEventHandler<T, InputEvent>>
944
- | undefined;
945
- "on:invalid"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
946
- "on:keydown"?: EventHandlerWithOptionsUnion<T, KeyboardEvent> | undefined;
947
- "on:keypress"?: EventHandlerWithOptionsUnion<T, KeyboardEvent> | undefined;
948
- "on:keyup"?: EventHandlerWithOptionsUnion<T, KeyboardEvent> | undefined;
949
- "on:load"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
950
- "on:loadeddata"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
951
- "on:loadedmetadata"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
952
- "on:loadstart"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
953
- "on:lostpointercapture"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
954
- "on:mousedown"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
955
- "on:mouseenter"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
956
- "on:mouseleave"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
957
- "on:mousemove"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
958
- "on:mouseout"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
959
- "on:mouseover"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
960
- "on:mouseup"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
961
- "on:paste"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
962
- "on:pause"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
963
- "on:play"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
964
- "on:playing"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
965
- "on:pointercancel"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
966
- "on:pointerdown"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
967
- "on:pointerenter"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
968
- "on:pointerleave"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
969
- "on:pointermove"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
970
- "on:pointerout"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
971
- "on:pointerover"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
972
- "on:pointerrawupdate"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
973
- "on:pointerup"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
974
- "on:progress"?: EventHandlerWithOptionsUnion<T, ProgressEvent> | undefined;
975
- "on:ratechange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
976
- "on:reset"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
977
- "on:resize"?: EventHandlerWithOptionsUnion<T, UIEvent> | undefined;
978
- "on:scroll"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
979
- "on:scrollend"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
980
- "on:scrollsnapchange"?: EventHandlerWithOptionsUnion<T, SnapEvent> | undefined;
981
- "on:scrollsnapchanging"?: EventHandlerWithOptionsUnion<T, SnapEvent> | 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
836
  }
1008
837
 
1009
838
  // EventName = "click" | "mousedown" ...
1010
839
 
1011
840
  type EventName =
1012
841
  | (keyof EventHandlersWindow<any> extends infer K
1013
- ? K extends `on:${infer T}`
1014
- ? T
1015
- : K extends `on${infer T}`
1016
- ? Lowercase<T>
1017
- : never
842
+ ? K extends `on${infer T}`
843
+ ? Lowercase<T>
844
+ : never
1018
845
  : never)
1019
846
  | (keyof EventHandlersElement<any> extends infer K
1020
- ? K extends `on:${infer T}`
1021
- ? T
1022
- : K extends `on${infer T}`
1023
- ? Lowercase<T>
1024
- : never
847
+ ? K extends `on${infer T}`
848
+ ? Lowercase<T>
849
+ : never
1025
850
  : never)
1026
851
  | (string & {});
1027
852
 
1028
- type ExtractEventType<T> = {
1029
- [K in keyof T as K extends `on:${infer Name}`
1030
- ? Name
1031
- : never]: T[K] extends EventHandlerWithOptionsUnion<Element, infer E> ? E : never;
1032
- };
1033
-
1034
- // EventType["click"] = MouseEvent
1035
-
1036
- type EventType = ExtractEventType<EventHandlersElement<Element>> &
1037
- ExtractEventType<EventHandlersWindow<Element>>;
1038
-
1039
853
  // GLOBAL ATTRIBUTES
1040
854
 
1041
855
  /**
@@ -1045,12 +859,7 @@ export namespace JSX {
1045
859
  * 2. Includes `keys` defined by `Element` and `Node` interfaces.
1046
860
  */
1047
861
  interface ElementAttributes<T>
1048
- extends
1049
- CustomAttributes<T>,
1050
- PropAttributes,
1051
- OnAttributes<T>,
1052
- EventHandlersElement<T>,
1053
- AriaAttributes {
862
+ extends CustomAttributes<T>, PropAttributes, EventHandlersElement<T>, AriaAttributes {
1054
863
  // [key: ClassKeys]: boolean;
1055
864
 
1056
865
  // properties
@@ -1719,13 +1528,6 @@ export namespace JSX {
1719
1528
  src?: FunctionMaybe<string | RemoveAttribute>;
1720
1529
 
1721
1530
  onEncrypted?: EventHandlerUnion<T, MediaEncryptedEvent> | undefined;
1722
- "on:encrypted"?: EventHandlerWithOptionsUnion<T, MediaEncryptedEvent> | undefined;
1723
-
1724
- onWaitingForKey?: EventHandlerUnion<T, Event> | undefined;
1725
- "on:waitingforkey"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
1726
-
1727
- /** @deprecated */
1728
- mediagroup?: FunctionMaybe<string | RemoveAttribute>;
1729
1531
 
1730
1532
  // special cases locked to properties
1731
1533
 
@@ -2064,14 +1866,6 @@ export namespace JSX {
2064
1866
  width?: FunctionMaybe<number | string | RemoveAttribute>;
2065
1867
 
2066
1868
  onEnterPictureInPicture?: EventHandlerUnion<T, PictureInPictureEvent> | undefined;
2067
- "on:enterpictureinpicture"?: EventHandlerWithOptionsUnion<T, PictureInPictureEvent> | undefined;
2068
-
2069
- onLeavePictureInPicture?: EventHandlerUnion<T, PictureInPictureEvent> | undefined;
2070
- "on:leavepictureinpicture"?: EventHandlerWithOptionsUnion<T, PictureInPictureEvent> | undefined;
2071
- }
2072
-
2073
- interface WebViewHTMLAttributes<T> extends HTMLAttributes<T> {
2074
- allowpopups?: FunctionMaybe<BooleanAttribute | RemoveAttribute>;
2075
1869
  disableblinkfeatures?: FunctionMaybe<string | RemoveAttribute>;
2076
1870
  disablewebsecurity?: FunctionMaybe<BooleanAttribute | RemoveAttribute>;
2077
1871
  enableblinkfeatures?: FunctionMaybe<string | RemoveAttribute>;
@@ -2348,32 +2142,6 @@ export namespace JSX {
2348
2142
  interface AnimationElementSVGAttributes<T>
2349
2143
  extends SVGAttributes<T>, ExternalResourceSVGAttributes, ConditionalProcessingSVGAttributes {
2350
2144
  onBegin?: EventHandlerUnion<T, TimeEvent> | undefined;
2351
- "on:begin"?: EventHandlerWithOptionsUnion<T, TimeEvent> | undefined;
2352
-
2353
- onEnd?: EventHandlerUnion<T, TimeEvent> | undefined;
2354
- "on:end"?: EventHandlerWithOptionsUnion<T, TimeEvent> | undefined;
2355
-
2356
- onRepeat?: EventHandlerUnion<T, TimeEvent> | undefined;
2357
- "on:repeat"?: EventHandlerWithOptionsUnion<T, TimeEvent> | undefined;
2358
- }
2359
- interface ContainerElementSVGAttributes<T>
2360
- extends
2361
- SVGAttributes<T>,
2362
- ShapeElementSVGAttributes<T>,
2363
- Pick<
2364
- PresentationSVGAttributes,
2365
- | "clip-path"
2366
- | "mask"
2367
- | "cursor"
2368
- | "opacity"
2369
- | "filter"
2370
- | "enable-background"
2371
- | "color-interpolation"
2372
- | "color-rendering"
2373
- > {}
2374
- interface FilterPrimitiveElementSVGAttributes<T>
2375
- extends SVGAttributes<T>, Pick<PresentationSVGAttributes, "color-interpolation-filters"> {
2376
- height?: FunctionMaybe<number | string | RemoveAttribute>;
2377
2145
  result?: FunctionMaybe<string | RemoveAttribute>;
2378
2146
  width?: FunctionMaybe<number | string | RemoveAttribute>;
2379
2147
  x?: FunctionMaybe<number | string | RemoveAttribute>;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@solidjs/h",
3
3
  "description": "Hyperscript / h() factory for Solid — write components without compiled JSX.",
4
- "version": "2.0.0-beta.11",
4
+ "version": "2.0.0-beta.13",
5
5
  "author": "Ryan Carniato",
6
6
  "license": "MIT",
7
7
  "homepage": "https://solidjs.com",
@@ -63,11 +63,11 @@
63
63
  "./types/*": "./types/*"
64
64
  },
65
65
  "peerDependencies": {
66
- "@solidjs/web": "^2.0.0-beta.11"
66
+ "@solidjs/web": "^2.0.0-beta.13"
67
67
  },
68
68
  "devDependencies": {
69
- "@solidjs/web": "2.0.0-beta.11",
70
- "solid-js": "2.0.0-beta.11"
69
+ "@solidjs/web": "2.0.0-beta.13",
70
+ "solid-js": "2.0.0-beta.13"
71
71
  },
72
72
  "scripts": {
73
73
  "build": "npm-run-all -nl build:clean types:copy build:js",