---
name: "@starseam"
slug: "starseam"
description: "A registry modelled on the star-riveted helmet: plates on a lacquer ground, rivets only on real seams, console/report as two materials, ink-only code highlighting, and first-class CJK typography."
category: "Charts/data viz"
tags: ["auth", "blocks", "buttons", "cards", "charts", "forms", "icons", "loaders", "media", "navigation", "overlays", "tables", "theming"]
framework: "react"
license: "MIT"
author: "astroicers"
website: "https://starseam.astroicers.link"
github: "https://github.com/astroicers/starseam"
registry: "https://starseam.astroicers.link/r/registry.json"
pro: false
pro_url: null
github_stars: 0
component_count: 56
generated_at: "2026-09-21T01:50:16.753Z"
---

# @starseam

A registry modelled on the star-riveted helmet: plates on a lacquer ground, rivets only on real seams, console/report as two materials, ink-only code highlighting, and first-class CJK typography.

## Links

- Website: https://starseam.astroicers.link
- GitHub: https://github.com/astroicers/starseam
- Registry JSON: https://starseam.astroicers.link/r/registry.json
- Directory page: https://sh4dcn.vercel.app/registry/starseam
- This file: https://sh4dcn.vercel.app/md/starseam.md

## Install

```sh
# add the whole registry (shadcn CLI)
npx shadcn@latest add https://starseam.astroicers.link/r/registry.json
pnpm dlx shadcn@latest add https://starseam.astroicers.link/r/registry.json
bunx shadcn@latest add https://starseam.astroicers.link/r/registry.json
# clone the source repo
git clone https://github.com/astroicers/starseam.git
# fetch the raw registry index
curl -s https://starseam.astroicers.link/r/registry.json
```

## Components (56)

| name | type | description | install |
| --- | --- | --- | --- |
| theme | registry:theme | The token layer — lacquer ground, structural rivets, severity colour, the em grid, and per-language CJK font stacks. Every other item pulls this. | `npx shadcn@latest add https://starseam.astroicers.link/r/theme.json` |
| plate | registry:ui | The base surface. One iron plate — no shadow, no glass. | `npx shadcn@latest add https://starseam.astroicers.link/r/plate.json` |
| seam | registry:ui | The signature: a row of rivets marking where two blocks actually join. | `npx shadcn@latest add https://starseam.astroicers.link/r/seam.json` |
| lames | registry:ui | A stack of plates, each pressing onto the one below. | `npx shadcn@latest add https://starseam.astroicers.link/r/lames.json` |
| label | registry:ui | An instrument label — mono, small, widely tracked. | `npx shadcn@latest add https://starseam.astroicers.link/r/label.json` |
| value | registry:ui | A readout with tabular figures and a severity state. | `npx shadcn@latest add https://starseam.astroicers.link/r/value.json` |
| status-dot | registry:ui | A single rivet standing in for a status. Only critical animates. | `npx shadcn@latest add https://starseam.astroicers.link/r/status-dot.json` |
| mark | registry:ui | Helmet plan, star chart, radar scope — one mark, three true readings. | `npx shadcn@latest add https://starseam.astroicers.link/r/mark.json` |
| stat-band | registry:ui | The instrument strip: cells divided by seam lines. | `npx shadcn@latest add https://starseam.astroicers.link/r/stat-band.json` |
| code-tag | registry:ui | A mono identifier — a stack item, a version, a CVE. | `npx shadcn@latest add https://starseam.astroicers.link/r/code-tag.json` |
| code-block | registry:ui | A plate that holds source code: filename label, copy, a folding seam. Ink shades only — colour is severity, never syntax. | `npx shadcn@latest add https://starseam.astroicers.link/r/code-block.json` |
| copy-button | registry:ui | A quiet text button that puts a value on the clipboard. The confirmation is a rivet, never lapis. | `npx shadcn@latest add https://starseam.astroicers.link/r/copy-button.json` |
| plate-button | registry:ui | A cut plate you can press. Square corners, hairline edge, no fill. | `npx shadcn@latest add https://starseam.astroicers.link/r/plate-button.json` |
| button-group | registry:ui | Buttons riveted into one strip: one hairline frame, seams between the members. | `npx shadcn@latest add https://starseam.astroicers.link/r/button-group.json` |
| mode-switch | registry:ui | auto / console (夜勤) / report (日勤). Two materials, not an inversion; the selection is a rivet, never lapis. | `npx shadcn@latest add https://starseam.astroicers.link/r/mode-switch.json` |
| plate-input | registry:ui | A cut plate you can write into. Focus drives the one blue rivet on the screen. | `npx shadcn@latest add https://starseam.astroicers.link/r/plate-input.json` |
| plate-textarea | registry:ui | The long-form plate, set on the body leading rather than the UI one. | `npx shadcn@latest add https://starseam.astroicers.link/r/plate-textarea.json` |
| field | registry:ui | Wires label, control, hint and error together. The error is the only place a field takes colour. | `npx shadcn@latest add https://starseam.astroicers.link/r/field.json` |
| plate-checkbox | registry:ui | A checked box is a rivet driven home — steel, not blue. | `npx shadcn@latest add https://starseam.astroicers.link/r/plate-checkbox.json` |
| plate-switch | registry:ui | The thumb is a rivet sliding along its seam. | `npx shadcn@latest add https://starseam.astroicers.link/r/plate-switch.json` |
| plate-select | registry:ui | A list floating on the lightest cut of lacquer. Selection is marked by a rivet. | `npx shadcn@latest add https://starseam.astroicers.link/r/plate-select.json` |
| plate-dialog | registry:ui | A plate lifted clear of the page. Riveted seams at the header and footer joins. | `npx shadcn@latest add https://starseam.astroicers.link/r/plate-dialog.json` |
| plate-sheet | registry:ui | A panel drawn out from an edge — the one directional exception to stillness. | `npx shadcn@latest add https://starseam.astroicers.link/r/plate-sheet.json` |
| plate-dropdown-menu | registry:ui | Menu on strong lacquer. Dividers are scored hairlines, not riveted seams. | `npx shadcn@latest add https://starseam.astroicers.link/r/plate-dropdown-menu.json` |
| plate-tabs | registry:ui | Tab strip and panel are two plates that meet, so a riveted seam runs between them. | `npx shadcn@latest add https://starseam.astroicers.link/r/plate-tabs.json` |
| plate-table | registry:ui | Rows as lames. Rivets only at the head/body join. | `npx shadcn@latest add https://starseam.astroicers.link/r/plate-table.json` |
| alert | registry:ui | A message plate with a severity edge. The colour never stands alone — the title carries the meaning. | `npx shadcn@latest add https://starseam.astroicers.link/r/alert.json` |
| badge | registry:ui | A stamped status tag: hairline border, no fill. Colour is severity, never decoration. | `npx shadcn@latest add https://starseam.astroicers.link/r/badge.json` |
| kbd | registry:ui | A key cap: a raised plate the size of a keystroke, pressed metal without a shadow. | `npx shadcn@latest add https://starseam.astroicers.link/r/kbd.json` |
| skeleton | registry:ui | A placeholder plate. It does not shimmer — the only permitted loop belongs to crit. | `npx shadcn@latest add https://starseam.astroicers.link/r/skeleton.json` |
| avatar | registry:ui | An identity plate: square, hairline seam, instrument-lettered fallback. | `npx shadcn@latest add https://starseam.astroicers.link/r/avatar.json` |
| progress | registry:ui | A determinate reading in rivet steel. No indeterminate sweep — an endless loop belongs to crit alone. | `npx shadcn@latest add https://starseam.astroicers.link/r/progress.json` |
| breadcrumb | registry:ui | A path through the structure. Every junction is a real boundary, so the separators are rivets. | `npx shadcn@latest add https://starseam.astroicers.link/r/breadcrumb.json` |
| pagination | registry:ui | Page links; the current page is a rivet and full-strength text, never lapis. | `npx shadcn@latest add https://starseam.astroicers.link/r/pagination.json` |
| plate-radio-group | registry:ui | The chosen option holds a rivet driven into its centre. Selection is silver, never lapis. | `npx shadcn@latest add https://starseam.astroicers.link/r/plate-radio-group.json` |
| plate-slider | registry:ui | A setting dragged along a seam. Track, range, and thumb are steel; blue appears only as focus. | `npx shadcn@latest add https://starseam.astroicers.link/r/plate-slider.json` |
| plate-toggle | registry:ui | A pressed-state button. On is a rivet and a deeper fill, never lapis. | `npx shadcn@latest add https://starseam.astroicers.link/r/plate-toggle.json` |
| plate-accordion | registry:ui | Stacked plates that open along their seams; the open item holds a rivet. | `npx shadcn@latest add https://starseam.astroicers.link/r/plate-accordion.json` |
| plate-collapsible | registry:ui | A single section that opens along its seam — the accordion's one-item cousin. | `npx shadcn@latest add https://starseam.astroicers.link/r/plate-collapsible.json` |
| scroll-area | registry:ui | A viewport with an instrument scrollbar: hairline channel, steel thumb, no floating pill. | `npx shadcn@latest add https://starseam.astroicers.link/r/scroll-area.json` |
| plate-tooltip | registry:ui | An instrument annotation: the lightest plate, hairline edge, no shadow and no arrow. | `npx shadcn@latest add https://starseam.astroicers.link/r/plate-tooltip.json` |
| plate-popover | registry:ui | A small plate lifted beside its trigger. Entry and exit come from the theme. | `npx shadcn@latest add https://starseam.astroicers.link/r/plate-popover.json` |
| plate-hover-card | registry:ui | A dossier plate raised on hover — the popover's read-only sibling. | `npx shadcn@latest add https://starseam.astroicers.link/r/plate-hover-card.json` |
| plate-alert-dialog | registry:ui | The dialog's stricter sibling: an answer is required. Same plate, same seams. | `npx shadcn@latest add https://starseam.astroicers.link/r/plate-alert-dialog.json` |
| plate-context-menu | registry:ui | The dropdown menu summoned at the pointer. Destructive actions take 緋, always with text. | `npx shadcn@latest add https://starseam.astroicers.link/r/plate-context-menu.json` |
| plate-menubar | registry:ui | A console menu strip: instrument-lettered triggers, menus falling as dropdown plates. | `npx shadcn@latest add https://starseam.astroicers.link/r/plate-menubar.json` |
| plate-command | registry:ui | The console palette: type, filter, execute. The highlighted row is a rivet, never lapis. | `npx shadcn@latest add https://starseam.astroicers.link/r/plate-command.json` |
| plate-calendar | registry:ui | A month on the full-width grid; the selected day is a rivet driven home. | `npx shadcn@latest add https://starseam.astroicers.link/r/plate-calendar.json` |
| plate-date-picker | registry:ui | A calendar in a popover. The date lands in a hidden input — no callback required. | `npx shadcn@latest add https://starseam.astroicers.link/r/plate-date-picker.json` |
| plate-combobox | registry:ui | A select with a filter line. Options are data, the value rides a hidden input. | `npx shadcn@latest add https://starseam.astroicers.link/r/plate-combobox.json` |
| plate-toast | registry:ui | Message plates sliding in from the edge. Severity is a coloured seam plus the text itself. | `npx shadcn@latest add https://starseam.astroicers.link/r/plate-toast.json` |
| plate-input-otp | registry:ui | A code entered one plate at a time. The active slot is edged in lapis because it holds focus. | `npx shadcn@latest add https://starseam.astroicers.link/r/plate-input-otp.json` |
| highlight | registry:lib | Server-side ink-layer highlighting: shiki with a shades-only theme wired to the mode-switching CSS variables. | `npx shadcn@latest add https://starseam.astroicers.link/r/highlight.json` |
| ledger | registry:ui | An instrument list: labelled entries on one plate, each row cut from the next by a seam. The archetype is a logbook page. | `npx shadcn@latest add https://starseam.astroicers.link/r/ledger.json` |
| rail | registry:ui | A constellation of anchors: one vertical seam, one star per entry, the current one lit via aria-current. Structure only — docking and chrome belong to the cons… | `npx shadcn@latest add https://starseam.astroicers.link/r/rail.json` |
| glyph | registry:ui | The glyph set: hairline instrument marks on the 24-unit grid — cut, not moulded. Monochrome, currentColor, never a severity. | `npx shadcn@latest add https://starseam.astroicers.link/r/glyph.json` |

## For AI agents

```text
You are adding components from @starseam to a shadcn-compatible project.
1. Read this file (https://sh4dcn.vercel.app/md/starseam.md) for the component list.
2. Fetch the machine-readable index: https://starseam.astroicers.link/r/registry.json
3. Install a single component with its install command from the table above.
4. Full structured record: https://sh4dcn.vercel.app/json (library slug: starseam).
```
