@shopify/hydrogen-react 2025.1.0 → 2025.1.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/dist/browser-dev/CartCheckoutButton.mjs.map +1 -1
- package/dist/browser-dev/Image.mjs.map +1 -1
- package/dist/browser-dev/ModelViewer.mjs.map +1 -1
- package/dist/browser-dev/analytics-schema-custom-storefront-customer-tracking.mjs +1 -2
- package/dist/browser-dev/analytics-schema-custom-storefront-customer-tracking.mjs.map +1 -1
- package/dist/browser-dev/analytics.mjs +0 -3
- package/dist/browser-dev/analytics.mjs.map +1 -1
- package/dist/browser-dev/cart-hooks.mjs.map +1 -1
- package/dist/browser-dev/flatten-connection.mjs.map +1 -1
- package/dist/browser-dev/getProductOptions.mjs +39 -27
- package/dist/browser-dev/getProductOptions.mjs.map +1 -1
- package/dist/browser-dev/optionValueDecoder.mjs.map +1 -1
- package/dist/browser-dev/packages/hydrogen-react/package.json.mjs +1 -1
- package/dist/browser-dev/useMoney.mjs.map +1 -1
- package/dist/browser-prod/CartCheckoutButton.mjs.map +1 -1
- package/dist/browser-prod/Image.mjs.map +1 -1
- package/dist/browser-prod/ModelViewer.mjs.map +1 -1
- package/dist/browser-prod/analytics-schema-custom-storefront-customer-tracking.mjs +1 -2
- package/dist/browser-prod/analytics-schema-custom-storefront-customer-tracking.mjs.map +1 -1
- package/dist/browser-prod/analytics.mjs +0 -3
- package/dist/browser-prod/analytics.mjs.map +1 -1
- package/dist/browser-prod/cart-hooks.mjs.map +1 -1
- package/dist/browser-prod/flatten-connection.mjs.map +1 -1
- package/dist/browser-prod/getProductOptions.mjs +39 -27
- package/dist/browser-prod/getProductOptions.mjs.map +1 -1
- package/dist/browser-prod/optionValueDecoder.mjs.map +1 -1
- package/dist/browser-prod/packages/hydrogen-react/package.json.mjs +1 -1
- package/dist/browser-prod/useMoney.mjs.map +1 -1
- package/dist/node-dev/CartCheckoutButton.js.map +1 -1
- package/dist/node-dev/CartCheckoutButton.mjs.map +1 -1
- package/dist/node-dev/Image.js.map +1 -1
- package/dist/node-dev/Image.mjs.map +1 -1
- package/dist/node-dev/ModelViewer.js.map +1 -1
- package/dist/node-dev/ModelViewer.mjs.map +1 -1
- package/dist/node-dev/analytics-schema-custom-storefront-customer-tracking.js +1 -2
- package/dist/node-dev/analytics-schema-custom-storefront-customer-tracking.js.map +1 -1
- package/dist/node-dev/analytics-schema-custom-storefront-customer-tracking.mjs +1 -2
- package/dist/node-dev/analytics-schema-custom-storefront-customer-tracking.mjs.map +1 -1
- package/dist/node-dev/analytics.js +0 -3
- package/dist/node-dev/analytics.js.map +1 -1
- package/dist/node-dev/analytics.mjs +0 -3
- package/dist/node-dev/analytics.mjs.map +1 -1
- package/dist/node-dev/cart-hooks.js.map +1 -1
- package/dist/node-dev/cart-hooks.mjs.map +1 -1
- package/dist/node-dev/flatten-connection.js.map +1 -1
- package/dist/node-dev/flatten-connection.mjs.map +1 -1
- package/dist/node-dev/getProductOptions.js +39 -27
- package/dist/node-dev/getProductOptions.js.map +1 -1
- package/dist/node-dev/getProductOptions.mjs +39 -27
- package/dist/node-dev/getProductOptions.mjs.map +1 -1
- package/dist/node-dev/optionValueDecoder.js.map +1 -1
- package/dist/node-dev/optionValueDecoder.mjs.map +1 -1
- package/dist/node-dev/packages/hydrogen-react/package.json.js +1 -1
- package/dist/node-dev/packages/hydrogen-react/package.json.mjs +1 -1
- package/dist/node-dev/useMoney.js.map +1 -1
- package/dist/node-dev/useMoney.mjs.map +1 -1
- package/dist/node-prod/CartCheckoutButton.js.map +1 -1
- package/dist/node-prod/CartCheckoutButton.mjs.map +1 -1
- package/dist/node-prod/Image.js.map +1 -1
- package/dist/node-prod/Image.mjs.map +1 -1
- package/dist/node-prod/ModelViewer.js.map +1 -1
- package/dist/node-prod/ModelViewer.mjs.map +1 -1
- package/dist/node-prod/analytics-schema-custom-storefront-customer-tracking.js +1 -2
- package/dist/node-prod/analytics-schema-custom-storefront-customer-tracking.js.map +1 -1
- package/dist/node-prod/analytics-schema-custom-storefront-customer-tracking.mjs +1 -2
- package/dist/node-prod/analytics-schema-custom-storefront-customer-tracking.mjs.map +1 -1
- package/dist/node-prod/analytics.js +0 -3
- package/dist/node-prod/analytics.js.map +1 -1
- package/dist/node-prod/analytics.mjs +0 -3
- package/dist/node-prod/analytics.mjs.map +1 -1
- package/dist/node-prod/cart-hooks.js.map +1 -1
- package/dist/node-prod/cart-hooks.mjs.map +1 -1
- package/dist/node-prod/flatten-connection.js.map +1 -1
- package/dist/node-prod/flatten-connection.mjs.map +1 -1
- package/dist/node-prod/getProductOptions.js +39 -27
- package/dist/node-prod/getProductOptions.js.map +1 -1
- package/dist/node-prod/getProductOptions.mjs +39 -27
- package/dist/node-prod/getProductOptions.mjs.map +1 -1
- package/dist/node-prod/optionValueDecoder.js.map +1 -1
- package/dist/node-prod/optionValueDecoder.mjs.map +1 -1
- package/dist/node-prod/packages/hydrogen-react/package.json.js +1 -1
- package/dist/node-prod/packages/hydrogen-react/package.json.mjs +1 -1
- package/dist/node-prod/useMoney.js.map +1 -1
- package/dist/node-prod/useMoney.mjs.map +1 -1
- package/dist/types/flatten-connection.d.ts +1 -1
- package/dist/umd/hydrogen-react.dev.js +41 -33
- package/dist/umd/hydrogen-react.dev.js.map +1 -1
- package/dist/umd/hydrogen-react.prod.js +7 -7
- package/dist/umd/hydrogen-react.prod.js.map +1 -1
- package/package.json +5 -13
|
@@ -2405,7 +2405,7 @@ Refer to the authentication https://shopify.dev/api/storefront#authentication do
|
|
|
2405
2405
|
}
|
|
2406
2406
|
return false;
|
|
2407
2407
|
}
|
|
2408
|
-
const version = "2025.1.
|
|
2408
|
+
const version = "2025.1.1";
|
|
2409
2409
|
const SCHEMA_ID = "custom_storefront_customer_tracking/1.2";
|
|
2410
2410
|
const PAGE_RENDERED_EVENT_NAME = "page_rendered";
|
|
2411
2411
|
const COLLECTION_PAGE_RENDERED_EVENT_NAME = "collection_page_rendered";
|
|
@@ -2560,7 +2560,6 @@ Refer to the authentication https://shopify.dev/api/storefront#authentication do
|
|
|
2560
2560
|
function addToCart(payload) {
|
|
2561
2561
|
const addToCartPayload = payload;
|
|
2562
2562
|
const cartToken = parseGid(addToCartPayload.cartId);
|
|
2563
|
-
const cart_token = (cartToken == null ? void 0 : cartToken.id) ? `${cartToken.id}` : null;
|
|
2564
2563
|
return [
|
|
2565
2564
|
schemaWrapper(
|
|
2566
2565
|
SCHEMA_ID,
|
|
@@ -2568,7 +2567,7 @@ Refer to the authentication https://shopify.dev/api/storefront#authentication do
|
|
|
2568
2567
|
{
|
|
2569
2568
|
event_name: PRODUCT_ADDED_TO_CART_EVENT_NAME,
|
|
2570
2569
|
customerId: addToCartPayload.customerId,
|
|
2571
|
-
cart_token,
|
|
2570
|
+
cart_token: (cartToken == null ? void 0 : cartToken.id) ? `${cartToken.id}` : null,
|
|
2572
2571
|
total_value: addToCartPayload.totalValue,
|
|
2573
2572
|
products: formatProductPayload(addToCartPayload.products),
|
|
2574
2573
|
customer_id: parseInt(
|
|
@@ -2762,13 +2761,10 @@ Refer to the authentication https://shopify.dev/api/storefront#authentication do
|
|
|
2762
2761
|
switch (rawType) {
|
|
2763
2762
|
case PerformanceNavigation.TYPE_NAVIGATE:
|
|
2764
2763
|
return "navigate";
|
|
2765
|
-
break;
|
|
2766
2764
|
case PerformanceNavigation.TYPE_RELOAD:
|
|
2767
2765
|
return "reload";
|
|
2768
|
-
break;
|
|
2769
2766
|
case PerformanceNavigation.TYPE_BACK_FORWARD:
|
|
2770
2767
|
return "back_forward";
|
|
2771
|
-
break;
|
|
2772
2768
|
default:
|
|
2773
2769
|
return `unknown: ${rawType}`;
|
|
2774
2770
|
}
|
|
@@ -3218,14 +3214,19 @@ Refer to the authentication https://shopify.dev/api/storefront#authentication do
|
|
|
3218
3214
|
return options;
|
|
3219
3215
|
}
|
|
3220
3216
|
function mapProductOptions(options) {
|
|
3221
|
-
return
|
|
3222
|
-
|
|
3223
|
-
|
|
3224
|
-
|
|
3225
|
-
|
|
3226
|
-
|
|
3227
|
-
|
|
3228
|
-
|
|
3217
|
+
return Object.assign(
|
|
3218
|
+
{},
|
|
3219
|
+
...options.map((option) => {
|
|
3220
|
+
return {
|
|
3221
|
+
[option.name]: Object.assign(
|
|
3222
|
+
{},
|
|
3223
|
+
...(option == null ? void 0 : option.optionValues) ? option.optionValues.map((value, index2) => {
|
|
3224
|
+
return { [value.name]: index2 };
|
|
3225
|
+
}) : []
|
|
3226
|
+
)
|
|
3227
|
+
};
|
|
3228
|
+
})
|
|
3229
|
+
);
|
|
3229
3230
|
}
|
|
3230
3231
|
function mapSelectedProductOptionToObject(options) {
|
|
3231
3232
|
return Object.assign(
|
|
@@ -3238,28 +3239,30 @@ Refer to the authentication https://shopify.dev/api/storefront#authentication do
|
|
|
3238
3239
|
function mapSelectedProductOptionToObjectAsString(options) {
|
|
3239
3240
|
return JSON.stringify(mapSelectedProductOptionToObject(options));
|
|
3240
3241
|
}
|
|
3241
|
-
function encodeSelectedProductOptionAsKey(selectedOption
|
|
3242
|
+
function encodeSelectedProductOptionAsKey(selectedOption) {
|
|
3242
3243
|
if (Array.isArray(selectedOption)) {
|
|
3243
3244
|
return JSON.stringify(
|
|
3244
|
-
|
|
3245
|
-
|
|
3246
|
-
|
|
3245
|
+
Object.assign(
|
|
3246
|
+
{},
|
|
3247
|
+
...selectedOption.map((option) => ({ [option.name]: option.value }))
|
|
3248
|
+
)
|
|
3247
3249
|
);
|
|
3248
3250
|
} else {
|
|
3249
|
-
return JSON.stringify(
|
|
3250
|
-
Object.keys(selectedOption).map((key, index2) => {
|
|
3251
|
-
return productOptionMappings[index2][selectedOption[key]];
|
|
3252
|
-
})
|
|
3253
|
-
);
|
|
3251
|
+
return JSON.stringify(selectedOption);
|
|
3254
3252
|
}
|
|
3255
3253
|
}
|
|
3256
|
-
function
|
|
3254
|
+
function buildEncodingArrayFromSelectedOptions(selectedOption, productOptionMappings) {
|
|
3255
|
+
const encoding = Object.keys(selectedOption).map((key) => {
|
|
3256
|
+
return productOptionMappings[key] ? productOptionMappings[key][selectedOption[key]] : null;
|
|
3257
|
+
});
|
|
3258
|
+
return encoding.filter((code) => code !== null);
|
|
3259
|
+
}
|
|
3260
|
+
function mapVariants(variants) {
|
|
3257
3261
|
return Object.assign(
|
|
3258
3262
|
{},
|
|
3259
3263
|
...variants.map((variant) => {
|
|
3260
3264
|
const variantKey = encodeSelectedProductOptionAsKey(
|
|
3261
|
-
variant.selectedOptions || []
|
|
3262
|
-
productOptionMappings
|
|
3265
|
+
variant.selectedOptions || []
|
|
3263
3266
|
);
|
|
3264
3267
|
return { [variantKey]: variant };
|
|
3265
3268
|
})
|
|
@@ -3395,15 +3398,20 @@ Refer to the authentication https://shopify.dev/api/storefront#authentication do
|
|
|
3395
3398
|
encodedVariantAvailability,
|
|
3396
3399
|
handle: productHandle
|
|
3397
3400
|
} = checkedProduct;
|
|
3401
|
+
const selectedOptionKeys = selectedVariant == null ? void 0 : selectedVariant.selectedOptions.map(
|
|
3402
|
+
(option) => option.name
|
|
3403
|
+
);
|
|
3404
|
+
const filteredOptions = options.filter((option) => {
|
|
3405
|
+
return selectedOptionKeys && selectedOptionKeys.indexOf(option.name) >= 0;
|
|
3406
|
+
});
|
|
3398
3407
|
const productOptionMappings = mapProductOptions(options);
|
|
3399
3408
|
const variants = mapVariants(
|
|
3400
|
-
selectedVariant ? [selectedVariant, ...adjacentVariants] : adjacentVariants
|
|
3401
|
-
productOptionMappings
|
|
3409
|
+
selectedVariant ? [selectedVariant, ...adjacentVariants] : adjacentVariants
|
|
3402
3410
|
);
|
|
3403
3411
|
const selectedOptions = mapSelectedProductOptionToObject(
|
|
3404
3412
|
selectedVariant ? selectedVariant.selectedOptions : []
|
|
3405
3413
|
);
|
|
3406
|
-
const productOptions =
|
|
3414
|
+
const productOptions = filteredOptions.map((option, optionIndex) => {
|
|
3407
3415
|
return {
|
|
3408
3416
|
...option,
|
|
3409
3417
|
optionValues: option.optionValues.map((value) => {
|
|
@@ -3411,13 +3419,13 @@ Refer to the authentication https://shopify.dev/api/storefront#authentication do
|
|
|
3411
3419
|
const targetOptionParams = { ...selectedOptions };
|
|
3412
3420
|
targetOptionParams[option.name] = value.name;
|
|
3413
3421
|
const targetKey = encodeSelectedProductOptionAsKey(
|
|
3422
|
+
targetOptionParams || []
|
|
3423
|
+
);
|
|
3424
|
+
const encodingKey = buildEncodingArrayFromSelectedOptions(
|
|
3414
3425
|
targetOptionParams || [],
|
|
3415
3426
|
productOptionMappings
|
|
3416
3427
|
);
|
|
3417
|
-
const topDownKey =
|
|
3418
|
-
0,
|
|
3419
|
-
optionIndex + 1
|
|
3420
|
-
);
|
|
3428
|
+
const topDownKey = encodingKey.slice(0, optionIndex + 1);
|
|
3421
3429
|
const exists = isOptionValueCombinationInEncodedVariant(
|
|
3422
3430
|
topDownKey,
|
|
3423
3431
|
encodedVariantExistence || ""
|