@tiledev/sdk-shopify 0.7.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -269,6 +269,36 @@ Resolution order per key: `messages` prop → `config.messages` → `translate(k
269
269
  rendering blank. `translate` is called with the i18n key where one exists
270
270
  (`cart.added` → `toast.added_to_cart`), otherwise the message key itself.
271
271
 
272
+ ### Reading the panel from the Live Layer
273
+
274
+ The editor publishes these fields into the app's Live Layer tree. The SDK owns
275
+ where each one lives, so an app only reads two values and passes its toast:
276
+
277
+ ```tsx
278
+ import { ALERT_SETTINGS_PATH, MAX_LINE_ITEMS_SETTING_PATH, useAlertSettings } from '@tiledev/sdk-shopify';
279
+
280
+ const alerts = useLL(ALERT_SETTINGS_PATH); // settings.alerts
281
+ const maxLineItems = useLL(MAX_LINE_ITEMS_SETTING_PATH); // settings.cart.maxLineItems
282
+ const props = useAlertSettings({ alerts, maxLineItems, show: showToast });
283
+
284
+ <ShopifyProvider config={config} {...props}> // messages, cartPolicy, onEvent
285
+ ```
286
+
287
+ | Published value | Result |
288
+ | --- | --- |
289
+ | A string | That alert's copy, cut to 200 characters |
290
+ | `''` (the merchant cleared the field) | That alert is **silenced**: `onEvent` shows nothing |
291
+ | Absent, or not a string | The default copy |
292
+ | `maxLineItems` 1–100 (number or numeric string) | The cart limit |
293
+ | `maxLineItems` anything else | No limit |
294
+
295
+ Note the one difference from the `messages` prop: there an empty string falls
296
+ back to the default, here it silences. The panel publishes `''` only when the
297
+ merchant clears a field on purpose. Without React, `readAlertSettings(tree)`
298
+ and `readCartPolicy(value)` return the same values, and
299
+ `ALERT_SETTING_FIELDS` is the path table (`cart.outOfStock` sits in the
300
+ Checkout group, where the panel shows it).
301
+
272
302
  ### Cart line limit
273
303
 
274
304
  `cartPolicy.maxLineItems` is the panel's "Cart Line Item Maximum Limit". It counts
@@ -311,6 +341,35 @@ const { reportOrderPlaced, reportPaymentFailed } = useCheckout();
311
341
  > A `checkout.observe(url)` helper that classifies the return URL itself is the
312
342
  > next piece of work; this is the seam it will emit through.
313
343
 
344
+ ### Where cart units came from (0.9.0)
345
+
346
+ Off by default. With `attribution={{ enabled: true }}` the provider counts, per variant, how many
347
+ units were added from a live show, a replay, or the rest of the app, in one cart attribute,
348
+ `_apptile_attribution`. The order carries it in `note_attributes`.
349
+
350
+ ```tsx
351
+ <ShopifyProvider config={config} attribution={{ enabled: true }}>
352
+ // Live sheet:
353
+ addLine({ merchandiseId, quantity: 1, source: { type: 'live', showId: streamingId } });
354
+ // Stepper with a source:
355
+ updateLine(lineId, 3, undefined, { source: { type: 'replay', showId: streamingId } });
356
+ ```
357
+
358
+ - No `source` means `{ type: 'app' }`. Decreases and removals take units off app first, then
359
+ replays, then live shows, oldest first.
360
+ - It is written after the line write lands, one write at a time. A failed write never fails the
361
+ line write; the next change writes the missed counts too. Every other cart attribute is kept.
362
+ - Before opening checkout, `await flushAttribution()` (from `useCart()`) so a last failed write is
363
+ retried. `false` means the cart still lacks the device's value; it never throws.
364
+ - `ensureCartAttributes(pairs)` (from `useCart()`) sets cart attributes without wiping the rest,
365
+ `_apptile_attribution` included, queued behind pending writes. Works with attribution off too.
366
+ - An expired cart restored from the device snapshot is created with the value; `adopt` takes the
367
+ adopted cart's value.
368
+ - `parseAttribution`, `serializeAttribution`, `recordAdd`, `recordRemove` and `mergeAttribution`
369
+ are exported for code that rebuilds carts itself (Cart Assist merges two carts' values).
370
+ - `shopify.cart.updateAttributes` still replaces the whole set: send the cart's current attributes,
371
+ `_apptile_attribution` included.
372
+
314
373
  ## Tile Credit
315
374
 
316
375
  Customer wallet + gift-card mint + one-shot apply to a Shopify cart.
@@ -0,0 +1,39 @@
1
+ import type { AlertMessageKey, AlertMessages, CartPolicy } from './types';
2
+ /** The Live Layer subtree holding every alert's copy. */
3
+ export declare const ALERT_SETTINGS_PATH: readonly ["settings", "alerts"];
4
+ /** The panel's "Max Different Products in Cart". */
5
+ export declare const MAX_LINE_ITEMS_SETTING_PATH: readonly ["settings", "cart", "maxLineItems"];
6
+ /**
7
+ * Where each alert's copy lives, as `[group, field]` under `ALERT_SETTINGS_PATH`.
8
+ * `cart.outOfStock` sits in the Checkout group: that is where the panel shows it.
9
+ */
10
+ export declare const ALERT_SETTING_FIELDS: Readonly<Record<AlertMessageKey, readonly [group: string, field: string]>>;
11
+ /** The panel caps every alert at this; a longer published value is cut, not refused. */
12
+ export declare const MAX_ALERT_LENGTH = 200;
13
+ /** The panel's bounds for the line limit. Outside them the value is ignored (no limit). */
14
+ export declare const MAX_LINE_ITEMS_RANGE: {
15
+ readonly min: 1;
16
+ readonly max: 100;
17
+ };
18
+ export interface AlertSettings {
19
+ /** Published copy, ready for `<ShopifyProvider messages>`. */
20
+ messages: AlertMessages;
21
+ /** Alerts the merchant cleared: raise no toast for these. */
22
+ silenced: ReadonlySet<AlertMessageKey>;
23
+ }
24
+ /**
25
+ * The alert copy and the silenced set from the `settings.alerts` subtree.
26
+ * Anything that isn't a string (unpublished, a stray number) keeps the default.
27
+ */
28
+ export declare function readAlertSettings(alerts: unknown): AlertSettings;
29
+ /**
30
+ * The cart policy from `settings.cart.maxLineItems`. The panel's number field may
31
+ * publish a string; a value outside 1–100 would either block every add or mean
32
+ * nothing, so it is ignored.
33
+ */
34
+ export declare function readCartPolicy(maxLineItems: unknown): CartPolicy;
35
+ /** Whether an event's alert was cleared in the panel. Events with no alert are never silenced. */
36
+ export declare function isAlertSilenced(event: {
37
+ messageKey?: AlertMessageKey;
38
+ }, silenced: ReadonlySet<AlertMessageKey>): boolean;
39
+ //# sourceMappingURL=alertSettings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alertSettings.d.ts","sourceRoot":"","sources":["../src/alertSettings.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1E,yDAAyD;AACzD,eAAO,MAAM,mBAAmB,iCAAkC,CAAC;AAEnE,oDAAoD;AACpD,eAAO,MAAM,2BAA2B,+CAAgD,CAAC;AAEzF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAc3G,CAAC;AAEF,wFAAwF;AACxF,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAEpC,2FAA2F;AAC3F,eAAO,MAAM,oBAAoB;;;CAAgC,CAAC;AAElE,MAAM,WAAW,aAAa;IAC5B,8DAA8D;IAC9D,QAAQ,EAAE,aAAa,CAAC;IACxB,6DAA6D;IAC7D,QAAQ,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;CACxC;AAID;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,aAAa,CAahE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,OAAO,GAAG,UAAU,CAKhE;AAED,kGAAkG;AAClG,wBAAgB,eAAe,CAC7B,KAAK,EAAE;IAAE,UAAU,CAAC,EAAE,eAAe,CAAA;CAAE,EACvC,QAAQ,EAAE,WAAW,CAAC,eAAe,CAAC,GACrC,OAAO,CAET"}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MAX_LINE_ITEMS_RANGE = exports.MAX_ALERT_LENGTH = exports.ALERT_SETTING_FIELDS = exports.MAX_LINE_ITEMS_SETTING_PATH = exports.ALERT_SETTINGS_PATH = void 0;
4
+ exports.readAlertSettings = readAlertSettings;
5
+ exports.readCartPolicy = readCartPolicy;
6
+ exports.isAlertSilenced = isAlertSilenced;
7
+ /** The Live Layer subtree holding every alert's copy. */
8
+ exports.ALERT_SETTINGS_PATH = ['settings', 'alerts'];
9
+ /** The panel's "Max Different Products in Cart". */
10
+ exports.MAX_LINE_ITEMS_SETTING_PATH = ['settings', 'cart', 'maxLineItems'];
11
+ /**
12
+ * Where each alert's copy lives, as `[group, field]` under `ALERT_SETTINGS_PATH`.
13
+ * `cart.outOfStock` sits in the Checkout group: that is where the panel shows it.
14
+ */
15
+ exports.ALERT_SETTING_FIELDS = {
16
+ 'cart.added': ['cart', 'added'],
17
+ 'cart.removed': ['cart', 'removed'],
18
+ 'cart.limitExceeded': ['cart', 'limitExceeded'],
19
+ 'cart.outOfStock': ['checkout', 'outOfStock'],
20
+ 'wishlist.added': ['wishlist', 'added'],
21
+ 'wishlist.removed': ['wishlist', 'removed'],
22
+ 'wishlist.empty': ['wishlist', 'empty'],
23
+ 'auth.loginSuccess': ['auth', 'loginSuccess'],
24
+ 'auth.loginFailed': ['auth', 'loginFailed'],
25
+ 'auth.loggedOut': ['auth', 'loggedOut'],
26
+ 'auth.resetLinkSent': ['auth', 'resetLinkSent'],
27
+ 'checkout.orderPlaced': ['checkout', 'orderPlaced'],
28
+ 'checkout.paymentFailed': ['checkout', 'paymentFailed'],
29
+ };
30
+ /** The panel caps every alert at this; a longer published value is cut, not refused. */
31
+ exports.MAX_ALERT_LENGTH = 200;
32
+ /** The panel's bounds for the line limit. Outside them the value is ignored (no limit). */
33
+ exports.MAX_LINE_ITEMS_RANGE = { min: 1, max: 100 };
34
+ const ALERT_KEYS = Object.keys(exports.ALERT_SETTING_FIELDS);
35
+ /**
36
+ * The alert copy and the silenced set from the `settings.alerts` subtree.
37
+ * Anything that isn't a string (unpublished, a stray number) keeps the default.
38
+ */
39
+ function readAlertSettings(alerts) {
40
+ const messages = {};
41
+ const silenced = new Set();
42
+ const tree = isRecord(alerts) ? alerts : {};
43
+ for (const key of ALERT_KEYS) {
44
+ const [group, field] = exports.ALERT_SETTING_FIELDS[key];
45
+ const section = tree[group];
46
+ const value = isRecord(section) ? section[field] : undefined;
47
+ if (typeof value !== 'string')
48
+ continue;
49
+ if (value.trim() === '')
50
+ silenced.add(key);
51
+ else
52
+ messages[key] = value.slice(0, exports.MAX_ALERT_LENGTH);
53
+ }
54
+ return { messages, silenced };
55
+ }
56
+ /**
57
+ * The cart policy from `settings.cart.maxLineItems`. The panel's number field may
58
+ * publish a string; a value outside 1–100 would either block every add or mean
59
+ * nothing, so it is ignored.
60
+ */
61
+ function readCartPolicy(maxLineItems) {
62
+ const n = typeof maxLineItems === 'string' ? Number.parseInt(maxLineItems, 10) : maxLineItems;
63
+ if (typeof n !== 'number' || !Number.isFinite(n))
64
+ return {};
65
+ if (n < exports.MAX_LINE_ITEMS_RANGE.min || n > exports.MAX_LINE_ITEMS_RANGE.max)
66
+ return {};
67
+ return { maxLineItems: Math.round(n) };
68
+ }
69
+ /** Whether an event's alert was cleared in the panel. Events with no alert are never silenced. */
70
+ function isAlertSilenced(event, silenced) {
71
+ return !!event.messageKey && silenced.has(event.messageKey);
72
+ }
73
+ function isRecord(value) {
74
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
75
+ }
76
+ //# sourceMappingURL=alertSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alertSettings.js","sourceRoot":"","sources":["../src/alertSettings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /** Units of one variant from one source. Positive integers only; a count that reaches 0 is deleted. */
2
+ export type AttributionCounts = {
3
+ n?: number;
4
+ p?: number;
5
+ };
6
+ /** One show. `t` = epoch SECONDS of the last add from this show (live or replay group separately). */
7
+ export type AttributionShow = {
8
+ t: number;
9
+ items: Record<string, AttributionCounts>;
10
+ };
11
+ export type Attribution = {
12
+ v: 1;
13
+ live?: Record<string, AttributionShow>;
14
+ replay?: Record<string, AttributionShow>;
15
+ app?: Record<string, AttributionCounts>;
16
+ };
17
+ export type AttributionSource = {
18
+ type: 'live';
19
+ showId: string;
20
+ } | {
21
+ type: 'replay';
22
+ showId: string;
23
+ } | {
24
+ type: 'app';
25
+ };
26
+ export type AttributionLineType = 'n' | 'p';
27
+ export declare const ATTRIBUTION_ATTRIBUTE_KEY = "_apptile_attribution";
28
+ /** Any `_preauthorized` value but `'false'` (blank included) is a pre-auth line. */
29
+ export declare function lineTypeOf(attributes: {
30
+ key: string;
31
+ value: string;
32
+ }[] | undefined): AttributionLineType;
33
+ /** `attributes` with `_apptile_attribution` set to `value`, every other pair kept in order. */
34
+ export declare function withAttributionAttribute(attributes: {
35
+ key: string;
36
+ value: string;
37
+ }[] | undefined, value: Attribution): {
38
+ key: string;
39
+ value: string;
40
+ }[];
41
+ export declare function parseAttribution(value: string | null | undefined): Attribution | null;
42
+ export declare function serializeAttribution(a: Attribution): string;
43
+ export declare function recordAdd(a: Attribution, source: AttributionSource, variantId: string, lineType: AttributionLineType, quantity: number, nowSeconds: number): Attribution;
44
+ /** Takes `quantity` units off: `app` first, then replay shows oldest first, then live shows oldest first. */
45
+ export declare function recordRemove(a: Attribution, variantId: string, lineType: AttributionLineType, quantity: number): Attribution;
46
+ export declare function mergeAttribution(a: Attribution, b: Attribution): Attribution;
47
+ //# sourceMappingURL=attribution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attribution.d.ts","sourceRoot":"","sources":["../src/attribution.ts"],"names":[],"mappings":"AAAA,uGAAuG;AACvG,MAAM,MAAM,iBAAiB,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC3D,sGAAsG;AACtG,MAAM,MAAM,eAAe,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;CAAE,CAAC;AACtF,MAAM,MAAM,WAAW,GAAG;IACxB,CAAC,EAAE,CAAC,CAAC;IACL,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;CACzC,CAAC;AACF,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,CAAC;AACpB,MAAM,MAAM,mBAAmB,GAAG,GAAG,GAAG,GAAG,CAAC;AAE5C,eAAO,MAAM,yBAAyB,yBAAyB,CAAC;AAwDhE,oFAAoF;AACpF,wBAAgB,UAAU,CAAC,UAAU,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,SAAS,GAAG,mBAAmB,CAGxG;AAED,+FAA+F;AAC/F,wBAAgB,wBAAwB,CACtC,UAAU,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,SAAS,EACxD,KAAK,EAAE,WAAW,GACjB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAKlC;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,WAAW,GAAG,IAAI,CAUrF;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM,CAE3D;AAED,wBAAgB,SAAS,CACvB,CAAC,EAAE,WAAW,EACd,MAAM,EAAE,iBAAiB,EACzB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,mBAAmB,EAC7B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,WAAW,CAqBb;AAED,6GAA6G;AAC7G,wBAAgB,YAAY,CAC1B,CAAC,EAAE,WAAW,EACd,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,mBAAmB,EAC7B,QAAQ,EAAE,MAAM,GACf,WAAW,CAmBb;AAgCD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,WAAW,CAQ5E"}
@@ -0,0 +1,180 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ATTRIBUTION_ATTRIBUTE_KEY = void 0;
4
+ exports.lineTypeOf = lineTypeOf;
5
+ exports.withAttributionAttribute = withAttributionAttribute;
6
+ exports.parseAttribution = parseAttribution;
7
+ exports.serializeAttribution = serializeAttribution;
8
+ exports.recordAdd = recordAdd;
9
+ exports.recordRemove = recordRemove;
10
+ exports.mergeAttribution = mergeAttribution;
11
+ exports.ATTRIBUTION_ATTRIBUTE_KEY = '_apptile_attribution';
12
+ const LINE_TYPES = ['n', 'p'];
13
+ const isRecord = (x) => typeof x === 'object' && x !== null && !Array.isArray(x);
14
+ const isCount = (x) => typeof x === 'number' && Number.isInteger(x) && x > 0;
15
+ /** `gid://shopify/ProductVariant/45123456789` → `"45123456789"`; a bare id passes through. */
16
+ function variantKey(variantId) {
17
+ return String(variantId).split('/').pop().split('?')[0];
18
+ }
19
+ function cleanCounts(raw) {
20
+ if (!isRecord(raw))
21
+ return null;
22
+ const out = {};
23
+ for (const type of LINE_TYPES)
24
+ if (isCount(raw[type]))
25
+ out[type] = raw[type];
26
+ return out.n || out.p ? out : null;
27
+ }
28
+ function cleanItems(raw) {
29
+ const out = {};
30
+ if (!isRecord(raw))
31
+ return out;
32
+ for (const [variant, counts] of Object.entries(raw)) {
33
+ const clean = cleanCounts(counts);
34
+ if (clean)
35
+ out[variant] = clean;
36
+ }
37
+ return out;
38
+ }
39
+ function cleanShows(raw) {
40
+ const out = {};
41
+ if (!isRecord(raw))
42
+ return out;
43
+ for (const [showId, show] of Object.entries(raw)) {
44
+ if (!isRecord(show))
45
+ continue;
46
+ const items = cleanItems(show.items);
47
+ if (Object.keys(items).length === 0)
48
+ continue;
49
+ out[showId] = { t: typeof show.t === 'number' && Number.isFinite(show.t) ? show.t : 0, items };
50
+ }
51
+ return out;
52
+ }
53
+ /** Rebuilds `a` as a fresh object with zeros and empty items, shows and groups dropped. */
54
+ function normalize(a) {
55
+ const out = { v: 1 };
56
+ const live = cleanShows(a.live);
57
+ const replay = cleanShows(a.replay);
58
+ const app = cleanItems(a.app);
59
+ if (Object.keys(live).length)
60
+ out.live = live;
61
+ if (Object.keys(replay).length)
62
+ out.replay = replay;
63
+ if (Object.keys(app).length)
64
+ out.app = app;
65
+ return out;
66
+ }
67
+ /** Any `_preauthorized` value but `'false'` (blank included) is a pre-auth line. */
68
+ function lineTypeOf(attributes) {
69
+ const flag = attributes === null || attributes === void 0 ? void 0 : attributes.find((attr) => attr.key === '_preauthorized');
70
+ return flag && flag.value !== 'false' ? 'p' : 'n';
71
+ }
72
+ /** `attributes` with `_apptile_attribution` set to `value`, every other pair kept in order. */
73
+ function withAttributionAttribute(attributes, value) {
74
+ return [
75
+ ...(attributes !== null && attributes !== void 0 ? attributes : []).filter((attr) => attr.key !== exports.ATTRIBUTION_ATTRIBUTE_KEY),
76
+ { key: exports.ATTRIBUTION_ATTRIBUTE_KEY, value: serializeAttribution(value) },
77
+ ];
78
+ }
79
+ function parseAttribution(value) {
80
+ if (typeof value !== 'string' || value === '')
81
+ return null;
82
+ let raw;
83
+ try {
84
+ raw = JSON.parse(value);
85
+ }
86
+ catch {
87
+ return null;
88
+ }
89
+ if (!isRecord(raw) || raw.v !== 1)
90
+ return null;
91
+ return normalize(raw);
92
+ }
93
+ function serializeAttribution(a) {
94
+ return JSON.stringify(normalize(a));
95
+ }
96
+ function recordAdd(a, source, variantId, lineType, quantity, nowSeconds) {
97
+ var _a, _b, _c;
98
+ const next = normalize(a);
99
+ if (!isCount(quantity))
100
+ return next;
101
+ const variant = variantKey(variantId);
102
+ const bump = (items) => {
103
+ var _a, _b;
104
+ const counts = { ...((_a = items[variant]) !== null && _a !== void 0 ? _a : {}) };
105
+ counts[lineType] = ((_b = counts[lineType]) !== null && _b !== void 0 ? _b : 0) + quantity;
106
+ items[variant] = counts;
107
+ };
108
+ if (source.type === 'app') {
109
+ next.app = (_a = next.app) !== null && _a !== void 0 ? _a : {};
110
+ bump(next.app);
111
+ return next;
112
+ }
113
+ const group = (_b = next[source.type]) !== null && _b !== void 0 ? _b : {};
114
+ const show = (_c = group[source.showId]) !== null && _c !== void 0 ? _c : { t: 0, items: {} };
115
+ show.t = Math.floor(nowSeconds);
116
+ bump(show.items);
117
+ group[source.showId] = show;
118
+ next[source.type] = group;
119
+ return next;
120
+ }
121
+ /** Takes `quantity` units off: `app` first, then replay shows oldest first, then live shows oldest first. */
122
+ function recordRemove(a, variantId, lineType, quantity) {
123
+ const next = normalize(a);
124
+ if (!isCount(quantity))
125
+ return next;
126
+ const variant = variantKey(variantId);
127
+ let left = quantity;
128
+ const take = (items) => {
129
+ var _a;
130
+ const counts = items === null || items === void 0 ? void 0 : items[variant];
131
+ const have = (_a = counts === null || counts === void 0 ? void 0 : counts[lineType]) !== null && _a !== void 0 ? _a : 0;
132
+ if (!counts || have === 0 || left === 0)
133
+ return;
134
+ const taken = Math.min(have, left);
135
+ counts[lineType] = have - taken;
136
+ left -= taken;
137
+ };
138
+ take(next.app);
139
+ const oldestFirst = (group) => { var _a; return Object.entries((_a = next[group]) !== null && _a !== void 0 ? _a : {}).sort(([idA, x], [idB, y]) => x.t - y.t || idA.localeCompare(idB)); };
140
+ for (const [, show] of oldestFirst('replay'))
141
+ take(show.items);
142
+ for (const [, show] of oldestFirst('live'))
143
+ take(show.items);
144
+ return normalize(next);
145
+ }
146
+ function sumItems(x = {}, y = {}) {
147
+ var _a, _b, _c, _d;
148
+ const out = {};
149
+ for (const variant of new Set([...Object.keys(x), ...Object.keys(y)])) {
150
+ const counts = {};
151
+ for (const type of LINE_TYPES) {
152
+ const total = ((_b = (_a = x[variant]) === null || _a === void 0 ? void 0 : _a[type]) !== null && _b !== void 0 ? _b : 0) + ((_d = (_c = y[variant]) === null || _c === void 0 ? void 0 : _c[type]) !== null && _d !== void 0 ? _d : 0);
153
+ if (total > 0)
154
+ counts[type] = total;
155
+ }
156
+ out[variant] = counts;
157
+ }
158
+ return out;
159
+ }
160
+ function mergeShows(x = {}, y = {}) {
161
+ var _a, _b, _c, _d, _e, _f;
162
+ const out = {};
163
+ for (const showId of new Set([...Object.keys(x), ...Object.keys(y)])) {
164
+ out[showId] = {
165
+ t: Math.max((_b = (_a = x[showId]) === null || _a === void 0 ? void 0 : _a.t) !== null && _b !== void 0 ? _b : 0, (_d = (_c = y[showId]) === null || _c === void 0 ? void 0 : _c.t) !== null && _d !== void 0 ? _d : 0),
166
+ items: sumItems((_e = x[showId]) === null || _e === void 0 ? void 0 : _e.items, (_f = y[showId]) === null || _f === void 0 ? void 0 : _f.items),
167
+ };
168
+ }
169
+ return out;
170
+ }
171
+ function mergeAttribution(a, b) {
172
+ const x = normalize(a);
173
+ const y = normalize(b);
174
+ return normalize({
175
+ live: mergeShows(x.live, y.live),
176
+ replay: mergeShows(x.replay, y.replay),
177
+ app: sumItems(x.app, y.app),
178
+ });
179
+ }
180
+ //# sourceMappingURL=attribution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attribution.js","sourceRoot":"","sources":["../src/attribution.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cart.d.ts","sourceRoot":"","sources":["../src/cart.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,IAAI,EAEJ,gBAAgB,EAEhB,cAAc,EAIf,MAAM,SAAS,CAAC;AA6CjB;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,gBAAgB,EAAE,CAS7D;AAOD,eAAO,MAAM,IAAI,EAAE,cAyGlB,CAAC"}
1
+ {"version":3,"file":"cart.d.ts","sourceRoot":"","sources":["../src/cart.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,IAAI,EAEJ,gBAAgB,EAEhB,cAAc,EAIf,MAAM,SAAS,CAAC;AA6CjB;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,gBAAgB,EAAE,CAS7D;AAUD,eAAO,MAAM,IAAI,EAAE,cAyGlB,CAAC"}
package/dist/cart.js CHANGED
@@ -56,6 +56,8 @@ function toLineSnapshot(cart) {
56
56
  });
57
57
  });
58
58
  }
59
+ // Shopify rejects an unknown CartLineInput field, so the SDK-only `source` never goes on the wire.
60
+ const toShopifyLines = (lines) => lines === null || lines === void 0 ? void 0 : lines.map(({ source: _source, ...line }) => line);
59
61
  /** A cart's line-image transform: the call's own, else the provider-wide `imageTransforms.cart`. */
60
62
  function cartImages(opts) {
61
63
  var _a, _b;
@@ -72,7 +74,7 @@ exports.cart = {
72
74
  * error — the cart came back fine, just without them.
73
75
  */
74
76
  const payload = {
75
- lines: input === null || input === void 0 ? void 0 : input.lines,
77
+ lines: toShopifyLines(input === null || input === void 0 ? void 0 : input.lines),
76
78
  discountCodes: input === null || input === void 0 ? void 0 : input.discountCodes,
77
79
  attributes: input === null || input === void 0 ? void 0 : input.attributes,
78
80
  buyerIdentity: input === null || input === void 0 ? void 0 : input.buyerIdentity,
@@ -86,7 +88,7 @@ exports.cart = {
86
88
  return data.cart ? normalize(data.cart) : null;
87
89
  },
88
90
  async addLines(cartId, lines, opts) {
89
- const data = await (0, client_1.request)(queries_1.CART_LINES_ADD_MUTATION, { cartId, lines }, cartImages(opts));
91
+ const data = await (0, client_1.request)(queries_1.CART_LINES_ADD_MUTATION, { cartId, lines: toShopifyLines(lines) }, cartImages(opts));
90
92
  (0, client_1.assertNoUserErrors)('cartLinesAdd', data.cartLinesAdd.userErrors);
91
93
  return normalize(data.cartLinesAdd.cart);
92
94
  },
package/dist/cart.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cart.js","sourceRoot":"","sources":["../src/cart.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cart.js","sourceRoot":"","sources":["../src/cart.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4,13 +4,15 @@ export { getMoneyFormat, getCurrencyCode } from './client';
4
4
  export { clearRequestCache, DEFAULT_CACHE_TTL_MS, type RequestCacheOptions } from './requestCache';
5
5
  export { PRODUCT_BASE_KEYS, peekProduct, forgetProduct, clearProductStore, toProductBase, type ProductBase, type CachedProduct, } from './productStore';
6
6
  export { toLineSnapshot } from './cart';
7
+ export { ATTRIBUTION_ATTRIBUTE_KEY, parseAttribution, serializeAttribution, recordAdd, recordRemove, mergeAttribution, type Attribution, type AttributionCounts, type AttributionShow, type AttributionSource, type AttributionLineType, } from './attribution';
7
8
  export { priceRange, priceFilterInput, parsePriceFilterInput, isPriceFilterInput, type PriceRange, } from './filters';
8
9
  export { DEFAULT_MESSAGES, message, getMessages, setMessages, patchMessages, setMessageResolver, limitExceededMessage, } from './messages';
9
10
  export { setCartPolicy, getCartPolicy, maxLineItems, projectedLineCount, wouldExceedLineLimit, } from './cartPolicy';
11
+ export { ALERT_SETTINGS_PATH, MAX_LINE_ITEMS_SETTING_PATH, ALERT_SETTING_FIELDS, MAX_ALERT_LENGTH, MAX_LINE_ITEMS_RANGE, readAlertSettings, readCartPolicy, isAlertSilenced, type AlertSettings, } from './alertSettings';
10
12
  export { classifyAuthFailure, isOutOfStockError, isUserErrorRejection, userErrorsOf, } from './errors';
11
13
  export { TileCreditClient, configureTileCredit, getTileCreditClient, redeemAndApplyToCart, centsToMoney, moneyToCents, } from './tileCredit';
12
14
  export { setProductMetafields, getProductMetafields, productMetafield, } from './metafields';
13
15
  export { TileCreditError } from './types';
14
16
  export type * from './types';
15
- export { ShopifyProvider, useShopify, useCart, useWishlist, useCustomer, useCheckout, useShopifyMessage, useTileCredit, useCollectionProducts, COLLECTION_PAGE_SIZE, useSearch, SEARCH_PAGE_SIZE, SEARCH_DEBOUNCE_MS, useProduct, REVALIDATE_AFTER_MS, type ShopifyProviderProps, type ShopifyEvent, type ShopifyEventType, type CartState, type WishlistState, type CustomerState, type CheckoutState, type UseTileCreditOptions, type UseTileCreditState, type CollectionSort, type UseCollectionProductsOptions, type CollectionProductsState, type UseCollectionProductsResult, type SearchSort, type UseSearchOptions, type UseSearchResult, type SearchState, type UseProductOptions, type UseProductState, type UseProductResult, type ProductFeedState, type ProductFeedResult, } from './react';
17
+ export { ShopifyProvider, useShopify, useCart, useWishlist, useCustomer, useCheckout, useShopifyMessage, useTileCredit, useCollectionProducts, COLLECTION_PAGE_SIZE, useSearch, SEARCH_PAGE_SIZE, SEARCH_DEBOUNCE_MS, useProduct, REVALIDATE_AFTER_MS, useAlertSettings, type ShopifyProviderProps, type ShopifyEvent, type ShopifyEventType, type CartState, type WishlistState, type CustomerState, type CheckoutState, type UseTileCreditOptions, type UseTileCreditState, type CollectionSort, type UseCollectionProductsOptions, type CollectionProductsState, type UseCollectionProductsResult, type SearchSort, type UseSearchOptions, type UseSearchResult, type SearchState, type UseProductOptions, type UseProductState, type UseProductResult, type ProductFeedState, type ProductFeedResult, type UseAlertSettingsOptions, type AlertSettingsProps, } from './react';
16
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACnG,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,KAAK,WAAW,EAChB,KAAK,aAAa,GACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,KAAK,UAAU,GAChB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,gBAAgB,EAChB,OAAO,EACP,WAAW,EACX,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,aAAa,EACb,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,GACb,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,YAAY,GACb,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,mBAAmB,SAAS,CAAC;AAO7B,OAAO,EACL,eAAe,EACf,UAAU,EACV,OAAO,EACP,WAAW,EACX,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,EACV,mBAAmB,EACnB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,4BAA4B,EACjC,KAAK,uBAAuB,EAC5B,KAAK,2BAA2B,EAChC,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,GACvB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACnG,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,KAAK,WAAW,EAChB,KAAK,aAAa,GACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,oBAAoB,EACpB,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,GACzB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,KAAK,UAAU,GAChB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,gBAAgB,EAChB,OAAO,EACP,WAAW,EACX,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,aAAa,EACb,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAC3B,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,KAAK,aAAa,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,GACb,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,YAAY,GACb,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,mBAAmB,SAAS,CAAC;AAO7B,OAAO,EACL,eAAe,EACf,UAAU,EACV,OAAO,EACP,WAAW,EACX,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,EACV,mBAAmB,EACnB,gBAAgB,EAChB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,4BAA4B,EACjC,KAAK,uBAAuB,EAC5B,KAAK,2BAA2B,EAChC,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,GACxB,MAAM,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useCustomer = exports.useWishlist = exports.useCart = exports.useShopify = exports.ShopifyProvider = exports.TileCreditError = exports.productMetafield = exports.getProductMetafields = exports.setProductMetafields = exports.moneyToCents = exports.centsToMoney = exports.redeemAndApplyToCart = exports.getTileCreditClient = exports.configureTileCredit = exports.TileCreditClient = exports.userErrorsOf = exports.isUserErrorRejection = exports.isOutOfStockError = exports.classifyAuthFailure = exports.wouldExceedLineLimit = exports.projectedLineCount = exports.maxLineItems = exports.getCartPolicy = exports.setCartPolicy = exports.limitExceededMessage = exports.setMessageResolver = exports.patchMessages = exports.setMessages = exports.getMessages = exports.message = exports.DEFAULT_MESSAGES = exports.isPriceFilterInput = exports.parsePriceFilterInput = exports.priceFilterInput = exports.priceRange = exports.toLineSnapshot = exports.toProductBase = exports.clearProductStore = exports.forgetProduct = exports.peekProduct = exports.PRODUCT_BASE_KEYS = exports.DEFAULT_CACHE_TTL_MS = exports.clearRequestCache = exports.getCurrencyCode = exports.getMoneyFormat = exports.shop = exports.applyMoneyFormat = exports.formatMoney = exports.default = exports.shopify = void 0;
4
- exports.REVALIDATE_AFTER_MS = exports.useProduct = exports.SEARCH_DEBOUNCE_MS = exports.SEARCH_PAGE_SIZE = exports.useSearch = exports.COLLECTION_PAGE_SIZE = exports.useCollectionProducts = exports.useTileCredit = exports.useShopifyMessage = exports.useCheckout = void 0;
3
+ exports.TileCreditClient = exports.userErrorsOf = exports.isUserErrorRejection = exports.isOutOfStockError = exports.classifyAuthFailure = exports.isAlertSilenced = exports.readCartPolicy = exports.readAlertSettings = exports.MAX_LINE_ITEMS_RANGE = exports.MAX_ALERT_LENGTH = exports.ALERT_SETTING_FIELDS = exports.MAX_LINE_ITEMS_SETTING_PATH = exports.ALERT_SETTINGS_PATH = exports.wouldExceedLineLimit = exports.projectedLineCount = exports.maxLineItems = exports.getCartPolicy = exports.setCartPolicy = exports.limitExceededMessage = exports.setMessageResolver = exports.patchMessages = exports.setMessages = exports.getMessages = exports.message = exports.DEFAULT_MESSAGES = exports.isPriceFilterInput = exports.parsePriceFilterInput = exports.priceFilterInput = exports.priceRange = exports.mergeAttribution = exports.recordRemove = exports.recordAdd = exports.serializeAttribution = exports.parseAttribution = exports.ATTRIBUTION_ATTRIBUTE_KEY = exports.toLineSnapshot = exports.toProductBase = exports.clearProductStore = exports.forgetProduct = exports.peekProduct = exports.PRODUCT_BASE_KEYS = exports.DEFAULT_CACHE_TTL_MS = exports.clearRequestCache = exports.getCurrencyCode = exports.getMoneyFormat = exports.shop = exports.applyMoneyFormat = exports.formatMoney = exports.default = exports.shopify = void 0;
4
+ exports.useAlertSettings = exports.REVALIDATE_AFTER_MS = exports.useProduct = exports.SEARCH_DEBOUNCE_MS = exports.SEARCH_PAGE_SIZE = exports.useSearch = exports.COLLECTION_PAGE_SIZE = exports.useCollectionProducts = exports.useTileCredit = exports.useShopifyMessage = exports.useCheckout = exports.useCustomer = exports.useWishlist = exports.useCart = exports.useShopify = exports.ShopifyProvider = exports.TileCreditError = exports.productMetafield = exports.getProductMetafields = exports.setProductMetafields = exports.moneyToCents = exports.centsToMoney = exports.redeemAndApplyToCart = exports.getTileCreditClient = exports.configureTileCredit = void 0;
5
5
  var shopify_1 = require("./shopify");
6
6
  Object.defineProperty(exports, "shopify", { enumerable: true, get: function () { return shopify_1.shopify; } });
7
7
  Object.defineProperty(exports, "default", { enumerable: true, get: function () { return shopify_1.shopify; } });
@@ -23,6 +23,13 @@ Object.defineProperty(exports, "clearProductStore", { enumerable: true, get: fun
23
23
  Object.defineProperty(exports, "toProductBase", { enumerable: true, get: function () { return productStore_1.toProductBase; } });
24
24
  var cart_1 = require("./cart");
25
25
  Object.defineProperty(exports, "toLineSnapshot", { enumerable: true, get: function () { return cart_1.toLineSnapshot; } });
26
+ var attribution_1 = require("./attribution");
27
+ Object.defineProperty(exports, "ATTRIBUTION_ATTRIBUTE_KEY", { enumerable: true, get: function () { return attribution_1.ATTRIBUTION_ATTRIBUTE_KEY; } });
28
+ Object.defineProperty(exports, "parseAttribution", { enumerable: true, get: function () { return attribution_1.parseAttribution; } });
29
+ Object.defineProperty(exports, "serializeAttribution", { enumerable: true, get: function () { return attribution_1.serializeAttribution; } });
30
+ Object.defineProperty(exports, "recordAdd", { enumerable: true, get: function () { return attribution_1.recordAdd; } });
31
+ Object.defineProperty(exports, "recordRemove", { enumerable: true, get: function () { return attribution_1.recordRemove; } });
32
+ Object.defineProperty(exports, "mergeAttribution", { enumerable: true, get: function () { return attribution_1.mergeAttribution; } });
26
33
  var filters_1 = require("./filters");
27
34
  Object.defineProperty(exports, "priceRange", { enumerable: true, get: function () { return filters_1.priceRange; } });
28
35
  Object.defineProperty(exports, "priceFilterInput", { enumerable: true, get: function () { return filters_1.priceFilterInput; } });
@@ -42,6 +49,15 @@ Object.defineProperty(exports, "getCartPolicy", { enumerable: true, get: functio
42
49
  Object.defineProperty(exports, "maxLineItems", { enumerable: true, get: function () { return cartPolicy_1.maxLineItems; } });
43
50
  Object.defineProperty(exports, "projectedLineCount", { enumerable: true, get: function () { return cartPolicy_1.projectedLineCount; } });
44
51
  Object.defineProperty(exports, "wouldExceedLineLimit", { enumerable: true, get: function () { return cartPolicy_1.wouldExceedLineLimit; } });
52
+ var alertSettings_1 = require("./alertSettings");
53
+ Object.defineProperty(exports, "ALERT_SETTINGS_PATH", { enumerable: true, get: function () { return alertSettings_1.ALERT_SETTINGS_PATH; } });
54
+ Object.defineProperty(exports, "MAX_LINE_ITEMS_SETTING_PATH", { enumerable: true, get: function () { return alertSettings_1.MAX_LINE_ITEMS_SETTING_PATH; } });
55
+ Object.defineProperty(exports, "ALERT_SETTING_FIELDS", { enumerable: true, get: function () { return alertSettings_1.ALERT_SETTING_FIELDS; } });
56
+ Object.defineProperty(exports, "MAX_ALERT_LENGTH", { enumerable: true, get: function () { return alertSettings_1.MAX_ALERT_LENGTH; } });
57
+ Object.defineProperty(exports, "MAX_LINE_ITEMS_RANGE", { enumerable: true, get: function () { return alertSettings_1.MAX_LINE_ITEMS_RANGE; } });
58
+ Object.defineProperty(exports, "readAlertSettings", { enumerable: true, get: function () { return alertSettings_1.readAlertSettings; } });
59
+ Object.defineProperty(exports, "readCartPolicy", { enumerable: true, get: function () { return alertSettings_1.readCartPolicy; } });
60
+ Object.defineProperty(exports, "isAlertSilenced", { enumerable: true, get: function () { return alertSettings_1.isAlertSilenced; } });
45
61
  var errors_1 = require("./errors");
46
62
  Object.defineProperty(exports, "classifyAuthFailure", { enumerable: true, get: function () { return errors_1.classifyAuthFailure; } });
47
63
  Object.defineProperty(exports, "isOutOfStockError", { enumerable: true, get: function () { return errors_1.isOutOfStockError; } });
@@ -81,4 +97,5 @@ Object.defineProperty(exports, "SEARCH_PAGE_SIZE", { enumerable: true, get: func
81
97
  Object.defineProperty(exports, "SEARCH_DEBOUNCE_MS", { enumerable: true, get: function () { return react_1.SEARCH_DEBOUNCE_MS; } });
82
98
  Object.defineProperty(exports, "useProduct", { enumerable: true, get: function () { return react_1.useProduct; } });
83
99
  Object.defineProperty(exports, "REVALIDATE_AFTER_MS", { enumerable: true, get: function () { return react_1.REVALIDATE_AFTER_MS; } });
100
+ Object.defineProperty(exports, "useAlertSettings", { enumerable: true, get: function () { return react_1.useAlertSettings; } });
84
101
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,qCAAwD;AAA/C,kGAAA,OAAO,OAAA;AAAE,kGAAA,OAAO,OAAW;AACpC,iCAA8D;AAArD,oGAAA,WAAW,OAAA;AAAE,yGAAA,gBAAgB,OAAA;AAAE,6FAAA,IAAI,OAAA;AAC5C,mCAA2D;AAAlD,wGAAA,cAAc,OAAA;AAAE,yGAAA,eAAe,OAAA;AACxC,+CAAmG;AAA1F,iHAAA,iBAAiB,OAAA;AAAE,oHAAA,oBAAoB,OAAA;AAChD,+CAQwB;AAPtB,iHAAA,iBAAiB,OAAA;AACjB,2GAAA,WAAW,OAAA;AACX,6GAAA,aAAa,OAAA;AACb,iHAAA,iBAAiB,OAAA;AACjB,6GAAA,aAAa,OAAA;AAIf,+BAAwC;AAA/B,sGAAA,cAAc,OAAA;AACvB,qCAMmB;AALjB,qGAAA,UAAU,OAAA;AACV,2GAAA,gBAAgB,OAAA;AAChB,gHAAA,qBAAqB,OAAA;AACrB,6GAAA,kBAAkB,OAAA;AAGpB,uCAQoB;AAPlB,4GAAA,gBAAgB,OAAA;AAChB,mGAAA,OAAO,OAAA;AACP,uGAAA,WAAW,OAAA;AACX,uGAAA,WAAW,OAAA;AACX,yGAAA,aAAa,OAAA;AACb,8GAAA,kBAAkB,OAAA;AAClB,gHAAA,oBAAoB,OAAA;AAEtB,2CAMsB;AALpB,2GAAA,aAAa,OAAA;AACb,2GAAA,aAAa,OAAA;AACb,0GAAA,YAAY,OAAA;AACZ,gHAAA,kBAAkB,OAAA;AAClB,kHAAA,oBAAoB,OAAA;AAEtB,mCAKkB;AAJhB,6GAAA,mBAAmB,OAAA;AACnB,2GAAA,iBAAiB,OAAA;AACjB,8GAAA,oBAAoB,OAAA;AACpB,sGAAA,YAAY,OAAA;AAEd,2CAOsB;AANpB,8GAAA,gBAAgB,OAAA;AAChB,iHAAA,mBAAmB,OAAA;AACnB,iHAAA,mBAAmB,OAAA;AACnB,kHAAA,oBAAoB,OAAA;AACpB,0GAAA,YAAY,OAAA;AACZ,0GAAA,YAAY,OAAA;AAEd,2CAIsB;AAHpB,kHAAA,oBAAoB,OAAA;AACpB,kHAAA,oBAAoB,OAAA;AACpB,8GAAA,gBAAgB,OAAA;AAElB,iCAA0C;AAAjC,wGAAA,eAAe,OAAA;AAGxB,uEAAuE;AACvE,qEAAqE;AACrE,yEAAyE;AACzE,kEAAkE;AAClE,gEAAgE;AAChE,iCAsCiB;AArCf,wGAAA,eAAe,OAAA;AACf,mGAAA,UAAU,OAAA;AACV,gGAAA,OAAO,OAAA;AACP,oGAAA,WAAW,OAAA;AACX,oGAAA,WAAW,OAAA;AACX,oGAAA,WAAW,OAAA;AACX,0GAAA,iBAAiB,OAAA;AACjB,sGAAA,aAAa,OAAA;AACb,8GAAA,qBAAqB,OAAA;AACrB,6GAAA,oBAAoB,OAAA;AACpB,kGAAA,SAAS,OAAA;AACT,yGAAA,gBAAgB,OAAA;AAChB,2GAAA,kBAAkB,OAAA;AAClB,mGAAA,UAAU,OAAA;AACV,4GAAA,mBAAmB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,qCAAwD;AAA/C,kGAAA,OAAO,OAAA;AAAE,kGAAA,OAAO,OAAW;AACpC,iCAA8D;AAArD,oGAAA,WAAW,OAAA;AAAE,yGAAA,gBAAgB,OAAA;AAAE,6FAAA,IAAI,OAAA;AAC5C,mCAA2D;AAAlD,wGAAA,cAAc,OAAA;AAAE,yGAAA,eAAe,OAAA;AACxC,+CAAmG;AAA1F,iHAAA,iBAAiB,OAAA;AAAE,oHAAA,oBAAoB,OAAA;AAChD,+CAQwB;AAPtB,iHAAA,iBAAiB,OAAA;AACjB,2GAAA,WAAW,OAAA;AACX,6GAAA,aAAa,OAAA;AACb,iHAAA,iBAAiB,OAAA;AACjB,6GAAA,aAAa,OAAA;AAIf,+BAAwC;AAA/B,sGAAA,cAAc,OAAA;AACvB,6CAYuB;AAXrB,wHAAA,yBAAyB,OAAA;AACzB,+GAAA,gBAAgB,OAAA;AAChB,mHAAA,oBAAoB,OAAA;AACpB,wGAAA,SAAS,OAAA;AACT,2GAAA,YAAY,OAAA;AACZ,+GAAA,gBAAgB,OAAA;AAOlB,qCAMmB;AALjB,qGAAA,UAAU,OAAA;AACV,2GAAA,gBAAgB,OAAA;AAChB,gHAAA,qBAAqB,OAAA;AACrB,6GAAA,kBAAkB,OAAA;AAGpB,uCAQoB;AAPlB,4GAAA,gBAAgB,OAAA;AAChB,mGAAA,OAAO,OAAA;AACP,uGAAA,WAAW,OAAA;AACX,uGAAA,WAAW,OAAA;AACX,yGAAA,aAAa,OAAA;AACb,8GAAA,kBAAkB,OAAA;AAClB,gHAAA,oBAAoB,OAAA;AAEtB,2CAMsB;AALpB,2GAAA,aAAa,OAAA;AACb,2GAAA,aAAa,OAAA;AACb,0GAAA,YAAY,OAAA;AACZ,gHAAA,kBAAkB,OAAA;AAClB,kHAAA,oBAAoB,OAAA;AAEtB,iDAUyB;AATvB,oHAAA,mBAAmB,OAAA;AACnB,4HAAA,2BAA2B,OAAA;AAC3B,qHAAA,oBAAoB,OAAA;AACpB,iHAAA,gBAAgB,OAAA;AAChB,qHAAA,oBAAoB,OAAA;AACpB,kHAAA,iBAAiB,OAAA;AACjB,+GAAA,cAAc,OAAA;AACd,gHAAA,eAAe,OAAA;AAGjB,mCAKkB;AAJhB,6GAAA,mBAAmB,OAAA;AACnB,2GAAA,iBAAiB,OAAA;AACjB,8GAAA,oBAAoB,OAAA;AACpB,sGAAA,YAAY,OAAA;AAEd,2CAOsB;AANpB,8GAAA,gBAAgB,OAAA;AAChB,iHAAA,mBAAmB,OAAA;AACnB,iHAAA,mBAAmB,OAAA;AACnB,kHAAA,oBAAoB,OAAA;AACpB,0GAAA,YAAY,OAAA;AACZ,0GAAA,YAAY,OAAA;AAEd,2CAIsB;AAHpB,kHAAA,oBAAoB,OAAA;AACpB,kHAAA,oBAAoB,OAAA;AACpB,8GAAA,gBAAgB,OAAA;AAElB,iCAA0C;AAAjC,wGAAA,eAAe,OAAA;AAGxB,uEAAuE;AACvE,qEAAqE;AACrE,yEAAyE;AACzE,kEAAkE;AAClE,gEAAgE;AAChE,iCAyCiB;AAxCf,wGAAA,eAAe,OAAA;AACf,mGAAA,UAAU,OAAA;AACV,gGAAA,OAAO,OAAA;AACP,oGAAA,WAAW,OAAA;AACX,oGAAA,WAAW,OAAA;AACX,oGAAA,WAAW,OAAA;AACX,0GAAA,iBAAiB,OAAA;AACjB,sGAAA,aAAa,OAAA;AACb,8GAAA,qBAAqB,OAAA;AACrB,6GAAA,oBAAoB,OAAA;AACpB,kGAAA,SAAS,OAAA;AACT,yGAAA,gBAAgB,OAAA;AAChB,2GAAA,kBAAkB,OAAA;AAClB,mGAAA,UAAU,OAAA;AACV,4GAAA,mBAAmB,OAAA;AACnB,yGAAA,gBAAgB,OAAA"}