@apliteni/apliteni-ui 0.120.0 → 0.121.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.
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
|
|
29
29
|
**Rule:** Drop a button’s words only when its glyph is learned everywhere, its action is on the closed list, and its name reaches assistive technology and a hover title.
|
|
30
30
|
|
|
31
|
-
**Except:**
|
|
31
|
+
**Except:** Icon-only controls on the Iconography page is the list. The folded rail shows its names beside the glyphs, so they carry no title.
|
|
32
32
|
|
|
33
33
|
**Do:** Overflow is on that list; the funnel is not.
|
|
34
34
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
**Why:** Stacking gives each label and value the full width of the block.
|
|
10
10
|
|
|
11
|
-
**Do:** Stack Paid and In transit, as
|
|
11
|
+
**Do:** Stack Paid and In transit, as Stat band tiles do in a narrow panel.
|
|
12
12
|
|
|
13
13
|
**Don't:** Force the same figures side by side in that panel.
|
|
14
14
|
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
|
|
37
37
|
**Don't:** Make both actions primary or colour every label and value with the accent.
|
|
38
38
|
|
|
39
|
-
**Except:** Keep
|
|
39
|
+
**Except:** Keep Badge success, pending and danger for their named statuses; do not replace those signals with the accent.
|
|
40
40
|
|
|
41
41
|
## Follow the consequence
|
|
42
42
|
|
|
@@ -50,4 +50,4 @@
|
|
|
50
50
|
|
|
51
51
|
**Don't:** Give the source document the leading, wider pane, or let a control inside it hold the only accent on the screen while the saved values hold none.
|
|
52
52
|
|
|
53
|
-
**Except:** Fade nothing to make a block quieter; a quieter block is smaller, later or uncoloured, never muted.
|
|
53
|
+
**Except:** Fade nothing to make a block quieter; a quieter block is smaller, later or uncoloured, never muted.
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
**Why:** Without a legend, readers need labels for unfamiliar glyphs.
|
|
10
10
|
|
|
11
|
-
**Except:** New entries require a decision and
|
|
11
|
+
**Except:** New entries require a decision and pass Earn a wordless button on Button labels. Allowed: close, copy, overflow, expand, collapse and export. Theme toggles, sidebar toggles and collapsed-rail links have separate approval.
|
|
12
12
|
|
|
13
13
|
**Do:** Show an overflow menu without words; keep the Settings label.
|
|
14
14
|
|
package/package.json
CHANGED
package/src/styles/topbar.css
CHANGED
|
@@ -231,49 +231,45 @@
|
|
|
231
231
|
the same neutral chip fill rather than the card surface — which, inside a panel that
|
|
232
232
|
is itself lighter than a card, was darker than the ground it sat on. #453 */
|
|
233
233
|
.vbadge.arch { /* muted-ink: state — archived version */ color: var(--muted); background: var(--chip-neutral-fill); /* ring-gap: inherit — translucent wash retains the opaque containing gap. */ }
|
|
234
|
-
/* The
|
|
235
|
-
|
|
236
|
-
The menu hangs the other way here. Anchored by its left edge it opened
|
|
237
|
-
rightwards off a band that is as wide as the page, and a CLOSED menu is still
|
|
238
|
-
laid out, so it scrolled the page sideways with nothing visible to explain it.
|
|
239
|
-
`.amenu` beside it has always been anchored right. On a 320px viewport the
|
|
240
|
-
page's scroll width was 527px and is 397px; the band's own controls still want
|
|
241
|
-
more room than that page has, which is #558.
|
|
242
|
-
why: guidelines/layout-and-density.md#use-the-three-breakpoints
|
|
243
|
-
held by: stories/overlay-css.test.js */
|
|
234
|
+
/* The version label drops at the shell breakpoint.
|
|
235
|
+
Anchor the menu to its right edge so a closed panel cannot widen the page. */
|
|
244
236
|
@media (max-width: 720px) {
|
|
245
237
|
.vsw__btn .lbl { display: none; }
|
|
246
238
|
.vsw__menu { left: auto; right: 0; }
|
|
247
239
|
}
|
|
248
240
|
|
|
249
|
-
/*
|
|
250
|
-
|
|
251
|
-
cut at the screen edge — the one control on this screen that opens the account
|
|
252
|
-
area. Packed to --space-2 and a flat 14px trailing gutter the band needs 367.53
|
|
253
|
-
of the 362px it has there, a 5.53px shortfall, because layout.css now pins the
|
|
254
|
-
theme switch to a full 34px square so it keeps the tap floor it was given.
|
|
255
|
-
The wordmark, the Deck/Text switch and the version label are each already at
|
|
256
|
-
the width their own text needs, and the switch must not shrink again, so the
|
|
257
|
-
account block's trailing gutter is what gives — but a FLAT 14px gutter has no
|
|
258
|
-
fallback below the width it was sized for: at 375 it has already given every
|
|
259
|
-
one of its 14px and the row is still 6.53px short, so the avatar was cut and
|
|
260
|
-
the page gained 7px of horizontal scroll (#486 review round 2), worse again
|
|
261
|
-
at 320.
|
|
262
|
-
Both carry a share now, continuously, rather than the gutter alone holding a
|
|
263
|
-
fixed budget: the gutter still narrows first, from 14px at 390 down to 0 by
|
|
264
|
-
381.53px of available row width, and once it is spent the inter-control gap
|
|
265
|
-
takes the rest, from --space-2 down to its own floor of --space-1. 381.53px is
|
|
266
|
-
this row's own fixed width minus its gutter's full 14px — not a general
|
|
267
|
-
formula, a number that belongs to this composition's own wordmark, switch and
|
|
268
|
-
version label. The avatar is whole and the page carries no horizontal scroll
|
|
269
|
-
down to 375px. 320 still falls 41.53px short with both all the way down,
|
|
270
|
-
which stays #558; it is 5px better than main's own 46.53px there, not solved.
|
|
271
|
-
why: docs/foundations.md#breakpoints */
|
|
241
|
+
/* Keep the identity controls above the view controls on a phone.
|
|
242
|
+
The toolbar pattern uses the same inset for both rows. */
|
|
272
243
|
@media (max-width: 560px) {
|
|
244
|
+
.topbar { height: auto; min-height: 52px; }
|
|
273
245
|
.topbar__in {
|
|
274
|
-
|
|
275
|
-
|
|
246
|
+
display: grid;
|
|
247
|
+
grid-template-columns: max-content minmax(0, 1fr) auto auto;
|
|
248
|
+
grid-auto-rows: minmax(44px, auto);
|
|
249
|
+
gap: var(--space-2) 0;
|
|
250
|
+
/* 4px above and 3px below, because the band's 1px border is the fourth: one row is
|
|
251
|
+
then 52px, as on a wide screen, and the shell offset below stays true. */
|
|
252
|
+
padding: var(--space-1) var(--space-3) 3px;
|
|
276
253
|
}
|
|
254
|
+
.topbar__in > .brand { grid-area: 1 / 1 / 2 / 3; justify-self: start; }
|
|
255
|
+
.topbar__in > .toggle { grid-area: 1 / 3; justify-self: end; }
|
|
256
|
+
/* The 8px beside the account is its own margin, so a hidden account leaves no gap and
|
|
257
|
+
the theme switch ends on the inset. */
|
|
258
|
+
.topbar__in > .acct { grid-area: 1 / 4; justify-self: end; margin-left: var(--space-2); }
|
|
259
|
+
.topbar__in > .spacer { display: none; }
|
|
260
|
+
.topbar__in > .dtsw { grid-area: 2 / 1; justify-self: start; }
|
|
261
|
+
/* The first column is as wide as Deck/Text and no wider, because the brand spans past it.
|
|
262
|
+
The version switch takes the flexible column and the two auto columns beside it, so its
|
|
263
|
+
width never widens the columns that pin the theme switch and the account to the row's
|
|
264
|
+
end inset. A long label gives way to an ellipsis, and 8px always stays between the
|
|
265
|
+
two controls. */
|
|
266
|
+
.topbar__in > .vsw { grid-area: 2 / 2 / 3 / -1; justify-self: end; min-width: 0; max-width: calc(100% - var(--space-2)); margin-left: var(--space-2); }
|
|
267
|
+
.vsw__btn { max-width: 100%; }
|
|
268
|
+
.vsw__btn .cur { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
269
|
+
.vsw__btn .car { flex: none; }
|
|
270
|
+
/* Two 44px rows, an 8px gap, the 4px and 3px insets and the bottom border. */
|
|
271
|
+
.ui-app-page:has(.topbar .dtsw.on),
|
|
272
|
+
.ui-app-page:has(.topbar .vsw) { --ui-app-top: 104px; }
|
|
277
273
|
}
|
|
278
274
|
|
|
279
275
|
/* Account — avatar + dropdown. Gated: hidden until the app confirms a session
|