Components
66 components across 13 domains — atoms and the composed widgets that build on them. Each ships as a shadcn registry item you install and own. Press ⌘K to jump to any of them.
Primitives
7Bungie image
atomRenders a Bungie image, resolving an ImageRef to a URL via @engram/core's configurable image base.
Button
atomA Destiny FUI button: flat, square, tracked-uppercase, with an offset outline ring that fades in on hover and a rhythmic fill pulse.
Chip
atomA small tracked-uppercase label/badge — the general badge/pill primitive. `tone` (or a `color` override) carries the meaning; `variant` picks the treatment: tinted (soft), bordered (outline), or filled (solid).
Countdown
atomA live countdown to a timestamp (vendor/weekly/event resets).
Key hint
atomA keybind hint — the bordered key chip Destiny shows in nav bars and footers (`[A] Clan`, `[Esc] Dismiss`).
Progress ring
atomA radial completion ring — the round counterpart to a progress bar, for node completion, character level, and compact stat readouts.
Segmented bar
atomA segmented progress/stat bar in the Destiny FUI style.
Layout
4Band
atomA section band: a flat raised bar with a left accent edge, an uppercase tracked title, and an optional right-aligned count — Destiny's in-game content-section divider.
Paged grid
componentA paginated grid (the in-game Triumphs / Collections / vault pager): the page of cells flanked by full-height previous/next arrow bars, with page-indicator segments below and a fade+slide in the travel direction on change.
Panel
atomA Destiny FUI surface: a semi-transparent panel over the canvas, defined by its fill (no outline).
Title bar
atomThe FUI title bar: a leading flag glyph, an uppercase tracked title, and an optional right-aligned count, on a subtle left-lit gradient with a fading underline — Destiny's in-game panel header.
Items
11Cost chip
atomA currency/cost token: an amount + its currency icon. Used for vendor costs, build/material requirements, and rewards.
Item grid
componentThe fundamental inventory/collection container: a CSS grid that lays out item tiles (passed as `children`).
Item hover card
componentReveals an inspect popup for the trigger (e.g. an ItemTile / gear slot) — the in-game "hover gear to inspect" flyout.
Item image
componentThe layered Destiny item square: rarity-colored base, the item art, the season/tier watermark assembly (TierWatermark), the intrinsic glyph, then state chrome (masterwork frame + glow, crafted marker).
Item popup
componentThe item inspect flyout — a dark glass panel modeled on the in-game tooltip: a rarity header band, a damage-type + power/ammo readout, flavor, an optional kill tracker, the stat block, the intrinsic frame row, a perk band (`children`, e.g. a `SocketGrid`), and an action `footer` (e.g. Apply).
Item popup header
componentThe rarity-gradient header band: name on top, type + rarity on the lower line, and a top-right tier strip (TierWatermark) with the season glyph flush in the corner — the same assembly the item tile composites.
Item stats
componentThe Destiny stat block: an aligned grid of right-labeled stat rows.
Item tile
componentA full item tile: the layered ItemImage with a bottom element+power foot, and the signature Destiny white outline on hover.
Power badge
componentThe power/light readout: the angular power glyph + the value in gold, with an optional `cap`.
Rarity gem
atomA small diamond gem in the rarity's token color.
Tier watermark
componentThe season/tier corner assembly shared by the item tile and the inspect popup header: a soft scrim, the season crest, and a colored diamond per gear tier — the diamonds and gradient are drawn in CSS (no baked-in Bungie asset margins), so the whole stack aligns precisely.
Sockets & perks
6Perk popup
componentThe weapon-perk inspect flyout — the in-game trait tooltip, the weapon counterpart to ModPopup.
Plug
componentA single socket plug — a perk circle or a mod square. A selected perk gets the in-game azure fill (blue→gold when enhanced, with the gold ▲ badge); a selected mod keeps the bright ring.
Plug badge
componentDefault rendering of a PlugAnnotation as a small plug overlay: a tier chip, a custom icon, or a gold recommended marker.
Plug picker
componentA grid of selectable plugs — the picker body for swapping a mod, perk, aspect, or fragment.
Socket
componentOne socket: a perk column (stacked circles) or a mod socket (squares).
Socket grid
componentThe socket layout: perk sockets as side-by-side columns of circles, then mod sockets as a row of squares — the Destiny weapon perk/mod grid.
Loadout
10Ability slot
componentA single subclass/loadout socket — an ability, aspect, fragment, super, or class ability.
Artifact perk
componentA seasonal-artifact perk tile — one square cell of the in-game artifact grid: teal-filled when the perk is active, teal-outlined when it's unlocked but unpicked, and dimmed while its tier is still locked.
Energy meter
componentThe armor energy capacity readout: a row of pips where `used` are filled, the rest of `total` are empty sockets, and any headroom up to `max` shows as faint upgrade ghosts.
Loadout card
componentA compact build summary: the subclass diamond + name, the equipped item tiles, an optional mod row, the stat tiers, and an action footer.
Mod popup
componentThe armor-mod inspect flyout — the in-game mod tooltip, the mod counterpart to PlugPopup.
Mod slot
componentOne armor mod socket: a square plug with its energy-cost pip in the corner, or an empty "+" placeholder.
Mod tray
componentA row of ModSlots with an energy-budget meter — the armor mod loadout for one piece. `used` defaults to the summed energy costs; the meter turns over-budget red when the slots exceed `capacity`.
Plug popup
componentThe subclass-plug inspect flyout — the in-game tooltip for abilities, aspects, fragments, supers, and subclasses, the counterpart to ItemPopup for non-gear plugs.
Slot row
componentA fixed-count row of AbilitySlots — the aspect or fragment block of a subclass, where the subclass fixes how many slots exist and some may be empty.
Subclass diamond
componentThe signature subclass node: a 45°-rotated diamond frame tinted by its damage type, with the subclass icon upright inside and an optional super overlay.
Identity & nameplates
4Character tile
componentThe character column header — a Nameplate whose headline defaults to the Guardian's class.
Emblem banner
componentThe wide emblem banner (DIM model): the emblem's secondary banner art fills the tile (which Nameplate caps to the banner's aspect ratio) under a left→ right dark gradient so overlaid text stays legible. `children` render over the banner.
Nameplate
componentA character/player nameplate (DIM model): the emblem banner sized to its own aspect ratio, with the name + subtitle over the dark band and a small gold power readout tucked into the top-right corner.
Player card
componentAn identity card. The default is a compact tile (square emblem + name + class + rank + stats) for search results and fireteam lists.
Stats
7Character stats
componentThe in-game character stat panel: one row per stat — just the stat glyph and a large value, no bars or labels (Destiny shows the six as icon + number).
Stat bar
atomA labeled stat row: name, segmented bar, and value (Destiny stat block).
Stat card
componentA KPI tile: a small label, a big headline value, and an optional period delta (green up / red down).
Stat card grid
componentA responsive grid of StatCards with an optional `tabs` slot above for a time-span switch (Daily / Weekly / All-time).
Stat popup
componentThe character-stat inspect tooltip — the in-game flyout for the six stats (Weapons/Health/Class/Grenade/Super/Melee): a black header band (stat glyph, large name, "Character Stat" caption), the stat's description, labeled effect readouts ("Health Per Orb" / "+62.3"), the gold "Enhanced Benefit" section that unlocks above 100, and a value/max progress footer with a threshold tick at 100.
Stat priority list
componentA drag-to-reorder priority list — the stat-priority picker for a build optimizer (drag Resilience above Recovery).
Stat range slider
componentA dual-thumb min/max range slider with optional tier ticks — the stat filter for a build optimizer ("Resilience ≥ 60", "Mobility 30–70").
Inventory
2Bucket column
componentA single inventory bucket: a collapsible labeled header with a capacity counter, an optional equipped slot, and the stored items in an ItemGrid.
Currency bar
componentA row of account currencies/materials — the header strip showing Glimmer, Bright Dust, mats, etc. A thin wrapper that lays CostChips in a wrapping row; the consumer supplies the values from the profile's currency components.
Triumphs
2Objective progress
componentOne objective's progress — the polymorphic readout behind triumphs, quests, bounties, metrics, crafting levels, kill trackers, and deepsight bars.
Record card
componentA triumph / record card (the in-game Triumphs & Seals grid): a circular record icon + title, a divider, an objective description, a right-aligned reward or completion check, and a thin progress edge — continuous or `steps` segments.
Quests
1Tables
2Crucible
2Interaction
8Collapsible section
componentA titled disclosure: a tracked-uppercase header (with an optional count) that toggles its content.
Dnd
componentA generic drag source: makes its `children` draggable and exposes an opaque `data` payload to drop targets.
Filter bar
componentA wrapping row of FilterPills — the active-filters strip above an inventory/collection grid.
Search input
componentThe search/filter query input shell — a leading magnifier, a clear button, and a `suggestions` dropdown slot revealed on focus.
Select
componentA styled native select — a square FUI control with a chevron.
Sheet
componentA drawer/modal that slides from an edge — the mobile inspect backbone (bottom sheet) and side drawer.
Tab bar
atomHorizontal tab strip with a bottom hairline (Destiny FUI director nav).
Tooltip
componentThe generic hover/focus tooltip — a small bubble of content anchored to a trigger.
For agents
llms.txt · MCPEvery component is published to a shadcn registry, so coding agents can discover and install them by name. Point an agent at /llms.txt for the catalog (/llms-full.txt adds every component's props), or wire up the shadcn MCP server and ask it to add @engram/<name>. See Get started for the registry config.