solid-js 1.9.1 → 1.9.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/types/jsx.d.ts CHANGED
@@ -29,30 +29,30 @@ export namespace JSX {
29
29
  ): void;
30
30
  }
31
31
 
32
- interface BoundEventHandler<T, E extends Event> {
33
- 0: (
34
- data: any,
35
- e: E & {
36
- currentTarget: T;
37
- target: DOMElement;
38
- }
39
- ) => void;
32
+ interface BoundEventHandler<
33
+ T,
34
+ E extends Event,
35
+ EHandler extends EventHandler<T, any> = EventHandler<T, E>
36
+ > {
37
+ 0: (data: any, ...e: Parameters<EHandler>) => void;
40
38
  1: any;
41
39
  }
42
- type EventHandlerUnion<T, E extends Event> = EventHandler<T, E> | BoundEventHandler<T, E>;
40
+ type EventHandlerUnion<
41
+ T,
42
+ E extends Event,
43
+ EHandler extends EventHandler<T, any> = EventHandler<T, E>
44
+ > = EHandler | BoundEventHandler<T, E, EHandler>;
43
45
 
44
- interface EventHandlerWithOptions<T, E extends Event> extends AddEventListenerOptions {
45
- handleEvent: (
46
- e: E & {
47
- currentTarget: T;
48
- target: Element;
49
- }
50
- ) => void;
46
+ interface EventHandlerWithOptions<T, E extends Event, EHandler = EventHandler<T, E>>
47
+ extends AddEventListenerOptions {
48
+ handleEvent: EHandler;
51
49
  }
52
50
 
53
- type CustomEventHandlerUnion<T, E extends Event> =
54
- | EventHandler<T, E>
55
- | EventHandlerWithOptions<T, E>;
51
+ type EventHandlerWithOptionsUnion<
52
+ T,
53
+ E extends Event,
54
+ EHandler extends EventHandler<T, any> = EventHandler<T, E>
55
+ > = EHandler | EventHandlerWithOptions<T, E, EHandler>;
56
56
 
57
57
  interface InputEventHandler<T, E extends InputEvent> {
58
58
  (
@@ -64,21 +64,11 @@ export namespace JSX {
64
64
  }
65
65
  ): void;
66
66
  }
67
- interface BoundInputEventHandler<T, E extends InputEvent> {
68
- 0: (
69
- data: any,
70
- e: E & {
71
- currentTarget: T;
72
- target: T extends HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement
73
- ? T
74
- : DOMElement;
75
- }
76
- ) => void;
77
- 1: any;
78
- }
79
- type InputEventHandlerUnion<T, E extends InputEvent> =
80
- | InputEventHandler<T, E>
81
- | BoundInputEventHandler<T, E>;
67
+ type InputEventHandlerUnion<T, E extends InputEvent> = EventHandlerUnion<
68
+ T,
69
+ E,
70
+ InputEventHandler<T, E>
71
+ >;
82
72
 
83
73
  interface ChangeEventHandler<T, E extends Event> {
84
74
  (
@@ -90,21 +80,11 @@ export namespace JSX {
90
80
  }
91
81
  ): void;
92
82
  }
93
- interface BoundChangeEventHandler<T, E extends Event> {
94
- 0: (
95
- data: any,
96
- e: E & {
97
- currentTarget: T;
98
- target: T extends HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement
99
- ? T
100
- : DOMElement;
101
- }
102
- ) => void;
103
- 1: any;
104
- }
105
- type ChangeEventHandlerUnion<T, E extends Event> =
106
- | ChangeEventHandler<T, E>
107
- | BoundChangeEventHandler<T, E>;
83
+ type ChangeEventHandlerUnion<T, E extends Event> = EventHandlerUnion<
84
+ T,
85
+ E,
86
+ ChangeEventHandler<T, E>
87
+ >;
108
88
 
109
89
  interface FocusEventHandler<T, E extends FocusEvent> {
110
90
  (
@@ -116,21 +96,11 @@ export namespace JSX {
116
96
  }
117
97
  ): void;
118
98
  }
119
- interface BoundFocusEventHandler<T, E extends FocusEvent> {
120
- 0: (
121
- data: any,
122
- e: E & {
123
- currentTarget: T;
124
- target: T extends HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement
125
- ? T
126
- : DOMElement;
127
- }
128
- ) => void;
129
- 1: any;
130
- }
131
- type FocusEventHandlerUnion<T, E extends FocusEvent> =
132
- | FocusEventHandler<T, E>
133
- | BoundFocusEventHandler<T, E>;
99
+ type FocusEventHandlerUnion<T, E extends FocusEvent> = EventHandlerUnion<
100
+ T,
101
+ E,
102
+ FocusEventHandler<T, E>
103
+ >;
134
104
 
135
105
  const SERIALIZABLE: unique symbol;
136
106
  interface SerializableAttributeValue {
@@ -143,9 +113,11 @@ export namespace JSX {
143
113
  }
144
114
  interface CustomAttributes<T> {
145
115
  ref?: T | ((el: T) => void) | undefined;
146
- classList?: {
147
- [k: string]: boolean | undefined;
148
- };
116
+ classList?:
117
+ | {
118
+ [k: string]: boolean | undefined;
119
+ }
120
+ | undefined;
149
121
  $ServerOnly?: boolean | undefined;
150
122
  }
151
123
  type Accessor<T> = () => T;
@@ -157,9 +129,7 @@ export namespace JSX {
157
129
  interface ExplicitAttributes {}
158
130
  interface ExplicitBoolAttributes {}
159
131
  interface CustomEvents {}
160
- /**
161
- * @deprecated Replaced by CustomEvents
162
- */
132
+ /** @deprecated Replaced by CustomEvents */
163
133
  interface CustomCaptureEvents {}
164
134
  type DirectiveAttributes = {
165
135
  [Key in keyof Directives as `use:${Key}`]?: Directives[Key];
@@ -190,7 +160,7 @@ export namespace JSX {
190
160
  [Key in keyof ExplicitBoolAttributes as `bool:${Key}`]?: ExplicitBoolAttributes[Key];
191
161
  };
192
162
  type OnAttributes<T> = {
193
- [Key in keyof CustomEvents as `on:${Key}`]?: CustomEventHandlerUnion<T, CustomEvents[Key]>;
163
+ [Key in keyof CustomEvents as `on:${Key}`]?: EventHandlerWithOptionsUnion<T, CustomEvents[Key]>;
194
164
  };
195
165
  type OnCaptureAttributes<T> = {
196
166
  [Key in keyof CustomCaptureEvents as `oncapture:${Key}`]?: EventHandler<
@@ -204,10 +174,12 @@ export namespace JSX {
204
174
  DirectiveFunctionAttributes<T>,
205
175
  PropAttributes,
206
176
  AttrAttributes,
177
+ BoolAttributes,
207
178
  OnAttributes<T>,
208
179
  OnCaptureAttributes<T>,
209
180
  CustomEventHandlersCamelCase<T>,
210
- CustomEventHandlersLowerCase<T> {
181
+ CustomEventHandlersLowerCase<T>,
182
+ CustomEventHandlersNamespaced<T> {
211
183
  children?: Element | undefined;
212
184
  innerHTML?: string | undefined;
213
185
  innerText?: string | number | undefined;
@@ -234,6 +206,21 @@ export namespace JSX {
234
206
  onfocusin?: FocusEventHandlerUnion<T, FocusEvent> | undefined;
235
207
  onencrypted?: EventHandlerUnion<T, Event> | undefined;
236
208
  ondragexit?: EventHandlerUnion<T, DragEvent> | undefined;
209
+ // lower case events
210
+ "on:copy"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
211
+ "on:cut"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
212
+ "on:paste"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
213
+ "on:compositionend"?: EventHandlerWithOptionsUnion<T, CompositionEvent> | undefined;
214
+ "on:compositionstart"?: EventHandlerWithOptionsUnion<T, CompositionEvent> | undefined;
215
+ "on:compositionupdate"?: EventHandlerWithOptionsUnion<T, CompositionEvent> | undefined;
216
+ "on:focusout"?:
217
+ | EventHandlerWithOptionsUnion<T, FocusEvent, FocusEventHandler<T, FocusEvent>>
218
+ | undefined;
219
+ "on:focusin"?:
220
+ | EventHandlerWithOptionsUnion<T, FocusEvent, FocusEventHandler<T, FocusEvent>>
221
+ | undefined;
222
+ "on:encrypted"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
223
+ "on:dragexit"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
237
224
  }
238
225
  interface CustomEventHandlersCamelCase<T> {
239
226
  onAbort?: EventHandlerUnion<T, Event> | undefined;
@@ -316,9 +303,7 @@ export namespace JSX {
316
303
  onWaiting?: EventHandlerUnion<T, Event> | undefined;
317
304
  onWheel?: EventHandlerUnion<T, WheelEvent> | undefined;
318
305
  }
319
- /**
320
- * @type {GlobalEventHandlers}
321
- */
306
+ /** @type {GlobalEventHandlers} */
322
307
  interface CustomEventHandlersLowerCase<T> {
323
308
  onabort?: EventHandlerUnion<T, Event> | undefined;
324
309
  onanimationend?: EventHandlerUnion<T, AnimationEvent> | undefined;
@@ -400,6 +385,95 @@ export namespace JSX {
400
385
  onwaiting?: EventHandlerUnion<T, Event> | undefined;
401
386
  onwheel?: EventHandlerUnion<T, WheelEvent> | undefined;
402
387
  }
388
+ interface CustomEventHandlersNamespaced<T> {
389
+ "on:abort"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
390
+ "on:animationend"?: EventHandlerWithOptionsUnion<T, AnimationEvent> | undefined;
391
+ "on:animationiteration"?: EventHandlerWithOptionsUnion<T, AnimationEvent> | undefined;
392
+ "on:animationstart"?: EventHandlerWithOptionsUnion<T, AnimationEvent> | undefined;
393
+ "on:auxclick"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
394
+ "on:beforeinput"?:
395
+ | EventHandlerWithOptionsUnion<T, InputEvent, InputEventHandler<T, InputEvent>>
396
+ | undefined;
397
+ "on:beforetoggle"?: EventHandlerWithOptionsUnion<T, ToggleEvent> | undefined;
398
+ "on:blur"?:
399
+ | EventHandlerWithOptionsUnion<T, FocusEvent, FocusEventHandler<T, FocusEvent>>
400
+ | undefined;
401
+ "on:canplay"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
402
+ "on:canplaythrough"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
403
+ "on:change"?: EventHandlerWithOptionsUnion<T, Event, ChangeEventHandler<T, Event>> | undefined;
404
+ "on:click"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
405
+ "on:contextmenu"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
406
+ "on:dblclick"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
407
+ "on:drag"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
408
+ "on:dragend"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
409
+ "on:dragenter"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
410
+ "on:dragleave"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
411
+ "on:dragover"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
412
+ "on:dragstart"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
413
+ "on:drop"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
414
+ "on:durationchange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
415
+ "on:emptied"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
416
+ "on:ended"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
417
+ "on:error"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
418
+ "on:focus"?:
419
+ | EventHandlerWithOptionsUnion<T, FocusEvent, FocusEventHandler<T, FocusEvent>>
420
+ | undefined;
421
+ "on:gotpointercapture"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
422
+ "on:input"?:
423
+ | EventHandlerWithOptionsUnion<T, InputEvent, InputEventHandler<T, InputEvent>>
424
+ | undefined;
425
+ "on:invalid"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
426
+ "on:keydown"?: EventHandlerWithOptionsUnion<T, KeyboardEvent> | undefined;
427
+ "on:keypress"?: EventHandlerWithOptionsUnion<T, KeyboardEvent> | undefined;
428
+ "on:keyup"?: EventHandlerWithOptionsUnion<T, KeyboardEvent> | undefined;
429
+ "on:load"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
430
+ "on:loadeddata"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
431
+ "on:loadedmetadata"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
432
+ "on:loadstart"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
433
+ "on:lostpointercapture"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
434
+ "on:mousedown"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
435
+ "on:mouseenter"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
436
+ "on:mouseleave"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
437
+ "on:mousemove"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
438
+ "on:mouseout"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
439
+ "on:mouseover"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
440
+ "on:mouseup"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
441
+ "on:pause"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
442
+ "on:play"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
443
+ "on:playing"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
444
+ "on:pointercancel"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
445
+ "on:pointerdown"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
446
+ "on:pointerenter"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
447
+ "on:pointerleave"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
448
+ "on:pointermove"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
449
+ "on:pointerout"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
450
+ "on:pointerover"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
451
+ "on:pointerup"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
452
+ "on:progress"?: EventHandlerWithOptionsUnion<T, ProgressEvent> | undefined;
453
+ "on:ratechange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
454
+ "on:reset"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
455
+ "on:scroll"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
456
+ "on:scrollend"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
457
+ "on:seeked"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
458
+ "on:seeking"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
459
+ "on:select"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
460
+ "on:stalled"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
461
+ "on:submit"?: EventHandlerWithOptionsUnion<T, SubmitEvent> | undefined;
462
+ "on:suspend"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
463
+ "on:timeupdate"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
464
+ "on:toggle"?: EventHandlerWithOptionsUnion<T, ToggleEvent> | undefined;
465
+ "on:touchcancel"?: EventHandlerWithOptionsUnion<T, TouchEvent> | undefined;
466
+ "on:touchend"?: EventHandlerWithOptionsUnion<T, TouchEvent> | undefined;
467
+ "on:touchmove"?: EventHandlerWithOptionsUnion<T, TouchEvent> | undefined;
468
+ "on:touchstart"?: EventHandlerWithOptionsUnion<T, TouchEvent> | undefined;
469
+ "on:transitionstart"?: EventHandlerWithOptionsUnion<T, TransitionEvent> | undefined;
470
+ "on:transitionend"?: EventHandlerWithOptionsUnion<T, TransitionEvent> | undefined;
471
+ "on:transitionrun"?: EventHandlerWithOptionsUnion<T, TransitionEvent> | undefined;
472
+ "on:transitioncancel"?: EventHandlerWithOptionsUnion<T, TransitionEvent> | undefined;
473
+ "on:volumechange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
474
+ "on:waiting"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
475
+ "on:wheel"?: EventHandlerWithOptionsUnion<T, WheelEvent> | undefined;
476
+ }
403
477
 
404
478
  interface CSSProperties extends csstype.PropertiesHyphen {
405
479
  // Override
@@ -452,43 +526,64 @@ export namespace JSX {
452
526
 
453
527
  // All the WAI-ARIA 1.1 attributes from https://www.w3.org/TR/wai-aria-1.1/
454
528
  interface AriaAttributes {
455
- /** Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application. */
529
+ /**
530
+ * Identifies the currently active element when DOM focus is on a composite widget, textbox,
531
+ * group, or application.
532
+ */
456
533
  "aria-activedescendant"?: string | undefined;
457
- /** Indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute. */
534
+ /**
535
+ * Indicates whether assistive technologies will present all, or only parts of, the changed
536
+ * region based on the change notifications defined by the aria-relevant attribute.
537
+ */
458
538
  "aria-atomic"?: boolean | "false" | "true" | undefined;
459
539
  /**
460
- * Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be
461
- * presented if they are made.
540
+ * Indicates whether inputting text could trigger display of one or more predictions of the
541
+ * user's intended value for an input and specifies how predictions would be presented if they
542
+ * are made.
462
543
  */
463
544
  "aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined;
464
- /** Indicates an element is being modified and that assistive technologies MAY want to wait until the modifications are complete before exposing them to the user. */
545
+ /**
546
+ * Indicates an element is being modified and that assistive technologies MAY want to wait until
547
+ * the modifications are complete before exposing them to the user.
548
+ */
465
549
  "aria-busy"?: boolean | "false" | "true" | undefined;
466
550
  /**
467
551
  * Indicates the current "checked" state of checkboxes, radio buttons, and other widgets.
552
+ *
468
553
  * @see aria-pressed @see aria-selected.
469
554
  */
470
555
  "aria-checked"?: boolean | "false" | "mixed" | "true" | undefined;
471
556
  /**
472
557
  * Defines the total number of columns in a table, grid, or treegrid.
558
+ *
473
559
  * @see aria-colindex.
474
560
  */
475
561
  "aria-colcount"?: number | string | undefined;
476
562
  /**
477
- * Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid.
563
+ * Defines an element's column index or position with respect to the total number of columns
564
+ * within a table, grid, or treegrid.
565
+ *
478
566
  * @see aria-colcount @see aria-colspan.
479
567
  */
480
568
  "aria-colindex"?: number | string | undefined;
481
569
  /**
482
- * Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid.
570
+ * Defines the number of columns spanned by a cell or gridcell within a table, grid, or
571
+ * treegrid.
572
+ *
483
573
  * @see aria-colindex @see aria-rowspan.
484
574
  */
485
575
  "aria-colspan"?: number | string | undefined;
486
576
  /**
487
- * Identifies the element (or elements) whose contents or presence are controlled by the current element.
577
+ * Identifies the element (or elements) whose contents or presence are controlled by the current
578
+ * element.
579
+ *
488
580
  * @see aria-owns.
489
581
  */
490
582
  "aria-controls"?: string | undefined;
491
- /** Indicates the element that represents the current item within a container or set of related elements. */
583
+ /**
584
+ * Indicates the element that represents the current item within a container or set of related
585
+ * elements.
586
+ */
492
587
  "aria-current"?:
493
588
  | boolean
494
589
  | "false"
@@ -501,42 +596,57 @@ export namespace JSX {
501
596
  | undefined;
502
597
  /**
503
598
  * Identifies the element (or elements) that describes the object.
599
+ *
504
600
  * @see aria-labelledby
505
601
  */
506
602
  "aria-describedby"?: string | undefined;
507
603
  /**
508
604
  * Identifies the element that provides a detailed, extended description for the object.
605
+ *
509
606
  * @see aria-describedby.
510
607
  */
511
608
  "aria-details"?: string | undefined;
512
609
  /**
513
- * Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable.
610
+ * Indicates that the element is perceivable but disabled, so it is not editable or otherwise
611
+ * operable.
612
+ *
514
613
  * @see aria-hidden @see aria-readonly.
515
614
  */
516
615
  "aria-disabled"?: boolean | "false" | "true" | undefined;
517
616
  /**
518
- * Indicates what functions can be performed when a dragged object is released on the drop target.
519
- * @deprecated in ARIA 1.1
617
+ * Indicates what functions can be performed when a dragged object is released on the drop
618
+ * target.
619
+ *
620
+ * @deprecated In ARIA 1.1
520
621
  */
521
622
  "aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined;
522
623
  /**
523
624
  * Identifies the element that provides an error message for the object.
625
+ *
524
626
  * @see aria-invalid @see aria-describedby.
525
627
  */
526
628
  "aria-errormessage"?: string | undefined;
527
- /** Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed. */
629
+ /**
630
+ * Indicates whether the element, or another grouping element it controls, is currently expanded
631
+ * or collapsed.
632
+ */
528
633
  "aria-expanded"?: boolean | "false" | "true" | undefined;
529
634
  /**
530
- * Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion,
531
- * allows assistive technology to override the general default of reading in document source order.
635
+ * Identifies the next element (or elements) in an alternate reading order of content which, at
636
+ * the user's discretion, allows assistive technology to override the general default of reading
637
+ * in document source order.
532
638
  */
533
639
  "aria-flowto"?: string | undefined;
534
640
  /**
535
641
  * Indicates an element's "grabbed" state in a drag-and-drop operation.
536
- * @deprecated in ARIA 1.1
642
+ *
643
+ * @deprecated In ARIA 1.1
537
644
  */
538
645
  "aria-grabbed"?: boolean | "false" | "true" | undefined;
539
- /** Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element. */
646
+ /**
647
+ * Indicates the availability and type of interactive popup element, such as menu or dialog,
648
+ * that can be triggered by an element.
649
+ */
540
650
  "aria-haspopup"?:
541
651
  | boolean
542
652
  | "false"
@@ -549,66 +659,88 @@ export namespace JSX {
549
659
  | undefined;
550
660
  /**
551
661
  * Indicates whether the element is exposed to an accessibility API.
662
+ *
552
663
  * @see aria-disabled.
553
664
  */
554
665
  "aria-hidden"?: boolean | "false" | "true" | undefined;
555
666
  /**
556
667
  * Indicates the entered value does not conform to the format expected by the application.
668
+ *
557
669
  * @see aria-errormessage.
558
670
  */
559
671
  "aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined;
560
- /** Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element. */
672
+ /**
673
+ * Indicates keyboard shortcuts that an author has implemented to activate or give focus to an
674
+ * element.
675
+ */
561
676
  "aria-keyshortcuts"?: string | undefined;
562
677
  /**
563
678
  * Defines a string value that labels the current element.
679
+ *
564
680
  * @see aria-labelledby.
565
681
  */
566
682
  "aria-label"?: string | undefined;
567
683
  /**
568
684
  * Identifies the element (or elements) that labels the current element.
685
+ *
569
686
  * @see aria-describedby.
570
687
  */
571
688
  "aria-labelledby"?: string | undefined;
572
689
  /** Defines the hierarchical level of an element within a structure. */
573
690
  "aria-level"?: number | string | undefined;
574
- /** Indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region. */
691
+ /**
692
+ * Indicates that an element will be updated, and describes the types of updates the user
693
+ * agents, assistive technologies, and user can expect from the live region.
694
+ */
575
695
  "aria-live"?: "off" | "assertive" | "polite" | undefined;
576
696
  /** Indicates whether an element is modal when displayed. */
577
697
  "aria-modal"?: boolean | "false" | "true" | undefined;
578
698
  /** Indicates whether a text box accepts multiple lines of input or only a single line. */
579
699
  "aria-multiline"?: boolean | "false" | "true" | undefined;
580
- /** Indicates that the user may select more than one item from the current selectable descendants. */
700
+ /**
701
+ * Indicates that the user may select more than one item from the current selectable
702
+ * descendants.
703
+ */
581
704
  "aria-multiselectable"?: boolean | "false" | "true" | undefined;
582
705
  /** Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous. */
583
706
  "aria-orientation"?: "horizontal" | "vertical" | undefined;
584
707
  /**
585
- * Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship
586
- * between DOM elements where the DOM hierarchy cannot be used to represent the relationship.
708
+ * Identifies an element (or elements) in order to define a visual, functional, or contextual
709
+ * parent/child relationship between DOM elements where the DOM hierarchy cannot be used to
710
+ * represent the relationship.
711
+ *
587
712
  * @see aria-controls.
588
713
  */
589
714
  "aria-owns"?: string | undefined;
590
715
  /**
591
- * Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value.
592
- * A hint could be a sample value or a brief description of the expected format.
716
+ * Defines a short hint (a word or short phrase) intended to aid the user with data entry when
717
+ * the control has no value. A hint could be a sample value or a brief description of the
718
+ * expected format.
593
719
  */
594
720
  "aria-placeholder"?: string | undefined;
595
721
  /**
596
- * Defines an element's number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.
722
+ * Defines an element's number or position in the current set of listitems or treeitems. Not
723
+ * required if all elements in the set are present in the DOM.
724
+ *
597
725
  * @see aria-setsize.
598
726
  */
599
727
  "aria-posinset"?: number | string | undefined;
600
728
  /**
601
729
  * Indicates the current "pressed" state of toggle buttons.
730
+ *
602
731
  * @see aria-checked @see aria-selected.
603
732
  */
604
733
  "aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined;
605
734
  /**
606
735
  * Indicates that the element is not editable, but is otherwise operable.
736
+ *
607
737
  * @see aria-disabled.
608
738
  */
609
739
  "aria-readonly"?: boolean | "false" | "true" | undefined;
610
740
  /**
611
- * Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified.
741
+ * Indicates what notifications the user agent will trigger when the accessibility tree within a
742
+ * live region is modified.
743
+ *
612
744
  * @see aria-atomic.
613
745
  */
614
746
  "aria-relevant"?:
@@ -629,26 +761,33 @@ export namespace JSX {
629
761
  "aria-roledescription"?: string | undefined;
630
762
  /**
631
763
  * Defines the total number of rows in a table, grid, or treegrid.
764
+ *
632
765
  * @see aria-rowindex.
633
766
  */
634
767
  "aria-rowcount"?: number | string | undefined;
635
768
  /**
636
- * Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid.
769
+ * Defines an element's row index or position with respect to the total number of rows within a
770
+ * table, grid, or treegrid.
771
+ *
637
772
  * @see aria-rowcount @see aria-rowspan.
638
773
  */
639
774
  "aria-rowindex"?: number | string | undefined;
640
775
  /**
641
776
  * Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid.
777
+ *
642
778
  * @see aria-rowindex @see aria-colspan.
643
779
  */
644
780
  "aria-rowspan"?: number | string | undefined;
645
781
  /**
646
782
  * Indicates the current "selected" state of various widgets.
783
+ *
647
784
  * @see aria-checked @see aria-pressed.
648
785
  */
649
786
  "aria-selected"?: boolean | "false" | "true" | undefined;
650
787
  /**
651
- * Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.
788
+ * Defines the number of items in the current set of listitems or treeitems. Not required if all
789
+ * elements in the set are present in the DOM.
790
+ *
652
791
  * @see aria-posinset.
653
792
  */
654
793
  "aria-setsize"?: number | string | undefined;
@@ -660,6 +799,7 @@ export namespace JSX {
660
799
  "aria-valuemin"?: number | string | undefined;
661
800
  /**
662
801
  * Defines the current value for a range widget.
802
+ *
663
803
  * @see aria-valuetext.
664
804
  */
665
805
  "aria-valuenow"?: number | string | undefined;
@@ -757,6 +897,7 @@ export namespace JSX {
757
897
  draggable?: boolean | "false" | "true" | undefined;
758
898
  hidden?: boolean | "hidden" | "until-found" | undefined;
759
899
  id?: string | undefined;
900
+ is?: string | undefined;
760
901
  inert?: boolean | undefined;
761
902
  lang?: string | undefined;
762
903
  spellcheck?: boolean | undefined;
@@ -1210,6 +1351,7 @@ export namespace JSX {
1210
1351
  playsinline?: boolean | undefined;
1211
1352
  poster?: string | undefined;
1212
1353
  width?: number | string | undefined;
1354
+ disablepictureinpicture?: boolean;
1213
1355
  }
1214
1356
  type SVGPreserveAspectRatio =
1215
1357
  | "none"
@@ -2040,9 +2182,7 @@ export namespace JSX {
2040
2182
  textLength?: number | string | undefined;
2041
2183
  lengthAdjust?: "spacing" | "spacingAndGlyphs" | undefined;
2042
2184
  }
2043
- /**
2044
- * @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/use
2045
- */
2185
+ /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/use */
2046
2186
  interface UseSVGAttributes<T>
2047
2187
  extends CoreSVGAttributes<T>,
2048
2188
  StylableSVGAttributes,
@@ -2064,9 +2204,7 @@ export namespace JSX {
2064
2204
  ZoomAndPanSVGAttributes {
2065
2205
  viewTarget?: string | undefined;
2066
2206
  }
2067
- /**
2068
- * @type {HTMLElementTagNameMap}
2069
- */
2207
+ /** @type {HTMLElementTagNameMap} */
2070
2208
  interface HTMLElementTags {
2071
2209
  a: AnchorHTMLAttributes<HTMLAnchorElement>;
2072
2210
  abbr: HTMLAttributes<HTMLElement>;
@@ -2181,9 +2319,7 @@ export namespace JSX {
2181
2319
  video: VideoHTMLAttributes<HTMLVideoElement>;
2182
2320
  wbr: HTMLAttributes<HTMLElement>;
2183
2321
  }
2184
- /**
2185
- * @type {HTMLElementDeprecatedTagNameMap}
2186
- */
2322
+ /** @type {HTMLElementDeprecatedTagNameMap} */
2187
2323
  interface HTMLElementDeprecatedTags {
2188
2324
  big: HTMLAttributes<HTMLElement>;
2189
2325
  keygen: KeygenHTMLAttributes<HTMLElement>;
@@ -2191,9 +2327,7 @@ export namespace JSX {
2191
2327
  noindex: HTMLAttributes<HTMLElement>;
2192
2328
  param: ParamHTMLAttributes<HTMLParamElement>;
2193
2329
  }
2194
- /**
2195
- * @type {SVGElementTagNameMap}
2196
- */
2330
+ /** @type {SVGElementTagNameMap} */
2197
2331
  interface SVGElementTags {
2198
2332
  animate: AnimateSVGAttributes<SVGAnimateElement>;
2199
2333
  animateMotion: AnimateMotionSVGAttributes<SVGAnimateMotionElement>;
@@ -102,12 +102,12 @@ export type RootFunction<T> = (dispose: () => void) => T;
102
102
  export declare function createRoot<T>(fn: RootFunction<T>, detachedOwner?: typeof Owner): T;
103
103
  export type Accessor<T> = () => T;
104
104
  export type Setter<in out T> = {
105
- <U extends T>(value: Exclude<U, Function> | ((prev: T) => U)): U;
106
- <U extends T>(...args: undefined extends T ? [] : [value: (prev: T) => U]): undefined extends T
107
- ? undefined
108
- : U;
109
- <U extends T>(value: Exclude<U, Function>): U;
105
+ <U extends T>(
106
+ ...args: undefined extends T ? [] : [value: Exclude<U, Function> | ((prev: T) => U)]
107
+ ): undefined extends T ? undefined : U;
110
108
  <U extends T>(value: (prev: T) => U): U;
109
+ <U extends T>(value: Exclude<U, Function>): U;
110
+ <U extends T>(value: Exclude<U, Function> | ((prev: T) => U)): U;
111
111
  };
112
112
  export type Signal<T> = [get: Accessor<T>, set: Setter<T>];
113
113
  export interface SignalOptions<T> extends MemoOptions<T> {