Components.
Every primitive the blocks are built from, in one place. Switch the theme or dark mode in the header to see them adapt.
Typography
Heading and Text carry every size and color the blocks use, so type stays consistent across sections.
Heading
Answers in seconds
Answers in seconds
Answers in seconds
Answers in seconds
Answers in seconds
Answers in seconds
Text
We read your events and answer the question in plain language.
We read your events and answer the question in plain language.
We read your events and answer the question in plain language.
We read your events and answer the question in plain language.
We read your events and answer the question in plain language.
Body copy in the default color.
Body copy in the muted color.
Body copy in the secondary color.
Actions
Buttons in every variant and size, plus the ButtonActions pair that every block uses for its calls to action.
Variants
Sizes
Blocks use xl for their calls to action.
With icons
States
Display
Badges, cards, avatars, and icons: the surfaces and labels every block is assembled from.
Badge
Avatar
Without an image, initials come from the name in alt.
Bordered
Card surface, border, and a soft shadow.
Muted
A faint tint and a border.
Plain
Page background, no chrome.
Outline
Bordered, wrapped in a muted ring.
Linked card
Pass href and the whole card becomes a link with a hover state.
Linked muted card
Every variant has a matching hover.
Icon
Lucide icons, sized with size-* and colored with text tokens.
Forms
Styled native controls with the disabled and invalid states the contact and newsletter blocks rely on, plus Field to label them and Alert to report back.
Sizes
States
Enter a full email address.
Select
Pick a team size so we can suggest a plan.
Checkbox
A short email when something ships, about once a month.
Webinars and meetups in your region.
Always on for workspace owners.
Accept the terms to create your workspace.
Radio group
Choice cards
A Label wrapping its control makes the whole card clickable.
Field
We send the workspace invite here.
Pick a team size so we can suggest a plan.
Five short emails over your first two weeks.
fieldAria points the control at the description and error ids Field renders.
Switch
A Monday summary of what changed in your workspace.
An email when you pass 80% of your plan.
Managed by your workspace owner.
Input group
Enter a domain without a path, like acme.com.
Alert
You're on the list
We couldn't send your message
Replies within one business day
Default alerts are a polite status region, destructive ones an alert. Render one after a form posts back.
Media
Image optimizes every source at build time. Set the rendered size, and shape it with classes.
Fixed size
width plus densities builds a 1x and a 2x copy of the image.
Shapes
No aspect or rounding props: shape is a Tailwind class.
Responsive
widths plus sizes lets the browser pick a copy per breakpoint.
Logo
Grayscale by default, full color on hover or on request.
Code
CodeBlock highlights at build time with the same themes as markdown, and follows dark mode.
Astro
---
import HeroSimple from "@/components/blocks/hero/HeroSimple.astro";
---
<HeroSimple
badge="Now in every region"
title="Ship your code to the edge"
titleMuted="in seconds, not sprints."
primaryCta={{ label: "Get access", href: "/signup/" }}
/> Shell
npm run dev # Dev server on port 4321
npm run check # Type-check every page and block Controls
The preference toggles from the header. Each is switched on or off by one flag in config.ts, and every copy stays in sync.
Dark mode
Theme
Preview popular themes
Preview popular themes
Preview popular themes
Layout
Layout
Separators divide content, and Container sets the reading width every block sits in.
Separator
Left
Center
Right
Container sm, 64rem
Container md, 72rem
Container lg, 80rem
Container xl, 90rem
Container 2xl, 105rem
Container max, 120rem
Tokens
Every color is a token from global.css, overridden per theme in themes.css. Switch themes to watch them change.
Core
background
foreground
Primary
primary
primary-foreground
Secondary
secondary
secondary-foreground
Muted
muted
muted-foreground
Accent
accent
accent-foreground
Destructive
destructive
Card
card
card-foreground
Popover
popover
popover-foreground
Border, input, ring
border
input
ring
Chart
chart-1
chart-2
chart-3
chart-4
chart-5
Sidebar (used by animated visuals)
sidebar
sidebar-foreground
sidebar-primary
sidebar-accent
sidebar-border
sidebar-ring