Wibo UI registry

The shadcn registry of the Wibo design system: 68 items. Register the namespace in components.json and add items with the shadcn CLI. Generators read SKILL.md.

{ "registries": { "@wibo": "https://wibo-ui.vercel.app/r/{name}.json" } }

pnpm dlx shadcn@latest add @wibo/styles @wibo/button @wibo/card
ItemTypeDescriptionFile
utilslibcn(): joins class names and resolves Tailwind conflicts, aware of the Wibo theme.r/utils.json
use-sliding-indicatorlibuseSlidingIndicator(): one shared highlight that slides between the items of a list (sidebar rows, tabs), for hover and for the current item.r/use-sliding-indicator.json
square-imagelibSquare crops of a picked picture (centre and zoom in source pixels) and their PNG encoding in the browser, for avatars and logos.r/square-image.json
org-treelibThe org chart's pure tree logic: items with a parent id folded into a forest in name order (roots: no parent, a parent outside the set, or a cycle), the move check (onto itself, into its own subtree, deeper than twelve levels) and the parents a move may pick.r/org-tree.json
tokenslibTyped design tokens per surface and theme, plus applyTheme() for the artifact theme handoff.r/tokens.json
stylesitemTailwind 4 entry stylesheet: tokens, the app and marketing surfaces, light and dark.r/styles.json
buttonuiAction trigger: rounded rectangle, press feedback, stable loading state; default is the black primary of the app surface.r/button.json
submit-buttonuiSubmit button of a server-action form: spinner while the form submits (useFormStatus).r/submit-button.json
inputuiSingle-line text input.r/input.json
textareauiMulti-line text input that grows with its content.r/textarea.json
labeluiAccessible label for a form control.r/label.json
selectuiSingle-choice dropdown for short option lists.r/select.json
comboboxuiSelect with search for long option lists.r/combobox.json
checkboxuiBoolean choice with an indeterminate state.r/checkbox.json
switchuiOn/off toggle for settings that apply immediately.r/switch.json
radio-groupuiSingle choice among a few visible options.r/radio-group.json
swatch-groupuiSingle choice among visual options (colours, shapes, avatars) as a grid of square tiles with radio-group semantics and keyboard support.r/swatch-group.json
badgeuiSmall status or count label in semantic colours.r/badge.json
carduiBordered content container with header, action, content and footer slots.r/card.json
separatoruiOne-pixel divider.r/separator.json
dialoguiModal window for focused tasks and confirmations.r/dialog.json
sheetuiSide panel over the page for details, filters and mobile navigation.r/sheet.json
dropdown-menuuiMenu of actions opened from a button.r/dropdown-menu.json
popoveruiFloating panel anchored to a trigger.r/popover.json
tooltipuiShort hint on hover and focus.r/tooltip.json
tabsuiPill or underlined tabs with one indicator that slides to the active tab.r/tabs.json
tableuiPlain table primitives with numeric cells.r/table.json
data-tableuiTanStack Table v9 table with sorting, toolbar slot, column visibility and pagination.r/data-table.json
paginationuiLink pagination and controlled previous/next controls with rows per page.r/pagination.json
skeletonuiLoading placeholder.r/skeleton.json
alertuiInline message: default, info, success, warning, danger.r/alert.json
toastuiMinimal toast provider and useToast() hook.r/toast.json
empty-stateuiIcon or illustration, title, a balanced description and the action under it; framed with a dashed rim on a page, plain inside a card.r/empty-state.json
stat-carduiLarge number, one-line caption and optional delta chip.r/stat-card.json
chartuiRecharts container with series config to CSS variables, tooltip, legend and hidden data table on Wibo tokens.r/chart.json
chartsuiLine, bar, distribution and sparkline on the chart primitives with the mark specs applied.r/charts.json
key-value-listuiDescription list of labelled values.r/key-value-list.json
timelineuiOrdered steps with status for runs and audit trails.r/timeline.json
org-chartuiA tree by parent drawn as nested lists with connector lines: roots in a row, their reports in a row, deeper levels stacked. Cards drawn by the caller, optional drag and drop with the move check, an actions slot for the keyboard's way to every move.r/org-chart.json
code-blockuiMonospace code with copy, and a collapsible JSON viewer mode.r/code-block.json
collapsibleuiA block shown and hidden under the row that names it, with a turning chevron.r/collapsible.json
commanduicmdk command list and the command palette dialog with a Cmd+K hook.r/command.json
breadcrumbuiLocation trail for the top bar.r/breadcrumb.json
avataruiRounded-square (or circle) picture with an initials fallback; neutral or accent tone.r/avatar.json
agent-avataruiAn agent's face: coloured disc, geometric head with eyes, translucent shoulders; eight shapes, eight colours, a default derived from the agent id, static or animated (idle, thinking, greeting). Its colours and motion live in the Wibo stylesheet (@wibo/styles).r/agent-avatar.json
chipuiRemovable filter chip.r/chip.json
date-rangeuiStart and end date as two native date inputs.r/date-range.json
formuiField, label, control, description and error wiring, fieldset and settings section.r/form.json
app-shellcomponentSidebar column, content frame with a slim banner slot, mobile bar and navigation sheet; no top bar.r/app-shell.json
sidebarcomponentWibo mark header, sections, nav items with a sliding hover and active highlight and a pending state, groups whose nested items fold under a row that links to its page, and the footer rows.r/sidebar.json
sidebar-accountcomponentThe signed-in person at the foot of the sidebar, under a hairline: avatar, name and email; the row opens the account menu (settings, theme, sign out).r/sidebar-account.json
topbarcomponentOptional top bar with breadcrumb, context switcher and actions slots.r/topbar.json
staff-bannercomponentSlim strip at the top of the content frame while Wibo staff are inside a Workspace.r/staff-banner.json
powered-by-wibocomponentFooter for artifacts.r/powered-by-wibo.json
wibo-logo-datalibThe Wibo mark and wordmark PNGs inlined as data URIs (generated from src/assets).r/wibo-logo-data.json
wibo-logocomponentWiboMark (square "w") and WiboWordmark images with alt text.r/wibo-logo.json
page-headercomponentBreadcrumb trail, title row with an optional avatar or icon, description and actions.r/page-header.json
page-containercomponentThe centred readable column of a page: narrow, medium, wide or full, with the shared gutters and arrival motion; bleed for one canvas across the whole content frame.r/page-container.json
page-skeletonscomponentLoading states in the page's shape: page column, header, tabs, table, cards, stats, form.r/page-skeletons.json
table-toolbarcomponentSearch, filter chips, column toggle and time range slots above a table.r/table-toolbar.json
section-groupcomponentTitled page section, optionally a responsive grid.r/section-group.json
inbox-listcomponentItems waiting for a person with kind, title, meta and status.r/inbox-list.json
approval-cardcomponentProposed agent action with preview, details and approve, edit, reject.r/approval-card.json
form-sheetcomponentSide sheet for data entry: title, scrolling fields, a footer with cancel and submit always in reach; full width on phones.r/form-sheet.json
confirm-dialogcomponentConfirmation before an act that takes something away or decides: what it does, an optional typed name or note, the error in place, an answer shown once.r/confirm-dialog.json
row-menucomponentA row's verbs behind three dots: icons, destructive items last and red, notes under disabled items; also at a page header.r/row-menu.json
settings-dialogcomponentSettings in a large dialog after shadcn's sidebar-13: sections by group on the left, breadcrumb and scrolling content on the right, full screen with a stacked list on phones; SettingsBlock for each card, SettingsForm for one preference edited in place with its own Save.r/settings-dialog.json
image-uploadcomponentPicture field for avatars and logos: preview, upload or replace, remove, and a crop dialog (drag and zoom) that encodes a square PNG in the browser.r/image-upload.json