
Security News
RubyGems Adds Cooldown Feature to Bundler for Newly Published Gems
RubyGems and Bundler 4.0.13 introduced an opt-in cooldown feature that delays newly published gems during dependency resolution.
@cube-dev/ui-kit
Advanced tools
An open-source React component library that powers Cube Cloud and other Cube Dev products. While built for Cube's own interfaces, it is a general-purpose kit you can use freely in any application where it fits your needs.
pnpm add @cube-dev/ui-kit
Peer dependencies:
pnpm add react react-dom
React 18 and 19 are both supported.
Wrap your application with Root to initialize the design system:
import { Root, Button, TextInput, Space } from '@cube-dev/ui-kit';
function App() {
return (
<Root>
<Space flow="column" gap="2x" padding="4x">
<TextInput label="Name" placeholder="Enter your name" />
<Button type="primary" onPress={() => console.log('clicked')}>
Submit
</Button>
</Space>
</Root>
);
}
| Category | Components |
|---|---|
| Layout | Flex, Grid, Space, Flow, Panel, ResizablePanel, Prefix, Suffix |
| Actions | Button, Button.Group, Button.Split, Link, Menu, CommandMenu |
| Content | Text, Title, Paragraph, Card, Badge, Tag, Avatar, Alert, Skeleton, Placeholder, Disclosure, Divider, CopySnippet, PrismCode |
| Fields | TextInput, NumberInput, PasswordInput, SearchInput, TextArea, Select, ComboBox, Checkbox, RadioGroup, Switch, Slider, DatePicker, FileInput, ListBox, FilterListBox, FilterPicker, Picker |
| Form | Form, FieldWrapper, SubmitButton, ResetButton |
| Overlays | Dialog, AlertDialog, Modal, Tooltip, Toast, Notifications |
| Navigation | Tabs, FileTabs |
| Status | Spin, LoadingAnimation |
Browse all components with live examples in the Storybook.
Cube UI Kit uses Tasty — a styling engine that generates conflict-free CSS using mutually exclusive selectors.
Create custom styled components:
import { tasty } from '@cube-dev/ui-kit';
const Card = tasty({
styles: {
display: 'flex',
flow: 'column',
padding: '4x',
gap: '2x',
fill: '#surface',
border: '#border',
radius: '1r',
Title: { preset: 'h3', color: '#primary' },
Content: { preset: 't2', color: '#text' },
},
elements: { Title: 'h2', Content: 'div' },
});
Style properties support state-driven values:
const StatusBadge = tasty({
styles: {
padding: '1x 2x',
radius: 'round',
fill: {
'': '#surface',
'type=success': '#success-bg',
'type=error': '#danger-bg',
},
},
});
pnpm storybook # Start Storybook dev server on port 6060
pnpm build # Build the library (tsdown, unbundled ESM)
pnpm test # Run all tests (Vitest)
pnpm test -- Button # Run tests matching "Button"
pnpm fix # Lint and format (ESLint + Prettier)
pnpm size # Check bundle size limits
pnpm chromatic # Run visual regression tests
src/
├── components/
│ ├── actions/ # Button, Link, Menu, CommandMenu, ...
│ ├── content/ # Card, Badge, Tag, Alert, Skeleton, ...
│ ├── fields/ # TextInput, Select, ComboBox, ...
│ ├── form/ # Form, FieldWrapper, SubmitButton, ...
│ ├── layout/ # Flex, Grid, Space, Flow, Panel, ...
│ ├── navigation/ # Tabs
│ ├── organisms/ # FileTabs, StatsCard
│ ├── overlays/ # Dialog, Tooltip, Toast, ...
│ └── status/ # Spin, LoadingAnimation
├── icons/ # 130+ icon components (Tabler-based + custom)
├── stories/ # Storybook guides and documentation
├── tasty/ # Tasty integration utilities
├── tokens/ # Design tokens
└── index.ts # Public API barrel export
docs/
└── tasty/ # Tasty styling engine documentation
Each component follows a standard file layout:
ComponentName/
├── ComponentName.tsx # Implementation
├── ComponentName.stories.tsx # Storybook stories
├── ComponentName.docs.mdx # Documentation
├── ComponentName.test.tsx # Tests
└── index.tsx # Re-exports
See CONTRIBUTING.md for commit conventions, branch naming, PR workflow, and changeset instructions.
MIT — Cube Dev, Inc.
FAQs
UIKit for Cube Projects
The npm package @cube-dev/ui-kit receives a total of 7,516 weekly downloads. As such, @cube-dev/ui-kit popularity was classified as popular.
We found that @cube-dev/ui-kit demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
RubyGems and Bundler 4.0.13 introduced an opt-in cooldown feature that delays newly published gems during dependency resolution.

Security News
pnpm 11.5 now recognizes npm staged publish approvals in release metadata, preventing those releases from being mistaken for lower-trust package publishes.

Security News
Federal audit finds NIST lacked a plan to clear the NVD backlog, wasted funds on duplicate work, and delayed use of CISA data.