{"$schema":"https://ui.shadcn.com/schema/registry.json","name":"beamline","homepage":"https://beamline.io","items":[{"name":"setup","type":"registry:style","title":"Beamline source base","description":"Editable runtime, tokens, foundation CSS and helpers in your repository; no Beamline packages.","meta":{"free":true}},{"name":"look-prism","type":"registry:theme","title":"Prism look","description":"Editable Prism look and local font assets (geist, geist-mono, instrument-serif).","meta":{"free":true}},{"name":"look-metal","type":"registry:theme","title":"Metal look","description":"Editable Metal look and local font assets (archivo, geist, geist-mono, inter).","meta":{"free":true}},{"name":"settings","type":"registry:block","title":"Settings","description":"Profile and workspace settings with one draft and a real save handler, on grouped panels: photo upload, time zone with the local time, appearance cards, notifications by channel, workspace security, members, plan and usage, API keys and a hold-to-confirm danger zone. Personal mode omits workspace data; optional profile fields share validation, persistence, error recovery and focus return.","categories":["blocks"],"meta":{"free":true}},{"name":"alert","type":"registry:component","title":"Alert","description":"A message that stays until it is dealt with: what happened, what to do, an action; danger and warning are announced; dismissing folds its height away.","categories":["feedback"],"meta":{"free":true}},{"name":"alert-dialog","type":"registry:component","title":"Alert Dialog","description":"A blocking confirmation that must be answered: the scrim does not dismiss it, focus starts on the safe choice, and an async action keeps it open until the work finishes.","categories":["overlays"],"meta":{"free":true}},{"name":"avatar","type":"registry:component","title":"Avatar","description":"A person or account in a small space: a photo, or initials on the hue their name always gets; presence dot; circle for people, square for companies.","categories":["display"],"meta":{"free":true}},{"name":"badge","type":"registry:component","title":"Badge","description":"A short status, category or count label: six tones, an icon or a status dot, two sizes.","categories":["display"],"meta":{"free":true}},{"name":"bottom-sheet","type":"registry:component","title":"Bottom sheet","description":"A phone panel that rests at a peek and follows the finger to full height; a flick down closes it, and the handle works from the keyboard.","categories":["overlays"],"meta":{"free":true}},{"name":"button","type":"registry:component","title":"Button","description":"The action control: five weights and a brand fill, a buy/sell tone, sm/md/lg and a 44 px touch size, icon-only, a loading state that keeps its size and focus, and a label that changes in place.","categories":["actions"],"meta":{"free":true}},{"name":"checkbox","type":"registry:component","title":"Checkbox","description":"A yes/no choice with an optional label and help, including the mixed state for select-all; the check draws itself in.","categories":["forms"],"meta":{"free":true}},{"name":"chip-group","type":"registry:component","title":"Chip group","description":"Quick filters as chips: a chosen chip fills and grows a check, counts show what each would return, and extra chips fold behind “+N”.","categories":["forms"],"meta":{"free":true}},{"name":"combobox","type":"registry:component","title":"Combobox","description":"One value from a long list found by typing (time zones, countries, customers): ranked matches with the match emphasised, keywords, optional group headings, clearable; the field keeps focus, and below 640 px the list opens as a bottom sheet with its own search.","categories":["forms"],"meta":{"free":true}},{"name":"copy-button","type":"registry:component","title":"Copy button","description":"Copies a value and confirms in place: the icon becomes a check and the label says Copied; a refused copy says so instead of pretending.","categories":["actions"],"meta":{"free":true}},{"name":"credit","type":"registry:component","title":"Credit","description":"\"Designed with Beamline\" for a site's footer: the Beamline mark and a quiet line, or a small badge. With your partner code, each new customer's first purchase through it earns you 30% in cash.","categories":["display"],"meta":{"free":true}},{"name":"dialog","type":"registry:component","title":"Dialog","description":"A focused task over the page (create, invite, rename) with a title, body and footer; focus moves in, is trapped and returns on close.","categories":["overlays"],"meta":{"free":true}},{"name":"dropdown-menu","type":"registry:component","title":"Dropdown menu","description":"A list of actions behind a trigger, with shortcuts, check items, headings and submenus; one highlight glides under the pointer and jumps with the keyboard.","categories":["overlays"],"meta":{"free":true}},{"name":"glow","type":"registry:component","title":"Glow","description":"Ambient light around one element that says something is happening: an aurora under a working composer, or a ring of light round a live card.","categories":["effects"],"meta":{"free":true}},{"name":"hold-to-confirm","type":"registry:component","title":"Hold to confirm","description":"Confirms a costly action by holding instead of clicking: a fill sweeps across while held and drains if let go early; pointer, touch, Space and Enter all hold.","categories":["actions"],"meta":{"free":true}},{"name":"input","type":"registry:component","title":"Input","description":"A single-line text field with its label, help and error wired for assistive tech, three sizes and adornments.","categories":["forms"],"meta":{"free":true}},{"name":"item","type":"registry:component","title":"Item","description":"The generic list row: media, title, description, meta and trailing actions; becomes a link or button when interactive.","categories":["display"],"meta":{"free":true}},{"name":"kbd","type":"registry:component","title":"Kbd","description":"Keyboard keys as keycaps, for combinations and sequences (G then A); `mod` resolves to ⌘ or Ctrl per platform, symbols are spoken as words.","categories":["display"],"meta":{"free":true}},{"name":"label","type":"registry:component","title":"Label","description":"The text label tied to a form control, with a required marker that screen readers announce.","categories":["forms"],"meta":{"free":true}},{"name":"pagination","type":"registry:component","title":"Pagination","description":"Moves through pages of a known length: first, last and the current page's neighbours, with an optional “41–60 of 468”. It answers to its own room: narrow, “Page 6 of 24”; wide, one more neighbour on each side.","categories":["navigation"],"meta":{"free":true}},{"name":"radio-cards","type":"registry:component","title":"Radio cards","description":"One choice among rich options as cards with optional media, icon, detail and a figure; one selection ring follows the stable choice.","categories":["forms"],"meta":{"free":true}},{"name":"reasoning","type":"registry:component","title":"Reasoning","description":"The agent's trace, fed by your stream: a shimmering label and the seconds so far while it works, then \"Thought for N seconds\"; steps that check off, prose thoughts, search sources or tool calls, open while running and folded when done.","categories":["ai"],"meta":{"free":true}},{"name":"run-trace","type":"registry:component","title":"Run trace","description":"One agent run as a waterfall: every step (model calls, tools, retrieval, checks, sub-agents) nested under the step that started it, each a bar on a shared time axis, with retries as separate attempts on the same bar, tokens and cost per step and for the run; while it runs the bars grow live, and choosing a step shows its timing, attempts, input and output beside the trace.","categories":["ai"],"meta":{"free":true}},{"name":"search-field","type":"registry:component","title":"Search field","description":"The search entry point: magnifier, clear button, Escape to clear, a shortcut hint and an optional live border beam.","categories":["forms"],"meta":{"free":true}},{"name":"segmented-control","type":"registry:component","title":"Segmented control","description":"Two to five views or ranges of the same content (1D / 1W / 1M, List / Board): a radio group whose raised thumb slides to the choice.","categories":["forms"],"meta":{"free":true}},{"name":"select","type":"registry:component","title":"Select","description":"One choice from a short known list, in the same frame as every text field: label, help, error, option groups and details.","categories":["forms"],"meta":{"free":true}},{"name":"slot-text","type":"registry:component","title":"Slot text","description":"Text and numbers that roll into their new value on reels, digit by digit from the right; other characters fade. Read as plain text by assistive tech.","categories":["display"],"meta":{"free":true}},{"name":"spinner","type":"registry:component","title":"Spinner","description":"A ring that spins while work runs and closes into a drawn check or cross when it ends.","categories":["feedback"],"meta":{"free":true}},{"name":"switch","type":"registry:component","title":"Switch","description":"A setting that applies at once: a thumb that slides on a spring and stretches under the finger, with an optional label before or after.","categories":["forms"],"meta":{"free":true}},{"name":"table","type":"registry:component","title":"Table","description":"A native HTML table for small datasets, composed with children or driven by records; shared server paging, sorting, filters, search, stable-ID selection and retry.","categories":["data"],"meta":{"free":true}},{"name":"tabs","type":"registry:component","title":"Tabs","description":"Switches between panels of one object; one indicator slides to the active tab, counts sit beside labels, and the tabs a row has no room for fold into More.","categories":["navigation"],"meta":{"free":true}},{"name":"tag-input","type":"registry:component","title":"Tag input","description":"Short free-form values as tags: Enter, comma or Tab adds, a pasted list adds them all, Backspace twice removes the last; duplicates and invalid values are said, not dropped silently.","categories":["forms"],"meta":{"free":true}},{"name":"text-morph","type":"registry:component","title":"Text morph","description":"A short label that becomes its next state letter by letter: shared letters glide into place, new ones arrive, old ones leave.","categories":["display"],"meta":{"free":true}},{"name":"text-shimmer","type":"registry:component","title":"Text shimmer","description":"Ongoing work said in words (“Thinking…”) with a calm band of light passing across them; stops when inactive.","categories":["display"],"meta":{"free":true}},{"name":"toast","type":"registry:component","title":"Toast","description":"Short results of an action stacked at an edge: point at the stack to fan it out and pause the timers; undo or retry in place; Alt+T, Escape and a swipe for the keyboard and touch.","categories":["overlays"],"meta":{"free":true}},{"name":"tool-call","type":"registry:component","title":"Tool call","description":"One tool call in an agent's run: status, what it did and a short result on one quiet row that opens to the exact input and output; stops for permission when needed, with progress and the reason if allowing fails.","categories":["ai"],"meta":{"free":true}},{"name":"tooltip","type":"registry:component","title":"Tooltip","description":"Short supporting text for a control: opens after a moment on hover and at once on keyboard focus; inside a toolbar group the next one opens instantly.","categories":["overlays"],"meta":{"free":true}},{"name":"ui-root","type":"registry:component","title":"UI root","description":"Makes a region of any app a Beamline root: theme, brand and direction for everything inside, and a matching layer at page level where its menus, dialogs and tooltips open.","categories":["layout"],"meta":{"free":true}},{"name":"usage-meter","type":"registry:component","title":"Usage meter","description":"An allowance and what fills it: one bar split by source, the room left, a warning near the limit and the overflow in its own red well past a notch at the limit.","categories":["feedback"],"meta":{"free":true}},{"name":"free","type":"registry:block","title":"Beamline free components","description":"All 40 free Beamline components, MIT: editable source in src/ui/beamline.","meta":{"free":true}}]}