anentrypoint-design 0.0.166 → 0.0.168
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 +1 -1
- package/app-shell.css +7 -7
- package/chat.css +13 -13
- package/colors_and_type.css +69 -0
- package/community.css +3 -3
- package/dist/247420.css +192 -63
- package/dist/247420.js +68 -36
- package/package.json +9 -3
- package/src/community-app.js +1 -1
- package/src/components/chat.js +1 -1
- package/src/components/content.js +2 -2
- package/src/components/freddie.js +3 -3
- package/src/components/shell.js +2 -2
- package/src/index.js +5 -1
- package/src/kits/os/freddie/pages-core.js +3 -3
- package/src/kits/os/freddie/pages-os.js +1 -1
- package/src/kits/os/freddie/pages-tools.js +1 -1
- package/src/kits/os/freddie/routes.js +1 -1
- package/src/kits/os/freddie-dashboard.css +7 -7
- package/src/kits/os/theme.css +129 -135
- package/src/kits/spoint/index.js +8 -0
- package/src/kits/spoint/loading-screen.css +67 -0
- package/src/kits/spoint/loading-screen.js +75 -0
- package/src/markdown-cache-perf-test.js +2 -2
- package/src/page-html.js +44 -12
- package/src/theme.js +62 -9
- package/src/web-components/ds-chat.js +1 -1
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@ The 247420 / AnEntrypoint design system, packaged as a single-file ESM SDK.
|
|
|
4
4
|
|
|
5
5
|
friendly rounded sans body, monospace only on real code, tonal surfaces over borders, indicator rails for color-coded separation, generous negative space, terminal-flavoured rhythm.
|
|
6
6
|
|
|
7
|
-
we fart in its general direction.
|
|
7
|
+
we fart in its general direction.
|
|
8
8
|
|
|
9
9
|
## install (the only step)
|
|
10
10
|
|
package/app-shell.css
CHANGED
|
@@ -134,7 +134,7 @@ code {
|
|
|
134
134
|
|
|
135
135
|
pre {
|
|
136
136
|
font-family: var(--ff-mono);
|
|
137
|
-
background: var(--panel-bg
|
|
137
|
+
background: var(--panel-bg);
|
|
138
138
|
color: var(--panel-text, inherit);
|
|
139
139
|
padding: var(--space-5);
|
|
140
140
|
overflow-x: auto;
|
|
@@ -145,7 +145,7 @@ pre {
|
|
|
145
145
|
}
|
|
146
146
|
pre .k { color: var(--mascot); }
|
|
147
147
|
pre .s { color: var(--sun); }
|
|
148
|
-
pre .c { color:
|
|
148
|
+
pre .c { color: var(--fg-3); }
|
|
149
149
|
pre .n { color: var(--green-2); }
|
|
150
150
|
|
|
151
151
|
/* ============================================================
|
|
@@ -589,10 +589,10 @@ a.row { text-decoration: none; }
|
|
|
589
589
|
.cli .copy {
|
|
590
590
|
padding: 8px 16px; background: transparent; color: var(--paper);
|
|
591
591
|
font-size: var(--fs-tiny); text-transform: uppercase; letter-spacing: var(--tr-caps);
|
|
592
|
-
cursor: pointer; box-shadow: inset 0 0 0 1px
|
|
592
|
+
cursor: pointer; box-shadow: inset 0 0 0 1px var(--rule-strong);
|
|
593
593
|
border-radius: var(--r-pill);
|
|
594
594
|
}
|
|
595
|
-
.cli .copy:hover { background:
|
|
595
|
+
.cli .copy:hover { background: var(--fg-3); }
|
|
596
596
|
|
|
597
597
|
/* Multi-line CLI block: when .cli holds .cli-line / .cli-cmt children
|
|
598
598
|
(quickstart scripts, multi-command snippets) it stacks as a column
|
|
@@ -1285,7 +1285,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
|
1285
1285
|
.btn-primary.danger {
|
|
1286
1286
|
background: var(--warn);
|
|
1287
1287
|
border-color: var(--warn);
|
|
1288
|
-
color:
|
|
1288
|
+
color: var(--on-color);
|
|
1289
1289
|
}
|
|
1290
1290
|
|
|
1291
1291
|
/* ── Preview ──────────────────────────────────────────────── */
|
|
@@ -1469,7 +1469,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
|
1469
1469
|
.ds-segmented .ds-seg-btn:hover { color: var(--fg); }
|
|
1470
1470
|
.ds-segmented .ds-seg-btn.is-on {
|
|
1471
1471
|
background: var(--bg); color: var(--fg);
|
|
1472
|
-
box-shadow:
|
|
1472
|
+
box-shadow: var(--shadow-1);
|
|
1473
1473
|
}
|
|
1474
1474
|
.ds-theme-toggle.btn {
|
|
1475
1475
|
font-family: var(--ff-mono); font-size: var(--fs-xs);
|
|
@@ -2246,7 +2246,7 @@ textarea::placeholder {
|
|
|
2246
2246
|
}
|
|
2247
2247
|
.ds-field input[aria-invalid="true"],
|
|
2248
2248
|
.ds-field textarea[aria-invalid="true"] {
|
|
2249
|
-
box-shadow: inset 0 0 0 var(--bw-hair, 1px) var(--flame
|
|
2249
|
+
box-shadow: inset 0 0 0 var(--bw-hair, 1px) var(--flame);
|
|
2250
2250
|
}
|
|
2251
2251
|
|
|
2252
2252
|
/* Clear button for text inputs */
|
package/chat.css
CHANGED
|
@@ -27,21 +27,21 @@
|
|
|
27
27
|
white-space: nowrap;
|
|
28
28
|
margin-left: auto;
|
|
29
29
|
font-size: .85em;
|
|
30
|
-
color: var(--
|
|
30
|
+
color: var(--fg-3);
|
|
31
31
|
}
|
|
32
32
|
/* status disc — a CSS-drawn dot, not a glyph; pulses while streaming */
|
|
33
33
|
.agentchat-status .status-dot-disc {
|
|
34
34
|
flex: none; width: 8px; height: 8px; border-radius: 50%;
|
|
35
|
-
background: var(--
|
|
35
|
+
background: var(--fg-3);
|
|
36
36
|
}
|
|
37
37
|
.agentchat-status .status-dot-disc.status-dot-live {
|
|
38
|
-
background: var(--accent
|
|
38
|
+
background: var(--accent);
|
|
39
39
|
animation: agentchat-pulse 2s infinite;
|
|
40
40
|
}
|
|
41
41
|
@keyframes agentchat-pulse {
|
|
42
|
-
0% { box-shadow: 0 0 0 0
|
|
43
|
-
70% { box-shadow: 0 0 0 6px
|
|
44
|
-
100% { box-shadow: 0 0 0 0
|
|
42
|
+
0% { box-shadow: 0 0 0 0 color-mix(in oklab, var(--accent) 50%, transparent); }
|
|
43
|
+
70% { box-shadow: 0 0 0 6px color-mix(in oklab, var(--accent) 0%, transparent); }
|
|
44
|
+
100% { box-shadow: 0 0 0 0 color-mix(in oklab, var(--accent) 0%, transparent); }
|
|
45
45
|
}
|
|
46
46
|
@media (prefers-reduced-motion: reduce) {
|
|
47
47
|
.agentchat-status .status-dot-disc { animation: none !important; }
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
align-items: center;
|
|
54
54
|
gap: var(--space-2, 8px);
|
|
55
55
|
font-size: .85em;
|
|
56
|
-
color: var(--
|
|
56
|
+
color: var(--fg-3);
|
|
57
57
|
flex-wrap: wrap;
|
|
58
58
|
}
|
|
59
59
|
.agentchat-cwd-text {
|
|
@@ -64,20 +64,20 @@
|
|
|
64
64
|
}
|
|
65
65
|
.agentchat-cwd-btn {
|
|
66
66
|
background: none;
|
|
67
|
-
border: 1px solid var(--
|
|
67
|
+
border: 1px solid var(--rule);
|
|
68
68
|
color: inherit;
|
|
69
69
|
border-radius: 6px;
|
|
70
70
|
padding: 2px 8px;
|
|
71
71
|
cursor: pointer;
|
|
72
72
|
font: inherit;
|
|
73
73
|
}
|
|
74
|
-
.agentchat-cwd-btn:hover { border-color: var(--accent
|
|
74
|
+
.agentchat-cwd-btn:hover { border-color: var(--accent); }
|
|
75
75
|
.agentchat-cwd-input {
|
|
76
76
|
flex: 1;
|
|
77
77
|
min-width: 12ch;
|
|
78
|
-
background: var(--
|
|
79
|
-
border: 1px solid var(--
|
|
80
|
-
color: var(--
|
|
78
|
+
background: var(--bg-2);
|
|
79
|
+
border: 1px solid var(--rule);
|
|
80
|
+
color: var(--fg);
|
|
81
81
|
border-radius: 6px;
|
|
82
82
|
padding: 4px 8px;
|
|
83
83
|
font: inherit;
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
gap: .5em;
|
|
91
91
|
}
|
|
92
92
|
.agentchat-title { font-size: 1em; margin: 0; }
|
|
93
|
-
.agentchat-sub { font-size: .85em; color: var(--
|
|
93
|
+
.agentchat-sub { font-size: .85em; color: var(--fg-3); }
|
|
94
94
|
.agentchat-thread {
|
|
95
95
|
flex: 1;
|
|
96
96
|
min-height: 0;
|
package/colors_and_type.css
CHANGED
|
@@ -52,8 +52,32 @@
|
|
|
52
52
|
|
|
53
53
|
--accent: var(--green);
|
|
54
54
|
--accent-fg: var(--paper);
|
|
55
|
+
--accent-bright: var(--green-2); /* base value so var(--accent-bright) never falls back empty; ink + [data-accent] retune it */
|
|
55
56
|
--accent-tint: color-mix(in oklab, var(--accent) 26%, var(--bg));
|
|
56
57
|
|
|
58
|
+
/* On-color foregrounds — text/icons that sit ON a saturated fill (accent,
|
|
59
|
+
danger, category chips). Theme-driven so white-on-color never hard-codes
|
|
60
|
+
#fff. --on-accent tracks --accent-fg; --on-color is the generic light
|
|
61
|
+
foreground for any colored fill. */
|
|
62
|
+
--on-accent: var(--accent-fg);
|
|
63
|
+
--on-color: #fff;
|
|
64
|
+
|
|
65
|
+
/* Scrims — modal/overlay backdrops. Derived from --fg so a dark theme dims
|
|
66
|
+
with its own ink rather than a baked rgba(0,0,0). */
|
|
67
|
+
--scrim: color-mix(in oklab, var(--fg) 40%, transparent);
|
|
68
|
+
--scrim-strong: color-mix(in oklab, var(--fg) 72%, transparent);
|
|
69
|
+
--scrim-media: color-mix(in oklab, var(--fg) 85%, transparent);
|
|
70
|
+
|
|
71
|
+
/* Category palette — surfaces (forum tags, project cards) that color-code by
|
|
72
|
+
category. Canonical so a theme/accent swap recolors categories instead of
|
|
73
|
+
drifting from a private --cat-* block. Derived from the base palette. */
|
|
74
|
+
--cat-green: var(--green-2);
|
|
75
|
+
--cat-purple: var(--purple-2);
|
|
76
|
+
--cat-mascot: var(--mascot);
|
|
77
|
+
--cat-sun: var(--sun);
|
|
78
|
+
--cat-flame: var(--flame);
|
|
79
|
+
--cat-sky: var(--sky);
|
|
80
|
+
|
|
57
81
|
--panel-bg: var(--bg);
|
|
58
82
|
--panel-bg-2: var(--bg-2);
|
|
59
83
|
--panel-accent: var(--accent);
|
|
@@ -275,6 +299,47 @@ select:focus-visible {
|
|
|
275
299
|
--panel-text-3: inherit;
|
|
276
300
|
--panel-accent-2: inherit;
|
|
277
301
|
--panel-shadow: inherit;
|
|
302
|
+
--on-accent: inherit;
|
|
303
|
+
--on-color: inherit;
|
|
304
|
+
--scrim: inherit;
|
|
305
|
+
--scrim-strong: inherit;
|
|
306
|
+
--scrim-media: inherit;
|
|
307
|
+
--cat-green: inherit;
|
|
308
|
+
--cat-purple: inherit;
|
|
309
|
+
--cat-mascot: inherit;
|
|
310
|
+
--cat-sun: inherit;
|
|
311
|
+
--cat-flame: inherit;
|
|
312
|
+
--cat-sky: inherit;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
/* ============================================================
|
|
316
|
+
Named-theme preset contract
|
|
317
|
+
------------------------------------------------------------
|
|
318
|
+
A theme is one [data-theme="X"] block that overrides ONLY the semantic
|
|
319
|
+
surface tokens — never component rules, never raw literals in component
|
|
320
|
+
sheets. The base :root above IS the "paper" theme; [data-theme="paper"]
|
|
321
|
+
restates it so the attribute is explicit and round-trippable. To add a
|
|
322
|
+
theme: copy a block, rename the attr, retune the ~8 semantic tokens.
|
|
323
|
+
============================================================ */
|
|
324
|
+
[data-theme="paper"] {
|
|
325
|
+
color-scheme: light;
|
|
326
|
+
--bg: var(--paper); --bg-2: var(--paper-2); --bg-3: var(--paper-3);
|
|
327
|
+
--fg: var(--ink); --fg-2: var(--ink-2); --fg-3: var(--ink-3);
|
|
328
|
+
--accent: var(--green); --accent-fg: var(--paper);
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
/* thebird — warm-paper brand preset. A first-class swappable theme: it lives
|
|
332
|
+
here in the canonical layer (not as a global :root override) so any consumer
|
|
333
|
+
can opt in with data-theme="thebird". The OS-shell chrome (bar heights,
|
|
334
|
+
window controls) stays in src/kits/os/theme.css; only color lives here. */
|
|
335
|
+
[data-theme="thebird"] {
|
|
336
|
+
color-scheme: light;
|
|
337
|
+
--paper: #F5F0E4;
|
|
338
|
+
--paper-2: #EFE9DB;
|
|
339
|
+
--paper-3: #E3DAC7;
|
|
340
|
+
--bg: var(--paper); --bg-2: var(--paper-2); --bg-3: var(--paper-3);
|
|
341
|
+
--fg: var(--ink); --fg-2: var(--ink-2); --fg-3: var(--ink-3);
|
|
342
|
+
--accent: var(--green); --accent-fg: var(--paper);
|
|
278
343
|
}
|
|
279
344
|
|
|
280
345
|
[data-density="compact"] { --density: 0.75; }
|
|
@@ -320,6 +385,10 @@ select:focus-visible {
|
|
|
320
385
|
0 2px 4px color-mix(in oklab, var(--fg) 6%, transparent);
|
|
321
386
|
--shadow-3: 0 12px 32px color-mix(in oklab, var(--fg) 14%, transparent),
|
|
322
387
|
0 4px 8px color-mix(in oklab, var(--fg) 8%, transparent);
|
|
388
|
+
/* Overlay elevation — the float for dialogs/lightboxes that sit above a
|
|
389
|
+
scrim; heavier than --shadow-3 and theme-driven (was raw rgba(0,0,0,.4)). */
|
|
390
|
+
--shadow-overlay: 0 12px 40px color-mix(in oklab, var(--fg) 28%, transparent),
|
|
391
|
+
0 4px 12px color-mix(in oklab, var(--fg) 16%, transparent);
|
|
323
392
|
--z-dropdown: 600;
|
|
324
393
|
--z-popover: 700;
|
|
325
394
|
--z-modal: 800;
|
package/community.css
CHANGED
|
@@ -1437,9 +1437,9 @@
|
|
|
1437
1437
|
cursor: pointer; font-size: 16px; line-height: 1;
|
|
1438
1438
|
}
|
|
1439
1439
|
.vx-vc-btn:hover { background: var(--bg-4, var(--bg-3)); }
|
|
1440
|
-
.vx-vc-on { background: var(--accent); color: var(--accent-fg
|
|
1440
|
+
.vx-vc-on { background: var(--accent); color: var(--accent-fg); border-color: var(--accent); }
|
|
1441
1441
|
.vx-vc-disabled, .vx-vc-btn:disabled { opacity: .4; cursor: not-allowed; }
|
|
1442
|
-
.vx-vc-leave { margin-left: auto; background: var(--danger
|
|
1442
|
+
.vx-vc-leave { margin-left: auto; background: var(--danger); color: var(--on-color); border-color: var(--danger); }
|
|
1443
1443
|
.vx-vc-glyph { pointer-events: none; }
|
|
1444
1444
|
|
|
1445
1445
|
/* ThreadPanel — cm-thread-panel / cm-tp-* */
|
|
@@ -1482,7 +1482,7 @@
|
|
|
1482
1482
|
.cm-forum-toolbar { display: flex; gap: var(--space-2); align-items: center; padding: var(--space-2); border-bottom: var(--bw-hair) solid var(--rule); }
|
|
1483
1483
|
.cm-forum-search { flex: 1; padding: var(--space-1) var(--space-2); border: var(--bw-hair) solid var(--rule-strong); border-radius: var(--r-1); background: var(--bg-3); color: var(--fg); }
|
|
1484
1484
|
.cm-forum-sort { padding: var(--space-1); border: var(--bw-hair) solid var(--rule-strong); border-radius: var(--r-1); background: var(--bg-3); color: var(--fg); }
|
|
1485
|
-
.cm-forum-new { padding: var(--space-1) var(--space-2); border: none; border-radius: var(--r-1); background: var(--accent); color: var(--accent-fg
|
|
1485
|
+
.cm-forum-new { padding: var(--space-1) var(--space-2); border: none; border-radius: var(--r-1); background: var(--accent); color: var(--accent-fg); cursor: pointer; }
|
|
1486
1486
|
.cm-forum-list { flex: 1; min-height: 0; overflow-y: auto; }
|
|
1487
1487
|
.cm-forum-item { display: flex; flex-direction: column; gap: var(--space-1); width: 100%; text-align: left; cursor: pointer; padding: var(--space-2) var(--space-3); border: none; background: transparent; border-bottom: var(--bw-hair) solid var(--rule); color: var(--fg); }
|
|
1488
1488
|
.cm-forum-item:hover { background: var(--bg-3); }
|