Components

UI component patterns using Mantine.


Buttons

Variants:

Variant
Color
Use Case

filled

Ember

Primary actions (Save, Create, Submit)

subtle

Gray

Secondary actions, back buttons

subtle

Brick

Destructive actions

light

Various

Toggle states, soft CTAs

Sizing:

  • Default size: sm

  • Icon buttons (ActionIcon): sm with 14-16px icons

<Button variant="filled" color="ember">Save Changes</Button>
<Button variant="subtle">Cancel</Button>
<Button variant="subtle" color="brick">Delete</Button>

Form Elements

Common props:

  • Size: sm

  • Variant: default (outline) or filled (in popovers)


List Rows

Standard pattern for Inbox, Task, and Search rows.

Structure:

Styling:

States:

  • Hover: background-color: var(--mantine-color-canvas)

  • Selected: background-color: var(--mantine-color-clay-0)

  • Priority: border-left: 3px solid {priority-color}

CSS Module for hover-reveal:


Headers

ViewHeader (page-level):

Section headers:

Object header (inline-editable):

  • Click title to enter edit mode

  • TextInput with unstyled variant, large bold text

  • Save on blur or Enter, cancel on Escape


Badges & Tags

Badge:

Tag (with color dot):


Modals & Dialogs

Base Modal:

Confirmation Dialog:

Multi-state modal (progress operations):

  1. Confirmation: Description + requirements list

  2. Progress: Progress bar + operation description

  3. Success/Error: Result message + next action


Cards & Surfaces

Paper/Card:

Collapsible section:


Calendar & Timeline

Month navigation:

Day cell:

  • Default: text only

  • Today: accent background (Ember light)

  • Has content: dot indicator below number

  • Selected: darker accent background

Timeline markers:

  • Size: 6-14px based on change density

  • Color: accent or gray

  • Hover: tooltip with details


Settings Panels

Panel Structure:

SegmentedControl:

Toggle Setting:

Danger Zone:


Mantine Component Defaults

Last updated