@@ -20,6 +20,28 @@ type Defaultize<Props, Defaults> =
2020
2121type Booleanish = boolean | 'true' | 'false' ;
2222
23+ // Remove when bumping TS minimum to >5.2
24+
25+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ToggleEvent) */
26+ interface ToggleEvent extends Event {
27+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ToggleEvent/newState) */
28+ readonly newState : string ;
29+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ToggleEvent/oldState) */
30+ readonly oldState : string ;
31+ }
32+
33+ declare var ToggleEvent : {
34+ prototype : ToggleEvent ;
35+ new ( type : string , eventInitDict ?: ToggleEventInit ) : ToggleEvent ;
36+ } ;
37+
38+ interface ToggleEventInit extends EventInit {
39+ newState ?: string ;
40+ oldState ?: string ;
41+ }
42+
43+ // End TS >5.2
44+
2345export namespace JSXInternal {
2446 export type LibraryManagedAttributes < Component , Props > = Component extends {
2547 defaultProps : infer Defaults ;
@@ -508,6 +530,10 @@ export namespace JSXInternal {
508530 Target ,
509531 TouchEvent
510532 > ;
533+ export type TargetedToggleEvent < Target extends EventTarget > = TargetedEvent <
534+ Target ,
535+ ToggleEvent
536+ > ;
511537 export type TargetedTransitionEvent < Target extends EventTarget > =
512538 TargetedEvent < Target , TransitionEvent > ;
513539 export type TargetedUIEvent < Target extends EventTarget > = TargetedEvent <
@@ -536,6 +562,9 @@ export namespace JSXInternal {
536562 export type DragEventHandler < Target extends EventTarget > = EventHandler <
537563 TargetedDragEvent < Target >
538564 > ;
565+ export type ToggleEventHandler < Target extends EventTarget > = EventHandler <
566+ TargetedToggleEvent < Target >
567+ > ;
539568 export type FocusEventHandler < Target extends EventTarget > = EventHandler <
540569 TargetedFocusEvent < Target >
541570 > ;
@@ -597,7 +626,7 @@ export namespace JSXInternal {
597626 onCompositionUpdateCapture ?: CompositionEventHandler < Target > | undefined ;
598627
599628 // Details Events
600- onToggle ?: GenericEventHandler < Target > | undefined ;
629+ onToggle ?: ToggleEventHandler < Target > | undefined ;
601630
602631 // Dialog Events
603632 onClose ?: GenericEventHandler < Target > | undefined ;
0 commit comments