Skip to main content
v1.0.040 componentsZero required deps

Vajra UI

A minimal, token-driven React Native component library

MyScreen.tsx
<Box p="s-4" gap="s-3">
<Text variant="subheading">Hello</Text>
<Badge label="New" bg="primary" />
<Button label="Get started" onPress={() => {}} />
</Box>
🎯

Token-first

Every prop (bg, p, rounded, color) maps to a design token, never a raw value — no magic hex codes or pixel values scattered through your app.

🎨

Themeable

Override colors, spacing, and border radii via createVajraTheme, add your own tokens through TypeScript module augmentation, and switch themes at runtime.

🧬

Headless core

Opinionated components are built on top of unstyled, headless primitives in @devraj-labs/vajra-ui-core — use the styled layer, or drop down for full control.

📦

40 components

Layout, forms, navigation, overlays, and feedback — Modal, Sheet, Toast, Select, Tabs, Accordion, and more, covering what a real app screen actually needs.

âš¡

Live previews

Every component in these docs renders for real, in the browser, via react-native-web — not a static screenshot or a code snippet you have to imagine.

✅

Tested & typed

Full test coverage with Jest and React Native Testing Library, typed end-to-end token unions, and CI that verifies the published package is actually importable.