Skip to main content
HeadlessZero dependencies11 primitives

Vajra UI Core

Headless, zero-dependency React Native layout and primitive components

MyScreen.tsx
import { Box, Row, CoreText, CorePressable } from '@devraj-labs/vajra-ui-core';

<Box p={16} bg="#fff" rounded={8} gap={8}>
<Row align="center" gap={8}>
<CoreText fontSize={16} fontWeight="600">Hello</CoreText>
</Row>
<CorePressable onPress={() => {}} bg="#2563EB" rounded={8} p={14}>
<CoreText color="#fff">Get started</CoreText>
</CorePressable>
</Box>
🧬

Headless

No default colors, fonts, or spacing scale. Every prop maps directly to a React Native style property, you decide what it looks like.

📦

Zero dependencies

Only react and react-native as peer dependencies, nothing else installs alongside it.

🧱

Layout primitives

Box, Row, Col, Center, Grid, and more, the building blocks every screen needs, without the boilerplate.

✍️

Typography & input

CoreText and CoreTextInput bring the same shorthand props to text and form fields, no default font or color baked in.

📐

Responsive by default

useDimensions and Grid calculate exact column widths from screen size, gap, and span, no manual maths.

🎨

Bring your own design system

Want tokens, themes, and pre-styled components on top? Reach for the styled sibling, @devraj-labs/vajra-ui.