@apliteni/apliteni-ui 0.93.0 → 0.95.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/guidelines/accessibility-floor.md +3 -3
- package/guidelines/colour-and-theming.md +2 -0
- package/guidelines/state-set.md +3 -3
- package/package.json +1 -1
- package/react/dist/index.css +19 -12
- package/src/styles/back.css +2 -2
- package/src/styles/badge.css +11 -11
- package/src/styles/base.css +6 -6
- package/src/styles/button.css +16 -13
- package/src/styles/callout.css +11 -11
- package/src/styles/card.css +5 -5
- package/src/styles/code.css +15 -26
- package/src/styles/command-palette.css +13 -10
- package/src/styles/confirm.css +5 -5
- package/src/styles/drawer.css +6 -7
- package/src/styles/dropdown.css +29 -19
- package/src/styles/feedback.css +11 -11
- package/src/styles/file-drop.css +2 -2
- package/src/styles/filter-bar.css +10 -8
- package/src/styles/footer.css +12 -7
- package/src/styles/input.css +20 -12
- package/src/styles/layout.css +38 -41
- package/src/styles/loading.css +1 -1
- package/src/styles/motion.css +1 -1
- package/src/styles/nav.css +51 -62
- package/src/styles/pagination.css +6 -1
- package/src/styles/segmented.css +26 -18
- package/src/styles/success.css +4 -4
- package/src/styles/table.css +10 -10
- package/src/styles/tabs.css +2 -2
- package/src/styles/tooltip.css +1 -1
- package/src/styles/topbar.css +29 -21
- package/src/tokens/tokens.css +23 -31
package/src/styles/table.css
CHANGED
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
border-spacing: 0;
|
|
68
68
|
padding: 0 var(--space-2);
|
|
69
69
|
}
|
|
70
|
-
.ui-table--hover:not(.ui-table--zebra) tbody tr:hover td { background: var(--surface-2);
|
|
70
|
+
.ui-table--hover:not(.ui-table--zebra) tbody tr:hover td { background: var(--surface-2); }
|
|
71
71
|
.ui-table--hover:not(.ui-table--zebra) tbody tr:hover td:first-child {
|
|
72
72
|
border-top-left-radius: var(--radius-sm); border-bottom-left-radius: var(--radius-sm); }
|
|
73
73
|
.ui-table--hover:not(.ui-table--zebra) tbody tr:hover td:last-child {
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
.ui-table--zebra thead th { border-bottom-width: 2px; }
|
|
91
91
|
.ui-table--zebra td,
|
|
92
92
|
.ui-table--zebra :is(tbody, tfoot) th { border-bottom: 0; }
|
|
93
|
-
.ui-table--zebra tbody tr:nth-child(even) td { background: var(--surface-2);
|
|
93
|
+
.ui-table--zebra tbody tr:nth-child(even) td { background: var(--surface-2); }
|
|
94
94
|
/* The stripe stays full-bleed (the #71 inset above is hover only), but it only reads right
|
|
95
95
|
* if the end cells are inset from the row's own edge, and `.ui-table td` sets
|
|
96
96
|
* `padding-left: 0`. Only `--dense` supplied that inset, so `--zebra` without `--dense` —
|
|
@@ -102,7 +102,7 @@
|
|
|
102
102
|
.ui-table--zebra th:last-child,
|
|
103
103
|
.ui-table--zebra td:last-child { padding-right: var(--space-3); }
|
|
104
104
|
.ui-table--zebra.ui-table--hover tbody tr:hover td,
|
|
105
|
-
.ui-table--zebra tbody tr:hover td {
|
|
105
|
+
.ui-table--zebra tbody tr:hover td { background: color-mix(in srgb, var(--accent) 8%, transparent); /* code-bg: inherit — a wash paints over a ground and behind a chip, so the opaque ground below it is the step. */ }
|
|
106
106
|
|
|
107
107
|
/* A link in a cell is a value that happens to open something: the row's ink, underlined
|
|
108
108
|
on hover — what .ui-identity below has always done. Without it, base.css's bare
|
|
@@ -150,8 +150,8 @@
|
|
|
150
150
|
why: guidelines/state-set.md#focus-rings
|
|
151
151
|
held by: src/styles/table-focus.test.js */
|
|
152
152
|
.ui-table a:not(.ui-btn):focus-visible {
|
|
153
|
-
outline:
|
|
154
|
-
|
|
153
|
+
outline: var(--ring);
|
|
154
|
+
outline-offset: var(--ring-offset);
|
|
155
155
|
}
|
|
156
156
|
|
|
157
157
|
.ui-table__num { text-align: right; font-variant-numeric: tabular-nums; }
|
|
@@ -175,12 +175,12 @@
|
|
|
175
175
|
.ui-card { --table-bg: var(--surface); --table-code-bg: var(--bg); }
|
|
176
176
|
|
|
177
177
|
/* White in light, base canvas in dark; never a grey or tinted data surface. */
|
|
178
|
-
.ui-table { background: var(--table-bg);
|
|
178
|
+
.ui-table { background: var(--table-bg); }
|
|
179
179
|
.ui-table--zebra tbody tr:nth-child(even) td,
|
|
180
180
|
.ui-table--hover:not(.ui-table--zebra) tbody tr:hover td,
|
|
181
181
|
.ui-table--zebra tbody tr:hover td,
|
|
182
182
|
.ui-table--zebra.ui-table--hover tbody tr:hover td {
|
|
183
|
-
background: var(--table-bg);
|
|
183
|
+
background: var(--table-bg);
|
|
184
184
|
}
|
|
185
185
|
.ui-table tbody tr:hover { outline: 1px solid var(--border-strong); outline-offset: -1px; }
|
|
186
186
|
|
|
@@ -215,8 +215,8 @@
|
|
|
215
215
|
why: docs/foundations.md#the-focus-ring */
|
|
216
216
|
.ui-table-scroll:focus-visible { outline: var(--ring-scroll); outline-offset: var(--ring-scroll-offset); }
|
|
217
217
|
.ui-table--sticky { border-collapse: separate; border-spacing: 0; }
|
|
218
|
-
.ui-table--sticky thead th { position: sticky; top: 0; z-index: var(--z-sticky); background: var(--table-bg);
|
|
219
|
-
.ui-table--pinned .ui-table__identity, .ui-table--pinned .ui-table__selection { position: sticky; left: 0; z-index: var(--z-base); background: var(--table-bg);
|
|
218
|
+
.ui-table--sticky thead th { position: sticky; top: 0; z-index: var(--z-sticky); background: var(--table-bg); padding-top: var(--space-2); }
|
|
219
|
+
.ui-table--pinned .ui-table__identity, .ui-table--pinned .ui-table__selection { position: sticky; left: 0; z-index: var(--z-base); background: var(--table-bg); border-right: 1px solid var(--border); }
|
|
220
220
|
.ui-table--pinned thead .ui-table__identity, .ui-table--pinned thead .ui-table__selection { z-index: calc(var(--z-sticky) + 1); }
|
|
221
221
|
.ui-value, .ui-delta { white-space: nowrap; font-variant-numeric: tabular-nums; }
|
|
222
222
|
.ui-value__unit { margin-left: var(--space-1); font-size: var(--text-xs); color: var(--text); }
|
|
@@ -229,7 +229,7 @@
|
|
|
229
229
|
.ui-identity__logo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
|
|
230
230
|
.ui-identity__logo img[hidden] { display: none; /* motion: still — a failed resource is replaced without animating the error. */ }
|
|
231
231
|
a.ui-identity:hover { text-decoration: underline; }
|
|
232
|
-
.ui-identity:focus-visible { outline:
|
|
232
|
+
.ui-identity:focus-visible { outline: var(--ring); outline-offset: var(--ring-offset); border-radius: var(--radius-xs); }
|
|
233
233
|
@media (max-width: 720px) {
|
|
234
234
|
.ui-table--pinned .ui-table__identity { width: 1%; }
|
|
235
235
|
.ui-table--pinned .ui-identity__logo { display: none; }
|
package/src/styles/tabs.css
CHANGED
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
}
|
|
23
23
|
.ui-tabs__tab:hover { color: var(--strong); }
|
|
24
24
|
.ui-tabs__tab.is-active { color: var(--strong); border-bottom-color: var(--accent); }
|
|
25
|
-
.ui-tabs__tab:focus-visible { outline:
|
|
25
|
+
.ui-tabs__tab:focus-visible { outline: var(--ring); outline-offset: var(--ring-offset); border-radius: 7px 7px 0 0; }
|
|
26
26
|
|
|
27
27
|
.ui-tabs__panels { padding-top: 20px; }
|
|
28
28
|
.ui-tabs__panel[hidden] { display: none; }
|
|
@@ -31,4 +31,4 @@
|
|
|
31
31
|
.ui-tabs__panel.is-entering { animation: m-fade var(--dur-fast) var(--ease-out) both; }
|
|
32
32
|
/* The panel is focusable (tabindex="0", see tabs.js) so a keyboard user can
|
|
33
33
|
reach text-only content. Show the ring when they land on it. */
|
|
34
|
-
.ui-tabs__panel:focus-visible { outline:
|
|
34
|
+
.ui-tabs__panel:focus-visible { outline: var(--ring); outline-offset: var(--ring-offset); border-radius: 8px; }
|
package/src/styles/tooltip.css
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
width: max-content;
|
|
26
26
|
max-width: var(--prose-caption);
|
|
27
27
|
padding: var(--space-2) var(--space-3);
|
|
28
|
-
background: var(--ui-tip-bg); /*
|
|
28
|
+
background: var(--ui-tip-bg); /* code-bg: inherit — decorative or text-only paint; nothing nested reads a ground from it. */
|
|
29
29
|
/* The two-step edge and the drop, through the level's own names: in DARK that is
|
|
30
30
|
--border-strong outside and --border one pixel inside it, then the drop; in LIGHT
|
|
31
31
|
both lines are transparent and the drop carries the whole separation.
|
package/src/styles/topbar.css
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
height: 52px;
|
|
10
10
|
display: flex;
|
|
11
11
|
align-items: center;
|
|
12
|
-
background: var(--bg); /*
|
|
12
|
+
background: var(--bg); /* code-bg: inherit — page background inherits root overrides. */
|
|
13
13
|
border-bottom: 1px solid var(--border);
|
|
14
14
|
}
|
|
15
15
|
.topbar__in {
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
.topbar .brand { font-size: var(--text-sm); }
|
|
44
44
|
/* The lockup is a link, so it takes focus: the shared ring, with a radius of its
|
|
45
45
|
own because the mark and the word have no box to borrow one from. #482 */
|
|
46
|
-
.brand:focus-visible { outline:
|
|
46
|
+
.brand:focus-visible { outline: var(--ring); outline-offset: var(--ring-offset); border-radius: var(--radius-xs); }
|
|
47
47
|
.topbar .spacer { flex: 1; }
|
|
48
48
|
|
|
49
49
|
/* Deck / Text (segmented, pill) */
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
display: none;
|
|
52
52
|
align-items: center;
|
|
53
53
|
gap: 2px;
|
|
54
|
-
background: var(--surface);
|
|
54
|
+
background: var(--surface);
|
|
55
55
|
border: 1px solid var(--border);
|
|
56
56
|
border-radius: 24px;
|
|
57
57
|
padding: 3px;
|
|
@@ -69,8 +69,8 @@
|
|
|
69
69
|
transition: color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);
|
|
70
70
|
}
|
|
71
71
|
.dtsw a:hover { color: var(--strong); }
|
|
72
|
-
.dtsw a.cur { color: var(--strong); background: var(--surface); /*
|
|
73
|
-
.dtsw a:focus-visible { outline:
|
|
72
|
+
.dtsw a.cur { color: var(--strong); background: var(--surface); /* code-bg: inherit — control paint; the containing surface is the ground, for a chip and for a band alike. */ }
|
|
73
|
+
.dtsw a:focus-visible { outline: var(--ring); outline-offset: var(--ring-offset); }
|
|
74
74
|
|
|
75
75
|
/* Theme toggle — a single icon-only switch (no label). */
|
|
76
76
|
.toggle {
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
width: 34px;
|
|
80
80
|
height: 34px;
|
|
81
81
|
cursor: pointer;
|
|
82
|
-
background: var(--surface); /*
|
|
82
|
+
background: var(--surface); /* code-bg: inherit — control paint; the containing surface is the ground, for a chip and for a band alike. */
|
|
83
83
|
color: var(--text);
|
|
84
84
|
border: 1px solid var(--border);
|
|
85
85
|
border-radius: 10px;
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
border-color var(--dur-fast) var(--ease);
|
|
91
91
|
}
|
|
92
92
|
.toggle:hover { transform: translateY(-1px); border-color: var(--border-strong); }
|
|
93
|
-
.toggle:focus-visible { outline:
|
|
93
|
+
.toggle:focus-visible { outline: var(--ring); outline-offset: var(--ring-offset); }
|
|
94
94
|
.toggle .ic { width: 17px; height: 17px; display: inline-block; color: var(--text); }
|
|
95
95
|
.toggle .ic svg { display: block; width: 100%; height: 100%; stroke-width: 2.2; }
|
|
96
96
|
|
|
@@ -105,14 +105,18 @@
|
|
|
105
105
|
font-size: calc(var(--text-sm) - 0.5px);
|
|
106
106
|
font-weight: 500;
|
|
107
107
|
color: var(--text);
|
|
108
|
-
background: var(--surface); /*
|
|
108
|
+
background: var(--surface); /* code-bg: inherit — control paint; the containing surface is the ground, for a chip and for a band alike. */
|
|
109
109
|
border: 1px solid var(--border);
|
|
110
110
|
border-radius: 24px;
|
|
111
111
|
padding: 7px 11px 7px 13px;
|
|
112
112
|
transition: border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);
|
|
113
113
|
}
|
|
114
|
-
|
|
115
|
-
|
|
114
|
+
/* The hover edge steps aside under the band: an accent edge one pixel inside an
|
|
115
|
+
accent band is the second band #578 round r34 took off the focus rules, and a
|
|
116
|
+
pointer resting on a focused control would put it back. One indicator, which is
|
|
117
|
+
what the kit's rows already chose. why: docs/foundations.md#the-focus-ring */
|
|
118
|
+
.vsw__btn:hover:not(:focus-visible) { border-color: var(--accent); }
|
|
119
|
+
.vsw__btn:focus-visible { outline: var(--ring); outline-offset: var(--ring-offset); }
|
|
116
120
|
.vsw__btn .lbl { color: var(--text); }
|
|
117
121
|
.vsw__btn .cur { color: var(--strong); font-weight: 600; letter-spacing: 0.01em; }
|
|
118
122
|
.vsw__btn .car {
|
|
@@ -128,7 +132,7 @@
|
|
|
128
132
|
top: calc(100% + 9px);
|
|
129
133
|
left: 0;
|
|
130
134
|
min-width: 266px;
|
|
131
|
-
background: var(--bg-elevated);
|
|
135
|
+
background: var(--bg-elevated); /* the floating step — see dropdown.css. #295 */
|
|
132
136
|
/* The two-step edge and the drop, through the level's own names: in DARK that is
|
|
133
137
|
--border-strong outside and --border one pixel inside it, then the drop; in LIGHT
|
|
134
138
|
both lines are transparent and the drop carries the whole separation.
|
|
@@ -188,14 +192,14 @@
|
|
|
188
192
|
transition: background var(--dur-fast) var(--ease);
|
|
189
193
|
}
|
|
190
194
|
/* Menu rows use the reading surface and an edge on hover — see
|
|
191
|
-
src/styles/dropdown.css:
|
|
195
|
+
src/styles/dropdown.css:183 `.ui-dropdown__item:hover`.
|
|
192
196
|
why: docs/foundations.md#elevation */
|
|
193
|
-
.vopt:hover { outline: 1px solid var(--control-edge); outline-offset: -1px; background: var(--surface); /*
|
|
197
|
+
.vopt:hover { outline: 1px solid var(--control-edge); outline-offset: -1px; background: var(--surface); /* code-bg: inherit — control paint; the containing surface is the ground, for a chip and for a band alike. */ }
|
|
194
198
|
/* The row is a keyboard stop: src/components/dropdown.js:804
|
|
195
199
|
`items[next < 0 ? 0 : next]?.focus()` moves focus onto a `[data-dd-item]` with
|
|
196
200
|
the arrow keys, and this is one. It takes the ring on its own 10px radius, the
|
|
197
201
|
same way `.amenu a` above does. #482 */
|
|
198
|
-
.vopt:focus-visible { outline:
|
|
202
|
+
.vopt:focus-visible { outline: var(--ring); outline-offset: var(--ring-offset); }
|
|
199
203
|
.vopt .vname { font-family: var(--font-sans); font-size: calc(var(--text-sm) - 0.5px); color: var(--strong); font-weight: 600; letter-spacing: 0.01em; }
|
|
200
204
|
.vopt .vmeta { font-size: var(--text-xs); color: var(--text); margin-top: 2px; }
|
|
201
205
|
.vopt .vbadge {
|
|
@@ -208,8 +212,8 @@
|
|
|
208
212
|
flex: none;
|
|
209
213
|
margin-top: 1px;
|
|
210
214
|
}
|
|
211
|
-
.vbadge.live { color: var(--chip-success-ink); background: var(--chip-success-fill); /*
|
|
212
|
-
.vbadge.arch { /* muted-ink: state — archived version */ color: var(--muted); background: var(--surface); /*
|
|
215
|
+
.vbadge.live { color: var(--chip-success-ink); background: var(--chip-success-fill); /* code-bg: inherit — decorative or text-only paint; nothing nested reads a ground from it. */ }
|
|
216
|
+
.vbadge.arch { /* muted-ink: state — archived version */ color: var(--muted); background: var(--surface); /* code-bg: inherit — decorative or text-only paint; nothing nested reads a ground from it. */ }
|
|
213
217
|
/* The phone step — the same one the rail folds at: docs/foundations.md#breakpoints.
|
|
214
218
|
The switcher keeps its glyph and drops its label.
|
|
215
219
|
The menu hangs the other way here. Anchored by its left edge it opened
|
|
@@ -255,13 +259,17 @@
|
|
|
255
259
|
letter-spacing: 0.02em;
|
|
256
260
|
transition: border-color var(--dur-fast) var(--ease);
|
|
257
261
|
}
|
|
258
|
-
|
|
259
|
-
|
|
262
|
+
/* The hover edge steps aside under the band: an accent edge one pixel inside an
|
|
263
|
+
accent band is the second band #578 round r34 took off the focus rules, and a
|
|
264
|
+
pointer resting on a focused control would put it back. One indicator, which is
|
|
265
|
+
what the kit's rows already chose. why: docs/foundations.md#the-focus-ring */
|
|
266
|
+
.acct .avatar:hover:not(:focus-visible) { border-color: var(--accent); }
|
|
267
|
+
.avatar:focus-visible { outline: var(--ring); outline-offset: var(--ring-offset); }
|
|
260
268
|
.amenu {
|
|
261
269
|
position: absolute;
|
|
262
270
|
right: 0; top: 44px;
|
|
263
271
|
width: 252px;
|
|
264
|
-
background: var(--bg-elevated);
|
|
272
|
+
background: var(--bg-elevated); /* the floating step — see dropdown.css. #295 */
|
|
265
273
|
/* The two-step edge and the drop, through the level's own names: in DARK that is
|
|
266
274
|
--border-strong outside and --border one pixel inside it, then the drop; in LIGHT
|
|
267
275
|
both lines are transparent and the drop carries the whole separation.
|
|
@@ -299,8 +307,8 @@
|
|
|
299
307
|
.amenu .ahead .anm { color: var(--strong); font-size: var(--text-sm); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
|
|
300
308
|
.amenu .ahead .aem { color: var(--text); font-size: calc(var(--text-xs) + 0.5px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
|
|
301
309
|
.amenu a { display: flex; align-items: center; gap: 11px; padding: 10px 15px; color: var(--text); text-decoration: none; font-family: var(--font-sans); font-size: var(--text-sm); cursor: pointer; }
|
|
302
|
-
.amenu a:hover { outline: 1px solid var(--control-edge); outline-offset: -1px; background: var(--surface); /*
|
|
303
|
-
.amenu a:focus-visible { outline:
|
|
310
|
+
.amenu a:hover { outline: 1px solid var(--control-edge); outline-offset: -1px; background: var(--surface); /* code-bg: inherit — control paint; the containing surface is the ground, for a chip and for a band alike. */ }
|
|
311
|
+
.amenu a:focus-visible { outline: var(--ring); outline-offset: var(--ring-offset); border-radius: var(--radius-xs); }
|
|
304
312
|
.amenu a.cur { color: var(--accent); }
|
|
305
313
|
.amenu a svg { width: 19px; height: 19px; flex: none; stroke: currentColor; fill: none; stroke-width: 2; opacity: 0.85; }
|
|
306
314
|
.amenu .asep { height: 1px; background: var(--border); margin: 5px 0; }
|
package/src/tokens/tokens.css
CHANGED
|
@@ -254,27 +254,32 @@
|
|
|
254
254
|
reading one gets nothing rather than an unresolved var(), and a consumer who wants a
|
|
255
255
|
cast shadow sets them. Nothing in src/ reads them.
|
|
256
256
|
|
|
257
|
-
A transparent shadow, not `none`, because these are read in a LIST
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
257
|
+
A transparent shadow, not `none`, because these are read in a LIST — a surface's
|
|
258
|
+
edge and its drop are two layers of one declaration — and `none` is valid only
|
|
259
|
+
alone, so it makes the whole declaration invalid and takes the layers beside it
|
|
260
|
+
with it. `0 0 #0000` composes. why: docs/foundations.md#elevation */
|
|
261
261
|
--shadow-sm: 0 0 #0000;
|
|
262
262
|
--shadow-md: 0 0 #0000;
|
|
263
263
|
--shadow-lg: 0 0 #0000;
|
|
264
264
|
--shadow-seg: 0 0 #0000;
|
|
265
265
|
--shadow-card: 0 0 #0000;
|
|
266
|
-
/*
|
|
266
|
+
/* ONE band, drawn as a real OUTLINE, and no halo. Artur took the halo off on #578
|
|
267
|
+
after #557 drew a scroll region's band without one. An outline leaves its offset
|
|
268
|
+
UNPAINTED, so the 1px between the control and the band is whatever surface the
|
|
269
|
+
control is already standing on — which is what retired --ring-gap and the
|
|
270
|
+
per-surface recomposition behind it, and what leaves forced colors a real outline
|
|
271
|
+
to repaint instead of a transparent stand-in.
|
|
272
|
+
why: docs/foundations.md#the-focus-ring */
|
|
267
273
|
--ring-width: 2px;
|
|
268
274
|
--ring-color: var(--accent);
|
|
269
275
|
--ring-gap-width: 1px;
|
|
270
|
-
--ring
|
|
271
|
-
--ring:
|
|
272
|
-
/* What a scroll region inside a surface takes:
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
--ring-scroll: var(--ring-width) solid var(--ring-color);
|
|
276
|
+
--ring: var(--ring-width) solid var(--ring-color);
|
|
277
|
+
--ring-offset: var(--ring-gap-width);
|
|
278
|
+
/* What a scroll region inside a surface takes: the same band, drawn inward rather
|
|
279
|
+
than outward, because an inset shadow is painted under the box's own children and
|
|
280
|
+
a table scrolled under one erases it. Only the offset differs. Chosen by Artur on
|
|
281
|
+
#531 round r30. why: docs/foundations.md#the-focus-ring */
|
|
282
|
+
--ring-scroll: var(--ring);
|
|
278
283
|
--ring-scroll-offset: calc(-1 * (var(--ring-gap-width) + var(--ring-width)));
|
|
279
284
|
|
|
280
285
|
/* The ink a cast shadow is made of, and the specular white that reads as gloss on a
|
|
@@ -297,7 +302,7 @@
|
|
|
297
302
|
/* The ladder's two resting rungs, which only light climbs. Transparent here and
|
|
298
303
|
not `none`, for the reason the deprecated --shadow-* tokens are: these are read
|
|
299
304
|
in a layer list, and `none` is valid only alone — it would invalidate the whole
|
|
300
|
-
declaration and take the
|
|
305
|
+
declaration and take the layers beside it with it. why: docs/foundations.md#elevation */
|
|
301
306
|
--elev-rest: 0 0 #0000; /* a card */
|
|
302
307
|
--elev-rail: 0 0 #0000; /* the shell's rail, cast sideways */
|
|
303
308
|
|
|
@@ -436,7 +441,7 @@
|
|
|
436
441
|
--shadow-lg: 0 0 #0000;
|
|
437
442
|
--shadow-seg: 0 0 #0000;
|
|
438
443
|
--shadow-card: 0 0 #0000;
|
|
439
|
-
/* No --ring here. :root's is var(--accent), and light re-points --accent. */
|
|
444
|
+
/* No --ring here. :root's band is var(--accent), and light re-points --accent. */
|
|
440
445
|
|
|
441
446
|
--shadow-ink: #1e1e32;
|
|
442
447
|
--sheen: #ffffff;
|
|
@@ -505,11 +510,9 @@
|
|
|
505
510
|
* Held by stories/code-chip.test.js. why: docs/foundations.md#elevation */
|
|
506
511
|
:root { --code-bg: var(--surface); }
|
|
507
512
|
|
|
508
|
-
/*
|
|
509
|
-
*
|
|
510
|
-
*
|
|
511
|
-
* chip cannot both paint --code-bg and re-point it, and its gap has to be the surface it
|
|
512
|
-
* actually paints. why: docs/foundations.md#the-focus-ring */
|
|
513
|
+
/* Every painted container hands an inline code chip the page. One recipe keeps surface
|
|
514
|
+
* propagation cheap and consistent. The ring is not in this list since #578: an outline
|
|
515
|
+
* paints no gap of its own, so a focused control needs nothing handed down to it. */
|
|
513
516
|
.amenu,
|
|
514
517
|
.dtsw,
|
|
515
518
|
.rx-modal,
|
|
@@ -542,7 +545,6 @@
|
|
|
542
545
|
.ui-toast--outline,
|
|
543
546
|
.ui-toast--solid,
|
|
544
547
|
.vsw__menu {
|
|
545
|
-
--ring: 0 0 0 var(--ring-gap-width) var(--ring-gap), 0 0 0 calc(var(--ring-gap-width) + var(--ring-width)) var(--ring-color), 0 0 12px 2px color-mix(in srgb, var(--ring-color) 45%, transparent);
|
|
546
548
|
--code-bg: var(--bg);
|
|
547
549
|
}
|
|
548
550
|
|
|
@@ -574,13 +576,3 @@
|
|
|
574
576
|
.ui-callout--warn,
|
|
575
577
|
.ui-callout--danger,
|
|
576
578
|
.ui-success { --code-bg: var(--wash-code-bg); }
|
|
577
|
-
|
|
578
|
-
/* A container focused itself paints outside its own surface; descendants only
|
|
579
|
-
* inherit its inside gap again after focus moves to them. A scroll region inside one
|
|
580
|
-
* needs no entry here: --ring-scroll paints no gap of its own, so the 1px it leaves is
|
|
581
|
-
* whatever the region is already standing on. #531 */
|
|
582
|
-
.ui-card:focus-visible,
|
|
583
|
-
.ui-cmdk__panel:focus-visible,
|
|
584
|
-
.ui-confirm__panel:focus-visible,
|
|
585
|
-
.ui-drawer__panel:focus-visible,
|
|
586
|
-
.rx-modal:focus-visible { --ring-gap: inherit; }
|