@tiledev/sdk-shopify 0.9.1 → 0.10.1
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 +653 -50
- package/dist/alertSettings.d.ts.map +1 -1
- package/dist/alertSettings.js +2 -0
- package/dist/alertSettings.js.map +1 -1
- package/dist/attribution.d.ts +21 -0
- package/dist/attribution.d.ts.map +1 -1
- package/dist/attribution.js +17 -0
- package/dist/attribution.js.map +1 -1
- package/dist/auth/pkce.d.ts +30 -0
- package/dist/auth/pkce.d.ts.map +1 -0
- package/dist/auth/pkce.js +128 -0
- package/dist/auth/pkce.js.map +1 -0
- package/dist/auth/session.d.ts +118 -0
- package/dist/auth/session.d.ts.map +1 -0
- package/dist/auth/session.js +896 -0
- package/dist/auth/session.js.map +1 -0
- package/dist/auth/storeCredit.d.ts +64 -0
- package/dist/auth/storeCredit.d.ts.map +1 -0
- package/dist/auth/storeCredit.js +274 -0
- package/dist/auth/storeCredit.js.map +1 -0
- package/dist/cart.d.ts +25 -1
- package/dist/cart.d.ts.map +1 -1
- package/dist/cart.js +95 -2
- package/dist/cart.js.map +1 -1
- package/dist/cartPolicy.js +4 -4
- package/dist/checkout.d.ts +123 -0
- package/dist/checkout.d.ts.map +1 -0
- package/dist/checkout.js +205 -0
- package/dist/checkout.js.map +1 -0
- package/dist/customer.d.ts.map +1 -1
- package/dist/customer.js +8 -0
- package/dist/customer.js.map +1 -1
- package/dist/index.d.ts +12 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +74 -2
- package/dist/index.js.map +1 -1
- package/dist/messages.d.ts.map +1 -1
- package/dist/messages.js +2 -0
- package/dist/messages.js.map +1 -1
- package/dist/money.d.ts +16 -0
- package/dist/money.d.ts.map +1 -1
- package/dist/money.js +55 -0
- package/dist/money.js.map +1 -1
- package/dist/orders.d.ts +99 -0
- package/dist/orders.d.ts.map +1 -0
- package/dist/orders.js +439 -0
- package/dist/orders.js.map +1 -0
- package/dist/productPage.d.ts +100 -0
- package/dist/productPage.d.ts.map +1 -0
- package/dist/productPage.js +298 -0
- package/dist/productPage.js.map +1 -0
- package/dist/productStore.d.ts +1 -1
- package/dist/productStore.d.ts.map +1 -1
- package/dist/productStore.js +63 -5
- package/dist/productStore.js.map +1 -1
- package/dist/products.d.ts.map +1 -1
- package/dist/products.js +15 -3
- package/dist/products.js.map +1 -1
- package/dist/purchaseRules.d.ts +74 -0
- package/dist/purchaseRules.d.ts.map +1 -0
- package/dist/purchaseRules.js +73 -0
- package/dist/purchaseRules.js.map +1 -0
- package/dist/queries.d.ts +15 -13
- package/dist/queries.d.ts.map +1 -1
- package/dist/queries.js +43 -7
- package/dist/queries.js.map +1 -1
- package/dist/react/ShopifyProvider.d.ts +167 -25
- package/dist/react/ShopifyProvider.d.ts.map +1 -1
- package/dist/react/ShopifyProvider.js +352 -207
- package/dist/react/ShopifyProvider.js.map +1 -1
- package/dist/react/appForeground.d.ts +6 -0
- package/dist/react/appForeground.d.ts.map +1 -0
- package/dist/react/appForeground.js +19 -0
- package/dist/react/appForeground.js.map +1 -0
- package/dist/react/appForeground.native.d.ts +2 -0
- package/dist/react/appForeground.native.d.ts.map +1 -0
- package/dist/react/appForeground.native.js +23 -0
- package/dist/react/appForeground.native.js.map +1 -0
- package/dist/react/index.d.ts +7 -1
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +23 -1
- package/dist/react/index.js.map +1 -1
- package/dist/react/tileCreditClient.d.ts +4 -0
- package/dist/react/tileCreditClient.d.ts.map +1 -0
- package/dist/react/tileCreditClient.js +27 -0
- package/dist/react/tileCreditClient.js.map +1 -0
- package/dist/react/useAppDiscountCode.d.ts +19 -0
- package/dist/react/useAppDiscountCode.d.ts.map +1 -0
- package/dist/react/useAppDiscountCode.js +44 -0
- package/dist/react/useAppDiscountCode.js.map +1 -0
- package/dist/react/useCartStoreCredit.d.ts +25 -0
- package/dist/react/useCartStoreCredit.d.ts.map +1 -0
- package/dist/react/useCartStoreCredit.js +292 -0
- package/dist/react/useCartStoreCredit.js.map +1 -0
- package/dist/react/useOrders.d.ts +104 -0
- package/dist/react/useOrders.d.ts.map +1 -0
- package/dist/react/useOrders.js +287 -0
- package/dist/react/useOrders.js.map +1 -0
- package/dist/react/useProduct.d.ts.map +1 -1
- package/dist/react/useProduct.js +1 -9
- package/dist/react/useProduct.js.map +1 -1
- package/dist/react/useProductFeed.d.ts.map +1 -1
- package/dist/react/useProductFeed.js +33 -5
- package/dist/react/useProductFeed.js.map +1 -1
- package/dist/react/useProductPage.d.ts +148 -0
- package/dist/react/useProductPage.d.ts.map +1 -0
- package/dist/react/useProductPage.js +178 -0
- package/dist/react/useProductPage.js.map +1 -0
- package/dist/react/useProductRecommendations.d.ts +27 -0
- package/dist/react/useProductRecommendations.d.ts.map +1 -0
- package/dist/react/useProductRecommendations.js +76 -0
- package/dist/react/useProductRecommendations.js.map +1 -0
- package/dist/react/useStoreCredit.d.ts +58 -0
- package/dist/react/useStoreCredit.d.ts.map +1 -0
- package/dist/react/useStoreCredit.js +209 -0
- package/dist/react/useStoreCredit.js.map +1 -0
- package/dist/react/useTileCredit.d.ts +4 -3
- package/dist/react/useTileCredit.d.ts.map +1 -1
- package/dist/react/useTileCredit.js +63 -55
- package/dist/react/useTileCredit.js.map +1 -1
- package/dist/shopify.d.ts.map +1 -1
- package/dist/shopify.js +2 -0
- package/dist/shopify.js.map +1 -1
- package/dist/storedList.d.ts +27 -0
- package/dist/storedList.d.ts.map +1 -0
- package/dist/storedList.js +152 -0
- package/dist/storedList.js.map +1 -0
- package/dist/tileCredit.d.ts +25 -10
- package/dist/tileCredit.d.ts.map +1 -1
- package/dist/tileCredit.js +97 -45
- package/dist/tileCredit.js.map +1 -1
- package/dist/types.d.ts +407 -34
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -2
- package/dist/types.js.map +1 -1
- package/dist/variants.d.ts.map +1 -1
- package/dist/variants.js +4 -3
- package/dist/variants.js.map +1 -1
- package/dist/waitlist.d.ts +4 -0
- package/dist/waitlist.d.ts.map +1 -0
- package/dist/waitlist.js +213 -0
- package/dist/waitlist.js.map +1 -0
- package/dist/wishlist.d.ts.map +1 -1
- package/dist/wishlist.js +70 -47
- package/dist/wishlist.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DEFAULT_LOW_STOCK_THRESHOLD = exports.DEFAULT_OPTION_ORDER = void 0;
|
|
4
|
+
exports.isPlaceholderOption = isPlaceholderOption;
|
|
5
|
+
exports.selectableOptions = selectableOptions;
|
|
6
|
+
exports.findVariant = findVariant;
|
|
7
|
+
exports.initialSelection = initialSelection;
|
|
8
|
+
exports.selectionForVariant = selectionForVariant;
|
|
9
|
+
exports.isVariantUnavailable = isVariantUnavailable;
|
|
10
|
+
exports.optionStates = optionStates;
|
|
11
|
+
exports.selectionLabel = selectionLabel;
|
|
12
|
+
exports.variantPrice = variantPrice;
|
|
13
|
+
exports.isLowStock = isLowStock;
|
|
14
|
+
exports.stockCeiling = stockCeiling;
|
|
15
|
+
exports.quantityInCart = quantityInCart;
|
|
16
|
+
exports.withinCeiling = withinCeiling;
|
|
17
|
+
exports.initialMediaIndex = initialMediaIndex;
|
|
18
|
+
exports.firstImageUrl = firstImageUrl;
|
|
19
|
+
exports.sizedImageUrl = sizedImageUrl;
|
|
20
|
+
exports.parseDescriptionHtml = parseDescriptionHtml;
|
|
21
|
+
exports.productShareUrl = productShareUrl;
|
|
22
|
+
// Product page logic with no React: variant selection, availability per option value, the chosen
|
|
23
|
+
// variant's price, stock rules, the gallery's opening slide, description parsing, CDN image sizing
|
|
24
|
+
// and the share link. `useVariantSelection` / `useAddToCart` / `useProductPage` (react/) are built
|
|
25
|
+
// on these; an app that wants its own page can use them directly, piece by piece.
|
|
26
|
+
const client_1 = require("./client");
|
|
27
|
+
// ---------------------------------------------------------------------------
|
|
28
|
+
// Options and variants
|
|
29
|
+
// ---------------------------------------------------------------------------
|
|
30
|
+
/** Selectors are shown Color, then Size, then anything else (case-insensitive). */
|
|
31
|
+
exports.DEFAULT_OPTION_ORDER = ['color', 'colour', 'size'];
|
|
32
|
+
/**
|
|
33
|
+
* Shopify gives a single-variant product a placeholder option ("Title" with the one value "Default
|
|
34
|
+
* Title"). It is not a choice and must not become a selector.
|
|
35
|
+
*/
|
|
36
|
+
function isPlaceholderOption(option) {
|
|
37
|
+
return option.values.length < 2 && (option.name === 'Title' || option.values[0] === 'Default Title');
|
|
38
|
+
}
|
|
39
|
+
/** The options worth a selector, in display order. */
|
|
40
|
+
function selectableOptions(options, config = {}) {
|
|
41
|
+
var _a, _b;
|
|
42
|
+
const order = ((_a = config.order) !== null && _a !== void 0 ? _a : exports.DEFAULT_OPTION_ORDER).map((n) => n.toLowerCase());
|
|
43
|
+
const include = (_b = config.include) !== null && _b !== void 0 ? _b : ((o) => !isPlaceholderOption(o));
|
|
44
|
+
const rank = (name) => {
|
|
45
|
+
const i = order.indexOf(name.toLowerCase());
|
|
46
|
+
return i === -1 ? order.length : i;
|
|
47
|
+
};
|
|
48
|
+
return (options !== null && options !== void 0 ? options : [])
|
|
49
|
+
.filter(include)
|
|
50
|
+
.map((option, index) => ({ option, index }))
|
|
51
|
+
.sort((a, b) => rank(a.option.name) - rank(b.option.name) || a.index - b.index)
|
|
52
|
+
.map(({ option }) => option);
|
|
53
|
+
}
|
|
54
|
+
/** The variant matching every chosen value, or null for a combination Shopify doesn't sell. */
|
|
55
|
+
function findVariant(variants, selection) {
|
|
56
|
+
var _a;
|
|
57
|
+
return (_a = (variants !== null && variants !== void 0 ? variants : []).find((v) => v.selectedOptions.every((o) => selection[o.name] === o.value))) !== null && _a !== void 0 ? _a : null;
|
|
58
|
+
}
|
|
59
|
+
/** The first purchasable combination, so Add to Cart works without touching a selector; else the first. */
|
|
60
|
+
function initialSelection(variants) {
|
|
61
|
+
var _a;
|
|
62
|
+
const list = variants !== null && variants !== void 0 ? variants : [];
|
|
63
|
+
const variant = (_a = list.find((v) => v.availableForSale)) !== null && _a !== void 0 ? _a : list[0];
|
|
64
|
+
return variant ? Object.fromEntries(variant.selectedOptions.map((o) => [o.name, o.value])) : {};
|
|
65
|
+
}
|
|
66
|
+
/** The selection a variant represents, e.g. to preselect a variant from a link. */
|
|
67
|
+
function selectionForVariant(variant) {
|
|
68
|
+
return variant ? Object.fromEntries(variant.selectedOptions.map((o) => [o.name, o.value])) : {};
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Can't be bought now: no such combination, not for sale, or none left. A variant can be 0 left and
|
|
72
|
+
* still for sale (oversell / pre-order) only if `quantityAvailable` isn't 0, so 0 is treated as gone.
|
|
73
|
+
*/
|
|
74
|
+
function isVariantUnavailable(variant) {
|
|
75
|
+
return !variant || !variant.availableForSale || variant.quantityAvailable === 0;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Every value of every option with what choosing it would give. Stock is per combination, so a
|
|
79
|
+
* Size's count follows the selected Color and vice versa.
|
|
80
|
+
*/
|
|
81
|
+
function optionStates(options, variants, selection, isUnavailable = isVariantUnavailable) {
|
|
82
|
+
return options.map((option) => {
|
|
83
|
+
var _a;
|
|
84
|
+
return ({
|
|
85
|
+
name: option.name,
|
|
86
|
+
selectedValue: (_a = selection[option.name]) !== null && _a !== void 0 ? _a : null,
|
|
87
|
+
values: option.values.map((value) => {
|
|
88
|
+
var _a;
|
|
89
|
+
const variant = findVariant(variants, { ...selection, [option.name]: value });
|
|
90
|
+
return {
|
|
91
|
+
value,
|
|
92
|
+
selected: selection[option.name] === value,
|
|
93
|
+
variant,
|
|
94
|
+
available: !isUnavailable(variant),
|
|
95
|
+
quantityAvailable: (_a = variant === null || variant === void 0 ? void 0 : variant.quantityAvailable) !== null && _a !== void 0 ? _a : null,
|
|
96
|
+
};
|
|
97
|
+
}),
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
/** "Ivory / L": the chosen values, in the options' order. */
|
|
102
|
+
function selectionLabel(options, selection, separator = ' / ') {
|
|
103
|
+
return options
|
|
104
|
+
.map((o) => selection[o.name])
|
|
105
|
+
.filter(Boolean)
|
|
106
|
+
.join(separator);
|
|
107
|
+
}
|
|
108
|
+
/** The chosen variant's price; without a variant, the product's lowest. */
|
|
109
|
+
function variantPrice(variant, product) {
|
|
110
|
+
var _a, _b, _c, _d, _e;
|
|
111
|
+
const price = (_c = (_a = variant === null || variant === void 0 ? void 0 : variant.price) !== null && _a !== void 0 ? _a : (_b = product === null || product === void 0 ? void 0 : product.priceRange) === null || _b === void 0 ? void 0 : _b.min) !== null && _c !== void 0 ? _c : null;
|
|
112
|
+
const compare = variant ? variant.compareAtPrice : ((_e = (_d = product === null || product === void 0 ? void 0 : product.compareAtPriceRange) === null || _d === void 0 ? void 0 : _d.min) !== null && _e !== void 0 ? _e : null);
|
|
113
|
+
const onSale = !!price && !!compare && Number(compare.amount) > Number(price.amount);
|
|
114
|
+
return { price, compareAtPrice: onSale ? compare : null, onSale };
|
|
115
|
+
}
|
|
116
|
+
// ---------------------------------------------------------------------------
|
|
117
|
+
// Stock
|
|
118
|
+
// ---------------------------------------------------------------------------
|
|
119
|
+
/** "Hurry! Only a few pieces left." at or below this many units across the product. */
|
|
120
|
+
exports.DEFAULT_LOW_STOCK_THRESHOLD = 10;
|
|
121
|
+
function isLowStock(totalInventory, availableForSale, threshold = exports.DEFAULT_LOW_STOCK_THRESHOLD) {
|
|
122
|
+
if (threshold == null || !availableForSale || totalInventory == null)
|
|
123
|
+
return false;
|
|
124
|
+
return totalInventory > 0 && totalInventory <= threshold;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* The most of `variant` a cart may hold, or null for no ceiling. Shopify doesn't refuse an add past
|
|
128
|
+
* the stock level (it answers 200 and clamps silently), so the ceiling is checked before the write.
|
|
129
|
+
* null: untracked inventory, or overselling allowed (`<= 0` while still for sale, e.g. pre-order).
|
|
130
|
+
*/
|
|
131
|
+
function stockCeiling(variant) {
|
|
132
|
+
if (!variant)
|
|
133
|
+
return 0;
|
|
134
|
+
const available = variant.quantityAvailable;
|
|
135
|
+
if (available == null)
|
|
136
|
+
return null;
|
|
137
|
+
if (available <= 0)
|
|
138
|
+
return variant.availableForSale ? null : 0;
|
|
139
|
+
return available;
|
|
140
|
+
}
|
|
141
|
+
/** How many of `variantId` the cart holds, across every line (one variant can fill several). */
|
|
142
|
+
function quantityInCart(cart, variantId) {
|
|
143
|
+
if (!cart || !variantId)
|
|
144
|
+
return 0;
|
|
145
|
+
return cart.lines.reduce((n, line) => (line.merchandise.id === variantId ? n + line.quantity : n), 0);
|
|
146
|
+
}
|
|
147
|
+
/** Whether `current + by` stays within `ceiling` (null: always). */
|
|
148
|
+
function withinCeiling(ceiling, current, by = 1) {
|
|
149
|
+
return ceiling == null || current + by <= ceiling;
|
|
150
|
+
}
|
|
151
|
+
// ---------------------------------------------------------------------------
|
|
152
|
+
// Media
|
|
153
|
+
// ---------------------------------------------------------------------------
|
|
154
|
+
const isVideo = (m) => m.kind === 'video' || m.kind === 'external-video';
|
|
155
|
+
/** The gallery's opening slide: the first video when asked for (and there is one), else the first image. */
|
|
156
|
+
function initialMediaIndex(media, preferVideo = false) {
|
|
157
|
+
const list = media !== null && media !== void 0 ? media : [];
|
|
158
|
+
if (preferVideo) {
|
|
159
|
+
const v = list.findIndex(isVideo);
|
|
160
|
+
if (v >= 0)
|
|
161
|
+
return v;
|
|
162
|
+
}
|
|
163
|
+
const i = list.findIndex((m) => m.kind === 'image');
|
|
164
|
+
return i >= 0 ? i : 0;
|
|
165
|
+
}
|
|
166
|
+
/** The first still, for a thumbnail. Videos sort first, so `media[0]` is often a video frame. */
|
|
167
|
+
function firstImageUrl(product) {
|
|
168
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
169
|
+
if (!product)
|
|
170
|
+
return null;
|
|
171
|
+
const image = ((_a = product.media) !== null && _a !== void 0 ? _a : []).find((m) => m.kind === 'image');
|
|
172
|
+
return (_g = (_e = (_b = image === null || image === void 0 ? void 0 : image.posterUrl) !== null && _b !== void 0 ? _b : (_d = (_c = product.media) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.posterUrl) !== null && _e !== void 0 ? _e : (_f = product.featuredImage) === null || _f === void 0 ? void 0 : _f.url) !== null && _g !== void 0 ? _g : null;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* A Shopify CDN image at a pixel width. The SDK's `imageTransform` bakes the size into the file name
|
|
176
|
+
* (`photo_1080x.jpg`, `photo_200x@2x.jpg`, `photo_100x100_crop_center.jpg`), so the suffix is rewritten;
|
|
177
|
+
* a URL without one (an original) gets `width=`, which the CDN also honours.
|
|
178
|
+
*/
|
|
179
|
+
const SIZE_SUFFIX = /_(\d+)?x(\d+)?(@\dx)?(_crop_[a-z]+)?(?=\.[a-z0-9]+(?:\?|$))/i;
|
|
180
|
+
function sizedImageUrl(url, pixels) {
|
|
181
|
+
if (!url)
|
|
182
|
+
return null;
|
|
183
|
+
const width = Math.round(pixels);
|
|
184
|
+
if (!Number.isFinite(width) || width <= 0)
|
|
185
|
+
return url;
|
|
186
|
+
if (SIZE_SUFFIX.test(url))
|
|
187
|
+
return url.replace(SIZE_SUFFIX, `_${width}x`);
|
|
188
|
+
return `${url}${url.includes('?') ? '&' : '?'}width=${width}`;
|
|
189
|
+
}
|
|
190
|
+
const NAMED_ENTITIES = {
|
|
191
|
+
nbsp: ' ', amp: '&', lt: '<', gt: '>', quot: '"', apos: "'",
|
|
192
|
+
rsquo: '’', lsquo: '‘', rdquo: '”', ldquo: '“', hellip: '…', mdash: '—', ndash: '–',
|
|
193
|
+
};
|
|
194
|
+
function decodeEntities(text) {
|
|
195
|
+
return text.replace(/&(#x[0-9a-f]+|#\d+|[a-z]+);/gi, (match, body) => {
|
|
196
|
+
var _a;
|
|
197
|
+
if (body[0] === '#') {
|
|
198
|
+
const code = body[1] === 'x' || body[1] === 'X' ? parseInt(body.slice(2), 16) : parseInt(body.slice(1), 10);
|
|
199
|
+
return Number.isFinite(code) ? String.fromCodePoint(code) : match;
|
|
200
|
+
}
|
|
201
|
+
return (_a = NAMED_ENTITIES[body.toLowerCase()]) !== null && _a !== void 0 ? _a : match;
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
const BOLD_TAGS = new Set(['strong', 'b']);
|
|
205
|
+
const BLOCK_TAGS = new Set(['p', 'div', 'li', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'tr']);
|
|
206
|
+
/** Merchants type `**bold**` / `***bold***` into the rich-text editor: a paired run is bold, markers dropped. */
|
|
207
|
+
const ASTERISK_EMPHASIS = /\*{2,3}([^*]+?)\*{2,3}/g;
|
|
208
|
+
function splitAsterisks(span) {
|
|
209
|
+
var _a;
|
|
210
|
+
const out = [];
|
|
211
|
+
let cursor = 0;
|
|
212
|
+
for (const match of span.text.matchAll(ASTERISK_EMPHASIS)) {
|
|
213
|
+
const at = (_a = match.index) !== null && _a !== void 0 ? _a : 0;
|
|
214
|
+
if (at > cursor)
|
|
215
|
+
out.push({ text: span.text.slice(cursor, at), bold: span.bold });
|
|
216
|
+
out.push({ text: match[1], bold: true });
|
|
217
|
+
cursor = at + match[0].length;
|
|
218
|
+
}
|
|
219
|
+
if (cursor === 0)
|
|
220
|
+
return [span];
|
|
221
|
+
if (cursor < span.text.length)
|
|
222
|
+
out.push({ text: span.text.slice(cursor), bold: span.bold });
|
|
223
|
+
return out;
|
|
224
|
+
}
|
|
225
|
+
function finishBlock(spans, bullet) {
|
|
226
|
+
const merged = spans.flatMap(splitAsterisks).reduce((acc, span) => {
|
|
227
|
+
const prev = acc[acc.length - 1];
|
|
228
|
+
if (prev && prev.bold === span.bold)
|
|
229
|
+
prev.text += span.text;
|
|
230
|
+
else
|
|
231
|
+
acc.push({ ...span });
|
|
232
|
+
return acc;
|
|
233
|
+
}, []);
|
|
234
|
+
// Whitespace at a block's edges is layout, not content: the gap between blocks replaces it.
|
|
235
|
+
if (merged.length) {
|
|
236
|
+
merged[0].text = merged[0].text.replace(/^\s+/, '');
|
|
237
|
+
merged[merged.length - 1].text = merged[merged.length - 1].text.replace(/\s+$/, '');
|
|
238
|
+
}
|
|
239
|
+
const kept = merged.filter((s) => s.text.length);
|
|
240
|
+
return kept.some((s) => s.text.trim()) ? { spans: kept, bullet } : null;
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Shopify's `descriptionHtml` as paragraphs and bullets with their bold runs (the "Details:" /
|
|
244
|
+
* "Fit:" labels), for nested Text rather than an HTML renderer. Plain text works too.
|
|
245
|
+
*/
|
|
246
|
+
function parseDescriptionHtml(html) {
|
|
247
|
+
const blocks = [];
|
|
248
|
+
let spans = [];
|
|
249
|
+
let bullet = false;
|
|
250
|
+
let boldDepth = 0;
|
|
251
|
+
const flush = (nextBullet = false) => {
|
|
252
|
+
const block = finishBlock(spans, bullet);
|
|
253
|
+
if (block)
|
|
254
|
+
blocks.push(block);
|
|
255
|
+
spans = [];
|
|
256
|
+
bullet = nextBullet;
|
|
257
|
+
};
|
|
258
|
+
for (const [index, token] of (html !== null && html !== void 0 ? html : '').split(/(<[^>]*>)/).entries()) {
|
|
259
|
+
if (!token)
|
|
260
|
+
continue;
|
|
261
|
+
if (index % 2 === 0) {
|
|
262
|
+
const text = decodeEntities(token).replace(/\s+/g, ' ');
|
|
263
|
+
if (text)
|
|
264
|
+
spans.push({ text, bold: boldDepth > 0 });
|
|
265
|
+
continue;
|
|
266
|
+
}
|
|
267
|
+
const tag = /^<\s*(\/?)\s*([a-z0-9]+)/i.exec(token);
|
|
268
|
+
if (!tag)
|
|
269
|
+
continue;
|
|
270
|
+
const closing = tag[1] === '/';
|
|
271
|
+
const name = tag[2].toLowerCase();
|
|
272
|
+
if (name === 'br')
|
|
273
|
+
flush(bullet);
|
|
274
|
+
else if (BOLD_TAGS.has(name))
|
|
275
|
+
boldDepth = closing ? Math.max(0, boldDepth - 1) : boldDepth + 1;
|
|
276
|
+
else if (BLOCK_TAGS.has(name))
|
|
277
|
+
flush(!closing && name === 'li');
|
|
278
|
+
}
|
|
279
|
+
flush();
|
|
280
|
+
return blocks;
|
|
281
|
+
}
|
|
282
|
+
// ---------------------------------------------------------------------------
|
|
283
|
+
// Sharing
|
|
284
|
+
// ---------------------------------------------------------------------------
|
|
285
|
+
/**
|
|
286
|
+
* The link to share: Shopify's `onlineStoreUrl` (a page a shopper can open), else
|
|
287
|
+
* `https://<storeDomain>/products/<handle>`, which on a store not on the Online Store channel is the
|
|
288
|
+
* myshopify host. `storeDomain` defaults to the configured one.
|
|
289
|
+
*/
|
|
290
|
+
function productShareUrl(product, storeDomain) {
|
|
291
|
+
if (!product)
|
|
292
|
+
return null;
|
|
293
|
+
if (product.onlineStoreUrl)
|
|
294
|
+
return product.onlineStoreUrl;
|
|
295
|
+
const domain = storeDomain !== null && storeDomain !== void 0 ? storeDomain : ((0, client_1.isConfigured)() ? (0, client_1.getConfig)().storeDomain : '');
|
|
296
|
+
return domain ? `https://${domain}/products/${product.handle}` : null;
|
|
297
|
+
}
|
|
298
|
+
//# sourceMappingURL=productPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"productPage.js","sourceRoot":"","sources":["../src/productPage.ts"],"names":[],"mappings":"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"}
|
package/dist/productStore.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Filter, PageInfo, Product } from './types';
|
|
2
2
|
/** What any product read records, and what a product page can render before its own read lands. */
|
|
3
|
-
export declare const PRODUCT_BASE_KEYS: readonly ["id", "handle", "title", "featuredImage", "priceRange", "compareAtPriceRange"];
|
|
3
|
+
export declare const PRODUCT_BASE_KEYS: readonly ["id", "handle", "title", "featuredImage", "priceRange", "compareAtPriceRange", "description", "descriptionHtml", "options", "variants", "availableForSale", "totalInventory", "tags", "vendor", "productType"];
|
|
4
4
|
export type ProductBase = Pick<Product, (typeof PRODUCT_BASE_KEYS)[number]>;
|
|
5
5
|
export interface CachedProduct {
|
|
6
6
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"productStore.d.ts","sourceRoot":"","sources":["../src/productStore.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"productStore.d.ts","sourceRoot":"","sources":["../src/productStore.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzD,mGAAmG;AACnG,eAAO,MAAM,iBAAiB,0NAgBpB,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAE5E,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;CACZ;AAWD,8DAA8D;AAC9D,eAAO,MAAM,UAAU,QAAU,CAAC;AA+ElC,kGAAkG;AAClG,wBAAgB,uBAAuB,IAAI,IAAI,CAK9C;AAMD,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,WAAW,CAkBrD;AAsCD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAgCtG;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,aAAa,GAAG,IAAI,CA2CvF;AAED,qEAAqE;AACrE,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAa9C;AAWD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAgB3D;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,IAAI,CAahF;AAED,kGAAkG;AAClG,wBAAgB,iBAAiB,IAAI,IAAI,CAIxC"}
|
package/dist/productStore.js
CHANGED
|
@@ -15,7 +15,9 @@ exports.clearProductStore = clearProductStore;
|
|
|
15
15
|
*
|
|
16
16
|
* - **Base** keys (`PRODUCT_BASE_KEYS`) are recorded from EVERY read that returns products:
|
|
17
17
|
* collections, search, recommendations, lists, `byIds`, the wishlist. They are what a product page
|
|
18
|
-
* shows instantly: title, image and
|
|
18
|
+
* shows instantly: title, image, price, the variant picker (options, variants), stock state and the
|
|
19
|
+
* description. Every one of those reads fetches them anyway; only the gallery's media waits for
|
|
20
|
+
* the product's own read.
|
|
19
21
|
* - **Full** products are recorded by `byHandle` / `byId`, for returning to a product page.
|
|
20
22
|
* - **Lists**: the first page of each collection or search, for `useCollectionProducts` /
|
|
21
23
|
* `useSearch` to show before revalidating.
|
|
@@ -32,14 +34,40 @@ const client_1 = require("./client");
|
|
|
32
34
|
const deviceStore_1 = require("./deviceStore");
|
|
33
35
|
const deviceStoreCore_1 = require("./deviceStoreCore");
|
|
34
36
|
/** What any product read records, and what a product page can render before its own read lands. */
|
|
35
|
-
exports.PRODUCT_BASE_KEYS = [
|
|
36
|
-
|
|
37
|
+
exports.PRODUCT_BASE_KEYS = [
|
|
38
|
+
'id',
|
|
39
|
+
'handle',
|
|
40
|
+
'title',
|
|
41
|
+
'featuredImage',
|
|
42
|
+
'priceRange',
|
|
43
|
+
'compareAtPriceRange',
|
|
44
|
+
'description',
|
|
45
|
+
'descriptionHtml',
|
|
46
|
+
'options',
|
|
47
|
+
'variants',
|
|
48
|
+
'availableForSale',
|
|
49
|
+
'totalInventory',
|
|
50
|
+
'tags',
|
|
51
|
+
'vendor',
|
|
52
|
+
'productType',
|
|
53
|
+
];
|
|
54
|
+
/**
|
|
55
|
+
* v3: every variant carries `sellingPlan` (its pre-order plan, or null), so a stored variant without
|
|
56
|
+
* one is never read as "no plan". v2: base entries carry options, variants, stock and the description
|
|
57
|
+
* (v1 had six keys).
|
|
58
|
+
*/
|
|
59
|
+
const VERSION = 'v3';
|
|
60
|
+
/** Earlier schema versions, cleared from the device once per session. */
|
|
61
|
+
const OLD_VERSIONS = ['v1', 'v2'];
|
|
37
62
|
const DAY = 24 * 60 * 60 * 1000;
|
|
38
63
|
/** Older than this, an entry is dropped rather than shown. */
|
|
39
64
|
exports.MAX_AGE_MS = 7 * DAY;
|
|
40
65
|
const MEMORY_PRODUCTS = 300;
|
|
41
66
|
const MEMORY_LISTS = 30;
|
|
42
|
-
/**
|
|
67
|
+
/**
|
|
68
|
+
* Device caps. A base entry is 3-10 KB with its variants and description (most of it the variants),
|
|
69
|
+
* so 2,500 is roughly 10-25 MB: a whole mid-size catalogue, read one key at a time.
|
|
70
|
+
*/
|
|
43
71
|
const DEVICE_BASES = 2500;
|
|
44
72
|
const DEVICE_FULLS = 30;
|
|
45
73
|
const DEVICE_LISTS = 20;
|
|
@@ -97,17 +125,24 @@ function touch(map, k, v, cap) {
|
|
|
97
125
|
map.delete(oldest.value);
|
|
98
126
|
}
|
|
99
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* Memory entries whose full product has already been looked for on the device. A list read after a
|
|
130
|
+
* cold start makes a memory entry with the base keys only, while the full product from an earlier
|
|
131
|
+
* session is still on the device; `peekProduct` checks there once, then trusts memory.
|
|
132
|
+
*/
|
|
133
|
+
const deviceFullChecked = new Set();
|
|
100
134
|
/** Tests only: forget memory but keep the device store, which is what a cold start looks like. */
|
|
101
135
|
function resetProductStoreMemory() {
|
|
102
136
|
products.clear();
|
|
103
137
|
handles.clear();
|
|
104
138
|
lists.clear();
|
|
139
|
+
deviceFullChecked.clear();
|
|
105
140
|
}
|
|
106
141
|
// ---------------------------------------------------------------------------
|
|
107
142
|
// Products
|
|
108
143
|
// ---------------------------------------------------------------------------
|
|
109
144
|
function toProductBase(p) {
|
|
110
|
-
var _a, _b;
|
|
145
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _l;
|
|
111
146
|
return {
|
|
112
147
|
id: p.id,
|
|
113
148
|
handle: p.handle,
|
|
@@ -115,6 +150,15 @@ function toProductBase(p) {
|
|
|
115
150
|
featuredImage: (_a = p.featuredImage) !== null && _a !== void 0 ? _a : null,
|
|
116
151
|
priceRange: p.priceRange,
|
|
117
152
|
compareAtPriceRange: (_b = p.compareAtPriceRange) !== null && _b !== void 0 ? _b : null,
|
|
153
|
+
description: (_c = p.description) !== null && _c !== void 0 ? _c : '',
|
|
154
|
+
descriptionHtml: (_d = p.descriptionHtml) !== null && _d !== void 0 ? _d : '',
|
|
155
|
+
options: (_e = p.options) !== null && _e !== void 0 ? _e : [],
|
|
156
|
+
variants: (_f = p.variants) !== null && _f !== void 0 ? _f : [],
|
|
157
|
+
availableForSale: p.availableForSale,
|
|
158
|
+
totalInventory: (_g = p.totalInventory) !== null && _g !== void 0 ? _g : null,
|
|
159
|
+
tags: (_h = p.tags) !== null && _h !== void 0 ? _h : [],
|
|
160
|
+
vendor: (_j = p.vendor) !== null && _j !== void 0 ? _j : '',
|
|
161
|
+
productType: (_l = p.productType) !== null && _l !== void 0 ? _l : '',
|
|
118
162
|
};
|
|
119
163
|
}
|
|
120
164
|
/** Move `id` to the end of a capped index, returning the ids it pushed out. */
|
|
@@ -137,6 +181,10 @@ function schedulePrune(s) {
|
|
|
137
181
|
var _a;
|
|
138
182
|
try {
|
|
139
183
|
const store = (0, deviceStore_1.deviceStore)();
|
|
184
|
+
// Entries from an earlier schema can never be read again: drop them.
|
|
185
|
+
for (const k of store.keys())
|
|
186
|
+
if (OLD_VERSIONS.some((v) => k.startsWith(`${v}:`)))
|
|
187
|
+
store.remove(k);
|
|
140
188
|
const prefix = `${VERSION}:${s}:b:`;
|
|
141
189
|
const baseKeys = store.keys().filter((k) => k.startsWith(prefix));
|
|
142
190
|
if (baseKeys.length <= DEVICE_BASES)
|
|
@@ -216,6 +264,15 @@ function peekProduct(handleOrId) {
|
|
|
216
264
|
const mk = `${s}|${id}`;
|
|
217
265
|
const hit = products.get(mk);
|
|
218
266
|
if (hit && fresh(hit.baseAt, now)) {
|
|
267
|
+
// Base keys in memory (a grid read since launch) don't mean the device has no full product.
|
|
268
|
+
if (!hit.full && !deviceFullChecked.has(mk)) {
|
|
269
|
+
deviceFullChecked.add(mk);
|
|
270
|
+
const full = parse(store.get(key.full(s, id)));
|
|
271
|
+
if (full && fresh(full.t, now)) {
|
|
272
|
+
hit.full = full.p;
|
|
273
|
+
hit.fullAt = full.t;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
219
276
|
touch(products, mk, hit, MEMORY_PRODUCTS);
|
|
220
277
|
return hit;
|
|
221
278
|
}
|
|
@@ -247,6 +304,7 @@ function forgetProduct(id) {
|
|
|
247
304
|
const s = scope();
|
|
248
305
|
const entry = products.get(`${s}|${id}`);
|
|
249
306
|
products.delete(`${s}|${id}`);
|
|
307
|
+
deviceFullChecked.delete(`${s}|${id}`);
|
|
250
308
|
const store = (0, deviceStore_1.deviceStore)();
|
|
251
309
|
store.remove(key.base(s, id));
|
|
252
310
|
store.remove(key.full(s, id));
|
package/dist/productStore.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"productStore.js","sourceRoot":"","sources":["../src/productStore.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"productStore.js","sourceRoot":"","sources":["../src/productStore.ts"],"names":[],"mappings":"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"}
|
package/dist/products.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"products.d.ts","sourceRoot":"","sources":["../src/products.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAKV,OAAO,
|
|
1
|
+
{"version":3,"file":"products.d.ts","sourceRoot":"","sources":["../src/products.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAKV,OAAO,EAIP,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAmBjB,0EAA0E;AAC1E,wBAAgB,mBAAmB,CAAC,iBAAiB,EAAE,MAAM,EAAE,GAAG,OAAO,CAExE;AA4HD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAsChD;AAED,eAAO,MAAM,QAAQ,EAAE,kBAyDtB,CAAC"}
|
package/dist/products.js
CHANGED
|
@@ -42,7 +42,7 @@ function toMedia(nodes) {
|
|
|
42
42
|
const images = [];
|
|
43
43
|
const models = [];
|
|
44
44
|
nodes.forEach((node, index) => {
|
|
45
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
45
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
46
46
|
if (!node)
|
|
47
47
|
return;
|
|
48
48
|
const kind = toMediaKind(node.mediaContentType);
|
|
@@ -51,8 +51,10 @@ function toMedia(nodes) {
|
|
|
51
51
|
kind,
|
|
52
52
|
alt: (_d = (_b = node.alt) !== null && _b !== void 0 ? _b : (_c = node.image) === null || _c === void 0 ? void 0 : _c.altText) !== null && _d !== void 0 ? _d : null,
|
|
53
53
|
posterUrl: (_h = (_f = (_e = node.image) === null || _e === void 0 ? void 0 : _e.url) !== null && _f !== void 0 ? _f : (_g = node.previewImage) === null || _g === void 0 ? void 0 : _g.url) !== null && _h !== void 0 ? _h : null,
|
|
54
|
+
width: (_l = (_k = ((_j = node.image) !== null && _j !== void 0 ? _j : node.previewImage)) === null || _k === void 0 ? void 0 : _k.width) !== null && _l !== void 0 ? _l : null,
|
|
55
|
+
height: (_p = (_o = ((_m = node.image) !== null && _m !== void 0 ? _m : node.previewImage)) === null || _o === void 0 ? void 0 : _o.height) !== null && _p !== void 0 ? _p : null,
|
|
54
56
|
videoUrl: kind === 'video' ? pickVideoUrl(node.sources) : null,
|
|
55
|
-
embeddedUrl: kind === 'external-video' ? ((
|
|
57
|
+
embeddedUrl: kind === 'external-video' ? ((_q = node.embeddedUrl) !== null && _q !== void 0 ? _q : null) : null,
|
|
56
58
|
};
|
|
57
59
|
if (kind === 'image') {
|
|
58
60
|
if (item.posterUrl)
|
|
@@ -106,6 +108,16 @@ async function byIds(ids, opts) {
|
|
|
106
108
|
(0, productStore_1.rememberProducts)(out, 'base');
|
|
107
109
|
return out;
|
|
108
110
|
}
|
|
111
|
+
/**
|
|
112
|
+
* A product's variant as the SDK returns it: Shopify's fields, with the first selling-plan allocation
|
|
113
|
+
* as `sellingPlan` (`{ id, name }`, or null when the store enrolled it in none).
|
|
114
|
+
*/
|
|
115
|
+
function normalizeProductVariant(node) {
|
|
116
|
+
var _a, _b, _c;
|
|
117
|
+
const { sellingPlanAllocations, ...variant } = node !== null && node !== void 0 ? node : {};
|
|
118
|
+
const plan = (_c = (_b = (_a = sellingPlanAllocations === null || sellingPlanAllocations === void 0 ? void 0 : sellingPlanAllocations.nodes) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.sellingPlan) !== null && _c !== void 0 ? _c : null;
|
|
119
|
+
return { ...variant, sellingPlan: plan ? { id: plan.id, name: plan.name } : null };
|
|
120
|
+
}
|
|
109
121
|
function normalizeProduct(p) {
|
|
110
122
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
111
123
|
const mediaTypes = ((_b = (_a = p.media) === null || _a === void 0 ? void 0 : _a.nodes) !== null && _b !== void 0 ? _b : [])
|
|
@@ -133,7 +145,7 @@ function normalizeProduct(p) {
|
|
|
133
145
|
}
|
|
134
146
|
: null,
|
|
135
147
|
options: (_f = p.options) !== null && _f !== void 0 ? _f : [],
|
|
136
|
-
variants: (_h = (_g = p.variants) === null || _g === void 0 ? void 0 : _g.nodes) !== null && _h !== void 0 ? _h : [],
|
|
148
|
+
variants: ((_h = (_g = p.variants) === null || _g === void 0 ? void 0 : _g.nodes) !== null && _h !== void 0 ? _h : []).map(normalizeProductVariant),
|
|
137
149
|
images: (_k = (_j = p.images) === null || _j === void 0 ? void 0 : _j.nodes) !== null && _k !== void 0 ? _k : [],
|
|
138
150
|
featuredImage: (_l = p.featuredImage) !== null && _l !== void 0 ? _l : null,
|
|
139
151
|
onlineStoreUrl: (_m = p.onlineStoreUrl) !== null && _m !== void 0 ? _m : null,
|
package/dist/products.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"products.js","sourceRoot":"","sources":["../src/products.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"products.js","sourceRoot":"","sources":["../src/products.ts"],"names":[],"mappings":"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"}
|