Components

The living gallery of the SMART tag design system — every component below is token-driven, dark-theme native, rendered from code, and mirrored in Figma.

Foundations →

Brand mark

The SMART tag logo mark — the amber wave on a dark neutral disc. Token-driven and sized via the class prop. Explore alternate silhouettes in the Icon Lab →

size-6
size-8
size-10
size-12
size-16

Buttons

The core action. Primary uses the brand gradient for the main action; Secondary and Ghost step down emphasis; Secondary danger stays neutral until interaction; Text uses a subtle translucent surface and brightens on interaction; Danger is destructive; Link is inline. Three sizes (SM / MD / LG).

Icon buttons

Square, icon-only actions for toolbars and dense spots. Same variants as Button, in three sizes (32 / 40 / 48). Always give them a tooltip or aria-label.

Badges

One tone-driven primitive, three variants — soft (calm dot chip for lists), solid (glanceable status pill), outline (bordered chip; the Tag basis). Six tones each: neutral, brand, success, warning, danger, info.

softNeutral Brand Success Warning Danger Info
solidNeutral Brand Success Warning Danger Info
outlineNeutral Brand Success Warning Danger Info

Tags

Removable label chips — the outline Badge + a hover-revealed × that deletes the chip (visual only). Used for user-entered labels. Hover a chip to reveal its remove control.

Priority Door-to-door SPED New rider Read-only

Avatars

Represents a person, with an image → initials → icon fallback. Sizes XS–XL, circle or square, an optional status ring and a presence dot. Overlap several into a group with a +N overflow.

APAPAPAPAP
PhotoAPSDPhoto
APAPAPAPAP
APAPAPAP
ABC+5

Cards

A surface container on the dark elevation ladder. level sets the surface (surface / raised / overlay) and elevation the shadow (none / sm / md / lg). Padding comes from the content you put inside.

surface

elevation: none

surface

elevation: sm

surface

elevation: md

surface

elevation: lg

raised

elevation: none

raised

elevation: sm

raised

elevation: md

raised

elevation: lg

overlay

elevation: none

overlay

elevation: sm

overlay

elevation: md

overlay

elevation: lg

canvas

surface

raised

overlay

Form fields

Text Input, Textarea, and Select, wrapped by Field (label + helper / error text). Shared states: focus, disabled, invalid. Inputs come in SM / MD / LG.

Edit route

The vehicle assigned for this run.

Capacity must be a positive number.

States & sizes

Selection controls

Checkbox (any number), Radio (one of a set), and Switch (instant on / off). The whole padded row is the hit target; the control fills solid brand when on.

Checkbox

Radio

Switch

Tooltips

A short text label shown on hover or focus. Wrap an icon button and choose the side. Keep it to a label — for actions, use a Popover.

Hover an icon button for its tooltip

Popovers

A click-triggered floating panel for richer content — fields, filters, actions — on an opaque overlay surface with shadow.

Click "Filter routes" — it opens a panel with arbitrary content.

List rows

A composite row: [leading] · title / subtitle · [trailing], usually an Avatar and a Badge. States: hover, selected (brand left-accent + tint), and disabled.

LG

Luciano Goyette

Grade 12 · STG-E5AILX

Onboard
KB

Kenneth Bashirian

Grade 9 · STG-4TD2S3

Absent
TO

Tomas O'Keefe

Grade 4 · STG-IAQOJI

Absent
ER

Erick Ruecker

Grade 10 · STG-DKYZIJ

Onboard
SD

Sibyl Daniel

Grade 3 · STG-KCH53A

Onboard
MC

Misty Cormier

Grade 9 · STG-RUAKLG

Flagged

Map markers

The locked, token-driven marker components on a map-like backdrop — hover the route badges to see the morph. Rendered live in context on /map; mirrored in Figma "Map markers — locked".

Student dots
RouteBadge — hover to expand
Bus cluster
DrivingBus (live look-in)
Place pins — stop · depot · school · home · star · POI · hazard