pi-kiosk-shared 2.2.64 → 2.2.66

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.
Files changed (41) hide show
  1. package/dist/tenant-entitlements/applySimpleStateDependencyImplications.d.ts.map +1 -1
  2. package/dist/tenant-entitlements/applySimpleStateDependencyImplications.js +10 -1
  3. package/dist/tenant-entitlements/applySimpleStateDependencyImplications.js.map +1 -1
  4. package/dist/tenant-entitlements/catalog.d.ts.map +1 -1
  5. package/dist/tenant-entitlements/catalog.js +7 -6
  6. package/dist/tenant-entitlements/catalog.js.map +1 -1
  7. package/dist/tenant-entitlements/catalogParentSatisfaction.d.ts +20 -0
  8. package/dist/tenant-entitlements/catalogParentSatisfaction.d.ts.map +1 -0
  9. package/dist/tenant-entitlements/catalogParentSatisfaction.js +104 -0
  10. package/dist/tenant-entitlements/catalogParentSatisfaction.js.map +1 -0
  11. package/dist/tenant-entitlements/immediateSelfPickupCollectOnly.d.ts +14 -0
  12. package/dist/tenant-entitlements/immediateSelfPickupCollectOnly.d.ts.map +1 -0
  13. package/dist/tenant-entitlements/immediateSelfPickupCollectOnly.js +33 -0
  14. package/dist/tenant-entitlements/immediateSelfPickupCollectOnly.js.map +1 -0
  15. package/dist/tenant-entitlements/index.d.ts +4 -0
  16. package/dist/tenant-entitlements/index.d.ts.map +1 -1
  17. package/dist/tenant-entitlements/index.js +3 -0
  18. package/dist/tenant-entitlements/index.js.map +1 -1
  19. package/dist/tenant-entitlements/purposeOwnedReconciliationMode.d.ts +51 -0
  20. package/dist/tenant-entitlements/purposeOwnedReconciliationMode.d.ts.map +1 -0
  21. package/dist/tenant-entitlements/purposeOwnedReconciliationMode.js +58 -0
  22. package/dist/tenant-entitlements/purposeOwnedReconciliationMode.js.map +1 -0
  23. package/dist/tenant-entitlements/types.d.ts +7 -0
  24. package/dist/tenant-entitlements/types.d.ts.map +1 -1
  25. package/dist/tenant-entitlements/types.js.map +1 -1
  26. package/dist/ui/BottomCartBar/BottomCartBar.d.ts +10 -3
  27. package/dist/ui/BottomCartBar/BottomCartBar.d.ts.map +1 -1
  28. package/dist/ui/BottomCartBar/BottomCartBar.js +38 -9
  29. package/dist/ui/BottomCartBar/BottomCartBar.js.map +1 -1
  30. package/dist/ui/BottomCartBar/index.d.ts +1 -1
  31. package/dist/ui/BottomCartBar/index.d.ts.map +1 -1
  32. package/dist/ui/BottomCartBar/index.js +1 -1
  33. package/dist/ui/BottomCartBar/index.js.map +1 -1
  34. package/dist/ui/index.d.ts +1 -1
  35. package/dist/ui/index.d.ts.map +1 -1
  36. package/dist/ui/index.js.map +1 -1
  37. package/dist/ui/overlay/overlayFocus.d.ts +6 -1
  38. package/dist/ui/overlay/overlayFocus.d.ts.map +1 -1
  39. package/dist/ui/overlay/overlayFocus.js +28 -4
  40. package/dist/ui/overlay/overlayFocus.js.map +1 -1
  41. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"applySimpleStateDependencyImplications.d.ts","sourceRoot":"","sources":["../../src/tenant-entitlements/applySimpleStateDependencyImplications.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAwC9E;;;GAGG;AACH,wBAAgB,sCAAsC,CACpD,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC,GACnE,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC,CAwC9D"}
1
+ {"version":3,"file":"applySimpleStateDependencyImplications.d.ts","sourceRoot":"","sources":["../../src/tenant-entitlements/applySimpleStateDependencyImplications.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAwC9E;;;GAGG;AACH,wBAAgB,sCAAsC,CACpD,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC,GACnE,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC,CAiD9D"}
@@ -1,3 +1,5 @@
1
+ import { applyCatalogParentDenialImplications } from './catalogParentSatisfaction.js';
2
+ import { shouldForceImmediateSelfPickupCollectOnly } from './immediateSelfPickupCollectOnly.js';
1
3
  import { applyPickupOperationsClusterSync } from './pickupOperationsCluster.js';
2
4
  const ANALYTICS_UMBRELLA_CHILD_KEYS = [
3
5
  'analytics_summary',
@@ -63,6 +65,13 @@ export function applySimpleStateDependencyImplications(states) {
63
65
  }
64
66
  }
65
67
  const withAnalytics = applyAnalyticsClusterImplications(result);
66
- return applyPickupOperationsClusterSync(withAnalytics);
68
+ const withPickup = applyPickupOperationsClusterSync(withAnalytics);
69
+ // Collect-only path: inactive pickup-ops infra (off/hardOff/softOff*/missing) must not
70
+ // leave product tenants without a handoff. Force immediate On (not a child of infra).
71
+ if (shouldForceImmediateSelfPickupCollectOnly(withPickup)) {
72
+ withPickup.immediate_self_pickup = 'on';
73
+ }
74
+ // Last: catalog parent gates — children cannot stay runtime-active when parents are Off.
75
+ return applyCatalogParentDenialImplications(withPickup);
67
76
  }
68
77
  //# sourceMappingURL=applySimpleStateDependencyImplications.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"applySimpleStateDependencyImplications.js","sourceRoot":"","sources":["../../src/tenant-entitlements/applySimpleStateDependencyImplications.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,MAAM,8BAA8B,CAAC;AAGhF,MAAM,6BAA6B,GAAG;IACpC,mBAAmB;IACnB,oBAAoB;IACpB,qBAAqB;IACrB,iBAAiB;IACjB,eAAe;IACf,2BAA2B;CACsB,CAAC;AAEpD,SAAS,0BAA0B,CAAC,KAAyC;IAC3E,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,gBAAgB,IAAI,KAAK,KAAK,eAAe,CAAC;AACnF,CAAC;AAED,SAAS,iCAAiC,CACxC,MAAoE;IAEpE,MAAM,MAAM,GAAiE,EAAE,GAAG,MAAM,EAAE,CAAC;IAE3F,MAAM,uBAAuB,GAAG,6BAA6B,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC9E,0BAA0B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAC7C,CAAC;IACF,IAAI,uBAAuB,EAAE,CAAC;QAC5B,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,IAAI,0BAA0B,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;QACvD,MAAM,CAAC,kBAAkB,GAAG,IAAI,CAAC;IACnC,CAAC;IAED,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC3D,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC;QAC/B,MAAM,CAAC,aAAa,GAAG,KAAK,CAAC;QAC7B,MAAM,CAAC,yBAAyB,GAAG,KAAK,CAAC;IAC3C,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sCAAsC,CACpD,MAAoE;IAEpE,MAAM,MAAM,GAAiE,EAAE,GAAG,MAAM,EAAE,CAAC;IAE3F,MAAM,aAAa,GAAG,0BAA0B,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IACzE,MAAM,eAAe,GAAG,0BAA0B,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAChF,MAAM,aAAa,GAAG,0BAA0B,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IACzE,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAE/E,IAAI,eAAe,EAAE,CAAC;QACpB,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC;QAChC,CAAC;QACD,MAAM,CAAC,sBAAsB,GAAG,IAAI,CAAC;IACvC,CAAC;IAED,IAAI,aAAa,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;QACzE,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC;IAChC,CAAC;IAED,IAAI,gBAAgB,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;QAC5E,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC;IAChC,CAAC;IAED,MAAM,yBAAyB,GAAG,0BAA0B,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IACrF,MAAM,0BAA0B,GAAG,0BAA0B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE/E,IAAI,yBAAyB,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,sBAAsB,CAAC;QAC9C,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxE,MAAM,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACvC,CAAC;IACH,CAAC;SAAM,IAAI,0BAA0B,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,MAAM,CAAC,sBAAsB,CAAC;QAC9C,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;YAC/C,MAAM,CAAC,sBAAsB,GAAG,SAAS,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAAG,iCAAiC,CAAC,MAAM,CAAC,CAAC;IAChE,OAAO,gCAAgC,CAAC,aAAa,CAAC,CAAC;AACzD,CAAC"}
1
+ {"version":3,"file":"applySimpleStateDependencyImplications.js","sourceRoot":"","sources":["../../src/tenant-entitlements/applySimpleStateDependencyImplications.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/tenant-entitlements/catalog.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EACV,4BAA4B,EAC5B,mBAAmB,EAEpB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,sBAAsB,EACtB,8BAA8B,EAC9B,kCAAkC,EACnC,MAAM,YAAY,CAAC;AAYpB,eAAO,MAAM,gCAAgC,EAAE,SAAS,4BAA4B,EAgW1E,CAAC;AAmBX,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,mBAAmB,CAEjF;AAED,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,mBAAmB,GAC5B,4BAA4B,CAM9B;AAED,OAAO,EACL,kCAAkC,EAClC,8BAA8B,EAC9B,sBAAsB,GACvB,CAAC"}
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/tenant-entitlements/catalog.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EACV,4BAA4B,EAC5B,mBAAmB,EAEpB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,sBAAsB,EACtB,8BAA8B,EAC9B,kCAAkC,EACnC,MAAM,YAAY,CAAC;AAYpB,eAAO,MAAM,gCAAgC,EAAE,SAAS,4BAA4B,EAoW1E,CAAC;AAmBX,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,mBAAmB,CAEjF;AAED,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,mBAAmB,GAC5B,4BAA4B,CAM9B;AAED,OAAO,EACL,kCAAkC,EAClC,8BAA8B,EAC9B,sBAAsB,GACvB,CAAC"}
@@ -200,14 +200,14 @@ export const TENANT_ENTITLEMENT_BLOCK_CATALOG = [
200
200
  {
201
201
  blockKey: 'immediate_self_pickup',
202
202
  blockClass: 'CONDITIONAL',
203
- parentKeys: ['order_pickup_infrastructure'],
204
- notes: 'Mirror mode; syncs Tenant.immediatePickupGraceMinutes',
203
+ parentKeys: [],
204
+ notes: 'Independent of order_pickup_infrastructure (core NOW collect). Collect-only: inactive infra (off/hardOff/softOff*/missing) + product_vending active ⇒ SIMPLE/resolver/validator force On. Tenant.immediatePickupGraceMinutes is a Dev tenant setting (not entitlement side-effect sync)',
205
205
  },
206
206
  {
207
207
  blockKey: 'customer_self_collect',
208
208
  blockClass: 'CONDITIONAL',
209
- parentKeys: ['immediate_self_pickup'],
210
- notes: 'Customer collect flows',
209
+ parentKeys: ['immediate_self_pickup', 'order_pickup_infrastructure'],
210
+ notes: 'Optional post-purchase self-collect ack/verify (not core NOW checkout collect). Requires immediate_self_pickup AND order_pickup_infrastructure — aligns with assertCustomerSelfCollectWriteEntitled',
211
211
  },
212
212
  {
213
213
  blockKey: 'scheduled_pickup',
@@ -218,9 +218,10 @@ export const TENANT_ENTITLEMENT_BLOCK_CATALOG = [
218
218
  {
219
219
  blockKey: 'staff_pickup_scan',
220
220
  blockClass: 'CONDITIONAL',
221
- parentKeys: ['pickup_points'],
221
+ parentKeys: ['pickup_points', 'immediate_self_pickup'],
222
222
  parentOperator: 'OR',
223
- notes: 'Pickup staff app; pickup_points OR mirror mode (resolved ENT-PR-03)',
223
+ requiredParentKeys: ['order_pickup_infrastructure'],
224
+ notes: 'Pickup staff scan ops; requires order_pickup_infrastructure ∧ (pickup_points ∨ immediate_self_pickup) — ENT-PR-03 OR + infra (PICKUP_ENTITLEMENT optional surfaces)',
224
225
  },
225
226
  {
226
227
  blockKey: 'surface_kiosk',
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/tenant-entitlements/catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/tenant-entitlements/catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { EntitlementBlockKey, SimpleEntitlementState } from './types.js';
2
+ /**
3
+ * Whether a parent block counts as runtime-active for catalog parent gates.
4
+ * CORE_REQUIRED / CORE_IMMUTABLE / immutableDefaults are always treated as active
5
+ * (they are not authored as SIMPLE toggles the same way).
6
+ */
7
+ export declare function isEntitlementParentRuntimeActive(blockKey: EntitlementBlockKey, states: Partial<Record<EntitlementBlockKey, SimpleEntitlementState>>): boolean;
8
+ /**
9
+ * Core catalog parent-gate predicate. Callers supply how each parent is considered active
10
+ * (SIMPLE states, axes map, recursive entitled, etc.).
11
+ */
12
+ export declare function areEntitlementBlockParentsSatisfiedBy(blockKey: EntitlementBlockKey, isParentActive: (parentKey: EntitlementBlockKey) => boolean): boolean;
13
+ /** True when catalog parentKeys (AND/OR + optional) are satisfied for `blockKey`. */
14
+ export declare function areEntitlementBlockParentsSatisfied(blockKey: EntitlementBlockKey, states: Partial<Record<EntitlementBlockKey, SimpleEntitlementState>>): boolean;
15
+ /**
16
+ * Forces runtime-active children Off/HardOff when catalog parents are not satisfied.
17
+ * Processes shallow parents before deeper children so cascades settle in one pass.
18
+ */
19
+ export declare function applyCatalogParentDenialImplications(states: Partial<Record<EntitlementBlockKey, SimpleEntitlementState>>): Partial<Record<EntitlementBlockKey, SimpleEntitlementState>>;
20
+ //# sourceMappingURL=catalogParentSatisfaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalogParentSatisfaction.d.ts","sourceRoot":"","sources":["../../src/tenant-entitlements/catalogParentSatisfaction.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAM9E;;;;GAIG;AACH,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,mBAAmB,EAC7B,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC,GACnE,OAAO,CAUT;AAED;;;GAGG;AACH,wBAAgB,qCAAqC,CACnD,QAAQ,EAAE,mBAAmB,EAC7B,cAAc,EAAE,CAAC,SAAS,EAAE,mBAAmB,KAAK,OAAO,GAC1D,OAAO,CAwBT;AAED,qFAAqF;AACrF,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,mBAAmB,EAC7B,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC,GACnE,OAAO,CAIT;AAwCD;;;GAGG;AACH,wBAAgB,oCAAoC,CAClD,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC,GACnE,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC,CAoB9D"}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Catalog parent satisfaction for SIMPLE entitlement drafts.
3
+ * SSOT for AND/OR + optionalParentKeys + requiredParentKeys — used by editor, save PARENT-01, and runtime resolver.
4
+ */
5
+ import { TENANT_ENTITLEMENT_BLOCK_CATALOG, getEntitlementBlockCatalogEntry } from './catalog.js';
6
+ function isRuntimeActiveSimpleState(state) {
7
+ return state === 'on' || state === 'softOffVisible' || state === 'softOffHidden';
8
+ }
9
+ /**
10
+ * Whether a parent block counts as runtime-active for catalog parent gates.
11
+ * CORE_REQUIRED / CORE_IMMUTABLE / immutableDefaults are always treated as active
12
+ * (they are not authored as SIMPLE toggles the same way).
13
+ */
14
+ export function isEntitlementParentRuntimeActive(blockKey, states) {
15
+ const entry = getEntitlementBlockCatalogEntry(blockKey);
16
+ if (entry.blockClass === 'CORE_REQUIRED' || entry.blockClass === 'CORE_IMMUTABLE') {
17
+ return true;
18
+ }
19
+ if (entry.immutableDefaults !== undefined) {
20
+ return entry.immutableDefaults.runtimeMode === 'ENABLED' ||
21
+ entry.immutableDefaults.runtimeMode === 'ALWAYS_ON';
22
+ }
23
+ return isRuntimeActiveSimpleState(states[blockKey]);
24
+ }
25
+ /**
26
+ * Core catalog parent-gate predicate. Callers supply how each parent is considered active
27
+ * (SIMPLE states, axes map, recursive entitled, etc.).
28
+ */
29
+ export function areEntitlementBlockParentsSatisfiedBy(blockKey, isParentActive) {
30
+ const entry = getEntitlementBlockCatalogEntry(blockKey);
31
+ const alwaysRequired = entry.requiredParentKeys ?? [];
32
+ if (alwaysRequired.length > 0 && !alwaysRequired.every((key) => isParentActive(key))) {
33
+ return false;
34
+ }
35
+ const parentKeys = entry.parentKeys;
36
+ if (parentKeys.length === 0) {
37
+ return true;
38
+ }
39
+ const optional = new Set(entry.optionalParentKeys ?? []);
40
+ const requiredParents = parentKeys.filter((key) => !optional.has(key));
41
+ if (entry.parentOperator === 'OR') {
42
+ return parentKeys.some((key) => isParentActive(key));
43
+ }
44
+ if (requiredParents.length === 0) {
45
+ return true;
46
+ }
47
+ return requiredParents.every((key) => isParentActive(key));
48
+ }
49
+ /** True when catalog parentKeys (AND/OR + optional) are satisfied for `blockKey`. */
50
+ export function areEntitlementBlockParentsSatisfied(blockKey, states) {
51
+ return areEntitlementBlockParentsSatisfiedBy(blockKey, (parentKey) => isEntitlementParentRuntimeActive(parentKey, states));
52
+ }
53
+ function catalogParentDepth(blockKey, cache) {
54
+ const cached = cache.get(blockKey);
55
+ if (cached !== undefined) {
56
+ return cached;
57
+ }
58
+ const entry = getEntitlementBlockCatalogEntry(blockKey);
59
+ const allParents = [...entry.parentKeys, ...(entry.requiredParentKeys ?? [])];
60
+ if (allParents.length === 0) {
61
+ cache.set(blockKey, 0);
62
+ return 0;
63
+ }
64
+ let maxParent = 0;
65
+ for (const parentKey of allParents) {
66
+ maxParent = Math.max(maxParent, catalogParentDepth(parentKey, cache));
67
+ }
68
+ const depth = maxParent + 1;
69
+ cache.set(blockKey, depth);
70
+ return depth;
71
+ }
72
+ function deniedChildSimpleState(blockKey, states) {
73
+ const entry = getEntitlementBlockCatalogEntry(blockKey);
74
+ const optional = new Set(entry.optionalParentKeys ?? []);
75
+ const orAndParents = entry.parentOperator === 'OR' ? entry.parentKeys : entry.parentKeys.filter((key) => !optional.has(key));
76
+ const parentsToInspect = [...(entry.requiredParentKeys ?? []), ...orAndParents];
77
+ for (const parentKey of parentsToInspect) {
78
+ if (states[parentKey] === 'hardOff') {
79
+ return 'hardOff';
80
+ }
81
+ }
82
+ return 'off';
83
+ }
84
+ /**
85
+ * Forces runtime-active children Off/HardOff when catalog parents are not satisfied.
86
+ * Processes shallow parents before deeper children so cascades settle in one pass.
87
+ */
88
+ export function applyCatalogParentDenialImplications(states) {
89
+ const result = { ...states };
90
+ const depthCache = new Map();
91
+ const ordered = [...TENANT_ENTITLEMENT_BLOCK_CATALOG].sort((left, right) => catalogParentDepth(left.blockKey, depthCache) - catalogParentDepth(right.blockKey, depthCache));
92
+ for (const entry of ordered) {
93
+ const current = result[entry.blockKey];
94
+ if (!isRuntimeActiveSimpleState(current)) {
95
+ continue;
96
+ }
97
+ if (areEntitlementBlockParentsSatisfied(entry.blockKey, result)) {
98
+ continue;
99
+ }
100
+ result[entry.blockKey] = deniedChildSimpleState(entry.blockKey, result);
101
+ }
102
+ return result;
103
+ }
104
+ //# sourceMappingURL=catalogParentSatisfaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalogParentSatisfaction.js","sourceRoot":"","sources":["../../src/tenant-entitlements/catalogParentSatisfaction.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { EntitlementBlockAxes, EntitlementBlockKey, SimpleEntitlementState } from './types.js';
2
+ /**
3
+ * Collect-only force SSOT: infra counts as inactive when not fully On
4
+ * (`on` / ENABLED+VISIBLE+ALLOW_WRITES). softOff*, off, hardOff, and missing all force.
5
+ */
6
+ export declare function isOrderPickupInfrastructureInactiveForCollectOnlyForce(state: SimpleEntitlementState | undefined): boolean;
7
+ export declare function isOrderPickupInfrastructureInactiveForCollectOnlyForceAxes(axes: EntitlementBlockAxes | undefined): boolean;
8
+ /** Product collect-only: inactive pickup infra + runtime-active product_vending ⇒ force immediate On. */
9
+ export declare function shouldForceImmediateSelfPickupCollectOnly(states: Partial<Record<EntitlementBlockKey, SimpleEntitlementState>>): boolean;
10
+ export declare function shouldForceImmediateSelfPickupCollectOnlyFromAxes(input: {
11
+ readonly infraAxes: EntitlementBlockAxes | undefined;
12
+ readonly vendingAxes: EntitlementBlockAxes | undefined;
13
+ }): boolean;
14
+ //# sourceMappingURL=immediateSelfPickupCollectOnly.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"immediateSelfPickupCollectOnly.d.ts","sourceRoot":"","sources":["../../src/tenant-entitlements/immediateSelfPickupCollectOnly.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAUpG;;;GAGG;AACH,wBAAgB,sDAAsD,CACpE,KAAK,EAAE,sBAAsB,GAAG,SAAS,GACxC,OAAO,CAET;AAED,wBAAgB,0DAA0D,CACxE,IAAI,EAAE,oBAAoB,GAAG,SAAS,GACrC,OAAO,CAQT;AAED,yGAAyG;AACzG,wBAAgB,yCAAyC,CACvD,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC,GACnE,OAAO,CAKT;AAED,wBAAgB,iDAAiD,CAAC,KAAK,EAAE;IACvE,QAAQ,CAAC,SAAS,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACrD,QAAQ,CAAC,WAAW,EAAE,oBAAoB,GAAG,SAAS,CAAC;CACxD,GAAG,OAAO,CAKV"}
@@ -0,0 +1,33 @@
1
+ import { axesToSimpleState } from './entitlementSimpleStateMapping.js';
2
+ function isRuntimeActiveSimpleState(state) {
3
+ return state === 'on' || state === 'softOffVisible' || state === 'softOffHidden';
4
+ }
5
+ function isRuntimeActiveAxes(axes) {
6
+ return axes !== undefined && (axes.runtimeMode === 'ALWAYS_ON' || axes.runtimeMode === 'ENABLED');
7
+ }
8
+ /**
9
+ * Collect-only force SSOT: infra counts as inactive when not fully On
10
+ * (`on` / ENABLED+VISIBLE+ALLOW_WRITES). softOff*, off, hardOff, and missing all force.
11
+ */
12
+ export function isOrderPickupInfrastructureInactiveForCollectOnlyForce(state) {
13
+ return state !== 'on';
14
+ }
15
+ export function isOrderPickupInfrastructureInactiveForCollectOnlyForceAxes(axes) {
16
+ if (axes === undefined) {
17
+ return true;
18
+ }
19
+ if (axes.runtimeMode === 'ALWAYS_ON') {
20
+ return !(axes.visibilityMode === 'VISIBLE' && axes.mutationMode === 'ALLOW_WRITES');
21
+ }
22
+ return axesToSimpleState(axes) !== 'on';
23
+ }
24
+ /** Product collect-only: inactive pickup infra + runtime-active product_vending ⇒ force immediate On. */
25
+ export function shouldForceImmediateSelfPickupCollectOnly(states) {
26
+ return (isOrderPickupInfrastructureInactiveForCollectOnlyForce(states.order_pickup_infrastructure) &&
27
+ isRuntimeActiveSimpleState(states.product_vending));
28
+ }
29
+ export function shouldForceImmediateSelfPickupCollectOnlyFromAxes(input) {
30
+ return (isOrderPickupInfrastructureInactiveForCollectOnlyForceAxes(input.infraAxes) &&
31
+ isRuntimeActiveAxes(input.vendingAxes));
32
+ }
33
+ //# sourceMappingURL=immediateSelfPickupCollectOnly.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"immediateSelfPickupCollectOnly.js","sourceRoot":"","sources":["../../src/tenant-entitlements/immediateSelfPickupCollectOnly.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAGvE,SAAS,0BAA0B,CAAC,KAAyC;IAC3E,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,gBAAgB,IAAI,KAAK,KAAK,eAAe,CAAC;AACnF,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAsC;IACjE,OAAO,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,WAAW,KAAK,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC;AACpG,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sDAAsD,CACpE,KAAyC;IAEzC,OAAO,KAAK,KAAK,IAAI,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,0DAA0D,CACxE,IAAsC;IAEtC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;QACrC,OAAO,CAAC,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,KAAK,cAAc,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,iBAAiB,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;AAC1C,CAAC;AAED,yGAAyG;AACzG,MAAM,UAAU,yCAAyC,CACvD,MAAoE;IAEpE,OAAO,CACL,sDAAsD,CAAC,MAAM,CAAC,2BAA2B,CAAC;QAC1F,0BAA0B,CAAC,MAAM,CAAC,eAAe,CAAC,CACnD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iDAAiD,CAAC,KAGjE;IACC,OAAO,CACL,0DAA0D,CAAC,KAAK,CAAC,SAAS,CAAC;QAC3E,mBAAmB,CAAC,KAAK,CAAC,WAAW,CAAC,CACvC,CAAC;AACJ,CAAC"}
@@ -1,10 +1,14 @@
1
1
  export { TENANT_ENTITLEMENT_BLOCK_CATALOG, TENANT_ENTITLEMENT_CATALOG_VERSION, TENANT_ENTITLEMENT_BLOCK_COUNT, ENTITLEMENT_BLOCK_KEYS, getEntitlementBlockCatalogEntry, isEntitlementBlockKey, } from './catalog.js';
2
2
  export { ENTITLEMENT_BLOCK_CLASSES, ENTITLEMENT_MUTATION_MODES, ENTITLEMENT_PARENT_OPERATORS, ENTITLEMENT_RUNTIME_MODES, ENTITLEMENT_VISIBILITY_MODES, RECONCILIATION_MODES, SIMPLE_ENTITLEMENT_STATES, TENANT_SURFACE_PRESET_IDS, simpleEntitlementStateToAxes, } from './types.js';
3
3
  export { applySimpleStateDependencyImplications } from './applySimpleStateDependencyImplications.js';
4
+ export { isOrderPickupInfrastructureInactiveForCollectOnlyForce, isOrderPickupInfrastructureInactiveForCollectOnlyForceAxes, shouldForceImmediateSelfPickupCollectOnly, shouldForceImmediateSelfPickupCollectOnlyFromAxes, } from './immediateSelfPickupCollectOnly.js';
5
+ export { applyCatalogParentDenialImplications, areEntitlementBlockParentsSatisfied, areEntitlementBlockParentsSatisfiedBy, isEntitlementParentRuntimeActive, } from './catalogParentSatisfaction.js';
4
6
  export { PICKUP_OPERATIONS_CLUSTER_BLOCK_KEYS, PICKUP_OPERATIONS_CLUSTER_LEADER, applyPickupOperationsClusterSync, isPickupOperationsClusterBlock, isPickupOperationsClusterFollower, } from './pickupOperationsCluster.js';
5
7
  export { TENANT_ALLOWED_PURPOSES, TENANT_SURFACE_SCOPE_IDS, isTenantAllowedPurposes, isTenantSurfaceScope, } from './tenantScopeTypes.js';
6
8
  export type { TenantAllowedPurposes, TenantSurfaceScope } from './tenantScopeTypes.js';
7
9
  export { isBankAccountAllowedPurposesCompatible, isBankAccountPurposeSelectable, isDonationPurposeAllowed, isProductPurposeAllowed, resolveBankAccountAllowedPurposes, shouldClearTenantDefaultDonationProjectId, shouldShowBankAccountPurposeSection, shouldSyncBankAccountsToTenantAllowedPurposes, } from './bankAccountPurposeScope.js';
10
+ export { isProductOnlyMode1CarveOutAllowed, isProductOnlyPurpose, resolveOmittedCreateReconciliationMode, resolvePurposeOwnedReconciliationMode, } from './purposeOwnedReconciliationMode.js';
11
+ export type { BankReconciliationPersistMode, ProductOnlyMode1CarveOutInput, PurposeOwnedReconciliationEntitlementFlags, ResolveOmittedCreateReconciliationModeInput, ResolvePurposeOwnedReconciliationModeInput, } from './purposeOwnedReconciliationMode.js';
8
12
  export { TENANT_AXIS_CONTROLLED_BLOCK_KEYS, TENANT_PRODUCT_PURPOSE_LOCKED_BLOCK_KEYS, TENANT_PURPOSE_AXIS_BLOCK_KEYS, TENANT_SURFACE_AXIS_BLOCK_KEYS, applyTenantScopeToSimpleStates, buildDefaultTenantScopeBaseline, inferAllowedPurposesFromSimpleStates, inferSurfaceScopeFromSimpleStates, isAxisControlledEntitlementBlock, isProductCommerceAllowed, isRuntimeActiveSimpleEntitlementState, isTenantScopeLockedBlock, stripAxisControlledSimpleStates, } from './applyTenantScopeToSimpleStates.js';
9
13
  export type { TenantAxisControlledBlockKey, TenantProductPurposeLockedBlockKey, } from './applyTenantScopeToSimpleStates.js';
10
14
  export { axesToSimpleState, resolveSimpleStateForBlock, simpleStatesFromPolicyAxes, } from './entitlementSimpleStateMapping.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tenant-entitlements/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gCAAgC,EAChC,kCAAkC,EAClC,8BAA8B,EAC9B,sBAAsB,EACtB,+BAA+B,EAC/B,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,4BAA4B,EAC5B,yBAAyB,EACzB,4BAA4B,EAC5B,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,EACzB,4BAA4B,GAC7B,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,sCAAsC,EAAE,MAAM,6CAA6C,CAAC;AAErG,OAAO,EACL,oCAAoC,EACpC,gCAAgC,EAChC,gCAAgC,EAChC,8BAA8B,EAC9B,iCAAiC,GAClC,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEvF,OAAO,EACL,sCAAsC,EACtC,8BAA8B,EAC9B,wBAAwB,EACxB,uBAAuB,EACvB,iCAAiC,EACjC,yCAAyC,EACzC,mCAAmC,EACnC,6CAA6C,GAC9C,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,iCAAiC,EACjC,wCAAwC,EACxC,8BAA8B,EAC9B,8BAA8B,EAC9B,8BAA8B,EAC9B,+BAA+B,EAC/B,oCAAoC,EACpC,iCAAiC,EACjC,gCAAgC,EAChC,wBAAwB,EACxB,qCAAqC,EACrC,wBAAwB,EACxB,+BAA+B,GAChC,MAAM,qCAAqC,CAAC;AAE7C,YAAY,EACV,4BAA4B,EAC5B,kCAAkC,GACnC,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,oCAAoC,CAAC;AAE5C,YAAY,EACV,oBAAoB,EACpB,4BAA4B,EAC5B,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EACzB,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,EAC3B,6BAA6B,EAC7B,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,eAAe,EACf,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,sBAAsB,EACtB,iCAAiC,EACjC,2BAA2B,EAC3B,yBAAyB,EACzB,gCAAgC,EAChC,8BAA8B,GAC/B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,sBAAsB,EACtB,iCAAiC,GAClC,MAAM,6BAA6B,CAAC;AAErC,YAAY,EACV,sCAAsC,EACtC,2BAA2B,GAC5B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,mCAAmC,EACnC,+BAA+B,EAC/B,iCAAiC,GAClC,MAAM,0CAA0C,CAAC;AAElD,YAAY,EACV,uCAAuC,EACvC,kCAAkC,GACnC,MAAM,0CAA0C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tenant-entitlements/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gCAAgC,EAChC,kCAAkC,EAClC,8BAA8B,EAC9B,sBAAsB,EACtB,+BAA+B,EAC/B,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,4BAA4B,EAC5B,yBAAyB,EACzB,4BAA4B,EAC5B,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,EACzB,4BAA4B,GAC7B,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,sCAAsC,EAAE,MAAM,6CAA6C,CAAC;AAErG,OAAO,EACL,sDAAsD,EACtD,0DAA0D,EAC1D,yCAAyC,EACzC,iDAAiD,GAClD,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EACL,oCAAoC,EACpC,mCAAmC,EACnC,qCAAqC,EACrC,gCAAgC,GACjC,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,oCAAoC,EACpC,gCAAgC,EAChC,gCAAgC,EAChC,8BAA8B,EAC9B,iCAAiC,GAClC,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEvF,OAAO,EACL,sCAAsC,EACtC,8BAA8B,EAC9B,wBAAwB,EACxB,uBAAuB,EACvB,iCAAiC,EACjC,yCAAyC,EACzC,mCAAmC,EACnC,6CAA6C,GAC9C,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,iCAAiC,EACjC,oBAAoB,EACpB,sCAAsC,EACtC,qCAAqC,GACtC,MAAM,qCAAqC,CAAC;AAE7C,YAAY,EACV,6BAA6B,EAC7B,6BAA6B,EAC7B,0CAA0C,EAC1C,2CAA2C,EAC3C,0CAA0C,GAC3C,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EACL,iCAAiC,EACjC,wCAAwC,EACxC,8BAA8B,EAC9B,8BAA8B,EAC9B,8BAA8B,EAC9B,+BAA+B,EAC/B,oCAAoC,EACpC,iCAAiC,EACjC,gCAAgC,EAChC,wBAAwB,EACxB,qCAAqC,EACrC,wBAAwB,EACxB,+BAA+B,GAChC,MAAM,qCAAqC,CAAC;AAE7C,YAAY,EACV,4BAA4B,EAC5B,kCAAkC,GACnC,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,oCAAoC,CAAC;AAE5C,YAAY,EACV,oBAAoB,EACpB,4BAA4B,EAC5B,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EACzB,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,EAC3B,6BAA6B,EAC7B,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,eAAe,EACf,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,sBAAsB,EACtB,iCAAiC,EACjC,2BAA2B,EAC3B,yBAAyB,EACzB,gCAAgC,EAChC,8BAA8B,GAC/B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,sBAAsB,EACtB,iCAAiC,GAClC,MAAM,6BAA6B,CAAC;AAErC,YAAY,EACV,sCAAsC,EACtC,2BAA2B,GAC5B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,mCAAmC,EACnC,+BAA+B,EAC/B,iCAAiC,GAClC,MAAM,0CAA0C,CAAC;AAElD,YAAY,EACV,uCAAuC,EACvC,kCAAkC,GACnC,MAAM,0CAA0C,CAAC"}
@@ -1,9 +1,12 @@
1
1
  export { TENANT_ENTITLEMENT_BLOCK_CATALOG, TENANT_ENTITLEMENT_CATALOG_VERSION, TENANT_ENTITLEMENT_BLOCK_COUNT, ENTITLEMENT_BLOCK_KEYS, getEntitlementBlockCatalogEntry, isEntitlementBlockKey, } from './catalog.js';
2
2
  export { ENTITLEMENT_BLOCK_CLASSES, ENTITLEMENT_MUTATION_MODES, ENTITLEMENT_PARENT_OPERATORS, ENTITLEMENT_RUNTIME_MODES, ENTITLEMENT_VISIBILITY_MODES, RECONCILIATION_MODES, SIMPLE_ENTITLEMENT_STATES, TENANT_SURFACE_PRESET_IDS, simpleEntitlementStateToAxes, } from './types.js';
3
3
  export { applySimpleStateDependencyImplications } from './applySimpleStateDependencyImplications.js';
4
+ export { isOrderPickupInfrastructureInactiveForCollectOnlyForce, isOrderPickupInfrastructureInactiveForCollectOnlyForceAxes, shouldForceImmediateSelfPickupCollectOnly, shouldForceImmediateSelfPickupCollectOnlyFromAxes, } from './immediateSelfPickupCollectOnly.js';
5
+ export { applyCatalogParentDenialImplications, areEntitlementBlockParentsSatisfied, areEntitlementBlockParentsSatisfiedBy, isEntitlementParentRuntimeActive, } from './catalogParentSatisfaction.js';
4
6
  export { PICKUP_OPERATIONS_CLUSTER_BLOCK_KEYS, PICKUP_OPERATIONS_CLUSTER_LEADER, applyPickupOperationsClusterSync, isPickupOperationsClusterBlock, isPickupOperationsClusterFollower, } from './pickupOperationsCluster.js';
5
7
  export { TENANT_ALLOWED_PURPOSES, TENANT_SURFACE_SCOPE_IDS, isTenantAllowedPurposes, isTenantSurfaceScope, } from './tenantScopeTypes.js';
6
8
  export { isBankAccountAllowedPurposesCompatible, isBankAccountPurposeSelectable, isDonationPurposeAllowed, isProductPurposeAllowed, resolveBankAccountAllowedPurposes, shouldClearTenantDefaultDonationProjectId, shouldShowBankAccountPurposeSection, shouldSyncBankAccountsToTenantAllowedPurposes, } from './bankAccountPurposeScope.js';
9
+ export { isProductOnlyMode1CarveOutAllowed, isProductOnlyPurpose, resolveOmittedCreateReconciliationMode, resolvePurposeOwnedReconciliationMode, } from './purposeOwnedReconciliationMode.js';
7
10
  export { TENANT_AXIS_CONTROLLED_BLOCK_KEYS, TENANT_PRODUCT_PURPOSE_LOCKED_BLOCK_KEYS, TENANT_PURPOSE_AXIS_BLOCK_KEYS, TENANT_SURFACE_AXIS_BLOCK_KEYS, applyTenantScopeToSimpleStates, buildDefaultTenantScopeBaseline, inferAllowedPurposesFromSimpleStates, inferSurfaceScopeFromSimpleStates, isAxisControlledEntitlementBlock, isProductCommerceAllowed, isRuntimeActiveSimpleEntitlementState, isTenantScopeLockedBlock, stripAxisControlledSimpleStates, } from './applyTenantScopeToSimpleStates.js';
8
11
  export { axesToSimpleState, resolveSimpleStateForBlock, simpleStatesFromPolicyAxes, } from './entitlementSimpleStateMapping.js';
9
12
  export { allowReadsForMutationMode, allowWritesForMutationMode, evaluatePosture, isEntitlementVisible, isVisibleForVisibilityMode, } from './evaluatePosture.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tenant-entitlements/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gCAAgC,EAChC,kCAAkC,EAClC,8BAA8B,EAC9B,sBAAsB,EACtB,+BAA+B,EAC/B,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,4BAA4B,EAC5B,yBAAyB,EACzB,4BAA4B,EAC5B,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,EACzB,4BAA4B,GAC7B,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,sCAAsC,EAAE,MAAM,6CAA6C,CAAC;AAErG,OAAO,EACL,oCAAoC,EACpC,gCAAgC,EAChC,gCAAgC,EAChC,8BAA8B,EAC9B,iCAAiC,GAClC,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EACL,sCAAsC,EACtC,8BAA8B,EAC9B,wBAAwB,EACxB,uBAAuB,EACvB,iCAAiC,EACjC,yCAAyC,EACzC,mCAAmC,EACnC,6CAA6C,GAC9C,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,iCAAiC,EACjC,wCAAwC,EACxC,8BAA8B,EAC9B,8BAA8B,EAC9B,8BAA8B,EAC9B,+BAA+B,EAC/B,oCAAoC,EACpC,iCAAiC,EACjC,gCAAgC,EAChC,wBAAwB,EACxB,qCAAqC,EACrC,wBAAwB,EACxB,+BAA+B,GAChC,MAAM,qCAAqC,CAAC;AAO7C,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,oCAAoC,CAAC;AAoB5C,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,eAAe,EACf,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,sBAAsB,EACtB,iCAAiC,EACjC,2BAA2B,EAC3B,yBAAyB,EACzB,gCAAgC,EAChC,8BAA8B,GAC/B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,sBAAsB,EACtB,iCAAiC,GAClC,MAAM,6BAA6B,CAAC;AAOrC,OAAO,EACL,mCAAmC,EACnC,+BAA+B,EAC/B,iCAAiC,GAClC,MAAM,0CAA0C,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tenant-entitlements/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gCAAgC,EAChC,kCAAkC,EAClC,8BAA8B,EAC9B,sBAAsB,EACtB,+BAA+B,EAC/B,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,4BAA4B,EAC5B,yBAAyB,EACzB,4BAA4B,EAC5B,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,EACzB,4BAA4B,GAC7B,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,sCAAsC,EAAE,MAAM,6CAA6C,CAAC;AAErG,OAAO,EACL,sDAAsD,EACtD,0DAA0D,EAC1D,yCAAyC,EACzC,iDAAiD,GAClD,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EACL,oCAAoC,EACpC,mCAAmC,EACnC,qCAAqC,EACrC,gCAAgC,GACjC,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,oCAAoC,EACpC,gCAAgC,EAChC,gCAAgC,EAChC,8BAA8B,EAC9B,iCAAiC,GAClC,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EACL,sCAAsC,EACtC,8BAA8B,EAC9B,wBAAwB,EACxB,uBAAuB,EACvB,iCAAiC,EACjC,yCAAyC,EACzC,mCAAmC,EACnC,6CAA6C,GAC9C,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,iCAAiC,EACjC,oBAAoB,EACpB,sCAAsC,EACtC,qCAAqC,GACtC,MAAM,qCAAqC,CAAC;AAU7C,OAAO,EACL,iCAAiC,EACjC,wCAAwC,EACxC,8BAA8B,EAC9B,8BAA8B,EAC9B,8BAA8B,EAC9B,+BAA+B,EAC/B,oCAAoC,EACpC,iCAAiC,EACjC,gCAAgC,EAChC,wBAAwB,EACxB,qCAAqC,EACrC,wBAAwB,EACxB,+BAA+B,GAChC,MAAM,qCAAqC,CAAC;AAO7C,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,oCAAoC,CAAC;AAoB5C,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,eAAe,EACf,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,sBAAsB,EACtB,iCAAiC,EACjC,2BAA2B,EAC3B,yBAAyB,EACzB,gCAAgC,EAChC,8BAA8B,GAC/B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,sBAAsB,EACtB,iCAAiC,GAClC,MAAM,6BAA6B,CAAC;AAOrC,OAAO,EACL,mCAAmC,EACnC,+BAA+B,EAC/B,iCAAiC,GAClC,MAAM,0CAA0C,CAAC"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Purpose-wins reconciliation mode helpers (PRODUCT_ONLY ⇒ MODE_1 when strategy allows).
3
+ * Matching/payment_reconciliation Off hides UI only — must not rewrite PRODUCT_ONLY to BANK_FEED.
4
+ */
5
+ import type { PaymentReconciliationStrategy } from './types.js';
6
+ import type { TenantAllowedPurposes } from './tenantScopeTypes.js';
7
+ /** Persisted bank_account reconciliationMode (not strategy MODE_1/MODE_2). */
8
+ export type BankReconciliationPersistMode = 'APP_INITIATED_ONLY' | 'BANK_FEED_AUTHORITATIVE';
9
+ /** Minimal entitlement flags for create-omit resolution (mapped from snapshot at call site). */
10
+ export interface PurposeOwnedReconciliationEntitlementFlags {
11
+ readonly paymentReconciliationOn: boolean;
12
+ readonly hasKioskOrCustomerSurface: boolean;
13
+ }
14
+ export interface ResolvePurposeOwnedReconciliationModeInput {
15
+ readonly purpose: TenantAllowedPurposes | string | null | undefined;
16
+ readonly strategy: PaymentReconciliationStrategy;
17
+ }
18
+ export interface ResolveOmittedCreateReconciliationModeInput {
19
+ readonly purpose: TenantAllowedPurposes | string | null | undefined;
20
+ readonly strategy: PaymentReconciliationStrategy;
21
+ readonly entitlements: PurposeOwnedReconciliationEntitlementFlags;
22
+ }
23
+ export interface ProductOnlyMode1CarveOutInput {
24
+ readonly mode: BankReconciliationPersistMode;
25
+ readonly purpose: TenantAllowedPurposes | string | null | undefined;
26
+ readonly strategy: PaymentReconciliationStrategy;
27
+ /** Accepted for assert call-site symmetry; carve-out predicate does not read snapshot. */
28
+ readonly snapshot?: unknown;
29
+ }
30
+ /** True only for PRODUCT_ONLY (BOTH and DONATION_ONLY excluded). */
31
+ export declare function isProductOnlyPurpose(purpose: TenantAllowedPurposes | string | null | undefined): boolean;
32
+ /**
33
+ * Purpose-owned default when purpose alone decides the mode.
34
+ * - PRODUCT_ONLY → APP_INITIATED_ONLY when strategy allows MODE_1; else BANK_FEED_AUTHORITATIVE
35
+ * - DONATION_ONLY → BANK_FEED_AUTHORITATIVE
36
+ * - BOTH / unknown → null (caller applies entitlement gates; no auto-MODE_1)
37
+ */
38
+ export declare function resolvePurposeOwnedReconciliationMode(input: ResolvePurposeOwnedReconciliationModeInput): BankReconciliationPersistMode | null;
39
+ /**
40
+ * Create-omit default under purpose-wins.
41
+ * PRODUCT_ONLY / DONATION_ONLY use purpose-owned resolution; BOTH uses entitlement gates
42
+ * (recon On + kiosk∨customer + strategy MODE_1) else BANK_FEED.
43
+ */
44
+ export declare function resolveOmittedCreateReconciliationMode(input: ResolveOmittedCreateReconciliationModeInput): BankReconciliationPersistMode;
45
+ /**
46
+ * G2 carve-out: allow persist of APP_INITIATED_ONLY when payment_reconciliation is Off iff
47
+ * mode === APP_INITIATED_ONLY ∧ purpose is PRODUCT_ONLY ∧ strategy allows MODE_1.
48
+ * BOTH / DONATION_ONLY excluded. Surfaces are NOT required for this carve-out.
49
+ */
50
+ export declare function isProductOnlyMode1CarveOutAllowed(input: ProductOnlyMode1CarveOutInput): boolean;
51
+ //# sourceMappingURL=purposeOwnedReconciliationMode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"purposeOwnedReconciliationMode.d.ts","sourceRoot":"","sources":["../../src/tenant-entitlements/purposeOwnedReconciliationMode.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,8EAA8E;AAC9E,MAAM,MAAM,6BAA6B,GACrC,oBAAoB,GACpB,yBAAyB,CAAC;AAE9B,gGAAgG;AAChG,MAAM,WAAW,0CAA0C;IACzD,QAAQ,CAAC,uBAAuB,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,yBAAyB,EAAE,OAAO,CAAC;CAC7C;AAED,MAAM,WAAW,0CAA0C;IACzD,QAAQ,CAAC,OAAO,EAAE,qBAAqB,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACpE,QAAQ,CAAC,QAAQ,EAAE,6BAA6B,CAAC;CAClD;AAED,MAAM,WAAW,2CAA2C;IAC1D,QAAQ,CAAC,OAAO,EAAE,qBAAqB,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACpE,QAAQ,CAAC,QAAQ,EAAE,6BAA6B,CAAC;IACjD,QAAQ,CAAC,YAAY,EAAE,0CAA0C,CAAC;CACnE;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,IAAI,EAAE,6BAA6B,CAAC;IAC7C,QAAQ,CAAC,OAAO,EAAE,qBAAqB,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACpE,QAAQ,CAAC,QAAQ,EAAE,6BAA6B,CAAC;IACjD,0FAA0F;IAC1F,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,oEAAoE;AACpE,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,qBAAqB,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GACzD,OAAO,CAET;AAED;;;;;GAKG;AACH,wBAAgB,qCAAqC,CACnD,KAAK,EAAE,0CAA0C,GAChD,6BAA6B,GAAG,IAAI,CAWtC;AAED;;;;GAIG;AACH,wBAAgB,sCAAsC,CACpD,KAAK,EAAE,2CAA2C,GACjD,6BAA6B,CAkB/B;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,6BAA6B,GACnC,OAAO,CAQT"}
@@ -0,0 +1,58 @@
1
+ /** True only for PRODUCT_ONLY (BOTH and DONATION_ONLY excluded). */
2
+ export function isProductOnlyPurpose(purpose) {
3
+ return purpose === 'PRODUCT_ONLY';
4
+ }
5
+ /**
6
+ * Purpose-owned default when purpose alone decides the mode.
7
+ * - PRODUCT_ONLY → APP_INITIATED_ONLY when strategy allows MODE_1; else BANK_FEED_AUTHORITATIVE
8
+ * - DONATION_ONLY → BANK_FEED_AUTHORITATIVE
9
+ * - BOTH / unknown → null (caller applies entitlement gates; no auto-MODE_1)
10
+ */
11
+ export function resolvePurposeOwnedReconciliationMode(input) {
12
+ const { purpose, strategy } = input;
13
+ if (purpose === 'DONATION_ONLY') {
14
+ return 'BANK_FEED_AUTHORITATIVE';
15
+ }
16
+ if (purpose === 'PRODUCT_ONLY') {
17
+ return strategy.allowedModes.includes('MODE_1')
18
+ ? 'APP_INITIATED_ONLY'
19
+ : 'BANK_FEED_AUTHORITATIVE';
20
+ }
21
+ return null;
22
+ }
23
+ /**
24
+ * Create-omit default under purpose-wins.
25
+ * PRODUCT_ONLY / DONATION_ONLY use purpose-owned resolution; BOTH uses entitlement gates
26
+ * (recon On + kiosk∨customer + strategy MODE_1) else BANK_FEED.
27
+ */
28
+ export function resolveOmittedCreateReconciliationMode(input) {
29
+ const purposeOwned = resolvePurposeOwnedReconciliationMode({
30
+ purpose: input.purpose,
31
+ strategy: input.strategy,
32
+ });
33
+ if (purposeOwned !== null) {
34
+ return purposeOwned;
35
+ }
36
+ const mode1StrategyOk = input.strategy.allowedModes.includes('MODE_1');
37
+ if (mode1StrategyOk &&
38
+ input.entitlements.paymentReconciliationOn &&
39
+ input.entitlements.hasKioskOrCustomerSurface) {
40
+ return 'APP_INITIATED_ONLY';
41
+ }
42
+ return 'BANK_FEED_AUTHORITATIVE';
43
+ }
44
+ /**
45
+ * G2 carve-out: allow persist of APP_INITIATED_ONLY when payment_reconciliation is Off iff
46
+ * mode === APP_INITIATED_ONLY ∧ purpose is PRODUCT_ONLY ∧ strategy allows MODE_1.
47
+ * BOTH / DONATION_ONLY excluded. Surfaces are NOT required for this carve-out.
48
+ */
49
+ export function isProductOnlyMode1CarveOutAllowed(input) {
50
+ if (input.mode !== 'APP_INITIATED_ONLY') {
51
+ return false;
52
+ }
53
+ if (!isProductOnlyPurpose(input.purpose)) {
54
+ return false;
55
+ }
56
+ return input.strategy.allowedModes.includes('MODE_1');
57
+ }
58
+ //# sourceMappingURL=purposeOwnedReconciliationMode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"purposeOwnedReconciliationMode.js","sourceRoot":"","sources":["../../src/tenant-entitlements/purposeOwnedReconciliationMode.ts"],"names":[],"mappings":"AAqCA,oEAAoE;AACpE,MAAM,UAAU,oBAAoB,CAClC,OAA0D;IAE1D,OAAO,OAAO,KAAK,cAAc,CAAC;AACpC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qCAAqC,CACnD,KAAiD;IAEjD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACpC,IAAI,OAAO,KAAK,eAAe,EAAE,CAAC;QAChC,OAAO,yBAAyB,CAAC;IACnC,CAAC;IACD,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;QAC/B,OAAO,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC7C,CAAC,CAAC,oBAAoB;YACtB,CAAC,CAAC,yBAAyB,CAAC;IAChC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sCAAsC,CACpD,KAAkD;IAElD,MAAM,YAAY,GAAG,qCAAqC,CAAC;QACzD,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAC,CAAC;IACH,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,MAAM,eAAe,GAAG,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvE,IACE,eAAe;QACf,KAAK,CAAC,YAAY,CAAC,uBAAuB;QAC1C,KAAK,CAAC,YAAY,CAAC,yBAAyB,EAC5C,CAAC;QACD,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IACD,OAAO,yBAAyB,CAAC;AACnC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iCAAiC,CAC/C,KAAoC;IAEpC,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACxD,CAAC"}
@@ -45,6 +45,13 @@ export interface EntitlementBlockCatalogEntry {
45
45
  readonly parentOperator?: EntitlementParentOperator;
46
46
  /** Parents that may be absent without blocking entitlement (e.g. tax_management for fiscal). */
47
47
  readonly optionalParentKeys?: readonly EntitlementBlockKey[];
48
+ /**
49
+ * Always-AND parents evaluated before parentKeys/parentOperator.
50
+ * Use when a block needs infra ∧ (A ∨ B) without nested parent expressions
51
+ * (e.g. staff_pickup_scan: order_pickup_infrastructure ∧ (pickup_points ∨ immediate_self_pickup)).
52
+ * Catalog-runtime SSOT only — not a Prisma catalog column.
53
+ */
54
+ readonly requiredParentKeys?: readonly EntitlementBlockKey[];
48
55
  readonly adminNavSectionId?: string;
49
56
  readonly routeSuffix?: string;
50
57
  readonly capabilityHint?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tenant-entitlements/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tenant-entitlements/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/tenant-entitlements/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,CAAU,CAAC;AAGvF,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAU,CAAC;AAG3E,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,cAAc,EAAE,WAAW,EAAE,WAAW,CAAU,CAAC;AAG9F,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,gBAAgB;IAChB,eAAe;IACf,aAAa;IACb,UAAU;CACF,CAAC;AAGX,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,KAAK,EAAE,IAAI,CAAU,CAAC;AAGnE,kDAAkD;AAClD,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,IAAI;IACJ,gBAAgB;IAChB,eAAe;IACf,KAAK;IACL,SAAS;CACD,CAAC;AAGX,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAU,CAAC;AA+ClE,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,eAAe;IACf,+BAA+B;IAC/B,cAAc;IACd,wBAAwB;IACxB,wBAAwB;IACxB,wBAAwB;IACxB,qBAAqB;IACrB,uBAAuB;IACvB,oBAAoB;IACpB,4BAA4B;IAC5B,gBAAgB;IAChB,iBAAiB;IACjB,UAAU;IACV,sBAAsB;IACtB,iBAAiB;IACjB,oBAAoB;IACpB,wBAAwB;IACxB,cAAc;IACd,wBAAwB;IACxB,iBAAiB;IACjB,6BAA6B;IAC7B,mBAAmB;IACnB,6BAA6B;IAC7B,eAAe;IACf,uBAAuB;IACvB,uBAAuB;IACvB,kBAAkB;IAClB,mBAAmB;IACnB,eAAe;IACf,kBAAkB;IAClB,2BAA2B;IAC3B,mBAAmB;IACnB,WAAW;IACX,mBAAmB;IACnB,oBAAoB;IACpB,iBAAiB;IACjB,eAAe;IACf,2BAA2B;IAC3B,qBAAqB;IACrB,gBAAgB;IAChB,2BAA2B;IAC3B,kBAAkB;IAClB,4BAA4B;IAC5B,qBAAqB;IACrB,qBAAqB;IACrB,6BAA6B;IAC7B,kBAAkB;IAClB,uBAAuB;CACf,CAAC;AAIX,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAU,CAAC;AAC7D,MAAM,CAAC,MAAM,8BAA8B,GAAG,sBAAsB,CAAC,MAAM,CAAC;AAE5E,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,YAAY;IACZ,eAAe;IACf,eAAe;IACf,eAAe;IACf,cAAc;CACN,CAAC;AAGX,yDAAyD;AACzD,MAAM,UAAU,4BAA4B,CAC1C,KAA6B;IAE7B,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,IAAI;YACP,OAAO;gBACL,WAAW,EAAE,SAAS;gBACtB,cAAc,EAAE,SAAS;gBACzB,YAAY,EAAE,cAAc;aAC7B,CAAC;QACJ,KAAK,gBAAgB;YACnB,OAAO;gBACL,WAAW,EAAE,SAAS;gBACtB,cAAc,EAAE,SAAS;gBACzB,YAAY,EAAE,WAAW;aAC1B,CAAC;QACJ,KAAK,eAAe;YAClB,OAAO;gBACL,WAAW,EAAE,SAAS;gBACtB,cAAc,EAAE,QAAQ;gBACxB,YAAY,EAAE,WAAW;aAC1B,CAAC;QACJ,KAAK,KAAK;YACR,OAAO;gBACL,WAAW,EAAE,UAAU;gBACvB,cAAc,EAAE,QAAQ;gBACxB,YAAY,EAAE,WAAW;aAC1B,CAAC;QACJ,KAAK,SAAS;YACZ,OAAO;gBACL,WAAW,EAAE,UAAU;gBACvB,cAAc,EAAE,QAAQ;gBACxB,YAAY,EAAE,WAAW;aAC1B,CAAC;IACN,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/tenant-entitlements/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,CAAU,CAAC;AAGvF,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAU,CAAC;AAG3E,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,cAAc,EAAE,WAAW,EAAE,WAAW,CAAU,CAAC;AAG9F,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,gBAAgB;IAChB,eAAe;IACf,aAAa;IACb,UAAU;CACF,CAAC;AAGX,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,KAAK,EAAE,IAAI,CAAU,CAAC;AAGnE,kDAAkD;AAClD,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,IAAI;IACJ,gBAAgB;IAChB,eAAe;IACf,KAAK;IACL,SAAS;CACD,CAAC;AAGX,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAU,CAAC;AAsDlE,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,eAAe;IACf,+BAA+B;IAC/B,cAAc;IACd,wBAAwB;IACxB,wBAAwB;IACxB,wBAAwB;IACxB,qBAAqB;IACrB,uBAAuB;IACvB,oBAAoB;IACpB,4BAA4B;IAC5B,gBAAgB;IAChB,iBAAiB;IACjB,UAAU;IACV,sBAAsB;IACtB,iBAAiB;IACjB,oBAAoB;IACpB,wBAAwB;IACxB,cAAc;IACd,wBAAwB;IACxB,iBAAiB;IACjB,6BAA6B;IAC7B,mBAAmB;IACnB,6BAA6B;IAC7B,eAAe;IACf,uBAAuB;IACvB,uBAAuB;IACvB,kBAAkB;IAClB,mBAAmB;IACnB,eAAe;IACf,kBAAkB;IAClB,2BAA2B;IAC3B,mBAAmB;IACnB,WAAW;IACX,mBAAmB;IACnB,oBAAoB;IACpB,iBAAiB;IACjB,eAAe;IACf,2BAA2B;IAC3B,qBAAqB;IACrB,gBAAgB;IAChB,2BAA2B;IAC3B,kBAAkB;IAClB,4BAA4B;IAC5B,qBAAqB;IACrB,qBAAqB;IACrB,6BAA6B;IAC7B,kBAAkB;IAClB,uBAAuB;CACf,CAAC;AAIX,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAU,CAAC;AAC7D,MAAM,CAAC,MAAM,8BAA8B,GAAG,sBAAsB,CAAC,MAAM,CAAC;AAE5E,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,YAAY;IACZ,eAAe;IACf,eAAe;IACf,eAAe;IACf,cAAc;CACN,CAAC;AAGX,yDAAyD;AACzD,MAAM,UAAU,4BAA4B,CAC1C,KAA6B;IAE7B,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,IAAI;YACP,OAAO;gBACL,WAAW,EAAE,SAAS;gBACtB,cAAc,EAAE,SAAS;gBACzB,YAAY,EAAE,cAAc;aAC7B,CAAC;QACJ,KAAK,gBAAgB;YACnB,OAAO;gBACL,WAAW,EAAE,SAAS;gBACtB,cAAc,EAAE,SAAS;gBACzB,YAAY,EAAE,WAAW;aAC1B,CAAC;QACJ,KAAK,eAAe;YAClB,OAAO;gBACL,WAAW,EAAE,SAAS;gBACtB,cAAc,EAAE,QAAQ;gBACxB,YAAY,EAAE,WAAW;aAC1B,CAAC;QACJ,KAAK,KAAK;YACR,OAAO;gBACL,WAAW,EAAE,UAAU;gBACvB,cAAc,EAAE,QAAQ;gBACxB,YAAY,EAAE,WAAW;aAC1B,CAAC;QACJ,KAAK,SAAS;YACZ,OAAO;gBACL,WAAW,EAAE,UAAU;gBACvB,cAAc,EAAE,QAAQ;gBACxB,YAAY,EAAE,WAAW;aAC1B,CAAC;IACN,CAAC;AACH,CAAC"}
@@ -1,4 +1,6 @@
1
1
  import { type ReactNode } from 'react';
2
+ /** Visual recipe for the floating cart chrome. Default `pill` preserves kiosk. */
3
+ export type BottomCartBarAppearance = 'pill' | 'compact';
2
4
  /**
3
5
  * Retail V1 bottom cart bar — single source of truth for the floating
4
6
  * Icon | Summary | CTA chrome (Customer StickyCartBar, kiosk, and any future
@@ -8,8 +10,8 @@ import { type ReactNode } from 'react';
8
10
  * before the shrink-0 CTA. Count line may clip pathological emptySummary only
9
11
  * (overflow-hidden, no ellipsis). Price is never clipped or truncated.
10
12
  *
11
- * Expand choreography is capped to transform/opacity within the fixed 76px bar
12
- * (no layout jump / no height change from 76px).
13
+ * Expand choreography is capped to transform/opacity within the fixed bar
14
+ * height (pill 76px / compact 68px — no layout jump from height change).
13
15
  */
14
16
  export interface BottomCartBarProps {
15
17
  readonly itemCountLabel: string;
@@ -23,7 +25,7 @@ export interface BottomCartBarProps {
23
25
  readonly payAria: string;
24
26
  /**
25
27
  * Optional pay-disabled reason — announced via aria-describedby on the CTA
26
- * so the 76px bar layout never gains a third text line.
28
+ * so the bar layout never gains a third text line.
27
29
  */
28
30
  readonly statusMessage?: string | null;
29
31
  readonly onOpenCart: () => void;
@@ -33,6 +35,11 @@ export interface BottomCartBarProps {
33
35
  readonly payTestId?: string;
34
36
  readonly className?: string;
35
37
  readonly icon?: ReactNode;
38
+ /**
39
+ * `pill` — accent-filled rounded-[999px] h-[76px] (kiosk default).
40
+ * `compact` — elevated surface, rounded-2xl, ~68px; accent only on Pay CTA.
41
+ */
42
+ readonly appearance?: BottomCartBarAppearance;
36
43
  }
37
44
  export declare const BottomCartBar: import("react").ForwardRefExoticComponent<BottomCartBarProps & import("react").RefAttributes<HTMLButtonElement>>;
38
45
  //# sourceMappingURL=BottomCartBar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BottomCartBar.d.ts","sourceRoot":"","sources":["../../../src/ui/BottomCartBar/BottomCartBar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,oDAAoD;IACpD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;CAC3B;AAuBD,eAAO,MAAM,aAAa,kHA8JzB,CAAC"}
1
+ {"version":3,"file":"BottomCartBar.d.ts","sourceRoot":"","sources":["../../../src/ui/BottomCartBar/BottomCartBar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,kFAAkF;AAClF,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,SAAS,CAAC;AAEzD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,oDAAoD;IACpD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,uBAAuB,CAAC;CAC/C;AAuBD,eAAO,MAAM,aAAa,kHAkMzB,CAAC"}
@@ -3,7 +3,8 @@ import { forwardRef, useEffect, useRef, useState, } from 'react';
3
3
  function DefaultCartIcon() {
4
4
  return (_jsxs("svg", { width: "22", height: "22", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": true, children: [_jsx("path", { d: "M6 6h15l-1.5 9h-12z" }), _jsx("path", { d: "M6 6 5 3H2" }), _jsx("circle", { cx: "9", cy: "20", r: "1" }), _jsx("circle", { cx: "18", cy: "20", r: "1" })] }));
5
5
  }
6
- export const BottomCartBar = forwardRef(function BottomCartBar({ itemCountLabel, priceLabel, badgeCount = 0, payLabel, payDisabled, payPending = false, openCartAria, payAria, statusMessage = null, onOpenCart, onPay, testId = 'bottom-cart-bar', openTestId = 'bottom-cart-bar-open', payTestId = 'bottom-cart-bar-pay', className, icon, }, payButtonRef) {
6
+ export const BottomCartBar = forwardRef(function BottomCartBar({ itemCountLabel, priceLabel, badgeCount = 0, payLabel, payDisabled, payPending = false, openCartAria, payAria, statusMessage = null, onOpenCart, onPay, testId = 'bottom-cart-bar', openTestId = 'bottom-cart-bar-open', payTestId = 'bottom-cart-bar-pay', className, icon, appearance = 'pill', }, payButtonRef) {
7
+ const isCompact = appearance === 'compact';
7
8
  const showBadge = badgeCount > 0;
8
9
  const statusId = statusMessage !== null && statusMessage.length > 0
9
10
  ? `${payTestId}-status`
@@ -37,38 +38,66 @@ export const BottomCartBar = forwardRef(function BottomCartBar({ itemCountLabel,
37
38
  window.clearTimeout(timer);
38
39
  };
39
40
  }, [badgeCount, priceLabel]);
41
+ const barSurfaceClass = isCompact
42
+ ? [
43
+ 'h-[68px] rounded-2xl bg-[var(--color-surface-elevated)]',
44
+ 'text-[var(--color-on-surface)] shadow-[var(--shadow-popover)]',
45
+ ].join(' ')
46
+ : [
47
+ 'h-[76px] rounded-[999px] bg-[var(--color-accent)]',
48
+ 'text-[var(--color-accent-foreground)] shadow-[0_4px_20px_rgba(0,0,0,0.18)]',
49
+ ].join(' ');
50
+ const openButtonTextClass = isCompact
51
+ ? 'text-[var(--color-on-surface)] focus-visible:outline-[var(--color-accent)]'
52
+ : 'text-[var(--color-accent-foreground)] focus-visible:outline-[var(--color-accent-foreground)]';
53
+ const priceSizeClass = isCompact
54
+ ? 'text-base tabular-nums'
55
+ : 'text-[24px] tabular-nums';
56
+ const payFocusClass = isCompact
57
+ ? 'focus-visible:outline-[var(--color-accent)]'
58
+ : 'focus-visible:outline-[var(--color-accent-foreground)]';
59
+ const payEnabledClass = isCompact
60
+ ? 'bg-[var(--color-accent)] text-[var(--color-accent-foreground)] hover:opacity-90'
61
+ : 'bg-[var(--cart-bar-cta,#C9A84C)] text-[var(--cart-bar-cta-fg,#111111)] hover:opacity-90';
40
62
  return (_jsxs("div", { className: [
41
63
  // Flex + min-w-min: reserve intrinsic width for Icon|Summary (price/count) before shrink-0 CTA.
42
64
  // Clip only pathological emptySummary on the count line — never hard-clip price or normal plurals.
43
- 'pointer-events-auto mx-3 mb-3 flex h-[76px] items-center gap-3',
44
- 'rounded-[999px] bg-[var(--color-accent)] px-4 py-3 text-[var(--color-accent-foreground)]',
45
- 'shadow-[0_4px_20px_rgba(0,0,0,0.18)]',
46
- // G9: soft scale pulse on count increase — transform only within fixed 76px
65
+ 'pointer-events-auto mx-3 mb-3 flex items-center gap-3',
66
+ 'px-4 py-3',
67
+ barSurfaceClass,
68
+ // G9: soft scale pulse on count increase — transform only within fixed bar height
47
69
  'origin-center transition-[transform,box-shadow,opacity] duration-200 ease-out',
48
70
  barPulse ? 'scale-[1.02]' : 'scale-100',
49
71
  'max-[389px]:mx-2 max-[389px]:gap-2 max-[389px]:px-3 max-[389px]:py-2.5',
50
72
  className ?? '',
51
73
  ]
52
74
  .filter(Boolean)
53
- .join(' '), "data-testid": testId, children: [_jsxs("button", { type: "button", className: "flex min-h-11 min-w-min flex-1 items-center gap-3 rounded-full text-left text-[var(--color-accent-foreground)] focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--color-accent-foreground)] max-[389px]:gap-2", onClick: onOpenCart, "aria-label": openCartAria, "data-testid": openTestId, children: [_jsxs("span", { className: "relative flex h-11 w-11 shrink-0 items-center justify-center", children: [icon ?? _jsx(DefaultCartIcon, {}), showBadge ? (_jsx("span", { className: [
75
+ .join(' '), "data-testid": testId, "data-appearance": appearance, children: [_jsxs("button", { type: "button", className: [
76
+ 'flex min-h-11 min-w-min flex-1 items-center gap-3 rounded-full text-left',
77
+ 'focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2',
78
+ openButtonTextClass,
79
+ 'max-[389px]:gap-2',
80
+ ].join(' '), onClick: onOpenCart, "aria-label": openCartAria, "data-testid": openTestId, children: [_jsxs("span", { className: "relative flex h-11 w-11 shrink-0 items-center justify-center", children: [icon ?? _jsx(DefaultCartIcon, {}), showBadge ? (_jsx("span", { className: [
54
81
  'absolute -right-0.5 -top-0.5 flex h-5 min-w-5 items-center justify-center rounded-full',
55
82
  'bg-[var(--color-danger)] px-1 text-[10px] font-bold leading-none text-[var(--color-danger-foreground)]',
56
83
  'origin-center transition-transform duration-200 ease-out',
57
84
  badgePulse ? 'scale-[1.15]' : 'scale-100',
58
85
  ].join(' '), "aria-hidden": true, children: badgeCount })) : null] }), _jsxs("span", { className: "min-w-min", children: [_jsx("span", { className: "block max-w-[11rem] overflow-hidden whitespace-nowrap text-sm font-medium leading-tight max-[389px]:max-w-[9rem]", "aria-live": "polite", children: itemCountLabel }), _jsx("span", { className: [
59
- 'mt-0.5 block w-max whitespace-nowrap text-[24px] font-bold leading-none tabular-nums',
86
+ 'mt-0.5 block w-max whitespace-nowrap font-bold leading-none',
87
+ priceSizeClass,
60
88
  'transition-[opacity,transform] duration-200 ease-out',
61
89
  pricePulse ? 'translate-y-[-1px] opacity-80' : 'translate-y-0 opacity-100',
62
90
  ].join(' '), children: priceLabel }), statusId !== undefined ? (_jsx("span", { id: statusId, className: "sr-only", "aria-live": "polite", children: statusMessage })) : null] })] }), _jsx("button", { ref: payButtonRef, type: "button", onClick: onPay, disabled: payDisabled || payPending, "aria-label": payAria, "aria-describedby": statusId, "aria-busy": payPending || undefined, "data-testid": payTestId, className: [
63
91
  'inline-flex h-[52px] min-h-[44px] min-w-[128px] shrink-0 items-center justify-center',
64
92
  'rounded-[18px] px-4 text-base font-semibold',
65
93
  'transition-[background-color,color,opacity] duration-200 ease-out',
66
- 'focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--color-accent-foreground)]',
94
+ 'focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2',
95
+ payFocusClass,
67
96
  'disabled:cursor-not-allowed',
68
97
  'max-[389px]:min-w-[108px] max-[389px]:px-3',
69
98
  payDisabled || payPending
70
99
  ? 'bg-[var(--cart-bar-cta-disabled,#B0B0B0)] text-[var(--cart-bar-cta-disabled-fg,#111111)]'
71
- : 'bg-[var(--cart-bar-cta,#C9A84C)] text-[var(--cart-bar-cta-fg,#111111)] hover:opacity-90',
100
+ : payEnabledClass,
72
101
  ].join(' '), children: payPending ? '…' : payLabel })] }));
73
102
  });
74
103
  BottomCartBar.displayName = 'BottomCartBar';
@@ -1 +1 @@
1
- {"version":3,"file":"BottomCartBar.js","sourceRoot":"","sources":["../../../src/ui/BottomCartBar/BottomCartBar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BottomCartBar.js","sourceRoot":"","sources":["../../../src/ui/BottomCartBar/BottomCartBar.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export { BottomCartBar, type BottomCartBarProps } from './BottomCartBar.js';
1
+ export { BottomCartBar, type BottomCartBarAppearance, type BottomCartBarProps, } from './BottomCartBar.js';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/BottomCartBar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/BottomCartBar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,GACxB,MAAM,oBAAoB,CAAC"}
@@ -1,2 +1,2 @@
1
- export { BottomCartBar } from './BottomCartBar.js';
1
+ export { BottomCartBar, } from './BottomCartBar.js';
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/BottomCartBar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA2B,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/BottomCartBar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,GAGd,MAAM,oBAAoB,CAAC"}
@@ -24,7 +24,7 @@ export { Icon, ICON_SIZES, type IconProps, type IconSize } from './Icon/index.js
24
24
  export { Star } from './Icon/Star.js';
25
25
  export { IconButton, type IconButtonProps } from './IconButton/index.js';
26
26
  export { Badge, type BadgeProps } from './Badge/index.js';
27
- export { BottomCartBar, type BottomCartBarProps, } from './BottomCartBar/index.js';
27
+ export { BottomCartBar, type BottomCartBarAppearance, type BottomCartBarProps, } from './BottomCartBar/index.js';
28
28
  export { QuantityStepper, type QuantityStepperProps, } from './QuantityStepper/index.js';
29
29
  export { handleFocusTrapKeyDown, listFocusable, focusInitialInContainer, lockBodyScroll, setBackgroundInert, } from './overlay/overlayFocus.js';
30
30
  export { OVERLAY_EXIT_MS } from './overlay/overlayMotion.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EACL,cAAc,EACd,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,GAC7B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,YAAY,EACZ,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,EACnB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,GAC7B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,KAAK,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAChG,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAE,KAAK,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AACzG,OAAO,EACL,sBAAsB,EACtB,KAAK,2BAA2B,GACjC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,0BAA0B,EAC1B,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,GACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,UAAU,EACV,KAAK,eAAe,EACpB,KAAK,cAAc,GACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EACL,WAAW,EACX,MAAM,EACN,KAAK,gBAAgB,EACrB,KAAK,WAAW,GACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EACL,UAAU,EACV,KAAK,eAAe,GACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,WAAW,EACX,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,GACxB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,KAAK,aAAa,EAClB,KAAK,iBAAiB,GACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EACL,aAAa,EACb,KAAK,kBAAkB,GACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,eAAe,EACf,KAAK,oBAAoB,GAC1B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,uBAAuB,EACvB,cAAc,EACd,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAoB,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAkB,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAuB,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EACL,cAAc,GAKf,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,YAAY,EACZ,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,GAOpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAA+B,MAAM,iCAAiC,CAAC;AAChG,OAAO,EAAE,eAAe,EAA6B,MAAM,gCAAgC,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAkC,MAAM,oCAAoC,CAAC;AACzG,OAAO,EACL,sBAAsB,GAEvB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,0BAA0B,GAI3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,UAAU,GAGX,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,MAAM,EAAoB,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EACL,WAAW,EACX,MAAM,GAGP,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,KAAK,EAAsC,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EACL,UAAU,GAEX,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,WAAW,GAIZ,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,QAAQ,EACR,YAAY,GAGb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,MAAM,EAAoB,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAsB,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAiC,MAAM,iBAAiB,CAAC;AAClF,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,UAAU,EAAwB,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,KAAK,EAAmB,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EACL,aAAa,GAEd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,eAAe,GAEhB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,uBAAuB,EACvB,cAAc,EACd,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAoB,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAkB,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAuB,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EACL,cAAc,GAKf,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,YAAY,EACZ,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,GAOpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAA+B,MAAM,iCAAiC,CAAC;AAChG,OAAO,EAAE,eAAe,EAA6B,MAAM,gCAAgC,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAkC,MAAM,oCAAoC,CAAC;AACzG,OAAO,EACL,sBAAsB,GAEvB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,0BAA0B,GAI3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,UAAU,GAGX,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,MAAM,EAAoB,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EACL,WAAW,EACX,MAAM,GAGP,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,KAAK,EAAsC,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EACL,UAAU,GAEX,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,WAAW,GAIZ,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,QAAQ,EACR,YAAY,GAGb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,MAAM,EAAoB,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAsB,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAiC,MAAM,iBAAiB,CAAC;AAClF,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,UAAU,EAAwB,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,KAAK,EAAmB,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EACL,aAAa,GAGd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,eAAe,GAEhB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,uBAAuB,EACvB,cAAc,EACd,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC"}
@@ -11,7 +11,12 @@ export declare function handleFocusTrapKeyDown(container: HTMLElement, event: Ke
11
11
  * first in visual/DOM order (e.g. left on sm+) without stealing initial focus.
12
12
  */
13
13
  export declare function focusInitialInContainer(container: HTMLElement, preferred?: HTMLElement | null): void;
14
- /** Nested-safe body scroll lock while any overlay is open. */
14
+ /**
15
+ * Nested-safe document scroll lock while any overlay is open.
16
+ * On first lock (0→1): saves html+body overflow and overscrollBehavior, then
17
+ * sets overflow=hidden and overscrollBehavior=none on both (AdminLoginShell pattern).
18
+ * On unlock when count→0: restores previous values.
19
+ */
15
20
  export declare function lockBodyScroll(): () => void;
16
21
  /**
17
22
  * Mark page/backdrop siblings `inert` while an overlay is mounted.
@@ -1 +1 @@
1
- {"version":3,"file":"overlayFocus.d.ts","sourceRoot":"","sources":["../../../src/ui/overlay/overlayFocus.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,wBAAgB,aAAa,CAAC,SAAS,EAAE,WAAW,GAAG,WAAW,EAAE,CAInE;AAED,uDAAuD;AACvD,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,CAuBzF;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,WAAW,EACtB,SAAS,CAAC,EAAE,WAAW,GAAG,IAAI,GAC7B,IAAI,CAuBN;AAKD,8DAA8D;AAC9D,wBAAgB,cAAc,IAAI,MAAM,IAAI,CAgB3C;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,WAAW,GAAG,MAAM,IAAI,CAqCrE"}
1
+ {"version":3,"file":"overlayFocus.d.ts","sourceRoot":"","sources":["../../../src/ui/overlay/overlayFocus.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,wBAAgB,aAAa,CAAC,SAAS,EAAE,WAAW,GAAG,WAAW,EAAE,CAInE;AAED,uDAAuD;AACvD,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,CAuBzF;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,WAAW,EACtB,SAAS,CAAC,EAAE,WAAW,GAAG,IAAI,GAC7B,IAAI,CAuBN;AAQD;;;;;GAKG;AACH,wBAAgB,cAAc,IAAI,MAAM,IAAI,CAgC3C;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,WAAW,GAAG,MAAM,IAAI,CAqCrE"}
@@ -58,22 +58,46 @@ export function focusInitialInContainer(container, preferred) {
58
58
  container.focus();
59
59
  }
60
60
  let scrollLockCount = 0;
61
+ let previousHtmlOverflow = null;
61
62
  let previousBodyOverflow = null;
62
- /** Nested-safe body scroll lock while any overlay is open. */
63
+ let previousHtmlOverscroll = null;
64
+ let previousBodyOverscroll = null;
65
+ /**
66
+ * Nested-safe document scroll lock while any overlay is open.
67
+ * On first lock (0→1): saves html+body overflow and overscrollBehavior, then
68
+ * sets overflow=hidden and overscrollBehavior=none on both (AdminLoginShell pattern).
69
+ * On unlock when count→0: restores previous values.
70
+ */
63
71
  export function lockBodyScroll() {
64
72
  if (typeof document === 'undefined') {
65
73
  return () => undefined;
66
74
  }
67
75
  if (scrollLockCount === 0) {
68
- previousBodyOverflow = document.body.style.overflow;
69
- document.body.style.overflow = 'hidden';
76
+ const html = document.documentElement;
77
+ const { body } = document;
78
+ previousHtmlOverflow = html.style.overflow;
79
+ previousBodyOverflow = body.style.overflow;
80
+ previousHtmlOverscroll = html.style.overscrollBehavior;
81
+ previousBodyOverscroll = body.style.overscrollBehavior;
82
+ html.style.overflow = 'hidden';
83
+ body.style.overflow = 'hidden';
84
+ html.style.overscrollBehavior = 'none';
85
+ body.style.overscrollBehavior = 'none';
70
86
  }
71
87
  scrollLockCount += 1;
72
88
  return () => {
73
89
  scrollLockCount = Math.max(0, scrollLockCount - 1);
74
90
  if (scrollLockCount === 0 && previousBodyOverflow !== null) {
75
- document.body.style.overflow = previousBodyOverflow;
91
+ const html = document.documentElement;
92
+ const { body } = document;
93
+ html.style.overflow = previousHtmlOverflow ?? '';
94
+ body.style.overflow = previousBodyOverflow;
95
+ html.style.overscrollBehavior = previousHtmlOverscroll ?? '';
96
+ body.style.overscrollBehavior = previousBodyOverscroll ?? '';
97
+ previousHtmlOverflow = null;
76
98
  previousBodyOverflow = null;
99
+ previousHtmlOverscroll = null;
100
+ previousBodyOverscroll = null;
77
101
  }
78
102
  };
79
103
  }
@@ -1 +1 @@
1
- {"version":3,"file":"overlayFocus.js","sourceRoot":"","sources":["../../../src/ui/overlay/overlayFocus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"overlayFocus.js","sourceRoot":"","sources":["../../../src/ui/overlay/overlayFocus.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,kBAAkB,GACtB,0IAA0I,CAAC;AAE7I,MAAM,UAAU,aAAa,CAAC,SAAsB;IAClD,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAc,kBAAkB,CAAC,CAAC,CAAC,MAAM,CACnF,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,CAAC,CAC1E,CAAC;AACJ,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,sBAAsB,CAAC,SAAsB,EAAE,KAAoB;IACjF,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;QACxB,OAAO;IACT,CAAC;IACD,MAAM,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/C,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9C,OAAO;IACT,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC;IACtC,IAAI,KAAK,CAAC,QAAQ,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACvC,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACvC,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CACrC,SAAsB,EACtB,SAA8B;IAE9B,MAAM,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IAE5C,IAAI,SAAS,IAAI,IAAI,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACxD,SAAS,CAAC,KAAK,EAAE,CAAC;QAClB,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,CAAc,sBAAsB,CAAC,CAAC;IAC5E,IAAI,MAAM,KAAK,IAAI,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,OAAO;IACT,CAAC;IACD,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;QACxC,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IAC1B,CAAC;IACD,SAAS,CAAC,KAAK,EAAE,CAAC;AACpB,CAAC;AAED,IAAI,eAAe,GAAG,CAAC,CAAC;AACxB,IAAI,oBAAoB,GAAkB,IAAI,CAAC;AAC/C,IAAI,oBAAoB,GAAkB,IAAI,CAAC;AAC/C,IAAI,sBAAsB,GAAkB,IAAI,CAAC;AACjD,IAAI,sBAAsB,GAAkB,IAAI,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,UAAU,cAAc;IAC5B,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;QACpC,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC;IACzB,CAAC;IACD,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC;QACtC,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;QAC1B,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC3C,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC3C,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC;QACvD,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC;QACvD,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,MAAM,CAAC;QACvC,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,MAAM,CAAC;IACzC,CAAC;IACD,eAAe,IAAI,CAAC,CAAC;IACrB,OAAO,GAAS,EAAE;QAChB,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,GAAG,CAAC,CAAC,CAAC;QACnD,IAAI,eAAe,KAAK,CAAC,IAAI,oBAAoB,KAAK,IAAI,EAAE,CAAC;YAC3D,MAAM,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC;YACtC,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,oBAAoB,IAAI,EAAE,CAAC;YACjD,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,oBAAoB,CAAC;YAC3C,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,sBAAsB,IAAI,EAAE,CAAC;YAC7D,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,sBAAsB,IAAI,EAAE,CAAC;YAC7D,oBAAoB,GAAG,IAAI,CAAC;YAC5B,oBAAoB,GAAG,IAAI,CAAC;YAC5B,sBAAsB,GAAG,IAAI,CAAC;YAC9B,sBAAsB,GAAG,IAAI,CAAC;QAChC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAsB;IACvD,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAC9D,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC;IACzB,CAAC;IAED,MAAM,OAAO,GAAkB,EAAE,CAAC;IAElC,MAAM,KAAK,GAAG,CAAC,MAAmB,EAAQ,EAAE;QAC1C,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,CAAC,KAAK,YAAY,WAAW,CAAC,EAAE,CAAC;gBACpC,SAAS;YACX,CAAC;YACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,SAAS;YACX,CAAC;YACD,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC9B,KAAK,CAAC,KAAK,CAAC,CAAC;gBACb,SAAS;YACX,CAAC;YACD,IAAI,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChC,SAAS;YACX,CAAC;YACD,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAChC,iEAAiE;YACjE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC;IAEF,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAErB,OAAO,GAAS,EAAE;QAChB,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;YAC9B,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YACjC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QACxB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-kiosk-shared",
3
- "version": "2.2.64",
3
+ "version": "2.2.66",
4
4
  "type": "module",
5
5
  "private": false,
6
6
  "description": "Shared types, API contracts, and error classes for Pi Kiosk system",