@shopify/hydrogen-react 2024.1.1 → 2024.4.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/customer-account.schema.json +1 -1
- package/dist/browser-dev/CartLineProvider.mjs.map +1 -1
- package/dist/browser-dev/CartProvider.mjs +4 -0
- package/dist/browser-dev/CartProvider.mjs.map +1 -1
- package/dist/browser-dev/ExternalVideo.mjs.map +1 -1
- package/dist/browser-dev/Image.mjs.map +1 -1
- package/dist/browser-dev/ModelViewer.mjs +15 -15
- package/dist/browser-dev/ModelViewer.mjs.map +1 -1
- package/dist/browser-dev/Money.mjs.map +1 -1
- package/dist/browser-dev/Video.mjs.map +1 -1
- package/dist/browser-dev/analytics-constants.mjs +5 -1
- package/dist/browser-dev/analytics-constants.mjs.map +1 -1
- package/dist/browser-dev/analytics-schema-custom-storefront-customer-tracking.mjs +84 -6
- package/dist/browser-dev/analytics-schema-custom-storefront-customer-tracking.mjs.map +1 -1
- package/dist/browser-dev/analytics-schema-trekkie-storefront-page-view.mjs +1 -1
- package/dist/browser-dev/analytics-schema-trekkie-storefront-page-view.mjs.map +1 -1
- package/dist/browser-dev/analytics.mjs +13 -2
- package/dist/browser-dev/analytics.mjs.map +1 -1
- package/dist/browser-dev/codegen.helpers.mjs.map +1 -1
- package/dist/browser-dev/node_modules/use-sync-external-store/shim/index.mjs +1 -1
- package/dist/browser-dev/node_modules/use-sync-external-store/shim/index.mjs.map +1 -1
- package/dist/browser-dev/node_modules/use-sync-external-store/shim/with-selector.mjs +1 -1
- package/dist/browser-dev/node_modules/use-sync-external-store/shim/with-selector.mjs.map +1 -1
- package/dist/browser-dev/storefront-api-constants.mjs +1 -1
- package/dist/browser-dev/storefront-api-constants.mjs.map +1 -1
- package/dist/browser-dev/storefront-client.mjs +18 -16
- package/dist/browser-dev/storefront-client.mjs.map +1 -1
- package/dist/browser-dev/useCartAPIStateMachine.mjs.map +1 -1
- package/dist/browser-dev/useCartActions.mjs.map +1 -1
- package/dist/browser-dev/useShopifyCookies.mjs +1 -1
- package/dist/browser-dev/useShopifyCookies.mjs.map +1 -1
- package/dist/browser-prod/CartLineProvider.mjs.map +1 -1
- package/dist/browser-prod/CartProvider.mjs +4 -0
- package/dist/browser-prod/CartProvider.mjs.map +1 -1
- package/dist/browser-prod/ExternalVideo.mjs.map +1 -1
- package/dist/browser-prod/Image.mjs.map +1 -1
- package/dist/browser-prod/ModelViewer.mjs +15 -15
- package/dist/browser-prod/ModelViewer.mjs.map +1 -1
- package/dist/browser-prod/Money.mjs.map +1 -1
- package/dist/browser-prod/Video.mjs.map +1 -1
- package/dist/browser-prod/analytics-constants.mjs +5 -1
- package/dist/browser-prod/analytics-constants.mjs.map +1 -1
- package/dist/browser-prod/analytics-schema-custom-storefront-customer-tracking.mjs +84 -6
- package/dist/browser-prod/analytics-schema-custom-storefront-customer-tracking.mjs.map +1 -1
- package/dist/browser-prod/analytics-schema-trekkie-storefront-page-view.mjs +1 -1
- package/dist/browser-prod/analytics-schema-trekkie-storefront-page-view.mjs.map +1 -1
- package/dist/browser-prod/analytics.mjs +13 -2
- package/dist/browser-prod/analytics.mjs.map +1 -1
- package/dist/browser-prod/codegen.helpers.mjs.map +1 -1
- package/dist/browser-prod/node_modules/use-sync-external-store/shim/index.mjs +1 -1
- package/dist/browser-prod/node_modules/use-sync-external-store/shim/index.mjs.map +1 -1
- package/dist/browser-prod/node_modules/use-sync-external-store/shim/with-selector.mjs +1 -1
- package/dist/browser-prod/node_modules/use-sync-external-store/shim/with-selector.mjs.map +1 -1
- package/dist/browser-prod/storefront-api-constants.mjs +1 -1
- package/dist/browser-prod/storefront-api-constants.mjs.map +1 -1
- package/dist/browser-prod/storefront-client.mjs +16 -16
- package/dist/browser-prod/storefront-client.mjs.map +1 -1
- package/dist/browser-prod/useCartAPIStateMachine.mjs.map +1 -1
- package/dist/browser-prod/useCartActions.mjs.map +1 -1
- package/dist/browser-prod/useShopifyCookies.mjs +1 -1
- package/dist/browser-prod/useShopifyCookies.mjs.map +1 -1
- package/dist/node-dev/CartLineProvider.js.map +1 -1
- package/dist/node-dev/CartLineProvider.mjs.map +1 -1
- package/dist/node-dev/CartProvider.js +4 -0
- package/dist/node-dev/CartProvider.js.map +1 -1
- package/dist/node-dev/CartProvider.mjs +4 -0
- package/dist/node-dev/CartProvider.mjs.map +1 -1
- package/dist/node-dev/ExternalVideo.js.map +1 -1
- package/dist/node-dev/ExternalVideo.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 +15 -15
- package/dist/node-dev/ModelViewer.js.map +1 -1
- package/dist/node-dev/ModelViewer.mjs +15 -15
- package/dist/node-dev/ModelViewer.mjs.map +1 -1
- package/dist/node-dev/Money.js.map +1 -1
- package/dist/node-dev/Money.mjs.map +1 -1
- package/dist/node-dev/Video.js.map +1 -1
- package/dist/node-dev/Video.mjs.map +1 -1
- package/dist/node-dev/analytics-constants.js +5 -1
- package/dist/node-dev/analytics-constants.js.map +1 -1
- package/dist/node-dev/analytics-constants.mjs +5 -1
- package/dist/node-dev/analytics-constants.mjs.map +1 -1
- package/dist/node-dev/analytics-schema-custom-storefront-customer-tracking.js +83 -5
- 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 +84 -6
- package/dist/node-dev/analytics-schema-custom-storefront-customer-tracking.mjs.map +1 -1
- package/dist/node-dev/analytics-schema-trekkie-storefront-page-view.js +1 -1
- package/dist/node-dev/analytics-schema-trekkie-storefront-page-view.js.map +1 -1
- package/dist/node-dev/analytics-schema-trekkie-storefront-page-view.mjs +1 -1
- package/dist/node-dev/analytics-schema-trekkie-storefront-page-view.mjs.map +1 -1
- package/dist/node-dev/analytics.js +12 -1
- package/dist/node-dev/analytics.js.map +1 -1
- package/dist/node-dev/analytics.mjs +13 -2
- package/dist/node-dev/analytics.mjs.map +1 -1
- package/dist/node-dev/codegen.helpers.js.map +1 -1
- package/dist/node-dev/codegen.helpers.mjs.map +1 -1
- package/dist/node-dev/node_modules/use-sync-external-store/shim/index.js +1 -1
- package/dist/node-dev/node_modules/use-sync-external-store/shim/index.js.map +1 -1
- package/dist/node-dev/node_modules/use-sync-external-store/shim/index.mjs +1 -1
- package/dist/node-dev/node_modules/use-sync-external-store/shim/index.mjs.map +1 -1
- package/dist/node-dev/node_modules/use-sync-external-store/shim/with-selector.js +1 -1
- package/dist/node-dev/node_modules/use-sync-external-store/shim/with-selector.js.map +1 -1
- package/dist/node-dev/node_modules/use-sync-external-store/shim/with-selector.mjs +1 -1
- package/dist/node-dev/node_modules/use-sync-external-store/shim/with-selector.mjs.map +1 -1
- package/dist/node-dev/storefront-api-constants.js +1 -1
- package/dist/node-dev/storefront-api-constants.js.map +1 -1
- package/dist/node-dev/storefront-api-constants.mjs +1 -1
- package/dist/node-dev/storefront-api-constants.mjs.map +1 -1
- package/dist/node-dev/storefront-client.js +18 -16
- package/dist/node-dev/storefront-client.js.map +1 -1
- package/dist/node-dev/storefront-client.mjs +18 -16
- package/dist/node-dev/storefront-client.mjs.map +1 -1
- package/dist/node-dev/useCartAPIStateMachine.js.map +1 -1
- package/dist/node-dev/useCartAPIStateMachine.mjs.map +1 -1
- package/dist/node-dev/useCartActions.js.map +1 -1
- package/dist/node-dev/useCartActions.mjs.map +1 -1
- package/dist/node-dev/useShopifyCookies.js +1 -1
- package/dist/node-dev/useShopifyCookies.js.map +1 -1
- package/dist/node-dev/useShopifyCookies.mjs +1 -1
- package/dist/node-dev/useShopifyCookies.mjs.map +1 -1
- package/dist/node-prod/CartLineProvider.js.map +1 -1
- package/dist/node-prod/CartLineProvider.mjs.map +1 -1
- package/dist/node-prod/CartProvider.js +4 -0
- package/dist/node-prod/CartProvider.js.map +1 -1
- package/dist/node-prod/CartProvider.mjs +4 -0
- package/dist/node-prod/CartProvider.mjs.map +1 -1
- package/dist/node-prod/ExternalVideo.js.map +1 -1
- package/dist/node-prod/ExternalVideo.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 +15 -15
- package/dist/node-prod/ModelViewer.js.map +1 -1
- package/dist/node-prod/ModelViewer.mjs +15 -15
- package/dist/node-prod/ModelViewer.mjs.map +1 -1
- package/dist/node-prod/Money.js.map +1 -1
- package/dist/node-prod/Money.mjs.map +1 -1
- package/dist/node-prod/Video.js.map +1 -1
- package/dist/node-prod/Video.mjs.map +1 -1
- package/dist/node-prod/analytics-constants.js +5 -1
- package/dist/node-prod/analytics-constants.js.map +1 -1
- package/dist/node-prod/analytics-constants.mjs +5 -1
- package/dist/node-prod/analytics-constants.mjs.map +1 -1
- package/dist/node-prod/analytics-schema-custom-storefront-customer-tracking.js +83 -5
- 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 +84 -6
- package/dist/node-prod/analytics-schema-custom-storefront-customer-tracking.mjs.map +1 -1
- package/dist/node-prod/analytics-schema-trekkie-storefront-page-view.js +1 -1
- package/dist/node-prod/analytics-schema-trekkie-storefront-page-view.js.map +1 -1
- package/dist/node-prod/analytics-schema-trekkie-storefront-page-view.mjs +1 -1
- package/dist/node-prod/analytics-schema-trekkie-storefront-page-view.mjs.map +1 -1
- package/dist/node-prod/analytics.js +12 -1
- package/dist/node-prod/analytics.js.map +1 -1
- package/dist/node-prod/analytics.mjs +13 -2
- package/dist/node-prod/analytics.mjs.map +1 -1
- package/dist/node-prod/codegen.helpers.js.map +1 -1
- package/dist/node-prod/codegen.helpers.mjs.map +1 -1
- package/dist/node-prod/node_modules/use-sync-external-store/shim/index.js +1 -1
- package/dist/node-prod/node_modules/use-sync-external-store/shim/index.js.map +1 -1
- package/dist/node-prod/node_modules/use-sync-external-store/shim/index.mjs +1 -1
- package/dist/node-prod/node_modules/use-sync-external-store/shim/index.mjs.map +1 -1
- package/dist/node-prod/node_modules/use-sync-external-store/shim/with-selector.js +1 -1
- package/dist/node-prod/node_modules/use-sync-external-store/shim/with-selector.js.map +1 -1
- package/dist/node-prod/node_modules/use-sync-external-store/shim/with-selector.mjs +1 -1
- package/dist/node-prod/node_modules/use-sync-external-store/shim/with-selector.mjs.map +1 -1
- package/dist/node-prod/storefront-api-constants.js +1 -1
- package/dist/node-prod/storefront-api-constants.js.map +1 -1
- package/dist/node-prod/storefront-api-constants.mjs +1 -1
- package/dist/node-prod/storefront-api-constants.mjs.map +1 -1
- package/dist/node-prod/storefront-client.js +16 -16
- package/dist/node-prod/storefront-client.js.map +1 -1
- package/dist/node-prod/storefront-client.mjs +16 -16
- package/dist/node-prod/storefront-client.mjs.map +1 -1
- package/dist/node-prod/useCartAPIStateMachine.js.map +1 -1
- package/dist/node-prod/useCartAPIStateMachine.mjs.map +1 -1
- package/dist/node-prod/useCartActions.js.map +1 -1
- package/dist/node-prod/useCartActions.mjs.map +1 -1
- package/dist/node-prod/useShopifyCookies.js +1 -1
- package/dist/node-prod/useShopifyCookies.js.map +1 -1
- package/dist/node-prod/useShopifyCookies.mjs +1 -1
- package/dist/node-prod/useShopifyCookies.mjs.map +1 -1
- package/dist/types/CartLineProvider.d.ts +1 -1
- package/dist/types/CartProvider.d.ts +2 -2
- package/dist/types/ExternalVideo.d.ts +1 -1
- package/dist/types/Image.d.ts +1 -1
- package/dist/types/ModelViewer.d.ts +1 -1
- package/dist/types/Money.d.ts +1 -1
- package/dist/types/Video.d.ts +1 -1
- package/dist/types/analytics-constants.d.ts +11 -5
- package/dist/types/analytics-schema-custom-storefront-customer-tracking.d.ts +4 -0
- package/dist/types/analytics-types.d.ts +4 -0
- package/dist/types/cart-types.d.ts +2 -0
- package/dist/types/codegen.helpers.d.ts +2 -2
- package/dist/types/storefront-api-constants.d.ts +1 -1
- package/dist/types/storefront-api-types.d.ts +395 -25
- package/dist/types/storefront-client.d.ts +2 -2
- package/dist/types/useCartAPIStateMachine.d.ts +2 -2
- package/dist/types/useCartActions.d.ts +2 -2
- package/dist/umd/hydrogen-react.dev.js +136 -41
- package/dist/umd/hydrogen-react.dev.js.map +1 -1
- package/dist/umd/hydrogen-react.prod.js +17 -18
- package/dist/umd/hydrogen-react.prod.js.map +1 -1
- package/package.json +3 -3
- package/storefront.schema.json +1 -1
|
@@ -6,12 +6,12 @@ type CartResponse = PartialDeep<CartType, {
|
|
|
6
6
|
/**
|
|
7
7
|
* The `useCartActions` hook returns helper graphql functions for Storefront Cart API
|
|
8
8
|
*
|
|
9
|
-
* See [cart API graphql mutations](https://shopify.dev/api/storefront/2024-
|
|
9
|
+
* See [cart API graphql mutations](https://shopify.dev/api/storefront/2024-04/objects/Cart)
|
|
10
10
|
*/
|
|
11
11
|
export declare function useCartActions({ numCartLines, cartFragment, countryCode, languageCode, }: {
|
|
12
12
|
/** Maximum number of cart lines to fetch. Defaults to 250 cart lines. */
|
|
13
13
|
numCartLines?: number;
|
|
14
|
-
/** A fragment used to query the Storefront API's [Cart object](https://shopify.dev/api/storefront/2024-
|
|
14
|
+
/** A fragment used to query the Storefront API's [Cart object](https://shopify.dev/api/storefront/2024-04/objects/cart) for all queries and mutations. A default value is used if no argument is provided. */
|
|
15
15
|
cartFragment: string;
|
|
16
16
|
/** The ISO country code for i18n. Default to `US` */
|
|
17
17
|
countryCode?: CountryCode;
|
|
@@ -796,21 +796,24 @@
|
|
|
796
796
|
}
|
|
797
797
|
`
|
|
798
798
|
);
|
|
799
|
-
const SFAPI_VERSION = "2024-
|
|
800
|
-
const
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
799
|
+
const SFAPI_VERSION = "2024-04";
|
|
800
|
+
const MOCK_SHOP_DOMAIN = "mock.shop";
|
|
801
|
+
const isMockShop = (domain) => domain.includes(MOCK_SHOP_DOMAIN);
|
|
802
|
+
function createStorefrontClient({
|
|
803
|
+
storeDomain,
|
|
804
|
+
privateStorefrontToken,
|
|
805
|
+
publicStorefrontToken,
|
|
806
|
+
storefrontApiVersion = SFAPI_VERSION,
|
|
807
|
+
contentType
|
|
808
|
+
}) {
|
|
809
809
|
if (!storeDomain) {
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
810
|
+
{
|
|
811
|
+
storeDomain = MOCK_SHOP_DOMAIN;
|
|
812
|
+
warnOnce(
|
|
813
|
+
`storeDomain missing, defaulting to ${MOCK_SHOP_DOMAIN}`,
|
|
814
|
+
"info"
|
|
815
|
+
);
|
|
816
|
+
}
|
|
814
817
|
}
|
|
815
818
|
if (storefrontApiVersion !== SFAPI_VERSION) {
|
|
816
819
|
warnOnce(
|
|
@@ -891,10 +894,9 @@ Refer to the authentication https://shopify.dev/api/storefront#authentication do
|
|
|
891
894
|
}
|
|
892
895
|
const warnings = /* @__PURE__ */ new Set();
|
|
893
896
|
const H2_PREFIX_ERROR = "[h2:error:createStorefrontClient] ";
|
|
894
|
-
const
|
|
895
|
-
const warnOnce = (string) => {
|
|
897
|
+
const warnOnce = (string, type = "warn") => {
|
|
896
898
|
if (!warnings.has(string)) {
|
|
897
|
-
console
|
|
899
|
+
console[type](`[h2:${type}:createStorefrontClient] ` + string);
|
|
898
900
|
warnings.add(string);
|
|
899
901
|
}
|
|
900
902
|
};
|
|
@@ -1750,6 +1752,7 @@ Refer to the authentication https://shopify.dev/api/storefront#authentication do
|
|
|
1750
1752
|
}
|
|
1751
1753
|
});
|
|
1752
1754
|
const cartReady = React$1.useRef(false);
|
|
1755
|
+
const [isCartReady, setIsCartReady] = React$1.useState(false);
|
|
1753
1756
|
const cartCompleted = cartState.matches("cartCompleted");
|
|
1754
1757
|
const countryChanged = (cartState.value === "idle" || cartState.value === "error" || cartState.value === "cartCompleted") && countryCode !== ((_c = (_b = (_a = cartState == null ? void 0 : cartState.context) == null ? void 0 : _a.cart) == null ? void 0 : _b.buyerIdentity) == null ? void 0 : _c.countryCode) && !cartState.context.errors;
|
|
1755
1758
|
const fetchingFromStorage = React$1.useRef(false);
|
|
@@ -1768,6 +1771,7 @@ Refer to the authentication https://shopify.dev/api/storefront#authentication do
|
|
|
1768
1771
|
}
|
|
1769
1772
|
}
|
|
1770
1773
|
cartReady.current = true;
|
|
1774
|
+
setIsCartReady(true);
|
|
1771
1775
|
}
|
|
1772
1776
|
}, [cart, cartReady, cartSend]);
|
|
1773
1777
|
React$1.useEffect(() => {
|
|
@@ -1846,6 +1850,7 @@ Refer to the authentication https://shopify.dev/api/storefront#authentication do
|
|
|
1846
1850
|
error: (_b2 = cartDisplayState == null ? void 0 : cartDisplayState.context) == null ? void 0 : _b2.errors,
|
|
1847
1851
|
totalQuantity: ((_d2 = (_c2 = cartDisplayState == null ? void 0 : cartDisplayState.context) == null ? void 0 : _c2.cart) == null ? void 0 : _d2.totalQuantity) ?? 0,
|
|
1848
1852
|
cartCreate,
|
|
1853
|
+
cartReady: isCartReady,
|
|
1849
1854
|
linesAdd(lines) {
|
|
1850
1855
|
var _a3, _b3;
|
|
1851
1856
|
if ((_b3 = (_a3 = cartDisplayState == null ? void 0 : cartDisplayState.context) == null ? void 0 : _a3.cart) == null ? void 0 : _b3.id) {
|
|
@@ -1909,6 +1914,7 @@ Refer to the authentication https://shopify.dev/api/storefront#authentication do
|
|
|
1909
1914
|
};
|
|
1910
1915
|
}, [
|
|
1911
1916
|
cartCreate,
|
|
1917
|
+
isCartReady,
|
|
1912
1918
|
(_f = cartDisplayState == null ? void 0 : cartDisplayState.context) == null ? void 0 : _f.cart,
|
|
1913
1919
|
(_g = cartDisplayState == null ? void 0 : cartDisplayState.context) == null ? void 0 : _g.errors,
|
|
1914
1920
|
cartDisplayState.value,
|
|
@@ -2252,7 +2258,11 @@ Refer to the authentication https://shopify.dev/api/storefront#authentication do
|
|
|
2252
2258
|
}
|
|
2253
2259
|
const AnalyticsEventName = {
|
|
2254
2260
|
PAGE_VIEW: "PAGE_VIEW",
|
|
2255
|
-
ADD_TO_CART: "ADD_TO_CART"
|
|
2261
|
+
ADD_TO_CART: "ADD_TO_CART",
|
|
2262
|
+
PAGE_VIEW_2: "PAGE_VIEW_2",
|
|
2263
|
+
COLLECTION_VIEW: "COLLECTION_VIEW",
|
|
2264
|
+
PRODUCT_VIEW: "PRODUCT_VIEW",
|
|
2265
|
+
SEARCH_VIEW: "SEARCH_VIEW"
|
|
2256
2266
|
};
|
|
2257
2267
|
const AnalyticsPageType = {
|
|
2258
2268
|
article: "article",
|
|
@@ -2355,7 +2365,7 @@ Refer to the authentication https://shopify.dev/api/storefront#authentication do
|
|
|
2355
2365
|
addDataIf(
|
|
2356
2366
|
{
|
|
2357
2367
|
pageType: pageViewPayload.pageType,
|
|
2358
|
-
customerId: pageViewPayload.customerId,
|
|
2368
|
+
customerId: parseInt(parseGid(pageViewPayload.customerId).id || "0"),
|
|
2359
2369
|
resourceType,
|
|
2360
2370
|
resourceId: parseInt(id)
|
|
2361
2371
|
},
|
|
@@ -2400,12 +2410,15 @@ Refer to the authentication https://shopify.dev/api/storefront#authentication do
|
|
|
2400
2410
|
const PRODUCT_PAGE_RENDERED_EVENT_NAME = "product_page_rendered";
|
|
2401
2411
|
const PRODUCT_ADDED_TO_CART_EVENT_NAME = "product_added_to_cart";
|
|
2402
2412
|
const SEARCH_SUBMITTED_EVENT_NAME = "search_submitted";
|
|
2413
|
+
function prepareAdditionalPayload(payload) {
|
|
2414
|
+
return {
|
|
2415
|
+
canonical_url: payload.canonicalUrl || payload.url,
|
|
2416
|
+
customer_id: parseInt(parseGid(payload.customerId).id || "0")
|
|
2417
|
+
};
|
|
2418
|
+
}
|
|
2403
2419
|
function pageView(payload) {
|
|
2404
2420
|
const pageViewPayload = payload;
|
|
2405
|
-
const additionalPayload =
|
|
2406
|
-
canonical_url: pageViewPayload.canonicalUrl || pageViewPayload.url,
|
|
2407
|
-
customer_id: pageViewPayload.customerId
|
|
2408
|
-
};
|
|
2421
|
+
const additionalPayload = prepareAdditionalPayload(pageViewPayload);
|
|
2409
2422
|
const pageType = pageViewPayload.pageType;
|
|
2410
2423
|
const pageViewEvents = [];
|
|
2411
2424
|
pageViewEvents.push(
|
|
@@ -2470,6 +2483,74 @@ Refer to the authentication https://shopify.dev/api/storefront#authentication do
|
|
|
2470
2483
|
}
|
|
2471
2484
|
return pageViewEvents;
|
|
2472
2485
|
}
|
|
2486
|
+
function pageView2(payload) {
|
|
2487
|
+
const pageViewPayload = payload;
|
|
2488
|
+
const additionalPayload = prepareAdditionalPayload(pageViewPayload);
|
|
2489
|
+
return [
|
|
2490
|
+
schemaWrapper(
|
|
2491
|
+
SCHEMA_ID,
|
|
2492
|
+
addDataIf(
|
|
2493
|
+
{
|
|
2494
|
+
event_name: PAGE_RENDERED_EVENT_NAME,
|
|
2495
|
+
...additionalPayload
|
|
2496
|
+
},
|
|
2497
|
+
formatPayload(pageViewPayload)
|
|
2498
|
+
)
|
|
2499
|
+
)
|
|
2500
|
+
];
|
|
2501
|
+
}
|
|
2502
|
+
function collectionView(payload) {
|
|
2503
|
+
const pageViewPayload = payload;
|
|
2504
|
+
const additionalPayload = prepareAdditionalPayload(pageViewPayload);
|
|
2505
|
+
return [
|
|
2506
|
+
schemaWrapper(
|
|
2507
|
+
SCHEMA_ID,
|
|
2508
|
+
addDataIf(
|
|
2509
|
+
{
|
|
2510
|
+
event_name: COLLECTION_PAGE_RENDERED_EVENT_NAME,
|
|
2511
|
+
...additionalPayload,
|
|
2512
|
+
collection_name: pageViewPayload.collectionHandle
|
|
2513
|
+
},
|
|
2514
|
+
formatPayload(pageViewPayload)
|
|
2515
|
+
)
|
|
2516
|
+
)
|
|
2517
|
+
];
|
|
2518
|
+
}
|
|
2519
|
+
function productView(payload) {
|
|
2520
|
+
const pageViewPayload = payload;
|
|
2521
|
+
const additionalPayload = prepareAdditionalPayload(pageViewPayload);
|
|
2522
|
+
return [
|
|
2523
|
+
schemaWrapper(
|
|
2524
|
+
SCHEMA_ID,
|
|
2525
|
+
addDataIf(
|
|
2526
|
+
{
|
|
2527
|
+
event_name: PRODUCT_PAGE_RENDERED_EVENT_NAME,
|
|
2528
|
+
...additionalPayload,
|
|
2529
|
+
products: formatProductPayload(pageViewPayload.products),
|
|
2530
|
+
total_value: pageViewPayload.totalValue
|
|
2531
|
+
},
|
|
2532
|
+
formatPayload(pageViewPayload)
|
|
2533
|
+
)
|
|
2534
|
+
)
|
|
2535
|
+
];
|
|
2536
|
+
}
|
|
2537
|
+
function searchView(payload) {
|
|
2538
|
+
const pageViewPayload = payload;
|
|
2539
|
+
const additionalPayload = prepareAdditionalPayload(pageViewPayload);
|
|
2540
|
+
return [
|
|
2541
|
+
schemaWrapper(
|
|
2542
|
+
SCHEMA_ID,
|
|
2543
|
+
addDataIf(
|
|
2544
|
+
{
|
|
2545
|
+
event_name: SEARCH_SUBMITTED_EVENT_NAME,
|
|
2546
|
+
...additionalPayload,
|
|
2547
|
+
search_string: pageViewPayload.searchString
|
|
2548
|
+
},
|
|
2549
|
+
formatPayload(pageViewPayload)
|
|
2550
|
+
)
|
|
2551
|
+
)
|
|
2552
|
+
];
|
|
2553
|
+
}
|
|
2473
2554
|
function addToCart(payload) {
|
|
2474
2555
|
const addToCartPayload = payload;
|
|
2475
2556
|
const cartToken = parseGid(addToCartPayload.cartId);
|
|
@@ -2483,7 +2564,10 @@ Refer to the authentication https://shopify.dev/api/storefront#authentication do
|
|
|
2483
2564
|
customerId: addToCartPayload.customerId,
|
|
2484
2565
|
cart_token,
|
|
2485
2566
|
total_value: addToCartPayload.totalValue,
|
|
2486
|
-
products: formatProductPayload(addToCartPayload.products)
|
|
2567
|
+
products: formatProductPayload(addToCartPayload.products),
|
|
2568
|
+
customer_id: parseInt(
|
|
2569
|
+
parseGid(addToCartPayload.customerId).id || "0"
|
|
2570
|
+
)
|
|
2487
2571
|
},
|
|
2488
2572
|
formatPayload(addToCartPayload)
|
|
2489
2573
|
)
|
|
@@ -2536,8 +2620,8 @@ Refer to the authentication https://shopify.dev/api/storefront#authentication do
|
|
|
2536
2620
|
if (!payload.hasUserConsent)
|
|
2537
2621
|
return Promise.resolve();
|
|
2538
2622
|
let events = [];
|
|
2623
|
+
const pageViewPayload = payload;
|
|
2539
2624
|
if (eventName === AnalyticsEventName.PAGE_VIEW) {
|
|
2540
|
-
const pageViewPayload = payload;
|
|
2541
2625
|
events = events.concat(
|
|
2542
2626
|
pageView$1(pageViewPayload),
|
|
2543
2627
|
pageView(pageViewPayload)
|
|
@@ -2546,6 +2630,17 @@ Refer to the authentication https://shopify.dev/api/storefront#authentication do
|
|
|
2546
2630
|
events = events.concat(
|
|
2547
2631
|
addToCart(payload)
|
|
2548
2632
|
);
|
|
2633
|
+
} else if (eventName === AnalyticsEventName.PAGE_VIEW_2) {
|
|
2634
|
+
events = events.concat(
|
|
2635
|
+
pageView$1(pageViewPayload),
|
|
2636
|
+
pageView2(pageViewPayload)
|
|
2637
|
+
);
|
|
2638
|
+
} else if (eventName === AnalyticsEventName.COLLECTION_VIEW) {
|
|
2639
|
+
events = events.concat(collectionView(pageViewPayload));
|
|
2640
|
+
} else if (eventName === AnalyticsEventName.PRODUCT_VIEW) {
|
|
2641
|
+
events = events.concat(productView(pageViewPayload));
|
|
2642
|
+
} else if (eventName === AnalyticsEventName.SEARCH_VIEW) {
|
|
2643
|
+
events = events.concat(searchView(pageViewPayload));
|
|
2549
2644
|
}
|
|
2550
2645
|
if (events.length) {
|
|
2551
2646
|
return sendToShopify(events, shopDomain);
|
|
@@ -3444,22 +3539,22 @@ Refer to the authentication https://shopify.dev/api/storefront#authentication do
|
|
|
3444
3539
|
module: true
|
|
3445
3540
|
}
|
|
3446
3541
|
);
|
|
3447
|
-
const hydrogenEventListener = {
|
|
3448
|
-
error: passthroughProps.onError,
|
|
3449
|
-
load: passthroughProps.onLoad,
|
|
3450
|
-
preload: passthroughProps.onPreload,
|
|
3451
|
-
"model-visibility": passthroughProps.onModelVisibility,
|
|
3452
|
-
progress: passthroughProps.onProgress,
|
|
3453
|
-
"ar-status": passthroughProps.onArStatus,
|
|
3454
|
-
"ar-tracking": passthroughProps.onArTracking,
|
|
3455
|
-
"quick-look-button-tapped": passthroughProps.onQuickLookButtonTapped,
|
|
3456
|
-
"camera-change": passthroughProps.onCameraChange,
|
|
3457
|
-
"environment-change": passthroughProps.onEnvironmentChange,
|
|
3458
|
-
play: passthroughProps.onPlay,
|
|
3459
|
-
pause: passthroughProps.onPause,
|
|
3460
|
-
"scene-graph-ready": passthroughProps.onSceneGraphReady
|
|
3461
|
-
};
|
|
3462
3542
|
React$1.useEffect(() => {
|
|
3543
|
+
const hydrogenEventListener = {
|
|
3544
|
+
error: passthroughProps.onError,
|
|
3545
|
+
load: passthroughProps.onLoad,
|
|
3546
|
+
preload: passthroughProps.onPreload,
|
|
3547
|
+
"model-visibility": passthroughProps.onModelVisibility,
|
|
3548
|
+
progress: passthroughProps.onProgress,
|
|
3549
|
+
"ar-status": passthroughProps.onArStatus,
|
|
3550
|
+
"ar-tracking": passthroughProps.onArTracking,
|
|
3551
|
+
"quick-look-button-tapped": passthroughProps.onQuickLookButtonTapped,
|
|
3552
|
+
"camera-change": passthroughProps.onCameraChange,
|
|
3553
|
+
"environment-change": passthroughProps.onEnvironmentChange,
|
|
3554
|
+
play: passthroughProps.onPlay,
|
|
3555
|
+
pause: passthroughProps.onPause,
|
|
3556
|
+
"scene-graph-ready": passthroughProps.onSceneGraphReady
|
|
3557
|
+
};
|
|
3463
3558
|
if (!modelViewer) {
|
|
3464
3559
|
return;
|
|
3465
3560
|
}
|
|
@@ -3869,7 +3964,7 @@ Refer to the authentication https://shopify.dev/api/storefront#authentication do
|
|
|
3869
3964
|
setCookie(SHOPIFY_Y, "", 0, domain);
|
|
3870
3965
|
setCookie(SHOPIFY_S, "", 0, domain);
|
|
3871
3966
|
}
|
|
3872
|
-
});
|
|
3967
|
+
}, [options, hasUserConsent, domain]);
|
|
3873
3968
|
}
|
|
3874
3969
|
function setCookie(name, value, maxage, domain) {
|
|
3875
3970
|
document.cookie = l(name, value, {
|