@apliteni/apliteni-ui 0.94.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/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 +20 -20
- package/src/styles/loading.css +1 -1
- package/src/styles/motion.css +1 -1
- package/src/styles/nav.css +18 -18
- 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/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; }
|