@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/CHANGELOG.md +17 -0
- package/dist/app-chrome.cjs +30 -19
- package/dist/app-chrome.cjs.map +1 -1
- package/dist/app-chrome.js +28 -17
- package/dist/app-chrome.js.map +1 -1
- package/dist/chrome.css +39 -7
- package/dist/{chunk-QUXD4PZ7.js → chunk-2DXTSTII.js} +10 -8
- package/dist/chunk-2DXTSTII.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/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
|
-
--
|
|
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
|
|
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
|
|
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
|
-
|
|
396
|
-
|
|
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
|
-
|
|
413
|
-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
3651
|
-
//# sourceMappingURL=chunk-
|
|
3652
|
+
//# sourceMappingURL=chunk-2DXTSTII.js.map
|
|
3653
|
+
//# sourceMappingURL=chunk-2DXTSTII.js.map
|