anentrypoint-design 0.0.438 → 0.0.440
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/dist/247420.css +78 -23
- package/dist/247420.js +23 -23
- package/dist/colors_and_type.css +86 -42
- package/dist/preview/buttons.html +5 -2
- package/dist/preview/colors-core.html +4 -1
- package/dist/preview/colors-lore.html +4 -1
- package/dist/preview/colors-semantic.html +4 -1
- package/dist/preview/dateline.html +4 -1
- package/dist/preview/dropzone.html +4 -1
- package/dist/preview/file-grid.html +4 -1
- package/dist/preview/file-row.html +4 -1
- package/dist/preview/file-toolbar.html +4 -1
- package/dist/preview/file-viewer.html +7 -1
- package/dist/preview/header.html +5 -2
- package/dist/preview/icons-unicode.html +26 -20
- package/dist/preview/index-row.html +4 -1
- package/dist/preview/inputs.html +4 -1
- package/dist/preview/manifesto.html +4 -1
- package/dist/preview/rules.html +4 -1
- package/dist/preview/spacing.html +17 -12
- package/dist/preview/stamps-lore.html +4 -1
- package/dist/preview/stamps.html +4 -1
- package/dist/preview/theme-ink.html +4 -1
- package/dist/preview/type-display.html +4 -1
- package/dist/preview/type-mono.html +4 -1
- package/dist/preview/type-prose.html +5 -2
- package/dist/preview/type-scale.html +40 -15
- package/dist/preview/wordmarks.html +18 -22
- package/dist/src/components/content.js +2 -1
- package/dist/src/components.js +21 -5
- package/dist/src/kits/os/theme.css +38 -5
- package/dist/ui_kits/aicat/app.js +1 -1
- package/dist/ui_kits/gallery/app.js +27 -7
- package/dist/ui_kits/signin/app.js +51 -10
- package/dist/ui_kits/system_primer/app.js +189 -3
- package/dist/ui_kits/terminal/app.js +56 -10
- package/package.json +1 -1
- package/src/components/content/cli.js +7 -1
- package/src/components/content/panel.js +7 -2
- package/src/components/shell/app-shell.js +7 -2
- package/src/components/shell/icons.js +4 -1
- package/src/css/app-shell/kits-appended.css +58 -21
- package/src/css/app-shell/panel-row.css +14 -0
- package/src/css/app-shell/responsive2-workspace.css +5 -1
- package/src/css/app-shell/topbar.css +1 -1
- package/src/kits/os/files-app.js +9 -2
- package/src/kits/os/icons.js +5 -0
- package/src/kits/os/launcher.css +7 -2
- package/src/kits/os/launcher.js +27 -3
- package/src/kits/os/monitor-app.js +8 -2
- package/src/kits/os/shell.js +55 -12
- package/src/kits/os/theme.css +20 -2
- package/src/kits/os/wm.js +41 -11
- package/types/components.d.ts +2 -0
- package/dist/slides/deck-stage-overlay.js +0 -63
- package/dist/slides/deck-stage-state.js +0 -81
- package/dist/slides/deck-stage-style.js +0 -117
- package/dist/slides/deck-stage.js +0 -159
- package/dist/src/kits/os/freddie/helpers.js +0 -59
- package/dist/src/kits/os/validator-app.js +0 -55
package/dist/247420.css
CHANGED
|
@@ -1228,7 +1228,7 @@
|
|
|
1228
1228
|
|
|
1229
1229
|
.ds-247420 .app-side {
|
|
1230
1230
|
display: flex; flex-direction: column; gap: var(--space-4);
|
|
1231
|
-
padding: var(--space-5) var(--space-3);
|
|
1231
|
+
padding: var(--space-5) var(--space-2) var(--space-5) var(--space-3);
|
|
1232
1232
|
font-size: var(--fs-sm);
|
|
1233
1233
|
}
|
|
1234
1234
|
/* Sidebar section wrapper emitted by Side() (src/components/shell/app-shell.js).
|
|
@@ -1721,8 +1721,22 @@
|
|
|
1721
1721
|
font-weight: 500; color: var(--fg-3);
|
|
1722
1722
|
font-family: var(--ff-mono); letter-spacing: 0;
|
|
1723
1723
|
}
|
|
1724
|
+
/* Panel titles render as a real heading (h2 by default) for AT heading-jump
|
|
1725
|
+
navigation, but must read identically to the old plain span — reset the
|
|
1726
|
+
UA heading margin/size/weight so it inherits .panel-head's own type rules
|
|
1727
|
+
instead of the browser's h2 stylesheet. */
|
|
1728
|
+
.ds-247420 .panel-title {
|
|
1729
|
+
margin: 0; font: inherit; font-size: inherit; font-weight: inherit;
|
|
1730
|
+
letter-spacing: inherit; text-transform: inherit; color: inherit;
|
|
1731
|
+
}
|
|
1724
1732
|
.ds-247420 .panel-body { padding: var(--space-2) var(--space-3) var(--space-3); }
|
|
1725
1733
|
.ds-247420 .panel-body > * { margin: 0; }
|
|
1734
|
+
/* One-line explanatory caption under a panel's title — e.g. distinguishing
|
|
1735
|
+
two visually-similar panels (lore palette vs semantic tokens) in words
|
|
1736
|
+
instead of leaving the reader to infer it from the title alone. */
|
|
1737
|
+
.ds-247420 .ds-panel-caption {
|
|
1738
|
+
font-size: var(--fs-sm); color: var(--fg-3); margin: 0 0 var(--space-2);
|
|
1739
|
+
}
|
|
1726
1740
|
/* Inner sibling rhythm scales with density like the outer panel rhythm, so a
|
|
1727
1741
|
compact/spacious surface stays proportional instead of only its outer
|
|
1728
1742
|
intervals moving while the panel interiors hold still. Kept strictly below
|
|
@@ -5095,7 +5109,11 @@
|
|
|
5095
5109
|
/* Embedded shell (freddie WM window) fills its container, not the viewport. */
|
|
5096
5110
|
.ds-247420 .fd-root .app { height: 100%; overflow: visible; }
|
|
5097
5111
|
.ds-247420 .app-body { min-height: 0; flex: 1 1 auto; }
|
|
5098
|
-
|
|
5112
|
+
/* scrollbar-gutter mirrors .app-main's own (topbar.css) — without it the
|
|
5113
|
+
thumb draws flush against the sidebar's nav text with zero breathing
|
|
5114
|
+
room, reading as a mark stuck to the content rather than a scrollbar
|
|
5115
|
+
anchored to the shell's own edge. */
|
|
5116
|
+
.ds-247420 .app-side-shell { overflow-y: auto; overflow-x: hidden; min-height: 0; scrollbar-gutter: stable; }
|
|
5099
5117
|
.ds-247420 .app-main { overflow-y: auto; min-height: 0; }
|
|
5100
5118
|
}
|
|
5101
5119
|
|
|
@@ -5993,23 +6011,12 @@
|
|
|
5993
6011
|
.ds-247420 .ds-gallery-tile:hover { transform: translateY(-2px); box-shadow: 0 2px 8px color-mix(in oklab, var(--fg) 10%, transparent); }
|
|
5994
6012
|
.ds-247420 .ds-gallery-tile:focus-visible { outline: var(--focus-w) solid var(--focus-color); outline-offset: var(--focus-offset); }
|
|
5995
6013
|
.ds-247420 .ds-gallery-tile--tight { min-height: clamp(96px, 14vw, 120px); }
|
|
5996
|
-
|
|
5997
|
-
|
|
5998
|
-
|
|
5999
|
-
|
|
6000
|
-
|
|
6001
|
-
|
|
6002
|
-
}
|
|
6003
|
-
.ds-247420 .ds-lightbox-card {
|
|
6004
|
-
/* 28px ceiling has no tier (--space-4 is 24, --space-5 is 32); it is the
|
|
6005
|
-
lightbox card inset tuned against the min(520px,100%) card width. */
|
|
6006
|
-
background: var(--panel-0); border-radius: var(--r-2); padding: clamp(var(--space-3), 4vw, 28px);
|
|
6007
|
-
width: min(520px, 100%); min-width: 0;
|
|
6008
|
-
max-height: calc(100vh - 24px);
|
|
6009
|
-
max-height: calc(100dvh - 24px);
|
|
6010
|
-
overflow: auto;
|
|
6011
|
-
display: flex; flex-direction: column; gap: 14px; /* off-scale, matches the card inset above */
|
|
6012
|
-
}
|
|
6014
|
+
/* The lightbox scrim/card chrome itself is now Dialog's (.ds-ep-dialog /
|
|
6015
|
+
.ds-ep-dialog-backdrop in editor-primitives.css) — Dialog already ships
|
|
6016
|
+
role="dialog", aria-modal, Tab-trap and focus-restore-on-close, which the
|
|
6017
|
+
former hand-rolled .ds-lightbox/.ds-lightbox-card overlay had none of. Only
|
|
6018
|
+
the gallery-specific content rules (head row, tag, carousel sizing, tile
|
|
6019
|
+
preview) remain here. */
|
|
6013
6020
|
.ds-247420 .ds-lightbox-preview {
|
|
6014
6021
|
/* 36px ceiling has no tier (--space-5 is 32, --space-6 is 48). */
|
|
6015
6022
|
padding: clamp(var(--space-3), 6vw, 36px); border-radius: var(--r-1); text-align: center;
|
|
@@ -6215,11 +6222,24 @@
|
|
|
6215
6222
|
.ds-247420 .ds-auth-otp-wrap { display: flex; flex-direction: column; align-items: center; gap: var(--space-2); }
|
|
6216
6223
|
.ds-247420 .ds-auth-field { display: flex; flex-direction: column; gap: var(--space-1); }
|
|
6217
6224
|
/* .ds-auth-field-label joins the kit small-label voice above, no overrides. */
|
|
6225
|
+
.ds-247420 .ds-auth-field-input-row { position: relative; display: flex; align-items: center; }
|
|
6226
|
+
/* Reserves room for the absolutely-positioned toggle: its --space-1 inset plus
|
|
6227
|
+
the --ds-icon-btn-sm 26px box, so the input text never sits under it. */
|
|
6228
|
+
.ds-247420 .ds-auth-field-input-row .input { flex: 1 1 auto; padding-right: calc(26px + var(--space-2)); }
|
|
6229
|
+
.ds-247420 .ds-auth-pw-toggle { position: absolute; right: var(--space-1); }
|
|
6218
6230
|
.ds-247420 .ds-auth-row-between { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); flex-wrap: wrap; }
|
|
6219
6231
|
.ds-247420 .ds-auth-remember { display: flex; align-items: center; gap: var(--space-1-75); cursor: pointer; }
|
|
6220
6232
|
.ds-247420 .ds-auth-remember-text { color: var(--panel-text-2); font-size: var(--fs-tiny); }
|
|
6221
6233
|
.ds-247420 .ds-auth-forgot { font-size: var(--fs-tiny); }
|
|
6222
|
-
|
|
6234
|
+
/* Error and status share layout but not color: a color-only distinction
|
|
6235
|
+
between role="alert" (something is wrong) and role="status" (informational)
|
|
6236
|
+
fails WCAG 1.4.1, so each also carries a distinct ASCII marker via ::before —
|
|
6237
|
+
never rely on the reader noticing the role attribute alone. */
|
|
6238
|
+
.ds-247420 .ds-auth-error, .ds-247420 .ds-auth-status { padding: var(--space-2) var(--space-2-5); background: var(--panel-1); border-radius: var(--r-0); font-size: var(--fs-tiny); overflow-wrap: anywhere; display: flex; gap: var(--space-1-75); align-items: flex-start; }
|
|
6239
|
+
.ds-247420 .ds-auth-error { color: var(--danger); }
|
|
6240
|
+
.ds-247420 .ds-auth-error::before { content: '[!]'; flex: none; }
|
|
6241
|
+
.ds-247420 .ds-auth-status { color: var(--panel-text-2); }
|
|
6242
|
+
.ds-247420 .ds-auth-status::before { content: '[i]'; flex: none; }
|
|
6223
6243
|
.ds-247420 .ds-auth-providers { display: flex; gap: var(--space-2); flex-wrap: wrap; }
|
|
6224
6244
|
.ds-247420 .ds-auth-provider-btn { flex: 1 1 100px; min-width: 0; display: flex; align-items: center; justify-content: center; gap: var(--space-2); padding: var(--space-2-5); }
|
|
6225
6245
|
.ds-247420 .ds-auth-provider-btn--loading { opacity: 0.7; pointer-events: none; }
|
|
@@ -6245,8 +6265,12 @@
|
|
|
6245
6265
|
.ds-247420 .ds-gal-swatch-meta { display: flex; justify-content: space-between; gap: var(--space-1-75); flex-wrap: wrap; font-family: var(--ff-mono); font-size: var(--fs-nano); min-width: 0; }
|
|
6246
6266
|
.ds-247420 .ds-gal-swatch-name { color: var(--panel-text); }
|
|
6247
6267
|
.ds-247420 .ds-gal-swatch-hint { color: var(--panel-text-3); overflow-wrap: anywhere; }
|
|
6248
|
-
.ds-247420 .ds-lightbox-head { display: flex; justify-content: space-between; align-items: center; gap: var(--space-2); flex-wrap: wrap; }
|
|
6268
|
+
.ds-247420 .ds-lightbox-head { display: flex; justify-content: space-between; align-items: center; gap: var(--space-2); flex-wrap: wrap; margin-bottom: var(--space-2-75); }
|
|
6249
6269
|
/* .ds-lightbox-tag joins the kit small-label voice above, no overrides. */
|
|
6270
|
+
/* Dialog's .ds-ep-dialog-body has no default child gap (unlike the former
|
|
6271
|
+
hand-rolled .ds-lightbox-card, which was `display:flex; gap:14px`), so the
|
|
6272
|
+
carousel block gets its own top gutter to keep head/carousel/hint spaced. */
|
|
6273
|
+
.ds-247420 .ds-lightbox-card--carousel { margin-bottom: var(--space-2-75); }
|
|
6250
6274
|
|
|
6251
6275
|
/* --- error_404 kit --- */
|
|
6252
6276
|
.ds-247420 .ds-err-actions { display: flex; gap: var(--space-2); flex-wrap: wrap; justify-content: center; margin-top: var(--space-1-75); }
|
|
@@ -6304,6 +6328,20 @@
|
|
|
6304
6328
|
.ds-247420 .ds-term-input-row { margin-top: var(--space-1-75); }
|
|
6305
6329
|
.ds-247420 .ds-term-input { flex: 1; min-width: 0; background: transparent; border: 0; outline: 0; font-family: var(--ff-mono); font-size: var(--fs-micro); color: var(--paper); caret-color: var(--acid); }
|
|
6306
6330
|
.ds-247420 .ds-term-input::placeholder { color: var(--paper-3-dark); }
|
|
6331
|
+
/* Adding type="text" (for the a11y fix below) makes the global
|
|
6332
|
+
input[type="text"] rule in states-interactions.css match this element for
|
|
6333
|
+
the first time, at equal-or-higher specificity than this file's load
|
|
6334
|
+
order would otherwise win. Re-assert the borderless prompt-line chrome so
|
|
6335
|
+
the shared form-control skin (bg, border, radius, fixed height) can't leak
|
|
6336
|
+
onto what is a terminal prompt, not a form field. */
|
|
6337
|
+
.ds-247420 .ds-term-input[type='text'] { background: transparent; border: 0; border-radius: 0; box-shadow: none; height: auto; }
|
|
6338
|
+
/* The row-level `outline: 0` above kills the browser default, so the control
|
|
6339
|
+
needs its own :focus-visible ring back — otherwise a keyboard user gets no
|
|
6340
|
+
visual confirmation focus landed on the one control they type into. */
|
|
6341
|
+
.ds-247420 .ds-term-input:focus-visible {
|
|
6342
|
+
outline: var(--focus-w) solid var(--focus-color);
|
|
6343
|
+
outline-offset: var(--focus-offset);
|
|
6344
|
+
}
|
|
6307
6345
|
/* The input itself is a prompt line, not a form control, so it is NOT floored
|
|
6308
6346
|
to 44px (that would break the terminal's line rhythm). Instead the whole
|
|
6309
6347
|
prompt ROW becomes the tap target, and the font goes to 16px so focusing it
|
|
@@ -6326,8 +6364,25 @@
|
|
|
6326
6364
|
.ds-247420 .ds-chat-layout > .chat { min-width: 0; }
|
|
6327
6365
|
.ds-247420 .ds-chat-detail { display: none; }
|
|
6328
6366
|
@media (min-width: 1100px) {
|
|
6329
|
-
|
|
6330
|
-
|
|
6367
|
+
/* Two compounding grid quirks, not one:
|
|
6368
|
+
1. align-items:start sizes the row to its tallest item's natural content
|
|
6369
|
+
height instead of stretching items to fill it — align-items must stay
|
|
6370
|
+
the grid default (stretch).
|
|
6371
|
+
2. Even with stretch, an implicit row with no explicit sizing (the
|
|
6372
|
+
default here) ALSO sizes itself to content first, then stretches
|
|
6373
|
+
items to that content-derived height — which can exceed the row's
|
|
6374
|
+
actual allotment from this grid's own flex parent (.chat-kit-page,
|
|
6375
|
+
flex:1/min-height:0). .chat then renders taller than .ds-chat-layout's
|
|
6376
|
+
own box, so it overflows past the grid container instead of being
|
|
6377
|
+
clipped by .chat-thread's internal scroll — visually burying the
|
|
6378
|
+
pattern-notes panel that follows this grid in the DOM. Explicit
|
|
6379
|
+
`grid-template-rows: minmax(0, 1fr)` makes the row take exactly the
|
|
6380
|
+
container's height (from the flex chain above) as the ceiling, so
|
|
6381
|
+
.chat's min-height:0 has a real, smaller-than-content value to clip
|
|
6382
|
+
against. .ds-chat-detail opts out via align-self so its own sticky
|
|
6383
|
+
positioning still works without forcing the row back to content-sized. */
|
|
6384
|
+
.ds-247420 .ds-chat-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; grid-template-rows: minmax(0, 1fr); gap: var(--space-4); }
|
|
6385
|
+
.ds-247420 .ds-chat-detail { display: block; position: sticky; top: 0; align-self: start; }
|
|
6331
6386
|
}
|
|
6332
6387
|
|
|
6333
6388
|
/* Avatar — generic identity disc primitive (content.js Avatar). Sized
|