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 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
- @media (max-width: 900px) {
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: fixed;
2678
+ position: absolute;
2670
2679
  left: 0; top: var(--app-topbar-h);
2671
- height: calc(100vh - var(--app-topbar-h) - var(--app-status-h));
2672
- width: 280px; max-width: 80vw;
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 — lives inside .app-body, shown when drawer open ≤900px */
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: fixed; inset: 0;
2719
+ position: absolute; inset: 0;
2710
2720
  background: color-mix(in oklab, var(--bg) 60%, transparent);
2711
2721
  z-index: 49;
2712
2722
  }
2713
- @media (max-width: 900px) {
2723
+ @container (max-width: 900px) {
2714
2724
  .app-body.side-open .app-side-scrim { display: block; }
2715
2725
  }
2716
2726
 
2717
- /* Mobile nav toggle (hamburger) — hidden on desktop, shown ≤900px */
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: fixed; top: calc((var(--app-topbar-h) - 44px) / 2); left: 10px;
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
- @media (max-width: 900px) {
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
- @media (max-width: 900px) {
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: fixed;
3070
+ position: absolute;
3062
3071
  left: 0; top: var(--app-topbar-h);
3063
- height: calc(100vh - var(--app-topbar-h) - var(--app-status-h));
3064
- width: 280px; max-width: 80vw;
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 — lives inside .app-body, shown when drawer open ≤900px */
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: fixed; inset: 0;
3111
+ position: absolute; inset: 0;
3102
3112
  background: color-mix(in oklab, var(--bg) 60%, transparent);
3103
3113
  z-index: 49;
3104
3114
  }
3105
- @media (max-width: 900px) {
3115
+ @container (max-width: 900px) {
3106
3116
  .ds-247420 .app-body.side-open .app-side-scrim { display: block; }
3107
3117
  }
3108
3118
 
3109
- /* Mobile nav toggle (hamburger) — hidden on desktop, shown ≤900px */
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: fixed; top: calc((var(--app-topbar-h) - 44px) / 2); left: 10px;
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
- @media (max-width: 900px) {
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
  }