pi-kiosk-shared 2.2.86 → 2.2.87

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/README.md CHANGED
@@ -9,7 +9,7 @@ Shared types, API contracts, and error classes for the Pi Kiosk system.
9
9
 
10
10
  ## Temporary retention
11
11
 
12
- `up-backend` keeps production `react` / `react-dom` until cold/start paths consume a Node-safe published or overlaid main barrel. Do **not** drop those deps until that consume path is proven on the version actually installed (registry latest **2.2.82**, or monorepo overlay / `file:../shared` **2.2.83**). Same caveat as `up-backend/docs/DEPLOYMENT/DEPLOY_SEPARATE_REPOS.md`.
12
+ `up-backend` keeps production `react` / `react-dom` until cold/start paths consume a Node-safe published or overlaid main barrel. Do **not** drop those deps until that consume path is proven on the version actually installed (registry tarball from `npm view`, or monorepo overlay of sibling `../shared` **2.2.86**). Same caveat as `up-backend/docs/DEPLOYMENT/DEPLOY_SEPARATE_REPOS.md`.
13
13
 
14
14
  ## Installation
15
15
 
@@ -74,7 +74,7 @@ Frontends import React modules from `/ui`. The **target** main barrel (local ove
74
74
 
75
75
  ## Local monorepo overlay
76
76
 
77
- **Honesty (SSOT):** All five monorepo consumers (`up-backend`, `admin-app`, `rpapp-kiosk`, `rpapp-customer`, `rpapp-pickup`) use `"pi-kiosk-shared": "file:../shared"` (source `2.2.83` — do **not** regress locks to `2.2.82.tgz`). Registry latest is **2.2.82** (`npm view`); publish of `2.2.83` is Blocked without npm auth. Separate-repo / Railway consumers keep `"pi-kiosk-shared": "^2.2.82"` until **2.2.83 is published** (`npm ci` must not request an unpublished version; after publish bump env/target to `^2.2.83`).
77
+ **Honesty (SSOT):** All five monorepo consumers (`up-backend`, `admin-app`, `rpapp-kiosk`, `rpapp-customer`, `rpapp-pickup`) pin `"pi-kiosk-shared": "^2.2.86"` matching `shared/package.json` **2.2.86**. Sibling overlay still runs when `../shared` exists. Separate-repo pin should match that. Confirm registry with `npm view pi-kiosk-shared version` at deploy time — this README does not claim a publish.
78
78
 
79
79
  **Documented cold path (monorepo):** `npm ci` / `npm install` in each app runs lifecycle hooks → `scripts/overlaySharedIfPresent.mjs` → `shared/scripts/ensureDist.mjs` when sibling `../shared` exists:
80
80
 
@@ -111,7 +111,7 @@ npm run gate:main-barrel-node-safe
111
111
 
112
112
  From `shared/`, prove the documented cold path:
113
113
 
114
- 1. **DIAGNOSTIC** — `npm pack` registry latest (currently `2.2.82`) in a temp dir and assert COLD_BAD markers (never installs into a consumer with `--ignore-scripts`).
114
+ 1. **DIAGNOSTIC** — `npm pack` a known Node-safe registry tarball (`COLD_VERSION` in `prove-pi-kiosk-shared-cold-overlay.mjs`, currently `2.2.82`) in a temp dir and assert COLD_BAD markers (never installs into a consumer with `--ignore-scripts`). Live monorepo source is `shared/package.json` **2.2.86**.
115
115
  2. **PASS** — wipe that consumer’s `node_modules/pi-kiosk-shared`, then `npm install` with **scripts on** (no package args) so `prepare` / `postinstall` overlays during install; assert Node-safe barrel + `NODE_IMPORT_OK`.
116
116
 
117
117
  ```bash
@@ -4,10 +4,14 @@
4
4
  * Backend may send additive `wordmarkUrl` on customer-tenants / memberships DTOs;
5
5
  * live directory thumbs and tenant chips must ignore it. `applyToCustomerPwa`
6
6
  * gating is server-side (null `logoUrl` / `tenantLogoUrl` when flag off).
7
+ *
8
+ * Logo chip rim: see `logoChipRim.ts` — wire may omit rim fields; normalize
9
+ * always fills the four required slots (defaults when absent/invalid).
7
10
  */
11
+ import { type LogoChipRimSettings } from './logoChipRim.js';
8
12
  /** Normalize a square logo stream URL for consumer thumbs/chips; null when absent/blank. */
9
13
  export declare function resolveConsumerSquareLogoUrl(value: unknown): string | null;
10
- export interface ConsumerPublicTenantRow {
14
+ export interface ConsumerPublicTenantRow extends LogoChipRimSettings {
11
15
  readonly tenantId: number;
12
16
  readonly code: string;
13
17
  readonly name: string;
@@ -17,6 +21,7 @@ export interface ConsumerPublicTenantRow {
17
21
  /**
18
22
  * Pick public tenant-directory fields from a wire row.
19
23
  * Ignores additive `wordmarkUrl` even when present on the payload.
24
+ * Preserves logo-chip rim fields (coerce invalid → defaults; never strip).
20
25
  */
21
26
  export declare function normalizeConsumerPublicTenantRow(raw: unknown): ConsumerPublicTenantRow | null;
22
27
  //# sourceMappingURL=consumerSquareLogo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"consumerSquareLogo.d.ts","sourceRoot":"","sources":["../../src/branding/consumerSquareLogo.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,4FAA4F;AAC5F,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAM1E;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,OAAO,GAAG,uBAAuB,GAAG,IAAI,CAe7F"}
1
+ {"version":3,"file":"consumerSquareLogo.d.ts","sourceRoot":"","sources":["../../src/branding/consumerSquareLogo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,kBAAkB,CAAC;AAE1B,4FAA4F;AAC5F,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAM1E;AAED,MAAM,WAAW,uBAAwB,SAAQ,mBAAmB;IAClE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,OAAO,GAAG,uBAAuB,GAAG,IAAI,CAoB7F"}
@@ -4,7 +4,11 @@
4
4
  * Backend may send additive `wordmarkUrl` on customer-tenants / memberships DTOs;
5
5
  * live directory thumbs and tenant chips must ignore it. `applyToCustomerPwa`
6
6
  * gating is server-side (null `logoUrl` / `tenantLogoUrl` when flag off).
7
+ *
8
+ * Logo chip rim: see `logoChipRim.ts` — wire may omit rim fields; normalize
9
+ * always fills the four required slots (defaults when absent/invalid).
7
10
  */
11
+ import { normalizeLogoChipRimSettings, } from './logoChipRim.js';
8
12
  /** Normalize a square logo stream URL for consumer thumbs/chips; null when absent/blank. */
9
13
  export function resolveConsumerSquareLogoUrl(value) {
10
14
  if (typeof value !== 'string') {
@@ -16,6 +20,7 @@ export function resolveConsumerSquareLogoUrl(value) {
16
20
  /**
17
21
  * Pick public tenant-directory fields from a wire row.
18
22
  * Ignores additive `wordmarkUrl` even when present on the payload.
23
+ * Preserves logo-chip rim fields (coerce invalid → defaults; never strip).
19
24
  */
20
25
  export function normalizeConsumerPublicTenantRow(raw) {
21
26
  if (raw === null || typeof raw !== 'object') {
@@ -26,11 +31,16 @@ export function normalizeConsumerPublicTenantRow(raw) {
26
31
  if (typeof tenantId !== 'number' || typeof code !== 'string' || typeof name !== 'string') {
27
32
  return null;
28
33
  }
34
+ const rim = normalizeLogoChipRimSettings(row);
29
35
  return {
30
36
  tenantId,
31
37
  code,
32
38
  name,
33
39
  logoUrl: resolveConsumerSquareLogoUrl(row.logoUrl),
40
+ showLogoChipRimLight: rim.showLogoChipRimLight,
41
+ showLogoChipRimDark: rim.showLogoChipRimDark,
42
+ logoChipRimColorLight: rim.logoChipRimColorLight,
43
+ logoChipRimColorDark: rim.logoChipRimColorDark,
34
44
  };
35
45
  }
36
46
  //# sourceMappingURL=consumerSquareLogo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"consumerSquareLogo.js","sourceRoot":"","sources":["../../src/branding/consumerSquareLogo.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,4FAA4F;AAC5F,MAAM,UAAU,4BAA4B,CAAC,KAAc;IACzD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC;AAUD;;;GAGG;AACH,MAAM,UAAU,gCAAgC,CAAC,GAAY;IAC3D,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,GAAG,GAAG,GAA8B,CAAC;IAC3C,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACrC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACzF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO;QACL,QAAQ;QACR,IAAI;QACJ,IAAI;QACJ,OAAO,EAAE,4BAA4B,CAAC,GAAG,CAAC,OAAO,CAAC;KACnD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"consumerSquareLogo.js","sourceRoot":"","sources":["../../src/branding/consumerSquareLogo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,4BAA4B,GAE7B,MAAM,kBAAkB,CAAC;AAE1B,4FAA4F;AAC5F,MAAM,UAAU,4BAA4B,CAAC,KAAc;IACzD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC;AAUD;;;;GAIG;AACH,MAAM,UAAU,gCAAgC,CAAC,GAAY;IAC3D,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,GAAG,GAAG,GAA8B,CAAC;IAC3C,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACrC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACzF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,GAAG,GAAG,4BAA4B,CAAC,GAAG,CAAC,CAAC;IAC9C,OAAO;QACL,QAAQ;QACR,IAAI;QACJ,IAAI;QACJ,OAAO,EAAE,4BAA4B,CAAC,GAAG,CAAC,OAAO,CAAC;QAClD,oBAAoB,EAAE,GAAG,CAAC,oBAAoB;QAC9C,mBAAmB,EAAE,GAAG,CAAC,mBAAmB;QAC5C,qBAAqB,EAAE,GAAG,CAAC,qBAAqB;QAChD,oBAAoB,EAAE,GAAG,CAAC,oBAAoB;KAC/C,CAAC;AACJ,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Logo chip rim (thin border around square tenant marks).
3
+ *
4
+ * Consumers apply the active theme via CSS custom property `--logo-chip-rim`:
5
+ * set to `color` when `show` is true; omit/unset when hide.
6
+ */
7
+ export interface LogoChipRimSettings {
8
+ readonly showLogoChipRimLight: boolean;
9
+ readonly showLogoChipRimDark: boolean;
10
+ readonly logoChipRimColorLight: string;
11
+ readonly logoChipRimColorDark: string;
12
+ }
13
+ export declare const DEFAULT_LOGO_CHIP_RIM_COLOR_LIGHT = "#737373";
14
+ export declare const DEFAULT_LOGO_CHIP_RIM_COLOR_DARK = "#a3a3a3";
15
+ export declare const DEFAULT_LOGO_CHIP_RIM_SETTINGS: LogoChipRimSettings;
16
+ export type LogoChipRimTheme = 'light' | 'dark';
17
+ /** True when value is a `#RRGGBB` (case-insensitive hex digits). */
18
+ export declare function isLogoChipRimColor(value: unknown): value is string;
19
+ /**
20
+ * Coerce wire/partial rim fields to a full {@link LogoChipRimSettings}.
21
+ * Invalid or absent values become {@link DEFAULT_LOGO_CHIP_RIM_SETTINGS} slots —
22
+ * fields are never stripped.
23
+ */
24
+ export declare function normalizeLogoChipRimSettings(raw: unknown): LogoChipRimSettings;
25
+ /**
26
+ * Returns `{ show, color }` for the active theme.
27
+ *
28
+ * Consumers: when `show` is true, set CSS `--logo-chip-rim` to `color`;
29
+ * when hide, omit/unset `--logo-chip-rim`.
30
+ */
31
+ export declare function resolveLogoChipRimForTheme(settings: LogoChipRimSettings, theme: LogoChipRimTheme): {
32
+ readonly show: boolean;
33
+ readonly color: string;
34
+ };
35
+ //# sourceMappingURL=logoChipRim.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logoChipRim.d.ts","sourceRoot":"","sources":["../../src/branding/logoChipRim.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;CACvC;AAED,eAAO,MAAM,iCAAiC,YAAY,CAAC;AAC3D,eAAO,MAAM,gCAAgC,YAAY,CAAC;AAE1D,eAAO,MAAM,8BAA8B,EAAE,mBAK5C,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,MAAM,CAAC;AAIhD,oEAAoE;AACpE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAElE;AAUD;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,OAAO,GAAG,mBAAmB,CAqB9E;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,mBAAmB,EAC7B,KAAK,EAAE,gBAAgB,GACtB;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAWpD"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Logo chip rim (thin border around square tenant marks).
3
+ *
4
+ * Consumers apply the active theme via CSS custom property `--logo-chip-rim`:
5
+ * set to `color` when `show` is true; omit/unset when hide.
6
+ */
7
+ export const DEFAULT_LOGO_CHIP_RIM_COLOR_LIGHT = '#737373';
8
+ export const DEFAULT_LOGO_CHIP_RIM_COLOR_DARK = '#a3a3a3';
9
+ export const DEFAULT_LOGO_CHIP_RIM_SETTINGS = {
10
+ showLogoChipRimLight: false,
11
+ showLogoChipRimDark: false,
12
+ logoChipRimColorLight: DEFAULT_LOGO_CHIP_RIM_COLOR_LIGHT,
13
+ logoChipRimColorDark: DEFAULT_LOGO_CHIP_RIM_COLOR_DARK,
14
+ };
15
+ const HEX_RRGGBB = /^#[0-9A-Fa-f]{6}$/;
16
+ /** True when value is a `#RRGGBB` (case-insensitive hex digits). */
17
+ export function isLogoChipRimColor(value) {
18
+ return typeof value === 'string' && HEX_RRGGBB.test(value);
19
+ }
20
+ function coerceRimShow(value, fallback) {
21
+ return typeof value === 'boolean' ? value : fallback;
22
+ }
23
+ function coerceRimColor(value, fallback) {
24
+ return isLogoChipRimColor(value) ? value : fallback;
25
+ }
26
+ /**
27
+ * Coerce wire/partial rim fields to a full {@link LogoChipRimSettings}.
28
+ * Invalid or absent values become {@link DEFAULT_LOGO_CHIP_RIM_SETTINGS} slots —
29
+ * fields are never stripped.
30
+ */
31
+ export function normalizeLogoChipRimSettings(raw) {
32
+ const row = raw !== null && typeof raw === 'object' ? raw : {};
33
+ return {
34
+ showLogoChipRimLight: coerceRimShow(row.showLogoChipRimLight, DEFAULT_LOGO_CHIP_RIM_SETTINGS.showLogoChipRimLight),
35
+ showLogoChipRimDark: coerceRimShow(row.showLogoChipRimDark, DEFAULT_LOGO_CHIP_RIM_SETTINGS.showLogoChipRimDark),
36
+ logoChipRimColorLight: coerceRimColor(row.logoChipRimColorLight, DEFAULT_LOGO_CHIP_RIM_SETTINGS.logoChipRimColorLight),
37
+ logoChipRimColorDark: coerceRimColor(row.logoChipRimColorDark, DEFAULT_LOGO_CHIP_RIM_SETTINGS.logoChipRimColorDark),
38
+ };
39
+ }
40
+ /**
41
+ * Returns `{ show, color }` for the active theme.
42
+ *
43
+ * Consumers: when `show` is true, set CSS `--logo-chip-rim` to `color`;
44
+ * when hide, omit/unset `--logo-chip-rim`.
45
+ */
46
+ export function resolveLogoChipRimForTheme(settings, theme) {
47
+ if (theme === 'dark') {
48
+ return {
49
+ show: settings.showLogoChipRimDark,
50
+ color: settings.logoChipRimColorDark,
51
+ };
52
+ }
53
+ return {
54
+ show: settings.showLogoChipRimLight,
55
+ color: settings.logoChipRimColorLight,
56
+ };
57
+ }
58
+ //# sourceMappingURL=logoChipRim.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logoChipRim.js","sourceRoot":"","sources":["../../src/branding/logoChipRim.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,MAAM,CAAC,MAAM,iCAAiC,GAAG,SAAS,CAAC;AAC3D,MAAM,CAAC,MAAM,gCAAgC,GAAG,SAAS,CAAC;AAE1D,MAAM,CAAC,MAAM,8BAA8B,GAAwB;IACjE,oBAAoB,EAAE,KAAK;IAC3B,mBAAmB,EAAE,KAAK;IAC1B,qBAAqB,EAAE,iCAAiC;IACxD,oBAAoB,EAAE,gCAAgC;CACvD,CAAC;AAIF,MAAM,UAAU,GAAG,mBAAmB,CAAC;AAEvC,oEAAoE;AACpE,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,aAAa,CAAC,KAAc,EAAE,QAAiB;IACtD,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AACvD,CAAC;AAED,SAAS,cAAc,CAAC,KAAc,EAAE,QAAgB;IACtD,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AACtD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAAC,GAAY;IACvD,MAAM,GAAG,GACP,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAE,GAA+B,CAAC,CAAC,CAAC,EAAE,CAAC;IAClF,OAAO;QACL,oBAAoB,EAAE,aAAa,CACjC,GAAG,CAAC,oBAAoB,EACxB,8BAA8B,CAAC,oBAAoB,CACpD;QACD,mBAAmB,EAAE,aAAa,CAChC,GAAG,CAAC,mBAAmB,EACvB,8BAA8B,CAAC,mBAAmB,CACnD;QACD,qBAAqB,EAAE,cAAc,CACnC,GAAG,CAAC,qBAAqB,EACzB,8BAA8B,CAAC,qBAAqB,CACrD;QACD,oBAAoB,EAAE,cAAc,CAClC,GAAG,CAAC,oBAAoB,EACxB,8BAA8B,CAAC,oBAAoB,CACpD;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CACxC,QAA6B,EAC7B,KAAuB;IAEvB,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,mBAAmB;YAClC,KAAK,EAAE,QAAQ,CAAC,oBAAoB;SACrC,CAAC;IACJ,CAAC;IACD,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,oBAAoB;QACnC,KAAK,EAAE,QAAQ,CAAC,qBAAqB;KACtC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Branding stream URLs are HMAC-signed with a fresh `sig` + `exp` on every list mint.
3
+ * Soft-refresh / focus refetch must not treat that as a new asset — remounting `<img>`
4
+ * causes visible logo flicker on org pickers and login brand chrome.
5
+ */
6
+ /**
7
+ * Stable identity for a signed branding (or catalog) media URL — path + durable query
8
+ * params (`galleryVersion`, `tenantId`, …), excluding `sig` / `exp`.
9
+ */
10
+ export declare function brandingSignedMediaIdentity(url: string | null | undefined): string | null;
11
+ /**
12
+ * When soft-refresh returns a newly signed URL for the same asset, keep the prior URL
13
+ * so browsers keep the decoded image (no blank remount). Prefer `next` when identity differs
14
+ * or there was no prior.
15
+ */
16
+ export declare function preferStableBrandingMediaUrl(previous: string | null | undefined, next: string | null | undefined): string | null;
17
+ //# sourceMappingURL=signedMediaUrlStability.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signedMediaUrlStability.d.ts","sourceRoot":"","sources":["../../src/branding/signedMediaUrlStability.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC7B,MAAM,GAAG,IAAI,CAoBf;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACnC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC9B,MAAM,GAAG,IAAI,CAef"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Branding stream URLs are HMAC-signed with a fresh `sig` + `exp` on every list mint.
3
+ * Soft-refresh / focus refetch must not treat that as a new asset — remounting `<img>`
4
+ * causes visible logo flicker on org pickers and login brand chrome.
5
+ */
6
+ const EPHEMERAL_QUERY_KEYS = new Set(['sig', 'exp']);
7
+ function trimOrNull(url) {
8
+ if (typeof url !== 'string') {
9
+ return null;
10
+ }
11
+ const trimmed = url.trim();
12
+ return trimmed.length > 0 ? trimmed : null;
13
+ }
14
+ /**
15
+ * Stable identity for a signed branding (or catalog) media URL — path + durable query
16
+ * params (`galleryVersion`, `tenantId`, …), excluding `sig` / `exp`.
17
+ */
18
+ export function brandingSignedMediaIdentity(url) {
19
+ const trimmed = trimOrNull(url);
20
+ if (trimmed === null) {
21
+ return null;
22
+ }
23
+ try {
24
+ const parsed = new URL(trimmed, 'http://branding.local');
25
+ const durable = new URLSearchParams();
26
+ parsed.searchParams.forEach((value, key) => {
27
+ if (!EPHEMERAL_QUERY_KEYS.has(key)) {
28
+ durable.append(key, value);
29
+ }
30
+ });
31
+ durable.sort();
32
+ const query = durable.toString();
33
+ return query.length > 0 ? `${parsed.pathname}?${query}` : parsed.pathname;
34
+ }
35
+ catch {
36
+ return trimmed;
37
+ }
38
+ }
39
+ /**
40
+ * When soft-refresh returns a newly signed URL for the same asset, keep the prior URL
41
+ * so browsers keep the decoded image (no blank remount). Prefer `next` when identity differs
42
+ * or there was no prior.
43
+ */
44
+ export function preferStableBrandingMediaUrl(previous, next) {
45
+ const prev = trimOrNull(previous);
46
+ const nxt = trimOrNull(next);
47
+ if (nxt === null) {
48
+ return null;
49
+ }
50
+ if (prev === null) {
51
+ return nxt;
52
+ }
53
+ const prevId = brandingSignedMediaIdentity(prev);
54
+ const nextId = brandingSignedMediaIdentity(nxt);
55
+ if (prevId !== null && prevId === nextId) {
56
+ return prev;
57
+ }
58
+ return nxt;
59
+ }
60
+ //# sourceMappingURL=signedMediaUrlStability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signedMediaUrlStability.js","sourceRoot":"","sources":["../../src/branding/signedMediaUrlStability.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAErD,SAAS,UAAU,CAAC,GAA8B;IAChD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CACzC,GAA8B;IAE9B,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;QACtC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACzC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC5E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAC1C,QAAmC,EACnC,IAA+B;IAE/B,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,MAAM,MAAM,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,2BAA2B,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1,9 +1,30 @@
1
1
  import type { CatalogImageFocal, KioskProduct } from './types.js';
2
+ /**
3
+ * IMG-014 metadata-only SSE patch. Clients may rewrite existing signed
4
+ * `imageUrl` / `thumbnailUrl` query strings with a cache-bust param (`v`) —
5
+ * never invent or replace signed URL paths from the broadcast (no imageUrl in payload).
6
+ *
7
+ * Contract: HMAC verify ignores `v` (not in canonical payload); stream query
8
+ * schemas must allow optional `v` so patched URLs still validate.
9
+ *
10
+ * Bust key preference: `catalogSequence` → `primaryImageId` → `updatedAt`.
11
+ * When SSE is fully unavailable, customer/kiosk fall back to ~30s catalog poll;
12
+ * this patch path does not run until the next successful poll/refetch.
13
+ */
2
14
  export interface CatalogProductMediaPatch extends CatalogImageFocal {
3
15
  productId: number;
4
16
  variantId?: number | null;
5
17
  primaryImageId?: number | null;
18
+ /** Product.galleryVersion from save broadcast — preferred cache-bust key. */
19
+ catalogSequence?: number;
6
20
  updatedAt?: string;
7
21
  }
22
+ export declare function resolveCatalogMediaCacheBustKey(patch: Pick<CatalogProductMediaPatch, 'catalogSequence' | 'primaryImageId' | 'updatedAt'>): string | null;
23
+ /**
24
+ * Append or replace client-only `v` on an existing catalog image URL.
25
+ * Does not touch `sig` / `exp` / `imageId` (HMAC stays valid — verify ignores `v`;
26
+ * server stream schema must accept optional `v`).
27
+ */
28
+ export declare function applyCatalogMediaUrlCacheBust(url: string | null | undefined, bustKey: string): string | null | undefined;
8
29
  export declare function patchCatalogProductMedia(products: readonly KioskProduct[], patch: CatalogProductMediaPatch): KioskProduct[];
9
30
  //# sourceMappingURL=catalogMediaPatch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalogMediaPatch.d.ts","sourceRoot":"","sources":["../src/catalogMediaPatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAElE,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;IACjE,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,SAAS,YAAY,EAAE,EACjC,KAAK,EAAE,wBAAwB,GAC9B,YAAY,EAAE,CAiChB"}
1
+ {"version":3,"file":"catalogMediaPatch.d.ts","sourceRoot":"","sources":["../src/catalogMediaPatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAElE;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;IACjE,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,6EAA6E;IAC7E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,IAAI,CAAC,wBAAwB,EAAE,iBAAiB,GAAG,gBAAgB,GAAG,WAAW,CAAC,GACxF,MAAM,GAAG,IAAI,CAWf;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC9B,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,IAAI,GAAG,SAAS,CA4B3B;AAaD,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,SAAS,YAAY,EAAE,EACjC,KAAK,EAAE,wBAAwB,GAC9B,YAAY,EAAE,CAgDhB"}
@@ -1,11 +1,67 @@
1
+ const CACHE_BUST_QUERY_PARAM = 'v';
2
+ export function resolveCatalogMediaCacheBustKey(patch) {
3
+ if (typeof patch.catalogSequence === 'number' && Number.isFinite(patch.catalogSequence)) {
4
+ return String(patch.catalogSequence);
5
+ }
6
+ if (typeof patch.primaryImageId === 'number' && Number.isFinite(patch.primaryImageId)) {
7
+ return `i${patch.primaryImageId}`;
8
+ }
9
+ if (typeof patch.updatedAt === 'string' && patch.updatedAt.trim().length > 0) {
10
+ return patch.updatedAt.trim();
11
+ }
12
+ return null;
13
+ }
14
+ /**
15
+ * Append or replace client-only `v` on an existing catalog image URL.
16
+ * Does not touch `sig` / `exp` / `imageId` (HMAC stays valid — verify ignores `v`;
17
+ * server stream schema must accept optional `v`).
18
+ */
19
+ export function applyCatalogMediaUrlCacheBust(url, bustKey) {
20
+ if (url == null) {
21
+ return url;
22
+ }
23
+ const trimmed = url.trim();
24
+ if (trimmed.length === 0) {
25
+ return url;
26
+ }
27
+ try {
28
+ const absolute = /^https?:\/\//i.test(trimmed);
29
+ const parsed = absolute ? new URL(trimmed) : new URL(trimmed, 'http://catalog.local');
30
+ parsed.searchParams.set(CACHE_BUST_QUERY_PARAM, bustKey);
31
+ if (absolute) {
32
+ return parsed.toString();
33
+ }
34
+ return `${parsed.pathname}${parsed.search}${parsed.hash}`;
35
+ }
36
+ catch {
37
+ const hashIndex = trimmed.indexOf('#');
38
+ const withoutHash = hashIndex >= 0 ? trimmed.slice(0, hashIndex) : trimmed;
39
+ const hash = hashIndex >= 0 ? trimmed.slice(hashIndex) : '';
40
+ const qIndex = withoutHash.indexOf('?');
41
+ const path = qIndex >= 0 ? withoutHash.slice(0, qIndex) : withoutHash;
42
+ const params = new URLSearchParams(qIndex >= 0 ? withoutHash.slice(qIndex + 1) : '');
43
+ params.set(CACHE_BUST_QUERY_PARAM, bustKey);
44
+ const query = params.toString();
45
+ return `${path}?${query}${hash}`;
46
+ }
47
+ }
48
+ function applyUrlBustToProduct(product, bustKey) {
49
+ return {
50
+ imageUrl: applyCatalogMediaUrlCacheBust(product.imageUrl, bustKey) ?? product.imageUrl,
51
+ thumbnailUrl: applyCatalogMediaUrlCacheBust(product.thumbnailUrl, bustKey) ?? product.thumbnailUrl,
52
+ };
53
+ }
1
54
  export function patchCatalogProductMedia(products, patch) {
55
+ const bustKey = resolveCatalogMediaCacheBustKey(patch);
2
56
  return products.map((product) => {
3
57
  if (product.id !== patch.productId) {
4
58
  return product;
5
59
  }
6
60
  if (patch.variantId === undefined || patch.variantId === null) {
61
+ const urlPatch = bustKey ? applyUrlBustToProduct(product, bustKey) : {};
7
62
  return {
8
63
  ...product,
64
+ ...urlPatch,
9
65
  focalPointX: patch.focalPointX ?? null,
10
66
  focalPointY: patch.focalPointY ?? null,
11
67
  cropZoom: patch.cropZoom ?? null,
@@ -15,8 +71,16 @@ export function patchCatalogProductMedia(products, patch) {
15
71
  if (variant.id !== patch.variantId) {
16
72
  return variant;
17
73
  }
74
+ const thumb = bustKey != null
75
+ ? (applyCatalogMediaUrlCacheBust(variant.thumbnailUrl, bustKey) ?? variant.thumbnailUrl)
76
+ : variant.thumbnailUrl;
77
+ const image = bustKey != null
78
+ ? (applyCatalogMediaUrlCacheBust(variant.imageUrl, bustKey) ?? variant.imageUrl)
79
+ : variant.imageUrl;
18
80
  return {
19
81
  ...variant,
82
+ thumbnailUrl: thumb,
83
+ ...(image !== undefined ? { imageUrl: image } : {}),
20
84
  focalPointX: patch.focalPointX ?? null,
21
85
  focalPointY: patch.focalPointY ?? null,
22
86
  cropZoom: patch.cropZoom ?? null,
@@ -1 +1 @@
1
- {"version":3,"file":"catalogMediaPatch.js","sourceRoot":"","sources":["../src/catalogMediaPatch.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,wBAAwB,CACtC,QAAiC,EACjC,KAA+B;IAE/B,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,IAAI,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;YACnC,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC9D,OAAO;gBACL,GAAG,OAAO;gBACV,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI;gBACtC,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI;gBACtC,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI;aACjC,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACjD,IAAI,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;gBACnC,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,OAAO;gBACL,GAAG,OAAO;gBACV,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI;gBACtC,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI;gBACtC,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI;aACjC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,GAAG,OAAO;YACV,QAAQ;SACT,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"catalogMediaPatch.js","sourceRoot":"","sources":["../src/catalogMediaPatch.ts"],"names":[],"mappings":"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"}
@@ -49,6 +49,18 @@ interface Rgb {
49
49
  export declare function directoryMonogramLabel(displayName: string, code?: string | null): string;
50
50
  /** Stable 32-bit mix of a numeric id (deterministic across runtimes). */
51
51
  export declare function hashDirectoryMonogramId(id: number): number;
52
+ /**
53
+ * Stable monogram seed from a string key (e.g. tenantCode when tenantId unknown).
54
+ * Same key → same color across cards; never use per-row ids (transactionId).
55
+ */
56
+ export declare function hashDirectoryMonogramKey(key: string): number;
57
+ /**
58
+ * Prefer numeric tenantId; otherwise hash tenantCode so the same org shares one color.
59
+ */
60
+ export declare function resolveDirectoryMonogramEntityId(input: {
61
+ readonly tenantId?: number | null;
62
+ readonly tenantCode?: string | null;
63
+ }): number;
52
64
  /** WCAG 2.x contrast ratio between two sRGB colors. */
53
65
  export declare function contrastRatio(a: Rgb, b: Rgb): number;
54
66
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"directoryMonogram.d.ts","sourceRoot":"","sources":["../src/directoryMonogram.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,WAAW,sBAAsB;IACrC,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,uBAAuB;IACtC,oCAAoC;IACpC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,0EAA0E;IAC1E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAkB,SAAQ,uBAAuB;IAChE,mDAAmD;IACnD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAMD,UAAU,GAAG;IACX,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;CACpB;AA8ED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAwBxF;AAED,yEAAyE;AACzE,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAM1D;AAsDD,uDAAuD;AACvD,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,MAAM,CAMpD;AAmBD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,uBAAuB,CA2B3E;AAED,kFAAkF;AAClF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,sBAAsB,GAAG,iBAAiB,CAOzF"}
1
+ {"version":3,"file":"directoryMonogram.d.ts","sourceRoot":"","sources":["../src/directoryMonogram.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,WAAW,sBAAsB;IACrC,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,uBAAuB;IACtC,oCAAoC;IACpC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,0EAA0E;IAC1E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAkB,SAAQ,uBAAuB;IAChE,mDAAmD;IACnD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAMD,UAAU,GAAG;IACX,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;CACpB;AA8ED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAwBxF;AAED,yEAAyE;AACzE,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAM1D;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQ5D;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAAC,KAAK,EAAE;IACtD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC,GAAG,MAAM,CAUT;AAsDD,uDAAuD;AACvD,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,MAAM,CAMpD;AAmBD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,uBAAuB,CA2B3E;AAED,kFAAkF;AAClF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,sBAAsB,GAAG,iBAAiB,CAOzF"}
@@ -122,6 +122,33 @@ export function hashDirectoryMonogramId(id) {
122
122
  x = x ^ (x >>> 16);
123
123
  return x >>> 0;
124
124
  }
125
+ /**
126
+ * Stable monogram seed from a string key (e.g. tenantCode when tenantId unknown).
127
+ * Same key → same color across cards; never use per-row ids (transactionId).
128
+ */
129
+ export function hashDirectoryMonogramKey(key) {
130
+ const trimmed = key.trim();
131
+ let h = 2166136261;
132
+ for (let i = 0; i < trimmed.length; i += 1) {
133
+ h ^= trimmed.charCodeAt(i);
134
+ h = Math.imul(h, 16777619);
135
+ }
136
+ return h >>> 0;
137
+ }
138
+ /**
139
+ * Prefer numeric tenantId; otherwise hash tenantCode so the same org shares one color.
140
+ */
141
+ export function resolveDirectoryMonogramEntityId(input) {
142
+ const tenantId = input.tenantId;
143
+ if (typeof tenantId === 'number' && Number.isFinite(tenantId) && tenantId > 0) {
144
+ return Math.trunc(tenantId);
145
+ }
146
+ const code = typeof input.tenantCode === 'string' ? input.tenantCode.trim() : '';
147
+ if (code.length > 0) {
148
+ return hashDirectoryMonogramKey(code);
149
+ }
150
+ return 0;
151
+ }
125
152
  function clampByte(value) {
126
153
  return Math.min(255, Math.max(0, Math.round(value)));
127
154
  }
@@ -1 +1 @@
1
- {"version":3,"file":"directoryMonogram.js","sourceRoot":"","sources":["../src/directoryMonogram.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"directoryMonogram.js","sourceRoot":"","sources":["../src/directoryMonogram.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -6,8 +6,8 @@
6
6
  *
7
7
  * Main barrel is Node-safe (no React UI). Runtime JS (not `.d.ts`):
8
8
  * - `tsx watch` and `node dist/server.js` both resolve `node_modules/pi-kiosk-shared`
9
- * after `ensureDist.mjs` overlays this `dist` (monorepo `file:../shared` @ 2.2.83;
10
- * registry latest is 2.2.82 until 2.2.83 is published — do not rely on a stale tarball).
9
+ * after `ensureDist.mjs` overlays this `dist` (monorepo sibling `../shared` @ 2.2.86;
10
+ * consumers pin ^2.2.86 matching shared/package.json — confirm registry at deploy time).
11
11
  * React UI is `pi-kiosk-shared/ui`.
12
12
  *
13
13
  * Note: relative imports use explicit `.js` extensions so the compiled
@@ -75,6 +75,8 @@ export * from './promo/RemovePromoCodeRequest.js';
75
75
  export * from './catalogImagePresentation.js';
76
76
  export * from './directoryMonogram.js';
77
77
  export * from './branding/consumerSquareLogo.js';
78
+ export * from './branding/logoChipRim.js';
79
+ export * from './branding/signedMediaUrlStability.js';
78
80
  export * from './tenant/tenantPathResolution.js';
79
81
  export * from './tenant/tenantLifecycle.js';
80
82
  export { PERMISSION_DOMAIN_LABELS, PERMISSION_LEVEL_LABELS, PERMISSION_RESOURCE_LABELS, getPermissionDomainLabel, getPermissionLevelLabel, getPermissionResourceTitle, } from './permissions/permissionLabels.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yCAAyC,CAAC;AACxD,OAAO,EACL,wCAAwC,EACxC,yCAAyC,GAC1C,MAAM,yCAAyC,CAAC;AACjD,cAAc,oBAAoB,CAAC;AACnC,cAAc,oCAAoC,CAAC;AACnD,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sCAAsC,CAAC;AACrD,cAAc,oCAAoC,CAAC;AACnD,cAAc,sCAAsC,CAAC;AACrD,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,OAAO,EACL,0BAA0B,EAC1B,KAAK,sBAAsB,GAC5B,MAAM,wBAAwB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,uCAAuC,CAAC;AACtD,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,kBAAkB,CAAC;AACjC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,mCAAmC,CAAC;AAClD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uCAAuC,CAAC;AACtD,cAAc,kCAAkC,CAAC;AAEjD,cAAc,6BAA6B,CAAC;AAE5C,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,gCAAgC,EAChC,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EACzB,iCAAiC,EACjC,iCAAiC,EACjC,4BAA4B,EAC5B,sCAAsC,GACvC,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,EACvB,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,yCAAyC,CAAC;AACjD,YAAY,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EACL,4BAA4B,EAC5B,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,mBAAmB,EACnB,uBAAuB,EACvB,iBAAiB,EACjB,sCAAsC,EACtC,+BAA+B,EAC/B,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,6BAA6B,EAC7B,gCAAgC,EAChC,iCAAiC,EACjC,iCAAiC,GAClC,MAAM,iCAAiC,CAAC;AACzC,YAAY,EACV,yBAAyB,EACzB,4BAA4B,EAC5B,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,uCAAuC,EACvC,oBAAoB,EACpB,yBAAyB,EACzB,+BAA+B,EAC/B,oCAAoC,EACpC,gCAAgC,GACjC,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EACV,2BAA2B,EAC3B,gCAAgC,GACjC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,KAAK,uBAAuB,GAC7B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EACL,+BAA+B,EAC/B,KAAK,yBAAyB,GAC/B,MAAM,8CAA8C,CAAC;AACtD,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,sBAAsB,EACtB,kCAAkC,EAClC,gCAAgC,EAChC,6BAA6B,EAC7B,8BAA8B,EAC9B,+BAA+B,EAC/B,oCAAoC,EACpC,KAAK,gBAAgB,EACrB,KAAK,6BAA6B,EAClC,KAAK,6BAA6B,GACnC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,mCAAmC,EAAE,MAAM,mDAAmD,CAAC;AACxG,cAAc,oBAAoB,CAAC;AACnC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,KAAK,2BAA2B,GACjC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,4BAA4B,EAC5B,mCAAmC,EACnC,gCAAgC,EAChC,kCAAkC,EAClC,2BAA2B,EAC3B,uBAAuB,EACvB,KAAK,6BAA6B,EAClC,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,GACpC,MAAM,sCAAsC,CAAC"}
package/dist/index.js CHANGED
@@ -6,8 +6,8 @@
6
6
  *
7
7
  * Main barrel is Node-safe (no React UI). Runtime JS (not `.d.ts`):
8
8
  * - `tsx watch` and `node dist/server.js` both resolve `node_modules/pi-kiosk-shared`
9
- * after `ensureDist.mjs` overlays this `dist` (monorepo `file:../shared` @ 2.2.83;
10
- * registry latest is 2.2.82 until 2.2.83 is published — do not rely on a stale tarball).
9
+ * after `ensureDist.mjs` overlays this `dist` (monorepo sibling `../shared` @ 2.2.86;
10
+ * consumers pin ^2.2.86 matching shared/package.json — confirm registry at deploy time).
11
11
  * React UI is `pi-kiosk-shared/ui`.
12
12
  *
13
13
  * Note: relative imports use explicit `.js` extensions so the compiled
@@ -75,6 +75,8 @@ export * from './promo/RemovePromoCodeRequest.js';
75
75
  export * from './catalogImagePresentation.js';
76
76
  export * from './directoryMonogram.js';
77
77
  export * from './branding/consumerSquareLogo.js';
78
+ export * from './branding/logoChipRim.js';
79
+ export * from './branding/signedMediaUrlStability.js';
78
80
  export * from './tenant/tenantPathResolution.js';
79
81
  export * from './tenant/tenantLifecycle.js';
80
82
  export { PERMISSION_DOMAIN_LABELS, PERMISSION_LEVEL_LABELS, PERMISSION_RESOURCE_LABELS, getPermissionDomainLabel, getPermissionLevelLabel, getPermissionResourceTitle, } from './permissions/permissionLabels.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yCAAyC,CAAC;AACxD,OAAO,EACL,wCAAwC,EACxC,yCAAyC,GAC1C,MAAM,yCAAyC,CAAC;AACjD,cAAc,oBAAoB,CAAC;AACnC,cAAc,oCAAoC,CAAC;AACnD,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sCAAsC,CAAC;AACrD,cAAc,oCAAoC,CAAC;AACnD,cAAc,sCAAsC,CAAC;AACrD,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,OAAO,EACL,0BAA0B,GAE3B,MAAM,wBAAwB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,uCAAuC,CAAC;AACtD,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,kBAAkB,CAAC;AACjC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,mCAAmC,CAAC;AAClD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uCAAuC,CAAC;AACtD,cAAc,kCAAkC,CAAC;AAEjD,cAAc,6BAA6B,CAAC;AAE5C,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,gCAAgC,EAChC,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EACzB,iCAAiC,EACjC,iCAAiC,EACjC,4BAA4B,EAC5B,sCAAsC,GACvC,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,EACvB,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EACL,4BAA4B,EAC5B,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;AAUlC,OAAO,EACL,6BAA6B,EAC7B,gCAAgC,EAChC,iCAAiC,EACjC,iCAAiC,GAClC,MAAM,iCAAiC,CAAC;AAOzC,OAAO,EACL,uCAAuC,EACvC,oBAAoB,EACpB,yBAAyB,EACzB,+BAA+B,EAC/B,oCAAoC,EACpC,gCAAgC,GACjC,MAAM,mCAAmC,CAAC;AAK3C,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EACL,uBAAuB,EACvB,yBAAyB,GAE1B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EACL,+BAA+B,GAEhC,MAAM,8CAA8C,CAAC;AACtD,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,sBAAsB,EACtB,kCAAkC,EAClC,gCAAgC,EAChC,6BAA6B,EAC7B,8BAA8B,EAC9B,+BAA+B,EAC/B,oCAAoC,GAIrC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,mCAAmC,EAAE,MAAM,mDAAmD,CAAC;AACxG,cAAc,oBAAoB,CAAC;AACnC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EACL,iBAAiB,EACjB,wBAAwB,GAEzB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,4BAA4B,EAC5B,mCAAmC,EACnC,gCAAgC,EAChC,kCAAkC,EAClC,2BAA2B,EAC3B,uBAAuB,GAIxB,MAAM,sCAAsC,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import { type HTMLAttributes, type ReactNode } from 'react';
2
2
  /**
3
- * CMP-0010 Dialog — Radix-free modal shell (no portal library).
3
+ * CMP-0010 Dialog — Radix-free modal shell.
4
+ * Portals to `document.body` so `fixed inset-0` is not clipped by ancestors with
5
+ * `container-type` / transform / filter (e.g. Card `rp-card-container`).
4
6
  * Wave A harden: focus trap, restore, busy Escape/backdrop, scroll lock, labelledby, inert.
5
7
  * Short enter/exit via motion tokens; Confirm inherits this surface.
6
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../src/ui/Dialog/Dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAyBf;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,gFAAgF;IAChF,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,IAAI,CACxB,cAAc,CAAC,cAAc,CAAC,EAC9B,MAAM,GAAG,UAAU,GAAG,YAAY,CACnC,GAAG;QACF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;KACpC,CAAC;IACF,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,oFAAoF;IACpF,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,qDAAqD;IACrD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,oDAAoD;IACpD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,mDAAmD;IACnD,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,aAAa,CAAC;IACzC,qEAAqE;IACrE,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,gEAAgE;IAChE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAKD,wBAAgB,MAAM,CAAC,EACrB,IAAI,EACJ,OAAO,EACP,KAAK,EACL,QAAQ,EACR,mBAA0B,EAC1B,UAAoB,EACpB,SAAS,EACT,cAAc,EACd,UAAU,EACV,MAAiB,EACjB,IAAY,EACZ,OAAe,EACf,WAAW,EACX,IAAe,EACf,UAAkB,EAClB,OAAO,EAAE,WAAW,GACrB,EAAE,WAAW,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CA6JlC"}
1
+ {"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../src/ui/Dialog/Dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AA0Bf;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,gFAAgF;IAChF,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,IAAI,CACxB,cAAc,CAAC,cAAc,CAAC,EAC9B,MAAM,GAAG,UAAU,GAAG,YAAY,CACnC,GAAG;QACF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;KACpC,CAAC;IACF,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,oFAAoF;IACpF,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,qDAAqD;IACrD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,oDAAoD;IACpD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,mDAAmD;IACnD,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,aAAa,CAAC;IACzC,qEAAqE;IACrE,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,gEAAgE;IAChE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAKD,wBAAgB,MAAM,CAAC,EACrB,IAAI,EACJ,OAAO,EACP,KAAK,EACL,QAAQ,EACR,mBAA0B,EAC1B,UAAoB,EACpB,SAAS,EACT,cAAc,EACd,UAAU,EACV,MAAiB,EACjB,IAAY,EACZ,OAAe,EACf,WAAW,EACX,IAAe,EACf,UAAkB,EAClB,OAAO,EAAE,WAAW,GACrB,EAAE,WAAW,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CA8JlC"}
@@ -1,5 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect, useId, useRef, } from 'react';
3
+ import { createPortal } from 'react-dom';
3
4
  import { focusInitialInContainer, handleFocusTrapKeyDown, lockBodyScroll, setBackgroundInert, } from '../overlay/overlayFocus.js';
4
5
  import { OVERLAY_BACKDROP_ENTERED, OVERLAY_BACKDROP_EXITED, OVERLAY_MOTION_ENTERED, OVERLAY_MOTION_EXITED, OVERLAY_MOTION_TRANSITION, useOverlayPresence, } from '../overlay/overlayMotion.js';
5
6
  const MODAL_DIALOG_SELECTOR = '[role="dialog"][aria-modal="true"], [role="alertdialog"][aria-modal="true"]';
@@ -73,14 +74,14 @@ export function Dialog({ open, onClose, title, children, closeOnOverlayClick = t
73
74
  window.addEventListener('keydown', onKey, true);
74
75
  return () => window.removeEventListener('keydown', onKey, true);
75
76
  }, [open, onClose, isBusy]);
76
- if (!mounted) {
77
+ if (!mounted || typeof document === 'undefined') {
77
78
  return null;
78
79
  }
79
80
  const showHeader = Boolean(title) && !hideHeader;
80
81
  const labelledBy = title ? titleId : undefined;
81
82
  const motionState = visible ? OVERLAY_MOTION_ENTERED : OVERLAY_MOTION_EXITED;
82
83
  const backdropState = visible ? OVERLAY_BACKDROP_ENTERED : OVERLAY_BACKDROP_EXITED;
83
- return (_jsxs("div", { ref: rootRef, className: [
84
+ return createPortal(_jsxs("div", { ref: rootRef, className: [
84
85
  'fixed inset-0 z-[var(--z-dialog,50)] flex h-[100dvh] items-center justify-center',
85
86
  DIALOG_SHELL_PAD,
86
87
  shellClassName,
@@ -103,6 +104,6 @@ export function Dialog({ open, onClose, title, children, closeOnOverlayClick = t
103
104
  className,
104
105
  ]
105
106
  .filter(Boolean)
106
- .join(' '), "data-testid": `${testId}-content`, children: [showHeader ? (_jsxs("header", { className: "mb-3 flex items-start justify-between gap-3", children: [_jsx("h2", { id: titleId, className: "m-0 text-lg font-semibold text-[var(--color-on-surface,var(--color-an-text))]", children: title }), _jsx("button", { type: "button", className: "rounded-md px-2 py-1 text-sm text-[var(--color-on-surface-muted)]", "aria-label": closeLabel, onClick: onClose, disabled: isBusy || !open, "data-testid": `${testId}-close`, children: "\u00D7" })] })) : title ? (_jsx("span", { id: titleId, className: "sr-only", children: title })) : null, _jsx("div", { children: children })] })] }));
107
+ .join(' '), "data-testid": `${testId}-content`, children: [showHeader ? (_jsxs("header", { className: "mb-3 flex items-start justify-between gap-3", children: [_jsx("h2", { id: titleId, className: "m-0 text-lg font-semibold text-[var(--color-on-surface,var(--color-an-text))]", children: title }), _jsx("button", { type: "button", className: "rounded-md px-2 py-1 text-sm text-[var(--color-on-surface-muted)]", "aria-label": closeLabel, onClick: onClose, disabled: isBusy || !open, "data-testid": `${testId}-close`, children: "\u00D7" })] })) : title ? (_jsx("span", { id: titleId, className: "sr-only", children: title })) : null, _jsx("div", { children: children })] })] }), document.body);
107
108
  }
108
109
  //# sourceMappingURL=Dialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../src/ui/Dialog/Dialog.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../src/ui/Dialog/Dialog.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-kiosk-shared",
3
- "version": "2.2.86",
3
+ "version": "2.2.87",
4
4
  "type": "module",
5
5
  "private": false,
6
6
  "description": "Shared types, API contracts, and error classes for Pi Kiosk system",
@@ -360,6 +360,7 @@
360
360
  "@types/jest": "^30.0.0",
361
361
  "@types/node": "^20.19.41",
362
362
  "@types/react": "^18.2.0",
363
+ "@types/react-dom": "^19.2.5",
363
364
  "@zxing/browser": "^0.1.5",
364
365
  "@zxing/library": "^0.21.3",
365
366
  "handlebars": "^4.7.9",