anentrypoint-design 0.0.437 → 0.0.439

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.
Files changed (60) hide show
  1. package/dist/247420.css +78 -23
  2. package/dist/247420.js +23 -23
  3. package/dist/colors_and_type.css +86 -42
  4. package/dist/preview/buttons.html +5 -2
  5. package/dist/preview/colors-core.html +4 -1
  6. package/dist/preview/colors-lore.html +4 -1
  7. package/dist/preview/colors-semantic.html +4 -1
  8. package/dist/preview/dateline.html +4 -1
  9. package/dist/preview/dropzone.html +4 -1
  10. package/dist/preview/file-grid.html +4 -1
  11. package/dist/preview/file-row.html +4 -1
  12. package/dist/preview/file-toolbar.html +4 -1
  13. package/dist/preview/file-viewer.html +7 -1
  14. package/dist/preview/header.html +5 -2
  15. package/dist/preview/icons-unicode.html +26 -20
  16. package/dist/preview/index-row.html +4 -1
  17. package/dist/preview/inputs.html +4 -1
  18. package/dist/preview/manifesto.html +4 -1
  19. package/dist/preview/rules.html +4 -1
  20. package/dist/preview/spacing.html +17 -12
  21. package/dist/preview/stamps-lore.html +4 -1
  22. package/dist/preview/stamps.html +4 -1
  23. package/dist/preview/theme-ink.html +4 -1
  24. package/dist/preview/type-display.html +4 -1
  25. package/dist/preview/type-mono.html +4 -1
  26. package/dist/preview/type-prose.html +5 -2
  27. package/dist/preview/type-scale.html +40 -15
  28. package/dist/preview/wordmarks.html +18 -22
  29. package/dist/src/components/content.js +2 -1
  30. package/dist/src/components.js +21 -5
  31. package/dist/src/kits/os/theme.css +38 -5
  32. package/dist/ui_kits/aicat/app.js +1 -1
  33. package/dist/ui_kits/gallery/app.js +27 -7
  34. package/dist/ui_kits/signin/app.js +51 -10
  35. package/dist/ui_kits/system_primer/app.js +189 -3
  36. package/dist/ui_kits/terminal/app.js +56 -10
  37. package/package.json +1 -1
  38. package/src/components/content/cli.js +7 -1
  39. package/src/components/content/panel.js +7 -2
  40. package/src/components/shell/app-shell.js +7 -2
  41. package/src/components/shell/icons.js +4 -1
  42. package/src/css/app-shell/kits-appended.css +58 -21
  43. package/src/css/app-shell/panel-row.css +14 -0
  44. package/src/css/app-shell/responsive2-workspace.css +5 -1
  45. package/src/css/app-shell/topbar.css +1 -1
  46. package/src/kits/os/files-app.js +9 -2
  47. package/src/kits/os/icons.js +5 -0
  48. package/src/kits/os/launcher.css +7 -2
  49. package/src/kits/os/launcher.js +27 -3
  50. package/src/kits/os/monitor-app.js +8 -2
  51. package/src/kits/os/shell.js +55 -12
  52. package/src/kits/os/theme.css +20 -2
  53. package/src/kits/os/wm.js +41 -11
  54. package/types/components.d.ts +2 -0
  55. package/dist/slides/deck-stage-overlay.js +0 -63
  56. package/dist/slides/deck-stage-state.js +0 -81
  57. package/dist/slides/deck-stage-style.js +0 -117
  58. package/dist/slides/deck-stage.js +0 -159
  59. package/dist/src/kits/os/freddie/helpers.js +0 -59
  60. 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
- .ds-247420 .app-side-shell { overflow-y: auto; min-height: 0; }
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
- .ds-247420 .ds-lightbox {
5997
- position: fixed; inset: 0; background: var(--scrim);
5998
- display: flex; align-items: center; justify-content: center;
5999
- padding: clamp(var(--space-2-75), 4vw, var(--space-5));
6000
- padding-bottom: max(clamp(var(--space-2-75), 4vw, var(--space-5)), env(safe-area-inset-bottom));
6001
- z-index: var(--z-modal);
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
- .ds-247420 .ds-auth-error { padding: var(--space-2) var(--space-2-5); background: var(--panel-1); border-radius: var(--r-0); color: var(--danger); font-size: var(--fs-tiny); overflow-wrap: anywhere; }
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
- .ds-247420 .ds-chat-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; align-items: start; gap: var(--space-4); }
6330
- .ds-247420 .ds-chat-detail { display: block; position: sticky; top: 0; }
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