# Getting started Binary UIKit provides Svelte 5 components and theme tokens for product interfaces. Configure the private package source, install the library with its date peer dependency, and place `Provider` near the root of your app.

Purpose

Use the package when an application needs the Binary Dreams token system and its Svelte 5 components. The published library contains no locale state, so your application keeps control of translated labels and route language.

Install

Binary Dreams publishes Binary UIKit to a private OneDev registry. Add the scope mapping to the project `.npmrc`: ```ini @binarydreams:registry=https://git.binarydreams.io/BinaryDreams/~npm/ ``` Keep credentials out of the project. Add a OneDev access token that can read packages to your user-level `~/.npmrc`, replacing the placeholder with the token value: ```ini //git.binarydreams.io/BinaryDreams/~npm/:_authToken= ``` Install the library and its date peer dependency: ```sh npm install @binarydreams/uikit @internationalized/date ```

Add Provider

`Provider` installs the default variables and utility styles. Keep document mode for an app shell. Use scoped mode when the kit lives inside a widget or shadow root. ```svelte ```

Application structure

`Provider` establishes the theme boundary. Components sit below it and import from the package root. Overlays use the same boundary, including inside a scoped widget or shadow root.

First component

Start with one action and keep its label in your application translation layer. Pass component state through props or bindings. Use snippets for visible content and custom cells.

Configuration

A bare `Provider` installs Graphite Light with the Graphite accent, Compact density, and Ledger radii. The supported 2x2 model pairs Graphite and Blueprint styles with Light and Dark modes. Apply Graphite Dark, Blueprint Light, or Blueprint Dark with `BD_PRESET_GRAPHITE_DARK`, `BD_PRESET_BLUEPRINT`, or `BD_PRESET_BLUEPRINT_DARK`. Marketing Buttons use the pill shape as a contextual exception. Use `scoped={true}` only when the kit must stay inside an embedded boundary.

TypeScript and SvelteKit

Import public components and types from `@binarydreams/uikit`. The package supports Svelte 5 and exposes declarations for component props, snippets, callbacks, and bindable values.

Accessibility

Many interactive components use Bits UI, which provides strong keyboard, focus, and ARIA behavior by default. Applications remain responsible for task-specific labels, status messages, and contrast, including after theme overrides.

Tokens and style hooks

Use the exported token objects when application code needs token values. Component styles read `--bd-*` variables. Apply visual changes through `Provider` overrides instead of private component classes. Read [Colors](/docs/foundations/colors) before changing theme values. Open the [Button reference](/docs/components/button) for a compact component example. --- # Colors Binary UIKit names colors and surfaces by purpose. Components read semantic variables instead of fixed values or theme names.

Semantic roles

Canvas, surface, and sunken roles establish the base. Semantic layers assign colors to cards, controls, floating panels, chrome, selections, and prose.

Palette structure

Graphite Light is the base and default. Zinc surfaces, dark neutral text, monochrome technical colors, and a graphite accent define its character. Accent and status roles communicate selection, progress, warning, and failure. Filled status roles have explicit foreground variables, and controls use a separate thumb foreground.

Provider overrides

Pass a named preset or a partial `BDThemeOverrides` object to `Provider.overrides`. Graphite Light remains active when `overrides` is absent. The supported 2x2 model pairs Graphite and Blueprint styles with Light and Dark modes. Graphite Light uses the base tokens and needs no preset. The package exports `BD_PRESET_GRAPHITE_DARK`, `BD_PRESET_BLUEPRINT`, and `BD_PRESET_BLUEPRINT_DARK` for the other three combinations. Graphite Dark keeps compact ledger geometry on near-black layers. Blueprint Light uses pale drafting paper, blue heading ink, and Cobalt actions. Blueprint Dark keeps the Blueprint geometry on deep blue layers with a brighter Cobalt accent. The library has no global theme store, picker, or preset-name prop. An application can own a selection and pass the matching object to `Provider`.

Roles and states

Use accent for the primary action and current selection. Use success, warning, danger, and info for states with matching text or icons. Components use semantic layer, foreground, stroke, focus, and thumb variables. They never inspect `theme.name` or branch by theme ID.

Contrast

Check text, controls, focus rings, status foregrounds, and thumbs on every changed surface. Do not rely on color as the only status cue.

Tokens

Use `BD_THEME`, `BD_ACCENT`, and `bdBuildCssVars` when code needs the same values as CSS. Important families include `--bd-layer-*`, `--bd-accent*`, `--bd-{success,warning,danger,info}*`, `--bd-stroke*`, `--bd-focus-ring*`, and `--bd-thumb`. Start with [Provider](/docs/components/provider) for scope behavior and [Badge](/docs/components/badge) for semantic tones. --- # Brand Binary Dreams is a studio that builds mobile apps with care. The identity reads calm and confident: quiet surfaces frame a fixed bright blue brand accent.

Positioning

The brand describes a mobile-first product studio, established in 2026. Keep the tone declarative and the surfaces quiet, so the official blue stays clear.

Wordmark

The wordmark sets `Binary Dreams` in the display face across two lines, tightly tracked, with an accent period after the first word. The supporting line stays in the sans face at muted text weight.

Mark

The mark pairs a rounded rectangle carrying two cut-out windows with a blue capsule and a single counter-form dot. Draw the rectangle in text ink and the windows in canvas. The capsule uses `--bd-brand-accent`, and its dot uses `--bd-brand-accent-fg`. These roles stay fixed across themes and application overrides.

On dark

On ink surfaces the wordmark shortens to `bd.`, set in the display face on a text-ink background with canvas-colored letters. The period keeps the fixed brand accent in both forms.

Contrast

Place the wordmark on canvas, surface, or ink only. Check the blue period and capsule against Graphite and Blueprint surfaces in both modes. Never rely on color alone to carry meaning.

Tokens

Official brand accents read `--bd-brand-accent` and `--bd-brand-accent-fg`. These variables do not change with themes or `Provider` overrides. Supporting surfaces read `--bd-text`, `--bd-canvas`, and `--bd-surface`. Typography reads `--bd-font-display` and `--bd-font-sans`. The hero card uses `--bd-hero-wash` for its background image. See [Colors](/docs/foundations/colors) for application color roles, [Provider](/docs/components/provider) for scoped supporting surfaces, and [LogoStrip](/docs/components/logo-strip) for placing wordmarks in a row. --- # Typography Graphite Light uses Apple system fonts with Inter and system fallbacks. Presets can change font roles and type metrics without changing component code.

Type roles

Six heading roles carry structure. Two body roles carry interface and general body text. Caption, eyebrow, and mono carry supporting or technical labels. Heading roles have desktop, tablet, and phone recipes at the 1024 and 640 px boundaries. Fixed roles keep one recipe across viewports.

Families

The system has five font roles. `--bd-font-sans` serves UI labels and small headings. `--bd-font-display` serves display headings. `--bd-font-text` serves body and body-md. `--bd-font-prose` serves authored prose. `--bd-font-mono` serves technical values. `--bd-font-prose` falls back to `--bd-font-text`. The four public themes keep the same sans and mono font stacks. Blueprint presets change type metrics and geometry without changing those families.

Applying a role

The utility stylesheet exposes `.bd-h1` through `.bd-h6`, `.bd-body-md`, `.bd-body`, `.bd-caption`, `.bd-eyebrow`, and `.bd-mono`. Apply the class that matches the role. Choose the heading element from the document outline, not from its visual size. For authored content, `.bd-prose` maps H2 and H3 to responsive H4 and H5 metrics. Paragraphs, list items, and blockquotes use Body metrics with `--bd-font-prose`. Table cells use Caption, table headers use Eyebrow, and code uses Mono. The utility does not set margins or colors.

Scale

Graphite Light and Graphite Dark use 72, 52, 38, 28, 22, and 18 px desktop heading sizes. Blueprint Light and Blueprint Dark use 88, 64, 44, 32, 24, and 20 px through the same semantic roles. At widths below 1024 and 640 px, each heading changes to its tablet and phone recipe. Each role also owns weight, tracking, and line height.

Reading comfort

Keep the heading level tied to structure, not to size. Reserve uppercase for short eyebrows and badges. Keep authored prose within the `--bd-measure-prose` reading measure.

Tokens

`BD_TOKENS.font` holds four default stacks. `bdBuildCssVars()` adds the fifth `prose` role with a fallback to `text`. `BD_TOKENS.type` owns Graphite Light's default metrics. `BDThemeOverrides.font` can replace any font role. `BDThemeOverrides.type` can replace family assignments and metrics. Components read generated `--bd-font-*` and `--bd-type-*` variables. See [Eyebrow](/docs/components/eyebrow) for the uppercase label, [Section](/docs/components/section) for heading and description framing, and [CodeBlock](/docs/components/code-block) for monospace output. --- # Spacing Every gap, pad, and offset lands on a multiple of 4. The scale reaches from tight form fields to generous hero blocks, and components read it as `--bd-s-*` variables instead of fixed pixel values.

A 4-base rhythm

Spacing encodes relationship. Blocks that belong together sit closer, independent blocks sit farther apart. A single 4px base keeps that signal legible: two gaps either match or differ by a step a reader can perceive.

Scale structure

Twelve steps run 4, 8, 12, 16, 20, 24, 32, 40, 56, 72, 96, and 128 px, exposed as `--bd-s-1` through `--bd-s-12`. Small steps handle control internals, mid steps handle grouping, large steps frame sections and hero blocks.

Applying the scale

Space a group of blocks with the parent container's `gap`, not with the children's own margins. Use semantic HTML and local flex or grid CSS with `--bd-s-*` tokens. One container owns each rhythm.

Proximity ramp

Pick the gap between two blocks by how related they are. Tight (`--bd-s-1`) joins an element to its own satellite, such as a label and its control. Grouped (`--bd-s-3`) separates peers in one group. Related (`--bd-s-4`) separates headingless peer blocks. Distinct (`--bd-s-6`) separates sub-blocks within one surface. Zone (`--bd-s-8`) separates independent top-level sections and is the whitespace ceiling — when a firmer break is needed, add a boundary such as a `Divider` or a `Card` rather than more space.

Density and targets

Keep controls far enough apart that a pointer or a focus ring cannot land ambiguously between them. Grouped is the practical floor between adjacent interactive rows; Tight is reserved for an element and its own satellite. Density changes the scale a component consumes, so verify hit areas after switching density.

Tokens

`BD_TOKENS.space` holds the numeric scale, and `bdBuildCssVars` emits it as `--bd-s-1` through `--bd-s-12`. Reference the variables in component styles; read the numbers only when code needs the same values as CSS. Compose rhythm with semantic HTML and `--bd-s-*` tokens. Use [Section](/docs/components/section), [Divider](/docs/components/divider), or [Card](/docs/components/card) when a stable public frame is needed. --- # Radius Softness on demand. Corner rounding comes from one scale and a small set of role radii, so a button, a card, and an input stay recognizable across every screen.

Corner scale

The scale runs from `none` through `3xl` to `full`. Small steps keep dense controls crisp, large steps soften panels and cards, and `full` produces a pill.

Role radii

Components do not read the raw scale. Product Buttons read `--bd-r-btn`. Single-line fields read `--bd-r-input`. Marketing Buttons default to `--bd-r-pill`. An explicit `shape` prop can override that default. Chips read `--bd-r-pill`. Badges read `--bd-r-full`. Cards read `--bd-r-card`, and floating panels read `--bd-r-panel`. Graphite Light and Graphite Dark use the Ledger profile: 5 px buttons and inputs, 8 px cards, 6 px panels, and 4 px items. Blueprint Light and Blueprint Dark use the roomier Rounded profile.

Choosing a value

Pick the role radius that matches what the element is, not the value that looks right in isolation. Nested surfaces read best when the inner radius is smaller than the outer one. Do not hardcode a pixel value in a component.

Tokens

`BD_TOKENS.radius` holds the scale and `BD_RADIUS` holds the role profile. Pass `radius` overrides to `Provider` or to `bdBuildCssVars` when a product needs squarer or rounder corners; components keep reading the resulting `--bd-r-*` variables. See [Button](/docs/components/button) for product and marketing Button radii, [Card](/docs/components/card) for panel corners, and [Input](/docs/components/input) for field corners. --- # Elevation Elevation follows the active style. Graphite uses layers and borders without outer shadows. Blueprint adds cool shadows for raised surfaces.

Purpose

Elevation separates a surface from the one behind it. Use it when a panel floats above the page — menus, popovers, modals, toasts, and cards that lift on hover. A surface that sits flat in the layout needs a border, not a shadow.

Layer structure

Blueprint levels use a soft cast and a tighter contact. As elevation rises, the cast grows and the contact attenuates. Graphite Light and Graphite Dark flatten the five outer levels to `none`. Their inset levels retain a quiet inner boundary for wells such as inputs and checkboxes.

Applying a level

Read the level through its variable — `box-shadow: var(--bd-shadow-md)` — rather than writing a shadow value. `Provider` publishes the whole set, so a theme override changes every elevated surface at once.

Levels

In Blueprint, `xs` and `sm` mark low surfaces, `md` carries floating panels, and `lg` and `xl` carry large overlays. Graphite uses layer color and borders for the same boundaries. `glow` is an accent effect, not a depth level.

Boundaries

Shadows are quiet by design and can disappear under high-contrast or forced-color settings. Keep a border or a background change on any surface whose boundary carries meaning, so the edge survives without the shadow.

Tokens

`--bd-shadow-xs`, `--bd-shadow-sm`, `--bd-shadow-md`, `--bd-shadow-lg`, `--bd-shadow-xl`, `--bd-shadow-inset`, `--bd-shadow-inset-sm`, and `--bd-shadow-glow`. The same values are available in code as `BD_THEME.shadows` and through `bdBuildCssVars`. See [Card](/docs/components/card) for the elevation prop, [Modal](/docs/components/modal) for the highest level, and [Popover](/docs/components/popover) for floating panels. --- # Gradients Binary UIKit ships five text gradients for display type. They are applied with utility classes, never with a color value written into a component. `Provider` injects the utility stylesheet that defines the gradient classes, so no extra CSS file is needed.

Where gradients belong

Gradients carry hero titles and single-word emphasis. Keep them out of body copy, buttons, inputs, and any text that has to stay legible at small sizes. Contrast comes first.

Two classes, one effect

A gradient needs the base class `.bd-grad-text` plus one ramp class. The base class clips the background to the glyphs; the ramp class supplies the image from a `--bd-grad-text-*` variable. ```html

Binary Dreams

```

Use sparingly

One gradient per screen is usually enough. Apply it to a single heading or one word inside a heading, and let the rest of the type stay solid. Repeating the effect flattens its meaning.

The five ramps

The class names stay stable across themes. Graphite Light supplies monochrome default ramps. Graphite Dark reverses them for dark surfaces. Blueprint Light and Blueprint Dark replace them with blue technical ramps and warm `ember` and `dawn` counterparts.

Legibility

Clipped text drops the solid `color` value, so a gradient must stay large and heavy enough to read on its own. Check every ramp against the surface behind it, and keep a solid fallback for text that carries meaning at body size.

Tokens

The default ramps live in `BD_THEME.gradients` and reach CSS as `--bd-grad-text-blueprint`, `--bd-grad-text-blueprint-deep`, `--bd-grad-text-ember`, `--bd-grad-text-dawn`, and `--bd-grad-text-ink`. A `Provider` override replaces the values without changing the class names. See [Provider](/docs/components/provider) for the utility stylesheet and overrides, and [Section](/docs/components/section) for the headings a gradient usually lands on. --- # Grid backgrounds Graphite and Blueprint provide different pattern recipes. The same grid utilities use the active theme's pattern without checking a theme ID.

Where patterns apply

Use a pattern when a surface needs quiet structure: a documentation hero, console frame, settings shell, or reading sheet. Actions still use the active accent.

Pattern recipes

Graphite Light and Graphite Dark use interrupted execution traces on a 28 px rhythm. Blueprint Light and Blueprint Dark build quiet 1 px minor and major rules on a 24 px cell.

Grid surfaces

`Provider` injects the pattern utility classes with the rest of the kit stylesheet. The base utilities paint `--bd-pattern` over `--bd-canvas`. Add `.bd-bg-grid-fade` to taper the active pattern without fading the content.

Utility classes

`.bd-bg-grid` and `.bd-bg-grid-blueprint` render the active theme pattern. `.bd-bg-grid-dots` and `.bd-bg-grid-crosshair` use generated geometry from the current theme colors. `.bd-bg-hero-blueprint` combines the active pattern with the theme's hero wash.

Legibility

Patterns stay quiet on purpose. `.bd-bg-grid-fade` places the selected pattern on a masked pseudo-layer, while foreground content stays opaque. Use a semantic layer when the content needs stronger separation.

Tokens

`BDThemeOverrides.grid` controls pattern geometry, image, size, and position. The theme's technical color family supplies generated line, dot, and crosshair colors. `bdBuildCssVars()` emits the `--bd-pattern*`, `--bd-grid*`, and `--bd-hero-pattern*` families. See [Provider](/docs/components/provider) for how the utility stylesheet is injected, [Section](/docs/components/section) for the frame a grid usually sits behind, and [Card](/docs/components/card) for the opaque surface that carries text above one. --- # Motion Binary UIKit animates with curves rather than linear timing. Transitions are fast enough to feel responsive and curved enough to feel alive.

Duration and easing

Motion is expressed as one value that carries duration and easing. Components use stable semantic steps, while each preset can tune the resulting pace.

The four steps

`fast` covers hover, focus, and small states. `base` is the common control step. `slow` covers large surfaces and overlays. `spring` is the emphasis recipe. Graphite Light and Graphite Dark use 90, 140, 220, and 260 ms without spring overshoot. Blueprint Light and Blueprint Dark use 120, 200, 320, and 520 ms.

Choosing a step

Default to `base`. Use `fast` for small changes that repeat often. Use `slow` when a large surface enters or leaves. Reserve `spring` for emphasis.

Reduced motion

Honor `prefers-reduced-motion` in product code: shorten or remove movement and keep the state change itself visible. Never make an animation the only signal that something happened.

Tokens

`--bd-motion-fast`, `--bd-motion-base`, `--bd-motion-slow`, and `--bd-motion-spring` come from the merged motion axis through `Provider`. `BD_TOKENS.motion` supplies Graphite Light defaults, and `BDThemeOverrides.motion` can replace individual steps. See [Modal](/docs/components/modal) and [Sheet](/docs/components/sheet) for overlay timing, and [Accordion](/docs/components/accordion) for a state change on the base step. --- # Provider Installs theme variables, utility CSS, scope boundaries, and overlay portal context. Place Provider around an application or an isolated subtree that needs Binary UIKit theme variables and overlay boundaries. Scoped utilities do not style matching classes outside `.bd-scope`; a host/global Provider can still style them separately. ## API The package declarations define these public members. | Member | Type | Kind | Required | Default | Description | | --- | --- | --- | --- | --- | --- | | `children` | `Snippet` | snippet | No | `undefined` | No additional description. | | `overrides` | `BDThemeOverrides` | prop | No | `undefined` | No additional description. | | `scoped` | `boolean` | prop | No | `false` | If true, scopes CSS vars and utilities to this element / shadow root, leaving matching utility classes outside `.bd-scope` untouched. Default false (document mode). | ## Related - [Accordion](/docs/components/accordion): Single or multiple disclosure panels. - [Collapsible](/docs/components/collapsible): Single disclosure region with panel and plain presentations and measured-height animation. - [Section](/docs/components/section): Top-level showcase or document section frame. --- # Eyebrow Tracked label used above headings. Use Eyebrow as a short category label above a heading, not as a replacement for the heading. ## API The package declarations define these public members. ### Inherited prop contracts - `Omit, 'children'>` — Props from this native base are accepted except the listed members. | Member | Type | Kind | Required | Default | Description | | --- | --- | --- | --- | --- | --- | | `children` | `Snippet` | snippet | No | `undefined` | No additional description. | | `color` | `string` | prop | No | `undefined` | Raw CSS color value (e.g. a var(--bd-*) token or color-mix() expression). Defaults to the accent. | ## Related - [Avatar](/docs/components/avatar): Identity image or fallback with an optional status marker. - [CodeBlock](/docs/components/code-block): Read-only code surface with copy support. - [Stat](/docs/components/stat): Metric value and caption for KPI compositions. --- # Link Styled native link for body and navigation text. Choose Link for inline or navigational text that leads to another destination. ## API The package declarations define these public members. ### Inherited prop contracts - `Omit` — Props from this native base are accepted except the listed members. | Member | Type | Kind | Required | Default | Description | | --- | --- | --- | --- | --- | --- | | `children` | `Snippet` | snippet | No | `undefined` | No additional description. | | `variant` | `'accent' \| 'muted'` | prop | No | `'accent'` | No additional description. | ## Related - [Segmented](/docs/components/segmented): Single-select segmented control. - [Tabs](/docs/components/tabs): Panelled tabs with underline and pill presentations. - [Breadcrumb](/docs/components/breadcrumb): Breadcrumb trail with optional overflow menu. --- # Label Visible form label with required-state treatment. Pair Label with a form control when the field needs a persistent visible name. ## API The package declarations define these public members. | Member | Type | Kind | Required | Default | Description | | --- | --- | --- | --- | --- | --- | | `children` | `Snippet` | snippet | Yes | - | No additional description. | | `for` | `string` | prop | No | `undefined` | Id of the control this labels. | | `required` | `boolean` | prop | No | `false` | Renders the required marker. | | `size` | `ControlSize` | prop | No | `'md'` | No additional description. | ## Related - [Input](/docs/components/input): Single-line field with internal or external labeling, hint, error, icons, and password reveal. - [Switch](/docs/components/switch): Bindable binary switch with visible or aria-only labeling. - [Checkbox](/docs/components/checkbox): Bindable tri-state checkbox with a visible or ARIA-only accessible name. --- # Badge Compact semantic or categorical label. Use Badge for compact status or category metadata that does not trigger an action. Each tone pairs a soft tint with its semantic foreground. ## API The package declarations define these public members. | Member | Type | Kind | Required | Default | Description | | --- | --- | --- | --- | --- | --- | | `children` | `Snippet` | snippet | No | `undefined` | No additional description. | | `tone` | `BadgeTone` | prop | No | `'neutral'` | No additional description. | ## Related - [StatusDot](/docs/components/status-dot): Semantic status dot with an optional label and pulse. - [EmptyState](/docs/components/empty-state): Empty-state message with optional art and action. - [Spinner](/docs/components/spinner): Indeterminate loading indicator. --- # Avatar Identity image or fallback with an optional status marker. Use Avatar to identify a person or account where a compact image or initials aid recognition. ## API The package declarations define these public members. | Member | Type | Kind | Required | Default | Description | | --- | --- | --- | --- | --- | --- | | `alt` | `string` | prop | No | `undefined` | Accessible alt text for the image. | | `icon` | `IconGlyph` | prop | No | `undefined` | Fallback glyph when there is no image and no initials. | | `initials` | `string` | prop | No | `undefined` | Initials shown when no `src` resolves. Optional once `icon` is a fallback. | | `size` | `number \| ControlSize` | prop | No | `40` | Outer diameter — a number (px) or a token: sm 32 / md 40 / lg 56. | | `src` | `string` | prop | No | `undefined` | Image URL. Renders an , falling back to initials / icon on error. | | `status` | `AvatarStatus` | prop | No | `undefined` | No additional description. | | `statusLabel` | `string` | prop | No | `undefined` | Accessible presence text. Auto-derived as 'Online' / 'Offline' for `status` 'online' / 'offline'; required (and used verbatim) for the other five `status` values — the aria text is omitted when neither applies. | | `variant` | `AvatarVariant` | prop | No | `'accent'` | No additional description. | ## Related - [Eyebrow](/docs/components/eyebrow): Tracked label used above headings. - [CodeBlock](/docs/components/code-block): Read-only code surface with copy support. - [Stat](/docs/components/stat): Metric value and caption for KPI compositions. --- # CodeBlock Read-only code surface with copy support. Choose CodeBlock for read-only code that readers may need to copy. ## API The package declarations define these public members. | Member | Type | Kind | Required | Default | Description | | --- | --- | --- | --- | --- | --- | | `code` | `string` | prop | Yes | - | Raw source. Exactly what the copy button puts on the clipboard. | | `copyLabel` | `string` | prop | No | `'Copy code'` | Accessible label for the copy control. | | `copyable` | `boolean` | prop | No | `true` | Render the copy control in the header. | | `filename` | `string` | prop | No | `undefined` | Header label. | | `highlight` | `(code: string, language: string) => string` | callback | No | `undefined` | Opt-in highlighter. The kit bundles none. Whatever this returns is injected with `{@html}` — **the caller owns sanitisation**. | | `label` | `string` | prop | No | `undefined` | Accessible label for the code region. | | `language` | `CodeLang \| (string & {})` | prop | No | `'text'` | Header label, and the hint passed to `highlight`. | | `maxHeight` | `number` | prop | No | `undefined` | Maximum body height in px; taller content scrolls. | | `showLineNumbers` | `boolean` | prop | No | `false` | Render a line-number gutter. | | `wrap` | `boolean` | prop | No | `false` | Soft-wrap long lines instead of scrolling horizontally. | ## Related - [Eyebrow](/docs/components/eyebrow): Tracked label used above headings. - [Avatar](/docs/components/avatar): Identity image or fallback with an optional status marker. - [Stat](/docs/components/stat): Metric value and caption for KPI compositions. --- # Stat Metric value and caption for KPI compositions. Use Stat to foreground one metric and its caption inside a dashboard or summary. ## API The package declarations define these public members. | Member | Type | Kind | Required | Default | Description | | --- | --- | --- | --- | --- | --- | | `label` | `string` | prop | No | `undefined` | Caption below the value. | | `leading` | `Snippet` | snippet | No | `undefined` | Optional content slot rendered above the value (e.g. badge, icon). | | `size` | `StatSize` | prop | No | `'md'` | Display size — `sm` 32 / `md` 40 / `lg` 56 px. Default `md`. | | `value` | `string \| number` | prop | Yes | - | The numeric or short value displayed prominently. | ## Related - [Eyebrow](/docs/components/eyebrow): Tracked label used above headings. - [Avatar](/docs/components/avatar): Identity image or fallback with an optional status marker. - [CodeBlock](/docs/components/code-block): Read-only code surface with copy support. --- # StatusDot Semantic status dot with an optional label and pulse. Add StatusDot when a compact semantic indicator needs an optional text label. ## API The package declarations define these public members. | Member | Type | Kind | Required | Default | Description | | --- | --- | --- | --- | --- | --- | | `children` | `Snippet` | snippet | No | `undefined` | No additional description. | | `pulse` | `boolean` | prop | No | `false` | Pulse the dot for "live" / in-progress states. | | `tone` | `StatusDotTone` | prop | No | `'neutral'` | Drives the dot color. | ## Related - [Badge](/docs/components/badge): Compact semantic or categorical label. - [EmptyState](/docs/components/empty-state): Empty-state message with optional art and action. - [Spinner](/docs/components/spinner): Indeterminate loading indicator. --- # LogoStrip Row of text-based brand marks. Use LogoStrip for a compact row of partner or customer wordmarks. ## API The package declarations define these public members. | Member | Type | Kind | Required | Default | Description | | --- | --- | --- | --- | --- | --- | | `label` | `string` | prop | No | `undefined` | Accessible label for the surrounding `