Components
- Accordion
- Alert
- Alert Dialog
- Aspect Ratio
- Attachment
- Avatar
- Badge
- Breadcrumb
- Bubble
- Button
- Button Group
- Calendar
- Card
- Carousel
- Chart
- Checkbox
- Collapsible
- Combobox
- Command
- Context Menu
- Date Picker
- Desktop Window
- Dialog
- Drawer
- Dropdown Menu
- Empty
- Field
- Frame
- Heading
- Hover Card
- Input
- Input Group
- Input OTP
- Item
- Kbd
- Label
- Live Waveform
- Marker
- Menubar
- Message
- Message Scroller
- Meter
- Meter Ring
- Native Select
- Navigation Menu
- NumberCount
- Pagination
- Popover
- Progress
- Progress Ring
- Questionnaire
- Radio Group
- Resizable
- Scroll Area
- Select
- Separator
- Sheet
- Sidebar
- Skeleton
- Slider
- Spinner
- Stepper
- Switch
- Table
- Tabs
- Textarea
- Timeline
- Toast
- Toggle
- Toggle Group
- Tooltip
Compositions
Utilities
Choose the setup that matches your starting point.
Use the CLI
Scaffold a new Vite project directly from the terminal.
Existing Project
Configure Ondo UI manually in an existing Vite project.
Use the CLI#
Create Project#
bunx --bun @dou.so/ondo-ui@latest init -t viteAdd Components#
The command installs the Ondo theme and registers @ondo-ui. Add more components with:
bunx --bun shadcn@latest add @ondo-ui/button
Existing Project#
Create Project#
If you need a new Vite project, create one first:
bun create vite@latest my-app -- --template react-ts cd my-app npm install
Configure Tailwind CSS#
Install the Tailwind Vite plugin:
bun add tailwindcss @tailwindcss/vite
Add the plugin to vite.config.ts and import Tailwind in src/index.css:
import tailwindcss from "@tailwindcss/vite"
export default {
plugins: [tailwindcss()],
}@import "tailwindcss";Configure Import Aliases#
Add the @/* alias to tsconfig.json and vite.config.ts if it is not already present.
{
"compilerOptions": {
"baseUrl": ".",
"paths": { "@/*": ["./src/*"] }
}
}Run the CLI#
bunx --bun shadcn@latest init
Register the Ondo Registry#
{
"registries": {
"@ondo-ui": "https://ui.ondo.dou.so/r/{name}.json"
}
}Add the Theme and a Component#
bunx --bun shadcn@latest add @ondo-ui/theme @ondo-ui/theme-provider npx shadcn@latest add @ondo-ui/button
Follow the theming guide when using ThemeProvider.
Use the Component#
import { Button } from "@/components/ui/button"
export default function Example() {
return <Button>Click me</Button>
}