{"version":"v1.0","client_state":{"Studio.default":{"fields":{"primary":"#682747","secondary":"#3a52b0","success":"#2f9e64","warning":"#f0a91b","error":"#e5484d","info":"#0e9bc4","background":"#fafafa","surface":"#ffffff","interface":"#f0f0f1","text":"#171717","muted":"#6b6b6e","d_primary":"#682747","d_secondary":"#3a52b0","d_success":"#2f9e64","d_warning":"#f0a91b","d_error":"#e5484d","d_info":"#0e9bc4","d_background":"#0a0a0a","d_surface":"#151515","d_interface":"#212121","d_text":"#f5f5f5","d_muted":"#a0a0a3","spacing":0.1875,"box":0.75,"field_":0.75,"selector":0.375,"stroke":1.0,"font":"ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'"},"persist":"local","send_to_server":true},"ColorScheme.default":{"fields":{"mode":"system"},"persist":"local","send_to_server":true}},"endpoints":{"action":"/_bretzel/action","sse":"/_bretzel/sse","refetch":"/_bretzel/refetch"},"csrf":"4c1fa73f6e24ba94356c3bc299fbca9d","page_id":"eb6b2549daf84fd7b42450338d52e8f1","address":""}
ui.grid

Grid

Columns by count, by breakpoint or by minimum width — the grid fills the rows and keeps the gutters even.

A fixed number of columns

cols=3: six items fill two rows of three.
Mon 6
Tue 7
Wed 8
Thu 9
Fri 10
Sat 11

As many columns as fit

min_col="12rem" keeps every card at least 12rem wide and fits as many per row as the width allows.
SlackPost a message when an invoice is paid.
GitHubLink pull requests to the tasks they close.
StripeSync payments and refunds every hour.
Google CalendarShow bookings next to your meetings.
MailchimpAdd new customers to your newsletter.

Columns per breakpoint

One column on a phone, two from sm, four from lg.
Revenue · €48.2k
Orders · 1,284
Refunds · 12
Visitors · 32k

A dashboard with a wide panel

A column span is plain Tailwind on the child.
Weekly sales
020406080MonTueWedThuFri
GoalsQuarterly revenue
New customers
Support backlog

Gutter sizes

gap="xs"
Q1
Q2
Q3
Q4
gap="md"
Q1
Q2
Q3
Q4
gap="xl"
Q1
Q2
Q3
Q4