@the-portland-company/shell 0.76.18 → 0.78.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 +22 -0
- package/dist/app-chrome.cjs +29 -202
- package/dist/app-chrome.cjs.map +1 -1
- package/dist/app-chrome.d.cts +5 -5
- package/dist/app-chrome.d.ts +5 -5
- package/dist/app-chrome.js +22 -9
- package/dist/app-chrome.js.map +1 -1
- package/dist/{chunk-GGM4AD43.js → chunk-FUEIKJLN.js} +12 -16
- package/dist/chunk-FUEIKJLN.js.map +1 -0
- package/dist/{index-DJ3qBzfQ.d.ts → index-KGYMc_1i.d.ts} +3 -4
- package/dist/{index-Cu5frXRQ.d.cts → index-fydj5EU2.d.cts} +3 -4
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/native.cjs +10 -14
- package/dist/native.cjs.map +1 -1
- package/dist/native.d.cts +1 -1
- package/dist/native.d.ts +1 -1
- package/dist/native.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-GGM4AD43.js.map +0 -1
package/dist/app-chrome.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
|
-
import { S as StandardNavIconKey, f as NavIcon, N as NavItem, g as NavBreadcrumb, h as StandardNavMode, i as NavLinkComponent, j as NavChromeFetcher, k as NavMode, l as NavUserMenu, m as NavOrgOption, b as NotificationsAdapter, o as NavFooter, p as NavDisplayMode } from './index-
|
|
3
|
+
import { S as StandardNavIconKey, f as NavIcon, N as NavItem, g as NavBreadcrumb, h as StandardNavMode, i as NavLinkComponent, j as NavChromeFetcher, k as NavMode, l as NavUserMenu, m as NavOrgOption, b as NotificationsAdapter, o as NavFooter, p as NavDisplayMode } from './index-fydj5EU2.cjs';
|
|
4
4
|
import './theme-preference.cjs';
|
|
5
5
|
|
|
6
6
|
/**
|
|
@@ -89,7 +89,7 @@ type LoadingScreenProps = {
|
|
|
89
89
|
declare function LoadingScreen({ bootProgress, syntheticReady, visible, onExitComplete, }: LoadingScreenProps): react_jsx_runtime.JSX.Element | null;
|
|
90
90
|
|
|
91
91
|
/** Every app that renders the shared chrome. Keyed by its subdomain. */
|
|
92
|
-
type PolitogyAppKey = 'vrm' | 'contacts' | 'forms' | 'surveys' | 'polls' | 'petitions' | 'dashboard' | 'settings' | 'email' | 'a2p' | 'phonebank' | 'canvass' | 'signs' | 'ctas';
|
|
92
|
+
type PolitogyAppKey = 'vrm' | 'contacts' | 'forms' | 'surveys' | 'polls' | 'petitions' | 'dashboard' | 'settings' | 'battleground' | 'districts' | 'email' | 'a2p' | 'phonebank' | 'canvass' | 'signs' | 'ctas';
|
|
93
93
|
/**
|
|
94
94
|
* The operating Mode an app is scoped to, if any. It drives two things,
|
|
95
95
|
* BOTH derived here from app identity so no app passes chrome config:
|
|
@@ -201,7 +201,7 @@ type PolitogyFrameData = {
|
|
|
201
201
|
count?: string | number | null;
|
|
202
202
|
};
|
|
203
203
|
/**
|
|
204
|
-
* Top-level standard-nav rows to omit, by label (e.g. `['
|
|
204
|
+
* Top-level standard-nav rows to omit, by label (e.g. `['Forms', 'Surveys']`).
|
|
205
205
|
* The Specs/Contacts design rail shows exactly Dashboard · Contacts · Email
|
|
206
206
|
* broadcast · SMS/MMS blast / Calls to action · Forms · Surveys / My profile
|
|
207
207
|
* · Organization settings. Default: nothing hidden.
|
|
@@ -501,8 +501,8 @@ declare function useChromeIdentity(fallback?: {
|
|
|
501
501
|
|
|
502
502
|
/**
|
|
503
503
|
* The My Account menu config — profile/org links into VRM core, real roles
|
|
504
|
-
* from the user's core organizations
|
|
505
|
-
*
|
|
504
|
+
* from the user's core organizations and the signed-in account. No theme
|
|
505
|
+
* control: the product is light only (Reference/UI-Platform).
|
|
506
506
|
*/
|
|
507
507
|
declare function useChromeUserMenu({ userId, userName, email, }: {
|
|
508
508
|
userId: string;
|
package/dist/app-chrome.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
|
-
import { S as StandardNavIconKey, f as NavIcon, N as NavItem, g as NavBreadcrumb, h as StandardNavMode, i as NavLinkComponent, j as NavChromeFetcher, k as NavMode, l as NavUserMenu, m as NavOrgOption, b as NotificationsAdapter, o as NavFooter, p as NavDisplayMode } from './index-
|
|
3
|
+
import { S as StandardNavIconKey, f as NavIcon, N as NavItem, g as NavBreadcrumb, h as StandardNavMode, i as NavLinkComponent, j as NavChromeFetcher, k as NavMode, l as NavUserMenu, m as NavOrgOption, b as NotificationsAdapter, o as NavFooter, p as NavDisplayMode } from './index-KGYMc_1i.js';
|
|
4
4
|
import './theme-preference.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
@@ -89,7 +89,7 @@ type LoadingScreenProps = {
|
|
|
89
89
|
declare function LoadingScreen({ bootProgress, syntheticReady, visible, onExitComplete, }: LoadingScreenProps): react_jsx_runtime.JSX.Element | null;
|
|
90
90
|
|
|
91
91
|
/** Every app that renders the shared chrome. Keyed by its subdomain. */
|
|
92
|
-
type PolitogyAppKey = 'vrm' | 'contacts' | 'forms' | 'surveys' | 'polls' | 'petitions' | 'dashboard' | 'settings' | 'email' | 'a2p' | 'phonebank' | 'canvass' | 'signs' | 'ctas';
|
|
92
|
+
type PolitogyAppKey = 'vrm' | 'contacts' | 'forms' | 'surveys' | 'polls' | 'petitions' | 'dashboard' | 'settings' | 'battleground' | 'districts' | 'email' | 'a2p' | 'phonebank' | 'canvass' | 'signs' | 'ctas';
|
|
93
93
|
/**
|
|
94
94
|
* The operating Mode an app is scoped to, if any. It drives two things,
|
|
95
95
|
* BOTH derived here from app identity so no app passes chrome config:
|
|
@@ -201,7 +201,7 @@ type PolitogyFrameData = {
|
|
|
201
201
|
count?: string | number | null;
|
|
202
202
|
};
|
|
203
203
|
/**
|
|
204
|
-
* Top-level standard-nav rows to omit, by label (e.g. `['
|
|
204
|
+
* Top-level standard-nav rows to omit, by label (e.g. `['Forms', 'Surveys']`).
|
|
205
205
|
* The Specs/Contacts design rail shows exactly Dashboard · Contacts · Email
|
|
206
206
|
* broadcast · SMS/MMS blast / Calls to action · Forms · Surveys / My profile
|
|
207
207
|
* · Organization settings. Default: nothing hidden.
|
|
@@ -501,8 +501,8 @@ declare function useChromeIdentity(fallback?: {
|
|
|
501
501
|
|
|
502
502
|
/**
|
|
503
503
|
* The My Account menu config — profile/org links into VRM core, real roles
|
|
504
|
-
* from the user's core organizations
|
|
505
|
-
*
|
|
504
|
+
* from the user's core organizations and the signed-in account. No theme
|
|
505
|
+
* control: the product is light only (Reference/UI-Platform).
|
|
506
506
|
*/
|
|
507
507
|
declare function useChromeUserMenu({ userId, userName, email, }: {
|
|
508
508
|
userId: string;
|
package/dist/app-chrome.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { broadcastLogout, watchLogout } from './chunk-LL6LSJAH.js';
|
|
3
|
-
import { clearBetaBannerDismissal, standardPolitogyNav, standardNavIcons, isNavItemActive, NavAppShell } from './chunk-
|
|
4
|
-
export { standardNavIcons } from './chunk-
|
|
5
|
-
import { warnDeprecated, NavChromeProvider, TopBarWidgetSlot, FuelAction, SpecOverlayAction, NotificationsAction, SupportAction, useChromeMe,
|
|
3
|
+
import { clearBetaBannerDismissal, standardPolitogyNav, standardNavIcons, isNavItemActive, NavAppShell } from './chunk-FUEIKJLN.js';
|
|
4
|
+
export { standardNavIcons } from './chunk-FUEIKJLN.js';
|
|
5
|
+
import { warnDeprecated, NavChromeProvider, TopBarWidgetSlot, FuelAction, SpecOverlayAction, NotificationsAction, SupportAction, useChromeMe, useNavChromeDedupedFetch, useChromeOrgs, useNavChromeFetcher } from './chunk-TUK2IEL5.js';
|
|
6
6
|
import './chunk-BHRVZPZ7.js';
|
|
7
7
|
import { NAV_DISPLAY_DEFAULT, resolveNavDisplay, writeNavDisplayLocal, writeNavDisplayCookie, isNavDisplayPreference, NAV_DISPLAY_STORAGE_KEY, readNavDisplayCookie } from './chunk-7YVJ7HQG.js';
|
|
8
8
|
import { readOrgSelectorFromUrl, matchOrgSelector, isOrgId, switchActiveOrg, ACTIVE_ORG_QUERY_PARAM, ORG_ID_QUERY_PARAM, orgIdTail, syncOrgIdInUrl, writeActiveOrgCookie, resolveActiveOrg, readActiveOrgCookie } from './chunk-FBUF7LUE.js';
|
|
@@ -538,11 +538,23 @@ var POLITOGY_APPS = {
|
|
|
538
538
|
polls: { title: "Polls", origin: "https://polls.politogyvrm.com", storagePrefix: "polls", mode: "campaign", grants: ["title"] },
|
|
539
539
|
ctas: { title: "CTAs", origin: "https://ctas.politogyvrm.com", storagePrefix: "ctas", grants: ["title"] },
|
|
540
540
|
// V2 apps that replace retired app.politogyvrm.com pages (Reference/
|
|
541
|
-
// UI-Platform v42 "Retirement of app.politogyvrm.com"). Dashboard
|
|
542
|
-
// Relationship Dashboard
|
|
543
|
-
// (Specs/Relationship-Dashboard
|
|
544
|
-
// (Specs/Organization-Settings).
|
|
541
|
+
// UI-Platform v42 "Retirement of app.politogyvrm.com"). Dashboard is the
|
|
542
|
+
// Relationship Dashboard, the Relationship Mode landing page, and nothing
|
|
543
|
+
// else (Specs/Relationship-Dashboard §1A "Relationship Mode only"); Settings
|
|
544
|
+
// hosts org settings & billing (Specs/Organization-Settings).
|
|
545
545
|
dashboard: { title: "Dashboard", origin: "https://dashboard.politogyvrm.com", storagePrefix: "dashboard" },
|
|
546
|
+
// Battleground (the Campaign Mode landing page) and District Data are
|
|
547
|
+
// Campaign Mode features, each its own app (Specs/Left-Navigation §9.2;
|
|
548
|
+
// Reference/UI-Platform, decided 2026-10-12). They are never rendered with
|
|
549
|
+
// `app="dashboard"`: that frame is the Relationship rail, which is how they
|
|
550
|
+
// came to show inside Relationship Mode. Their hosts are decided
|
|
551
|
+
// (UI-Platform, 2026-10-12): battleground.politogyvrm.com and
|
|
552
|
+
// districts.politogyvrm.com. Neither is live yet, so the pages are still
|
|
553
|
+
// served from the dashboard deployment and the origin below is that host.
|
|
554
|
+
// When a host goes live, change its origin here and its row's href in
|
|
555
|
+
// standardNav in the same release.
|
|
556
|
+
battleground: { title: "Battleground", origin: "https://dashboard.politogyvrm.com", storagePrefix: "battleground", mode: "campaign" },
|
|
557
|
+
districts: { title: "District Data", origin: "https://dashboard.politogyvrm.com", storagePrefix: "districts", mode: "campaign" },
|
|
546
558
|
settings: { title: "Settings", origin: "https://settings.politogyvrm.com", storagePrefix: "settings" },
|
|
547
559
|
petitions: {
|
|
548
560
|
title: "Petitions",
|
|
@@ -1404,7 +1416,6 @@ function useChromeUserMenu({
|
|
|
1404
1416
|
email
|
|
1405
1417
|
}) {
|
|
1406
1418
|
const state = useChromeState();
|
|
1407
|
-
const theme = useThemePreference();
|
|
1408
1419
|
const activeOrg = state?.orgs.find((o) => o.id === state.orgId) ?? null;
|
|
1409
1420
|
const orgSuffix = activeOrg ? `?org=${activeOrg.id}` : "";
|
|
1410
1421
|
const coreBase = getCoreBaseUrl();
|
|
@@ -1415,7 +1426,9 @@ function useChromeUserMenu({
|
|
|
1415
1426
|
roles: (state?.orgs ?? []).filter((o) => o.rawRole || o.role).map((o) => ({ role: o.rawRole ?? o.role, orgName: o.name })),
|
|
1416
1427
|
accounts: [{ id: userId, name: userName, email, avatarUrl: null, active: true }],
|
|
1417
1428
|
addAccountHref: `${coreBase}/my-profile#accounts`,
|
|
1418
|
-
theme:
|
|
1429
|
+
// No theme control: the product is light only (Reference/UI-Platform
|
|
1430
|
+
// "Theme — light only"; shell 0.73.0 stopped applying dark). The account
|
|
1431
|
+
// menu rendered an "Appearance" radio with one option until 0.77.0.
|
|
1419
1432
|
navDisplay: state ? { value: state.navDisplay, onChange: state.setNavDisplay } : void 0
|
|
1420
1433
|
};
|
|
1421
1434
|
}
|