anentrypoint-design 0.0.481 → 0.0.482
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 +7 -7
- package/colors_and_type.css +11 -0
- package/community.css +12 -10
- package/dist/247420.css +114 -62
- package/dist/247420.js +25 -25
- package/package.json +1 -1
- package/src/css/app-shell/chat-polish.css +1 -1
- package/src/css/app-shell/data-density.css +0 -4
- package/src/css/app-shell/files.css +1 -1
- package/src/css/app-shell/hero-content.css +5 -6
- package/src/css/app-shell/loading-alerts.css +10 -5
- package/src/css/app-shell/plugins-config.css +6 -5
- package/src/css/app-shell/primitives.css +25 -6
- package/src/css/app-shell/responsive.css +4 -4
- package/src/css/app-shell/responsive2-workspace.css +7 -1
- package/src/css/app-shell/row-print.css +1 -1
- package/src/css/app-shell/topbar.css +16 -3
- package/src/kits/spoint/host-join-lobby.css +4 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "anentrypoint-design",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.482",
|
|
4
4
|
"description": "247420 design system SDK — webjsx + modified ripple-ui, single-file ESM bundle for reproducible use of the AnEntrypoint design.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/247420.js",
|
|
@@ -387,7 +387,7 @@
|
|
|
387
387
|
|
|
388
388
|
.chat-typing { display: inline-flex; gap: var(--space-1); align-items: center; }
|
|
389
389
|
.chat-typing span {
|
|
390
|
-
width:
|
|
390
|
+
width: 8px; height: 8px; border-radius: 50%; background: var(--fg-3);
|
|
391
391
|
}
|
|
392
392
|
|
|
393
393
|
@media (prefers-reduced-motion: no-preference) {
|
|
@@ -14,10 +14,6 @@
|
|
|
14
14
|
|
|
15
15
|
/* PhaseWalk */
|
|
16
16
|
.ds-phasewalk { display: inline-flex; gap: var(--space-hair); vertical-align: middle; }
|
|
17
|
-
/* NOTE: a second toggle-switch-shaped implementation exists in
|
|
18
|
-
plugins-config.css:91 (.ds-plugins-toggle) at a different scale (40x22 vs
|
|
19
|
-
this 18x10) — consider consolidating into a shared .ds-switch primitive
|
|
20
|
-
with a size modifier. */
|
|
21
17
|
.ds-phasewalk-seg {
|
|
22
18
|
width: 18px; height: 10px; border-radius: var(--r-hair);
|
|
23
19
|
background: var(--bg-3); position: relative;
|
|
@@ -455,7 +455,7 @@
|
|
|
455
455
|
padding: var(--space-4) var(--space-3); text-align: center;
|
|
456
456
|
}
|
|
457
457
|
/* Icon size, not type — see .ds-file-cell-media .ds-file-icon above. */
|
|
458
|
-
.ds-dropzone-glyph { font-size:
|
|
458
|
+
.ds-dropzone-glyph { font-size: var(--icon-lg, 24px); color: var(--fg-3); }
|
|
459
459
|
.ds-dropzone-label { font-size: var(--fs-sm); color: var(--fg-3); }
|
|
460
460
|
.ds-dropzone.dragover {
|
|
461
461
|
border-color: var(--accent);
|
|
@@ -484,13 +484,12 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
|
484
484
|
/* ============================================================
|
|
485
485
|
Empty state
|
|
486
486
|
============================================================ */
|
|
487
|
+
/* Shares its base declarations with .ds-empty-state (primitives.css) via the
|
|
488
|
+
combined selector there -- .empty only adds its own font-size/background/
|
|
489
|
+
radius modifiers on top. Was --space-8 (96px) padding; --space-6 (48px)
|
|
490
|
+
still centres a message with air without the empty state dominating the
|
|
491
|
+
fold. */
|
|
487
492
|
.empty {
|
|
488
|
-
/* Was --space-8 (96px) — an empty list spent 192px of vertical space on
|
|
489
|
-
nothing. --space-6 (48px) still centres a message with air, without the
|
|
490
|
-
empty state dominating the fold. Mobile drops it further (below). */
|
|
491
|
-
padding: var(--space-6);
|
|
492
|
-
text-align: center;
|
|
493
|
-
color: var(--fg-3);
|
|
494
493
|
background: var(--bg-2);
|
|
495
494
|
border-radius: var(--r-1);
|
|
496
495
|
font-size: var(--fs-sm);
|
|
@@ -25,13 +25,13 @@
|
|
|
25
25
|
.ds-spinner-lg { height: 24px; gap: var(--space-1-75); }
|
|
26
26
|
.ds-spinner-lg span { width: var(--space-1-75); height: var(--space-1-75); }
|
|
27
27
|
|
|
28
|
-
.ds-spinner-sm { height:
|
|
28
|
+
.ds-spinner-sm { height: var(--space-2-5); gap: var(--space-hair); }
|
|
29
29
|
.ds-spinner-sm span { width: var(--space-hair); height: var(--space-hair); }
|
|
30
30
|
|
|
31
|
-
.ds-spinner-xs { height:
|
|
31
|
+
.ds-spinner-xs { height: var(--space-2); gap: 1px; }
|
|
32
32
|
.ds-spinner-xs span { width: 1.5px; height: 1.5px; }
|
|
33
33
|
|
|
34
|
-
.ds-spinner-xl { height:
|
|
34
|
+
.ds-spinner-xl { height: var(--space-5); gap: var(--space-2); }
|
|
35
35
|
.ds-spinner-xl span { width: var(--space-2); height: var(--space-2); }
|
|
36
36
|
|
|
37
37
|
@keyframes ds-bounce {
|
|
@@ -39,6 +39,11 @@
|
|
|
39
39
|
40% { transform: translateY(-8px); }
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
+
/* Two spinner visual languages coexist intentionally: dots (.ds-spinner*)
|
|
43
|
+
are for small inline/compact loading states (buttons, chips, list rows),
|
|
44
|
+
the ring (.loading::after in states-interactions.css) is for larger
|
|
45
|
+
blocking/full-region loading states (panels, full views). */
|
|
46
|
+
|
|
42
47
|
/* ============================================================
|
|
43
48
|
Skeleton — animated loading placeholder
|
|
44
49
|
============================================================ */
|
|
@@ -82,7 +87,7 @@
|
|
|
82
87
|
flex-shrink: 0;
|
|
83
88
|
color: var(--alert-tone);
|
|
84
89
|
font-weight: 600;
|
|
85
|
-
min-width: var(--
|
|
90
|
+
min-width: var(--icon-md);
|
|
86
91
|
text-align: center;
|
|
87
92
|
}
|
|
88
93
|
|
|
@@ -113,7 +118,7 @@
|
|
|
113
118
|
padding: 0;
|
|
114
119
|
font-size: var(--fs-xs);
|
|
115
120
|
line-height: 1;
|
|
116
|
-
min-width: var(--
|
|
121
|
+
min-width: var(--icon-md);
|
|
117
122
|
text-align: center;
|
|
118
123
|
transition: color var(--dur-snap) var(--ease);
|
|
119
124
|
}
|
|
@@ -87,15 +87,16 @@
|
|
|
87
87
|
}
|
|
88
88
|
.ds-plugins-version { font-size: var(--fs-micro); color: var(--fg-3); }
|
|
89
89
|
|
|
90
|
-
/*
|
|
91
|
-
(.
|
|
92
|
-
|
|
90
|
+
/* Same track/knob proportions as the shared .ds-toggle primitive
|
|
91
|
+
(states-interactions.css) -- kept as its own class since ds-plugins-toggle
|
|
92
|
+
is a plain <button>+.on instead of .ds-toggle's [aria-checked] contract,
|
|
93
|
+
but sized and colored to match it exactly rather than drifting. */
|
|
93
94
|
.ds-plugins-toggle {
|
|
94
|
-
flex: 0 0 auto; width: 40px; height: 22px; border-radius:
|
|
95
|
+
flex: 0 0 auto; width: 40px; height: 22px; border-radius: var(--r-pill, 999px); border: none; padding: 0;
|
|
95
96
|
background: var(--rule); position: relative; cursor: pointer;
|
|
96
97
|
transition: background var(--dur-snap) var(--ease);
|
|
97
98
|
}
|
|
98
|
-
.ds-plugins-toggle.on { background: var(--accent); }
|
|
99
|
+
.ds-plugins-toggle.on { background: var(--accent-ink); }
|
|
99
100
|
.ds-plugins-toggle[disabled] { cursor: wait; opacity: 0.65; }
|
|
100
101
|
.ds-plugins-toggle-knob {
|
|
101
102
|
position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%;
|
|
@@ -38,6 +38,9 @@
|
|
|
38
38
|
padding: 0 var(--space-4); font-size: var(--fs-body); gap: var(--space-2);
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
+
/* App chrome is compact/dense (see --fs-h1-app etc in colors_and_type.css) --
|
|
42
|
+
the marketing-scale hover lift/shadow reads as an oversized flourish at
|
|
43
|
+
this density, so app-typescale buttons opt out of it deliberately. */
|
|
41
44
|
[data-typescale="app"] .btn:hover,
|
|
42
45
|
[data-typescale="app"] .btn-primary:hover,
|
|
43
46
|
[data-typescale="app"] .btn-ghost:hover { transform: none; box-shadow: none; }
|
|
@@ -51,7 +54,7 @@
|
|
|
51
54
|
.ds-icon-btn {
|
|
52
55
|
display: inline-flex; align-items: center; justify-content: center;
|
|
53
56
|
padding: 0; border: none; cursor: pointer;
|
|
54
|
-
border-radius: var(--r-1,
|
|
57
|
+
border-radius: var(--r-1, 8px);
|
|
55
58
|
background: transparent; color: var(--fg);
|
|
56
59
|
width: 32px; height: 32px;
|
|
57
60
|
transition: background var(--dur-snap) var(--ease), color var(--dur-snap) var(--ease);
|
|
@@ -83,7 +86,7 @@
|
|
|
83
86
|
border-radius: var(--r-pill);
|
|
84
87
|
background: var(--bg-3); color: var(--fg-2);
|
|
85
88
|
}
|
|
86
|
-
.ds-badge.ds-badge--sm { min-width:
|
|
89
|
+
.ds-badge.ds-badge--sm { min-width: var(--icon-xs); height: var(--icon-xs); padding: 0 var(--space-1); font-size: var(--fs-pico); }
|
|
87
90
|
.ds-badge.ds-badge--lg { min-width: 22px; height: 22px; padding: 0 var(--space-2); font-size: var(--fs-tiny); }
|
|
88
91
|
.ds-badge.tone-green, .ds-badge.tone-live, .ds-badge.tone-success {
|
|
89
92
|
background: var(--green-tint); color: var(--green-deep);
|
|
@@ -100,7 +103,7 @@
|
|
|
100
103
|
background: var(--sun); color: var(--ink);
|
|
101
104
|
}
|
|
102
105
|
.ds-badge.tone-blue { background: var(--accent-tint); color: var(--accent-ink); }
|
|
103
|
-
.ds-badge.tone-orange { background: color-mix(in oklab, var(--flame) 22%, var(--bg)); color:
|
|
106
|
+
.ds-badge.tone-orange { background: color-mix(in oklab, var(--flame) 22%, var(--bg)); color: var(--flame); }
|
|
104
107
|
|
|
105
108
|
.chip {
|
|
106
109
|
display: inline-flex; align-items: center; gap: var(--space-1-75);
|
|
@@ -151,10 +154,10 @@
|
|
|
151
154
|
cursor: pointer;
|
|
152
155
|
}
|
|
153
156
|
.ds-chip-remove-btn:hover, .ds-chip-remove-btn:focus-visible { opacity: 1; background: color-mix(in oklab, currentColor 16%, transparent); }
|
|
154
|
-
.ds-chip-remove-btn svg { width:
|
|
157
|
+
.ds-chip-remove-btn svg { width: var(--icon-xs); height: var(--icon-xs); }
|
|
155
158
|
@media (pointer: coarse) {
|
|
156
159
|
.ds-chip-remove-btn { width: 24px; height: 24px; margin-left: 0; }
|
|
157
|
-
.ds-chip-remove-btn svg { width:
|
|
160
|
+
.ds-chip-remove-btn svg { width: var(--icon-xs); height: var(--icon-xs); }
|
|
158
161
|
}
|
|
159
162
|
|
|
160
163
|
.ds-pill {
|
|
@@ -179,6 +182,22 @@
|
|
|
179
182
|
opacity: 0.8;
|
|
180
183
|
}
|
|
181
184
|
.glyph { --glyph-size-sm: var(--fs-nano); --glyph-size-base: var(--fs-tiny); --glyph-size-lg: var(--fs-body); }
|
|
182
|
-
.glyph-sm { width:
|
|
185
|
+
.glyph-sm { width: var(--icon-xs); height: var(--icon-xs); }
|
|
183
186
|
.glyph-lg { width: 22px; height: 22px; }
|
|
184
187
|
|
|
188
|
+
/* Shared empty-state base -- hero-content.css's .empty and community.css's
|
|
189
|
+
.fd-empty previously duplicated this full rule set; both are joined into
|
|
190
|
+
this selector list so the shared declarations live in one place, with
|
|
191
|
+
each keeping its own file-local rule for context-specific extras
|
|
192
|
+
(background/radius/font-size for .empty; padding for .fd-empty). New
|
|
193
|
+
consumers can add .ds-empty-state directly instead of a fresh copy. */
|
|
194
|
+
.ds-empty-state, .empty, .fd-empty {
|
|
195
|
+
display: flex; flex-direction: column; align-items: center; justify-content: center;
|
|
196
|
+
gap: var(--space-2);
|
|
197
|
+
padding: var(--space-6) var(--space-3);
|
|
198
|
+
text-align: center;
|
|
199
|
+
color: var(--fg-3);
|
|
200
|
+
}
|
|
201
|
+
.ds-empty-state--panel { background: var(--bg-2); border-radius: var(--r-1); }
|
|
202
|
+
.ds-empty-state--compact { padding: var(--space-5) var(--space-3); }
|
|
203
|
+
|
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
of this value, worth aligning to 768px when touched.
|
|
12
12
|
- Tablet/desktop boundary: 900px (max-width) / 901px (min-width) — used for
|
|
13
13
|
main layout reflow (hero-content.css, responsive2-workspace.css)
|
|
14
|
-
-
|
|
15
|
-
used in this file (responsive.css) for a specific tablet treatment
|
|
16
|
-
|
|
14
|
+
- Tablet landscape band: 768px–1024px (min-width 768px / max-width 1024px) —
|
|
15
|
+
used in this file (responsive.css) for a specific tablet treatment;
|
|
16
|
+
aligned to the 768px mobile/tablet boundary above (was 481px, a near-miss).
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
19
|
/* --------------------------------------------------------------------
|
|
@@ -194,7 +194,7 @@
|
|
|
194
194
|
/* --------------------------------------------------------------------
|
|
195
195
|
Tablet Landscape Breakpoint (768px to 1024px)
|
|
196
196
|
---------------------------------------------------------------------- */
|
|
197
|
-
@media (min-width:
|
|
197
|
+
@media (min-width: 768px) and (max-width: 1024px) {
|
|
198
198
|
/* App Layout — side handled by 900px drawer block; restore for 901-1024 */
|
|
199
199
|
.app-side a {
|
|
200
200
|
padding: var(--space-2-75) var(--space-2-75); gap: var(--space-2);
|
|
@@ -326,8 +326,14 @@
|
|
|
326
326
|
because the chat thread carries its own --measure gutter. */
|
|
327
327
|
.ws-main { flex: 1; min-height: 0; overflow: auto; display: flex; flex-direction: column; padding: var(--space-4) var(--space-5); }
|
|
328
328
|
.ws-main.ws-main--flush { padding: 0; }
|
|
329
|
-
/*
|
|
329
|
+
/* Skip-link target (workspace-shell.js's "#ws-main" skip-link, tabindex="-1")
|
|
330
|
+
— it does receive real keyboard-driven focus when the skip link is
|
|
331
|
+
activated, so it needs a visible ring rather than a bare outline:none. */
|
|
330
332
|
.ws-main:focus { outline: none; }
|
|
333
|
+
.ws-main:focus-visible {
|
|
334
|
+
outline: var(--focus-w) solid var(--focus-color);
|
|
335
|
+
outline-offset: calc(-1 * var(--focus-offset));
|
|
336
|
+
}
|
|
331
337
|
|
|
332
338
|
/* Right context pane */
|
|
333
339
|
.ws-pane {
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
/* Disabled file actions (read-only row / in-flight mutation) stay visible but inert. */
|
|
40
|
-
.ds-file-act:disabled { opacity: .
|
|
40
|
+
.ds-file-act:disabled { opacity: .5; cursor: default; }
|
|
41
41
|
.ds-file-act:disabled:hover { background: transparent; color: var(--fg-3); }
|
|
42
42
|
.ds-file-act:focus-visible { outline: var(--focus-w) solid var(--focus-color); outline-offset: var(--focus-offset); }
|
|
43
43
|
|
|
@@ -300,13 +300,26 @@ body.canvas-host { background: transparent !important; }
|
|
|
300
300
|
.app-main > .ds-file-stage,
|
|
301
301
|
.app-main > .ds-files-stack,
|
|
302
302
|
.app-main > .grow { flex: 1 1 auto; min-height: 0; }
|
|
303
|
-
|
|
303
|
+
/* width:100% is load-bearing, not redundant with max-width: .app-body is a
|
|
304
|
+
CSS grid, and margin:auto on a grid item overrides the default stretch,
|
|
305
|
+
shrinking the item to its max-content width instead of filling the track
|
|
306
|
+
and then clamping -- confirmed live at 2560px viewport where mainWidth
|
|
307
|
+
measured 688px against a correctly-resolved 1400px max-width. Explicit
|
|
308
|
+
width:100% restores fill-then-cap for every .narrow page, not just wide
|
|
309
|
+
viewports (the shrink-to-fit bug undersized even the base 760px case). */
|
|
310
|
+
.app-main.narrow { width: 100%; max-width: var(--measure-narrow); margin: 0 auto; }
|
|
304
311
|
/* A shell with no sidebar has no competing column, so the prose clamp there was
|
|
305
312
|
leaving the whole sidebar's worth of width empty -- 760px of content inside a
|
|
306
313
|
1413px shell on a real page. Widen the clamp by the space the absent sidebar
|
|
307
|
-
would have taken so the measure still reads as prose, just not starved.
|
|
314
|
+
would have taken so the measure still reads as prose, just not starved.
|
|
315
|
+
The floor stays a fixed 980px (no-side is still readable narrow); the
|
|
316
|
+
ceiling grows with viewport instead of staying pinned at 980px forever --
|
|
317
|
+
on a 2560px ultrawide the old fixed value left over half the shell as dead
|
|
318
|
+
side margin. 1400px ceiling keeps prose measure sane (nobody wants a
|
|
319
|
+
2400px-wide paragraph) while letting non-prose content (index rows, meta)
|
|
320
|
+
actually use the extra room. */
|
|
308
321
|
.app-body.no-side .app-main.narrow {
|
|
309
|
-
max-width: calc(var(--measure-narrow) + var(--sidebar-width));
|
|
322
|
+
max-width: clamp(calc(var(--measure-narrow) + var(--sidebar-width)), 60vw, 1400px);
|
|
310
323
|
}
|
|
311
324
|
/* Article-body heading rhythm and lede spacing, consumed by flatspace-rendered
|
|
312
325
|
long-form pages (docs, papers) that drop headings/panels directly into .app-main. */
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
width: min(360px, 88vw);
|
|
16
16
|
display: flex;
|
|
17
17
|
flex-direction: column;
|
|
18
|
-
gap:
|
|
19
|
-
padding:
|
|
18
|
+
gap: var(--space-2-75);
|
|
19
|
+
padding: var(--space-4);
|
|
20
20
|
background: var(--bg-2);
|
|
21
21
|
border: 1px solid var(--bw-rule, var(--rule));
|
|
22
22
|
border-radius: var(--r-2, 10px);
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
font-family: var(--ff-mono);
|
|
46
46
|
font-size: var(--fs-body);
|
|
47
47
|
padding: 10px 14px;
|
|
48
|
-
border-radius: var(--r-1,
|
|
48
|
+
border-radius: var(--r-1, 8px);
|
|
49
49
|
cursor: pointer;
|
|
50
50
|
}
|
|
51
51
|
.sp-lobby-btn:hover { background: var(--bg-2); }
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
color: var(--accent);
|
|
78
78
|
padding: 8px;
|
|
79
79
|
background: var(--bg);
|
|
80
|
-
border-radius: var(--r-1,
|
|
80
|
+
border-radius: var(--r-1, 8px);
|
|
81
81
|
}
|
|
82
82
|
.sp-lobby-err { min-height: 16px; color: var(--danger); font-size: var(--fs-small, 11px); }
|
|
83
83
|
.sp-lobby-close {
|