Barrel export file for the UI hooks library, re-exporting all custom React hooks and the `usePreventScroll` utility from `@react-aria/overlays` under a single import path. ## Key Components | Export | Description | |---|---| | `useAutoLimitTags` | Limits visible tags based on container width | | `useDebounce` | Delays value updates by a specified duration | | `useDeferredError` | Defers error state for async workflows | | `useFocusTrap` | Traps keyboard focus within a DOM subtree | | `useHeaderHeight` | Tracks the application header's pixel height | | `useHorizontalScrollbar` | Detects and manages horizontal scrollbar presence | | `useImageEdgeColor` | Samples the edge color of an image element | | `useLocalStorage` | Synced, typed `localStorage` state | | `useMarqueeEngine` | Drives text marquee/ticker animations | | `useMediaQuery` | Reactive CSS media query matching | | `useMemoizedCallback` | Stable callback reference with deep-equality memoization | | `useNotificationPermission` | Reads and requests browser notification permission | | `useOnboardingState` | Manages multi-step onboarding flow state | | `useResetOnPageHidden` | Resets state when the page visibility changes to hidden | | `useSearch` | Controlled search input with filtering logic | | `useSuppressCloneFocus` | Prevents focus events on cloned DOM nodes | | `useTablePagination` | Pagination state and helpers for data tables | | `useThrottle` | Throttles rapidly firing values or callbacks | | `useWindowSize` | Reactive viewport width and height | | `usePreventScroll` | Ref-counted, iOS-aware body scroll lock (`@react-aria/overlays`) | ## Usage Example ```typescript // Single import path for all hooks import { useDebounce, useLocalStorage, useWindowSize, usePreventScroll, } from '@openframe-oss-lib/hooks' function SearchPanel() { const [query, setQuery] = useLocalStorage('search-query', '') const debouncedQuery = useDebounce(query, 300) const { width } = useWindowSize() usePreventScroll({ isDisabled: width > 768 }) return setQuery(e.target.value)} /> } ``` ## Source [`index.ts`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/index.ts)