isomorfeus-preact 10.8.0 → 10.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/lib/isomorfeus_preact/preact/function_component/api.rb +24 -0
  3. data/lib/preact/version.rb +1 -1
  4. data/node_modules/.package-lock.json +5 -7
  5. data/node_modules/preact/compat/dist/compat.js +2 -2
  6. data/node_modules/preact/compat/dist/compat.js.map +1 -1
  7. data/node_modules/preact/compat/dist/compat.mjs +2 -2
  8. data/node_modules/preact/compat/dist/compat.module.js +2 -2
  9. data/node_modules/preact/compat/dist/compat.module.js.map +1 -1
  10. data/node_modules/preact/compat/dist/compat.umd.js +2 -2
  11. data/node_modules/preact/compat/dist/compat.umd.js.map +1 -1
  12. data/node_modules/preact/compat/src/index.d.ts +164 -155
  13. data/node_modules/preact/compat/src/index.js +223 -187
  14. data/node_modules/preact/compat/src/render.js +238 -238
  15. data/node_modules/preact/debug/dist/debug.js +2 -2
  16. data/node_modules/preact/debug/dist/debug.js.map +1 -1
  17. data/node_modules/preact/debug/dist/debug.mjs +2 -2
  18. data/node_modules/preact/debug/dist/debug.module.js +2 -2
  19. data/node_modules/preact/debug/dist/debug.module.js.map +1 -1
  20. data/node_modules/preact/debug/dist/debug.umd.js +2 -2
  21. data/node_modules/preact/debug/dist/debug.umd.js.map +1 -1
  22. data/node_modules/preact/debug/src/debug.js +437 -444
  23. data/node_modules/preact/devtools/dist/devtools.js +2 -2
  24. data/node_modules/preact/devtools/dist/devtools.js.map +1 -1
  25. data/node_modules/preact/devtools/dist/devtools.mjs +2 -2
  26. data/node_modules/preact/devtools/dist/devtools.module.js +2 -2
  27. data/node_modules/preact/devtools/dist/devtools.module.js.map +1 -1
  28. data/node_modules/preact/devtools/dist/devtools.umd.js +2 -2
  29. data/node_modules/preact/devtools/dist/devtools.umd.js.map +1 -1
  30. data/node_modules/preact/devtools/src/devtools.js +10 -10
  31. data/node_modules/preact/hooks/dist/hooks.js +2 -2
  32. data/node_modules/preact/hooks/dist/hooks.js.map +1 -1
  33. data/node_modules/preact/hooks/dist/hooks.mjs +2 -2
  34. data/node_modules/preact/hooks/dist/hooks.module.js +2 -2
  35. data/node_modules/preact/hooks/dist/hooks.module.js.map +1 -1
  36. data/node_modules/preact/hooks/dist/hooks.umd.js +2 -2
  37. data/node_modules/preact/hooks/dist/hooks.umd.js.map +1 -1
  38. data/node_modules/preact/hooks/src/index.js +417 -404
  39. data/node_modules/preact/hooks/src/internal.d.ts +3 -0
  40. data/node_modules/preact/package.json +304 -304
  41. data/node_modules/preact/src/jsx.d.ts +1014 -1013
  42. data/package.json +1 -1
  43. metadata +4 -4
@@ -1,1013 +1,1014 @@
1
- // Users who only use Preact for SSR might not specify "dom" in their lib in tsconfig.json
2
- /// <reference lib="dom" />
3
-
4
- import {
5
- ClassAttributes,
6
- Component,
7
- PreactDOMAttributes,
8
- VNode
9
- } from './index';
10
-
11
- type Defaultize<Props, Defaults> =
12
- // Distribute over unions
13
- Props extends any // Make any properties included in Default optional
14
- ? Partial<Pick<Props, Extract<keyof Props, keyof Defaults>>> & // Include the remaining properties from Props
15
- Pick<Props, Exclude<keyof Props, keyof Defaults>>
16
- : never;
17
-
18
- export namespace JSXInternal {
19
- export type LibraryManagedAttributes<Component, Props> = Component extends {
20
- defaultProps: infer Defaults;
21
- }
22
- ? Defaultize<Props, Defaults>
23
- : Props;
24
-
25
- export interface IntrinsicAttributes {
26
- key?: any;
27
- }
28
-
29
- export interface Element extends VNode<any> {}
30
-
31
- export interface ElementClass extends Component<any, any> {}
32
-
33
- export interface ElementAttributesProperty {
34
- props: any;
35
- }
36
-
37
- export interface ElementChildrenAttribute {
38
- children: any;
39
- }
40
-
41
- export type DOMCSSProperties = {
42
- [key in keyof Omit<
43
- CSSStyleDeclaration,
44
- | 'item'
45
- | 'setProperty'
46
- | 'removeProperty'
47
- | 'getPropertyValue'
48
- | 'getPropertyPriority'
49
- >]?: string | number | null | undefined;
50
- };
51
- export type AllCSSProperties = {
52
- [key: string]: string | number | null | undefined;
53
- };
54
- export interface CSSProperties extends AllCSSProperties, DOMCSSProperties {
55
- cssText?: string | null;
56
- }
57
-
58
- export interface SVGAttributes<Target extends EventTarget = SVGElement>
59
- extends HTMLAttributes<Target> {
60
- accentHeight?: number | string;
61
- accumulate?: 'none' | 'sum';
62
- additive?: 'replace' | 'sum';
63
- alignmentBaseline?:
64
- | 'auto'
65
- | 'baseline'
66
- | 'before-edge'
67
- | 'text-before-edge'
68
- | 'middle'
69
- | 'central'
70
- | 'after-edge'
71
- | 'text-after-edge'
72
- | 'ideographic'
73
- | 'alphabetic'
74
- | 'hanging'
75
- | 'mathematical'
76
- | 'inherit';
77
- allowReorder?: 'no' | 'yes';
78
- alphabetic?: number | string;
79
- amplitude?: number | string;
80
- arabicForm?: 'initial' | 'medial' | 'terminal' | 'isolated';
81
- ascent?: number | string;
82
- attributeName?: string;
83
- attributeType?: string;
84
- autoReverse?: number | string;
85
- azimuth?: number | string;
86
- baseFrequency?: number | string;
87
- baselineShift?: number | string;
88
- baseProfile?: number | string;
89
- bbox?: number | string;
90
- begin?: number | string;
91
- bias?: number | string;
92
- by?: number | string;
93
- calcMode?: number | string;
94
- capHeight?: number | string;
95
- clip?: number | string;
96
- clipPath?: string;
97
- clipPathUnits?: number | string;
98
- clipRule?: number | string;
99
- colorInterpolation?: number | string;
100
- colorInterpolationFilters?: 'auto' | 'sRGB' | 'linearRGB' | 'inherit';
101
- colorProfile?: number | string;
102
- colorRendering?: number | string;
103
- contentScriptType?: number | string;
104
- contentStyleType?: number | string;
105
- cursor?: number | string;
106
- cx?: number | string;
107
- cy?: number | string;
108
- d?: string;
109
- decelerate?: number | string;
110
- descent?: number | string;
111
- diffuseConstant?: number | string;
112
- direction?: number | string;
113
- display?: number | string;
114
- divisor?: number | string;
115
- dominantBaseline?: number | string;
116
- dur?: number | string;
117
- dx?: number | string;
118
- dy?: number | string;
119
- edgeMode?: number | string;
120
- elevation?: number | string;
121
- enableBackground?: number | string;
122
- end?: number | string;
123
- exponent?: number | string;
124
- externalResourcesRequired?: number | string;
125
- fill?: string;
126
- fillOpacity?: number | string;
127
- fillRule?: 'nonzero' | 'evenodd' | 'inherit';
128
- filter?: string;
129
- filterRes?: number | string;
130
- filterUnits?: number | string;
131
- floodColor?: number | string;
132
- floodOpacity?: number | string;
133
- focusable?: number | string;
134
- fontFamily?: string;
135
- fontSize?: number | string;
136
- fontSizeAdjust?: number | string;
137
- fontStretch?: number | string;
138
- fontStyle?: number | string;
139
- fontVariant?: number | string;
140
- fontWeight?: number | string;
141
- format?: number | string;
142
- from?: number | string;
143
- fx?: number | string;
144
- fy?: number | string;
145
- g1?: number | string;
146
- g2?: number | string;
147
- glyphName?: number | string;
148
- glyphOrientationHorizontal?: number | string;
149
- glyphOrientationVertical?: number | string;
150
- glyphRef?: number | string;
151
- gradientTransform?: string;
152
- gradientUnits?: string;
153
- hanging?: number | string;
154
- horizAdvX?: number | string;
155
- horizOriginX?: number | string;
156
- ideographic?: number | string;
157
- imageRendering?: number | string;
158
- in2?: number | string;
159
- in?: string;
160
- intercept?: number | string;
161
- k1?: number | string;
162
- k2?: number | string;
163
- k3?: number | string;
164
- k4?: number | string;
165
- k?: number | string;
166
- kernelMatrix?: number | string;
167
- kernelUnitLength?: number | string;
168
- kerning?: number | string;
169
- keyPoints?: number | string;
170
- keySplines?: number | string;
171
- keyTimes?: number | string;
172
- lengthAdjust?: number | string;
173
- letterSpacing?: number | string;
174
- lightingColor?: number | string;
175
- limitingConeAngle?: number | string;
176
- local?: number | string;
177
- markerEnd?: string;
178
- markerHeight?: number | string;
179
- markerMid?: string;
180
- markerStart?: string;
181
- markerUnits?: number | string;
182
- markerWidth?: number | string;
183
- mask?: string;
184
- maskContentUnits?: number | string;
185
- maskUnits?: number | string;
186
- mathematical?: number | string;
187
- mode?: number | string;
188
- numOctaves?: number | string;
189
- offset?: number | string;
190
- opacity?: number | string;
191
- operator?: number | string;
192
- order?: number | string;
193
- orient?: number | string;
194
- orientation?: number | string;
195
- origin?: number | string;
196
- overflow?: number | string;
197
- overlinePosition?: number | string;
198
- overlineThickness?: number | string;
199
- paintOrder?: number | string;
200
- panose1?: number | string;
201
- pathLength?: number | string;
202
- patternContentUnits?: string;
203
- patternTransform?: number | string;
204
- patternUnits?: string;
205
- pointerEvents?: number | string;
206
- points?: string;
207
- pointsAtX?: number | string;
208
- pointsAtY?: number | string;
209
- pointsAtZ?: number | string;
210
- preserveAlpha?: number | string;
211
- preserveAspectRatio?: string;
212
- primitiveUnits?: number | string;
213
- r?: number | string;
214
- radius?: number | string;
215
- refX?: number | string;
216
- refY?: number | string;
217
- renderingIntent?: number | string;
218
- repeatCount?: number | string;
219
- repeatDur?: number | string;
220
- requiredExtensions?: number | string;
221
- requiredFeatures?: number | string;
222
- restart?: number | string;
223
- result?: string;
224
- rotate?: number | string;
225
- rx?: number | string;
226
- ry?: number | string;
227
- scale?: number | string;
228
- seed?: number | string;
229
- shapeRendering?: number | string;
230
- slope?: number | string;
231
- spacing?: number | string;
232
- specularConstant?: number | string;
233
- specularExponent?: number | string;
234
- speed?: number | string;
235
- spreadMethod?: string;
236
- startOffset?: number | string;
237
- stdDeviation?: number | string;
238
- stemh?: number | string;
239
- stemv?: number | string;
240
- stitchTiles?: number | string;
241
- stopColor?: string;
242
- stopOpacity?: number | string;
243
- strikethroughPosition?: number | string;
244
- strikethroughThickness?: number | string;
245
- string?: number | string;
246
- stroke?: string;
247
- strokeDasharray?: string | number;
248
- strokeDashoffset?: string | number;
249
- strokeLinecap?: 'butt' | 'round' | 'square' | 'inherit';
250
- strokeLinejoin?: 'miter' | 'round' | 'bevel' | 'inherit';
251
- strokeMiterlimit?: string | number;
252
- strokeOpacity?: number | string;
253
- strokeWidth?: number | string;
254
- surfaceScale?: number | string;
255
- systemLanguage?: number | string;
256
- tableValues?: number | string;
257
- targetX?: number | string;
258
- targetY?: number | string;
259
- textAnchor?: string;
260
- textDecoration?: number | string;
261
- textLength?: number | string;
262
- textRendering?: number | string;
263
- to?: number | string;
264
- transform?: string;
265
- u1?: number | string;
266
- u2?: number | string;
267
- underlinePosition?: number | string;
268
- underlineThickness?: number | string;
269
- unicode?: number | string;
270
- unicodeBidi?: number | string;
271
- unicodeRange?: number | string;
272
- unitsPerEm?: number | string;
273
- vAlphabetic?: number | string;
274
- values?: string;
275
- vectorEffect?: number | string;
276
- version?: string;
277
- vertAdvY?: number | string;
278
- vertOriginX?: number | string;
279
- vertOriginY?: number | string;
280
- vHanging?: number | string;
281
- vIdeographic?: number | string;
282
- viewBox?: string;
283
- viewTarget?: number | string;
284
- visibility?: number | string;
285
- vMathematical?: number | string;
286
- widths?: number | string;
287
- wordSpacing?: number | string;
288
- writingMode?: number | string;
289
- x1?: number | string;
290
- x2?: number | string;
291
- x?: number | string;
292
- xChannelSelector?: string;
293
- xHeight?: number | string;
294
- xlinkActuate?: string;
295
- xlinkArcrole?: string;
296
- xlinkHref?: string;
297
- xlinkRole?: string;
298
- xlinkShow?: string;
299
- xlinkTitle?: string;
300
- xlinkType?: string;
301
- xmlBase?: string;
302
- xmlLang?: string;
303
- xmlns?: string;
304
- xmlnsXlink?: string;
305
- xmlSpace?: string;
306
- y1?: number | string;
307
- y2?: number | string;
308
- y?: number | string;
309
- yChannelSelector?: string;
310
- z?: number | string;
311
- zoomAndPan?: string;
312
- }
313
-
314
- export interface PathAttributes {
315
- d: string;
316
- }
317
-
318
- export type TargetedEvent<
319
- Target extends EventTarget = EventTarget,
320
- TypedEvent extends Event = Event
321
- > = Omit<TypedEvent, 'currentTarget'> & {
322
- readonly currentTarget: Target;
323
- };
324
-
325
- export type TargetedAnimationEvent<
326
- Target extends EventTarget
327
- > = TargetedEvent<Target, AnimationEvent>;
328
- export type TargetedClipboardEvent<
329
- Target extends EventTarget
330
- > = TargetedEvent<Target, ClipboardEvent>;
331
- export type TargetedCompositionEvent<
332
- Target extends EventTarget
333
- > = TargetedEvent<Target, CompositionEvent>;
334
- export type TargetedDragEvent<Target extends EventTarget> = TargetedEvent<
335
- Target,
336
- DragEvent
337
- >;
338
- export type TargetedFocusEvent<Target extends EventTarget> = TargetedEvent<
339
- Target,
340
- FocusEvent
341
- >;
342
- export type TargetedKeyboardEvent<Target extends EventTarget> = TargetedEvent<
343
- Target,
344
- KeyboardEvent
345
- >;
346
- export type TargetedMouseEvent<Target extends EventTarget> = TargetedEvent<
347
- Target,
348
- MouseEvent
349
- >;
350
- export type TargetedPointerEvent<Target extends EventTarget> = TargetedEvent<
351
- Target,
352
- PointerEvent
353
- >;
354
- export type TargetedTouchEvent<Target extends EventTarget> = TargetedEvent<
355
- Target,
356
- TouchEvent
357
- >;
358
- export type TargetedTransitionEvent<
359
- Target extends EventTarget
360
- > = TargetedEvent<Target, TransitionEvent>;
361
- export type TargetedUIEvent<Target extends EventTarget> = TargetedEvent<
362
- Target,
363
- UIEvent
364
- >;
365
- export type TargetedWheelEvent<Target extends EventTarget> = TargetedEvent<
366
- Target,
367
- WheelEvent
368
- >;
369
-
370
- export interface EventHandler<E extends TargetedEvent> {
371
- /**
372
- * The `this` keyword always points to the DOM element the event handler
373
- * 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
374
- */
375
- (this: never, event: E): void;
376
- }
377
-
378
- export type AnimationEventHandler<Target extends EventTarget> = EventHandler<
379
- TargetedAnimationEvent<Target>
380
- >;
381
- export type ClipboardEventHandler<Target extends EventTarget> = EventHandler<
382
- TargetedClipboardEvent<Target>
383
- >;
384
- export type CompositionEventHandler<
385
- Target extends EventTarget
386
- > = EventHandler<TargetedCompositionEvent<Target>>;
387
- export type DragEventHandler<Target extends EventTarget> = EventHandler<
388
- TargetedDragEvent<Target>
389
- >;
390
- export type FocusEventHandler<Target extends EventTarget> = EventHandler<
391
- TargetedFocusEvent<Target>
392
- >;
393
- export type GenericEventHandler<Target extends EventTarget> = EventHandler<
394
- TargetedEvent<Target>
395
- >;
396
- export type KeyboardEventHandler<Target extends EventTarget> = EventHandler<
397
- TargetedKeyboardEvent<Target>
398
- >;
399
- export type MouseEventHandler<Target extends EventTarget> = EventHandler<
400
- TargetedMouseEvent<Target>
401
- >;
402
- export type PointerEventHandler<Target extends EventTarget> = EventHandler<
403
- TargetedPointerEvent<Target>
404
- >;
405
- export type TouchEventHandler<Target extends EventTarget> = EventHandler<
406
- TargetedTouchEvent<Target>
407
- >;
408
- export type TransitionEventHandler<Target extends EventTarget> = EventHandler<
409
- TargetedTransitionEvent<Target>
410
- >;
411
- export type UIEventHandler<Target extends EventTarget> = EventHandler<
412
- TargetedUIEvent<Target>
413
- >;
414
- export type WheelEventHandler<Target extends EventTarget> = EventHandler<
415
- TargetedWheelEvent<Target>
416
- >;
417
-
418
- export interface DOMAttributes<Target extends EventTarget>
419
- extends PreactDOMAttributes {
420
- // Image Events
421
- onLoad?: GenericEventHandler<Target>;
422
- onLoadCapture?: GenericEventHandler<Target>;
423
- onError?: GenericEventHandler<Target>;
424
- onErrorCapture?: GenericEventHandler<Target>;
425
-
426
- // Clipboard Events
427
- onCopy?: ClipboardEventHandler<Target>;
428
- onCopyCapture?: ClipboardEventHandler<Target>;
429
- onCut?: ClipboardEventHandler<Target>;
430
- onCutCapture?: ClipboardEventHandler<Target>;
431
- onPaste?: ClipboardEventHandler<Target>;
432
- onPasteCapture?: ClipboardEventHandler<Target>;
433
-
434
- // Composition Events
435
- onCompositionEnd?: CompositionEventHandler<Target>;
436
- onCompositionEndCapture?: CompositionEventHandler<Target>;
437
- onCompositionStart?: CompositionEventHandler<Target>;
438
- onCompositionStartCapture?: CompositionEventHandler<Target>;
439
- onCompositionUpdate?: CompositionEventHandler<Target>;
440
- onCompositionUpdateCapture?: CompositionEventHandler<Target>;
441
-
442
- // Details Events
443
- onToggle?: GenericEventHandler<Target>;
444
-
445
- // Focus Events
446
- onFocus?: FocusEventHandler<Target>;
447
- onFocusCapture?: FocusEventHandler<Target>;
448
- onfocusin?: FocusEventHandler<Target>;
449
- onfocusinCapture?: FocusEventHandler<Target>;
450
- onfocusout?: FocusEventHandler<Target>;
451
- onfocusoutCapture?: FocusEventHandler<Target>;
452
- onBlur?: FocusEventHandler<Target>;
453
- onBlurCapture?: FocusEventHandler<Target>;
454
-
455
- // Form Events
456
- onChange?: GenericEventHandler<Target>;
457
- onChangeCapture?: GenericEventHandler<Target>;
458
- onInput?: GenericEventHandler<Target>;
459
- onInputCapture?: GenericEventHandler<Target>;
460
- onBeforeInput?: GenericEventHandler<Target>;
461
- onBeforeInputCapture?: GenericEventHandler<Target>;
462
- onSearch?: GenericEventHandler<Target>;
463
- onSearchCapture?: GenericEventHandler<Target>;
464
- onSubmit?: GenericEventHandler<Target>;
465
- onSubmitCapture?: GenericEventHandler<Target>;
466
- onInvalid?: GenericEventHandler<Target>;
467
- onInvalidCapture?: GenericEventHandler<Target>;
468
- onReset?: GenericEventHandler<Target>;
469
- onResetCapture?: GenericEventHandler<Target>;
470
- onFormData?: GenericEventHandler<Target>;
471
- onFormDataCapture?: GenericEventHandler<Target>;
472
-
473
- // Keyboard Events
474
- onKeyDown?: KeyboardEventHandler<Target>;
475
- onKeyDownCapture?: KeyboardEventHandler<Target>;
476
- onKeyPress?: KeyboardEventHandler<Target>;
477
- onKeyPressCapture?: KeyboardEventHandler<Target>;
478
- onKeyUp?: KeyboardEventHandler<Target>;
479
- onKeyUpCapture?: KeyboardEventHandler<Target>;
480
-
481
- // Media Events
482
- onAbort?: GenericEventHandler<Target>;
483
- onAbortCapture?: GenericEventHandler<Target>;
484
- onCanPlay?: GenericEventHandler<Target>;
485
- onCanPlayCapture?: GenericEventHandler<Target>;
486
- onCanPlayThrough?: GenericEventHandler<Target>;
487
- onCanPlayThroughCapture?: GenericEventHandler<Target>;
488
- onDurationChange?: GenericEventHandler<Target>;
489
- onDurationChangeCapture?: GenericEventHandler<Target>;
490
- onEmptied?: GenericEventHandler<Target>;
491
- onEmptiedCapture?: GenericEventHandler<Target>;
492
- onEncrypted?: GenericEventHandler<Target>;
493
- onEncryptedCapture?: GenericEventHandler<Target>;
494
- onEnded?: GenericEventHandler<Target>;
495
- onEndedCapture?: GenericEventHandler<Target>;
496
- onLoadedData?: GenericEventHandler<Target>;
497
- onLoadedDataCapture?: GenericEventHandler<Target>;
498
- onLoadedMetadata?: GenericEventHandler<Target>;
499
- onLoadedMetadataCapture?: GenericEventHandler<Target>;
500
- onLoadStart?: GenericEventHandler<Target>;
501
- onLoadStartCapture?: GenericEventHandler<Target>;
502
- onPause?: GenericEventHandler<Target>;
503
- onPauseCapture?: GenericEventHandler<Target>;
504
- onPlay?: GenericEventHandler<Target>;
505
- onPlayCapture?: GenericEventHandler<Target>;
506
- onPlaying?: GenericEventHandler<Target>;
507
- onPlayingCapture?: GenericEventHandler<Target>;
508
- onProgress?: GenericEventHandler<Target>;
509
- onProgressCapture?: GenericEventHandler<Target>;
510
- onRateChange?: GenericEventHandler<Target>;
511
- onRateChangeCapture?: GenericEventHandler<Target>;
512
- onSeeked?: GenericEventHandler<Target>;
513
- onSeekedCapture?: GenericEventHandler<Target>;
514
- onSeeking?: GenericEventHandler<Target>;
515
- onSeekingCapture?: GenericEventHandler<Target>;
516
- onStalled?: GenericEventHandler<Target>;
517
- onStalledCapture?: GenericEventHandler<Target>;
518
- onSuspend?: GenericEventHandler<Target>;
519
- onSuspendCapture?: GenericEventHandler<Target>;
520
- onTimeUpdate?: GenericEventHandler<Target>;
521
- onTimeUpdateCapture?: GenericEventHandler<Target>;
522
- onVolumeChange?: GenericEventHandler<Target>;
523
- onVolumeChangeCapture?: GenericEventHandler<Target>;
524
- onWaiting?: GenericEventHandler<Target>;
525
- onWaitingCapture?: GenericEventHandler<Target>;
526
-
527
- // MouseEvents
528
- onClick?: MouseEventHandler<Target>;
529
- onClickCapture?: MouseEventHandler<Target>;
530
- onContextMenu?: MouseEventHandler<Target>;
531
- onContextMenuCapture?: MouseEventHandler<Target>;
532
- onDblClick?: MouseEventHandler<Target>;
533
- onDblClickCapture?: MouseEventHandler<Target>;
534
- onDrag?: DragEventHandler<Target>;
535
- onDragCapture?: DragEventHandler<Target>;
536
- onDragEnd?: DragEventHandler<Target>;
537
- onDragEndCapture?: DragEventHandler<Target>;
538
- onDragEnter?: DragEventHandler<Target>;
539
- onDragEnterCapture?: DragEventHandler<Target>;
540
- onDragExit?: DragEventHandler<Target>;
541
- onDragExitCapture?: DragEventHandler<Target>;
542
- onDragLeave?: DragEventHandler<Target>;
543
- onDragLeaveCapture?: DragEventHandler<Target>;
544
- onDragOver?: DragEventHandler<Target>;
545
- onDragOverCapture?: DragEventHandler<Target>;
546
- onDragStart?: DragEventHandler<Target>;
547
- onDragStartCapture?: DragEventHandler<Target>;
548
- onDrop?: DragEventHandler<Target>;
549
- onDropCapture?: DragEventHandler<Target>;
550
- onMouseDown?: MouseEventHandler<Target>;
551
- onMouseDownCapture?: MouseEventHandler<Target>;
552
- onMouseEnter?: MouseEventHandler<Target>;
553
- onMouseEnterCapture?: MouseEventHandler<Target>;
554
- onMouseLeave?: MouseEventHandler<Target>;
555
- onMouseLeaveCapture?: MouseEventHandler<Target>;
556
- onMouseMove?: MouseEventHandler<Target>;
557
- onMouseMoveCapture?: MouseEventHandler<Target>;
558
- onMouseOut?: MouseEventHandler<Target>;
559
- onMouseOutCapture?: MouseEventHandler<Target>;
560
- onMouseOver?: MouseEventHandler<Target>;
561
- onMouseOverCapture?: MouseEventHandler<Target>;
562
- onMouseUp?: MouseEventHandler<Target>;
563
- onMouseUpCapture?: MouseEventHandler<Target>;
564
-
565
- // Selection Events
566
- onSelect?: GenericEventHandler<Target>;
567
- onSelectCapture?: GenericEventHandler<Target>;
568
-
569
- // Touch Events
570
- onTouchCancel?: TouchEventHandler<Target>;
571
- onTouchCancelCapture?: TouchEventHandler<Target>;
572
- onTouchEnd?: TouchEventHandler<Target>;
573
- onTouchEndCapture?: TouchEventHandler<Target>;
574
- onTouchMove?: TouchEventHandler<Target>;
575
- onTouchMoveCapture?: TouchEventHandler<Target>;
576
- onTouchStart?: TouchEventHandler<Target>;
577
- onTouchStartCapture?: TouchEventHandler<Target>;
578
-
579
- // Pointer Events
580
- onPointerOver?: PointerEventHandler<Target>;
581
- onPointerOverCapture?: PointerEventHandler<Target>;
582
- onPointerEnter?: PointerEventHandler<Target>;
583
- onPointerEnterCapture?: PointerEventHandler<Target>;
584
- onPointerDown?: PointerEventHandler<Target>;
585
- onPointerDownCapture?: PointerEventHandler<Target>;
586
- onPointerMove?: PointerEventHandler<Target>;
587
- onPointerMoveCapture?: PointerEventHandler<Target>;
588
- onPointerUp?: PointerEventHandler<Target>;
589
- onPointerUpCapture?: PointerEventHandler<Target>;
590
- onPointerCancel?: PointerEventHandler<Target>;
591
- onPointerCancelCapture?: PointerEventHandler<Target>;
592
- onPointerOut?: PointerEventHandler<Target>;
593
- onPointerOutCapture?: PointerEventHandler<Target>;
594
- onPointerLeave?: PointerEventHandler<Target>;
595
- onPointerLeaveCapture?: PointerEventHandler<Target>;
596
- onGotPointerCapture?: PointerEventHandler<Target>;
597
- onGotPointerCaptureCapture?: PointerEventHandler<Target>;
598
- onLostPointerCapture?: PointerEventHandler<Target>;
599
- onLostPointerCaptureCapture?: PointerEventHandler<Target>;
600
-
601
- // UI Events
602
- onScroll?: UIEventHandler<Target>;
603
- onScrollCapture?: UIEventHandler<Target>;
604
-
605
- // Wheel Events
606
- onWheel?: WheelEventHandler<Target>;
607
- onWheelCapture?: WheelEventHandler<Target>;
608
-
609
- // Animation Events
610
- onAnimationStart?: AnimationEventHandler<Target>;
611
- onAnimationStartCapture?: AnimationEventHandler<Target>;
612
- onAnimationEnd?: AnimationEventHandler<Target>;
613
- onAnimationEndCapture?: AnimationEventHandler<Target>;
614
- onAnimationIteration?: AnimationEventHandler<Target>;
615
- onAnimationIterationCapture?: AnimationEventHandler<Target>;
616
-
617
- // Transition Events
618
- onTransitionEnd?: TransitionEventHandler<Target>;
619
- onTransitionEndCapture?: TransitionEventHandler<Target>;
620
- }
621
-
622
- export interface HTMLAttributes<RefType extends EventTarget = EventTarget>
623
- extends ClassAttributes<RefType>,
624
- DOMAttributes<RefType> {
625
- // Standard HTML Attributes
626
- accept?: string;
627
- acceptCharset?: string;
628
- accessKey?: string;
629
- action?: string;
630
- allow?: string;
631
- allowFullScreen?: boolean;
632
- allowTransparency?: boolean;
633
- alt?: string;
634
- as?: string;
635
- async?: boolean;
636
- autocomplete?: string;
637
- autoComplete?: string;
638
- autocorrect?: string;
639
- autoCorrect?: string;
640
- autofocus?: boolean;
641
- autoFocus?: boolean;
642
- autoPlay?: boolean;
643
- capture?: boolean | string;
644
- cellPadding?: number | string;
645
- cellSpacing?: number | string;
646
- charSet?: string;
647
- challenge?: string;
648
- checked?: boolean;
649
- cite?: string;
650
- class?: string;
651
- className?: string;
652
- cols?: number;
653
- colSpan?: number;
654
- content?: string;
655
- contentEditable?: boolean;
656
- contextMenu?: string;
657
- controls?: boolean;
658
- controlsList?: string;
659
- coords?: string;
660
- crossOrigin?: string;
661
- data?: string;
662
- dateTime?: string;
663
- default?: boolean;
664
- defaultChecked?: boolean;
665
- defaultValue?: string;
666
- defer?: boolean;
667
- dir?: 'auto' | 'rtl' | 'ltr';
668
- disabled?: boolean;
669
- disableRemotePlayback?: boolean;
670
- download?: any;
671
- decoding?: 'sync' | 'async' | 'auto';
672
- draggable?: boolean;
673
- encType?: string;
674
- enterkeyhint?:
675
- | 'enter'
676
- | 'done'
677
- | 'go'
678
- | 'next'
679
- | 'previous'
680
- | 'search'
681
- | 'send';
682
- form?: string;
683
- formAction?: string;
684
- formEncType?: string;
685
- formMethod?: string;
686
- formNoValidate?: boolean;
687
- formTarget?: string;
688
- frameBorder?: number | string;
689
- headers?: string;
690
- height?: number | string;
691
- hidden?: boolean;
692
- high?: number;
693
- href?: string;
694
- hrefLang?: string;
695
- for?: string;
696
- htmlFor?: string;
697
- httpEquiv?: string;
698
- icon?: string;
699
- id?: string;
700
- inputMode?: string;
701
- integrity?: string;
702
- is?: string;
703
- keyParams?: string;
704
- keyType?: string;
705
- kind?: string;
706
- label?: string;
707
- lang?: string;
708
- list?: string;
709
- loading?: 'eager' | 'lazy';
710
- loop?: boolean;
711
- low?: number;
712
- manifest?: string;
713
- marginHeight?: number;
714
- marginWidth?: number;
715
- max?: number | string;
716
- maxLength?: number;
717
- media?: string;
718
- mediaGroup?: string;
719
- method?: string;
720
- min?: number | string;
721
- minLength?: number;
722
- multiple?: boolean;
723
- muted?: boolean;
724
- name?: string;
725
- nomodule?: boolean;
726
- nonce?: string;
727
- noValidate?: boolean;
728
- open?: boolean;
729
- optimum?: number;
730
- pattern?: string;
731
- ping?: string;
732
- placeholder?: string;
733
- playsInline?: boolean;
734
- poster?: string;
735
- preload?: string;
736
- radioGroup?: string;
737
- readonly?: boolean;
738
- readOnly?: boolean;
739
- referrerpolicy?:
740
- | 'no-referrer'
741
- | 'no-referrer-when-downgrade'
742
- | 'origin'
743
- | 'origin-when-cross-origin'
744
- | 'same-origin'
745
- | 'strict-origin'
746
- | 'strict-origin-when-cross-origin'
747
- | 'unsafe-url';
748
- rel?: string;
749
- required?: boolean;
750
- reversed?: boolean;
751
- role?: string;
752
- rows?: number;
753
- rowSpan?: number;
754
- sandbox?: string;
755
- scope?: string;
756
- scoped?: boolean;
757
- scrolling?: string;
758
- seamless?: boolean;
759
- selected?: boolean;
760
- shape?: string;
761
- size?: number;
762
- sizes?: string;
763
- slot?: string;
764
- span?: number;
765
- spellcheck?: boolean;
766
- spellCheck?: boolean;
767
- src?: string;
768
- srcset?: string;
769
- srcDoc?: string;
770
- srcLang?: string;
771
- srcSet?: string;
772
- start?: number;
773
- step?: number | string;
774
- style?: string | CSSProperties;
775
- summary?: string;
776
- tabIndex?: number;
777
- target?: string;
778
- title?: string;
779
- type?: string;
780
- useMap?: string;
781
- value?: string | string[] | number;
782
- volume?: string | number;
783
- width?: number | string;
784
- wmode?: string;
785
- wrap?: string;
786
-
787
- // Non-standard Attributes
788
- autocapitalize?:
789
- | 'off'
790
- | 'none'
791
- | 'on'
792
- | 'sentences'
793
- | 'words'
794
- | 'characters';
795
- autoCapitalize?:
796
- | 'off'
797
- | 'none'
798
- | 'on'
799
- | 'sentences'
800
- | 'words'
801
- | 'characters';
802
- disablePictureInPicture?: boolean;
803
- results?: number;
804
- translate?: 'yes' | 'no';
805
-
806
- // RDFa Attributes
807
- about?: string;
808
- datatype?: string;
809
- inlist?: any;
810
- prefix?: string;
811
- property?: string;
812
- resource?: string;
813
- typeof?: string;
814
- vocab?: string;
815
-
816
- // Microdata Attributes
817
- itemProp?: string;
818
- itemScope?: boolean;
819
- itemType?: string;
820
- itemID?: string;
821
- itemRef?: string;
822
- }
823
-
824
- export type DetailedHTMLProps<
825
- HA extends HTMLAttributes<RefType>,
826
- RefType extends EventTarget = EventTarget
827
- > = HA;
828
-
829
- export interface HTMLMarqueeElement extends HTMLElement {
830
- behavior?: 'scroll' | 'slide' | 'alternate';
831
- bgColor?: string;
832
- direction?: 'left' | 'right' | 'up' | 'down';
833
- height?: number | string;
834
- hspace?: number | string;
835
- loop?: number | string;
836
- scrollAmount?: number | string;
837
- scrollDelay?: number | string;
838
- trueSpeed?: boolean;
839
- vspace?: number | string;
840
- width?: number | string;
841
- }
842
-
843
- export interface IntrinsicElements {
844
- // HTML
845
- a: HTMLAttributes<HTMLAnchorElement>;
846
- abbr: HTMLAttributes<HTMLElement>;
847
- address: HTMLAttributes<HTMLElement>;
848
- area: HTMLAttributes<HTMLAreaElement>;
849
- article: HTMLAttributes<HTMLElement>;
850
- aside: HTMLAttributes<HTMLElement>;
851
- audio: HTMLAttributes<HTMLAudioElement>;
852
- b: HTMLAttributes<HTMLElement>;
853
- base: HTMLAttributes<HTMLBaseElement>;
854
- bdi: HTMLAttributes<HTMLElement>;
855
- bdo: HTMLAttributes<HTMLElement>;
856
- big: HTMLAttributes<HTMLElement>;
857
- blockquote: HTMLAttributes<HTMLQuoteElement>;
858
- body: HTMLAttributes<HTMLBodyElement>;
859
- br: HTMLAttributes<HTMLBRElement>;
860
- button: HTMLAttributes<HTMLButtonElement>;
861
- canvas: HTMLAttributes<HTMLCanvasElement>;
862
- caption: HTMLAttributes<HTMLTableCaptionElement>;
863
- cite: HTMLAttributes<HTMLElement>;
864
- code: HTMLAttributes<HTMLElement>;
865
- col: HTMLAttributes<HTMLTableColElement>;
866
- colgroup: HTMLAttributes<HTMLTableColElement>;
867
- data: HTMLAttributes<HTMLDataElement>;
868
- datalist: HTMLAttributes<HTMLDataListElement>;
869
- dd: HTMLAttributes<HTMLElement>;
870
- del: HTMLAttributes<HTMLModElement>;
871
- details: HTMLAttributes<HTMLDetailsElement>;
872
- dfn: HTMLAttributes<HTMLElement>;
873
- dialog: HTMLAttributes<HTMLDialogElement>;
874
- div: HTMLAttributes<HTMLDivElement>;
875
- dl: HTMLAttributes<HTMLDListElement>;
876
- dt: HTMLAttributes<HTMLElement>;
877
- em: HTMLAttributes<HTMLElement>;
878
- embed: HTMLAttributes<HTMLEmbedElement>;
879
- fieldset: HTMLAttributes<HTMLFieldSetElement>;
880
- figcaption: HTMLAttributes<HTMLElement>;
881
- figure: HTMLAttributes<HTMLElement>;
882
- footer: HTMLAttributes<HTMLElement>;
883
- form: HTMLAttributes<HTMLFormElement>;
884
- h1: HTMLAttributes<HTMLHeadingElement>;
885
- h2: HTMLAttributes<HTMLHeadingElement>;
886
- h3: HTMLAttributes<HTMLHeadingElement>;
887
- h4: HTMLAttributes<HTMLHeadingElement>;
888
- h5: HTMLAttributes<HTMLHeadingElement>;
889
- h6: HTMLAttributes<HTMLHeadingElement>;
890
- head: HTMLAttributes<HTMLHeadElement>;
891
- header: HTMLAttributes<HTMLElement>;
892
- hgroup: HTMLAttributes<HTMLElement>;
893
- hr: HTMLAttributes<HTMLHRElement>;
894
- html: HTMLAttributes<HTMLHtmlElement>;
895
- i: HTMLAttributes<HTMLElement>;
896
- iframe: HTMLAttributes<HTMLIFrameElement>;
897
- img: HTMLAttributes<HTMLImageElement>;
898
- input: HTMLAttributes<HTMLInputElement> & { defaultValue?: string };
899
- ins: HTMLAttributes<HTMLModElement>;
900
- kbd: HTMLAttributes<HTMLElement>;
901
- keygen: HTMLAttributes<HTMLUnknownElement>;
902
- label: HTMLAttributes<HTMLLabelElement>;
903
- legend: HTMLAttributes<HTMLLegendElement>;
904
- li: HTMLAttributes<HTMLLIElement>;
905
- link: HTMLAttributes<HTMLLinkElement>;
906
- main: HTMLAttributes<HTMLElement>;
907
- map: HTMLAttributes<HTMLMapElement>;
908
- mark: HTMLAttributes<HTMLElement>;
909
- marquee: HTMLAttributes<HTMLMarqueeElement>;
910
- menu: HTMLAttributes<HTMLMenuElement>;
911
- menuitem: HTMLAttributes<HTMLUnknownElement>;
912
- meta: HTMLAttributes<HTMLMetaElement>;
913
- meter: HTMLAttributes<HTMLMeterElement>;
914
- nav: HTMLAttributes<HTMLElement>;
915
- noscript: HTMLAttributes<HTMLElement>;
916
- object: HTMLAttributes<HTMLObjectElement>;
917
- ol: HTMLAttributes<HTMLOListElement>;
918
- optgroup: HTMLAttributes<HTMLOptGroupElement>;
919
- option: HTMLAttributes<HTMLOptionElement>;
920
- output: HTMLAttributes<HTMLOutputElement>;
921
- p: HTMLAttributes<HTMLParagraphElement>;
922
- param: HTMLAttributes<HTMLParamElement>;
923
- picture: HTMLAttributes<HTMLPictureElement>;
924
- pre: HTMLAttributes<HTMLPreElement>;
925
- progress: HTMLAttributes<HTMLProgressElement>;
926
- q: HTMLAttributes<HTMLQuoteElement>;
927
- rp: HTMLAttributes<HTMLElement>;
928
- rt: HTMLAttributes<HTMLElement>;
929
- ruby: HTMLAttributes<HTMLElement>;
930
- s: HTMLAttributes<HTMLElement>;
931
- samp: HTMLAttributes<HTMLElement>;
932
- script: HTMLAttributes<HTMLScriptElement>;
933
- section: HTMLAttributes<HTMLElement>;
934
- select: HTMLAttributes<HTMLSelectElement>;
935
- slot: HTMLAttributes<HTMLSlotElement>;
936
- small: HTMLAttributes<HTMLElement>;
937
- source: HTMLAttributes<HTMLSourceElement>;
938
- span: HTMLAttributes<HTMLSpanElement>;
939
- strong: HTMLAttributes<HTMLElement>;
940
- style: HTMLAttributes<HTMLStyleElement>;
941
- sub: HTMLAttributes<HTMLElement>;
942
- summary: HTMLAttributes<HTMLElement>;
943
- sup: HTMLAttributes<HTMLElement>;
944
- table: HTMLAttributes<HTMLTableElement>;
945
- tbody: HTMLAttributes<HTMLTableSectionElement>;
946
- td: HTMLAttributes<HTMLTableCellElement>;
947
- textarea: HTMLAttributes<HTMLTextAreaElement>;
948
- tfoot: HTMLAttributes<HTMLTableSectionElement>;
949
- th: HTMLAttributes<HTMLTableCellElement>;
950
- thead: HTMLAttributes<HTMLTableSectionElement>;
951
- time: HTMLAttributes<HTMLTimeElement>;
952
- title: HTMLAttributes<HTMLTitleElement>;
953
- tr: HTMLAttributes<HTMLTableRowElement>;
954
- track: HTMLAttributes<HTMLTrackElement>;
955
- u: HTMLAttributes<HTMLElement>;
956
- ul: HTMLAttributes<HTMLUListElement>;
957
- var: HTMLAttributes<HTMLElement>;
958
- video: HTMLAttributes<HTMLVideoElement>;
959
- wbr: HTMLAttributes<HTMLElement>;
960
-
961
- //SVG
962
- svg: SVGAttributes<SVGSVGElement>;
963
- animate: SVGAttributes<SVGAnimateElement>;
964
- circle: SVGAttributes<SVGCircleElement>;
965
- animateTransform: SVGAttributes<SVGAnimateElement>;
966
- clipPath: SVGAttributes<SVGClipPathElement>;
967
- defs: SVGAttributes<SVGDefsElement>;
968
- desc: SVGAttributes<SVGDescElement>;
969
- ellipse: SVGAttributes<SVGEllipseElement>;
970
- feBlend: SVGAttributes<SVGFEBlendElement>;
971
- feColorMatrix: SVGAttributes<SVGFEColorMatrixElement>;
972
- feComponentTransfer: SVGAttributes<SVGFEComponentTransferElement>;
973
- feComposite: SVGAttributes<SVGFECompositeElement>;
974
- feConvolveMatrix: SVGAttributes<SVGFEConvolveMatrixElement>;
975
- feDiffuseLighting: SVGAttributes<SVGFEDiffuseLightingElement>;
976
- feDisplacementMap: SVGAttributes<SVGFEDisplacementMapElement>;
977
- feDropShadow: SVGAttributes<SVGFEDropShadowElement>;
978
- feFlood: SVGAttributes<SVGFEFloodElement>;
979
- feFuncA: SVGAttributes<SVGFEFuncAElement>;
980
- feFuncB: SVGAttributes<SVGFEFuncBElement>;
981
- feFuncG: SVGAttributes<SVGFEFuncGElement>;
982
- feFuncR: SVGAttributes<SVGFEFuncRElement>;
983
- feGaussianBlur: SVGAttributes<SVGFEGaussianBlurElement>;
984
- feImage: SVGAttributes<SVGFEImageElement>;
985
- feMerge: SVGAttributes<SVGFEMergeElement>;
986
- feMergeNode: SVGAttributes<SVGFEMergeNodeElement>;
987
- feMorphology: SVGAttributes<SVGFEMorphologyElement>;
988
- feOffset: SVGAttributes<SVGFEOffsetElement>;
989
- feSpecularLighting: SVGAttributes<SVGFESpecularLightingElement>;
990
- feTile: SVGAttributes<SVGFETileElement>;
991
- feTurbulence: SVGAttributes<SVGFETurbulenceElement>;
992
- filter: SVGAttributes<SVGFilterElement>;
993
- foreignObject: SVGAttributes<SVGForeignObjectElement>;
994
- g: SVGAttributes<SVGGElement>;
995
- image: SVGAttributes<SVGImageElement>;
996
- line: SVGAttributes<SVGLineElement>;
997
- linearGradient: SVGAttributes<SVGLinearGradientElement>;
998
- marker: SVGAttributes<SVGMarkerElement>;
999
- mask: SVGAttributes<SVGMaskElement>;
1000
- path: SVGAttributes<SVGPathElement>;
1001
- pattern: SVGAttributes<SVGPatternElement>;
1002
- polygon: SVGAttributes<SVGPolygonElement>;
1003
- polyline: SVGAttributes<SVGPolylineElement>;
1004
- radialGradient: SVGAttributes<SVGRadialGradientElement>;
1005
- rect: SVGAttributes<SVGRectElement>;
1006
- stop: SVGAttributes<SVGStopElement>;
1007
- symbol: SVGAttributes<SVGSymbolElement>;
1008
- text: SVGAttributes<SVGTextElement>;
1009
- textPath: SVGAttributes<SVGTextPathElement>;
1010
- tspan: SVGAttributes<SVGTSpanElement>;
1011
- use: SVGAttributes<SVGUseElement>;
1012
- }
1013
- }
1
+ // Users who only use Preact for SSR might not specify "dom" in their lib in tsconfig.json
2
+ /// <reference lib="dom" />
3
+
4
+ import {
5
+ ClassAttributes,
6
+ Component,
7
+ PreactDOMAttributes,
8
+ VNode
9
+ } from './index';
10
+
11
+ type Defaultize<Props, Defaults> =
12
+ // Distribute over unions
13
+ Props extends any // Make any properties included in Default optional
14
+ ? Partial<Pick<Props, Extract<keyof Props, keyof Defaults>>> & // Include the remaining properties from Props
15
+ Pick<Props, Exclude<keyof Props, keyof Defaults>>
16
+ : never;
17
+
18
+ export namespace JSXInternal {
19
+ export type LibraryManagedAttributes<Component, Props> = Component extends {
20
+ defaultProps: infer Defaults;
21
+ }
22
+ ? Defaultize<Props, Defaults>
23
+ : Props;
24
+
25
+ export interface IntrinsicAttributes {
26
+ key?: any;
27
+ }
28
+
29
+ export interface Element extends VNode<any> {}
30
+
31
+ export interface ElementClass extends Component<any, any> {}
32
+
33
+ export interface ElementAttributesProperty {
34
+ props: any;
35
+ }
36
+
37
+ export interface ElementChildrenAttribute {
38
+ children: any;
39
+ }
40
+
41
+ export type DOMCSSProperties = {
42
+ [key in keyof Omit<
43
+ CSSStyleDeclaration,
44
+ | 'item'
45
+ | 'setProperty'
46
+ | 'removeProperty'
47
+ | 'getPropertyValue'
48
+ | 'getPropertyPriority'
49
+ >]?: string | number | null | undefined;
50
+ };
51
+ export type AllCSSProperties = {
52
+ [key: string]: string | number | null | undefined;
53
+ };
54
+ export interface CSSProperties extends AllCSSProperties, DOMCSSProperties {
55
+ cssText?: string | null;
56
+ }
57
+
58
+ export interface SVGAttributes<Target extends EventTarget = SVGElement>
59
+ extends HTMLAttributes<Target> {
60
+ accentHeight?: number | string;
61
+ accumulate?: 'none' | 'sum';
62
+ additive?: 'replace' | 'sum';
63
+ alignmentBaseline?:
64
+ | 'auto'
65
+ | 'baseline'
66
+ | 'before-edge'
67
+ | 'text-before-edge'
68
+ | 'middle'
69
+ | 'central'
70
+ | 'after-edge'
71
+ | 'text-after-edge'
72
+ | 'ideographic'
73
+ | 'alphabetic'
74
+ | 'hanging'
75
+ | 'mathematical'
76
+ | 'inherit';
77
+ allowReorder?: 'no' | 'yes';
78
+ alphabetic?: number | string;
79
+ amplitude?: number | string;
80
+ arabicForm?: 'initial' | 'medial' | 'terminal' | 'isolated';
81
+ ascent?: number | string;
82
+ attributeName?: string;
83
+ attributeType?: string;
84
+ autoReverse?: number | string;
85
+ azimuth?: number | string;
86
+ baseFrequency?: number | string;
87
+ baselineShift?: number | string;
88
+ baseProfile?: number | string;
89
+ bbox?: number | string;
90
+ begin?: number | string;
91
+ bias?: number | string;
92
+ by?: number | string;
93
+ calcMode?: number | string;
94
+ capHeight?: number | string;
95
+ clip?: number | string;
96
+ clipPath?: string;
97
+ clipPathUnits?: number | string;
98
+ clipRule?: number | string;
99
+ colorInterpolation?: number | string;
100
+ colorInterpolationFilters?: 'auto' | 'sRGB' | 'linearRGB' | 'inherit';
101
+ colorProfile?: number | string;
102
+ colorRendering?: number | string;
103
+ contentScriptType?: number | string;
104
+ contentStyleType?: number | string;
105
+ cursor?: number | string;
106
+ cx?: number | string;
107
+ cy?: number | string;
108
+ d?: string;
109
+ decelerate?: number | string;
110
+ descent?: number | string;
111
+ diffuseConstant?: number | string;
112
+ direction?: number | string;
113
+ display?: number | string;
114
+ divisor?: number | string;
115
+ dominantBaseline?: number | string;
116
+ dur?: number | string;
117
+ dx?: number | string;
118
+ dy?: number | string;
119
+ edgeMode?: number | string;
120
+ elevation?: number | string;
121
+ enableBackground?: number | string;
122
+ end?: number | string;
123
+ exponent?: number | string;
124
+ externalResourcesRequired?: number | string;
125
+ fill?: string;
126
+ fillOpacity?: number | string;
127
+ fillRule?: 'nonzero' | 'evenodd' | 'inherit';
128
+ filter?: string;
129
+ filterRes?: number | string;
130
+ filterUnits?: number | string;
131
+ floodColor?: number | string;
132
+ floodOpacity?: number | string;
133
+ focusable?: number | string;
134
+ fontFamily?: string;
135
+ fontSize?: number | string;
136
+ fontSizeAdjust?: number | string;
137
+ fontStretch?: number | string;
138
+ fontStyle?: number | string;
139
+ fontVariant?: number | string;
140
+ fontWeight?: number | string;
141
+ format?: number | string;
142
+ from?: number | string;
143
+ fx?: number | string;
144
+ fy?: number | string;
145
+ g1?: number | string;
146
+ g2?: number | string;
147
+ glyphName?: number | string;
148
+ glyphOrientationHorizontal?: number | string;
149
+ glyphOrientationVertical?: number | string;
150
+ glyphRef?: number | string;
151
+ gradientTransform?: string;
152
+ gradientUnits?: string;
153
+ hanging?: number | string;
154
+ horizAdvX?: number | string;
155
+ horizOriginX?: number | string;
156
+ ideographic?: number | string;
157
+ imageRendering?: number | string;
158
+ in2?: number | string;
159
+ in?: string;
160
+ intercept?: number | string;
161
+ k1?: number | string;
162
+ k2?: number | string;
163
+ k3?: number | string;
164
+ k4?: number | string;
165
+ k?: number | string;
166
+ kernelMatrix?: number | string;
167
+ kernelUnitLength?: number | string;
168
+ kerning?: number | string;
169
+ keyPoints?: number | string;
170
+ keySplines?: number | string;
171
+ keyTimes?: number | string;
172
+ lengthAdjust?: number | string;
173
+ letterSpacing?: number | string;
174
+ lightingColor?: number | string;
175
+ limitingConeAngle?: number | string;
176
+ local?: number | string;
177
+ markerEnd?: string;
178
+ markerHeight?: number | string;
179
+ markerMid?: string;
180
+ markerStart?: string;
181
+ markerUnits?: number | string;
182
+ markerWidth?: number | string;
183
+ mask?: string;
184
+ maskContentUnits?: number | string;
185
+ maskUnits?: number | string;
186
+ mathematical?: number | string;
187
+ mode?: number | string;
188
+ numOctaves?: number | string;
189
+ offset?: number | string;
190
+ opacity?: number | string;
191
+ operator?: number | string;
192
+ order?: number | string;
193
+ orient?: number | string;
194
+ orientation?: number | string;
195
+ origin?: number | string;
196
+ overflow?: number | string;
197
+ overlinePosition?: number | string;
198
+ overlineThickness?: number | string;
199
+ paintOrder?: number | string;
200
+ panose1?: number | string;
201
+ pathLength?: number | string;
202
+ patternContentUnits?: string;
203
+ patternTransform?: number | string;
204
+ patternUnits?: string;
205
+ pointerEvents?: number | string;
206
+ points?: string;
207
+ pointsAtX?: number | string;
208
+ pointsAtY?: number | string;
209
+ pointsAtZ?: number | string;
210
+ preserveAlpha?: number | string;
211
+ preserveAspectRatio?: string;
212
+ primitiveUnits?: number | string;
213
+ r?: number | string;
214
+ radius?: number | string;
215
+ refX?: number | string;
216
+ refY?: number | string;
217
+ renderingIntent?: number | string;
218
+ repeatCount?: number | string;
219
+ repeatDur?: number | string;
220
+ requiredExtensions?: number | string;
221
+ requiredFeatures?: number | string;
222
+ restart?: number | string;
223
+ result?: string;
224
+ rotate?: number | string;
225
+ rx?: number | string;
226
+ ry?: number | string;
227
+ scale?: number | string;
228
+ seed?: number | string;
229
+ shapeRendering?: number | string;
230
+ slope?: number | string;
231
+ spacing?: number | string;
232
+ specularConstant?: number | string;
233
+ specularExponent?: number | string;
234
+ speed?: number | string;
235
+ spreadMethod?: string;
236
+ startOffset?: number | string;
237
+ stdDeviation?: number | string;
238
+ stemh?: number | string;
239
+ stemv?: number | string;
240
+ stitchTiles?: number | string;
241
+ stopColor?: string;
242
+ stopOpacity?: number | string;
243
+ strikethroughPosition?: number | string;
244
+ strikethroughThickness?: number | string;
245
+ string?: number | string;
246
+ stroke?: string;
247
+ strokeDasharray?: string | number;
248
+ strokeDashoffset?: string | number;
249
+ strokeLinecap?: 'butt' | 'round' | 'square' | 'inherit';
250
+ strokeLinejoin?: 'miter' | 'round' | 'bevel' | 'inherit';
251
+ strokeMiterlimit?: string | number;
252
+ strokeOpacity?: number | string;
253
+ strokeWidth?: number | string;
254
+ surfaceScale?: number | string;
255
+ systemLanguage?: number | string;
256
+ tableValues?: number | string;
257
+ targetX?: number | string;
258
+ targetY?: number | string;
259
+ textAnchor?: string;
260
+ textDecoration?: number | string;
261
+ textLength?: number | string;
262
+ textRendering?: number | string;
263
+ to?: number | string;
264
+ transform?: string;
265
+ u1?: number | string;
266
+ u2?: number | string;
267
+ underlinePosition?: number | string;
268
+ underlineThickness?: number | string;
269
+ unicode?: number | string;
270
+ unicodeBidi?: number | string;
271
+ unicodeRange?: number | string;
272
+ unitsPerEm?: number | string;
273
+ vAlphabetic?: number | string;
274
+ values?: string;
275
+ vectorEffect?: number | string;
276
+ version?: string;
277
+ vertAdvY?: number | string;
278
+ vertOriginX?: number | string;
279
+ vertOriginY?: number | string;
280
+ vHanging?: number | string;
281
+ vIdeographic?: number | string;
282
+ viewBox?: string;
283
+ viewTarget?: number | string;
284
+ visibility?: number | string;
285
+ vMathematical?: number | string;
286
+ widths?: number | string;
287
+ wordSpacing?: number | string;
288
+ writingMode?: number | string;
289
+ x1?: number | string;
290
+ x2?: number | string;
291
+ x?: number | string;
292
+ xChannelSelector?: string;
293
+ xHeight?: number | string;
294
+ xlinkActuate?: string;
295
+ xlinkArcrole?: string;
296
+ xlinkHref?: string;
297
+ xlinkRole?: string;
298
+ xlinkShow?: string;
299
+ xlinkTitle?: string;
300
+ xlinkType?: string;
301
+ xmlBase?: string;
302
+ xmlLang?: string;
303
+ xmlns?: string;
304
+ xmlnsXlink?: string;
305
+ xmlSpace?: string;
306
+ y1?: number | string;
307
+ y2?: number | string;
308
+ y?: number | string;
309
+ yChannelSelector?: string;
310
+ z?: number | string;
311
+ zoomAndPan?: string;
312
+ }
313
+
314
+ export interface PathAttributes {
315
+ d: string;
316
+ }
317
+
318
+ export type TargetedEvent<
319
+ Target extends EventTarget = EventTarget,
320
+ TypedEvent extends Event = Event
321
+ > = Omit<TypedEvent, 'currentTarget'> & {
322
+ readonly currentTarget: Target;
323
+ };
324
+
325
+ export type TargetedAnimationEvent<
326
+ Target extends EventTarget
327
+ > = TargetedEvent<Target, AnimationEvent>;
328
+ export type TargetedClipboardEvent<
329
+ Target extends EventTarget
330
+ > = TargetedEvent<Target, ClipboardEvent>;
331
+ export type TargetedCompositionEvent<
332
+ Target extends EventTarget
333
+ > = TargetedEvent<Target, CompositionEvent>;
334
+ export type TargetedDragEvent<Target extends EventTarget> = TargetedEvent<
335
+ Target,
336
+ DragEvent
337
+ >;
338
+ export type TargetedFocusEvent<Target extends EventTarget> = TargetedEvent<
339
+ Target,
340
+ FocusEvent
341
+ >;
342
+ export type TargetedKeyboardEvent<Target extends EventTarget> = TargetedEvent<
343
+ Target,
344
+ KeyboardEvent
345
+ >;
346
+ export type TargetedMouseEvent<Target extends EventTarget> = TargetedEvent<
347
+ Target,
348
+ MouseEvent
349
+ >;
350
+ export type TargetedPointerEvent<Target extends EventTarget> = TargetedEvent<
351
+ Target,
352
+ PointerEvent
353
+ >;
354
+ export type TargetedTouchEvent<Target extends EventTarget> = TargetedEvent<
355
+ Target,
356
+ TouchEvent
357
+ >;
358
+ export type TargetedTransitionEvent<
359
+ Target extends EventTarget
360
+ > = TargetedEvent<Target, TransitionEvent>;
361
+ export type TargetedUIEvent<Target extends EventTarget> = TargetedEvent<
362
+ Target,
363
+ UIEvent
364
+ >;
365
+ export type TargetedWheelEvent<Target extends EventTarget> = TargetedEvent<
366
+ Target,
367
+ WheelEvent
368
+ >;
369
+
370
+ export interface EventHandler<E extends TargetedEvent> {
371
+ /**
372
+ * The `this` keyword always points to the DOM element the event handler
373
+ * 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
374
+ */
375
+ (this: never, event: E): void;
376
+ }
377
+
378
+ export type AnimationEventHandler<Target extends EventTarget> = EventHandler<
379
+ TargetedAnimationEvent<Target>
380
+ >;
381
+ export type ClipboardEventHandler<Target extends EventTarget> = EventHandler<
382
+ TargetedClipboardEvent<Target>
383
+ >;
384
+ export type CompositionEventHandler<
385
+ Target extends EventTarget
386
+ > = EventHandler<TargetedCompositionEvent<Target>>;
387
+ export type DragEventHandler<Target extends EventTarget> = EventHandler<
388
+ TargetedDragEvent<Target>
389
+ >;
390
+ export type FocusEventHandler<Target extends EventTarget> = EventHandler<
391
+ TargetedFocusEvent<Target>
392
+ >;
393
+ export type GenericEventHandler<Target extends EventTarget> = EventHandler<
394
+ TargetedEvent<Target>
395
+ >;
396
+ export type KeyboardEventHandler<Target extends EventTarget> = EventHandler<
397
+ TargetedKeyboardEvent<Target>
398
+ >;
399
+ export type MouseEventHandler<Target extends EventTarget> = EventHandler<
400
+ TargetedMouseEvent<Target>
401
+ >;
402
+ export type PointerEventHandler<Target extends EventTarget> = EventHandler<
403
+ TargetedPointerEvent<Target>
404
+ >;
405
+ export type TouchEventHandler<Target extends EventTarget> = EventHandler<
406
+ TargetedTouchEvent<Target>
407
+ >;
408
+ export type TransitionEventHandler<Target extends EventTarget> = EventHandler<
409
+ TargetedTransitionEvent<Target>
410
+ >;
411
+ export type UIEventHandler<Target extends EventTarget> = EventHandler<
412
+ TargetedUIEvent<Target>
413
+ >;
414
+ export type WheelEventHandler<Target extends EventTarget> = EventHandler<
415
+ TargetedWheelEvent<Target>
416
+ >;
417
+
418
+ export interface DOMAttributes<Target extends EventTarget>
419
+ extends PreactDOMAttributes {
420
+ // Image Events
421
+ onLoad?: GenericEventHandler<Target>;
422
+ onLoadCapture?: GenericEventHandler<Target>;
423
+ onError?: GenericEventHandler<Target>;
424
+ onErrorCapture?: GenericEventHandler<Target>;
425
+
426
+ // Clipboard Events
427
+ onCopy?: ClipboardEventHandler<Target>;
428
+ onCopyCapture?: ClipboardEventHandler<Target>;
429
+ onCut?: ClipboardEventHandler<Target>;
430
+ onCutCapture?: ClipboardEventHandler<Target>;
431
+ onPaste?: ClipboardEventHandler<Target>;
432
+ onPasteCapture?: ClipboardEventHandler<Target>;
433
+
434
+ // Composition Events
435
+ onCompositionEnd?: CompositionEventHandler<Target>;
436
+ onCompositionEndCapture?: CompositionEventHandler<Target>;
437
+ onCompositionStart?: CompositionEventHandler<Target>;
438
+ onCompositionStartCapture?: CompositionEventHandler<Target>;
439
+ onCompositionUpdate?: CompositionEventHandler<Target>;
440
+ onCompositionUpdateCapture?: CompositionEventHandler<Target>;
441
+
442
+ // Details Events
443
+ onToggle?: GenericEventHandler<Target>;
444
+
445
+ // Focus Events
446
+ onFocus?: FocusEventHandler<Target>;
447
+ onFocusCapture?: FocusEventHandler<Target>;
448
+ onfocusin?: FocusEventHandler<Target>;
449
+ onfocusinCapture?: FocusEventHandler<Target>;
450
+ onfocusout?: FocusEventHandler<Target>;
451
+ onfocusoutCapture?: FocusEventHandler<Target>;
452
+ onBlur?: FocusEventHandler<Target>;
453
+ onBlurCapture?: FocusEventHandler<Target>;
454
+
455
+ // Form Events
456
+ onChange?: GenericEventHandler<Target>;
457
+ onChangeCapture?: GenericEventHandler<Target>;
458
+ onInput?: GenericEventHandler<Target>;
459
+ onInputCapture?: GenericEventHandler<Target>;
460
+ onBeforeInput?: GenericEventHandler<Target>;
461
+ onBeforeInputCapture?: GenericEventHandler<Target>;
462
+ onSearch?: GenericEventHandler<Target>;
463
+ onSearchCapture?: GenericEventHandler<Target>;
464
+ onSubmit?: GenericEventHandler<Target>;
465
+ onSubmitCapture?: GenericEventHandler<Target>;
466
+ onInvalid?: GenericEventHandler<Target>;
467
+ onInvalidCapture?: GenericEventHandler<Target>;
468
+ onReset?: GenericEventHandler<Target>;
469
+ onResetCapture?: GenericEventHandler<Target>;
470
+ onFormData?: GenericEventHandler<Target>;
471
+ onFormDataCapture?: GenericEventHandler<Target>;
472
+
473
+ // Keyboard Events
474
+ onKeyDown?: KeyboardEventHandler<Target>;
475
+ onKeyDownCapture?: KeyboardEventHandler<Target>;
476
+ onKeyPress?: KeyboardEventHandler<Target>;
477
+ onKeyPressCapture?: KeyboardEventHandler<Target>;
478
+ onKeyUp?: KeyboardEventHandler<Target>;
479
+ onKeyUpCapture?: KeyboardEventHandler<Target>;
480
+
481
+ // Media Events
482
+ onAbort?: GenericEventHandler<Target>;
483
+ onAbortCapture?: GenericEventHandler<Target>;
484
+ onCanPlay?: GenericEventHandler<Target>;
485
+ onCanPlayCapture?: GenericEventHandler<Target>;
486
+ onCanPlayThrough?: GenericEventHandler<Target>;
487
+ onCanPlayThroughCapture?: GenericEventHandler<Target>;
488
+ onDurationChange?: GenericEventHandler<Target>;
489
+ onDurationChangeCapture?: GenericEventHandler<Target>;
490
+ onEmptied?: GenericEventHandler<Target>;
491
+ onEmptiedCapture?: GenericEventHandler<Target>;
492
+ onEncrypted?: GenericEventHandler<Target>;
493
+ onEncryptedCapture?: GenericEventHandler<Target>;
494
+ onEnded?: GenericEventHandler<Target>;
495
+ onEndedCapture?: GenericEventHandler<Target>;
496
+ onLoadedData?: GenericEventHandler<Target>;
497
+ onLoadedDataCapture?: GenericEventHandler<Target>;
498
+ onLoadedMetadata?: GenericEventHandler<Target>;
499
+ onLoadedMetadataCapture?: GenericEventHandler<Target>;
500
+ onLoadStart?: GenericEventHandler<Target>;
501
+ onLoadStartCapture?: GenericEventHandler<Target>;
502
+ onPause?: GenericEventHandler<Target>;
503
+ onPauseCapture?: GenericEventHandler<Target>;
504
+ onPlay?: GenericEventHandler<Target>;
505
+ onPlayCapture?: GenericEventHandler<Target>;
506
+ onPlaying?: GenericEventHandler<Target>;
507
+ onPlayingCapture?: GenericEventHandler<Target>;
508
+ onProgress?: GenericEventHandler<Target>;
509
+ onProgressCapture?: GenericEventHandler<Target>;
510
+ onRateChange?: GenericEventHandler<Target>;
511
+ onRateChangeCapture?: GenericEventHandler<Target>;
512
+ onSeeked?: GenericEventHandler<Target>;
513
+ onSeekedCapture?: GenericEventHandler<Target>;
514
+ onSeeking?: GenericEventHandler<Target>;
515
+ onSeekingCapture?: GenericEventHandler<Target>;
516
+ onStalled?: GenericEventHandler<Target>;
517
+ onStalledCapture?: GenericEventHandler<Target>;
518
+ onSuspend?: GenericEventHandler<Target>;
519
+ onSuspendCapture?: GenericEventHandler<Target>;
520
+ onTimeUpdate?: GenericEventHandler<Target>;
521
+ onTimeUpdateCapture?: GenericEventHandler<Target>;
522
+ onVolumeChange?: GenericEventHandler<Target>;
523
+ onVolumeChangeCapture?: GenericEventHandler<Target>;
524
+ onWaiting?: GenericEventHandler<Target>;
525
+ onWaitingCapture?: GenericEventHandler<Target>;
526
+
527
+ // MouseEvents
528
+ onClick?: MouseEventHandler<Target>;
529
+ onClickCapture?: MouseEventHandler<Target>;
530
+ onContextMenu?: MouseEventHandler<Target>;
531
+ onContextMenuCapture?: MouseEventHandler<Target>;
532
+ onDblClick?: MouseEventHandler<Target>;
533
+ onDblClickCapture?: MouseEventHandler<Target>;
534
+ onDrag?: DragEventHandler<Target>;
535
+ onDragCapture?: DragEventHandler<Target>;
536
+ onDragEnd?: DragEventHandler<Target>;
537
+ onDragEndCapture?: DragEventHandler<Target>;
538
+ onDragEnter?: DragEventHandler<Target>;
539
+ onDragEnterCapture?: DragEventHandler<Target>;
540
+ onDragExit?: DragEventHandler<Target>;
541
+ onDragExitCapture?: DragEventHandler<Target>;
542
+ onDragLeave?: DragEventHandler<Target>;
543
+ onDragLeaveCapture?: DragEventHandler<Target>;
544
+ onDragOver?: DragEventHandler<Target>;
545
+ onDragOverCapture?: DragEventHandler<Target>;
546
+ onDragStart?: DragEventHandler<Target>;
547
+ onDragStartCapture?: DragEventHandler<Target>;
548
+ onDrop?: DragEventHandler<Target>;
549
+ onDropCapture?: DragEventHandler<Target>;
550
+ onMouseDown?: MouseEventHandler<Target>;
551
+ onMouseDownCapture?: MouseEventHandler<Target>;
552
+ onMouseEnter?: MouseEventHandler<Target>;
553
+ onMouseEnterCapture?: MouseEventHandler<Target>;
554
+ onMouseLeave?: MouseEventHandler<Target>;
555
+ onMouseLeaveCapture?: MouseEventHandler<Target>;
556
+ onMouseMove?: MouseEventHandler<Target>;
557
+ onMouseMoveCapture?: MouseEventHandler<Target>;
558
+ onMouseOut?: MouseEventHandler<Target>;
559
+ onMouseOutCapture?: MouseEventHandler<Target>;
560
+ onMouseOver?: MouseEventHandler<Target>;
561
+ onMouseOverCapture?: MouseEventHandler<Target>;
562
+ onMouseUp?: MouseEventHandler<Target>;
563
+ onMouseUpCapture?: MouseEventHandler<Target>;
564
+
565
+ // Selection Events
566
+ onSelect?: GenericEventHandler<Target>;
567
+ onSelectCapture?: GenericEventHandler<Target>;
568
+
569
+ // Touch Events
570
+ onTouchCancel?: TouchEventHandler<Target>;
571
+ onTouchCancelCapture?: TouchEventHandler<Target>;
572
+ onTouchEnd?: TouchEventHandler<Target>;
573
+ onTouchEndCapture?: TouchEventHandler<Target>;
574
+ onTouchMove?: TouchEventHandler<Target>;
575
+ onTouchMoveCapture?: TouchEventHandler<Target>;
576
+ onTouchStart?: TouchEventHandler<Target>;
577
+ onTouchStartCapture?: TouchEventHandler<Target>;
578
+
579
+ // Pointer Events
580
+ onPointerOver?: PointerEventHandler<Target>;
581
+ onPointerOverCapture?: PointerEventHandler<Target>;
582
+ onPointerEnter?: PointerEventHandler<Target>;
583
+ onPointerEnterCapture?: PointerEventHandler<Target>;
584
+ onPointerDown?: PointerEventHandler<Target>;
585
+ onPointerDownCapture?: PointerEventHandler<Target>;
586
+ onPointerMove?: PointerEventHandler<Target>;
587
+ onPointerMoveCapture?: PointerEventHandler<Target>;
588
+ onPointerUp?: PointerEventHandler<Target>;
589
+ onPointerUpCapture?: PointerEventHandler<Target>;
590
+ onPointerCancel?: PointerEventHandler<Target>;
591
+ onPointerCancelCapture?: PointerEventHandler<Target>;
592
+ onPointerOut?: PointerEventHandler<Target>;
593
+ onPointerOutCapture?: PointerEventHandler<Target>;
594
+ onPointerLeave?: PointerEventHandler<Target>;
595
+ onPointerLeaveCapture?: PointerEventHandler<Target>;
596
+ onGotPointerCapture?: PointerEventHandler<Target>;
597
+ onGotPointerCaptureCapture?: PointerEventHandler<Target>;
598
+ onLostPointerCapture?: PointerEventHandler<Target>;
599
+ onLostPointerCaptureCapture?: PointerEventHandler<Target>;
600
+
601
+ // UI Events
602
+ onScroll?: UIEventHandler<Target>;
603
+ onScrollCapture?: UIEventHandler<Target>;
604
+
605
+ // Wheel Events
606
+ onWheel?: WheelEventHandler<Target>;
607
+ onWheelCapture?: WheelEventHandler<Target>;
608
+
609
+ // Animation Events
610
+ onAnimationStart?: AnimationEventHandler<Target>;
611
+ onAnimationStartCapture?: AnimationEventHandler<Target>;
612
+ onAnimationEnd?: AnimationEventHandler<Target>;
613
+ onAnimationEndCapture?: AnimationEventHandler<Target>;
614
+ onAnimationIteration?: AnimationEventHandler<Target>;
615
+ onAnimationIterationCapture?: AnimationEventHandler<Target>;
616
+
617
+ // Transition Events
618
+ onTransitionEnd?: TransitionEventHandler<Target>;
619
+ onTransitionEndCapture?: TransitionEventHandler<Target>;
620
+ }
621
+
622
+ export interface HTMLAttributes<RefType extends EventTarget = EventTarget>
623
+ extends ClassAttributes<RefType>,
624
+ DOMAttributes<RefType> {
625
+ // Standard HTML Attributes
626
+ accept?: string;
627
+ acceptCharset?: string;
628
+ accessKey?: string;
629
+ action?: string;
630
+ allow?: string;
631
+ allowFullScreen?: boolean;
632
+ allowTransparency?: boolean;
633
+ alt?: string;
634
+ as?: string;
635
+ async?: boolean;
636
+ autocomplete?: string;
637
+ autoComplete?: string;
638
+ autocorrect?: string;
639
+ autoCorrect?: string;
640
+ autofocus?: boolean;
641
+ autoFocus?: boolean;
642
+ autoPlay?: boolean;
643
+ capture?: boolean | string;
644
+ cellPadding?: number | string;
645
+ cellSpacing?: number | string;
646
+ charSet?: string;
647
+ challenge?: string;
648
+ checked?: boolean;
649
+ cite?: string;
650
+ class?: string;
651
+ className?: string;
652
+ cols?: number;
653
+ colSpan?: number;
654
+ content?: string;
655
+ contentEditable?: boolean;
656
+ contextMenu?: string;
657
+ controls?: boolean;
658
+ controlsList?: string;
659
+ coords?: string;
660
+ crossOrigin?: string;
661
+ data?: string;
662
+ dateTime?: string;
663
+ default?: boolean;
664
+ defaultChecked?: boolean;
665
+ defaultValue?: string;
666
+ defer?: boolean;
667
+ dir?: 'auto' | 'rtl' | 'ltr';
668
+ disabled?: boolean;
669
+ disableRemotePlayback?: boolean;
670
+ download?: any;
671
+ decoding?: 'sync' | 'async' | 'auto';
672
+ draggable?: boolean;
673
+ encType?: string;
674
+ enterkeyhint?:
675
+ | 'enter'
676
+ | 'done'
677
+ | 'go'
678
+ | 'next'
679
+ | 'previous'
680
+ | 'search'
681
+ | 'send';
682
+ form?: string;
683
+ formAction?: string;
684
+ formEncType?: string;
685
+ formMethod?: string;
686
+ formNoValidate?: boolean;
687
+ formTarget?: string;
688
+ frameBorder?: number | string;
689
+ headers?: string;
690
+ height?: number | string;
691
+ hidden?: boolean;
692
+ high?: number;
693
+ href?: string;
694
+ hrefLang?: string;
695
+ for?: string;
696
+ htmlFor?: string;
697
+ httpEquiv?: string;
698
+ icon?: string;
699
+ id?: string;
700
+ inputMode?: string;
701
+ integrity?: string;
702
+ is?: string;
703
+ keyParams?: string;
704
+ keyType?: string;
705
+ kind?: string;
706
+ label?: string;
707
+ lang?: string;
708
+ list?: string;
709
+ loading?: 'eager' | 'lazy';
710
+ loop?: boolean;
711
+ low?: number;
712
+ manifest?: string;
713
+ marginHeight?: number;
714
+ marginWidth?: number;
715
+ max?: number | string;
716
+ maxLength?: number;
717
+ media?: string;
718
+ mediaGroup?: string;
719
+ method?: string;
720
+ min?: number | string;
721
+ minLength?: number;
722
+ multiple?: boolean;
723
+ muted?: boolean;
724
+ name?: string;
725
+ nomodule?: boolean;
726
+ nonce?: string;
727
+ noValidate?: boolean;
728
+ open?: boolean;
729
+ optimum?: number;
730
+ part?: string;
731
+ pattern?: string;
732
+ ping?: string;
733
+ placeholder?: string;
734
+ playsInline?: boolean;
735
+ poster?: string;
736
+ preload?: string;
737
+ radioGroup?: string;
738
+ readonly?: boolean;
739
+ readOnly?: boolean;
740
+ referrerpolicy?:
741
+ | 'no-referrer'
742
+ | 'no-referrer-when-downgrade'
743
+ | 'origin'
744
+ | 'origin-when-cross-origin'
745
+ | 'same-origin'
746
+ | 'strict-origin'
747
+ | 'strict-origin-when-cross-origin'
748
+ | 'unsafe-url';
749
+ rel?: string;
750
+ required?: boolean;
751
+ reversed?: boolean;
752
+ role?: string;
753
+ rows?: number;
754
+ rowSpan?: number;
755
+ sandbox?: string;
756
+ scope?: string;
757
+ scoped?: boolean;
758
+ scrolling?: string;
759
+ seamless?: boolean;
760
+ selected?: boolean;
761
+ shape?: string;
762
+ size?: number;
763
+ sizes?: string;
764
+ slot?: string;
765
+ span?: number;
766
+ spellcheck?: boolean;
767
+ spellCheck?: boolean;
768
+ src?: string;
769
+ srcset?: string;
770
+ srcDoc?: string;
771
+ srcLang?: string;
772
+ srcSet?: string;
773
+ start?: number;
774
+ step?: number | string;
775
+ style?: string | CSSProperties;
776
+ summary?: string;
777
+ tabIndex?: number;
778
+ target?: string;
779
+ title?: string;
780
+ type?: string;
781
+ useMap?: string;
782
+ value?: string | string[] | number;
783
+ volume?: string | number;
784
+ width?: number | string;
785
+ wmode?: string;
786
+ wrap?: string;
787
+
788
+ // Non-standard Attributes
789
+ autocapitalize?:
790
+ | 'off'
791
+ | 'none'
792
+ | 'on'
793
+ | 'sentences'
794
+ | 'words'
795
+ | 'characters';
796
+ autoCapitalize?:
797
+ | 'off'
798
+ | 'none'
799
+ | 'on'
800
+ | 'sentences'
801
+ | 'words'
802
+ | 'characters';
803
+ disablePictureInPicture?: boolean;
804
+ results?: number;
805
+ translate?: 'yes' | 'no';
806
+
807
+ // RDFa Attributes
808
+ about?: string;
809
+ datatype?: string;
810
+ inlist?: any;
811
+ prefix?: string;
812
+ property?: string;
813
+ resource?: string;
814
+ typeof?: string;
815
+ vocab?: string;
816
+
817
+ // Microdata Attributes
818
+ itemProp?: string;
819
+ itemScope?: boolean;
820
+ itemType?: string;
821
+ itemID?: string;
822
+ itemRef?: string;
823
+ }
824
+
825
+ export type DetailedHTMLProps<
826
+ HA extends HTMLAttributes<RefType>,
827
+ RefType extends EventTarget = EventTarget
828
+ > = HA;
829
+
830
+ export interface HTMLMarqueeElement extends HTMLElement {
831
+ behavior?: 'scroll' | 'slide' | 'alternate';
832
+ bgColor?: string;
833
+ direction?: 'left' | 'right' | 'up' | 'down';
834
+ height?: number | string;
835
+ hspace?: number | string;
836
+ loop?: number | string;
837
+ scrollAmount?: number | string;
838
+ scrollDelay?: number | string;
839
+ trueSpeed?: boolean;
840
+ vspace?: number | string;
841
+ width?: number | string;
842
+ }
843
+
844
+ export interface IntrinsicElements {
845
+ // HTML
846
+ a: HTMLAttributes<HTMLAnchorElement>;
847
+ abbr: HTMLAttributes<HTMLElement>;
848
+ address: HTMLAttributes<HTMLElement>;
849
+ area: HTMLAttributes<HTMLAreaElement>;
850
+ article: HTMLAttributes<HTMLElement>;
851
+ aside: HTMLAttributes<HTMLElement>;
852
+ audio: HTMLAttributes<HTMLAudioElement>;
853
+ b: HTMLAttributes<HTMLElement>;
854
+ base: HTMLAttributes<HTMLBaseElement>;
855
+ bdi: HTMLAttributes<HTMLElement>;
856
+ bdo: HTMLAttributes<HTMLElement>;
857
+ big: HTMLAttributes<HTMLElement>;
858
+ blockquote: HTMLAttributes<HTMLQuoteElement>;
859
+ body: HTMLAttributes<HTMLBodyElement>;
860
+ br: HTMLAttributes<HTMLBRElement>;
861
+ button: HTMLAttributes<HTMLButtonElement>;
862
+ canvas: HTMLAttributes<HTMLCanvasElement>;
863
+ caption: HTMLAttributes<HTMLTableCaptionElement>;
864
+ cite: HTMLAttributes<HTMLElement>;
865
+ code: HTMLAttributes<HTMLElement>;
866
+ col: HTMLAttributes<HTMLTableColElement>;
867
+ colgroup: HTMLAttributes<HTMLTableColElement>;
868
+ data: HTMLAttributes<HTMLDataElement>;
869
+ datalist: HTMLAttributes<HTMLDataListElement>;
870
+ dd: HTMLAttributes<HTMLElement>;
871
+ del: HTMLAttributes<HTMLModElement>;
872
+ details: HTMLAttributes<HTMLDetailsElement>;
873
+ dfn: HTMLAttributes<HTMLElement>;
874
+ dialog: HTMLAttributes<HTMLDialogElement>;
875
+ div: HTMLAttributes<HTMLDivElement>;
876
+ dl: HTMLAttributes<HTMLDListElement>;
877
+ dt: HTMLAttributes<HTMLElement>;
878
+ em: HTMLAttributes<HTMLElement>;
879
+ embed: HTMLAttributes<HTMLEmbedElement>;
880
+ fieldset: HTMLAttributes<HTMLFieldSetElement>;
881
+ figcaption: HTMLAttributes<HTMLElement>;
882
+ figure: HTMLAttributes<HTMLElement>;
883
+ footer: HTMLAttributes<HTMLElement>;
884
+ form: HTMLAttributes<HTMLFormElement>;
885
+ h1: HTMLAttributes<HTMLHeadingElement>;
886
+ h2: HTMLAttributes<HTMLHeadingElement>;
887
+ h3: HTMLAttributes<HTMLHeadingElement>;
888
+ h4: HTMLAttributes<HTMLHeadingElement>;
889
+ h5: HTMLAttributes<HTMLHeadingElement>;
890
+ h6: HTMLAttributes<HTMLHeadingElement>;
891
+ head: HTMLAttributes<HTMLHeadElement>;
892
+ header: HTMLAttributes<HTMLElement>;
893
+ hgroup: HTMLAttributes<HTMLElement>;
894
+ hr: HTMLAttributes<HTMLHRElement>;
895
+ html: HTMLAttributes<HTMLHtmlElement>;
896
+ i: HTMLAttributes<HTMLElement>;
897
+ iframe: HTMLAttributes<HTMLIFrameElement>;
898
+ img: HTMLAttributes<HTMLImageElement>;
899
+ input: HTMLAttributes<HTMLInputElement> & { defaultValue?: string };
900
+ ins: HTMLAttributes<HTMLModElement>;
901
+ kbd: HTMLAttributes<HTMLElement>;
902
+ keygen: HTMLAttributes<HTMLUnknownElement>;
903
+ label: HTMLAttributes<HTMLLabelElement>;
904
+ legend: HTMLAttributes<HTMLLegendElement>;
905
+ li: HTMLAttributes<HTMLLIElement>;
906
+ link: HTMLAttributes<HTMLLinkElement>;
907
+ main: HTMLAttributes<HTMLElement>;
908
+ map: HTMLAttributes<HTMLMapElement>;
909
+ mark: HTMLAttributes<HTMLElement>;
910
+ marquee: HTMLAttributes<HTMLMarqueeElement>;
911
+ menu: HTMLAttributes<HTMLMenuElement>;
912
+ menuitem: HTMLAttributes<HTMLUnknownElement>;
913
+ meta: HTMLAttributes<HTMLMetaElement>;
914
+ meter: HTMLAttributes<HTMLMeterElement>;
915
+ nav: HTMLAttributes<HTMLElement>;
916
+ noscript: HTMLAttributes<HTMLElement>;
917
+ object: HTMLAttributes<HTMLObjectElement>;
918
+ ol: HTMLAttributes<HTMLOListElement>;
919
+ optgroup: HTMLAttributes<HTMLOptGroupElement>;
920
+ option: HTMLAttributes<HTMLOptionElement>;
921
+ output: HTMLAttributes<HTMLOutputElement>;
922
+ p: HTMLAttributes<HTMLParagraphElement>;
923
+ param: HTMLAttributes<HTMLParamElement>;
924
+ picture: HTMLAttributes<HTMLPictureElement>;
925
+ pre: HTMLAttributes<HTMLPreElement>;
926
+ progress: HTMLAttributes<HTMLProgressElement>;
927
+ q: HTMLAttributes<HTMLQuoteElement>;
928
+ rp: HTMLAttributes<HTMLElement>;
929
+ rt: HTMLAttributes<HTMLElement>;
930
+ ruby: HTMLAttributes<HTMLElement>;
931
+ s: HTMLAttributes<HTMLElement>;
932
+ samp: HTMLAttributes<HTMLElement>;
933
+ script: HTMLAttributes<HTMLScriptElement>;
934
+ section: HTMLAttributes<HTMLElement>;
935
+ select: HTMLAttributes<HTMLSelectElement>;
936
+ slot: HTMLAttributes<HTMLSlotElement>;
937
+ small: HTMLAttributes<HTMLElement>;
938
+ source: HTMLAttributes<HTMLSourceElement>;
939
+ span: HTMLAttributes<HTMLSpanElement>;
940
+ strong: HTMLAttributes<HTMLElement>;
941
+ style: HTMLAttributes<HTMLStyleElement>;
942
+ sub: HTMLAttributes<HTMLElement>;
943
+ summary: HTMLAttributes<HTMLElement>;
944
+ sup: HTMLAttributes<HTMLElement>;
945
+ table: HTMLAttributes<HTMLTableElement>;
946
+ tbody: HTMLAttributes<HTMLTableSectionElement>;
947
+ td: HTMLAttributes<HTMLTableCellElement>;
948
+ textarea: HTMLAttributes<HTMLTextAreaElement>;
949
+ tfoot: HTMLAttributes<HTMLTableSectionElement>;
950
+ th: HTMLAttributes<HTMLTableCellElement>;
951
+ thead: HTMLAttributes<HTMLTableSectionElement>;
952
+ time: HTMLAttributes<HTMLTimeElement>;
953
+ title: HTMLAttributes<HTMLTitleElement>;
954
+ tr: HTMLAttributes<HTMLTableRowElement>;
955
+ track: HTMLAttributes<HTMLTrackElement>;
956
+ u: HTMLAttributes<HTMLElement>;
957
+ ul: HTMLAttributes<HTMLUListElement>;
958
+ var: HTMLAttributes<HTMLElement>;
959
+ video: HTMLAttributes<HTMLVideoElement>;
960
+ wbr: HTMLAttributes<HTMLElement>;
961
+
962
+ //SVG
963
+ svg: SVGAttributes<SVGSVGElement>;
964
+ animate: SVGAttributes<SVGAnimateElement>;
965
+ circle: SVGAttributes<SVGCircleElement>;
966
+ animateTransform: SVGAttributes<SVGAnimateElement>;
967
+ clipPath: SVGAttributes<SVGClipPathElement>;
968
+ defs: SVGAttributes<SVGDefsElement>;
969
+ desc: SVGAttributes<SVGDescElement>;
970
+ ellipse: SVGAttributes<SVGEllipseElement>;
971
+ feBlend: SVGAttributes<SVGFEBlendElement>;
972
+ feColorMatrix: SVGAttributes<SVGFEColorMatrixElement>;
973
+ feComponentTransfer: SVGAttributes<SVGFEComponentTransferElement>;
974
+ feComposite: SVGAttributes<SVGFECompositeElement>;
975
+ feConvolveMatrix: SVGAttributes<SVGFEConvolveMatrixElement>;
976
+ feDiffuseLighting: SVGAttributes<SVGFEDiffuseLightingElement>;
977
+ feDisplacementMap: SVGAttributes<SVGFEDisplacementMapElement>;
978
+ feDropShadow: SVGAttributes<SVGFEDropShadowElement>;
979
+ feFlood: SVGAttributes<SVGFEFloodElement>;
980
+ feFuncA: SVGAttributes<SVGFEFuncAElement>;
981
+ feFuncB: SVGAttributes<SVGFEFuncBElement>;
982
+ feFuncG: SVGAttributes<SVGFEFuncGElement>;
983
+ feFuncR: SVGAttributes<SVGFEFuncRElement>;
984
+ feGaussianBlur: SVGAttributes<SVGFEGaussianBlurElement>;
985
+ feImage: SVGAttributes<SVGFEImageElement>;
986
+ feMerge: SVGAttributes<SVGFEMergeElement>;
987
+ feMergeNode: SVGAttributes<SVGFEMergeNodeElement>;
988
+ feMorphology: SVGAttributes<SVGFEMorphologyElement>;
989
+ feOffset: SVGAttributes<SVGFEOffsetElement>;
990
+ feSpecularLighting: SVGAttributes<SVGFESpecularLightingElement>;
991
+ feTile: SVGAttributes<SVGFETileElement>;
992
+ feTurbulence: SVGAttributes<SVGFETurbulenceElement>;
993
+ filter: SVGAttributes<SVGFilterElement>;
994
+ foreignObject: SVGAttributes<SVGForeignObjectElement>;
995
+ g: SVGAttributes<SVGGElement>;
996
+ image: SVGAttributes<SVGImageElement>;
997
+ line: SVGAttributes<SVGLineElement>;
998
+ linearGradient: SVGAttributes<SVGLinearGradientElement>;
999
+ marker: SVGAttributes<SVGMarkerElement>;
1000
+ mask: SVGAttributes<SVGMaskElement>;
1001
+ path: SVGAttributes<SVGPathElement>;
1002
+ pattern: SVGAttributes<SVGPatternElement>;
1003
+ polygon: SVGAttributes<SVGPolygonElement>;
1004
+ polyline: SVGAttributes<SVGPolylineElement>;
1005
+ radialGradient: SVGAttributes<SVGRadialGradientElement>;
1006
+ rect: SVGAttributes<SVGRectElement>;
1007
+ stop: SVGAttributes<SVGStopElement>;
1008
+ symbol: SVGAttributes<SVGSymbolElement>;
1009
+ text: SVGAttributes<SVGTextElement>;
1010
+ textPath: SVGAttributes<SVGTextPathElement>;
1011
+ tspan: SVGAttributes<SVGTSpanElement>;
1012
+ use: SVGAttributes<SVGUseElement>;
1013
+ }
1014
+ }