import { writable } from 'svelte/store'; export function cn(...classes) { return classes.filter(Boolean).join(' '); } export const isBrowser = typeof document !== 'undefined'; /** * A custom store that only allows setting/updating the value from the * browser to avoid SSR data leaks. By defining this helper, we don't * have to worry about checking for `isBrowser` in every place we * mutate the various stores. * * This should only ever be initialized with an empty array or object, * as otherwise the initial value will persist across requests. */ export function clientWritable(initialValue) { const store = writable(initialValue); function set(value) { if (isBrowser) { store.set(value); } } function update(updater) { if (isBrowser) { store.update(updater); } } return { subscribe: store.subscribe, set, update }; }