@godxjp/ui 13.16.1 → 13.16.3
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.
|
@@ -20,7 +20,7 @@ function AppShell({
|
|
|
20
20
|
] });
|
|
21
21
|
return /* @__PURE__ */ jsxs("div", { className: "app-root", "data-collapsed": sidebarCollapsed ? "true" : void 0, children: [
|
|
22
22
|
/* @__PURE__ */ jsx("aside", { className: "app-sidebar", "aria-label": t("layout.appShell.sidebarLabel"), children: sidebar }),
|
|
23
|
-
/* @__PURE__ */ jsx("header", { className: "app-topbar", "aria-label": t("layout.appShell.headerLabel"), children: resolvedTopbar }),
|
|
23
|
+
/* @__PURE__ */ jsx("header", { className: "app-topbar ui-scale-fixed", "aria-label": t("layout.appShell.headerLabel"), children: resolvedTopbar }),
|
|
24
24
|
/* @__PURE__ */ jsxs("main", { className: "app-main", "aria-label": t("layout.appShell.mainLabel"), children: [
|
|
25
25
|
breadcrumb !== void 0 && /* @__PURE__ */ jsx("div", { className: "app-breadcrumb", children: breadcrumb }),
|
|
26
26
|
children
|
package/dist/styles/index.css
CHANGED
|
@@ -23,7 +23,12 @@
|
|
|
23
23
|
* `var(--radius-2xl)` directly; without a generated utility Tailwind drops the unused var). */
|
|
24
24
|
@source inline("rounded-{xs,xl,2xl}");
|
|
25
25
|
@source inline("text-2xs");
|
|
26
|
-
|
|
26
|
+
/* `.js` matters: the published package ships only compiled JS under dist (no
|
|
27
|
+
* .tsx sources), and this file is copied verbatim into dist/styles — without
|
|
28
|
+
* it Tailwind finds no component classes in consumers (unstyled popovers and
|
|
29
|
+
* selects, and Radix scroll-lock freezes the page because pointer-events-auto
|
|
30
|
+
* is never emitted). In-repo the glob scans src; published, it scans dist. */
|
|
31
|
+
@source "../**/*.{tsx,ts,js}";
|
|
27
32
|
@import "../tokens/base.css";
|
|
28
33
|
@import "./density.css";
|
|
29
34
|
@import "./shell-layout.css";
|
|
@@ -35,6 +35,9 @@
|
|
|
35
35
|
|
|
36
36
|
.app-topbar {
|
|
37
37
|
grid-area: topbar;
|
|
38
|
+
/* Persistent navigation chrome stays a FIXED size regardless of density — the
|
|
39
|
+
* AppShell adds `.ui-scale-fixed` to this <header> (resets the whole size-token
|
|
40
|
+
* set to baseline; --scaling:1 alone is not enough — see foundation.css). */
|
|
38
41
|
display: flex;
|
|
39
42
|
min-width: 0;
|
|
40
43
|
align-items: center;
|
|
@@ -180,6 +180,62 @@
|
|
|
180
180
|
--phi-p2: calc(var(--phi-p1) * var(--ratio-phi));
|
|
181
181
|
}
|
|
182
182
|
|
|
183
|
+
/* SCALE-FIXED — pin a subtree to the baseline size (--scaling 1) so persistent
|
|
184
|
+
* chrome (the AppShell topbar, the global search palette, …) does NOT resize with
|
|
185
|
+
* the density axis. Setting only --scaling:1 is insufficient: the size tokens were
|
|
186
|
+
* already substituted at :root and inherit baked, so each --scaling-derived token
|
|
187
|
+
* (and every semantic token that aliases the spacing grid) is RE-DECLARED here to
|
|
188
|
+
* re-resolve at baseline. Apply via `className="… ui-scale-fixed"`. Must list every
|
|
189
|
+
* scaled token — the scale-fixed coverage test guards against drift. */
|
|
190
|
+
.ui-scale-fixed {
|
|
191
|
+
--scaling: 1;
|
|
192
|
+
--space-1: 0.25rem;
|
|
193
|
+
--space-2: 0.5rem;
|
|
194
|
+
--space-3: 0.75rem;
|
|
195
|
+
--space-4: 1rem;
|
|
196
|
+
--space-5: 1.25rem;
|
|
197
|
+
--space-6: 1.5rem;
|
|
198
|
+
--space-8: 2rem;
|
|
199
|
+
--space-10: 2.5rem;
|
|
200
|
+
--space-12: 3rem;
|
|
201
|
+
--radius: 0.375rem;
|
|
202
|
+
--control-height: var(--control-height-default);
|
|
203
|
+
/* baseline tier values (2rem ∓ step) as literals — keeps the control-sizing
|
|
204
|
+
* guard happy and avoids re-deriving from the (baked) active --control-height. */
|
|
205
|
+
--control-height-sm: 1.75rem;
|
|
206
|
+
--control-height-lg: 2.25rem;
|
|
207
|
+
--control-height-xs: 1.5rem;
|
|
208
|
+
--control-icon-size: 1rem;
|
|
209
|
+
--control-icon-size-sm: 0.875rem;
|
|
210
|
+
--control-padding-x: var(--space-3);
|
|
211
|
+
--control-gap: var(--space-2);
|
|
212
|
+
--control-gap-sm: var(--space-1);
|
|
213
|
+
--checkbox-size: 1rem;
|
|
214
|
+
--switch-width: 2.25rem;
|
|
215
|
+
--switch-height: 1.25rem;
|
|
216
|
+
--switch-thumb-size: 1rem;
|
|
217
|
+
--switch-thumb-translate: 1rem;
|
|
218
|
+
--table-row-height: var(--table-row-height-default);
|
|
219
|
+
--table-cell-padding-y: var(--space-2);
|
|
220
|
+
--phi-unit: var(--space-4);
|
|
221
|
+
--space-page-x: var(--space-6);
|
|
222
|
+
--space-page-y: var(--space-6);
|
|
223
|
+
--space-section: var(--space-4);
|
|
224
|
+
--space-stack-xs: var(--space-1);
|
|
225
|
+
--space-stack-sm: var(--space-2);
|
|
226
|
+
--space-stack-md: var(--space-4);
|
|
227
|
+
--space-stack-lg: var(--space-6);
|
|
228
|
+
--space-stack-xl: var(--space-10);
|
|
229
|
+
--space-inline-xs: var(--space-1);
|
|
230
|
+
--space-inline-sm: var(--space-2);
|
|
231
|
+
--space-inline-md: var(--space-3);
|
|
232
|
+
--space-inline-lg: var(--space-4);
|
|
233
|
+
--space-chrome-x: var(--space-6);
|
|
234
|
+
--space-chrome-y: var(--space-4);
|
|
235
|
+
--space-chrome-gap: var(--space-2);
|
|
236
|
+
--field-label-gap: var(--space-2);
|
|
237
|
+
}
|
|
238
|
+
|
|
183
239
|
.dark,
|
|
184
240
|
:root[data-theme="dark"] {
|
|
185
241
|
/* Warm-tinted dark spine — keeps the hue-60 character at low lightness.
|