Mercurial
diff design_system/src/storybook.css @ 254:2b6e732087ff
[ui] Add complete native component catalog
Co-authored-by: Copilot <[email protected]>
| author | MrJuneJune <me@mrjunejune.com> |
|---|---|
| date | Tue, 04 Aug 2026 15:12:09 -0700 |
| parents | 117c4d53c9a4 |
| children |
line wrap: on
line diff
--- a/design_system/src/storybook.css Tue Aug 04 12:21:19 2026 -0700 +++ b/design_system/src/storybook.css Tue Aug 04 15:12:09 2026 -0700 @@ -47,6 +47,34 @@ text-decoration: none; } +.catalog-search { + width: 100%; + margin-top: var(--zen-space-5); +} + +.catalog-search > zen-icon { + align-self: center; + margin-inline-start: var(--zen-space-3); + color: var(--zen-color-text-muted); +} + +.catalog-search > kbd { + align-self: center; + margin-inline-end: var(--zen-space-2); + padding: 0 var(--zen-space-1); + border: 1px solid var(--zen-color-border-muted); + border-radius: var(--zen-radius-sm); + color: var(--zen-color-text-muted); + font: var(--zen-font-size-xs)/1.5 var(--zen-font-mono); +} + +.search-status { + min-height: 1.25rem; + margin: var(--zen-space-1) 0 0; + color: var(--zen-color-text-muted); + font-size: var(--zen-font-size-xs); +} + .catalog-mark { display: grid; width: 2.5rem; @@ -55,7 +83,7 @@ border: var(--zen-border-width) solid var(--zen-color-border); border-radius: 50%; background: var(--zen-color-accent); - color: #171a21; + color: var(--zen-color-on-accent); } .catalog-sidebar h2 { @@ -78,10 +106,15 @@ text-decoration: none; } +.catalog-nav a[hidden], +.component-grid > a[hidden] { + display: none; +} + .catalog-nav a:hover, .catalog-nav a[aria-current] { background: var(--zen-color-accent); - color: #171a21; + color: var(--zen-color-on-accent); } .theme-toggle { @@ -97,10 +130,15 @@ .catalog-main { width: min(100%, var(--zen-content-width)); + min-width: 0; padding: var(--zen-space-7) clamp(1rem, 5vw, 5rem); outline: none; } +.catalog-page { + min-width: 0; +} + .catalog-page[hidden] { display: none; } @@ -160,6 +198,15 @@ height: 100%; } +.component-grid code { + color: var(--zen-color-info); + font-size: var(--zen-font-size-xs); +} + +.component-grid p { + color: var(--zen-color-text-muted); +} + .swatch-list { display: grid; gap: var(--zen-space-2); @@ -185,11 +232,81 @@ height: 2rem; border: 1px solid var(--zen-color-border); border-radius: 50%; - background: var(--swatch); + background: var(--zen-color-swatch); +} + +.token-group-wide { + grid-column: span 2; +} + +.token-group > p { + color: var(--zen-color-text-muted); +} + +.palette-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(6rem, 1fr)); + gap: var(--zen-space-3); +} + +.palette-grid > div { + display: grid; + gap: var(--zen-space-1); +} + +.palette-grid span { + min-height: 3.5rem; + border: 1px solid var(--zen-color-border-muted); + border-radius: var(--zen-radius-md); + background: var(--zen-color-swatch); +} + +.palette-grid code { + font-size: var(--zen-font-size-xs); +} + +.data-palette { + display: grid; + grid-template-columns: repeat(10, minmax(1.75rem, 1fr)); + min-height: 4rem; + overflow: hidden; + border: 1px solid var(--zen-color-border); + border-radius: var(--zen-radius-md); +} + +.data-palette span { + background: var(--zen-color-swatch); +} + +.icon-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(8rem, 1fr)); + gap: var(--zen-space-3); +} + +.icon-grid figure { + display: grid; + min-height: 7rem; + margin: 0; + padding: var(--zen-space-3); + place-items: center; + gap: var(--zen-space-2); + border: 1px solid var(--zen-color-border-muted); + border-radius: var(--zen-radius-md); + background: var(--zen-color-surface); +} + +.icon-grid figcaption { + max-width: 100%; + overflow: hidden; + color: var(--zen-color-text-muted); + font-size: var(--zen-font-size-xs); + text-overflow: ellipsis; } zen-story { display: block; + max-width: 100%; margin-bottom: var(--zen-space-6); overflow: hidden; border: var(--zen-border-width) solid var(--zen-color-border); @@ -223,8 +340,8 @@ min-height: 8rem; padding: clamp(1rem, 4vw, 3rem); background: - linear-gradient(90deg, rgba(127, 127, 127, 0.08) 1px, transparent 1px), - linear-gradient(rgba(127, 127, 127, 0.08) 1px, transparent 1px); + linear-gradient(90deg, var(--zen-color-gridline) 1px, transparent 1px), + linear-gradient(var(--zen-color-gridline) 1px, transparent 1px); background-size: 1rem 1rem; } @@ -234,8 +351,8 @@ margin: 0; padding: var(--zen-space-4); border-top: 1px solid var(--zen-color-border); - background: #111318; - color: #f4f4f5; + background: var(--zen-color-code-surface); + color: var(--zen-color-code-text); font: var(--zen-font-size-sm)/1.55 var(--zen-font-mono); } @@ -265,4 +382,12 @@ .catalog-main { padding: var(--zen-space-6) var(--zen-space-4); } + + .token-group-wide { + grid-column: auto; + } + + .data-palette { + grid-template-columns: repeat(5, 1fr); + } }