Engram

Objective progress

component

One objective's progress — the polymorphic readout behind triumphs, quests, bounties, metrics, crafting levels, kill trackers, and deepsight bars.

Install

npx shadcn@latest add @engram/objective-progress

Registry item: /r/objective-progress.json — the machine-readable definition agents install from.

Example

Calus Automatons defeated143 / 200
Vanguard rank resets3 / 7
Season pass progress87%
Visit the Drifter
Trials wins
Enemies defeated3,910

Props

PropTypeDefaultDescription
classNamestring
colorstringFill color for the bar/pips. Defaults to the neutral bar color (in-progress) / gold (done). Pass `var(--engram-progress)` for the magenta seal progress.
formatValue(n: number) => stringFormat the numeric value/target (e.g. dates for countdown, thousands).
value*numberCurrent progress.
completionValuenumberTarget value for completion (omit for open-ended counters).
completebooleanExplicit completion; defaults to `value >= completionValue`.
styleObjectiveStyle"bar"How to render the value (maps from DestinyUnlockValueUIStyle).
labelstringShort objective description.

Composition

pulled in on install

Dependencies

npm
@engram/core

Own the code: shadcn add copies this component's source into your repo to read and edit directly. Extend without forking — edit the source, use asChild to swap the element, or pass the typed annotations prop for curated data.