UI Registry

by Happenings

Agent Instructions

How AI agents should install, browse, and use the Happenings UI registry.

What is this registry?

The Happenings UI Registry is an open shadcn/ui component registry hosted at ui.happenings.social. It contains 85+ production-ready components built on Radix UI, Tailwind CSS v4, and Font Awesome Pro. Components can be installed into any Next.js + Tailwind project using the shadcn CLI.

Quick setup

Run these commands in a Next.js project with shadcn initialized.

1. Register the namespace (one-time)

npx shadcn registry add @happenings=https://ui.happenings.social/r/{name}.json

2. Install all components

npx shadcn add @happenings/all

Or install individual components

npx shadcn add @happenings/button

Or install by direct URL

npx shadcn add https://ui.happenings.social/r/button.json

Browsing components

Registry index: Fetch https://ui.happenings.social/r/index.json — returns all component names, types, descriptions, and dependency lists.

Single component: Fetch https://ui.happenings.social/r/{name}.json — returns full source code, file paths, dependencies, and registry dependencies.

Component page: Visit https://ui.happenings.social/{name} — human-readable page with preview, install command, source, and a "Copy as Markdown" button.

Design manifest: Visit https://ui.happenings.social/manifest — the 12 design principles behind the system.

Copy as Markdown

Each component page has a "Copy as Markdown" button that copies the component name, description, install command, dependencies, and full source code as a Markdown document. Use this to feed component source into an AI agent context or paste into documentation.

Design rules

No shadows on cards or buttons — flat surfaces with borders only
No decorative gradients — no gradient backgrounds, radial blobs, or ornamental overlays
cursor-pointer on every clickable element
Scale-down press states: buttons active:scale-[0.97], cards active:scale-[0.98]
transition-all (not transition-colors) on elements with active:scale
Font Awesome Pro icons only — no Lucide, no Heroicons
All text via next-intl — no hardcoded strings
Every component must support light and dark mode
Zinc neutral palette, OKLch color tokens
Card border-radius: rounded-xl. Button border-radius: rounded-md

Available components (85)

UI Primitives (66)

accordionAccordion component
alert-dialogAlert Dialog component
alertAlert component
aspect-ratioAspect Ratio component
avatarAvatar component
badgeBadge component
breadcrumbBreadcrumb component
button-groupButton Group component
buttonButton component
calendarCalendar component
cardCard component
carouselCarousel component
chartChart component
code-blockCode block with copy-to-clipboard button
checkboxCheckbox component
collapsibleCollapsible component
comboboxCombobox component
commandCommand component
context-menuContext Menu component
dialogDialog component
directionDirection component
drawerDrawer component
dropdown-menuDropdown Menu component
emptyEmpty component
fieldField component
formForm component
hover-cardHover Card component
input-groupInput Group component
input-otpInput Otp component
inputInput component
itemItem component
kbdKbd component
labelLabel component
markdown-editorMarkdown Editor component
menubarMenubar component
native-selectNative Select component
number-stepperInline number stepper with decrement/increment buttons replacing native number input
navigation-menuNavigation Menu component
onboardingOnboarding component
paginationPagination component
popoverPopover component
progressProgress component
radio-groupRadio Group component
resizableResizable component
scroll-areaScroll Area component
selectSelect component
separatorSeparator component
sheetSheet component
sidebarSidebar component
skeletonSkeleton component
sliderSlider component
snap-carouselSnap Carousel component
sonnerSonner component
spinnerSpinner component
switchSwitch component
tableTable component
tabsTabs component
textareaTextarea component
toggle-groupToggle Group component
toggleToggle component
tooltipTooltip component
announcement-modalMulti-page announcement modal with pagination dots and slide transitions
guided-tourStep-by-step guided tour dialog with optional image panels and keyboard navigation
locale-switcherLanguage switcher dropdown with standalone, icon button, and sub-menu variants
logoHappenings logo SVG component with currentColor fill
theme-switcherTheme picker dropdown with standalone, icon button, and sub-menu variants supporting light, warm, stone, dark, slate, and system themes

Composite Components (16)

beta-badgeBeta Badge component
chart-area-axesChart Area Axes component
chart-area-defaultChart Area Default component
chart-area-gradientChart Area Gradient component
chart-area-iconsChart Area Icons component
chart-area-interactiveChart Area Interactive component
chart-area-legendChart Area Legend component
chart-area-linearChart Area Linear component
chart-area-stacked-expandChart Area Stacked Expand component
chart-area-stackedChart Area Stacked component
chart-area-stepChart Area Step component
date-time-pickerDate Time Picker component
image-crop-dialogImage Crop Dialog component
image-crop-presetsImage Crop Presets component
sidebar-user-menuSidebar User Menu component
system-status-badgeSystem Status Badge component

Hooks & Utilities (2)

use-mobileUse Mobile hook
utilscn() utility function (clsx + tailwind-merge)

Happenings Group A/S