Skip to main content

Design System Components

This page is the contract for how every Activatus component works. It lists each standard component with its variants and key props.

We do not share component code between projects yet, so this page is what keeps them the same. Every project builds its components to the props listed here. See Future-proofing for why.

How to use this page​

  • Before building a component, look it up here. If it is listed, build it with these variants and props — the same names, the same meaning. Do not invent your own.
  • Do not rename, remove or repurpose a listed prop. Projects differ in how a component looks, never in how it works.
  • Building a component that is not listed? If it takes everything through props and imports nothing from the project, keep it in the project's components/ui/ and record it, with its props, in the project's docs/development/coding-standards.md, under "Components for the standards". Tell the person: it is added to this page in the next release, so the next project builds it the same way. Working in the standards repo itself? Add it here in the same piece of work.
  • A project needs something a listed component does not do? Add the prop or variant here first, then build it. The reference changes before the code does.
  • How to write each component — its folder, files, the order inside the file, tests and stories — is in Component Organization. This page says what each component takes; that page says how every component is written.

This applies to everyone building components, including AI agents.

#ComponentVariantsKey props
1NavigationBardefault, largelogo (asset)
navigationItems (link[])
callToAction (Button)
sticky (boolean)
transparent (boolean)
2Expanded Menu—columns (linkGroup[])
featured (blok[])
trigger (text)
3Hamburger Menu—icon
menuItems (link[])
icon (asset)
position (left/right)
4Search Barinline, overlayplaceholder
scope (text)
showSuggestions (boolean)
5Promo Bar—text (richtext)
link
dismissible (boolean)
startDate
endDate
6Breadcrumbs—items (link[])
separator (text)
showHome (boolean)
7Sidebar—items (link[])
position (left/right)
collapsible (boolean)
width
8Paginationnumbered, load-more, infinitetotalPages (number)
current (number)
showPrevNext (boolean)
9Footerslim, default, largelogo
columns (linkGroup[])
socialLinks (link[])
legalLinks (link[])
copyright (text)
62Brand Logo—className (Tailwind classes, usually a size such as size-8)
Each project inlines its own logo SVG, coloured from the palette and hidden from screen readers: the link around it names it
65Dropdown Menu—Radix UI's Dropdown Menu props, unchanged (shadcn/ui)
parts: Dropdown Menu Trigger, Dropdown Menu Content, Dropdown Menu Item

Auth / Account​

#ComponentVariantsKey props
10Login Form—heading
forgotLink
signupLink
submitLabel
11Sign-up Form—heading
fields (Input[])
termsText (richtext)
loginLink
submitLabel
12Password Reset—heading
helpText
submitLabel
13Account Menu—avatar (asset)
userName
menuItems (link[])
logoutLabel

Hero / Headers​

#ComponentVariantsKey props
14Hero BannerImage, Videoheading
subheading
body (richtext)
media (asset/video)
buttons (Button[])
alignment
overlay (boolean)
15Banner—eyebrow
heading
subheading (richtext)
alignment
64Scroll Cue—label (text)

Layout primitives​

#ComponentVariantsKey props
17Duplex—left (blok[])
right (blok[])
ratio (50/50, 60/40)
verticalAlign
reverseOnMobile (boolean)
18Triplex—columns (blok[] ×3)
gap
verticalAlign
19Card Grid—cards (blok[])
columns (number)
gap
21Section Wrapper—content (blok[])
backgroundColor (token)
maximumWidth
anchorId
22Spacer / Divider—size (small/medium/large)
showLine (boolean)
lineColor
23Tab Group—tabs array (label, content)
defaultTab
25Carousel—slides (blok[])
autoplay (boolean)
interval
showArrows
showDots
slidesPerView
26Social Icons—items array (icon, alt-text, url)

Content blocks​

#ComponentVariantsKey props
26Rich Text—content (richtext)
28Notification Toast—message
type (information/success/warning/error)
dismissible (boolean)
duration
position
29Slider—direction
items array (image, title, url, testimonials)
46Review—author
rating (number)
date
body
avatar
verified (boolean)
20Carddefault, image, iconimage (asset)
title
body (richtext)
link
button (Button)
24Accordion—items array (title, content)
allowMultiple (boolean)
63Notification Card—notifications array (title, message, timeLabel), front card first
className

Media​

#ComponentVariantsKey props
39Image—image (asset)
alt
caption
aspectRatio
link
40Gallery—images (asset[])
columns
enableLightbox (boolean)
41Video—source (url/file)
poster (asset)
autoplay
loop
controls (boolean)
42Modal—trigger (Button)
content (blok[])
size
closeOnOverlay (boolean)
43Map / Location—latitude (number)
longitude (number)
zoom
markers (blok[])
address (text)
44Embed / iframe—url
aspectRatio
title
allowFullscreen (boolean)

CTA / Forms​

#ComponentVariantsKey props
49CTA Banner—heading
body (richtext)
buttons (Button[])
backgroundColor (token)
alignment
50Newsletter Signupinline, stackedheading
placeholder
submitLabel
consentText (richtext)
51Contact Form—heading
fields (Input[])
submitLabel
successMessage
recipientEmail
52Inputtype: text, select, auto-select, dropdown, textareaname
placeholder
required (boolean)
helpText
options (select/dropdown)
validation
53Checkbox / Radio Groupcheckbox, radioname
options (text[])
required (boolean)
inline (boolean)
54Buttonprimary, secondary, ghostlink
size (small/medium/large)
icon
iconPosition
fullWidth (boolean)
55Cookie Banner—text (richtext)
acceptLabel
rejectLabel
policyLink

Utility (low-level primitives)​

#ComponentVariantsKey props
56Icon—name (text)
size
color (token)
57Avatarimage, initialsimage (asset)
name
size
shape (circle/square)
59Tooltip—content (text)
position (top/right/bottom/left)
trigger (hover/click)
60Progress Barlinear, circularvalue (number)
maximum (number)
showLabel (boolean)
61Alertinformation, success, warning, errormessage (richtext)
type
dismissible (boolean)
icon (asset)

Legend:

  • blok[] = Array of nested blocks/components (Storyblok terminology)
  • richtext = Rich text content (HTML/Markdown)
  • asset = Image or media file reference
  • token = Design system token (color, spacing, etc.)
  • array (x, y) = Array of objects with properties x, y