Skip to content

Important notes

Per-side spacing classes are derived at runtime — safelist them for Tailwind

box-model.js derives per-side tokens (pt-6 from p-6) in the browser, so those class names appear in no source file a Tailwind build can scan — a purge build silently drops them, and padding renders as if it were never set. The admin Tailwind Safelist export (see Frameworks) includes every derived class so this can't happen.

Per-viewport values

Every value here is per viewport, resolved mobile-first (a viewport with no entry inherits the nearest narrower one), and rides Canvas's own draft → publish → revision lifecycle. Switching the device picker re-points every control to that viewport's stored value.

Only one background type is active per viewport

Picking a new tab — Color, Image, or Video — replaces the previous one for that viewport rather than layering them.

Props are grouped automatically

Every component's form splits into Content / Style / Advanced tabs from a YAML annotation on the component — no custom form code needed.

Fully-justified text isn't offered by default

It fails WCAG 2.1 SC 1.4.8 (Level AAA) for body text. If your site's admin adds it anyway, the panel surfaces an in-context note explaining the trade-off rather than silently allowing it.