Flag's base components for Tier B apps (Vite + React + TypeScript, served by Go). Each item is upstream shadcn/ui restyled to Flag's component specs and themed by Flag tokens. Tier A pages use the matching Flag CSS classes; the mapping is in COMPONENTS.md.

Install

Registry: https://flag.elcanotek.com/r/registry.json. Items resolve at https://flag.elcanotek.com/r/{name}.json.

// components.json "registries": { "@flag": "https://flag.elcanotek.com/r/{name}.json" } npx [email protected] add @flag/flag-theme @flag/button @flag/dialog

Vendor fonts/fonts.css, tokens/design-tokens.css and shadcn/theme.css with flag-sync and import them after Tailwind. Full steps, versioning and how to propose items: design-system/SHADCN.md in the Flag repo.

Kitchen sink

Every registry item installed into a scratch Vite app with shadcn add and rendered by design-system/shadcn/kitchen-sink/verify.sh (which also runs axe). The screenshot follows this page's theme.

All Flag shadcn components (dark theme) All Flag shadcn components (light theme)

Overlays

Dialog on the Flag scrim (dark theme) Dialog on the Flag scrim (light theme)
Dialog
Dropdown menu on the popover surface (dark theme) Dropdown menu on the popover surface (light theme)
Dropdown menu
Open select (dark theme) Open select (light theme)
Select

Tier A twins (shadcn-parity.css)

Server-rendered pages get the same components from components/components.css plus the opt-in components/shadcn-parity.css. These are those classes, live.

default secondary outline accent running

Connectors
Schedule a report
Export deals
Notifications (soon)
BA EL FC Download report

Items