@the-portland-company/shell 0.57.0 → 0.59.0
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 +19 -0
- package/dist/app-chrome.cjs +19 -3
- package/dist/app-chrome.cjs.map +1 -1
- package/dist/app-chrome.d.cts +7 -3
- package/dist/app-chrome.d.ts +7 -3
- package/dist/app-chrome.js +19 -4
- package/dist/app-chrome.js.map +1 -1
- package/dist/{chunk-TMOZTLUZ.js → chunk-BV2QF7NY.js} +3 -2
- package/dist/chunk-BV2QF7NY.js.map +1 -0
- package/dist/native.cjs +1 -0
- package/dist/native.cjs.map +1 -1
- package/dist/native.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-TMOZTLUZ.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,22 @@
|
|
|
1
|
+
## 0.59.0 — 2026-09-30
|
|
2
|
+
|
|
3
|
+
### Fixed — parent nav row stays active on child routes when the 'tabs' nav preference strips children (`src/app-chrome/frame.tsx`, DevNotes ebb036a1)
|
|
4
|
+
|
|
5
|
+
## 0.58.0 — 2026-09-30
|
|
6
|
+
|
|
7
|
+
### Fixed — Meta build-metadata row renders for every viewer (`src/app-chrome/index.tsx`)
|
|
8
|
+
|
|
9
|
+
`useChromeFooter` gated the `env | commit | version` / `date | author` rows
|
|
10
|
+
behind Super Administrator. Reference/UI-Platform "Left bar — required
|
|
11
|
+
elements" and Specs/Left-Navigation §10 list Meta unconditionally, so every
|
|
12
|
+
non-admin viewer was missing a required rail element (DevNotes 83a64713).
|
|
13
|
+
|
|
14
|
+
### Fixed — rail font pinned to the Brand token (`src/native/index.tsx`)
|
|
15
|
+
|
|
16
|
+
`NavSidebar` now sets `font-family: var(--font-family, …)` directly instead
|
|
17
|
+
of inheriting `body`, so an app-level font (Contacts) can no longer leak into
|
|
18
|
+
the left rail (DevNotes 64a4961e).
|
|
19
|
+
|
|
1
20
|
## 0.57.0 — 2026-09-30
|
|
2
21
|
|
|
3
22
|
### Fixed — 10DLC alert no longer auto-redirects on every login (`src/native/chromeActions.tsx`)
|
package/dist/app-chrome.cjs
CHANGED
|
@@ -2094,6 +2094,7 @@ function NavSidebar({
|
|
|
2094
2094
|
"fixed inset-y-0 left-0 w-[240px] flex-col border-r border-[color:var(--line)] bg-[color:var(--sidebar-bg,var(--nav-surface))] lg:flex",
|
|
2095
2095
|
open ? "flex z-50" : "hidden z-30"
|
|
2096
2096
|
),
|
|
2097
|
+
style: { fontFamily: 'var(--font-family, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif)' },
|
|
2097
2098
|
onKeyDown: trapTab,
|
|
2098
2099
|
onClick: (e) => {
|
|
2099
2100
|
if (open && e.target.closest("a[href]")) onClose?.();
|
|
@@ -4079,6 +4080,21 @@ function FrameBody({
|
|
|
4079
4080
|
[data?.contactsItem, data?.petitionsItem, navMode, activeOrgId]
|
|
4080
4081
|
);
|
|
4081
4082
|
const navItems = core?.nav ?? derivedNavItems;
|
|
4083
|
+
const navIsActive = react.useMemo(() => {
|
|
4084
|
+
const childHrefs = /* @__PURE__ */ new Map();
|
|
4085
|
+
for (const item of navItems) {
|
|
4086
|
+
if (!item.href || !item.children?.length) continue;
|
|
4087
|
+
const hrefs = [];
|
|
4088
|
+
for (const child of item.children) {
|
|
4089
|
+
if (child.href) hrefs.push(child.href);
|
|
4090
|
+
for (const leaf of child.children ?? []) {
|
|
4091
|
+
if (leaf.href) hrefs.push(leaf.href);
|
|
4092
|
+
}
|
|
4093
|
+
}
|
|
4094
|
+
childHrefs.set(item.href, hrefs);
|
|
4095
|
+
}
|
|
4096
|
+
return (pathname2, href) => isNavItemActive(pathname2, href) || (childHrefs.get(href) ?? []).some((h) => isNavItemActive(pathname2, h));
|
|
4097
|
+
}, [navItems]);
|
|
4082
4098
|
const derivedBreadcrumbs = react.useMemo(
|
|
4083
4099
|
() => deriveBreadcrumbs(navItems, pathname, { search, origin: meta.origin }),
|
|
4084
4100
|
[navItems, pathname, search, meta.origin]
|
|
@@ -4111,6 +4127,7 @@ function FrameBody({
|
|
|
4111
4127
|
// (which strips children) would leave one childless parent row —
|
|
4112
4128
|
// flat apps ignore the stripping.
|
|
4113
4129
|
items: navDisplay === "tabs" && meta.navShape !== "flat" ? navItems.map(({ children: _sub, ...item }) => item) : navItems,
|
|
4130
|
+
isActive: navIsActive,
|
|
4114
4131
|
flatten: meta.navShape === "flat"
|
|
4115
4132
|
},
|
|
4116
4133
|
// The app's own workspace is NOT the organization — it is a per-app
|
|
@@ -4576,10 +4593,9 @@ var FOOTER_LINKS = [
|
|
|
4576
4593
|
}
|
|
4577
4594
|
];
|
|
4578
4595
|
function useChromeFooter(meta) {
|
|
4579
|
-
const isSuperAdmin = useIsSuperAdmin();
|
|
4580
4596
|
return react.useMemo(
|
|
4581
|
-
() =>
|
|
4582
|
-
[
|
|
4597
|
+
() => ({ links: FOOTER_LINKS, ...meta }),
|
|
4598
|
+
[meta.envLabel, meta.version, meta.commit, meta.commitDate, meta.commitAuthor]
|
|
4583
4599
|
);
|
|
4584
4600
|
}
|
|
4585
4601
|
function useChromeIdentity(fallback) {
|