anentrypoint-design 0.0.389 → 0.0.391
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/chat.css +14 -3
- package/colors_and_type.css +40 -0
- package/dist/247420.css +64 -4
- package/dist/247420.js +28 -28
- package/package.json +6 -2
- package/scripts/lint-css.mjs +2 -0
- package/src/components/chat/message.js +10 -2
- package/src/components/chat/threads.js +6 -1
- package/src/components/community/navigation.js +14 -3
- package/src/components/shell/app-shell.js +16 -4
- package/src/components/shell/icons.js +1 -0
- package/src/components/shell/workspace-columns.js +25 -4
- package/src/css/app-shell/chat-polish.css +10 -1
package/chat.css
CHANGED
|
@@ -428,8 +428,15 @@
|
|
|
428
428
|
would otherwise share a hue. Mirrors the rail-tone shape differentiation. */
|
|
429
429
|
/* One canonical stale tone (disc + word + rail share it) — a muted grey-warn,
|
|
430
430
|
deliberately desaturated so it is NOT the saturated --amber used by
|
|
431
|
-
connecting/connecting-stream (which would re-collide hues).
|
|
432
|
-
|
|
431
|
+
connecting/connecting-stream (which would re-collide hues).
|
|
432
|
+
|
|
433
|
+
The mix is grey-dominant, NOT warn-dominant: at 70% --warn this measured
|
|
434
|
+
1.09:1 against --bg in dark theme (and 1.28:1 on a panel) as the `idle` word
|
|
435
|
+
in .ds-dash-status and .seg.is-idle — text that is present but effectively
|
|
436
|
+
unreadable. --fg-3 is the tier-3 TEXT tone and already carries a legible
|
|
437
|
+
contrast, so leading with it keeps the warn hue as a tint while restoring
|
|
438
|
+
readability. Measured after the change in a live browser. */
|
|
439
|
+
:root { --stale: color-mix(in oklab, var(--fg-3) 78%, var(--warn)); }
|
|
433
440
|
/* Live: a persistent faint concentric ring (resting shape channel, independent
|
|
434
441
|
of motion) with the pulse layered on top — so even at the pulse trough the
|
|
435
442
|
disc reads as solid-fill + ring, never a bare solid that aliases stale. */
|
|
@@ -595,7 +602,11 @@
|
|
|
595
602
|
.ds-dash-header .btn-primary.danger:hover {
|
|
596
603
|
background: color-mix(in oklab, var(--warn) 12%, transparent); color: var(--warn);
|
|
597
604
|
}
|
|
598
|
-
|
|
605
|
+
/* --ink, not --paper, on the armed fill: --warn (#FF5A52) is a light-ish red,
|
|
606
|
+
so paper-on-warn measures 2.72:1 (below the 4.5:1 floor) while ink-on-warn
|
|
607
|
+
measures 6.27:1. This is the same --accent/--accent-ink split the token layer
|
|
608
|
+
documents -- a saturated fill needs the dark text tone, not the light one. */
|
|
609
|
+
.ds-dash-header .btn-primary.danger.is-armed { background: var(--warn); color: var(--ink); border-color: var(--warn); }
|
|
599
610
|
.ds-dash-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: var(--space-2); padding: var(--space-3); }
|
|
600
611
|
@media (min-width: 1500px) { .ds-dash-grid { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); } }
|
|
601
612
|
.ds-dash-card { display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-3); background: var(--bg-2); border: var(--bw-hair) solid var(--bg-3); border-radius: var(--r-2); }
|
package/colors_and_type.css
CHANGED
|
@@ -125,6 +125,17 @@
|
|
|
125
125
|
--cat-flame: var(--flame);
|
|
126
126
|
--cat-sky: var(--sky);
|
|
127
127
|
|
|
128
|
+
/* Readable TEXT tones for the category hues — the same FILL/TEXT split the
|
|
129
|
+
lead accent already draws with --accent (fill) vs --accent-ink (text).
|
|
130
|
+
The bare --cat-* values are chroma-matched to sit behind ink on a swatch,
|
|
131
|
+
avatar, or tag; as `color:` on newsprint paper they land at ~3.1:1, under
|
|
132
|
+
the 4.5:1 floor. Any `color:` use of a category hue takes the -ink tone;
|
|
133
|
+
only background/border-color take the bare one. Each -deep source is
|
|
134
|
+
already remapped per-theme below, so these follow the theme too. */
|
|
135
|
+
--cat-green-ink: var(--green-deep);
|
|
136
|
+
--cat-purple-ink: var(--purple-deep);
|
|
137
|
+
--cat-mascot-ink: var(--mascot-deep);
|
|
138
|
+
|
|
128
139
|
--panel-bg: var(--bg);
|
|
129
140
|
--panel-bg-2: var(--bg-2);
|
|
130
141
|
--panel-accent: var(--accent);
|
|
@@ -422,6 +433,25 @@ select:focus-visible {
|
|
|
422
433
|
(#E0241A / #3A6EFF) are too dark on ink; these clear AA 4.5:1 on --ink. */
|
|
423
434
|
--warn: #FF5A52;
|
|
424
435
|
--sky: #6E9BFF;
|
|
436
|
+
/* Category/heritage dark-tuned pairs (same convention as flame/amber/warn/
|
|
437
|
+
sky above): the :root values are the PAPER tones and go dark-on-dark here.
|
|
438
|
+
Measured on --ink (#0E0E12) / --bg-2 (#1F1F26): mascot-deep #B81F63 was
|
|
439
|
+
3.13:1 / 2.66:1, purple-2 #7F18A4 2.36:1 / 2.00:1, green #247420 3.30:1 /
|
|
440
|
+
2.80:1 — all failing AA for the text roles they carry (aicat/community
|
|
441
|
+
author names, kpi deltas, stamps, rails). The replacements clear 4.5:1 on
|
|
442
|
+
BOTH ink surfaces: #FF5C9E 6.67/5.67, #C277FF 6.77/5.75, #5CBF52 8.28/7.04.
|
|
443
|
+
These are text-tone retunes only — the paper values are untouched. */
|
|
444
|
+
--mascot-deep: #FF5C9E;
|
|
445
|
+
--purple-2: #C277FF;
|
|
446
|
+
--green: #5CBF52;
|
|
447
|
+
/* --cat-*-ink text tones for dark. The :root sources (--green-deep #133F10,
|
|
448
|
+
--purple-deep #220026) are near-black PAPER tones — on ink they land at
|
|
449
|
+
1.60:1 / 1.01:1, i.e. invisible. Repoint them at the dark-tuned values
|
|
450
|
+
already proven above: #5CBF52 8.28:1 on ink / 7.04:1 on --bg-2, #C277FF
|
|
451
|
+
6.77:1 / 5.75:1. --cat-mascot-ink needs no entry here: it tracks
|
|
452
|
+
--mascot-deep, which this same block already remaps to #FF5C9E. */
|
|
453
|
+
--cat-green-ink: #5CBF52;
|
|
454
|
+
--cat-purple-ink: #C277FF;
|
|
425
455
|
--code-string: var(--green-2);
|
|
426
456
|
--code-keyword: var(--sky);
|
|
427
457
|
--code-fn: var(--flame);
|
|
@@ -470,6 +500,13 @@ select:focus-visible {
|
|
|
470
500
|
--amber: #D9A93A;
|
|
471
501
|
--warn: #FF5A52;
|
|
472
502
|
--sky: #6E9BFF;
|
|
503
|
+
/* Mirrors the [data-theme="ink"] category retune above token-for-token —
|
|
504
|
+
see that block for the measured before/after ratios. */
|
|
505
|
+
--mascot-deep: #FF5C9E;
|
|
506
|
+
--purple-2: #C277FF;
|
|
507
|
+
--green: #5CBF52;
|
|
508
|
+
--cat-green-ink: #5CBF52;
|
|
509
|
+
--cat-purple-ink: #C277FF;
|
|
473
510
|
--code-string: var(--green-2);
|
|
474
511
|
--code-keyword: var(--sky);
|
|
475
512
|
--code-fn: var(--flame);
|
|
@@ -515,6 +552,9 @@ select:focus-visible {
|
|
|
515
552
|
--cat-green: inherit;
|
|
516
553
|
--cat-purple: inherit;
|
|
517
554
|
--cat-mascot: inherit;
|
|
555
|
+
--cat-green-ink: inherit;
|
|
556
|
+
--cat-purple-ink: inherit;
|
|
557
|
+
--cat-mascot-ink: inherit;
|
|
518
558
|
--cat-sun: inherit;
|
|
519
559
|
--cat-flame: inherit;
|
|
520
560
|
--cat-sky: inherit;
|
package/dist/247420.css
CHANGED
|
@@ -127,6 +127,17 @@
|
|
|
127
127
|
--cat-flame: var(--flame);
|
|
128
128
|
--cat-sky: var(--sky);
|
|
129
129
|
|
|
130
|
+
/* Readable TEXT tones for the category hues — the same FILL/TEXT split the
|
|
131
|
+
lead accent already draws with --accent (fill) vs --accent-ink (text).
|
|
132
|
+
The bare --cat-* values are chroma-matched to sit behind ink on a swatch,
|
|
133
|
+
avatar, or tag; as `color:` on newsprint paper they land at ~3.1:1, under
|
|
134
|
+
the 4.5:1 floor. Any `color:` use of a category hue takes the -ink tone;
|
|
135
|
+
only background/border-color take the bare one. Each -deep source is
|
|
136
|
+
already remapped per-theme below, so these follow the theme too. */
|
|
137
|
+
--cat-green-ink: var(--green-deep);
|
|
138
|
+
--cat-purple-ink: var(--purple-deep);
|
|
139
|
+
--cat-mascot-ink: var(--mascot-deep);
|
|
140
|
+
|
|
130
141
|
--panel-bg: var(--bg);
|
|
131
142
|
--panel-bg-2: var(--bg-2);
|
|
132
143
|
--panel-accent: var(--accent);
|
|
@@ -424,6 +435,25 @@
|
|
|
424
435
|
(#E0241A / #3A6EFF) are too dark on ink; these clear AA 4.5:1 on --ink. */
|
|
425
436
|
--warn: #FF5A52;
|
|
426
437
|
--sky: #6E9BFF;
|
|
438
|
+
/* Category/heritage dark-tuned pairs (same convention as flame/amber/warn/
|
|
439
|
+
sky above): the :root values are the PAPER tones and go dark-on-dark here.
|
|
440
|
+
Measured on --ink (#0E0E12) / --bg-2 (#1F1F26): mascot-deep #B81F63 was
|
|
441
|
+
3.13:1 / 2.66:1, purple-2 #7F18A4 2.36:1 / 2.00:1, green #247420 3.30:1 /
|
|
442
|
+
2.80:1 — all failing AA for the text roles they carry (aicat/community
|
|
443
|
+
author names, kpi deltas, stamps, rails). The replacements clear 4.5:1 on
|
|
444
|
+
BOTH ink surfaces: #FF5C9E 6.67/5.67, #C277FF 6.77/5.75, #5CBF52 8.28/7.04.
|
|
445
|
+
These are text-tone retunes only — the paper values are untouched. */
|
|
446
|
+
--mascot-deep: #FF5C9E;
|
|
447
|
+
--purple-2: #C277FF;
|
|
448
|
+
--green: #5CBF52;
|
|
449
|
+
/* --cat-*-ink text tones for dark. The :root sources (--green-deep #133F10,
|
|
450
|
+
--purple-deep #220026) are near-black PAPER tones — on ink they land at
|
|
451
|
+
1.60:1 / 1.01:1, i.e. invisible. Repoint them at the dark-tuned values
|
|
452
|
+
already proven above: #5CBF52 8.28:1 on ink / 7.04:1 on --bg-2, #C277FF
|
|
453
|
+
6.77:1 / 5.75:1. --cat-mascot-ink needs no entry here: it tracks
|
|
454
|
+
--mascot-deep, which this same block already remaps to #FF5C9E. */
|
|
455
|
+
--cat-green-ink: #5CBF52;
|
|
456
|
+
--cat-purple-ink: #C277FF;
|
|
427
457
|
--code-string: var(--green-2);
|
|
428
458
|
--code-keyword: var(--sky);
|
|
429
459
|
--code-fn: var(--flame);
|
|
@@ -472,6 +502,13 @@
|
|
|
472
502
|
--amber: #D9A93A;
|
|
473
503
|
--warn: #FF5A52;
|
|
474
504
|
--sky: #6E9BFF;
|
|
505
|
+
/* Mirrors the [data-theme="ink"] category retune above token-for-token —
|
|
506
|
+
see that block for the measured before/after ratios. */
|
|
507
|
+
--mascot-deep: #FF5C9E;
|
|
508
|
+
--purple-2: #C277FF;
|
|
509
|
+
--green: #5CBF52;
|
|
510
|
+
--cat-green-ink: #5CBF52;
|
|
511
|
+
--cat-purple-ink: #C277FF;
|
|
475
512
|
--code-string: var(--green-2);
|
|
476
513
|
--code-keyword: var(--sky);
|
|
477
514
|
--code-fn: var(--flame);
|
|
@@ -517,6 +554,9 @@
|
|
|
517
554
|
--cat-green: inherit;
|
|
518
555
|
--cat-purple: inherit;
|
|
519
556
|
--cat-mascot: inherit;
|
|
557
|
+
--cat-green-ink: inherit;
|
|
558
|
+
--cat-purple-ink: inherit;
|
|
559
|
+
--cat-mascot-ink: inherit;
|
|
520
560
|
--cat-sun: inherit;
|
|
521
561
|
--cat-flame: inherit;
|
|
522
562
|
--cat-sky: inherit;
|
|
@@ -3762,10 +3802,19 @@
|
|
|
3762
3802
|
display: inline-flex; align-items: center; justify-content: center;
|
|
3763
3803
|
background: color-mix(in oklab, var(--mascot) 22%, var(--bg-2));
|
|
3764
3804
|
border-radius: 50%; flex-shrink: 0;
|
|
3805
|
+
/* Cancels the global `pre { overflow-x: auto }`. This is a fixed 32px
|
|
3806
|
+
decorative chip, so the art overflowing its own box made it an
|
|
3807
|
+
unreachable keyboard scroll container (WCAG scrollable-region-focusable)
|
|
3808
|
+
rather than something a user could ever usefully scroll. */
|
|
3809
|
+
overflow: hidden;
|
|
3765
3810
|
}
|
|
3766
3811
|
.ds-247420 .aicat-meta { display: flex; flex-direction: column; font-family: var(--ff-mono); font-size: var(--fs-xs); color: var(--fg-3); }
|
|
3812
|
+
/* --mascot-deep is now theme-tuned at the token layer (paper #B81F63 /
|
|
3813
|
+
ink #FF5C9E), so this needs no per-theme override. The previous
|
|
3814
|
+
[data-theme="dark"],[data-theme="ink"] override missed data-theme="auto"
|
|
3815
|
+
under OS-dark, which is how the kits actually render — the author name
|
|
3816
|
+
fell back to the paper tone at 3.13:1 on ink. */
|
|
3767
3817
|
.ds-247420 .aicat-meta .name { color: var(--mascot-deep, var(--mascot)); font-weight: 600; }
|
|
3768
|
-
.ds-247420[data-theme="dark"] .aicat-meta .name, .ds-247420[data-theme="ink"] .aicat-meta .name { color: var(--mascot); }
|
|
3769
3818
|
|
|
3770
3819
|
/* ============================================================
|
|
3771
3820
|
Sidebar polish: hide zero-count badges; tonal active state;
|
|
@@ -8781,8 +8830,15 @@
|
|
|
8781
8830
|
would otherwise share a hue. Mirrors the rail-tone shape differentiation. */
|
|
8782
8831
|
/* One canonical stale tone (disc + word + rail share it) — a muted grey-warn,
|
|
8783
8832
|
deliberately desaturated so it is NOT the saturated --amber used by
|
|
8784
|
-
connecting/connecting-stream (which would re-collide hues).
|
|
8785
|
-
|
|
8833
|
+
connecting/connecting-stream (which would re-collide hues).
|
|
8834
|
+
|
|
8835
|
+
The mix is grey-dominant, NOT warn-dominant: at 70% --warn this measured
|
|
8836
|
+
1.09:1 against --bg in dark theme (and 1.28:1 on a panel) as the `idle` word
|
|
8837
|
+
in .ds-dash-status and .seg.is-idle — text that is present but effectively
|
|
8838
|
+
unreadable. --fg-3 is the tier-3 TEXT tone and already carries a legible
|
|
8839
|
+
contrast, so leading with it keeps the warn hue as a tint while restoring
|
|
8840
|
+
readability. Measured after the change in a live browser. */
|
|
8841
|
+
.ds-247420 { --stale: color-mix(in oklab, var(--fg-3) 78%, var(--warn)); }
|
|
8786
8842
|
/* Live: a persistent faint concentric ring (resting shape channel, independent
|
|
8787
8843
|
of motion) with the pulse layered on top — so even at the pulse trough the
|
|
8788
8844
|
disc reads as solid-fill + ring, never a bare solid that aliases stale. */
|
|
@@ -8948,7 +9004,11 @@
|
|
|
8948
9004
|
.ds-247420 .ds-dash-header .btn-primary.danger:hover {
|
|
8949
9005
|
background: color-mix(in oklab, var(--warn) 12%, transparent); color: var(--warn);
|
|
8950
9006
|
}
|
|
8951
|
-
|
|
9007
|
+
/* --ink, not --paper, on the armed fill: --warn (#FF5A52) is a light-ish red,
|
|
9008
|
+
so paper-on-warn measures 2.72:1 (below the 4.5:1 floor) while ink-on-warn
|
|
9009
|
+
measures 6.27:1. This is the same --accent/--accent-ink split the token layer
|
|
9010
|
+
documents -- a saturated fill needs the dark text tone, not the light one. */
|
|
9011
|
+
.ds-247420 .ds-dash-header .btn-primary.danger.is-armed { background: var(--warn); color: var(--ink); border-color: var(--warn); }
|
|
8952
9012
|
.ds-247420 .ds-dash-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: var(--space-2); padding: var(--space-3); }
|
|
8953
9013
|
@media (min-width: 1500px) { .ds-247420 .ds-dash-grid { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); } }
|
|
8954
9014
|
.ds-247420 .ds-dash-card { display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-3); background: var(--bg-2); border: var(--bw-hair) solid var(--bg-3); border-radius: var(--r-2); }
|