platform-types 1.10.801 → 1.10.803
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/socket.js +5 -0
- package/dist/cjs/storefrontDesignRegistry.js +12 -2
- package/dist/literals.d.ts +7 -0
- package/dist/platform.d.ts +64 -1
- package/dist/pricing.d.ts +38 -0
- package/dist/product.d.ts +3 -1
- package/dist/socket.d.ts +5 -1
- package/dist/socket.js +5 -0
- package/dist/storefrontDesignRegistry.d.ts +29 -3
- package/dist/storefrontDesignRegistry.js +12 -2
- package/dist/userActivity.d.ts +1 -0
- package/package.json +1 -1
package/dist/cjs/socket.js
CHANGED
|
@@ -734,6 +734,10 @@ exports.isSocketAction = isSocketAction;
|
|
|
734
734
|
* {@link ProductRemovedFrameData} marker instead of a priced patch.
|
|
735
735
|
* `catalogStatus` is carried for the same reason: a stock movement on a draft or
|
|
736
736
|
* archived product becomes that marker too, never a republished row.
|
|
737
|
+
*
|
|
738
|
+
* `ivaType` is an INPUT to the shopper copy's `prices[].netOfIva`: the customer
|
|
739
|
+
* fan-out re-prices the frame, and without the rate a merged frame would leave a
|
|
740
|
+
* stale net beside a new gross. The customer copy still drops the Id itself.
|
|
737
741
|
*/
|
|
738
742
|
exports.PRODUCT_STOCK_FRAME_FIELDS = [
|
|
739
743
|
'stock',
|
|
@@ -745,6 +749,7 @@ exports.PRODUCT_STOCK_FRAME_FIELDS = [
|
|
|
745
749
|
'catalogStatus',
|
|
746
750
|
'updatedAt',
|
|
747
751
|
'lastMovementAt',
|
|
752
|
+
'ivaType',
|
|
748
753
|
];
|
|
749
754
|
/* Agent diagnostic commands */
|
|
750
755
|
/**
|
|
@@ -114,12 +114,15 @@ const LIVE_METADATA = {
|
|
|
114
114
|
ownership: 'storefront-operation',
|
|
115
115
|
excludedFromSnapshot: true,
|
|
116
116
|
};
|
|
117
|
-
const liveToggle = (key, labelKey, helpKey, label, help
|
|
117
|
+
const liveToggle = (key, labelKey, helpKey, label, help,
|
|
118
|
+
// Per key: a toggle that changes what a shopper sees for every store that has
|
|
119
|
+
// never written it ships `false`. Defaults to `true`, the three original toggles.
|
|
120
|
+
defaultValue = true) => ({
|
|
118
121
|
...LIVE_METADATA,
|
|
119
122
|
key,
|
|
120
123
|
allowedLayers: ['WEB#store'],
|
|
121
124
|
storage: { source: 'store', override: 'ecommerce.config' },
|
|
122
|
-
defaultValue
|
|
125
|
+
defaultValue,
|
|
123
126
|
valueType: 'boolean',
|
|
124
127
|
valueSchema: { type: 'boolean' },
|
|
125
128
|
literal: { kind: 'key', label: labelKey, help: helpKey, defaults: { label, help } },
|
|
@@ -145,6 +148,13 @@ exports.STOREFRONT_DESIGN_REGISTRY = {
|
|
|
145
148
|
showIvaAlert: liveToggle('showIvaAlert', 'STOREFRONT_SHOW_IVA_ALERT_LABEL', 'STOREFRONT_SHOW_IVA_ALERT_HELP', 'Mostrar aviso de IVA', 'Mostrar el aviso de IVA incluido en los precios.'),
|
|
146
149
|
showCurrencySelector: liveToggle('showCurrencySelector', 'STOREFRONT_SHOW_CURRENCY_SELECTOR_LABEL', 'STOREFRONT_SHOW_CURRENCY_SELECTOR_HELP', 'Mostrar selector de moneda', 'Permitir elegir la moneda de visualización en la tienda.'),
|
|
147
150
|
enableSaveForLater: liveToggle('enableSaveForLater', 'STOREFRONT_ENABLE_SAVE_FOR_LATER_LABEL', 'STOREFRONT_ENABLE_SAVE_FOR_LATER_HELP', 'Permitir guardar para después', 'Mostrar los controles para guardar productos de la cesta para después.'),
|
|
151
|
+
/*
|
|
152
|
+
* Display only: every public price slot carries `netOfIva` whatever this says
|
|
153
|
+
* (absent only for a product with no declarable IVA rate), so a flip needs no
|
|
154
|
+
* catalogue refetch. The storefront shows the «+ IVA» line when this is on AND
|
|
155
|
+
* the block is present. Default off: a store opts in.
|
|
156
|
+
*/
|
|
157
|
+
showNetPlusIva: liveToggle('showNetPlusIva', 'STOREFRONT_SHOW_NET_PLUS_IVA_LABEL', 'STOREFRONT_SHOW_NET_PLUS_IVA_HELP', 'Mostrar precio neto + IVA', 'Mostrar también el precio sin IVA, con la leyenda «+ IVA», junto al precio final. Nunca reemplaza al precio final.', false),
|
|
148
158
|
prices: { ...LIVE_METADATA, storage: { source: 'catalogue' } },
|
|
149
159
|
stock: { ...LIVE_METADATA, storage: { source: 'catalogue' } },
|
|
150
160
|
checkout: { ...LIVE_METADATA, storage: { source: 'store' } },
|
package/dist/literals.d.ts
CHANGED
|
@@ -10,6 +10,13 @@ declare global {
|
|
|
10
10
|
interface ResolvedStorefrontLiterals {
|
|
11
11
|
values: Record<string, string>;
|
|
12
12
|
provenance: Record<string, 'default' | 'GLOBAL' | 'WEB' | `WEB#${string}`>;
|
|
13
|
+
/**
|
|
14
|
+
* The compiled storefront default of each key, before any layer is applied: what a
|
|
15
|
+
* revert restores, and the text whose `{tokens}` an override must keep. No stored
|
|
16
|
+
* layer changes it. A key the catalog generator excludes has no entry, so a missing
|
|
17
|
+
* entry means "default unknown"; the six blanked payment keys are `''`.
|
|
18
|
+
*/
|
|
19
|
+
defaults: Record<string, string>;
|
|
13
20
|
}
|
|
14
21
|
/**
|
|
15
22
|
* One scope's literals, unmerged.
|
package/dist/platform.d.ts
CHANGED
|
@@ -227,9 +227,72 @@ export interface PlatformLiteralsBody extends PlatformOperatorReason {
|
|
|
227
227
|
literals: Record<string, string | null>;
|
|
228
228
|
/**
|
|
229
229
|
* Must equal the store id inside a per-tenant scope; absent or wrong there is
|
|
230
|
-
* `400 CONFIRMATION_MISMATCH`. Ignored on a global scope, which names no tenant
|
|
230
|
+
* `400 CONFIRMATION_MISMATCH`. Ignored on a global scope, which names no tenant,
|
|
231
|
+
* and ignored on a dry run.
|
|
231
232
|
*/
|
|
232
233
|
confirm?: string;
|
|
234
|
+
/**
|
|
235
|
+
* `true` judges each key on its own and writes nothing: no row, no activity
|
|
236
|
+
* row, no audit row. The answer is `PlatformLiteralsDryRunResult`. A bad
|
|
237
|
+
* scope, an empty map or a bad reason is still a request-level 400. The
|
|
238
|
+
* legacy `WEB#` write conflicts happen only at commit and are not predicted.
|
|
239
|
+
*/
|
|
240
|
+
dryRun?: boolean;
|
|
241
|
+
}
|
|
242
|
+
/** Why a dry run says one key would be refused. */
|
|
243
|
+
export type PlatformLiteralDryRunError = 'RESERVED_KEY' | 'INVALID_KEY' | 'VALUE_TOO_LONG' | 'LITERAL_KEY_NOT_ALLOWED';
|
|
244
|
+
/**
|
|
245
|
+
* One key of a dry run: what the write would do (`set` a new value, `remove` a
|
|
246
|
+
* stored one, or leave it `unchanged`), or the code that would refuse it.
|
|
247
|
+
*/
|
|
248
|
+
export type PlatformLiteralDryRunKeyResult = {
|
|
249
|
+
key: string;
|
|
250
|
+
verdict: 'set' | 'remove' | 'unchanged';
|
|
251
|
+
} | {
|
|
252
|
+
key: string;
|
|
253
|
+
error: PlatformLiteralDryRunError;
|
|
254
|
+
};
|
|
255
|
+
/** `POST /platform/literals { dryRun: true }` → `200 { message, data }`, one result per body key. */
|
|
256
|
+
export interface PlatformLiteralsDryRunResult {
|
|
257
|
+
results: PlatformLiteralDryRunKeyResult[];
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* One change on `GET /platform/literals/{scope}/{key}/history`. `before` and
|
|
261
|
+
* `after` are the stored values on each side of the change, `''` for a key the
|
|
262
|
+
* scope does not hold. `actorStoreId` is the acting manager's own store, since
|
|
263
|
+
* `actorId` is numbered per store. `actorName` is absent when the actor's
|
|
264
|
+
* activity row can no longer be read; `reason` is absent when none was sent.
|
|
265
|
+
*/
|
|
266
|
+
export interface PlatformLiteralHistoryEntry {
|
|
267
|
+
at: string;
|
|
268
|
+
actorId: string;
|
|
269
|
+
actorStoreId?: string;
|
|
270
|
+
actorName?: string;
|
|
271
|
+
before: string;
|
|
272
|
+
after: string;
|
|
273
|
+
reason?: string;
|
|
274
|
+
}
|
|
275
|
+
/** `GET /platform/literals/{scope}/{key}/history`: newest first; send `cursor` back as `?cursor=`. */
|
|
276
|
+
export interface PlatformLiteralHistoryResponse {
|
|
277
|
+
data: PlatformLiteralHistoryEntry[];
|
|
278
|
+
cursor?: string;
|
|
279
|
+
}
|
|
280
|
+
/** One store's own value for a key, on its `APP#{storeId}` or `WEB#{storeId}` row. */
|
|
281
|
+
export interface PlatformLiteralOverride {
|
|
282
|
+
storeId: string;
|
|
283
|
+
/** Absent when the store row has no name, or can no longer be read. */
|
|
284
|
+
storeName?: string;
|
|
285
|
+
scope: `APP#${string}` | `WEB#${string}`;
|
|
286
|
+
value: string;
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* `GET /platform/literals/overrides?key=K`. `truncated` is `true` when the read
|
|
290
|
+
* stopped at its bound before reaching every tenant row, so the list may be
|
|
291
|
+
* incomplete.
|
|
292
|
+
*/
|
|
293
|
+
export interface PlatformLiteralOverridesResponse {
|
|
294
|
+
data: PlatformLiteralOverride[];
|
|
295
|
+
truncated?: true;
|
|
233
296
|
}
|
|
234
297
|
/** `POST /platform/operations { mode: 'mp-recover-payment' }`. */
|
|
235
298
|
/** Tracked non-money refresh returned inside the standard response data envelope. */
|
package/dist/pricing.d.ts
CHANGED
|
@@ -109,5 +109,43 @@ declare global {
|
|
|
109
109
|
promo?: PricePromo;
|
|
110
110
|
visibleOnStorefront?: boolean;
|
|
111
111
|
} & CurrencyStamp);
|
|
112
|
+
/**
|
|
113
|
+
* Net-of-IVA display figures for one public price slot, computed server-side
|
|
114
|
+
* as `calculateItemNeto(figure, 1, ivaPercent, 1, 'decimal').neto` from the
|
|
115
|
+
* product's `ivaType`, each figure first rounded to the store's `priceDecimals`
|
|
116
|
+
* as it is charged — for a unit in the voucher's currency, the per-unit `neto`
|
|
117
|
+
* a new invoice prints for the same undiscounted unit (gross rounded to 2 dp
|
|
118
|
+
* first, then backed out). Absent, too, when a figure cannot be netted.
|
|
119
|
+
*
|
|
120
|
+
* ⚠️ DISPLAY ONLY: nothing charges, quotes, totals or invoices these. The
|
|
121
|
+
* charged figure is the slot's `amount`, always.
|
|
122
|
+
*
|
|
123
|
+
* Each net shares the stamp of the gross it nets, with no FX step: `amount`
|
|
124
|
+
* and `baseAmount` the slot's, `promo` the promo's, each break its own.
|
|
125
|
+
*
|
|
126
|
+
* Sent whatever `ecommerce.config.showNetPlusIva` says; that setting only
|
|
127
|
+
* decides whether the storefront renders it. ABSENT when the product carries
|
|
128
|
+
* no declarable IVA rate — never a 0 % fallback.
|
|
129
|
+
*/
|
|
130
|
+
interface PublicPriceNet {
|
|
131
|
+
amount: number;
|
|
132
|
+
/** Present iff the slot carries `baseAmount`. */
|
|
133
|
+
baseAmount?: number;
|
|
134
|
+
/** Net of `promo.amount`; present iff the slot carries `promo`. */
|
|
135
|
+
promo?: number;
|
|
136
|
+
/** One per `breaks` entry of the slot, same `minQty`, same order. */
|
|
137
|
+
breaks?: Array<{
|
|
138
|
+
minQty: number;
|
|
139
|
+
amount: number;
|
|
140
|
+
}>;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* A price slot as a PUBLIC read emits it (web catalogue reads, customer
|
|
144
|
+
* `products` frames). A read-time extension of {@link PriceSlot}, never
|
|
145
|
+
* stored: `Product.prices` stays `PriceSlot[]`, so no writer can persist a net.
|
|
146
|
+
*/
|
|
147
|
+
type PublicPriceSlot = PriceSlot & {
|
|
148
|
+
netOfIva?: PublicPriceNet;
|
|
149
|
+
};
|
|
112
150
|
}
|
|
113
151
|
export {};
|
package/dist/product.d.ts
CHANGED
|
@@ -32,8 +32,10 @@ declare global {
|
|
|
32
32
|
type ProductUnitsInput = Omit<ProductUnits, 'unitRevision'>;
|
|
33
33
|
/** The display declaration plus the purchase-unit factor; `unitRevision` stays server-only. */
|
|
34
34
|
type PublicProductUnits = Pick<ProductUnits, 'baseUnit' | 'purchaseUnit' | 'packLabel' | 'baseUnitsPerPurchaseUnit'>;
|
|
35
|
-
type PublicProduct = Omit<Partial<Product>, 'units' | 'unitRevisionGeneration'> & {
|
|
35
|
+
type PublicProduct = Omit<Partial<Product>, 'units' | 'unitRevisionGeneration' | 'prices'> & {
|
|
36
36
|
units?: PublicProductUnits | null;
|
|
37
|
+
/** The shopper's one applicable slot, with its read-time `netOfIva` when the product is rated. */
|
|
38
|
+
prices?: PublicPriceSlot[];
|
|
37
39
|
};
|
|
38
40
|
/** Anonymous Web GET /products lookup; the tenant comes from the public store context. */
|
|
39
41
|
interface PublicProductsByIdsInput {
|
package/dist/socket.d.ts
CHANGED
|
@@ -172,8 +172,12 @@ export interface SocketMessage<T = unknown> {
|
|
|
172
172
|
* {@link ProductRemovedFrameData} marker instead of a priced patch.
|
|
173
173
|
* `catalogStatus` is carried for the same reason: a stock movement on a draft or
|
|
174
174
|
* archived product becomes that marker too, never a republished row.
|
|
175
|
+
*
|
|
176
|
+
* `ivaType` is an INPUT to the shopper copy's `prices[].netOfIva`: the customer
|
|
177
|
+
* fan-out re-prices the frame, and without the rate a merged frame would leave a
|
|
178
|
+
* stale net beside a new gross. The customer copy still drops the Id itself.
|
|
175
179
|
*/
|
|
176
|
-
export declare const PRODUCT_STOCK_FRAME_FIELDS: readonly ["stock", "prices", "cost", "currency", "hiddenFromStorefront", "disabled", "catalogStatus", "updatedAt", "lastMovementAt"];
|
|
180
|
+
export declare const PRODUCT_STOCK_FRAME_FIELDS: readonly ["stock", "prices", "cost", "currency", "hiddenFromStorefront", "disabled", "catalogStatus", "updatedAt", "lastMovementAt", "ivaType"];
|
|
177
181
|
/**
|
|
178
182
|
* `data` of a **partial** `products` frame — the projection every stock-moving
|
|
179
183
|
* write announces, and the only `products` shape that is not a whole `Product`.
|
package/dist/socket.js
CHANGED
|
@@ -730,6 +730,10 @@ export const isSocketAction = (value) => typeof value === 'string' && SOCKET_ACT
|
|
|
730
730
|
* {@link ProductRemovedFrameData} marker instead of a priced patch.
|
|
731
731
|
* `catalogStatus` is carried for the same reason: a stock movement on a draft or
|
|
732
732
|
* archived product becomes that marker too, never a republished row.
|
|
733
|
+
*
|
|
734
|
+
* `ivaType` is an INPUT to the shopper copy's `prices[].netOfIva`: the customer
|
|
735
|
+
* fan-out re-prices the frame, and without the rate a merged frame would leave a
|
|
736
|
+
* stale net beside a new gross. The customer copy still drops the Id itself.
|
|
733
737
|
*/
|
|
734
738
|
export const PRODUCT_STOCK_FRAME_FIELDS = [
|
|
735
739
|
'stock',
|
|
@@ -741,6 +745,7 @@ export const PRODUCT_STOCK_FRAME_FIELDS = [
|
|
|
741
745
|
'catalogStatus',
|
|
742
746
|
'updatedAt',
|
|
743
747
|
'lastMovementAt',
|
|
748
|
+
'ivaType',
|
|
744
749
|
];
|
|
745
750
|
/* Agent diagnostic commands */
|
|
746
751
|
/**
|
|
@@ -1035,7 +1035,7 @@ export declare const STOREFRONT_DESIGN_REGISTRY: {
|
|
|
1035
1035
|
readonly source: "store";
|
|
1036
1036
|
readonly override: "ecommerce.config";
|
|
1037
1037
|
};
|
|
1038
|
-
readonly defaultValue:
|
|
1038
|
+
readonly defaultValue: boolean;
|
|
1039
1039
|
readonly valueType: "boolean";
|
|
1040
1040
|
readonly valueSchema: {
|
|
1041
1041
|
readonly type: "boolean";
|
|
@@ -1061,7 +1061,7 @@ export declare const STOREFRONT_DESIGN_REGISTRY: {
|
|
|
1061
1061
|
readonly source: "store";
|
|
1062
1062
|
readonly override: "ecommerce.config";
|
|
1063
1063
|
};
|
|
1064
|
-
readonly defaultValue:
|
|
1064
|
+
readonly defaultValue: boolean;
|
|
1065
1065
|
readonly valueType: "boolean";
|
|
1066
1066
|
readonly valueSchema: {
|
|
1067
1067
|
readonly type: "boolean";
|
|
@@ -1087,7 +1087,7 @@ export declare const STOREFRONT_DESIGN_REGISTRY: {
|
|
|
1087
1087
|
readonly source: "store";
|
|
1088
1088
|
readonly override: "ecommerce.config";
|
|
1089
1089
|
};
|
|
1090
|
-
readonly defaultValue:
|
|
1090
|
+
readonly defaultValue: boolean;
|
|
1091
1091
|
readonly valueType: "boolean";
|
|
1092
1092
|
readonly valueSchema: {
|
|
1093
1093
|
readonly type: "boolean";
|
|
@@ -1106,6 +1106,32 @@ export declare const STOREFRONT_DESIGN_REGISTRY: {
|
|
|
1106
1106
|
readonly ownership: "storefront-operation";
|
|
1107
1107
|
readonly excludedFromSnapshot: true;
|
|
1108
1108
|
};
|
|
1109
|
+
readonly showNetPlusIva: {
|
|
1110
|
+
readonly key: "showNetPlusIva";
|
|
1111
|
+
readonly allowedLayers: readonly ["WEB#store"];
|
|
1112
|
+
readonly storage: {
|
|
1113
|
+
readonly source: "store";
|
|
1114
|
+
readonly override: "ecommerce.config";
|
|
1115
|
+
};
|
|
1116
|
+
readonly defaultValue: boolean;
|
|
1117
|
+
readonly valueType: "boolean";
|
|
1118
|
+
readonly valueSchema: {
|
|
1119
|
+
readonly type: "boolean";
|
|
1120
|
+
};
|
|
1121
|
+
readonly literal: {
|
|
1122
|
+
readonly kind: "key";
|
|
1123
|
+
readonly label: "STOREFRONT_SHOW_NET_PLUS_IVA_LABEL";
|
|
1124
|
+
readonly help: "STOREFRONT_SHOW_NET_PLUS_IVA_HELP";
|
|
1125
|
+
readonly defaults: {
|
|
1126
|
+
readonly label: string;
|
|
1127
|
+
readonly help: string;
|
|
1128
|
+
};
|
|
1129
|
+
};
|
|
1130
|
+
readonly audience: "public";
|
|
1131
|
+
readonly lifecycle: "live";
|
|
1132
|
+
readonly ownership: "storefront-operation";
|
|
1133
|
+
readonly excludedFromSnapshot: true;
|
|
1134
|
+
};
|
|
1109
1135
|
readonly prices: {
|
|
1110
1136
|
readonly storage: {
|
|
1111
1137
|
readonly source: "catalogue";
|
|
@@ -106,12 +106,15 @@ const LIVE_METADATA = {
|
|
|
106
106
|
ownership: 'storefront-operation',
|
|
107
107
|
excludedFromSnapshot: true,
|
|
108
108
|
};
|
|
109
|
-
const liveToggle = (key, labelKey, helpKey, label, help
|
|
109
|
+
const liveToggle = (key, labelKey, helpKey, label, help,
|
|
110
|
+
// Per key: a toggle that changes what a shopper sees for every store that has
|
|
111
|
+
// never written it ships `false`. Defaults to `true`, the three original toggles.
|
|
112
|
+
defaultValue = true) => ({
|
|
110
113
|
...LIVE_METADATA,
|
|
111
114
|
key,
|
|
112
115
|
allowedLayers: ['WEB#store'],
|
|
113
116
|
storage: { source: 'store', override: 'ecommerce.config' },
|
|
114
|
-
defaultValue
|
|
117
|
+
defaultValue,
|
|
115
118
|
valueType: 'boolean',
|
|
116
119
|
valueSchema: { type: 'boolean' },
|
|
117
120
|
literal: { kind: 'key', label: labelKey, help: helpKey, defaults: { label, help } },
|
|
@@ -137,6 +140,13 @@ export const STOREFRONT_DESIGN_REGISTRY = {
|
|
|
137
140
|
showIvaAlert: liveToggle('showIvaAlert', 'STOREFRONT_SHOW_IVA_ALERT_LABEL', 'STOREFRONT_SHOW_IVA_ALERT_HELP', 'Mostrar aviso de IVA', 'Mostrar el aviso de IVA incluido en los precios.'),
|
|
138
141
|
showCurrencySelector: liveToggle('showCurrencySelector', 'STOREFRONT_SHOW_CURRENCY_SELECTOR_LABEL', 'STOREFRONT_SHOW_CURRENCY_SELECTOR_HELP', 'Mostrar selector de moneda', 'Permitir elegir la moneda de visualización en la tienda.'),
|
|
139
142
|
enableSaveForLater: liveToggle('enableSaveForLater', 'STOREFRONT_ENABLE_SAVE_FOR_LATER_LABEL', 'STOREFRONT_ENABLE_SAVE_FOR_LATER_HELP', 'Permitir guardar para después', 'Mostrar los controles para guardar productos de la cesta para después.'),
|
|
143
|
+
/*
|
|
144
|
+
* Display only: every public price slot carries `netOfIva` whatever this says
|
|
145
|
+
* (absent only for a product with no declarable IVA rate), so a flip needs no
|
|
146
|
+
* catalogue refetch. The storefront shows the «+ IVA» line when this is on AND
|
|
147
|
+
* the block is present. Default off: a store opts in.
|
|
148
|
+
*/
|
|
149
|
+
showNetPlusIva: liveToggle('showNetPlusIva', 'STOREFRONT_SHOW_NET_PLUS_IVA_LABEL', 'STOREFRONT_SHOW_NET_PLUS_IVA_HELP', 'Mostrar precio neto + IVA', 'Mostrar también el precio sin IVA, con la leyenda «+ IVA», junto al precio final. Nunca reemplaza al precio final.', false),
|
|
140
150
|
prices: { ...LIVE_METADATA, storage: { source: 'catalogue' } },
|
|
141
151
|
stock: { ...LIVE_METADATA, storage: { source: 'catalogue' } },
|
|
142
152
|
checkout: { ...LIVE_METADATA, storage: { source: 'store' } },
|
package/dist/userActivity.d.ts
CHANGED