New project? Create a Next.js app with shadcn first
1. Create app
npx create-next-app@latest my-app --tailwind --typescript
2. Init shadcn
cd my-app && npx shadcn init
Install components
Install everything
npx shadcn add https://ui.happenings.social/r/all.json
Or pick individual components
npx shadcn add https://ui.happenings.social/r/button.json
Register namespace for shorter commands
npx shadcn registry add @happenings=https://ui.happenings.social/r/{name}.jsonThen install by name
npx shadcn add @happenings/all
| Name | Type | Description |
|---|---|---|
| accordion | ui | Accordion component |
| alert-dialog | ui | Alert Dialog component |
| alert | ui | Alert component |
| aspect-ratio | ui | Aspect Ratio component |
| avatar | ui | Avatar component |
| badge | ui | Badge component |
| breadcrumb | ui | Breadcrumb component |
| button-group | ui | Button Group component |
| button | ui | Button component |
| calendar | ui | Calendar component |
| card | ui | Card component |
| carousel | ui | Carousel component |
| chart | ui | Chart component |
| code-block | ui | Code block with copy-to-clipboard button |
| checkbox | ui | Checkbox component |
| collapsible | ui | Collapsible component |
| combobox | ui | Combobox component |
| command | ui | Command component |
| context-menu | ui | Context Menu component |
| dialog | ui | Dialog component |
| direction | ui | Direction component |
| drawer | ui | Drawer component |
| dropdown-menu | ui | Dropdown Menu component |
| empty | ui | Empty component |
| field | ui | Field component |
| form | ui | Form component |
| hover-card | ui | Hover Card component |
| input-group | ui | Input Group component |
| input-otp | ui | Input Otp component |
| input | ui | Input component |
| item | ui | Item component |
| kbd | ui | Kbd component |
| label | ui | Label component |
| markdown-editor | ui | Markdown Editor component |
| menubar | ui | Menubar component |
| native-select | ui | Native Select component |
| number-stepper | ui | Inline number stepper with decrement/increment buttons replacing native number input |
| navigation-menu | ui | Navigation Menu component |
| onboarding | ui | Onboarding component |
| pagination | ui | Pagination component |
| popover | ui | Popover component |
| progress | ui | Progress component |
| radio-group | ui | Radio Group component |
| resizable | ui | Resizable component |
| scroll-area | ui | Scroll Area component |
| select | ui | Select component |
| separator | ui | Separator component |
| sheet | ui | Sheet component |
| sidebar | ui | Sidebar component |
| skeleton | ui | Skeleton component |
| slider | ui | Slider component |
| snap-carousel | ui | Snap Carousel component |
| sonner | ui | Sonner component |
| spinner | ui | Spinner component |
| switch | ui | Switch component |
| table | ui | Table component |
| tabs | ui | Tabs component |
| textarea | ui | Textarea component |
| toggle-group | ui | Toggle Group component |
| toggle | ui | Toggle component |
| tooltip | ui | Tooltip component |
| beta-badge | component | Beta Badge component |
| chart-area-axes | component | Chart Area Axes component |
| chart-area-default | component | Chart Area Default component |
| chart-area-gradient | component | Chart Area Gradient component |
| chart-area-icons | component | Chart Area Icons component |
| chart-area-interactive | component | Chart Area Interactive component |
| chart-area-legend | component | Chart Area Legend component |
| chart-area-linear | component | Chart Area Linear component |
| chart-area-stacked-expand | component | Chart Area Stacked Expand component |
| chart-area-stacked | component | Chart Area Stacked component |
| chart-area-step | component | Chart Area Step component |
| date-time-picker | component | Date Time Picker component |
| image-crop-dialog | component | Image Crop Dialog component |
| image-crop-presets | component | Image Crop Presets component |
| sidebar-user-menu | component | Sidebar User Menu component |
| system-status-badge | component | System Status Badge component |
| use-mobile | hook | Use Mobile hook |
| utils | lib | cn() utility function (clsx + tailwind-merge) |
| theme | theme | Happenings design system theme with OKLch colors, zinc base, and four theme variants (default, slate, warm, stone) |
| announcement-modal | ui | Multi-page announcement modal with pagination dots and slide transitions |
| guided-tour | ui | Step-by-step guided tour dialog with optional image panels and keyboard navigation |
| locale-switcher | ui | Language switcher dropdown with standalone, icon button, and sub-menu variants |
| logo | ui | Happenings logo SVG component with currentColor fill |
| theme-switcher | ui | Theme picker dropdown with standalone, icon button, and sub-menu variants supporting light, warm, stone, dark, slate, and system themes |
Happenings Group A/S