@the-portland-company/shell 0.75.0 → 0.75.1
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/CHANGELOG.md +8 -0
- package/dist/app-chrome.cjs +8 -8
- package/dist/app-chrome.cjs.map +1 -1
- package/dist/app-chrome.js +6 -6
- package/dist/app-chrome.js.map +1 -1
- package/dist/chrome.css +22 -2
- package/dist/{chunk-QUXD4PZ7.js → chunk-AQMSMAK2.js} +10 -8
- package/dist/chunk-AQMSMAK2.js.map +1 -0
- package/dist/index.cjs +33 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +18 -1
- package/dist/index.d.ts +18 -1
- package/dist/index.js +33 -3
- package/dist/index.js.map +1 -1
- package/dist/native.cjs +8 -6
- package/dist/native.cjs.map +1 -1
- package/dist/native.d.cts +6 -3
- package/dist/native.d.ts +6 -3
- package/dist/native.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-QUXD4PZ7.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
## 0.75.1
|
|
2
|
+
|
|
3
|
+
Three visual-regression fixes found by cross-app comparison (every app diverged from the design the same three ways):
|
|
4
|
+
|
|
5
|
+
- **Font tokens.** `--font-sans`, `--font-mono` and `--font-plex-mono` were referenced across `loading-screen.tsx` and `native/index.tsx` (and `theme/index.ts` read `--type-mono-family`) but `chrome.css` never emitted any of them, so those surfaces silently fell back to a hardcoded system stack instead of the Brand `--font-family` token — the actual source of the Inter/Acumin mismatch. Every sans surface now consumes `--font-family` (the one token the Brand API emits); every mono surface now consumes one shared, shell-emitted `--font-mono` (also added to `scripts/gen-tokens.mjs`).
|
|
6
|
+
- **Card tokens.** `--color-panel` aliased `--color-surface` (`--surface-1`, #F0F4F7 — the PAGE background), so every card rendered page-tinted instead of the Brand Card white. `--color-border` aliased `--line` / `--sidebar-border`, a token scoped to the always-dark left rail, leaking a dark-rail-intended border onto light content. Fixed in `chrome.css` (and `gen-tokens.mjs`): `--color-panel` is now `--color-layer-3` (white); `--color-border` is now `--color-g3` (#D7DADF, the neutral Brand border step).
|
|
7
|
+
- **Mode eyebrow + tab icons.** `PageHeader` had no `mode`/`eyebrow` prop at all, so the 11px uppercase mode eyebrow (Reference/UI-Platform → "Page header") never had anywhere to render; it now renders by default whenever `mode` is passed (`showEyebrow`/`eyebrow` to override). `NavTab.icon` was marked `@deprecated` and explicitly not rendered as of 0.69.0 — reversed by the 2026-10-06 Tabs decision ("Icon + label. Each tab is a Lucide icon") — `NavTabStrip` now renders the icon again, 15px (13px on `size="sm"`), 1.75 stroke, 6px left of the label, following the label's color via `currentColor`.
|
|
8
|
+
|
|
1
9
|
## 0.75.0
|
|
2
10
|
|
|
3
11
|
Built on top of 0.74.0 (`claude/retire-nav`). Two fixes:
|
package/dist/app-chrome.cjs
CHANGED
|
@@ -2896,7 +2896,7 @@ function NavSidebar({
|
|
|
2896
2896
|
"div",
|
|
2897
2897
|
{
|
|
2898
2898
|
"data-shell-meta": true,
|
|
2899
|
-
className: `mt-1.5 flex flex-col items-center gap-0.5 font-[family-name:var(--font-
|
|
2899
|
+
className: `mt-1.5 flex flex-col items-center gap-0.5 font-[family-name:var(--font-mono,ui-monospace,monospace)] text-[11px] text-[color:var(--sidebar-meta-text,rgba(255,255,255,0.4))] ${rc("max-md:hidden")}`,
|
|
2900
2900
|
children: [
|
|
2901
2901
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-1.5", children: [
|
|
2902
2902
|
footer.envLabel ? shortEnvLabel(footer.envLabel) : null,
|
|
@@ -3046,7 +3046,7 @@ function NavActiveRail() {
|
|
|
3046
3046
|
function NavRowBadge({ value }) {
|
|
3047
3047
|
const rc = useRailCollapse();
|
|
3048
3048
|
if (value === void 0 || value === null || value === "") return null;
|
|
3049
|
-
return /* @__PURE__ */ jsxRuntime.jsx("span", { className: `ml-auto shrink-0 font-[family-name:var(--font-
|
|
3049
|
+
return /* @__PURE__ */ jsxRuntime.jsx("span", { className: `ml-auto shrink-0 font-[family-name:var(--font-mono,ui-monospace,monospace)] text-[11px] font-semibold leading-none text-[color:var(--sidebar-caption,var(--sidebar-text-muted,var(--muted)))] ${rc("max-md:hidden")}`, children: value });
|
|
3050
3050
|
}
|
|
3051
3051
|
function NavSectionRow({
|
|
3052
3052
|
label,
|
|
@@ -3160,7 +3160,7 @@ function OrgIdCopyButton({ id }) {
|
|
|
3160
3160
|
setTimeout(() => setCopied(false), 1500);
|
|
3161
3161
|
},
|
|
3162
3162
|
title: "Copy organization id",
|
|
3163
|
-
className: "-ml-1 rounded px-1 text-left font-[family-name:var(--font-
|
|
3163
|
+
className: "-ml-1 rounded px-1 text-left font-[family-name:var(--font-mono,ui-monospace,monospace)] text-[12px] leading-[1.2] text-[color:var(--sidebar-caption,var(--sidebar-text-muted,var(--muted)))] hover:bg-[color:var(--sidebar-row-hover-bg,var(--panel))]",
|
|
3164
3164
|
children: copied ? "Copied" : `\u2026${id.slice(-8)}`
|
|
3165
3165
|
}
|
|
3166
3166
|
);
|
|
@@ -3220,7 +3220,7 @@ function NavTopBar({
|
|
|
3220
3220
|
"kbd",
|
|
3221
3221
|
{
|
|
3222
3222
|
"aria-hidden": true,
|
|
3223
|
-
className: "pointer-events-none absolute right-[10px] hidden md:block rounded-[3px] border border-[color:var(--line)] px-[5px] py-px font-[family-name:var(--font-
|
|
3223
|
+
className: "pointer-events-none absolute right-[10px] hidden md:block rounded-[3px] border border-[color:var(--line)] px-[5px] py-px font-[family-name:var(--font-mono,ui-monospace,monospace)] text-[12px] leading-[1.2] text-[color:var(--muted)]",
|
|
3224
3224
|
children: "/"
|
|
3225
3225
|
}
|
|
3226
3226
|
)
|
|
@@ -4243,7 +4243,7 @@ function LoadingScreen({
|
|
|
4243
4243
|
display: "flex",
|
|
4244
4244
|
alignItems: "center",
|
|
4245
4245
|
gap: "0.6rem",
|
|
4246
|
-
fontFamily: "var(--font-
|
|
4246
|
+
fontFamily: "var(--font-family, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif)"
|
|
4247
4247
|
},
|
|
4248
4248
|
children: [
|
|
4249
4249
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -4337,7 +4337,7 @@ function LoadingScreen({
|
|
|
4337
4337
|
border: "none",
|
|
4338
4338
|
background: "var(--color-race-red, #dc2626)",
|
|
4339
4339
|
color: "#fff",
|
|
4340
|
-
fontFamily: "var(--font-
|
|
4340
|
+
fontFamily: "var(--font-family, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif)",
|
|
4341
4341
|
fontSize: "0.875rem",
|
|
4342
4342
|
fontWeight: 600,
|
|
4343
4343
|
cursor: "pointer"
|
|
@@ -4356,7 +4356,7 @@ function LoadingScreen({
|
|
|
4356
4356
|
border: "none",
|
|
4357
4357
|
background: "transparent",
|
|
4358
4358
|
color: "rgba(255,255,255,0.38)",
|
|
4359
|
-
fontFamily: "var(--font-
|
|
4359
|
+
fontFamily: "var(--font-family, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif)",
|
|
4360
4360
|
fontSize: "12.5px",
|
|
4361
4361
|
textDecoration: "underline",
|
|
4362
4362
|
cursor: "pointer"
|
|
@@ -4380,7 +4380,7 @@ function LoadingScreen({
|
|
|
4380
4380
|
alignItems: "center",
|
|
4381
4381
|
justifyContent: "space-between",
|
|
4382
4382
|
padding: "0 32px 30px",
|
|
4383
|
-
fontFamily: "var(--font-
|
|
4383
|
+
fontFamily: "var(--font-family, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif)",
|
|
4384
4384
|
fontSize: "12.5px",
|
|
4385
4385
|
color: "rgba(255,255,255,0.38)"
|
|
4386
4386
|
},
|