Ballmac UI home

Presets / Atelier

Atelier preset

Warm paper tones with ink buttons, golden accents and Bricolage Grotesque for headlines that have character. Tune it below, check it in light and dark, then install it with one command or its code.

Start from a design system

Colour, corners, typeface, platform feel and motion, tuned together. Pick one, then change anything below. Each has a code, so it is one line to share.

Quiet greys, sharp typeGeist · Web feel · Snappy motion
Trustworthy blue, open typeManrope · Web feel · Native motion
Deep indigo, editorial sansInstrument Sans · Web feel · Native motion
Rich purple, very round, playfulPlus Jakarta Sans · Web feel · Playful motion
Burnt orange, technical lettersSpace Grotesk · Web feel · Playful motion
Blush and soft serifFraunces · Web feel · Calm motion
Deep green, friendly and groundedFigtree · Web feel · Calm motion
Fresh teal, round and clearDM Sans · Web feel · Native motion
Paper, gold and bold typeBricolage Grotesque · Web feel · Native motion
Printed page, reading serifNewsreader · Web feel · Calm motion
Black, white, square, monospacedJetBrains Mono · Web feel · Snappy motion
Electric blue, built for darkGeist · Web feel · Snappy motion
A native Mac appSystem font · macOS feel · Native motion
An iOS app, in a browserSystem font · iOS feel · Custom motion
A Windows appSystem font · Windows feel · Custom motion

Or start from a colour theme

Twelve themes, each checked for contrast in light and dark. They set colour, corners and motion and leave your font and feel alone.

Customise

Atelier

Preset code
0qb8-mcj9-sv3r-9byw

Paste a code and the design loads. Nothing is stored: the code is the design.

Platform feel

A feel sets radius, density, font, motion, focus ring, shadows, text and control sizes together. Change any of them below afterwards.

Colour
80°
62%
Buttons

Buttons are ink; the brand colour is used for focus, charts and accents.

27%
Page
Shape
0.375rem
Density

Scales every gap and padding.

Borders
Type

Characterful and bold. Marketing, portfolios. Installed from Fontsource, so the files are served from your own app.

Motion

Quick, quiet, a hint of spring

1×
25%

How far springs overshoot before they settle.

1×

How far things move when they enter.

1×

Lift on hover and depth on press.

1×

The gap between items that enter one after another.

Reduced motion

Visitors who ask for less motion get no travel, lift, bounce or loops. Fades stay.

Your own components follow too: Tailwind's duration-* and ease-* classes read these tokens.

Light previewReal Ballmac components
Northwind
MJ
Net new revenue
Monthly recurring revenue, by source
$128,400 12.4%
New revenue grows from 42 in January to 78 in June; expansion from 18 to 42.
Plan usage
72% of your seats are in use
ProAnnual18 seatsOverdue

The five chart colours, in order.

New project
Fields, switches and sliders

Enter a full email address.

Invoice sent
Northwind will email the receipt to maya@northwind.example today.
Payment failed
The card ending 4242 was declined. Update it to keep your plan active.

The quick brown fox jumps over the lazy dog

Body text in the muted colour: contrast is measured for this pairing, on the page and on muted surfaces.

Northwind
The window chrome follows the platform feel: traffic lights on the left for macOS, caption buttons on the right for Windows, a plain bar otherwise.

Menus and dialogs open outside the preview, so they are left out. In your app they follow the same tokens.

Feel the motion

Hover, press and replay. Every panel reads the tokens your settings produce, so what you feel here is what your components do.

Native motion

1× speed · 25% bounce · 1× travel

Easing

Spring overshoots by 2%. The ease-out never does.

— ease-out— spring

Hover and press

Lift and press depth follow the hover setting.

Hover this cardLifts 2 px

Enter and stagger

50 ms between rows, 10 px of travel.

  • Design review
  • Ship the beta
  • Write the changelog
  • Invite the team

Durations

Tailwind's duration-150, duration-200 and the rest scale with speed.

  • Fast140 ms
  • Base220 ms
  • Slow320 ms
  • Reveal600 ms

Springs in JavaScript

Components built on Motion read the same speed and bounce.

Loops

Decorative loops run.

Compare the feels

The same app in your colours, once per platform feel. Only the handling changes: sizes, corners, focus, shadows, menus and window controls.

Notes
WebNeutral, as it is today
Notes
macOSCompact, soft shadows, frosted menus
Notes
iOSBig targets, rounded, dims on press
Notes
WindowsSquare-ish, bordered, crisp 2 px focus

These are web components that feel like each platform, not native controls. Ballmac UI is not affiliated with Apple or Microsoft.

Use it

$ pnpm dlx shadcn@latest add @ballmac/preset-atelier
What to install

Everything. Untick a part to keep your own: the command then installs only what is ticked.

This is the Atelier preset, so it installs by name. The command writes the tokens into your globals.css, and adds the typeface (with next/font on Next.js, from Fontsource elsewhere).

Contrast

32 of 32 checks pass

Every text and graphic pairing the components use, measured against WCAG: 4.5:1 for text, 3:1 for focus rings and chart colours. The builder moves lightness for you, so the result stays readable at any hue.

Contrast ratios in light and dark mode
PairingLightDarkNeeds
Text on page17.9:117.8:14.5:1
Text on cards18.8:116.6:14.5:1
Text in popovers18.8:116.6:14.5:1
Button text17.4:116.6:14.5:1
Primary used as text17.0:117.8:14.5:1
Secondary button text16.4:114.7:14.5:1
Muted text on page5.6:17.8:14.5:1
Muted text on muted5.4:16.5:14.5:1
Text on accent15.9:113.4:14.5:1
Destructive text4.9:15.7:14.5:1
Focus ring3.5:16.1:13:1
Chart 13.8:17.2:13:1
Chart 23.0:19.3:13:1
Chart 33.0:110.9:13:1
Chart 44.3:16.3:13:1
Chart 53.3:18.1:13:1

Tokens

Light