{"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},"StatusDraft.default":{"fields":{"text":"Shipping the new billing page today 🚀"},"persist":"memory","send_to_server":true}},"endpoints":{"action":"/_bretzel/action","sse":"/_bretzel/sse","refetch":"/_bretzel/refetch"},"csrf":"dcb07c9ffe4dd61c6218397309e85b4f","page_id":"88746ee96a89460181b9eda0ace922e2","address":""}
ui.textarea

Textarea

Room for a message, a note or a description — with a live character count and a submit that reaches Python.

A feedback form

Your answer goes straight to the product team.

A live character count

The value is bound to a ClientState: the counter updates in the browser, with no request.
/ 280

Sizes

Post a comment

The form posts the reply to Python; the handler appends it and the thread re-renders.
Omar Haddad
Omar Haddad10:12
Can we move the launch to Thursday?
Lucía Romero
Lucía Romero10:40
Thursday works — I'll tell the three pilot customers.

Read-only and disabled

Published — read only.