anentrypoint-design 0.0.202 → 0.0.203
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/app-shell.css +22 -10
- package/dist/247420.css +22 -10
- package/dist/247420.js +13 -13
- package/package.json +1 -1
- package/src/components/shell.js +12 -8
- package/src/kits/os/theme.css +2 -2
- package/src/kits/os/wm.css +15 -0
- package/src/kits/os/wm.js +15 -6
package/app-shell.css
CHANGED
|
@@ -154,6 +154,9 @@ pre .n { color: var(--green-2); }
|
|
|
154
154
|
============================================================ */
|
|
155
155
|
.app {
|
|
156
156
|
display: flex; flex-direction: column;
|
|
157
|
+
/* Offset parent for the sidebar drawer/scrim/toggle, which are absolute so
|
|
158
|
+
they overlay THIS shell (a thebird WM window) rather than the viewport. */
|
|
159
|
+
position: relative;
|
|
157
160
|
min-height: 100vh;
|
|
158
161
|
/* Definite height so the flex column resolves height:100% for descendants
|
|
159
162
|
(e.g. a full-height chat) at every breakpoint, not just where a desktop
|
|
@@ -2662,14 +2665,20 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
2662
2665
|
============================================================ */
|
|
2663
2666
|
|
|
2664
2667
|
/* Tablet + Mobile: side rail becomes off-canvas drawer (≤900px) */
|
|
2665
|
-
|
|
2668
|
+
/* Sidebar drawer collapse keys on the SHELL width (@container on .app, which is
|
|
2669
|
+
container-type:inline-size) — NOT the viewport. Full-page (freddie) the shell
|
|
2670
|
+
== viewport so this is identical to the old @media(max-width:900px); embedded
|
|
2671
|
+
in a thebird WM window the drawer + hamburger appear when the WINDOW is narrow
|
|
2672
|
+
even on a wide desktop. Drawer/scrim/toggle are absolute (anchored to .app), so
|
|
2673
|
+
they overlay the window, not the page. */
|
|
2674
|
+
@container (max-width: 900px) {
|
|
2666
2675
|
.app-body,
|
|
2667
2676
|
.app-body.no-side { grid-template-columns: 1fr !important; }
|
|
2668
2677
|
.app-side-shell {
|
|
2669
|
-
position:
|
|
2678
|
+
position: absolute;
|
|
2670
2679
|
left: 0; top: var(--app-topbar-h);
|
|
2671
|
-
height: calc(
|
|
2672
|
-
width: 280px; max-width:
|
|
2680
|
+
height: calc(100% - var(--app-topbar-h) - var(--app-status-h));
|
|
2681
|
+
width: 280px; max-width: 80%;
|
|
2673
2682
|
transform: translateX(-100%);
|
|
2674
2683
|
transition: transform var(--dur-base, 240ms) var(--ease, ease);
|
|
2675
2684
|
z-index: 50;
|
|
@@ -2703,21 +2712,24 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
2703
2712
|
.app-main { padding-left: var(--space-3); padding-right: var(--space-3); }
|
|
2704
2713
|
}
|
|
2705
2714
|
|
|
2706
|
-
/* Drawer scrim —
|
|
2715
|
+
/* Drawer scrim — absolute so it covers THIS shell, shown when drawer open and
|
|
2716
|
+
the shell is narrow (@container on .app). */
|
|
2707
2717
|
.app-side-scrim {
|
|
2708
2718
|
display: none;
|
|
2709
|
-
position:
|
|
2719
|
+
position: absolute; inset: 0;
|
|
2710
2720
|
background: color-mix(in oklab, var(--bg) 60%, transparent);
|
|
2711
2721
|
z-index: 49;
|
|
2712
2722
|
}
|
|
2713
|
-
@
|
|
2723
|
+
@container (max-width: 900px) {
|
|
2714
2724
|
.app-body.side-open .app-side-scrim { display: block; }
|
|
2715
2725
|
}
|
|
2716
2726
|
|
|
2717
|
-
/*
|
|
2727
|
+
/* Nav toggle (hamburger) — hidden when the shell is wide, shown when the shell
|
|
2728
|
+
itself is narrow (@container on .app). Absolute so it sits in THIS shell's
|
|
2729
|
+
topbar, not pinned to the viewport corner. */
|
|
2718
2730
|
.app-side-toggle {
|
|
2719
2731
|
display: none;
|
|
2720
|
-
position:
|
|
2732
|
+
position: absolute; top: calc((var(--app-topbar-h) - 44px) / 2); left: 10px;
|
|
2721
2733
|
z-index: 51;
|
|
2722
2734
|
/* 44x44 minimum hit area (WCAG 2.5.5 / Apple HIG) - 36px is below the
|
|
2723
2735
|
reliable-tap threshold on touch. */
|
|
@@ -2730,7 +2742,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
2730
2742
|
cursor: pointer;
|
|
2731
2743
|
}
|
|
2732
2744
|
.app-side-toggle:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
|
|
2733
|
-
@
|
|
2745
|
+
@container (max-width: 900px) {
|
|
2734
2746
|
.app-side-toggle { display: inline-flex; }
|
|
2735
2747
|
.app-topbar .brand { margin-left: 44px; }
|
|
2736
2748
|
}
|
package/dist/247420.css
CHANGED
|
@@ -555,6 +555,9 @@
|
|
|
555
555
|
============================================================ */
|
|
556
556
|
.ds-247420 .app {
|
|
557
557
|
display: flex; flex-direction: column;
|
|
558
|
+
/* Offset parent for the sidebar drawer/scrim/toggle, which are absolute so
|
|
559
|
+
they overlay THIS shell (a thebird WM window) rather than the viewport. */
|
|
560
|
+
position: relative;
|
|
558
561
|
min-height: 100vh;
|
|
559
562
|
/* Definite height so the flex column resolves height:100% for descendants
|
|
560
563
|
(e.g. a full-height chat) at every breakpoint, not just where a desktop
|
|
@@ -3054,14 +3057,20 @@
|
|
|
3054
3057
|
============================================================ */
|
|
3055
3058
|
|
|
3056
3059
|
/* Tablet + Mobile: side rail becomes off-canvas drawer (≤900px) */
|
|
3057
|
-
|
|
3060
|
+
/* Sidebar drawer collapse keys on the SHELL width (@container on .app, which is
|
|
3061
|
+
container-type:inline-size) — NOT the viewport. Full-page (freddie) the shell
|
|
3062
|
+
== viewport so this is identical to the old @media(max-width:900px); embedded
|
|
3063
|
+
in a thebird WM window the drawer + hamburger appear when the WINDOW is narrow
|
|
3064
|
+
even on a wide desktop. Drawer/scrim/toggle are absolute (anchored to .app), so
|
|
3065
|
+
they overlay the window, not the page. */
|
|
3066
|
+
@container (max-width: 900px) {
|
|
3058
3067
|
.ds-247420 .app-body,
|
|
3059
3068
|
.ds-247420 .app-body.no-side { grid-template-columns: 1fr !important; }
|
|
3060
3069
|
.ds-247420 .app-side-shell {
|
|
3061
|
-
position:
|
|
3070
|
+
position: absolute;
|
|
3062
3071
|
left: 0; top: var(--app-topbar-h);
|
|
3063
|
-
height: calc(
|
|
3064
|
-
width: 280px; max-width:
|
|
3072
|
+
height: calc(100% - var(--app-topbar-h) - var(--app-status-h));
|
|
3073
|
+
width: 280px; max-width: 80%;
|
|
3065
3074
|
transform: translateX(-100%);
|
|
3066
3075
|
transition: transform var(--dur-base, 240ms) var(--ease, ease);
|
|
3067
3076
|
z-index: 50;
|
|
@@ -3095,21 +3104,24 @@
|
|
|
3095
3104
|
.ds-247420 .app-main { padding-left: var(--space-3); padding-right: var(--space-3); }
|
|
3096
3105
|
}
|
|
3097
3106
|
|
|
3098
|
-
/* Drawer scrim —
|
|
3107
|
+
/* Drawer scrim — absolute so it covers THIS shell, shown when drawer open and
|
|
3108
|
+
the shell is narrow (@container on .app). */
|
|
3099
3109
|
.ds-247420 .app-side-scrim {
|
|
3100
3110
|
display: none;
|
|
3101
|
-
position:
|
|
3111
|
+
position: absolute; inset: 0;
|
|
3102
3112
|
background: color-mix(in oklab, var(--bg) 60%, transparent);
|
|
3103
3113
|
z-index: 49;
|
|
3104
3114
|
}
|
|
3105
|
-
@
|
|
3115
|
+
@container (max-width: 900px) {
|
|
3106
3116
|
.ds-247420 .app-body.side-open .app-side-scrim { display: block; }
|
|
3107
3117
|
}
|
|
3108
3118
|
|
|
3109
|
-
/*
|
|
3119
|
+
/* Nav toggle (hamburger) — hidden when the shell is wide, shown when the shell
|
|
3120
|
+
itself is narrow (@container on .app). Absolute so it sits in THIS shell's
|
|
3121
|
+
topbar, not pinned to the viewport corner. */
|
|
3110
3122
|
.ds-247420 .app-side-toggle {
|
|
3111
3123
|
display: none;
|
|
3112
|
-
position:
|
|
3124
|
+
position: absolute; top: calc((var(--app-topbar-h) - 44px) / 2); left: 10px;
|
|
3113
3125
|
z-index: 51;
|
|
3114
3126
|
/* 44x44 minimum hit area (WCAG 2.5.5 / Apple HIG) - 36px is below the
|
|
3115
3127
|
reliable-tap threshold on touch. */
|
|
@@ -3122,7 +3134,7 @@
|
|
|
3122
3134
|
cursor: pointer;
|
|
3123
3135
|
}
|
|
3124
3136
|
.ds-247420 .app-side-toggle:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
|
|
3125
|
-
@
|
|
3137
|
+
@container (max-width: 900px) {
|
|
3126
3138
|
.ds-247420 .app-side-toggle { display: inline-flex; }
|
|
3127
3139
|
.ds-247420 .app-topbar .brand { margin-left: 44px; }
|
|
3128
3140
|
}
|