anentrypoint-design 0.0.419 → 0.0.421
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 +13 -7
- package/dist/247420.js +27 -27
- package/package.json +1 -1
- package/src/css/app-shell/topbar.css +13 -7
- package/src/kits/os/theme.css +38 -5
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "anentrypoint-design",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.421",
|
|
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",
|
|
@@ -85,11 +85,14 @@ body.canvas-host { background: transparent !important; }
|
|
|
85
85
|
.app-topbar nav a {
|
|
86
86
|
color: var(--fg-2);
|
|
87
87
|
/* Dense desktop chrome (was a 44px pill with 12px 14px pad — marketing-scale
|
|
88
|
-
touch target in the top bar)
|
|
89
|
-
|
|
90
|
-
|
|
88
|
+
touch target in the top bar): --r-1 rounded rect, tighter padding. The 44px
|
|
89
|
+
floor is UNCONDITIONAL, not behind @media(pointer:coarse) — switch and
|
|
90
|
+
head-pointer users drive a fine pointer and are never reported as coarse,
|
|
91
|
+
so a coarse-gated floor leaves them a 39px target. Measured live at 1920:
|
|
92
|
+
the gated form rendered 39px with pointer:coarse false. Padding stays dense;
|
|
93
|
+
only the floor moves, so the compact chrome reads unchanged. */
|
|
91
94
|
padding: var(--space-2) var(--space-2-5);
|
|
92
|
-
min-height:
|
|
95
|
+
min-height: 44px;
|
|
93
96
|
display: flex;
|
|
94
97
|
align-items: center;
|
|
95
98
|
border-radius: var(--r-1);
|
|
@@ -181,10 +184,13 @@ body.canvas-host { background: transparent !important; }
|
|
|
181
184
|
display: grid; grid-template-columns: 18px 1fr auto;
|
|
182
185
|
gap: var(--space-2-5); align-items: center;
|
|
183
186
|
/* Dense rounded-rect nav row (was a 44px pill with 12px 14px padding — tall
|
|
184
|
-
and consumer-shaped). A --r-1 rounded rect
|
|
185
|
-
|
|
187
|
+
and consumer-shaped). A --r-1 rounded rect reads as compact app chrome.
|
|
188
|
+
The 44px floor is UNCONDITIONAL for the same reason as .skip-link's: a
|
|
189
|
+
pointer:coarse gate misses switch and head-pointer users, who report a fine
|
|
190
|
+
pointer. Measured live at 1920 the gated form rendered 39px. Padding is
|
|
191
|
+
unchanged, so the row stays dense — only the floor moves. */
|
|
186
192
|
padding: var(--space-2) var(--space-2-5);
|
|
187
|
-
min-height:
|
|
193
|
+
min-height: 44px;
|
|
188
194
|
border-radius: var(--r-1);
|
|
189
195
|
color: var(--fg-2);
|
|
190
196
|
margin-bottom: 2px;
|
package/src/kits/os/theme.css
CHANGED
|
@@ -415,7 +415,12 @@ html, body {
|
|
|
415
415
|
.app-text-cursor { animation: app-cursor-blink 0.5s step-end infinite; }
|
|
416
416
|
@keyframes app-cursor-blink { 50% { opacity: 0; } }
|
|
417
417
|
}
|
|
418
|
-
|
|
418
|
+
/* (min-height: 501px): short-landscape windows (<501px tall) in this width
|
|
419
|
+
* band are on the mobile contract, not tablet — see the matching guard on
|
|
420
|
+
* the .wm-root tablet-inset rule below. Without the guard this block showed
|
|
421
|
+
* the side-rail and rail-offset the menubar/taskbar while the mobile band
|
|
422
|
+
* simultaneously tried to lay out rail-less full-screen windows. */
|
|
423
|
+
@media (max-width: 1023px) and (min-width: 768px) and (min-height: 501px) {
|
|
419
424
|
.os-side-rail { display: flex; }
|
|
420
425
|
.ds-247420 .wm-root { left: calc(var(--os-rail-w) + env(safe-area-inset-left, 0px)); }
|
|
421
426
|
.os-menubar { padding-left: calc(var(--os-rail-w) + env(safe-area-inset-left, 0px) + var(--space-2, 8px)); }
|
|
@@ -563,8 +568,16 @@ html, body {
|
|
|
563
568
|
/* With bars overlaying the wm-root, a maximized window's 34px titlebar would
|
|
564
569
|
* sit exactly under the 34px menubar (untappable) and its body under the
|
|
565
570
|
* taskbar; keep maximized windows between the bars on desktop/tablet. The
|
|
566
|
-
* mobile band re-asserts its own contract in the responsive layer below.
|
|
567
|
-
|
|
571
|
+
* mobile band re-asserts its own contract in the responsive layer below.
|
|
572
|
+
* The (min-height: 501px) guard keeps this rule out of the short-landscape
|
|
573
|
+
* mobile band (768-1023 wide AND <500 tall): the mobile .wm-root already
|
|
574
|
+
* carries the bar-inset there, so this between-the-bars geometry used to
|
|
575
|
+
* DOUBLE-inset maximized windows — a restored wm-max window measured
|
|
576
|
+
* y=104/h=240 instead of y=52/h=344 at 782x448 (witnessed live on thebird
|
|
577
|
+
* 2026-07-29). Guarding here (same idiom as the tablet-band rules below)
|
|
578
|
+
* instead of overriding inside the mobile band keeps the !important
|
|
579
|
+
* ratchet flat — no new declaration was needed. */
|
|
580
|
+
@media (min-width: 768px) and (min-height: 501px) {
|
|
568
581
|
/* LOAD-BEARING !important: wm.css declares `.wm-win.wm-max{top:0!important;
|
|
569
582
|
* height:100%!important}` (wm.css:137-143). Only another !important can beat
|
|
570
583
|
* an !important, regardless of specificity. */
|
|
@@ -640,6 +653,12 @@ html.ds-247420 { touch-action: pan-x pan-y; overscroll-behavior: none; -webkit-t
|
|
|
640
653
|
color: var(--os-fg);
|
|
641
654
|
min-width: 280px;
|
|
642
655
|
box-shadow: var(--shadow-overlay);
|
|
656
|
+
/* Uncapped, the switcher grew one row per open window with no bound —
|
|
657
|
+
* witnessed live at 27 windows on a 448px-tall viewport: the overlay
|
|
658
|
+
* measured y=-344 / h=1136, its top rows unreachable above the screen.
|
|
659
|
+
* Cap to the viewport between the bars and scroll the overflow. */
|
|
660
|
+
max-height: calc(100dvh - (2 * var(--os-bar-h, 34px)) - 24px);
|
|
661
|
+
overflow-y: auto;
|
|
643
662
|
}
|
|
644
663
|
.ds-247420 .wm-switcher-item {
|
|
645
664
|
padding: var(--space-2) var(--space-2-75);
|
|
@@ -1488,6 +1507,11 @@ html.ds-247420 { touch-action: pan-x pan-y; overscroll-behavior: none; -webkit-t
|
|
|
1488
1507
|
border-radius: 0;
|
|
1489
1508
|
box-shadow: none;
|
|
1490
1509
|
}
|
|
1510
|
+
/* A maximized window on the mobile band is just the full-screen window the
|
|
1511
|
+
* rule above already describes — the desktop/tablet `.wm-win.wm-max`
|
|
1512
|
+
* between-the-bars rule is kept out of this band by its own
|
|
1513
|
+
* (min-height: 501px) guard (see its comment above), so no override is
|
|
1514
|
+
* needed here and the !important ratchet stays flat. */
|
|
1491
1515
|
/* titlebar must host a 44px close button -> 44px bar (beats the 34px brand
|
|
1492
1516
|
* clamp by later source order at equal specificity) */
|
|
1493
1517
|
.ds-247420 .wm-bar {
|
|
@@ -1529,8 +1553,17 @@ html.ds-247420 { touch-action: pan-x pan-y; overscroll-behavior: none; -webkit-t
|
|
|
1529
1553
|
* the scoped inset:0; re-asserted here at equal (0,2,0) specificity but later
|
|
1530
1554
|
* source order, which is enough now that the earlier rule is also scoped.
|
|
1531
1555
|
* `inset` alone carries the left offset — the separate `left` declaration it
|
|
1532
|
-
* used to be paired with was redundant with this shorthand.
|
|
1533
|
-
|
|
1556
|
+
* used to be paired with was redundant with this shorthand.
|
|
1557
|
+
* The (min-height: 501px) guard excludes the short-landscape overlap band
|
|
1558
|
+
* (768-1023 wide AND <500 tall): both this query and the mobile band's
|
|
1559
|
+
* (max-height: 500px)+(orientation: landscape) match there, and this rule —
|
|
1560
|
+
* later in source order — used to override the mobile bar-inset, dropping
|
|
1561
|
+
* .wm-root to top:0 so full-screen windows covered the menubar and their
|
|
1562
|
+
* close buttons landed under it occluded and untappable (witnessed live on
|
|
1563
|
+
* thebird at 782x448: elementFromPoint on the chat close button hit
|
|
1564
|
+
* .os-clock, menubar z 601 over window z 102). Short-landscape is the
|
|
1565
|
+
* phone/mobile contract, not tablet. --- */
|
|
1566
|
+
@media (min-width: 768px) and (max-width: 1023px) and (min-height: 501px) {
|
|
1534
1567
|
.ds-247420 .wm-root {
|
|
1535
1568
|
inset: 0 0 0 var(--os-rail-w);
|
|
1536
1569
|
}
|