/dev/ui-components

UI components

Theme (brand1–4, neutral) × mode (light, dark, color). Animation is off so everything is visible without scrolling. Not linked from the site nav.

Eyebrow

Pill label; optional link. Rows = mode, columns = theme. Same label in every cell to compare surfaces.

variant="solid"

mode \ theme brand1 brand2 brand3 brand4 neutral
light
dark
color

variant="outline"

mode \ theme brand1 brand2 brand3 brand4 neutral
light
dark
color

variant="ghost"

mode \ theme brand1 brand2 brand3 brand4 neutral
light
dark
color

Button

Link styled as a button (neo-interactive). Rows = mode, columns = theme.

variant="solid" · size="md"

variant="outline" · size="md"

variant="ghost" · size="md"

size (solid · brand1 · light)

Title (page hero)

Title with primary + secondary line and short description. variant="standard".

mode \ theme brand1 brand2 brand3 brand4 neutral
light

Primary title Secondary line

Short supporting description for the hero block.

Primary title Secondary line

Short supporting description for the hero block.

Primary title Secondary line

Short supporting description for the hero block.

Primary title Secondary line

Short supporting description for the hero block.

Primary title Secondary line

Short supporting description for the hero block.

dark

Primary title Secondary line

Short supporting description for the hero block.

Primary title Secondary line

Short supporting description for the hero block.

Primary title Secondary line

Short supporting description for the hero block.

Primary title Secondary line

Short supporting description for the hero block.

Primary title Secondary line

Short supporting description for the hero block.

color

Primary title Secondary line

Short supporting description for the hero block.

Primary title Secondary line

Short supporting description for the hero block.

Primary title Secondary line

Short supporting description for the hero block.

Primary title Secondary line

Short supporting description for the hero block.

Primary title Secondary line

Short supporting description for the hero block.

Headline (section)

Headline with primary, secondary, and accent. Two variants below; brand1 + light only to save space - switch theme in code or duplicate the table if needed.

variant="standard" · brand1 · light

Section headline Subtitle line

variant="subheading" · brand2 · dark (on dark surface)

Subheading style
Supporting text

Cards

ContentCard: default vs highlight, emoji + badge. ListCard: checklist + status dots. FeatureCard: neo shadow + decorative ring (brand1–3 styles in component).

ContentCard · vertical · default

Badge

Card title

Plain text description for a content card in default variant.

ContentCard · vertical · highlight

Highlight

Highlight card

Highlight variant bumps the surface tint.

ContentCard · horizontal · link

ListCard · mixed statuses

Timeline

Done step Day 1
Pending step Soon
No dot

FeatureCard · brand2 · dark

Headline accepts HTML for inline spans (e.g. accent color).

Eyebrow · line

Expert care right at your door.

Short body copy under the headline.

CTA

Background textures

SectionTexture fills a relative parent (absolute inset-0, pointer-events-none). Put texture first, then content in relative z-10. Each card uses a unique instanceKey so SVG pattern / filter ids stay unique on this page.

type="pattern" · dots · brand1 · light

Content sits above the texture.

pattern · hex · scale 1.2

Hex grid at larger cell size.

pattern · crosshatch · placement corner-tr

Texture clipped to top-right quadrant.

type="paper" · laid · tinted

SVG noise + displacement (GPU cost if overused).

paper · watercolor · neutral tint

Softer blotchy grain.

type="organic" · blob · background

Large organic fill behind copy.

organic · stroke · corner-br · md

Brushstroke anchored bottom-right.

type="topo" · contourStyle sparse

Procedural contours via facade.

TopoTexture direct · dense · dark surface

Same layer as type="topo", imported directly when you do not need the facade.

Decorations

HorizontalPathLine uses stroke-current - color follows the parent text color.

on white · text-brand1-600

on dark · text-brand2-300

on color · text-brand3-100