ui.text
Text
Ten sizes, four weights, every semantic colour, truncation — and text that follows the browser's state live.Type scale
One size scale for the whole app, repainted by the theme.xsShip internal tools in days
smShip internal tools in days
mdShip internal tools in days
lgShip internal tools in days
xlShip internal tools in days
2xlShip internal tools in days
3xlShip internal tools in days
Status messages
A colour says what happened; the weight says how much it matters.Payment received — invoice INV-2041 is settled.Your trial ends in 3 days.The card ending in 4242 was declined.Last synced 2 minutes ago.
A price, and the old one
Sizes, weights and a line-through combine into a pricing block.Team plan
€19€29/ seat / month
Billed yearly. Cancel any time.Long names that truncate
truncate=True cuts with an ellipsis instead of breaking the row.Paragraphs
tag="p" for real paragraphs; align= for centred or justified copy.Why we built Bretzel
Most internal tools start as a spreadsheet and end as a React app nobody wants to maintain. Bretzel keeps the whole thing in Python: the state, the handlers and the interface.
Text that follows the browser
Pass a ClientState field instead of a string: the text follows every keystroke, with no request to the server.Workspace name
.bretzel.app
Your team will sign in at