Aug 26, 2025
0 views
CMS-friendly label/value list with an optional pattern column for visual rhythm. Supports variable-font axes per column, responsive switch to a stacked layout, and a friendly placeholder when no data is provided.
//
Tags
Content: In Content, enter one row per line as Label::Value (or change Delimiter).
Pattern: Choose Pattern, Pattern Color, Pattern Width, and Pattern Align.
Typography: Pick Font, Label Color, Value Color.
Variable Fonts: Toggle Variable Font; tune Label Axes and Value Axes (MONO, CASL, CRSV, slnt, wght).
Layout: Set Label Width, Column Gap, Row Gap, enable Responsive and set Breakpoint.
Empty State: If no content, a helper placeholder appears automatically.
Preset: Spec Sheet Minimal
Preset: Project Meta
Pattern //, Pattern Align right, CASL slight 0.2 on labels.
Parsing: Splits content by newline → each line split by delimiter → {label, value}.
Pattern Column: Renders pattern as text with reduced opacity; width fixed by Pattern Width.
Variable Fonts: If Variable Font is on, converts the first family in the stack to its " Variable" form and applies font-variation-settings per column; falls back to cssFontWeight when wght isn’t applied.
Responsive: A ResizeObserver checks container width and flips to a stacked layout at Breakpoint.
Prefer concise patterns (e.g. #, //, ·) to avoid visual noise.
Long values: rely on built-in word-break: break-word.
Large lists: rendering is light; main cost is text layout—keep Row Gap modest.
Modern evergreen browsers.
Variable font axes require VF support; if unavailable, component falls back to font-weight.
No server/client fetches; purely presentational.
Treat the list as terms + descriptions. For maximum semantics, consider placing the component inside a region with an accessible name, or replicate with <dl>/<dt>/<dd> when exporting to code.
Pattern column is decorative; if it confuses SRs, wrap it with aria-hidden="true".
Placeholder uses aria-live="polite" to hint updates when content becomes available.
No network calls; no storage; no device permissions.
Inputs are rendered as text (not HTML) — no dangerouslySetInnerHTML, no eval.
Main foot-gun is very large content leading to long pages; paginate or limit rows in CMS.
Treat the list as terms + descriptions. For maximum semantics, consider placing the component inside a region with an accessible name, or replicate with <dl>/<dt>/<dd> when exporting to code.
Pattern column is decorative; if it confuses SRs, wrap it with aria-hidden="true".
Placeholder uses aria-live="polite" to hint updates when content becomes available.
No network calls; no storage; no device permissions.
Inputs are rendered as text (not HTML) — no dangerouslySetInnerHTML, no eval.
Main foot-gun is very large content leading to long pages; paginate or limit rows in CMS.
Variable-font axis controls inspired by modern VF practices (e.g., Recursive).
Development, Implementation and Framer adaptation by SecretoCho Design.
SecretoCho Design 2025
Provided “as is” for visual/UX purposes. You are responsible for verifying performance, accessibility, and any font licensing in your project.
Stay ahead of the curve with insights into emerging visualization trends and technologies.