@gj-kit/expo-ui
Accessible, token-driven UI primitives for Expo, React Native, and the web.
Current npm latest:
0.8.1
Use it when
Section titled “Use it when”Use it when one design language, controlled component state, overlays, and accessibility behavior must work across native and web targets.
Do not use it when
Section titled “Do not use it when”Do not use it for product routes, data stores, analytics, or product-specific copy.
Golden path
Section titled “Golden path”Outcome: A themed, accessible button rendered from one application-wide provider.
1. Install
Section titled “1. Install”pnpm add @gj-kit/expo-ui2. Keep the app-owned boundary explicit
Section titled “2. Keep the app-owned boundary explicit”Create themes once and mount UiProvider at the component that wraps your app.
3. Start with the smallest integration
Section titled “3. Start with the smallest integration”Copy this first, then replace only the app-owned values named above.
import { Button, UiProvider, enStrings } from '@gj-kit/expo-ui';import { createThemes } from '@gj-kit/expo-ui/theme';
const themes = createThemes();
export function App() { return ( <UiProvider theme={themes} strings={enStrings}> <Button label="Get started" onPress={() => {}} /> </UiProvider> );}Runtime and peers
Section titled “Runtime and peers”Engines: node >=20
| Peer | Supported range | Required for |
|---|---|---|
react |
>=18 |
the package integration |
react-native |
>=0.79 |
the package integration |
react-native-safe-area-context |
>=4 |
documented optional subpaths only |
react-native-web |
>=0.21 |
documented optional subpaths only |
Public subpaths
Section titled “Public subpaths”| Entry | Exported symbols |
|---|---|
Root entry |
361 |
./insets |
11 |
./insets/pure |
6 |
./tailwind |
4 |
./theme |
26 |
Safety boundary
Section titled “Safety boundary”Keep optional safe-area and React Native Web peers behind their documented subpaths. Supply application copy through strings rather than baking product copy into primitives.
API reference
Section titled “API reference”complete API reference contains every public function, class, type, constant, and error contract generated from release declarations. Each item shows its import path, release signature, and package version.