Skip to content
Aback UI

Registry format

Behind aback-ui add is a set of static JSON files, one per component or block, with the source inlined. You only need this page to inspect items or host your own copy.

Each item is a JSON file named after the item: button.json, sign-in.json. An index.json lists them all. The files are generated from the canonical component source and checked on every change, so the registry can never drift from the components on this site.

The same files ship in two places: inside the aback-ui npm package, which is what the CLI reads by default, and on this site at abackui.com/r, for browsing and for mirrors.

Item format

Validated against a published JSON Schema.

button.jsonjson
{
  "$schema": "https://abackui.com/schema/registry-item.json",
  "name": "button",
  "type": "registry:ui",
  "title": "Button",
  "description": "The primary action, with ink, brand, outline, ghost, and destructive variants.",
  "dependencies": ["class-variance-authority", "radix-ui"],
  "registryDependencies": ["https://abackui.com/r/utils.json"],
  "categories": ["Foundation"],
  "meta": { "status": "stable", "usedIn": ["aback-tools", "aback-launch", "aback-group"] },
  "files": [
    {
      "path": "components/ui/button.tsx",
      "target": "components/ui/button.tsx",
      "type": "registry:ui",
      "content": "\"use client\";\n\nimport * as React from \"react\";\n…"
    }
  ]
}
registry:ui for components, registry:block for blocks, registry:lib and registry:file for the helper and the theme.
npm packages the files import. The CLI installs them with your package manager.
Items to install first. Their URLs resolve against whichever registry is in use.
Where the file lands, relative to components, lib, or styles. Paths outside the project are refused.
The complete source, written as-is.

Schemas: registry-item.json, registry.json, and aback-ui.json.

theme

Writes styles/aback.css as a new file, so your own stylesheet only gains one import line.

utils

Writes lib/utils.ts with cn(). Every component depends on it, so it is installed once and shared.

aback-ui init installs both.

Hosting a mirror

For an internal fork, an air-gapped network, or a pinned copy.

Serve the item files and index.json from any static host, then point the CLI at the directory that contains them. A local folder works the same way.

aback-ui.jsonjson
{
  "registries": {
    "@aback": "https://ui.example.com/r/{name}.json"
  }
}
Dependency URLs inside the items still say abackui.com. The CLI rewrites them to your mirror, so a mirrored install never reaches this site.

All items

73 components and blocks. Each name opens its JSON.

ItemTypenpm dependencies
accordionNavigationradix-ui, @tabler/icons-react
alertFeedbackclass-variance-authority
alert-dialogOverlaysradix-ui
avatarData Displayradix-ui
badgeFoundationclass-variance-authority
breadcrumbsNavigation@tabler/icons-react
buttonFoundationclass-variance-authority, radix-ui
calendarData Display@tabler/icons-react, react-day-picker
cardFoundationNone
checkboxFormsradix-ui, @tabler/icons-react
code-blockData DisplayNone
collapsibleNavigationradix-ui
comboboxForms@tabler/icons-react
commandOverlays@tabler/icons-react, cmdk
copy-buttonFoundation@tabler/icons-react
date-pickerForms@tabler/icons-react, react-day-picker
description-listData DisplayNone
dialogOverlaysradix-ui, @tabler/icons-react
dropdown-menuOverlaysradix-ui, @tabler/icons-react
dropzoneForms@tabler/icons-react
empty-stateApplication@tabler/icons-react
fieldForms@tabler/icons-react
hover-cardOverlaysradix-ui
inputFormsNone
input-groupFormsNone
kbdFoundationNone
labelFormsNone
layoutLayoutradix-ui
page-headerApplicationNone
paginationNavigationNone
popoverOverlaysradix-ui
progressFeedbackradix-ui
radio-groupFormsradix-ui
ratingForms@tabler/icons-react
reading-progressFeedbackNone
relative-timeData DisplayNone
scroll-areaLayoutradix-ui
section-headingApplicationNone
selectForms@tabler/icons-react
separatorFoundationradix-ui
share-buttonsApplication@tabler/icons-react
sheetOverlays@tabler/icons-react, radix-ui
skeletonFeedbackNone
skip-linkNavigationNone
sliderFormsradix-ui
spinnerFeedback@tabler/icons-react
statData Display@tabler/icons-react
stepsData Display@tabler/icons-react
switchFormsradix-ui
tableData DisplayNone
table-of-contentsNavigation@tabler/icons-react
tabsNavigationradix-ui
textareaFormsNone
theme-toggleApplication@tabler/icons-react
toastFeedback@tabler/icons-react, sonner
toggle-groupFormsclass-variance-authority, radix-ui
tooltipOverlaysradix-ui
article-layoutBlock@tabler/icons-react
cta-bannerBlock@tabler/icons-react
contact-formBlock@tabler/icons-react
cookie-consentBlockNone
dashboard-shellBlock@tabler/icons-react
faqBlockNone
feature-gridBlock@tabler/icons-react
heroBlock@tabler/icons-react
newsletterBlock@tabler/icons-react
not-foundBlock@tabler/icons-react
pricingBlock@tabler/icons-react
settings-sectionBlockNone
sign-inBlockNone
site-footerBlock@tabler/icons-react
site-headerBlock@tabler/icons-react
users-tableBlock@tabler/icons-react

Prefer browsing with previews? See Components and Blocks.