anentrypoint-design 0.0.158 → 0.0.161

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
@@ -186,14 +186,43 @@ pre .n { color: var(--green-2); }
186
186
 
187
187
  .app-topbar {
188
188
  position: sticky; top: 0; z-index: var(--z-header);
189
- display: grid; grid-template-columns: auto 1fr auto;
189
+ display: flex; flex-wrap: wrap;
190
190
  align-items: center; gap: var(--space-4);
191
191
  min-height: var(--app-topbar-h);
192
192
  padding: 10px var(--pad-x);
193
193
  background: color-mix(in oklab, var(--bg) 88%, transparent);
194
194
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
195
195
  }
196
- .app-topbar nav { display: flex; gap: 4px; font-size: var(--fs-sm); }
196
+
197
+ /* Merged chrome: when AppShell gets both a topbar and a crumb it wraps them
198
+ in .app-chrome and they share ONE sticky band instead of stacking as two
199
+ bars. The breadcrumb provides the left identity (it already begins with the
200
+ brand), so the topbar's standalone brand is hidden to avoid showing the name
201
+ twice; nav and the crumb's right slot sit together on the right. */
202
+ .app-chrome {
203
+ position: sticky; top: 0; z-index: var(--z-header);
204
+ display: flex; flex-wrap: wrap; align-items: center;
205
+ gap: var(--space-2) var(--space-4);
206
+ padding: 8px var(--pad-x);
207
+ background: color-mix(in oklab, var(--bg) 88%, transparent);
208
+ backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
209
+ }
210
+ .app-chrome > .app-topbar,
211
+ .app-chrome > .app-crumb {
212
+ position: static; background: none; backdrop-filter: none;
213
+ -webkit-backdrop-filter: none; padding: 0; min-height: 0;
214
+ flex: 1 1 auto;
215
+ }
216
+ .app-chrome > .app-crumb { order: 1; flex: 1 1 auto; }
217
+ .app-chrome > .app-topbar { order: 2; flex: 0 0 auto; }
218
+ .app-chrome > .app-topbar > .brand { display: none; }
219
+ .app-chrome > .app-topbar > nav { margin-left: 0; }
220
+ .app-chrome > .app-crumb > .crumb-right { margin-left: auto; }
221
+ .app-topbar > .brand { flex: 0 0 auto; }
222
+ .app-topbar > .app-search { flex: 1 1 auto; }
223
+ .app-topbar > nav { margin-left: auto; }
224
+ .app-topbar nav { display: flex; gap: 4px; font-size: var(--fs-sm); flex-wrap: wrap; }
225
+ .app-topbar nav a { flex: 0 0 auto; }
197
226
  .app-topbar nav a {
198
227
  color: var(--fg-2);
199
228
  padding: 12px 14px;
@@ -751,25 +780,21 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
751
780
  /* App Layout: single-column + drawer is handled once in the ≤900px block;
752
781
  no need to re-declare grid-template-columns here (was a redundant !important). */
753
782
 
754
- /* Topbar Navigation */
783
+ /* Topbar Navigation: stack the nav onto its own full-width row below the
784
+ brand and let it scroll horizontally. The brand stays on the first row;
785
+ nav wraps to a second row at 100% width (flex-wrap on .app-topbar). */
755
786
  .app-topbar {
756
- grid-template-columns: 1fr auto;
757
787
  gap: var(--space-2); padding: 12px var(--space-3);
758
788
  }
759
- .app-topbar nav a {
760
- padding: 12px 10px;
761
- min-height: 44px;
762
- }
763
- /* Keep primary nav reachable on small screens (apps without a sidebar have
764
- no other entry point). Compact it and let it scroll horizontally rather
765
- than hiding it entirely. */
766
- .app-topbar nav {
767
- display: flex; gap: 2px;
789
+ .app-topbar > nav {
790
+ flex: 1 1 100%; margin-left: 0; order: 3;
791
+ display: flex; gap: 2px; flex-wrap: nowrap;
768
792
  overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch;
769
- max-width: 60vw;
770
793
  }
771
794
  .app-topbar nav::-webkit-scrollbar { display: none; }
772
- .app-topbar nav a { padding: 10px 8px; white-space: nowrap; }
795
+ .app-topbar nav a {
796
+ flex: 0 0 auto; padding: 10px 12px; min-height: 44px; white-space: nowrap;
797
+ }
773
798
  .brand { font-size: var(--fs-tiny); font-weight: 600; }
774
799
 
775
800
  /* Search */
package/dist/247420.css CHANGED
@@ -518,14 +518,43 @@
518
518
 
519
519
  .ds-247420 .app-topbar {
520
520
  position: sticky; top: 0; z-index: var(--z-header);
521
- display: grid; grid-template-columns: auto 1fr auto;
521
+ display: flex; flex-wrap: wrap;
522
522
  align-items: center; gap: var(--space-4);
523
523
  min-height: var(--app-topbar-h);
524
524
  padding: 10px var(--pad-x);
525
525
  background: color-mix(in oklab, var(--bg) 88%, transparent);
526
526
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
527
527
  }
528
- .ds-247420 .app-topbar nav { display: flex; gap: 4px; font-size: var(--fs-sm); }
528
+
529
+ /* Merged chrome: when AppShell gets both a topbar and a crumb it wraps them
530
+ in .app-chrome and they share ONE sticky band instead of stacking as two
531
+ bars. The breadcrumb provides the left identity (it already begins with the
532
+ brand), so the topbar's standalone brand is hidden to avoid showing the name
533
+ twice; nav and the crumb's right slot sit together on the right. */
534
+ .ds-247420 .app-chrome {
535
+ position: sticky; top: 0; z-index: var(--z-header);
536
+ display: flex; flex-wrap: wrap; align-items: center;
537
+ gap: var(--space-2) var(--space-4);
538
+ padding: 8px var(--pad-x);
539
+ background: color-mix(in oklab, var(--bg) 88%, transparent);
540
+ backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
541
+ }
542
+ .ds-247420 .app-chrome > .app-topbar,
543
+ .ds-247420 .app-chrome > .app-crumb {
544
+ position: static; background: none; backdrop-filter: none;
545
+ -webkit-backdrop-filter: none; padding: 0; min-height: 0;
546
+ flex: 1 1 auto;
547
+ }
548
+ .ds-247420 .app-chrome > .app-crumb { order: 1; flex: 1 1 auto; }
549
+ .ds-247420 .app-chrome > .app-topbar { order: 2; flex: 0 0 auto; }
550
+ .ds-247420 .app-chrome > .app-topbar > .brand { display: none; }
551
+ .ds-247420 .app-chrome > .app-topbar > nav { margin-left: 0; }
552
+ .ds-247420 .app-chrome > .app-crumb > .crumb-right { margin-left: auto; }
553
+ .ds-247420 .app-topbar > .brand { flex: 0 0 auto; }
554
+ .ds-247420 .app-topbar > .app-search { flex: 1 1 auto; }
555
+ .ds-247420 .app-topbar > nav { margin-left: auto; }
556
+ .ds-247420 .app-topbar nav { display: flex; gap: 4px; font-size: var(--fs-sm); flex-wrap: wrap; }
557
+ .ds-247420 .app-topbar nav a { flex: 0 0 auto; }
529
558
  .ds-247420 .app-topbar nav a {
530
559
  color: var(--fg-2);
531
560
  padding: 12px 14px;
@@ -1083,25 +1112,21 @@
1083
1112
  /* App Layout: single-column + drawer is handled once in the ≤900px block;
1084
1113
  no need to re-declare grid-template-columns here (was a redundant !important). */
1085
1114
 
1086
- /* Topbar Navigation */
1115
+ /* Topbar Navigation: stack the nav onto its own full-width row below the
1116
+ brand and let it scroll horizontally. The brand stays on the first row;
1117
+ nav wraps to a second row at 100% width (flex-wrap on .app-topbar). */
1087
1118
  .ds-247420 .app-topbar {
1088
- grid-template-columns: 1fr auto;
1089
1119
  gap: var(--space-2); padding: 12px var(--space-3);
1090
1120
  }
1091
- .ds-247420 .app-topbar nav a {
1092
- padding: 12px 10px;
1093
- min-height: 44px;
1094
- }
1095
- /* Keep primary nav reachable on small screens (apps without a sidebar have
1096
- no other entry point). Compact it and let it scroll horizontally rather
1097
- than hiding it entirely. */
1098
- .ds-247420 .app-topbar nav {
1099
- display: flex; gap: 2px;
1121
+ .ds-247420 .app-topbar > nav {
1122
+ flex: 1 1 100%; margin-left: 0; order: 3;
1123
+ display: flex; gap: 2px; flex-wrap: nowrap;
1100
1124
  overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch;
1101
- max-width: 60vw;
1102
1125
  }
1103
1126
  .ds-247420 .app-topbar nav::-webkit-scrollbar { display: none; }
1104
- .ds-247420 .app-topbar nav a { padding: 10px 8px; white-space: nowrap; }
1127
+ .ds-247420 .app-topbar nav a {
1128
+ flex: 0 0 auto; padding: 10px 12px; min-height: 44px; white-space: nowrap;
1129
+ }
1105
1130
  .ds-247420 .brand { font-size: var(--fs-tiny); font-weight: 600; }
1106
1131
 
1107
1132
  /* Search */