From bfc68577cc73610fe56c71fb41f1eea05a560921 Mon Sep 17 00:00:00 2001 From: Ryan Gossiaux Date: Mon, 31 Jan 2022 21:15:00 -0800 Subject: [PATCH] Add better event typing The any types could probably be improved with $$Generic --- src/lib/components/dialog/Dialog.svelte | 4 +++- src/lib/components/listbox/Listbox.svelte | 4 +++- src/lib/components/radio-group/RadioGroup.svelte | 4 +++- src/lib/components/switch/Switch.svelte | 4 +++- src/lib/components/transitions/TransitionChild.svelte | 7 ++++++- 5 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/lib/components/dialog/Dialog.svelte b/src/lib/components/dialog/Dialog.svelte index 86a0130a..5a35786e 100644 --- a/src/lib/components/dialog/Dialog.svelte +++ b/src/lib/components/dialog/Dialog.svelte @@ -70,7 +70,9 @@ export let open: Boolean | undefined = undefined; export let initialFocus: HTMLElement | null = null; - const dispatch = createEventDispatcher(); + const dispatch = createEventDispatcher<{ + close: boolean; + }>(); let containers: Set = new Set(); let openClosedState = useOpenClosed(); diff --git a/src/lib/components/listbox/Listbox.svelte b/src/lib/components/listbox/Listbox.svelte index ff70458f..1cc69b72 100644 --- a/src/lib/components/listbox/Listbox.svelte +++ b/src/lib/components/listbox/Listbox.svelte @@ -80,7 +80,9 @@ horizontal ? "horizontal" : "vertical" ) as StateDefinition["orientation"]; - const dispatch = createEventDispatcher(); + const dispatch = createEventDispatcher<{ + change: any; + }>(); let listboxState: StateDefinition["listboxState"] = ListboxStates.Closed; let labelRef: StateDefinition["labelRef"] = writable(null); diff --git a/src/lib/components/radio-group/RadioGroup.svelte b/src/lib/components/radio-group/RadioGroup.svelte index 2d5cdb76..4a0d9c8c 100644 --- a/src/lib/components/radio-group/RadioGroup.svelte +++ b/src/lib/components/radio-group/RadioGroup.svelte @@ -66,7 +66,9 @@ let id = `headlessui-radiogroup-${useId()}`; - const dispatch = createEventDispatcher(); + const dispatch = createEventDispatcher<{ + change: any; + }>(); let api: Writable = writable({ options, diff --git a/src/lib/components/switch/Switch.svelte b/src/lib/components/switch/Switch.svelte index 71f3beca..856cc903 100644 --- a/src/lib/components/switch/Switch.svelte +++ b/src/lib/components/switch/Switch.svelte @@ -17,7 +17,9 @@ export let as: SupportedAs = "button"; export let use: HTMLActionArray = []; - const dispatch = createEventDispatcher(); + const dispatch = createEventDispatcher<{ + change: boolean; + }>(); export let checked = false; let api = useSwitchContext(); let labelContext = useLabelContext(); diff --git a/src/lib/components/transitions/TransitionChild.svelte b/src/lib/components/transitions/TransitionChild.svelte index 1ee15938..e10477bf 100644 --- a/src/lib/components/transitions/TransitionChild.svelte +++ b/src/lib/components/transitions/TransitionChild.svelte @@ -38,7 +38,12 @@ export let leaveFrom = ""; export let leaveTo = ""; - const dispatch = createEventDispatcher(); + const dispatch = createEventDispatcher<{ + afterEnter: null; + afterLeave: null; + beforeEnter: null; + beforeLeave: null; + }>(); let container: HTMLElement | null = null;