anentrypoint-design 0.0.323 → 0.0.325
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/README.md +22 -2
- package/app-shell.css +24 -4793
- package/colors_and_type.css +43 -0
- package/dist/247420.css +104 -49
- package/dist/247420.js +82 -19
- package/package.json +20 -8
- package/scripts/lint-glyphs.mjs +105 -0
- package/scripts/lint-null-children.mjs +129 -0
- package/src/bootstrap.js +10 -1
- package/src/community-app.js +3 -3
- package/src/components/chat-message-parts.js +356 -0
- package/src/components/chat.js +28 -324
- package/src/components/content.js +9 -5
- package/src/components/data-density.js +15 -10
- package/src/components/editor-primitives.js +2 -2
- package/src/components/files-modals.js +5 -4
- package/src/components/files.js +5 -1
- package/src/components/freddie/helpers.js +46 -8
- package/src/components/freddie.js +1 -9
- package/src/components/interaction-primitives.js +6 -6
- package/src/components/sessions.js +15 -0
- package/src/components/shell.js +8 -8
- package/src/components/theme-toggle.js +2 -2
- package/src/components.js +1 -1
- package/src/css/app-shell/base.css +157 -0
- package/src/css/app-shell/catalog-theme.css +140 -0
- package/src/css/app-shell/chat-basic.css +12 -0
- package/src/css/app-shell/chat-polish.css +459 -0
- package/src/css/app-shell/data-density.css +147 -0
- package/src/css/app-shell/files.css +709 -0
- package/src/css/app-shell/hero-content.css +405 -0
- package/src/css/app-shell/kits-appended.css +361 -0
- package/src/css/app-shell/loading-alerts.css +120 -0
- package/src/css/app-shell/panel-row.css +177 -0
- package/src/css/app-shell/primitives.css +197 -0
- package/src/css/app-shell/responsive.css +266 -0
- package/src/css/app-shell/responsive2-workspace.css +465 -0
- package/src/css/app-shell/row-print.css +75 -0
- package/src/css/app-shell/sidebar-misc.css +79 -0
- package/src/css/app-shell/states-interactions.css +707 -0
- package/src/css/app-shell/topbar.css +319 -0
- package/src/deck-stage.js +6 -4
- package/src/highlight.js +20 -4
- package/src/i18n.js +58 -0
- package/src/index.js +22 -7
- package/src/kits/os/freddie/pages-chat.js +5 -5
- package/src/kits/os/freddie/pages-core.js +1 -1
- package/src/kits/os/freddie/pages-os.js +1 -1
- package/src/kits/os/freddie/pages-tools.js +2 -2
- package/src/kits/os/terminal-app.js +1 -1
- package/src/kits/os/wm.js +38 -0
- package/src/kits/slides/deck-stage-overlay.js +68 -0
- package/src/kits/slides/deck-stage-state.js +81 -0
- package/src/kits/slides/deck-stage-style.js +117 -0
- package/src/kits/slides/deck-stage.js +167 -0
- package/src/kits/slides/index.js +5 -0
- package/src/lint.js +10 -0
- package/src/markdown.js +89 -11
- package/src/page-html.js +121 -4
- package/src/theme.js +7 -7
- package/src/uid.js +16 -0
- package/src/kits/os/freddie/helpers.js +0 -33
package/colors_and_type.css
CHANGED
|
@@ -535,6 +535,49 @@ select:focus-visible {
|
|
|
535
535
|
}
|
|
536
536
|
}
|
|
537
537
|
|
|
538
|
+
/* ============================================================
|
|
539
|
+
Semantic alias tier — primitive -> semantic -> component
|
|
540
|
+
------------------------------------------------------------
|
|
541
|
+
Three layers, in order:
|
|
542
|
+
1. PRIMITIVE (above) raw palette values: --acid, --green, --sky, --warn,
|
|
543
|
+
--panel-1/2/3, --paper/--ink, etc. These are the only tokens that ever
|
|
544
|
+
carry a literal color/length. A re-brand edits primitives.
|
|
545
|
+
2. SEMANTIC (here) named-by-INTENT aliases that resolve to a primitive
|
|
546
|
+
(e.g. --accent: var(--panel-accent)). A component or a future re-brand
|
|
547
|
+
can retune ONE semantic variable (say, --rail-danger) without hunting
|
|
548
|
+
through every primitive it happens to reuse elsewhere.
|
|
549
|
+
3. COMPONENT (app-shell.css, community.css, etc.) component sheets keep
|
|
550
|
+
consuming primitives directly today (--accent, --panel-*, --green,
|
|
551
|
+
--warn, ...) exactly as before — this tier does not repoint any
|
|
552
|
+
existing component rule. It exists so a FUTURE swap has a semantic
|
|
553
|
+
layer ready to migrate onto, one component sheet at a time, without
|
|
554
|
+
a flag-day rewrite. Purely additive: no primitive token's name or
|
|
555
|
+
value changes here, and no component references these new names yet.
|
|
556
|
+
|
|
557
|
+
Naming matches vocabulary already established elsewhere in this system:
|
|
558
|
+
--surface-1/2 mirror the --panel-1/--panel-2 tonal-surface steps already
|
|
559
|
+
used across app-shell.css/community.css; --rail-info/-success/-warning/-error
|
|
560
|
+
mirror the canonical .tone-info/.tone-success/.tone-warning/.tone-error
|
|
561
|
+
banner/badge/chip severity names (app-shell.css L592, community.css
|
|
562
|
+
.cm-banner.tone-*) rather than inventing a new severity vocabulary.
|
|
563
|
+
============================================================ */
|
|
564
|
+
:root {
|
|
565
|
+
/* --accent already exists as a primitive-facing alias (var(--acid)) above;
|
|
566
|
+
restated here under the semantic tier for discoverability alongside its
|
|
567
|
+
siblings. Same value, same token — not a second definition. */
|
|
568
|
+
--surface-1: var(--panel-1);
|
|
569
|
+
--surface-2: var(--panel-2);
|
|
570
|
+
|
|
571
|
+
/* Rail/status severity aliases — map onto the same color choices the
|
|
572
|
+
existing .cm-banner.tone-* rules in community.css already use, so a
|
|
573
|
+
future rail/indicator component can consume one semantic name instead
|
|
574
|
+
of picking the right primitive per severity by hand. */
|
|
575
|
+
--rail-info: var(--sky);
|
|
576
|
+
--rail-success: var(--green-2);
|
|
577
|
+
--rail-warning: var(--amber);
|
|
578
|
+
--rail-error: var(--warn);
|
|
579
|
+
}
|
|
580
|
+
|
|
538
581
|
/* Elevation tokens consumed by overlays (Tooltip, Popover, Dropdown, Dialog). */
|
|
539
582
|
:root {
|
|
540
583
|
--shadow-1: 0 1px 2px color-mix(in oklab, var(--fg) 8%, transparent);
|
package/dist/247420.css
CHANGED
|
@@ -537,6 +537,49 @@
|
|
|
537
537
|
}
|
|
538
538
|
}
|
|
539
539
|
|
|
540
|
+
/* ============================================================
|
|
541
|
+
Semantic alias tier — primitive -> semantic -> component
|
|
542
|
+
------------------------------------------------------------
|
|
543
|
+
Three layers, in order:
|
|
544
|
+
1. PRIMITIVE (above) raw palette values: --acid, --green, --sky, --warn,
|
|
545
|
+
--panel-1/2/3, --paper/--ink, etc. These are the only tokens that ever
|
|
546
|
+
carry a literal color/length. A re-brand edits primitives.
|
|
547
|
+
2. SEMANTIC (here) named-by-INTENT aliases that resolve to a primitive
|
|
548
|
+
(e.g. --accent: var(--panel-accent)). A component or a future re-brand
|
|
549
|
+
can retune ONE semantic variable (say, --rail-danger) without hunting
|
|
550
|
+
through every primitive it happens to reuse elsewhere.
|
|
551
|
+
3. COMPONENT (app-shell.css, community.css, etc.) component sheets keep
|
|
552
|
+
consuming primitives directly today (--accent, --panel-*, --green,
|
|
553
|
+
--warn, ...) exactly as before — this tier does not repoint any
|
|
554
|
+
existing component rule. It exists so a FUTURE swap has a semantic
|
|
555
|
+
layer ready to migrate onto, one component sheet at a time, without
|
|
556
|
+
a flag-day rewrite. Purely additive: no primitive token's name or
|
|
557
|
+
value changes here, and no component references these new names yet.
|
|
558
|
+
|
|
559
|
+
Naming matches vocabulary already established elsewhere in this system:
|
|
560
|
+
--surface-1/2 mirror the --panel-1/--panel-2 tonal-surface steps already
|
|
561
|
+
used across app-shell.css/community.css; --rail-info/-success/-warning/-error
|
|
562
|
+
mirror the canonical .tone-info/.tone-success/.tone-warning/.tone-error
|
|
563
|
+
banner/badge/chip severity names (app-shell.css L592, community.css
|
|
564
|
+
.cm-banner.tone-*) rather than inventing a new severity vocabulary.
|
|
565
|
+
============================================================ */
|
|
566
|
+
.ds-247420 {
|
|
567
|
+
/* --accent already exists as a primitive-facing alias (var(--acid)) above;
|
|
568
|
+
restated here under the semantic tier for discoverability alongside its
|
|
569
|
+
siblings. Same value, same token — not a second definition. */
|
|
570
|
+
--surface-1: var(--panel-1);
|
|
571
|
+
--surface-2: var(--panel-2);
|
|
572
|
+
|
|
573
|
+
/* Rail/status severity aliases — map onto the same color choices the
|
|
574
|
+
existing .cm-banner.tone-* rules in community.css already use, so a
|
|
575
|
+
future rail/indicator component can consume one semantic name instead
|
|
576
|
+
of picking the right primitive per severity by hand. */
|
|
577
|
+
--rail-info: var(--sky);
|
|
578
|
+
--rail-success: var(--green-2);
|
|
579
|
+
--rail-warning: var(--amber);
|
|
580
|
+
--rail-error: var(--warn);
|
|
581
|
+
}
|
|
582
|
+
|
|
540
583
|
/* Elevation tokens consumed by overlays (Tooltip, Popover, Dropdown, Dialog). */
|
|
541
584
|
.ds-247420 {
|
|
542
585
|
--shadow-1: 0 1px 2px color-mix(in oklab, var(--fg) 8%, transparent);
|
|
@@ -1799,12 +1842,10 @@
|
|
|
1799
1842
|
.ds-247420 .row-form input:focus-visible,
|
|
1800
1843
|
.ds-247420 .row-form textarea:focus-visible { box-shadow: var(--focus-ring-inset); }
|
|
1801
1844
|
|
|
1802
|
-
/* Field char counter (TextField maxLength)
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
text-align: right;
|
|
1807
|
-
}
|
|
1845
|
+
/* Field char counter (TextField maxLength) — canonical definition is with
|
|
1846
|
+
the rest of the .ds-field family below (states-interactions.css); this
|
|
1847
|
+
duplicate was removed to stop the two bodies fighting on stylesheet load
|
|
1848
|
+
order. */
|
|
1808
1849
|
|
|
1809
1850
|
/* Multi-column form layout (Form columns prop) */
|
|
1810
1851
|
.ds-247420 .row-form[data-columns="2"] { grid-template-columns: repeat(2, 1fr); }
|
|
@@ -2903,14 +2944,10 @@
|
|
|
2903
2944
|
.ds-247420 .ds-shortcuts-hint .ds-kbd { white-space: normal; max-width: 100%; }
|
|
2904
2945
|
.ds-247420 .ds-kbd-caps { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px; }
|
|
2905
2946
|
.ds-247420 .ds-kbd-sep { color: var(--fg-3); font-size: var(--fs-micro); padding: 0 2px; }
|
|
2906
|
-
|
|
2907
|
-
|
|
2908
|
-
|
|
2909
|
-
|
|
2910
|
-
border-bottom-width: 2px;
|
|
2911
|
-
font-family: var(--ff-mono); font-size: var(--fs-micro); color: var(--fg-2);
|
|
2912
|
-
white-space: nowrap;
|
|
2913
|
-
}
|
|
2947
|
+
/* .ds-kbd base definition lives in editor-primitives.css (canonical home —
|
|
2948
|
+
it owns the fuller ds-kbd-group/ds-kbd-row family this key chip belongs
|
|
2949
|
+
to); this file only carries the .ds-shortcuts-hint contextual overrides
|
|
2950
|
+
above. */
|
|
2914
2951
|
|
|
2915
2952
|
/* ============================================================
|
|
2916
2953
|
Theme toggle (segmented + compact) — bound to src/theme.js
|
|
@@ -3867,14 +3904,25 @@
|
|
|
3867
3904
|
}
|
|
3868
3905
|
.ds-247420 .ds-field-label {
|
|
3869
3906
|
font-size: var(--fs-sm, 14px);
|
|
3907
|
+
font-weight: 500;
|
|
3870
3908
|
color: var(--fg-2);
|
|
3871
3909
|
line-height: 1.3;
|
|
3872
3910
|
}
|
|
3911
|
+
.ds-247420 .ds-field-required {
|
|
3912
|
+
color: var(--danger);
|
|
3913
|
+
font-weight: 700;
|
|
3914
|
+
margin-left: 2px;
|
|
3915
|
+
}
|
|
3873
3916
|
.ds-247420 .ds-field-hint {
|
|
3874
3917
|
font-size: var(--fs-tiny, 13px);
|
|
3875
3918
|
color: var(--fg-3);
|
|
3876
3919
|
line-height: 1.35;
|
|
3877
3920
|
}
|
|
3921
|
+
.ds-247420 .ds-field-error {
|
|
3922
|
+
color: var(--danger);
|
|
3923
|
+
font-size: var(--fs-tiny, 13px);
|
|
3924
|
+
font-weight: 500;
|
|
3925
|
+
}
|
|
3878
3926
|
.ds-247420 .ds-field-count {
|
|
3879
3927
|
font-size: var(--fs-tiny, 13px);
|
|
3880
3928
|
color: var(--fg-3);
|
|
@@ -4920,13 +4968,10 @@
|
|
|
4920
4968
|
.ds-247420 .ds-sub-btn:hover { border-color: var(--accent); color: var(--accent-ink); }
|
|
4921
4969
|
.ds-247420 .ds-sub-btn span { display: block; font-size: 18px; font-weight: 700; color: var(--accent-ink); }
|
|
4922
4970
|
|
|
4923
|
-
/* SessionRow
|
|
4924
|
-
|
|
4925
|
-
|
|
4926
|
-
|
|
4927
|
-
border-bottom: var(--bw-hair) solid var(--bg-3); cursor: pointer;
|
|
4928
|
-
}
|
|
4929
|
-
.ds-247420 .ds-session-row:hover { background: var(--bg-3); }
|
|
4971
|
+
/* SessionRow — base .ds-session-row (layout, hover/focus/active states,
|
|
4972
|
+
rail-tone indicators) is canonically defined in chat.css alongside the
|
|
4973
|
+
rest of the chat session-list component; this file only carries the
|
|
4974
|
+
dev/admin-row sub-parts (id/counts/devcnt/span) that decorate it. */
|
|
4930
4975
|
.ds-247420 .ds-session-row-id {
|
|
4931
4976
|
font-family: var(--ff-mono); font-size: var(--fs-micro); color: var(--accent-ink);
|
|
4932
4977
|
flex: 0 1 160px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
|
|
@@ -9051,25 +9096,10 @@
|
|
|
9051
9096
|
display: flex; flex-direction: column; gap: var(--space-1, 4px);
|
|
9052
9097
|
margin-bottom: var(--space-2, 8px);
|
|
9053
9098
|
}
|
|
9054
|
-
.ds-
|
|
9055
|
-
|
|
9056
|
-
|
|
9057
|
-
|
|
9058
|
-
}
|
|
9059
|
-
.ds-247420 .ds-field-required {
|
|
9060
|
-
color: var(--danger);
|
|
9061
|
-
font-weight: 700;
|
|
9062
|
-
margin-left: 2px;
|
|
9063
|
-
}
|
|
9064
|
-
.ds-247420 .ds-field-hint {
|
|
9065
|
-
color: var(--fg-3, var(--fg-2));
|
|
9066
|
-
font-size: var(--fs-tiny, 12px);
|
|
9067
|
-
}
|
|
9068
|
-
.ds-247420 .ds-field-error {
|
|
9069
|
-
color: var(--danger);
|
|
9070
|
-
font-size: var(--fs-tiny, 12px);
|
|
9071
|
-
font-weight: 500;
|
|
9072
|
-
}
|
|
9099
|
+
/* .ds-field-label / .ds-field-required / .ds-field-hint / .ds-field-error
|
|
9100
|
+
canonical definitions now live in app-shell.css alongside the rest of the
|
|
9101
|
+
.ds-field family (this file's .ds-field-wrap consumes them by class name).
|
|
9102
|
+
Removed here to stop the two bodies fighting on stylesheet load order. */
|
|
9073
9103
|
.ds-247420 .ds-field-wrap [aria-invalid="true"] {
|
|
9074
9104
|
border-color: var(--danger) !important;
|
|
9075
9105
|
}
|
|
@@ -9663,9 +9693,26 @@
|
|
|
9663
9693
|
the app-composition wrapper, the server+channel rail pills, the voice view grid,
|
|
9664
9694
|
and the category-color tokens the consumer avatars use. All scoped under
|
|
9665
9695
|
.ds-247420. Additive — defines only the ca- prefix, group, rail-empty, vx-view
|
|
9666
|
-
classes plus the cat color tokens.
|
|
9667
|
-
|
|
9668
|
-
.
|
|
9696
|
+
classes plus the cat color tokens.
|
|
9697
|
+
|
|
9698
|
+
Relationship to community.css: this is NOT a fork of community.css's content
|
|
9699
|
+
-- it is a small (~150-line), genuinely distinct app-shell WRAPPER around the
|
|
9700
|
+
canonical, complete community surface. community.css (~1650 lines) owns every
|
|
9701
|
+
.cm-*/.ds-247420 .vx-* component (server rail, channel sidebar, chat header, member list,
|
|
9702
|
+
voice PTT/VAD/webcam, thread panel, forum, page view) and is the canonical, .ds-247420 actively-referenced stylesheet -- it is the one listed in package.json's
|
|
9703
|
+
`exports`/`files`, the one scripts/build.mjs and scripts/lint-tokens.mjs treat
|
|
9704
|
+
as a first-class component sheet on its own, and the one THEME.md/
|
|
9705
|
+
COMPONENT_API.md document as the load-order anchor
|
|
9706
|
+
(colors_and_type.css -> app-shell.css -> community.css -> chat.css ->
|
|
9707
|
+
editor-primitives.css -> community-app.css -> app-surfaces.css). This file
|
|
9708
|
+
loads strictly AFTER community.css (see ui_kits/community-app/index.html) and
|
|
9709
|
+
only adds the .ca-* composition shell + category-color tokens that
|
|
9710
|
+
community.css deliberately has no opinion about -- it never redefines a
|
|
9711
|
+
.cm-*/.vx-* rule community.css already owns. Canonical tokens/rules live in
|
|
9712
|
+
community.css; only overrides/additions specific to mountCommunityApp's own
|
|
9713
|
+
composition live here. */
|
|
9714
|
+
|
|
9715
|
+
html.ds-247420 .ca-app {
|
|
9669
9716
|
display: flex;
|
|
9670
9717
|
flex-direction: column;
|
|
9671
9718
|
height: 100vh;
|
|
@@ -10140,7 +10187,15 @@
|
|
|
10140
10187
|
}
|
|
10141
10188
|
}
|
|
10142
10189
|
|
|
10143
|
-
.ds-
|
|
10190
|
+
/* .ds-cli-block — the multi-row article/transcript container (CliBlock()'s
|
|
10191
|
+
outer wrapper holding stacked .ds-cli-row / .ds-cli-comment children).
|
|
10192
|
+
Distinct from the bare `.cli` single prompt+cmd row primitive owned by
|
|
10193
|
+
app-shell.css (Install(), HeroFromPageData(), terminal/site quickstart
|
|
10194
|
+
lines) — the two used to share the `.cli` selector with incompatible
|
|
10195
|
+
display models (flex row vs block transcript), so whichever stylesheet
|
|
10196
|
+
loaded last silently won for both consumers. Renamed here to remove the
|
|
10197
|
+
collision; see content.js CliBlock(). */
|
|
10198
|
+
.ds-247420 .ds-cli-block {
|
|
10144
10199
|
display: block;
|
|
10145
10200
|
background: var(--panel-1);
|
|
10146
10201
|
border-radius: var(--r-0);
|
|
@@ -10155,7 +10210,7 @@
|
|
|
10155
10210
|
white-space: pre-wrap;
|
|
10156
10211
|
word-break: break-word;
|
|
10157
10212
|
}
|
|
10158
|
-
.ds-247420 .cli .ds-cli-comment {
|
|
10213
|
+
.ds-247420 .ds-cli-block .ds-cli-comment {
|
|
10159
10214
|
color: var(--panel-text-3);
|
|
10160
10215
|
white-space: pre-wrap;
|
|
10161
10216
|
word-break: break-word;
|
|
@@ -10163,20 +10218,20 @@
|
|
|
10163
10218
|
padding: 3px 0;
|
|
10164
10219
|
line-height: 1.6;
|
|
10165
10220
|
}
|
|
10166
|
-
.ds-247420 .cli .ds-cli-comment:empty::before { content: '\00a0'; }
|
|
10167
|
-
.ds-247420 .cli .ds-cli-row {
|
|
10221
|
+
.ds-247420 .ds-cli-block .ds-cli-comment:empty::before { content: '\00a0'; }
|
|
10222
|
+
.ds-247420 .ds-cli-block .ds-cli-row {
|
|
10168
10223
|
display: flex;
|
|
10169
10224
|
gap: 10px;
|
|
10170
10225
|
padding: 3px 0;
|
|
10171
10226
|
white-space: pre-wrap;
|
|
10172
10227
|
word-break: break-word;
|
|
10173
10228
|
}
|
|
10174
|
-
.ds-247420 .cli .ds-cli-row .prompt {
|
|
10229
|
+
.ds-247420 .ds-cli-block .ds-cli-row .prompt {
|
|
10175
10230
|
color: var(--panel-accent);
|
|
10176
10231
|
flex: 0 0 auto;
|
|
10177
10232
|
user-select: none;
|
|
10178
10233
|
}
|
|
10179
|
-
.ds-247420 .cli .ds-cli-row .cmd {
|
|
10234
|
+
.ds-247420 .ds-cli-block .ds-cli-row .cmd {
|
|
10180
10235
|
color: var(--panel-text);
|
|
10181
10236
|
flex: 1 1 auto;
|
|
10182
10237
|
white-space: pre-wrap;
|