@pixui-dev/pxw 0.1.20 → 0.1.21

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 (95) hide show
  1. package/bin/pxw.js +199 -199
  2. package/bin/wpbuild.js +10 -10
  3. package/config/default.conf +20 -20
  4. package/config/devops.js +372 -361
  5. package/config/h5es.js +10 -10
  6. package/config/index.html +183 -181
  7. package/config/pfbs.js +245 -245
  8. package/config/util.js +140 -140
  9. package/config/webpack.js +325 -309
  10. package/lib/assets/check.html +62 -62
  11. package/lib/assets/preact.js +4354 -4354
  12. package/lib/check/main.less +62 -62
  13. package/lib/check/main.tsx +41 -41
  14. package/lib/check/tool.js +3 -3
  15. package/lib/check/util.tsx +110 -110
  16. package/lib/grpc-web/dist/ChunkParser.js +117 -117
  17. package/lib/grpc-web/dist/Code.js +58 -58
  18. package/lib/grpc-web/dist/client.js +299 -299
  19. package/lib/grpc-web/dist/debug.js +16 -16
  20. package/lib/grpc-web/dist/detach.js +7 -7
  21. package/lib/grpc-web/dist/index.js +29 -29
  22. package/lib/grpc-web/dist/invoke.js +32 -32
  23. package/lib/grpc-web/dist/message.js +3 -3
  24. package/lib/grpc-web/dist/metadata.js +5 -5
  25. package/lib/grpc-web/dist/service.js +3 -3
  26. package/lib/grpc-web/dist/transports/Transport.js +15 -15
  27. package/lib/grpc-web/dist/transports/http/fetch.js +117 -117
  28. package/lib/grpc-web/dist/transports/http/http.js +15 -15
  29. package/lib/grpc-web/dist/transports/http/xhr.js +136 -136
  30. package/lib/grpc-web/dist/transports/http/xhrUtil.js +36 -36
  31. package/lib/grpc-web/dist/transports/websocket/websocket.js +95 -95
  32. package/lib/grpc-web/dist/typings/ChunkParser.d.ts +17 -17
  33. package/lib/grpc-web/dist/typings/Code.d.ts +20 -20
  34. package/lib/grpc-web/dist/typings/client.d.ts +25 -25
  35. package/lib/grpc-web/dist/typings/debug.d.ts +1 -1
  36. package/lib/grpc-web/dist/typings/detach.d.ts +1 -1
  37. package/lib/grpc-web/dist/typings/index.d.ts +45 -45
  38. package/lib/grpc-web/dist/typings/invoke.d.ts +20 -20
  39. package/lib/grpc-web/dist/typings/message.d.ts +8 -8
  40. package/lib/grpc-web/dist/typings/metadata.d.ts +2 -2
  41. package/lib/grpc-web/dist/typings/service.d.ts +16 -16
  42. package/lib/grpc-web/dist/typings/transports/Transport.d.ts +22 -22
  43. package/lib/grpc-web/dist/typings/transports/http/fetch.d.ts +6 -6
  44. package/lib/grpc-web/dist/typings/transports/http/http.d.ts +5 -5
  45. package/lib/grpc-web/dist/typings/transports/http/xhr.d.ts +27 -27
  46. package/lib/grpc-web/dist/typings/transports/http/xhrUtil.d.ts +3 -3
  47. package/lib/grpc-web/dist/typings/transports/websocket/websocket.d.ts +2 -2
  48. package/lib/grpc-web/dist/typings/unary.d.ts +23 -23
  49. package/lib/grpc-web/dist/typings/util.d.ts +2 -2
  50. package/lib/grpc-web/dist/unary.js +44 -44
  51. package/lib/grpc-web/dist/util.js +11 -11
  52. package/lib/grpcTransport/PixHttp2Transport.ts +107 -107
  53. package/lib/grpcTransport/PixLuaTransport.ts +82 -82
  54. package/lib/h5es-types/v1.9.2/h5es.d.ts +1698 -1698
  55. package/lib/h5es-types/v3.5.0/h5es.d.ts +1788 -1788
  56. package/lib/pi_component/tinyList/tinyList.js +483 -483
  57. package/lib/pi_component/tinyList/tinyList.tsx +517 -517
  58. package/lib/preact-router.js +395 -395
  59. package/lib/preact.js +4355 -4355
  60. package/lib/preact.tq.js +4385 -4385
  61. package/lib/react-window/src/FixedSizeGrid.js +172 -172
  62. package/lib/react-window/src/FixedSizeList.js +91 -91
  63. package/lib/react-window/src/VariableSizeGrid.js +329 -329
  64. package/lib/react-window/src/VariableSizeList.js +231 -231
  65. package/lib/react-window/src/__tests__/FixedSizeGrid.js +942 -942
  66. package/lib/react-window/src/__tests__/FixedSizeList.js +749 -749
  67. package/lib/react-window/src/__tests__/VariableSizeGrid.js +598 -598
  68. package/lib/react-window/src/__tests__/VariableSizeList.js +345 -345
  69. package/lib/react-window/src/__tests__/__snapshots__/FixedSizeGrid.js.snap +912 -912
  70. package/lib/react-window/src/__tests__/__snapshots__/FixedSizeList.js.snap +568 -568
  71. package/lib/react-window/src/__tests__/__snapshots__/VariableSizeGrid.js.snap +542 -542
  72. package/lib/react-window/src/__tests__/__snapshots__/VariableSizeList.js.snap +331 -331
  73. package/lib/react-window/src/__tests__/areEqual.js +28 -28
  74. package/lib/react-window/src/__tests__/shouldComponentUpdate.js +32 -32
  75. package/lib/react-window/src/areEqual.js +13 -13
  76. package/lib/react-window/src/createGridComponent.js +657 -657
  77. package/lib/react-window/src/createListComponent.js +574 -574
  78. package/lib/react-window/src/domHelpers.js +69 -69
  79. package/lib/react-window/src/index.js +9 -9
  80. package/lib/react-window/src/shallowDiffers.js +17 -17
  81. package/lib/react-window/src/shouldComponentUpdate.js +11 -11
  82. package/lib/react-window/src/test.js.flow +382 -382
  83. package/lib/react-window/src/timer.js +36 -36
  84. package/lib/types/dom.ts +17 -17
  85. package/lib/types/ext.d.ts +81 -81
  86. package/lib/types/preact/css.d.ts +7476 -7476
  87. package/lib/types/preact/index.d.ts +340 -340
  88. package/lib/types/preact/internal.d.ts +94 -94
  89. package/lib/types/preact/jsx.d.ts +309 -309
  90. package/lib/types/preact-router/index.d.ts +84 -84
  91. package/package.json +113 -113
  92. package/scripts/pack.js +40 -40
  93. package/scripts/postinstall.js +11 -11
  94. package/scripts/run-pxw.js +12 -12
  95. package/tsconfig.json +30 -30
@@ -1,309 +1,309 @@
1
- import * as CSS from './css';
2
- type Defaultize<Props, Defaults> =
3
- // Distribute over unions
4
- Props extends any // Make any properties included in Default optional
5
- ? Partial<Pick<Props, Extract<keyof Props, keyof Defaults>>> &
6
- // Include the remaining properties from Props
7
- Pick<Props, Exclude<keyof Props, keyof Defaults>>
8
- : never;
9
-
10
- export interface CSSProperties extends CSS.Properties<string | number> {
11
- //增加这条是为了方便注释一个属性:前面加x就好
12
- // [P: string]: any;
13
- }
14
-
15
- export namespace JSXInternal {
16
- type LibraryManagedAttributes<Component, Props> = Component extends { defaultProps: infer Defaults }
17
- ? Defaultize<Props, Defaults> //
18
- : Props;
19
-
20
- interface IntrinsicAttributes {
21
- key?: any;
22
- }
23
-
24
- interface Element extends preact.VNode<any> {}
25
-
26
- interface ElementClass extends preact.Component<any, any> {}
27
-
28
- interface ElementAttributesProperty {
29
- props: any;
30
- }
31
-
32
- interface ElementChildrenAttribute {
33
- children: any;
34
- }
35
-
36
- type TargetedEvent<Target extends EventTarget = EventTarget, TypedEvent extends Event = Event> = Omit<TypedEvent, 'currentTarget'> & {
37
- readonly currentTarget: Target;
38
- };
39
-
40
- type TargetedAnimationEvent<Target extends EventTarget> = TargetedEvent<Target, AnimationEvent>;
41
- type TargetedClipboardEvent<Target extends EventTarget> = TargetedEvent<Target, ClipboardEvent>;
42
- type TargetedCompositionEvent<Target extends EventTarget> = TargetedEvent<Target, CompositionEvent>;
43
- type TargetedDragEvent<Target extends EventTarget> = TargetedEvent<Target, DragEvent>;
44
- type TargetedFocusEvent<Target extends EventTarget> = TargetedEvent<Target, FocusEvent>;
45
- type TargetedKeyboardEvent<Target extends EventTarget> = TargetedEvent<Target, KeyboardEvent>;
46
- type TargetedMouseEvent<Target extends EventTarget> = TargetedEvent<Target, Event>;
47
- type TargetedPointerEvent<Target extends EventTarget> = TargetedEvent<Target, PointerEvent>;
48
- type TargetedTouchEvent<Target extends EventTarget> = TargetedEvent<Target, TouchEvent>;
49
- type TargetedTransitionEvent<Target extends EventTarget> = TargetedEvent<Target, TransitionEvent>;
50
- type TargetedUIEvent<Target extends EventTarget> = TargetedEvent<Target, UIEvent>;
51
- type TargetedWheelEvent<Target extends EventTarget> = TargetedEvent<Target, WheelEvent>;
52
-
53
- interface EventHandler<E extends TargetedEvent> {
54
- /**
55
- * The `this` keyword always points to the DOM element the event handler
56
- * was invoked on. See: https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Event_handlers#Event_handlers_parameters_this_binding_and_the_return_value
57
- */
58
- (this: E['currentTarget'], event: E): void;
59
- }
60
-
61
- type AnimationEventHandler<Target extends EventTarget> = EventHandler<TargetedAnimationEvent<Target>>;
62
- type ClipboardEventHandler<Target extends EventTarget> = EventHandler<TargetedClipboardEvent<Target>>;
63
- type CompositionEventHandler<Target extends EventTarget> = EventHandler<TargetedCompositionEvent<Target>>;
64
- type DragEventHandler<Target extends EventTarget> = EventHandler<TargetedDragEvent<Target>>;
65
- type FocusEventHandler<Target extends EventTarget> = EventHandler<TargetedFocusEvent<Target>>;
66
- type GenericEventHandler<Target extends EventTarget> = EventHandler<TargetedEvent<Target>>;
67
- type KeyboardEventHandler<Target extends EventTarget> = EventHandler<TargetedKeyboardEvent<Target>>;
68
- type MouseEventHandler<Target extends EventTarget> = EventHandler<TargetedMouseEvent<Target>>;
69
- type PointerEventHandler<Target extends EventTarget> = EventHandler<TargetedPointerEvent<Target>>;
70
- type TouchEventHandler<Target extends EventTarget> = EventHandler<TargetedTouchEvent<Target>>;
71
- type TransitionEventHandler<Target extends EventTarget> = EventHandler<TargetedTransitionEvent<Target>>;
72
- type UIEventHandler<Target extends EventTarget> = EventHandler<TargetedUIEvent<Target>>;
73
- type WheelEventHandler<Target extends EventTarget> = EventHandler<TargetedWheelEvent<Target>>;
74
- type CompleteEventHandler<Target extends EventTarget> = EventHandler<TargetedEvent<Target>>;
75
-
76
- interface DOMAttributes<Target extends EventTarget> extends preact.PreactDOMAttributes {
77
- // Image Events
78
- onLoad?: GenericEventHandler<Target>;
79
- onError?: GenericEventHandler<Target>;
80
-
81
- // Focus Events
82
- onFocus?: FocusEventHandler<Target>;
83
- onFocusOut?: FocusEventHandler<Target>;
84
- onFocusCapture?: FocusEventHandler<Target>;
85
- onBlur?: FocusEventHandler<Target>;
86
- onBlurCapture?: FocusEventHandler<Target>;
87
-
88
- onChange?: GenericEventHandler<Target>;
89
- onInput?: GenericEventHandler<Target>;
90
-
91
- // Keyboard Events
92
- onKeyDown?: KeyboardEventHandler<Target>;
93
- onKeyDownCapture?: KeyboardEventHandler<Target>;
94
- onKeyPress?: KeyboardEventHandler<Target>;
95
- onKeyPressCapture?: KeyboardEventHandler<Target>;
96
- onKeyUp?: KeyboardEventHandler<Target>;
97
- onKeyUpCapture?: KeyboardEventHandler<Target>;
98
-
99
- // Media Events
100
- onAbort?: GenericEventHandler<Target>;
101
- onAbortCapture?: GenericEventHandler<Target>;
102
- onCanPlay?: GenericEventHandler<Target>;
103
- onCanPlayCapture?: GenericEventHandler<Target>;
104
- onCanPlayThrough?: GenericEventHandler<Target>;
105
- onCanPlayThroughCapture?: GenericEventHandler<Target>;
106
- onDurationChange?: GenericEventHandler<Target>;
107
- onDurationChangeCapture?: GenericEventHandler<Target>;
108
- onEmptied?: GenericEventHandler<Target>;
109
- onEmptiedCapture?: GenericEventHandler<Target>;
110
- onEncrypted?: GenericEventHandler<Target>;
111
- onEncryptedCapture?: GenericEventHandler<Target>;
112
- onEnded?: GenericEventHandler<Target>;
113
- onEndedCapture?: GenericEventHandler<Target>;
114
- onLoadedData?: GenericEventHandler<Target>;
115
- onLoadedDataCapture?: GenericEventHandler<Target>;
116
- onLoadedMetadata?: GenericEventHandler<Target>;
117
- onLoadedMetadataCapture?: GenericEventHandler<Target>;
118
- onLoadStart?: GenericEventHandler<Target>;
119
- onLoadStartCapture?: GenericEventHandler<Target>;
120
- onPause?: GenericEventHandler<Target>;
121
- onPauseCapture?: GenericEventHandler<Target>;
122
- onPlay?: GenericEventHandler<Target>;
123
- onPlayCapture?: GenericEventHandler<Target>;
124
- onPlaying?: GenericEventHandler<Target>;
125
- onPlayingCapture?: GenericEventHandler<Target>;
126
- onProgress?: GenericEventHandler<Target>;
127
- onProgressCapture?: GenericEventHandler<Target>;
128
- onRateChange?: GenericEventHandler<Target>;
129
- onRateChangeCapture?: GenericEventHandler<Target>;
130
- onSeeked?: GenericEventHandler<Target>;
131
- onSeekedCapture?: GenericEventHandler<Target>;
132
- onSeeking?: GenericEventHandler<Target>;
133
- onSeekingCapture?: GenericEventHandler<Target>;
134
- onStalled?: GenericEventHandler<Target>;
135
- onStalledCapture?: GenericEventHandler<Target>;
136
- onSuspend?: GenericEventHandler<Target>;
137
- onSuspendCapture?: GenericEventHandler<Target>;
138
- onTimeUpdate?: GenericEventHandler<Target>;
139
- onTimeUpdateCapture?: GenericEventHandler<Target>;
140
- onVolumeChange?: GenericEventHandler<Target>;
141
- onVolumeChangeCapture?: GenericEventHandler<Target>;
142
- onWaiting?: GenericEventHandler<Target>;
143
- onWaitingCapture?: GenericEventHandler<Target>;
144
-
145
- // MouseEvents
146
- onClick?: MouseEventHandler<Target>;
147
- onClickCapture?: MouseEventHandler<Target>;
148
- onContextMenu?: MouseEventHandler<Target>;
149
- onContextMenuCapture?: MouseEventHandler<Target>;
150
- onDblClick?: MouseEventHandler<Target>;
151
- onDblClickCapture?: MouseEventHandler<Target>;
152
- onDrag?: DragEventHandler<Target>;
153
- onDragCapture?: DragEventHandler<Target>;
154
- onDragEnd?: DragEventHandler<Target>;
155
- onDragEndCapture?: DragEventHandler<Target>;
156
- onDragEnter?: DragEventHandler<Target>;
157
- onDragEnterCapture?: DragEventHandler<Target>;
158
- onDragExit?: DragEventHandler<Target>;
159
- onDragExitCapture?: DragEventHandler<Target>;
160
- onDragLeave?: DragEventHandler<Target>;
161
- onDragLeaveCapture?: DragEventHandler<Target>;
162
- onDragOver?: DragEventHandler<Target>;
163
- onDragOverCapture?: DragEventHandler<Target>;
164
- onDragStart?: DragEventHandler<Target>;
165
- onDragStartCapture?: DragEventHandler<Target>;
166
- onDrop?: DragEventHandler<Target>;
167
- onDropCapture?: DragEventHandler<Target>;
168
- onMouseDown?: MouseEventHandler<Target>;
169
- onMouseDownCapture?: MouseEventHandler<Target>;
170
- onMouseEnter?: MouseEventHandler<Target>;
171
- onMouseEnterCapture?: MouseEventHandler<Target>;
172
- onMouseLeave?: MouseEventHandler<Target>;
173
- onMouseLeaveCapture?: MouseEventHandler<Target>;
174
- onMouseMove?: MouseEventHandler<Target>;
175
- onMouseMoveCapture?: MouseEventHandler<Target>;
176
- onMouseOut?: MouseEventHandler<Target>;
177
- onMouseOutCapture?: MouseEventHandler<Target>;
178
- onMouseOver?: MouseEventHandler<Target>;
179
- onMouseOverCapture?: MouseEventHandler<Target>;
180
- onMouseUp?: MouseEventHandler<Target>;
181
- onMouseUpCapture?: MouseEventHandler<Target>;
182
-
183
- // Selection Events
184
- onSelect?: GenericEventHandler<Target>;
185
- onSelectCapture?: GenericEventHandler<Target>;
186
-
187
- // Touch Events
188
- onTouchCancel?: TouchEventHandler<Target>;
189
- onTouchCancelCapture?: TouchEventHandler<Target>;
190
- onTouchEnd?: TouchEventHandler<Target>;
191
- onTouchEndCapture?: TouchEventHandler<Target>;
192
- onTouchMove?: TouchEventHandler<Target>;
193
- onTouchMoveCapture?: TouchEventHandler<Target>;
194
- onTouchStart?: TouchEventHandler<Target>;
195
- onTouchStartCapture?: TouchEventHandler<Target>;
196
-
197
- // Pointer Events
198
- onPointerOver?: PointerEventHandler<Target>;
199
- onPointerOverCapture?: PointerEventHandler<Target>;
200
- onPointerEnter?: PointerEventHandler<Target>;
201
- onPointerEnterCapture?: PointerEventHandler<Target>;
202
- onPointerDown?: PointerEventHandler<Target>;
203
- onPointerDownCapture?: PointerEventHandler<Target>;
204
- onPointerMove?: PointerEventHandler<Target>;
205
- onPointerMoveCapture?: PointerEventHandler<Target>;
206
- onPointerUp?: PointerEventHandler<Target>;
207
- onPointerUpCapture?: PointerEventHandler<Target>;
208
- onPointerCancel?: PointerEventHandler<Target>;
209
- onPointerCancelCapture?: PointerEventHandler<Target>;
210
- onPointerOut?: PointerEventHandler<Target>;
211
- onPointerOutCapture?: PointerEventHandler<Target>;
212
- onPointerLeave?: PointerEventHandler<Target>;
213
- onPointerLeaveCapture?: PointerEventHandler<Target>;
214
- onGotPointerCapture?: PointerEventHandler<Target>;
215
- onGotPointerCaptureCapture?: PointerEventHandler<Target>;
216
- onLostPointerCapture?: PointerEventHandler<Target>;
217
- onLostPointerCaptureCapture?: PointerEventHandler<Target>;
218
-
219
- // UI Events
220
- onScroll?: UIEventHandler<Target>;
221
- onScrollCapture?: UIEventHandler<Target>;
222
-
223
- // Wheel Events
224
- onWheel?: WheelEventHandler<Target>;
225
- onWheelCapture?: WheelEventHandler<Target>;
226
-
227
- // Animation Events
228
- onAnimationStart?: AnimationEventHandler<Target>;
229
- onAnimationStartCapture?: AnimationEventHandler<Target>;
230
- onAnimationEnd?: AnimationEventHandler<Target>;
231
- onAnimationEndCapture?: AnimationEventHandler<Target>;
232
- onAnimationIteration?: AnimationEventHandler<Target>;
233
- onAnimationIterationCapture?: AnimationEventHandler<Target>;
234
-
235
- // Transition Events
236
- onTransitionEnd?: TransitionEventHandler<Target>;
237
- onTransitionEndCapture?: TransitionEventHandler<Target>;
238
-
239
- onComplete?: CompleteEventHandler<Target>;
240
- }
241
-
242
- interface HTMLAttributes<RefType extends EventTarget = EventTarget> extends preact.ClassAttributes<RefType>, DOMAttributes<RefType> {
243
- // Standard HTML Attributes
244
- async?: boolean;
245
- autoFocus?: boolean;
246
- autoPlay?: boolean;
247
- checked?: boolean;
248
- class?: string;
249
- className?: string;
250
- content?: string;
251
- contentEditable?: boolean;
252
- data?: string;
253
- default?: boolean;
254
- defer?: boolean;
255
- dir?: 'auto' | 'rtl' | 'ltr';
256
- disabled?: boolean;
257
- draggable?: boolean;
258
- height?: number | string;
259
- hidden?: boolean;
260
- href?: string;
261
- id?: string;
262
- label?: string;
263
- lang?: string;
264
- loop?: boolean;
265
- muted?: boolean;
266
- name?: string;
267
- open?: boolean;
268
- placeholder?: string;
269
- poster?: string;
270
- preload?: string;
271
- readOnly?: boolean;
272
- required?: boolean;
273
- selected?: boolean;
274
- src?: string;
275
- style?: CSSProperties;
276
- target?: string;
277
- title?: string;
278
- type?: string;
279
- value?: string | string[] | number;
280
- volume?: string | number;
281
- width?: number | string;
282
- }
283
-
284
- interface IntrinsicElements {
285
- // HTML
286
- a: HTMLAttributes<HTMLAnchorElement>;
287
- audio: HTMLAttributes<HTMLAudioElement>;
288
- body: HTMLAttributes<HTMLBodyElement>;
289
- br: HTMLAttributes<HTMLBRElement>;
290
- canvas: HTMLAttributes<HTMLCanvasElement>;
291
- dialog: HTMLAttributes<HTMLDialogElement>;
292
- div: HTMLAttributes<HTMLDivElement>;
293
- text: HTMLAttributes<HTMLTextFieldElement>;
294
- header: HTMLAttributes<HTMLElement>;
295
- html: HTMLAttributes<HTMLHtmlElement>;
296
- img: HTMLAttributes<HTMLImageElement>;
297
- lottie: HTMLAttributes<HTMLLottieElement>;
298
- input: HTMLAttributes<HTMLInputElement>;
299
- link: HTMLAttributes<HTMLLinkElement>;
300
- meta: HTMLAttributes<HTMLMetaElement>;
301
- pre: HTMLAttributes<HTMLPreElement>;
302
- script: HTMLAttributes<HTMLScriptElement>;
303
- slot: HTMLAttributes<HTMLSlotElement>;
304
- style: HTMLAttributes<HTMLStyleElement>;
305
- textarea: HTMLAttributes<HTMLTextAreaElement>;
306
- title: HTMLAttributes<HTMLTitleElement>;
307
- video: HTMLAttributes<HTMLVideoElement>;
308
- }
309
- }
1
+ import * as CSS from './css';
2
+ type Defaultize<Props, Defaults> =
3
+ // Distribute over unions
4
+ Props extends any // Make any properties included in Default optional
5
+ ? Partial<Pick<Props, Extract<keyof Props, keyof Defaults>>> &
6
+ // Include the remaining properties from Props
7
+ Pick<Props, Exclude<keyof Props, keyof Defaults>>
8
+ : never;
9
+
10
+ export interface CSSProperties extends CSS.Properties<string | number> {
11
+ //增加这条是为了方便注释一个属性:前面加x就好
12
+ // [P: string]: any;
13
+ }
14
+
15
+ export namespace JSXInternal {
16
+ type LibraryManagedAttributes<Component, Props> = Component extends { defaultProps: infer Defaults }
17
+ ? Defaultize<Props, Defaults> //
18
+ : Props;
19
+
20
+ interface IntrinsicAttributes {
21
+ key?: any;
22
+ }
23
+
24
+ interface Element extends preact.VNode<any> {}
25
+
26
+ interface ElementClass extends preact.Component<any, any> {}
27
+
28
+ interface ElementAttributesProperty {
29
+ props: any;
30
+ }
31
+
32
+ interface ElementChildrenAttribute {
33
+ children: any;
34
+ }
35
+
36
+ type TargetedEvent<Target extends EventTarget = EventTarget, TypedEvent extends Event = Event> = Omit<TypedEvent, 'currentTarget'> & {
37
+ readonly currentTarget: Target;
38
+ };
39
+
40
+ type TargetedAnimationEvent<Target extends EventTarget> = TargetedEvent<Target, AnimationEvent>;
41
+ type TargetedClipboardEvent<Target extends EventTarget> = TargetedEvent<Target, ClipboardEvent>;
42
+ type TargetedCompositionEvent<Target extends EventTarget> = TargetedEvent<Target, CompositionEvent>;
43
+ type TargetedDragEvent<Target extends EventTarget> = TargetedEvent<Target, DragEvent>;
44
+ type TargetedFocusEvent<Target extends EventTarget> = TargetedEvent<Target, FocusEvent>;
45
+ type TargetedKeyboardEvent<Target extends EventTarget> = TargetedEvent<Target, KeyboardEvent>;
46
+ type TargetedMouseEvent<Target extends EventTarget> = TargetedEvent<Target, Event>;
47
+ type TargetedPointerEvent<Target extends EventTarget> = TargetedEvent<Target, PointerEvent>;
48
+ type TargetedTouchEvent<Target extends EventTarget> = TargetedEvent<Target, TouchEvent>;
49
+ type TargetedTransitionEvent<Target extends EventTarget> = TargetedEvent<Target, TransitionEvent>;
50
+ type TargetedUIEvent<Target extends EventTarget> = TargetedEvent<Target, UIEvent>;
51
+ type TargetedWheelEvent<Target extends EventTarget> = TargetedEvent<Target, WheelEvent>;
52
+
53
+ interface EventHandler<E extends TargetedEvent> {
54
+ /**
55
+ * The `this` keyword always points to the DOM element the event handler
56
+ * was invoked on. See: https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Event_handlers#Event_handlers_parameters_this_binding_and_the_return_value
57
+ */
58
+ (this: E['currentTarget'], event: E): void;
59
+ }
60
+
61
+ type AnimationEventHandler<Target extends EventTarget> = EventHandler<TargetedAnimationEvent<Target>>;
62
+ type ClipboardEventHandler<Target extends EventTarget> = EventHandler<TargetedClipboardEvent<Target>>;
63
+ type CompositionEventHandler<Target extends EventTarget> = EventHandler<TargetedCompositionEvent<Target>>;
64
+ type DragEventHandler<Target extends EventTarget> = EventHandler<TargetedDragEvent<Target>>;
65
+ type FocusEventHandler<Target extends EventTarget> = EventHandler<TargetedFocusEvent<Target>>;
66
+ type GenericEventHandler<Target extends EventTarget> = EventHandler<TargetedEvent<Target>>;
67
+ type KeyboardEventHandler<Target extends EventTarget> = EventHandler<TargetedKeyboardEvent<Target>>;
68
+ type MouseEventHandler<Target extends EventTarget> = EventHandler<TargetedMouseEvent<Target>>;
69
+ type PointerEventHandler<Target extends EventTarget> = EventHandler<TargetedPointerEvent<Target>>;
70
+ type TouchEventHandler<Target extends EventTarget> = EventHandler<TargetedTouchEvent<Target>>;
71
+ type TransitionEventHandler<Target extends EventTarget> = EventHandler<TargetedTransitionEvent<Target>>;
72
+ type UIEventHandler<Target extends EventTarget> = EventHandler<TargetedUIEvent<Target>>;
73
+ type WheelEventHandler<Target extends EventTarget> = EventHandler<TargetedWheelEvent<Target>>;
74
+ type CompleteEventHandler<Target extends EventTarget> = EventHandler<TargetedEvent<Target>>;
75
+
76
+ interface DOMAttributes<Target extends EventTarget> extends preact.PreactDOMAttributes {
77
+ // Image Events
78
+ onLoad?: GenericEventHandler<Target>;
79
+ onError?: GenericEventHandler<Target>;
80
+
81
+ // Focus Events
82
+ onFocus?: FocusEventHandler<Target>;
83
+ onFocusOut?: FocusEventHandler<Target>;
84
+ onFocusCapture?: FocusEventHandler<Target>;
85
+ onBlur?: FocusEventHandler<Target>;
86
+ onBlurCapture?: FocusEventHandler<Target>;
87
+
88
+ onChange?: GenericEventHandler<Target>;
89
+ onInput?: GenericEventHandler<Target>;
90
+
91
+ // Keyboard Events
92
+ onKeyDown?: KeyboardEventHandler<Target>;
93
+ onKeyDownCapture?: KeyboardEventHandler<Target>;
94
+ onKeyPress?: KeyboardEventHandler<Target>;
95
+ onKeyPressCapture?: KeyboardEventHandler<Target>;
96
+ onKeyUp?: KeyboardEventHandler<Target>;
97
+ onKeyUpCapture?: KeyboardEventHandler<Target>;
98
+
99
+ // Media Events
100
+ onAbort?: GenericEventHandler<Target>;
101
+ onAbortCapture?: GenericEventHandler<Target>;
102
+ onCanPlay?: GenericEventHandler<Target>;
103
+ onCanPlayCapture?: GenericEventHandler<Target>;
104
+ onCanPlayThrough?: GenericEventHandler<Target>;
105
+ onCanPlayThroughCapture?: GenericEventHandler<Target>;
106
+ onDurationChange?: GenericEventHandler<Target>;
107
+ onDurationChangeCapture?: GenericEventHandler<Target>;
108
+ onEmptied?: GenericEventHandler<Target>;
109
+ onEmptiedCapture?: GenericEventHandler<Target>;
110
+ onEncrypted?: GenericEventHandler<Target>;
111
+ onEncryptedCapture?: GenericEventHandler<Target>;
112
+ onEnded?: GenericEventHandler<Target>;
113
+ onEndedCapture?: GenericEventHandler<Target>;
114
+ onLoadedData?: GenericEventHandler<Target>;
115
+ onLoadedDataCapture?: GenericEventHandler<Target>;
116
+ onLoadedMetadata?: GenericEventHandler<Target>;
117
+ onLoadedMetadataCapture?: GenericEventHandler<Target>;
118
+ onLoadStart?: GenericEventHandler<Target>;
119
+ onLoadStartCapture?: GenericEventHandler<Target>;
120
+ onPause?: GenericEventHandler<Target>;
121
+ onPauseCapture?: GenericEventHandler<Target>;
122
+ onPlay?: GenericEventHandler<Target>;
123
+ onPlayCapture?: GenericEventHandler<Target>;
124
+ onPlaying?: GenericEventHandler<Target>;
125
+ onPlayingCapture?: GenericEventHandler<Target>;
126
+ onProgress?: GenericEventHandler<Target>;
127
+ onProgressCapture?: GenericEventHandler<Target>;
128
+ onRateChange?: GenericEventHandler<Target>;
129
+ onRateChangeCapture?: GenericEventHandler<Target>;
130
+ onSeeked?: GenericEventHandler<Target>;
131
+ onSeekedCapture?: GenericEventHandler<Target>;
132
+ onSeeking?: GenericEventHandler<Target>;
133
+ onSeekingCapture?: GenericEventHandler<Target>;
134
+ onStalled?: GenericEventHandler<Target>;
135
+ onStalledCapture?: GenericEventHandler<Target>;
136
+ onSuspend?: GenericEventHandler<Target>;
137
+ onSuspendCapture?: GenericEventHandler<Target>;
138
+ onTimeUpdate?: GenericEventHandler<Target>;
139
+ onTimeUpdateCapture?: GenericEventHandler<Target>;
140
+ onVolumeChange?: GenericEventHandler<Target>;
141
+ onVolumeChangeCapture?: GenericEventHandler<Target>;
142
+ onWaiting?: GenericEventHandler<Target>;
143
+ onWaitingCapture?: GenericEventHandler<Target>;
144
+
145
+ // MouseEvents
146
+ onClick?: MouseEventHandler<Target>;
147
+ onClickCapture?: MouseEventHandler<Target>;
148
+ onContextMenu?: MouseEventHandler<Target>;
149
+ onContextMenuCapture?: MouseEventHandler<Target>;
150
+ onDblClick?: MouseEventHandler<Target>;
151
+ onDblClickCapture?: MouseEventHandler<Target>;
152
+ onDrag?: DragEventHandler<Target>;
153
+ onDragCapture?: DragEventHandler<Target>;
154
+ onDragEnd?: DragEventHandler<Target>;
155
+ onDragEndCapture?: DragEventHandler<Target>;
156
+ onDragEnter?: DragEventHandler<Target>;
157
+ onDragEnterCapture?: DragEventHandler<Target>;
158
+ onDragExit?: DragEventHandler<Target>;
159
+ onDragExitCapture?: DragEventHandler<Target>;
160
+ onDragLeave?: DragEventHandler<Target>;
161
+ onDragLeaveCapture?: DragEventHandler<Target>;
162
+ onDragOver?: DragEventHandler<Target>;
163
+ onDragOverCapture?: DragEventHandler<Target>;
164
+ onDragStart?: DragEventHandler<Target>;
165
+ onDragStartCapture?: DragEventHandler<Target>;
166
+ onDrop?: DragEventHandler<Target>;
167
+ onDropCapture?: DragEventHandler<Target>;
168
+ onMouseDown?: MouseEventHandler<Target>;
169
+ onMouseDownCapture?: MouseEventHandler<Target>;
170
+ onMouseEnter?: MouseEventHandler<Target>;
171
+ onMouseEnterCapture?: MouseEventHandler<Target>;
172
+ onMouseLeave?: MouseEventHandler<Target>;
173
+ onMouseLeaveCapture?: MouseEventHandler<Target>;
174
+ onMouseMove?: MouseEventHandler<Target>;
175
+ onMouseMoveCapture?: MouseEventHandler<Target>;
176
+ onMouseOut?: MouseEventHandler<Target>;
177
+ onMouseOutCapture?: MouseEventHandler<Target>;
178
+ onMouseOver?: MouseEventHandler<Target>;
179
+ onMouseOverCapture?: MouseEventHandler<Target>;
180
+ onMouseUp?: MouseEventHandler<Target>;
181
+ onMouseUpCapture?: MouseEventHandler<Target>;
182
+
183
+ // Selection Events
184
+ onSelect?: GenericEventHandler<Target>;
185
+ onSelectCapture?: GenericEventHandler<Target>;
186
+
187
+ // Touch Events
188
+ onTouchCancel?: TouchEventHandler<Target>;
189
+ onTouchCancelCapture?: TouchEventHandler<Target>;
190
+ onTouchEnd?: TouchEventHandler<Target>;
191
+ onTouchEndCapture?: TouchEventHandler<Target>;
192
+ onTouchMove?: TouchEventHandler<Target>;
193
+ onTouchMoveCapture?: TouchEventHandler<Target>;
194
+ onTouchStart?: TouchEventHandler<Target>;
195
+ onTouchStartCapture?: TouchEventHandler<Target>;
196
+
197
+ // Pointer Events
198
+ onPointerOver?: PointerEventHandler<Target>;
199
+ onPointerOverCapture?: PointerEventHandler<Target>;
200
+ onPointerEnter?: PointerEventHandler<Target>;
201
+ onPointerEnterCapture?: PointerEventHandler<Target>;
202
+ onPointerDown?: PointerEventHandler<Target>;
203
+ onPointerDownCapture?: PointerEventHandler<Target>;
204
+ onPointerMove?: PointerEventHandler<Target>;
205
+ onPointerMoveCapture?: PointerEventHandler<Target>;
206
+ onPointerUp?: PointerEventHandler<Target>;
207
+ onPointerUpCapture?: PointerEventHandler<Target>;
208
+ onPointerCancel?: PointerEventHandler<Target>;
209
+ onPointerCancelCapture?: PointerEventHandler<Target>;
210
+ onPointerOut?: PointerEventHandler<Target>;
211
+ onPointerOutCapture?: PointerEventHandler<Target>;
212
+ onPointerLeave?: PointerEventHandler<Target>;
213
+ onPointerLeaveCapture?: PointerEventHandler<Target>;
214
+ onGotPointerCapture?: PointerEventHandler<Target>;
215
+ onGotPointerCaptureCapture?: PointerEventHandler<Target>;
216
+ onLostPointerCapture?: PointerEventHandler<Target>;
217
+ onLostPointerCaptureCapture?: PointerEventHandler<Target>;
218
+
219
+ // UI Events
220
+ onScroll?: UIEventHandler<Target>;
221
+ onScrollCapture?: UIEventHandler<Target>;
222
+
223
+ // Wheel Events
224
+ onWheel?: WheelEventHandler<Target>;
225
+ onWheelCapture?: WheelEventHandler<Target>;
226
+
227
+ // Animation Events
228
+ onAnimationStart?: AnimationEventHandler<Target>;
229
+ onAnimationStartCapture?: AnimationEventHandler<Target>;
230
+ onAnimationEnd?: AnimationEventHandler<Target>;
231
+ onAnimationEndCapture?: AnimationEventHandler<Target>;
232
+ onAnimationIteration?: AnimationEventHandler<Target>;
233
+ onAnimationIterationCapture?: AnimationEventHandler<Target>;
234
+
235
+ // Transition Events
236
+ onTransitionEnd?: TransitionEventHandler<Target>;
237
+ onTransitionEndCapture?: TransitionEventHandler<Target>;
238
+
239
+ onComplete?: CompleteEventHandler<Target>;
240
+ }
241
+
242
+ interface HTMLAttributes<RefType extends EventTarget = EventTarget> extends preact.ClassAttributes<RefType>, DOMAttributes<RefType> {
243
+ // Standard HTML Attributes
244
+ async?: boolean;
245
+ autoFocus?: boolean;
246
+ autoPlay?: boolean;
247
+ checked?: boolean;
248
+ class?: string;
249
+ className?: string;
250
+ content?: string;
251
+ contentEditable?: boolean;
252
+ data?: string;
253
+ default?: boolean;
254
+ defer?: boolean;
255
+ dir?: 'auto' | 'rtl' | 'ltr';
256
+ disabled?: boolean;
257
+ draggable?: boolean;
258
+ height?: number | string;
259
+ hidden?: boolean;
260
+ href?: string;
261
+ id?: string;
262
+ label?: string;
263
+ lang?: string;
264
+ loop?: boolean;
265
+ muted?: boolean;
266
+ name?: string;
267
+ open?: boolean;
268
+ placeholder?: string;
269
+ poster?: string;
270
+ preload?: string;
271
+ readOnly?: boolean;
272
+ required?: boolean;
273
+ selected?: boolean;
274
+ src?: string;
275
+ style?: CSSProperties;
276
+ target?: string;
277
+ title?: string;
278
+ type?: string;
279
+ value?: string | string[] | number;
280
+ volume?: string | number;
281
+ width?: number | string;
282
+ }
283
+
284
+ interface IntrinsicElements {
285
+ // HTML
286
+ a: HTMLAttributes<HTMLAnchorElement>;
287
+ audio: HTMLAttributes<HTMLAudioElement>;
288
+ body: HTMLAttributes<HTMLBodyElement>;
289
+ br: HTMLAttributes<HTMLBRElement>;
290
+ canvas: HTMLAttributes<HTMLCanvasElement>;
291
+ dialog: HTMLAttributes<HTMLDialogElement>;
292
+ div: HTMLAttributes<HTMLDivElement>;
293
+ text: HTMLAttributes<HTMLTextFieldElement>;
294
+ header: HTMLAttributes<HTMLElement>;
295
+ html: HTMLAttributes<HTMLHtmlElement>;
296
+ img: HTMLAttributes<HTMLImageElement>;
297
+ lottie: HTMLAttributes<HTMLLottieElement>;
298
+ input: HTMLAttributes<HTMLInputElement>;
299
+ link: HTMLAttributes<HTMLLinkElement>;
300
+ meta: HTMLAttributes<HTMLMetaElement>;
301
+ pre: HTMLAttributes<HTMLPreElement>;
302
+ script: HTMLAttributes<HTMLScriptElement>;
303
+ slot: HTMLAttributes<HTMLSlotElement>;
304
+ style: HTMLAttributes<HTMLStyleElement>;
305
+ textarea: HTMLAttributes<HTMLTextAreaElement>;
306
+ title: HTMLAttributes<HTMLTitleElement>;
307
+ video: HTMLAttributes<HTMLVideoElement>;
308
+ }
309
+ }