Mercurial
comparison design_system/src/index.html @ 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 | 7a7581f040e8 |
| children | 30c2196d03d4 |
comparison
equal
deleted
inserted
replaced
| 253:fdf3816959cb | 254:2b6e732087ff |
|---|---|
| 16 <a class="catalog-brand" href="/" data-catalog-link> | 16 <a class="catalog-brand" href="/" data-catalog-link> |
| 17 <span class="catalog-mark" aria-hidden="true">全</span> | 17 <span class="catalog-mark" aria-hidden="true">全</span> |
| 18 Zenbu UI | 18 Zenbu UI |
| 19 </a> | 19 </a> |
| 20 | 20 |
| 21 <zen-input-group class="catalog-search"> | |
| 22 <zen-icon name="search"></zen-icon> | |
| 23 <input | |
| 24 id="componentSearch" | |
| 25 type="search" | |
| 26 placeholder="Search components" | |
| 27 aria-label="Search components" | |
| 28 aria-describedby="componentSearchStatus" | |
| 29 autocomplete="off" | |
| 30 /> | |
| 31 <kbd aria-hidden="true">/</kbd> | |
| 32 </zen-input-group> | |
| 33 <p id="componentSearchStatus" class="search-status" role="status"></p> | |
| 34 | |
| 21 <h2>Foundations</h2> | 35 <h2>Foundations</h2> |
| 22 <nav class="catalog-nav" aria-label="Foundations"> | 36 <nav class="catalog-nav" aria-label="Foundations"> |
| 23 <a href="/" data-catalog-link>Overview</a> | 37 <a href="/" data-catalog-link>Overview</a> |
| 24 <a href="/tokens" data-catalog-link>Tokens</a> | 38 <a href="/tokens" data-catalog-link>Tokens</a> |
| 39 <a href="/icons" data-catalog-link>Icons</a> | |
| 25 </nav> | 40 </nav> |
| 26 | 41 |
| 27 <h2>Components</h2> | 42 <h2>Components</h2> |
| 28 <nav class="catalog-nav" aria-label="Components"> | 43 <nav class="catalog-nav" aria-label="Components"> |
| 29 <a href="/components/button" data-catalog-link>Button</a> | 44 <a href="/components/button" data-catalog-link>Button</a> |
| 95 <h1>Design tokens</h1> | 110 <h1>Design tokens</h1> |
| 96 <p>Import one CSS file and override any <code>--zen-*</code> property at the application boundary.</p> | 111 <p>Import one CSS file and override any <code>--zen-*</code> property at the application boundary.</p> |
| 97 </header> | 112 </header> |
| 98 <div class="token-grid"> | 113 <div class="token-grid"> |
| 99 <section class="token-group"> | 114 <section class="token-group"> |
| 100 <h2>Color</h2> | 115 <h2>Semantic color</h2> |
| 101 <dl class="swatch-list"> | 116 <dl class="swatch-list"> |
| 102 <div><span class="swatch" style="--swatch: var(--zen-color-accent)"></span><div><dt>--zen-color-accent</dt><dd>Primary action</dd></div></div> | 117 <div><span class="swatch" style="--zen-color-swatch: var(--zen-color-accent)"></span><div><dt>--zen-color-accent</dt><dd>Primary action</dd></div></div> |
| 103 <div><span class="swatch" style="--swatch: var(--zen-color-info)"></span><div><dt>--zen-color-info</dt><dd>Informational state</dd></div></div> | 118 <div><span class="swatch" style="--zen-color-swatch: var(--zen-color-info)"></span><div><dt>--zen-color-info</dt><dd>Informational state</dd></div></div> |
| 104 <div><span class="swatch" style="--swatch: var(--zen-color-success)"></span><div><dt>--zen-color-success</dt><dd>Successful state</dd></div></div> | 119 <div><span class="swatch" style="--zen-color-swatch: var(--zen-color-success)"></span><div><dt>--zen-color-success</dt><dd>Successful state</dd></div></div> |
| 105 <div><span class="swatch" style="--swatch: var(--zen-color-danger)"></span><div><dt>--zen-color-danger</dt><dd>Dangerous state</dd></div></div> | 120 <div><span class="swatch" style="--zen-color-swatch: var(--zen-color-danger)"></span><div><dt>--zen-color-danger</dt><dd>Dangerous state</dd></div></div> |
| 106 </dl> | 121 </dl> |
| 122 </section> | |
| 123 <section class="token-group token-group-wide"> | |
| 124 <h2>Material palette</h2> | |
| 125 <p>Warm, quiet colors inspired by paper, natural dye, clay, and wood.</p> | |
| 126 <div class="palette-grid"> | |
| 127 <div><span style="--zen-color-swatch: var(--zen-color-paper)"></span><code>paper</code></div> | |
| 128 <div><span style="--zen-color-swatch: var(--zen-color-washi)"></span><code>washi</code></div> | |
| 129 <div><span style="--zen-color-swatch: var(--zen-color-linen)"></span><code>linen</code></div> | |
| 130 <div><span style="--zen-color-swatch: var(--zen-color-sumi)"></span><code>sumi</code></div> | |
| 131 <div><span style="--zen-color-swatch: var(--zen-color-brick)"></span><code>brick</code></div> | |
| 132 <div><span style="--zen-color-swatch: var(--zen-color-persimmon)"></span><code>persimmon</code></div> | |
| 133 <div><span style="--zen-color-swatch: var(--zen-color-ochre)"></span><code>ochre</code></div> | |
| 134 <div><span style="--zen-color-swatch: var(--zen-color-moss)"></span><code>moss</code></div> | |
| 135 <div><span style="--zen-color-swatch: var(--zen-color-patina)"></span><code>patina</code></div> | |
| 136 <div><span style="--zen-color-swatch: var(--zen-color-indigo)"></span><code>indigo</code></div> | |
| 137 <div><span style="--zen-color-swatch: var(--zen-color-plum)"></span><code>plum</code></div> | |
| 138 <div><span style="--zen-color-swatch: var(--zen-color-clay)"></span><code>clay</code></div> | |
| 139 <div><span style="--zen-color-swatch: var(--zen-color-wood)"></span><code>wood</code></div> | |
| 140 </div> | |
| 141 </section> | |
| 142 <section class="token-group token-group-wide"> | |
| 143 <h2>Data palette</h2> | |
| 144 <p>Ten distinct aliases for charts and categorical comparisons.</p> | |
| 145 <div class="data-palette" aria-label="Data color tokens"> | |
| 146 <span style="--zen-color-swatch: var(--zen-color-data-1)" title="--zen-color-data-1"></span> | |
| 147 <span style="--zen-color-swatch: var(--zen-color-data-2)" title="--zen-color-data-2"></span> | |
| 148 <span style="--zen-color-swatch: var(--zen-color-data-3)" title="--zen-color-data-3"></span> | |
| 149 <span style="--zen-color-swatch: var(--zen-color-data-4)" title="--zen-color-data-4"></span> | |
| 150 <span style="--zen-color-swatch: var(--zen-color-data-5)" title="--zen-color-data-5"></span> | |
| 151 <span style="--zen-color-swatch: var(--zen-color-data-6)" title="--zen-color-data-6"></span> | |
| 152 <span style="--zen-color-swatch: var(--zen-color-data-7)" title="--zen-color-data-7"></span> | |
| 153 <span style="--zen-color-swatch: var(--zen-color-data-8)" title="--zen-color-data-8"></span> | |
| 154 <span style="--zen-color-swatch: var(--zen-color-data-9)" title="--zen-color-data-9"></span> | |
| 155 <span style="--zen-color-swatch: var(--zen-color-data-10)" title="--zen-color-data-10"></span> | |
| 156 </div> | |
| 157 </section> | |
| 158 <section class="token-group"> | |
| 159 <h2>Color ramps</h2> | |
| 160 <zen-stack gap="tight"> | |
| 161 <code>neutral · red · orange · amber</code> | |
| 162 <code>green · teal · blue · violet</code> | |
| 163 <code>rose · brown</code> | |
| 164 <small>Each ramp includes 50–900 plus 950.</small> | |
| 165 </zen-stack> | |
| 107 </section> | 166 </section> |
| 108 <section class="token-group"> | 167 <section class="token-group"> |
| 109 <h2>Spacing</h2> | 168 <h2>Spacing</h2> |
| 110 <zen-stack gap="tight"> | 169 <zen-stack gap="tight"> |
| 111 <code>--zen-space-1: 0.25rem</code> | 170 <code>--zen-space-1: 0.25rem</code> |
| 122 <code>--zen-radius-lg</code> | 181 <code>--zen-radius-lg</code> |
| 123 <code>--zen-shadow-sm / md</code> | 182 <code>--zen-shadow-sm / md</code> |
| 124 </zen-stack> | 183 </zen-stack> |
| 125 </section> | 184 </section> |
| 126 </div> | 185 </div> |
| 186 </section> | |
| 187 | |
| 188 <section class="catalog-page" data-catalog-page="icons" hidden> | |
| 189 <header class="page-heading"> | |
| 190 <p class="eyebrow">Foundations</p> | |
| 191 <h1>Icons</h1> | |
| 192 <p>First-party SVG icons rendered by <code>zen-icon</code>. Icons inherit color and never depend on emoji, fonts, or an external package.</p> | |
| 193 </header> | |
| 194 <div id="iconGrid" class="icon-grid" aria-label="Zenbu icon names"></div> | |
| 127 </section> | 195 </section> |
| 128 | 196 |
| 129 <section class="catalog-page" data-catalog-page="button" hidden> | 197 <section class="catalog-page" data-catalog-page="button" hidden> |
| 130 <header class="page-heading"> | 198 <header class="page-heading"> |
| 131 <p class="eyebrow">Component</p> | 199 <p class="eyebrow">Component</p> |