UNPKG

@dfinity/gix-components

Version:
23 lines (22 loc) 786 B
import { Menu } from "../types/menu"; import { applyMenu, initMenu } from "../utils/menu.utils"; import { derived, writable } from "svelte/store"; const initialMenu = initMenu(); export const initMenuStore = () => { const { subscribe, set, update } = writable(initialMenu); return { subscribe, toggle: () => { update((state) => { const menu = state === Menu.EXPANDED ? Menu.COLLAPSED : Menu.EXPANDED; applyMenu({ menu, preserve: true }); return menu; }); }, resetForTesting: () => { set(Menu.EXPANDED); }, }; }; export const menuStore = initMenuStore(); export const menuCollapsed = derived(menuStore, ($menuStore) => $menuStore === Menu.COLLAPSED);