| ~9 kB | 0 | 0 | 12 |
| Download size | Dependencies | Providers needed | Primitives |
Raw RN layout is verbose. Design systems fix that but ship a theme, a provider, and a dependency tree you didn't ask for.
Vajra UI Core is neither. It's a thin prop layer over the primitives you're already using — View, Text, TouchableOpacity. The whole thing is 9 kB and pulls in nothing. Drop it in, style with your own system, done.
// before
<View style={{ flexDirection: 'row', alignItems: 'center', paddingHorizontal: 16, gap: 8 }}>
// after
<Row align="center" px={16} gap={8}>yarn add @devraj-labs/vajra-ui-corereact and react-native are peer dependencies. Nothing else is.
| Component | |
|---|---|
Box |
docs/box |
Row |
docs/row |
Col |
docs/col |
Center |
docs/center |
AbsoluteCenter |
docs/absolute-center |
Spacer |
docs/spacer |
Separator |
docs/separator |
CoreText |
docs/core-text |
CoreTextInput |
docs/core-text-input |
CorePressable |
docs/core-pressable |
Grid |
docs/grid |
useDimensions |
docs/use-dimensions |
Foundation View with shorthand layout and spacing props. Every other layout primitive is built on top of Box.
Box with flexDirection="row" pre-applied. Use it anywhere you need horizontal layout.
Box with flexDirection="column" pre-applied. Stacks children vertically.
Box centered on both axes. No more alignItems + justifyContent boilerplate.
Fills its parent absolutely and centers children. Perfect for overlays, loaders, and empty states.
Fixed-size gap between elements. Drop it between siblings instead of reaching for margin.
Horizontal or vertical divider line. One prop to switch orientation.
Headless Text with typography shorthand props. Bring your own font and color system.
Headless TextInput with the same layout and typography props as CoreText.
TouchableOpacity with full layout prop support. Style your buttons without a wrapper View.
Compound responsive grid — Grid.Root + Grid.Item. Adapts to any screen width automatically.
Screen-aware dimension utilities. Responsive values without a context provider.
A runnable React Native CLI app lives in examples/app/.
cd examples/app
# iOS
bundle exec pod install --project-directory=ios
npx react-native run-ios
# Android
npx react-native run-androidMIT











