@the-portland-company/shell 0.75.0 → 0.75.2

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/dist/chrome.css CHANGED
@@ -47,6 +47,16 @@
47
47
 
48
48
  /* Typography */
49
49
  --font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif;
50
+ /* The shared mono font token (Reference/UI-Platform → Typography:
51
+ "Monospace metadata surfaces ... use the shared mono font token, not a
52
+ hand-picked monospace stack"). The Brand API has no mono family of its
53
+ own, so this is the ONE name every mono-context surface in the shell
54
+ consumes (counts, the Debug info modal, the short org ID, build-meta
55
+ rows) — previously scattered across three different, never-defined var
56
+ names (--font-sans, --font-mono, --font-plex-mono), none of which this
57
+ stylesheet emitted, so every one of those surfaces silently fell back to
58
+ a hardcoded stack instead of a token the shell actually controls. */
59
+ --font-mono: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
50
60
  --type-h1-size: 2.25rem;
51
61
  --type-h1-weight: 700;
52
62
  --type-h1-line-height: 1.25;
@@ -177,7 +187,10 @@
177
187
  --topbar-title-size: 18px;
178
188
  --topbar-title-weight: 700;
179
189
  --topbar-title-color: #2F3136;
180
- --topbar-breadcrumb-color: #718096;
190
+ /* #718096 was 3.63:1 on --panel-elevated (#F0F4F7) — below WCAG 2.2 AA
191
+ 4.5:1 (e.g. the account-menu "Roles & Organizations" caption). Darkened
192
+ to clear 4.5:1 on both white and --panel-elevated while keeping the hue. */
193
+ --topbar-breadcrumb-color: #5C6B80;
181
194
  --topbar-icon-button-size: 34px;
182
195
  --topbar-icon-button-radius: 5px;
183
196
  --topbar-icon-gap: 6px;
@@ -283,9 +296,19 @@
283
296
  --color-bg: var(--surface-2, var(--color-layer-1));
284
297
  --color-surface: var(--surface-1, var(--color-layer-3));
285
298
  --color-surface-2: var(--color-layer-2);
286
- --color-panel: var(--color-surface);
299
+ /* --color-panel is the CARD surface apps render content on — distinct from
300
+ --color-surface (the page background, aliased to --surface-1 /
301
+ #F0F4F7). It used to alias --color-surface, so every card rendered in
302
+ the muted page-surface tint instead of the Brand "Card" white (Brand
303
+ guideline "Card"). */
304
+ --color-panel: var(--color-layer-3);
287
305
  --color-panel-2: var(--color-surface-2);
288
- --color-border: var(--line);
306
+ /* --color-border is the border apps draw around CONTENT (cards, panels,
307
+ dividers) — it used to alias --line / --sidebar-border, a token scoped
308
+ to the always-dark left rail. On a light card that read as a dark
309
+ border leaking out of the rail's palette. Content borders are the
310
+ neutral Brand G3 ramp step instead. */
311
+ --color-border: var(--color-g3);
289
312
  --color-text: var(--foreground);
290
313
  --color-text-muted: var(--muted);
291
314
  --color-muted: var(--muted);
@@ -392,8 +415,12 @@
392
415
  [data-politogy-mode] {
393
416
  --sidebar-bg: #1B1C20;
394
417
  --sidebar-text: #F5F5F5;
395
- --sidebar-text-muted: #B5B7BB;
396
- --sidebar-meta-text: #9A9CA0;
418
+ /* #B5B7BB/#9A9CA0 were tuned against the ink rail only (8.48:1 / 6.19:1)
419
+ and fall to 4.36:1 / 3.19:1 on the Campaign red rail (#8F1F2A) — below
420
+ WCAG 2.2 AA 4.5:1. Lightened so both solid tokens clear 4.5:1 on ink,
421
+ on Campaign's rail red, and on its raised card (#A12430). */
422
+ --sidebar-text-muted: #CDCFD2;
423
+ --sidebar-meta-text: #CDCFD2;
397
424
  --sidebar-hover-bg: #2A2B30;
398
425
  /* Selected mode button: the Mode accent, graphite for Relationship. */
399
426
  --sidebar-mode-selected-bg: var(--mode-accent, #2F3136);
@@ -409,8 +436,13 @@
409
436
  :root {
410
437
  --sidebar-line: rgba(255, 255, 255, 0.16);
411
438
  --border-inverse: rgba(255, 255, 255, 0.16);
412
- --sidebar-eyebrow: rgba(255, 255, 255, 0.38);
413
- --sidebar-caption: rgba(255, 255, 255, 0.5);
439
+ /* rgba(255,255,255,.38) / .5 were 3.55:1 / 5.17:1 on the ink rail but drop
440
+ to 2.45:1 / 3.25:1 on the Campaign rail red (#8F1F2A) and 2.92:1 on its
441
+ raised card (#A12430) — below WCAG 2.2 AA 4.5:1 (nav section eyebrows,
442
+ the user-email/mode caption, the org-id hash). Raised to .72 alpha,
443
+ which clears 4.5:1 against ink, the Campaign rail and its card. */
444
+ --sidebar-eyebrow: rgba(255, 255, 255, 0.72);
445
+ --sidebar-caption: rgba(255, 255, 255, 0.72);
414
446
  --sidebar-row-text: rgba(255, 255, 255, 0.66);
415
447
  --sidebar-row-hover-bg: rgba(255, 255, 255, 0.05);
416
448
  --sidebar-active-bg: rgba(255, 255, 255, 0.09);
@@ -2649,7 +2649,7 @@ function NavSidebar({
2649
2649
  "div",
2650
2650
  {
2651
2651
  "data-shell-meta": true,
2652
- className: `mt-1.5 flex flex-col items-center gap-0.5 font-[family-name:var(--font-plex-mono)] text-[11px] text-[color:var(--sidebar-meta-text,rgba(255,255,255,0.4))] ${rc("max-md:hidden")}`,
2652
+ 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.72))] ${rc("max-md:hidden")}`,
2653
2653
  children: [
2654
2654
  /* @__PURE__ */ jsx("div", { className: "flex items-center gap-1.5", children: [
2655
2655
  footer.envLabel ? shortEnvLabel(footer.envLabel) : null,
@@ -2799,7 +2799,7 @@ function NavActiveRail() {
2799
2799
  function NavRowBadge({ value }) {
2800
2800
  const rc = useRailCollapse();
2801
2801
  if (value === void 0 || value === null || value === "") return null;
2802
- return /* @__PURE__ */ jsx("span", { className: `ml-auto shrink-0 font-[family-name:var(--font-plex-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 });
2802
+ return /* @__PURE__ */ 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 });
2803
2803
  }
2804
2804
  function NavSectionRow({
2805
2805
  label,
@@ -2913,7 +2913,7 @@ function OrgIdCopyButton({ id }) {
2913
2913
  setTimeout(() => setCopied(false), 1500);
2914
2914
  },
2915
2915
  title: "Copy organization id",
2916
- className: "-ml-1 rounded px-1 text-left font-[family-name:var(--font-plex-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))]",
2916
+ 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))]",
2917
2917
  children: copied ? "Copied" : `\u2026${id.slice(-8)}`
2918
2918
  }
2919
2919
  );
@@ -2973,7 +2973,7 @@ function NavTopBar({
2973
2973
  "kbd",
2974
2974
  {
2975
2975
  "aria-hidden": true,
2976
- 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-plex-mono,ui-monospace,monospace)] text-[12px] leading-[1.2] text-[color:var(--muted)]",
2976
+ 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)]",
2977
2977
  children: "/"
2978
2978
  }
2979
2979
  )
@@ -3375,15 +3375,17 @@ function NavTabButton({
3375
3375
  Link,
3376
3376
  size
3377
3377
  }) {
3378
- const { label, count, href, onSelect, selected, disabled, disabledTitle } = tab;
3378
+ const { label, icon: Icon, count, href, onSelect, selected, disabled, disabledTitle } = tab;
3379
3379
  const base = "-mb-px inline-flex shrink-0 items-center gap-2 border-b-2 font-semibold leading-none transition-colors";
3380
3380
  const sizeClass = size === "sm" ? "py-2 text-[12px]" : "py-3 text-[13px]";
3381
3381
  const stateClass = disabled ? "cursor-not-allowed border-transparent text-[color:var(--color-g4,#929599)] opacity-50" : selected ? "text-[color:var(--tab-selected-color,#2F3136)]" : "border-transparent text-[color:var(--color-g4,#929599)] hover:text-[color:var(--tab-hover-color,#2F3136)]";
3382
3382
  const className = `${base} ${sizeClass} ${stateClass}`;
3383
3383
  const style = selected && !disabled ? { borderBottomColor: TAB_UNDERLINE_COLOR } : void 0;
3384
+ const iconSize = size === "sm" ? 13 : 15;
3384
3385
  const content = /* @__PURE__ */ jsxs(Fragment, { children: [
3386
+ Icon ? /* @__PURE__ */ jsx(Icon, { size: iconSize, className: "shrink-0 text-current", strokeWidth: 1.75 }) : null,
3385
3387
  /* @__PURE__ */ jsx("span", { children: label }),
3386
- count !== void 0 && count !== null && count !== "" ? /* @__PURE__ */ jsx("span", { className: "rounded-full bg-[color:var(--color-g2,#ECEEEF)] px-1.5 py-0.5 font-[family-name:var(--font-plex-mono,ui-monospace,monospace)] text-[11px] font-semibold leading-none", children: count }) : null
3388
+ count !== void 0 && count !== null && count !== "" ? /* @__PURE__ */ jsx("span", { className: "rounded-full bg-[color:var(--color-g2,#ECEEEF)] px-1.5 py-0.5 font-[family-name:var(--font-mono,ui-monospace,monospace)] text-[11px] font-semibold leading-none", children: count }) : null
3387
3389
  ] });
3388
3390
  if (disabled) {
3389
3391
  return /* @__PURE__ */ jsx(
@@ -3647,5 +3649,5 @@ function NavAppShell({
3647
3649
  }
3648
3650
 
3649
3651
  export { BETA_BANNER_DISMISS_KEY, CAMPAIGN_FEATURE_AVAILABILITY, CORE_APP_ORIGIN, CORE_BILLING_PATH, FuelAction, NavAppShell, NavBetaBanner, NavChromeProvider, NavDisplayAction, NavSidebar, NavTabStrip, NavThemeControl, NavTopBar, NotificationsAction, SPECS_ORIGIN, SpecOverlayAction, SupportAction, TopBarCountBadge, TopBarPanelArrow, TopBarPopover, TopBarTooltip, TopBarWidgetSlot, clearBetaBannerDismissal, envChipClasses, isNavItemActive, modeIdFromLabel, resolveOrgLogoUrl, shortEnvLabel, shortUserName, standardNavIcons, standardPolitogyNav, topBarIconButtonClass, useChromeMe, useChromeOrgs, useNavChromeFetcher, useThemePreference };
3650
- //# sourceMappingURL=chunk-QUXD4PZ7.js.map
3651
- //# sourceMappingURL=chunk-QUXD4PZ7.js.map
3652
+ //# sourceMappingURL=chunk-2DXTSTII.js.map
3653
+ //# sourceMappingURL=chunk-2DXTSTII.js.map