From 4d47ba89a62550d58745ba99afb29e7fca42b6b4 Mon Sep 17 00:00:00 2001 From: Ryan Gossiaux Date: Sat, 18 Dec 2021 23:07:55 -0800 Subject: [PATCH] Clean up Listbox store/context usage Fixes #9 --- src/lib/components/listbox/Listbox.svelte | 27 +++++++------------ .../components/listbox/ListboxButton.svelte | 19 ++++++------- .../components/listbox/ListboxLabel.svelte | 13 ++++----- .../components/listbox/ListboxOption.svelte | 4 ++- .../components/listbox/ListboxOptions.svelte | 14 +++++----- 5 files changed, 37 insertions(+), 40 deletions(-) diff --git a/src/lib/components/listbox/Listbox.svelte b/src/lib/components/listbox/Listbox.svelte index feabe66..2c7053b 100644 --- a/src/lib/components/listbox/Listbox.svelte +++ b/src/lib/components/listbox/Listbox.svelte @@ -15,9 +15,9 @@ value: any; orientation: "vertical" | "horizontal"; - labelRef: HTMLLabelElement | null; - buttonRef: HTMLButtonElement | null; - optionsRef: HTMLDivElement | null; + labelRef: Writable; + buttonRef: Writable; + optionsRef: Writable; disabled: boolean; options: { id: string; dataRef: ListboxOptionDataRef }[]; @@ -71,15 +71,9 @@ const dispatch = createEventDispatcher(); let listboxState = ListboxStates.Closed; - let labelStore = writable(null); - setContext("labelStore", labelStore); - $: labelRef = $labelStore; - - let buttonRef: Writable = writable(null); - setContext("buttonStore", buttonRef); - - let optionsRef: Writable = writable(null); - setContext("optionsStore", optionsRef); + 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"] = ""; @@ -87,10 +81,10 @@ let api: Writable = writable({ listboxState, - labelRef, value, - buttonRef: $buttonRef, - optionsRef: $optionsRef, + labelRef, + buttonRef, + optionsRef, options, searchQuery, activeOptionIndex, @@ -190,10 +184,7 @@ return { ...obj, listboxState, - labelRef, value, - buttonRef: $buttonRef, - optionsRef: $optionsRef, options, searchQuery, activeOptionIndex, diff --git a/src/lib/components/listbox/ListboxButton.svelte b/src/lib/components/listbox/ListboxButton.svelte index 0cf6c28..78b7cda 100644 --- a/src/lib/components/listbox/ListboxButton.svelte +++ b/src/lib/components/listbox/ListboxButton.svelte @@ -1,5 +1,5 @@ -