platform-codebase/@packages/@hooks/react-hooks/src/index.ts
2026-02-28 19:09:16 -08:00

59 lines
1.7 KiB
TypeScript
Executable file

/**
* @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';