@the-portland-company/shell 0.67.0 → 0.68.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 CHANGED
@@ -1,3 +1,35 @@
1
+ ## 0.68.1 — 2026-10-03
2
+
3
+ ### Fixed
4
+
5
+ - **Dark theme: chrome whites stay white.** The Brand token sheet remaps `--color-white` to `#0A0A0A` under `.dark`, and Tailwind's `bg-white` / `text-white` read it, so the org logo band went near-black behind its dark wordmark and white labels on accent fills (avatars, badges, active group headers) went near-black. Chrome now uses the literal `[#FFFFFF]`. Regression test: `__tests__/chrome-fixed-white.test.ts`.
6
+
7
+ ## 0.68.0 — 2026-10-03
8
+
9
+ Contacts design parity for the `chrome` Design Compare kind (Specs/Contacts v25 design frames `00-welcome-ben` 1440×900 / 390×844). Additive props only; every existing consumer prop keeps working.
10
+
11
+ ### Added
12
+
13
+ - **Sidebar section captions.** `NavItem.kind: 'section'` renders a non-interactive caption row (RELATIONSHIP / COLLECT / ACCOUNT); `standardPolitogyNav` emits them for the Relationship tree (mode-dependent captions for Campaign/Petition).
14
+ - **Row badge.** `NavItem.badge` draws a right-aligned mono count on a row; `PolitogyFrameData.contactsItem.count` ("31.9K") feeds the Contacts row.
15
+ - **User card in the rail footer.** `NavFooter.user` / `userMenu` / `onSignOut` render avatar + name + email + chevron above Privacy · Terms · Subscriptions. `NavAppShellProps.accountMenuPlacement` (`'sidebar'` default, `'topbar'` = pre-0.68 layout) and `NavTopBarProps.accountMenu` (`'topbar' | 'sidebar' | 'none'`).
16
+ - **`PolitogyFrameData.hiddenNavItems`** (`['Polls', 'CTAs']`) → `StandardNavOptions.hiddenItems`: drop standard rows by label; a section left empty is dropped too.
17
+ - **`PolitogyFrameData.flatNav`**: strip every standard row's children before the rail draws (no accordion chevrons); active-row matching still uses the unstripped tree.
18
+ - **`PolitogyFrameData.searchPlaceholder`**; Contacts defaults to "Search contacts, segments, forms". `NavUserMenu.navDisplay` for the account menu's nav-display control.
19
+ - **Registry `pageTitle: false`** (Contacts): the chrome draws no `<h1>` page-title line above `main`; `NavTopBarProps.title` is now optional.
20
+ - **Mode switcher always shows the row of three** (Relationship · Campaign · Petition); modes the org does not hold are dimmed and disabled, never hidden (Left-Navigation §7).
21
+ - **Dark mode restored** in `./theme-preference` (`readResolvedTheme` honours the `politogy_theme` cookie / localStorage / OS); `chrome.css` ships a `.dark, [data-theme="dark"]` token block. NOTE: Reference/Global-Rules v22 and Reference/UI-Platform v30 say "Light only (dark retired 2026-09-21)"; Spencer explicitly ordered light AND dark for Contacts on 2026-10-03. Those specs are not edited here.
22
+
23
+ ### Changed
24
+
25
+ - Sidebar 236px, org card (white logo band + name row + id copy + chevron), graphite segmented mode switcher with sentence-case "Relationship mode" caption, sentence-case row labels ("Email broadcast", "SMS/MMS blast", "Calls to action", "My profile", "Organization settings"), row geometry 13px / 10×9px padding, 2px active rail; top bar 60px, search 320×36 with `/` kbd, "Build notes" with book icon, 34px icon buttons (17px glyphs), gradient rule.
26
+ - Top-bar action cluster order: DevNotes · Fuel · Spec overlay · Alerts · Support.
27
+
28
+ ### Fixed
29
+
30
+ - **Light-theme rail contrast.** The design-rail washes (`--sidebar-card-bg`, `--sidebar-active-bg`, `--sidebar-line`, `--sidebar-eyebrow`, …) lived under `[data-politogy-mode]`, which unscoped apps (Contacts) never stamp — the org card drew light-grey with white text and the active row in solid brand red. They now live at `:root` (none is defined by the runtime Brand sheet).
31
+ - **Dark text invisible under the Brand sheet.** The runtime `.dark {}` ends with shadcn HSL triples for `--background` / `--foreground` / `--muted`; `html.dark` aliases them to full colours so chrome labels no longer fall to black on dark.
32
+
1
33
  ## 0.61.0 — 2026-09-30
2
34
 
3
35
  ### Changed