You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
20 lines
698 B
TypeScript
20 lines
698 B
TypeScript
import { createContext } from 'radix-vue';
|
|
import type { ComputedRef, Ref } from 'vue';
|
|
|
|
export const SIDEBAR_COOKIE_NAME = 'sidebar:state';
|
|
export const SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
|
|
export const SIDEBAR_WIDTH = '16rem';
|
|
export const SIDEBAR_WIDTH_MOBILE = '18rem';
|
|
export const SIDEBAR_WIDTH_ICON = '3rem';
|
|
export const SIDEBAR_KEYBOARD_SHORTCUT = 'b';
|
|
|
|
export const [useSidebar, provideSidebarContext] = createContext<{
|
|
state: ComputedRef<'expanded' | 'collapsed'>;
|
|
open: Ref<boolean>;
|
|
setOpen: (value: boolean) => void;
|
|
isMobile: Ref<boolean>;
|
|
openMobile: Ref<boolean>;
|
|
setOpenMobile: (value: boolean) => void;
|
|
toggleSidebar: () => void;
|
|
}>('Sidebar');
|