Minimal
minimalPrecise, quiet, fast — the Linear / Vercel school.
Hairline borders, small radii, near-invisible shadows and a single indigo accent. Dense, tightly-tracked Inter headlines, mono for data. Beautiful in dark mode first, equally crisp in light. Motion is short and expo-eased.
- Fonts
- Inter · bodyJetBrains Mono · mono
- Demo product
- Tracewise — Incident response for teams that ship fast — alert routing, on-call, status pages and postmortems in one place.
- Palette
Use Minimal in your project
Installing any Minimal module brings its tokens. Then follow the one-time setup.
Setup guideSections 32
Hero4 variants
Hero Cli
Developer-first centered hero on a dotted grid: version badge, headline, an install command field with copy-to-clipboard, a docs button and a terminal window showing the command output.
Hero Glow
Centered hero with announcement pill, gradient-ink headline, two CTAs, a single soft indigo glow over a masked hairline grid, and an HTML product window (incident list) fading out at the bottom.
Hero Metrics
Editorial left-aligned hero with an oversized tight headline, copy and CTAs on one baseline, a row of three hairline-separated mono metrics and a text wordmark strip of customers.
Hero Split
Two-column hero: eyebrow, headline, copy, checklist and two CTAs on the left; on the right a hairline card showing a live incident timeline with colored status dots and a resolved badge.
Features4 variants
Features Alternating
Three zig-zag rows, each pairing a numbered kicker, title, copy and link with an HTML product mock-up (routing rules, on-call week, AI postmortem) on a soft tinted plate.
Features Bento
Bento grid of five hairline tiles on a 6-column layout, each with a small token-themed HTML illustration (routing lines, uptime bars, MTTR metric, on-call week) above an icon, title and description.
Features List
Dense four-column feature list: each item has a small indigo line icon, a title and a one-sentence description under a hairline top rule. Eight defaults, left-aligned header.
Features Steps
Five-step workflow (detect, page, coordinate, resolve, learn) laid out horizontally on desktop and vertically on mobile, joined by a hairline, with numbered nodes and timing labels.
Pricing4 variants
Pricing Columns
Three quiet pricing columns with a segmented monthly/yearly control, per-seat units, and a featured plan lifted by a ring, soft shadow and an indigo hairline highlight on top.
Pricing Rows
Plans stacked as full-width horizontal rows (name + description, highlight chips, price, CTA), the featured one ringed in indigo, followed by an inverted ink enterprise strip.
Pricing Table
Full plan comparison table: four plan columns with price and CTA in the header, grouped feature rows with checks, dashes or values, featured column tinted; horizontally scrollable on small screens.
Pricing Usage
Seat-based pricing calculator: range slider for responders, four volume tiers with the active one highlighted, monthly/yearly toggle and a live estimated total panel with inclusions and CTA.
Testimonials4 variants
Testimonials Carousel
One large quote at a time with initials avatar and role, cross-fading between slides; progress dots, a 01 / 04 counter and round prev/next buttons, arrow-key navigation.
Testimonials Case Studies
Three case-study cards led by an oversized mono metric in indigo (−71% pages), a short quote, author and a Read the story link that makes the whole card clickable.
Testimonials Grid
Asymmetric testimonial grid: one large featured quote with a headline metric, flanked by two compact quotes, then a second row. Hairline cards, initials avatars, no logos needed.
Testimonials Posts
Masonry wall of social-post cards in 1–3 CSS columns: initials avatar, name and handle, post text, date and like count. Hairline cards, centered header.
FAQ4 variants
Faq Grid
All answers visible at once: a three-column grid of short questions and answers under a header, followed by two support link cards (documentation, talk to us).
Faq List
Centered single-column FAQ built on native details/summary (zero JS): hairline dividers, a plus icon that rotates into a cross when open, and a contact line underneath.
FAQ Split
Two-column FAQ: title, description and support link on the left, hairline-divided Radix accordion on the right with a rotating chevron and a smooth height + fade expand.
Faq Tabs
FAQ grouped by category behind an underline tab bar (Radix Tabs, with counts); the active category shows every question and answer in a two-column definition list.
CTA4 variants
Cta Banner
Compact inverted ink banner on a single row: title and one-liner on the left, solid and outline actions on the right, with a faint grid fading in from the right edge.
CTA Glow
Closing call-to-action card: centered headline and copy, ink button with keyboard hint, ghost secondary link, an indigo glow rising from the bottom edge and a gradient hairline on top.
Cta Newsletter
Centered email capture card with an indigo hairline on top: headline, copy, email field and ink button, with client validation plus pending, success and error states.
Cta Split
Wide two-column CTA card: headline, copy and two buttons on the left; a tinted panel on the right with a numbered ‘first 10 minutes’ onboarding checklist and time estimates.
UI components 24
Card4 variants
Card
Composable hairline card (Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter) with default / raised / ghost variants and an interactive hover lift.
Incident Card
Incident summary card: severity chip, id and duration, linked title, service chips, a 4-step status progress bar, commander avatar, stacked responder avatars and update count.
Integration Card
Integration tile: logo/monogram, name, category, description, a Radix Switch to enable it, live status meta and a Configure link. Controlled or uncontrolled.
Metric Card
KPI card: muted label, big mono value, inline SVG sparkline with area fill and end dot, and a colored delta chip vs. the previous period (lowerIsBetter flips the colors).
Input4 variants
Input
Hairline text field with label (auto "Optional" marker), hint, error with icon, leading icon, text prefix, trailing slot (unit, kbd) and indigo focus ring. Two sizes.
Search Input
Search field with leading icon, “/” keycap hint that focuses the field, clear button (Escape clears too) and a loading spinner state. Two sizes, controlled or uncontrolled.
Select Menu
Labelled select built on Radix Select: bordered trigger with chevrons, portalled popover with optional icons, descriptions, groups, separators, disabled items and a check on the selected one.
Switch Field
Settings row with label and description on the left and a Radix Switch on the right; plain (for divided lists) or bordered card that highlights when on. Disabled state.
Modal4 variants
Command Palette
⌘K command palette (Radix Dialog): search input, results filtered as you type and grouped (actions, incidents, schedules), icons and shortcuts, arrow-key highlight, Enter to run, footer hints.
Modal
Radix-based dialog with fade + subtle scale entrance, optional icon, title/description, scrollable body and a tinted footer action bar. Re-applies the DA scope inside the portal.
Popover Card
Anchored popover (Radix Popover) with arrow, optional title + close button and any content — quick forms (snooze), definitions or details. Collision-aware placement.
Sheet
Side sheet (Radix Dialog) sliding in from the right or left over a dimmed overlay: title and description header with close button, scrollable body and footer actions.
Badge4 variants
Badge
Small tinted label (neutral, accent, success, warning, danger, outline) with optional status dot, live pulse, pill shape and mono mode for IDs and service names.
Kbd Hint
Keyboard shortcut hint made of raised keycaps: combos (⌘ K), sequences (G then I) and an optional action label. Symbols get spoken names for screen readers.
Severity Badge
Incident severity badge: four signal bars filled according to level (SEV1–SEV4) with a mono code and optional label, so color is never the only cue.
Status Badge
Service status pill (operational, degraded, major outage, maintenance, no data) with a colored dot that pulses during incidents; soft, outline and dot-only variants.
Table4 variants
Data Table
Typed generic table with hairline rows, sortable headers, optional row selection (select-all with indeterminate state) and a floating bulk-action bar. Custom cells, mobile column hiding, empty state.
Grouped Table
Services table grouped by team: collapsible tinted group rows with service count and alert subtotal, then rows with status dot, mono service name, owner, alerts and MTTA.
Paginated Table
Audit-log table with client-side pagination: page-size select, “1–10 of 47” range, numbered pages with ellipsis and prev/next; mono timestamps and IPs, horizontal scroll on mobile.
Uptime Table
Status-page uptime table: one row per service with 30 daily bars colored by threshold (≥ 99.99 %, ≥ 99 %, below), a current-status dot, the 30-day average and a legend.
App layouts 12
App header4 variants
App Header
Two-row app header: breadcrumbs, ⌘K search trigger and notification dot on top; view tabs with Filter / Display actions below. Includes a working command palette (Radix Dialog) with grouped, filterable, keyboard-navigable commands.
Header Detail
Detail-page header: breadcrumbs ending on a copyable mono id, title with status pill, a key/value meta row, action buttons and underline section tabs with counts.
Header Switcher
Vercel-style global top bar: logo then organization / project / environment switchers separated by slashes (production badge in red), with dropdown lists, help, notification dot and avatar.
Header Toolbar
List-page toolbar: title with count and New button, then a search field, removable key/value filter chips, an Add filter button and a list/board view toggle.
Auth screen4 variants
Auth Screen
Centered passwordless login in three steps: provider choice (Google, email, SAML SSO) → email form → "check your email" confirmation. Faint indigo glow on top, legal footer.
Auth Split
Split sign-in screen: form on the left (email, password with reveal, remember me, error alert) and an always-dark brand panel with indigo glow, grid, customer quote and three stats on large screens.
Auth Sso
SSO-first sign-in card on a tinted page: key icon, Google / GitHub / Microsoft buttons, an ‘or use SAML SSO’ divider and work-email discovery with inline arrow submit, legal links below.
Auth Verify
Email verification screen: mail icon, six single-digit mono boxes (split 3 + 3) with auto-advance, paste, arrow/backspace navigation, auto-submit, error and success states and a resend countdown.
Effects 16
Background4 variants
Aurora Background
Hero background with three heavily blurred color fields (indigo primary + cyan + violet) drifting slowly over a radially-masked hairline grid, fading into the page at the bottom.
Beams Background
Vertical hairline columns fading at top and bottom, with short primary-colored beams of light falling down some of them at staggered speeds. Pure CSS.
Dot Wave Background
Dot matrix, radially masked, across which a diagonal wave of slightly larger primary-colored dots ripples continuously like a heartbeat. CSS keyframes only.
Grid Glow Background
Hairline grid whose lines light up in the primary color inside a soft radial spotlight that follows the mouse (CSS variables updated on pointer move, no re-render), vignetted to the page color.
Transition4 variants
Clip Reveal
Scroll-triggered clip-path reveal (from bottom, top, left, right or center) with a subtle scale settle and fade — ideal for screenshots, product mock-ups and cards.
Fade Blur Reveal
Scroll-triggered entrance where opacity, an 8px rise and a 6px blur resolve together with an expo-out curve. Single block or staggered children.
Stagger Grid
Grid entrance where children fade, rise and un-blur one by one in reading order or as a diagonal wave from the top-left when the grid scrolls into view.
Word Reveal
Scroll-triggered headline reveal: each word rises out of its own clipping mask with an expo-out ease, staggered word by word. Works for h1–h3 and paragraphs.
Micro interaction4 variants
Border Beam
Card wrapper with a short primary-to-accent light beam travelling around its rounded 1px border (conic gradient + animated @property angle); always on or only on hover/focus.
Magnetic Button
Wrapper that pulls its child toward the mouse pointer on hover with a spring (inner content moves a little more for depth) and snaps back on leave.
Ripple Press
Subtle press ripple expanding from the pointer inside any rounded child (button, card), in the current text color or primary tone, fading out quickly without blocking clicks.
Spotlight Card
Card micro-interaction: a soft indigo radial light follows the pointer inside the card while the 1px border brightens under the cursor. CSS variables only, no React re-render per move.
Text4 variants
Count Up
Number that counts up with an expo-out ease and tabular digits when scrolled into view; prefix, suffix, decimals and locale-aware thousands separators.
Gradient Text
Inline text filled with a slowly flowing gradient built from the primary and accent tokens (bg-clip-text); animated or static. Pure CSS.
Rotating Words
Headline with a static prefix and a highlighted word that slides up to the next one on an interval, inside a slot whose width animates to fit each word.
Text Shimmer
Loading/live text effect: a light band sweeps across muted text using a clipped gradient. For "thinking…", "generating…" or live status labels. Pure CSS, server-safe.
Set up Minimal in your project
Once per project. Installing any Minimal module copies its tokens for you — or install them alone first. New to Artmode? Start with the getting started guide.
npx shadcn@latest add https://artmode.alpvisionweb.online/r/minimal-theme.json1. Import the tokens
@import "tailwindcss"; @import "../components/modules/_core/da-theme.css"; @import "../components/modules/minimal/tokens.css";
3. Scope the area
<div data-da="minimal">
{/* Minimal modules */}
</div>2. Load the fonts
import { Inter, JetBrains_Mono } from "next/font/google";
const minimalSans = Inter({ subsets: ["latin"], variable: "--font-minimal-sans" });
const minimalMono = JetBrains_Mono({ subsets: ["latin"], variable: "--font-minimal-mono" });
// <html className={`${minimalSans.variable} ${minimalMono.variable}`}>