# Hooks

> Here you can find all the hooks available in the library.

**BNA UI** — a React Native / Expo component library.
These components render through `react-native`, not the DOM: there are no HTML
elements, no Tailwind classes and no Radix primitives. Source is copied into your
project and imported through `@/components/ui/*`, `@/components/charts/*`,
`@/hooks/*` and `@/theme/*`. Colours come from the `useColor` hook rather than
hardcoded hex; sizing tokens (`HEIGHT`, `FONT_SIZE`, `BORDER_RADIUS`, `CORNERS`)
come from `@/theme/globals`.

- Docs: https://ui.ahmedbna.com/docs/hooks
- Markdown: https://ui.ahmedbna.com/docs/hooks.md

---

- [useBottomTabOverflow](/docs/hooks/useBottomTabOverflow) — useBottomTabOverflow
- [useColor](/docs/hooks/useColor) — useColor
- [useColorScheme](/docs/hooks/useColorScheme) — useColorScheme
- [useHaptics](/docs/hooks/useHaptics) — Semantic haptic feedback that routes each intent to the right native API per platform — performAndroidHapticsAsync on Android rather than the Vibrator-simulated impact APIs Expo discourages.
- [useKeyboardHeight](/docs/hooks/useKeyboardHeight) — A React Native hook that tracks keyboard visibility, height, and animation duration with cross-platform support and screen rotation handling
- [useModeToggle](/docs/hooks/useModeToggle) — useModeToggle
