Brik Design System
Web Elements

Web Elements

HTML/CSS components, section blueprints, and email modules for non-React consumers.

Web Elements is the website-and-email surface of BDS. While Components ship React building blocks for product apps (portal, renew-pms), Web Elements ships HTML / CSS counterparts and composed sections that consumer Astro sites, Webflow projects, and email templates pull in.

Status: roadmap. This section currently scaffolds the structure; the catalog itself is being authored. The intent is documented here so consuming sites and email pipelines can plan against the contract.

Why a separate surface?

The same Foundation tokens and Theming layers drive both product and websites — but the primitives differ. A product <Button> is a React component with onClick. A website button is an <a class="bds-button"> with semantic href. An email button is a table-cell-based bulletproof button with inline styles. Same brand, same tokens, three render targets.

Splitting Web Elements out gives consumer sites a single place to find:

  • HTML/CSS primitives that mirror the React components when the semantics differ
  • Sections — composed, repeatable blocks like hero, testimonials, pricing, FAQ, contact, value-prop strips
  • Email Modules — table-based, dark-mode-safe, client-themable email building blocks

All three sub-surfaces share the BDS Foundation cascade and inherit per-client theming via theme-{client}.css and atmosphere overlays.

Sub-surfaces

How this composes with the rest of the system

┌──────────────────────────────────────────────────────────────────────────┐
│  Foundation        — shared across product, websites, emails             │
│  (tokens, naming, assets — single source of truth)                       │
├──────────────────────────────────────────────────────────────────────────┤
│  Theming           — drives website + email per-client divergence        │
│  Motion            — primarily websites; product uses Lightweight tier   │
│  Content System    — vocabularies feed both product copy + website copy  │
├──────────────────────────────────────────────────────────────────────────┤
│  Components (React)        Web Elements (HTML/CSS · Sections · Emails)   │
│  ↳ portal, renew-pms       ↳ client websites, email campaigns            │
└──────────────────────────────────────────────────────────────────────────┘

The Sections layer is the highest-leverage piece. A client onboarding flow declares industry pack + atmosphere + voice; Sections encode the composition patterns (hero archetype × atmosphere × content slots) that the AI mockup generator picks from. An email campaign for the same client reuses the same brand tokens, same atmosphere palette, same voice — re-rendered into table-based email modules.

Roadmap

SurfaceFirst batchStatus
Components (HTML/CSS)Button, Card, Field primitives, Tag, BadgeScoping
SectionsHero (4 variants), Testimonials (3 variants), Contact, Pricing, FAQ, CTA stripScoping
Email ModulesHeader, Hero, Article, Button, CTA card, FooterScoping

This page will track per-batch progress as authoring lands. The Sections layer in particular pairs tightly with Theming → Blueprints — Blueprints are the catalog of named compositions, Sections are the rendered HTML of those compositions for non-React contexts.

  • Theming — atmosphere overlays + archetypes that drive Web Elements rendering
  • Components — React product surface; counterparts to many Web Elements primitives
  • Motion — motion tier governs which Section variants are allowed
  • Content System / Industries — industry packs declare default Section affinities

On this page