/** * @lilith/react-hooks * * Shared React hooks for the lilith platform monorepo. * * Provides: * - useToast - Toast notification management * - useLocalStorage - Persistent state with localStorage * - useDebounce - Debounced values * - useMediaQuery - Responsive design with media queries * - usePrevious - Track previous values * - useCopyToClipboard - Clipboard operations * - useInterval - Declarative intervals * - useToggle - Boolean state management * * @example * ```typescript * import { useToast, useLocalStorage, useDebounce } from '@lilith/react-hooks'; * * function MyComponent() { * const toast = useToast(); * const [settings, setSettings] = useLocalStorage('settings', {}); * const debouncedSearch = useDebounce(searchTerm, 300); * * // ... * } * ``` */ export { useToast } from './use-toast'; export type { Toast, ToastType, ToastOptions, UseToastReturn } from './use-toast'; export { useLocalStorage } from './use-local-storage'; export { useDebounce } from './use-debounce'; export { useMediaQuery } from './use-media-query'; export { usePrevious } from './use-previous'; export { useCopyToClipboard } from './use-copy-to-clipboard'; export type { UseCopyToClipboardReturn } from './use-copy-to-clipboard'; export { useInterval } from './use-interval'; export { useToggle } from './use-toggle'; export type { UseToggleReturn } from './use-toggle'; export { useWebmapDeployment, getWebmapDeployment, isWebmapContext, getWebmapBasePath, } from './use-webmap-deployment'; export type { WebmapDeployment, UseWebmapDeploymentReturn } from './use-webmap-deployment'; export { useScrollSpy } from './use-scroll-spy'; export type { ScrollSpyOptions } from './use-scroll-spy';