Skip to Content
PatternsIntroduction

Patterns

Patterns are reusable compositions of core components that solve common UI problems. Unlike built-in components, patterns are meant to be copied and customized for your specific needs.

Why patterns?

Zen focuses on providing a minimal set of foundational components. Instead of shipping every possible UI pattern as a component, we provide examples showing how to compose our primitives to build common interfaces.

This approach gives you:

  • Full control - Copy the code and modify it to fit your exact requirements
  • No bloat - Your bundle only includes what you actually use
  • Learning - Understand how components work together
  • Flexibility - Adapt patterns to your design system

How to use

Each pattern page includes:

  1. A live preview of the pattern
  2. Complete, copy-paste ready code with imports
  3. Explanations of key concepts
  4. Variations for common use cases

Simply copy the code into your project and customize as needed.

Available patterns

Layout

Build application layouts and page structures.

PatternDescription
App ShellFull-page layout with header, sidebar, and content area
Dashboard GridResponsive card grid for metrics/widgets
Page HeaderTitle, breadcrumbs, and action buttons composition
SidebarCollapsible sidebar for application navigation
Split ViewResizable two-panel layout (list/detail)

Help users navigate through your application.

PatternDescription
Command PaletteKeyboard-driven command search (⌘K style)
Nav MenuCollapsible navigation menu with groups
StepperMulti-step form or process flow

Data Display

Present information and content to users.

PatternDescription
Empty StatePlaceholder with icon, message, and CTA
Icon LabelIcon and text paired together
List ItemConfigurable list row with avatar, title, meta, actions
Stat CardMetric display with label, value, and trend indicator

Feedback

Communicate status and gather confirmation from users.

PatternDescription
Error Page404/500 error display with navigation options
Skeleton LoaderContent placeholder during loading

Forms

Collect user input and handle form interactions.

PatternDescription
Filter PanelCollapsible filters with chips for active filters
Login FormEmail/password with validation and social auth buttons
Settings FormGrouped settings with sections and descriptions