From 63d44e125c86ce9be443082beab1d3a43805d928 Mon Sep 17 00:00:00 2001 From: Ryan Gossiaux Date: Sun, 19 Dec 2021 00:09:44 -0800 Subject: [PATCH] Improve a few more types, including StateDefinition["foo"] usage Fixes #5 --- src/lib/components/listbox/Listbox.svelte | 13 ++++++------- src/lib/components/listbox/ListboxOption.svelte | 2 +- src/lib/components/popover/Popover.svelte | 6 +++--- src/lib/components/radio-group/RadioGroup.svelte | 2 +- .../components/radio-group/RadioGroupOption.svelte | 2 +- src/lib/components/switch/SwitchGroup.svelte | 4 ++-- 6 files changed, 14 insertions(+), 15 deletions(-) diff --git a/src/lib/components/listbox/Listbox.svelte b/src/lib/components/listbox/Listbox.svelte index 5b5c3cd..c7f9790 100644 --- a/src/lib/components/listbox/Listbox.svelte +++ b/src/lib/components/listbox/Listbox.svelte @@ -12,7 +12,7 @@ export type StateDefinition = { // State listboxState: ListboxStates; - value: any; + value: unknown; orientation: "vertical" | "horizontal"; labelRef: Writable; @@ -63,18 +63,17 @@ import { State, useOpenClosedProvider } from "$lib/internal/open-closed"; export let disabled = false; export let horizontal = false; - export let value: any; - $: orientation = (horizontal ? "horizontal" : "vertical") as - | "horizontal" - | "vertical"; + export let value: StateDefinition["value"]; + $: orientation = ( + horizontal ? "horizontal" : "vertical" + ) as StateDefinition["orientation"]; const dispatch = createEventDispatcher(); - let listboxState = ListboxStates.Closed; + let listboxState: StateDefinition["listboxState"] = ListboxStates.Closed; let labelRef: StateDefinition["labelRef"] = writable(null); let buttonRef: StateDefinition["buttonRef"] = writable(null); let optionsRef: StateDefinition["optionsRef"] = writable(null); - let options: StateDefinition["options"] = []; let searchQuery: StateDefinition["searchQuery"] = ""; let activeOptionIndex: StateDefinition["activeOptionIndex"] = null; diff --git a/src/lib/components/listbox/ListboxOption.svelte b/src/lib/components/listbox/ListboxOption.svelte index 0cae55e..5e3bb5d 100644 --- a/src/lib/components/listbox/ListboxOption.svelte +++ b/src/lib/components/listbox/ListboxOption.svelte @@ -3,7 +3,7 @@ import { ListboxStates, useListboxContext } from "./Listbox.svelte"; import { useId } from "$lib/hooks/use-id"; import { Focus } from "$lib/utils/calculate-active-index"; - export let value: any; + export let value: unknown; export let disabled = false; let api = useListboxContext("ListboxOption"); let id = `headlessui-listbox-option-${useId()}`; diff --git a/src/lib/components/popover/Popover.svelte b/src/lib/components/popover/Popover.svelte index 30476c9..ee9e32b 100644 --- a/src/lib/components/popover/Popover.svelte +++ b/src/lib/components/popover/Popover.svelte @@ -53,12 +53,12 @@ import { getContext, setContext, onMount } from "svelte"; import { writable, Writable } from "svelte/store"; import { ActionArray, useActions } from "$lib/hooks/use-actions"; + export let use: ActionArray = []; + const buttonId = `headlessui-popover-button-${useId()}`; const panelId = `headlessui-popover-panel-${useId()}`; - - let popoverState: PopoverStates = PopoverStates.Closed; - + let popoverState: StateDefinition["popoverState"] = PopoverStates.Closed; let panel: StateDefinition["panel"] = writable(null); let button: StateDefinition["button"] = writable(null); diff --git a/src/lib/components/radio-group/RadioGroup.svelte b/src/lib/components/radio-group/RadioGroup.svelte index f5614e1..cd8992f 100644 --- a/src/lib/components/radio-group/RadioGroup.svelte +++ b/src/lib/components/radio-group/RadioGroup.svelte @@ -47,7 +47,7 @@