@shopify/hydrogen-react 0.0.0-next-ea3959b → 0.0.0-next-dada720
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 +21 -21
- package/dist/browser-dev/AddToCartButton.mjs.map +1 -1
- package/dist/browser-dev/BuyNowButton.mjs.map +1 -1
- package/dist/browser-dev/CartCheckoutButton.mjs.map +1 -1
- package/dist/browser-dev/CartCost.mjs +25 -0
- package/dist/browser-dev/CartCost.mjs.map +1 -0
- package/dist/browser-dev/CartLinePrice.mjs +18 -0
- package/dist/browser-dev/CartLinePrice.mjs.map +1 -0
- package/dist/browser-dev/CartLineProvider.mjs +19 -0
- package/dist/browser-dev/CartLineProvider.mjs.map +1 -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/MediaFile.mjs.map +1 -1
- package/dist/browser-dev/ModelViewer.mjs.map +1 -1
- package/dist/browser-dev/ProductPrice.mjs.map +1 -1
- package/dist/browser-dev/ProductProvider.mjs.map +1 -1
- package/dist/browser-dev/ShopPayButton.mjs +10 -10
- package/dist/browser-dev/ShopPayButton.mjs.map +1 -1
- package/dist/browser-dev/ShopifyProvider.mjs +9 -21
- package/dist/browser-dev/ShopifyProvider.mjs.map +1 -1
- package/dist/browser-dev/analytics-constants.mjs +43 -0
- package/dist/browser-dev/analytics-constants.mjs.map +1 -0
- package/dist/browser-dev/analytics-schema-custom-storefront-customer-tracking.mjs +145 -0
- package/dist/browser-dev/analytics-schema-custom-storefront-customer-tracking.mjs.map +1 -0
- package/dist/browser-dev/analytics-schema-trekkie-storefront-page-view.mjs +58 -0
- package/dist/browser-dev/analytics-schema-trekkie-storefront-page-view.mjs.map +1 -0
- package/dist/browser-dev/analytics-utils.mjs +49 -0
- package/dist/browser-dev/analytics-utils.mjs.map +1 -0
- package/dist/browser-dev/analytics.mjs +159 -0
- package/dist/browser-dev/analytics.mjs.map +1 -0
- package/dist/browser-dev/cart-hooks.mjs +5 -7
- package/dist/browser-dev/cart-hooks.mjs.map +1 -1
- package/dist/browser-dev/cookies-utils.mjs +50 -0
- package/dist/browser-dev/cookies-utils.mjs.map +1 -0
- package/dist/browser-dev/index.mjs +20 -2
- package/dist/browser-dev/index.mjs.map +1 -1
- package/dist/browser-dev/parse-metafield.mjs.map +1 -1
- package/dist/browser-dev/storefront-client.mjs +13 -12
- package/dist/browser-dev/storefront-client.mjs.map +1 -1
- package/dist/browser-dev/useMoney.mjs +2 -1
- package/dist/browser-dev/useMoney.mjs.map +1 -1
- package/dist/browser-dev/useShopifyCookies.mjs +41 -0
- package/dist/browser-dev/useShopifyCookies.mjs.map +1 -0
- package/dist/browser-prod/AddToCartButton.mjs.map +1 -1
- package/dist/browser-prod/BuyNowButton.mjs.map +1 -1
- package/dist/browser-prod/CartCheckoutButton.mjs.map +1 -1
- package/dist/browser-prod/CartCost.mjs +25 -0
- package/dist/browser-prod/CartCost.mjs.map +1 -0
- package/dist/browser-prod/CartLinePrice.mjs +18 -0
- package/dist/browser-prod/CartLinePrice.mjs.map +1 -0
- package/dist/browser-prod/CartLineProvider.mjs +19 -0
- package/dist/browser-prod/CartLineProvider.mjs.map +1 -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/MediaFile.mjs.map +1 -1
- package/dist/browser-prod/ModelViewer.mjs.map +1 -1
- package/dist/browser-prod/ProductPrice.mjs.map +1 -1
- package/dist/browser-prod/ProductProvider.mjs.map +1 -1
- package/dist/browser-prod/ShopPayButton.mjs +10 -10
- package/dist/browser-prod/ShopPayButton.mjs.map +1 -1
- package/dist/browser-prod/ShopifyProvider.mjs +9 -16
- package/dist/browser-prod/ShopifyProvider.mjs.map +1 -1
- package/dist/browser-prod/analytics-constants.mjs +43 -0
- package/dist/browser-prod/analytics-constants.mjs.map +1 -0
- package/dist/browser-prod/analytics-schema-custom-storefront-customer-tracking.mjs +145 -0
- package/dist/browser-prod/analytics-schema-custom-storefront-customer-tracking.mjs.map +1 -0
- package/dist/browser-prod/analytics-schema-trekkie-storefront-page-view.mjs +58 -0
- package/dist/browser-prod/analytics-schema-trekkie-storefront-page-view.mjs.map +1 -0
- package/dist/browser-prod/analytics-utils.mjs +49 -0
- package/dist/browser-prod/analytics-utils.mjs.map +1 -0
- package/dist/browser-prod/analytics.mjs +158 -0
- package/dist/browser-prod/analytics.mjs.map +1 -0
- package/dist/browser-prod/cart-hooks.mjs +5 -7
- package/dist/browser-prod/cart-hooks.mjs.map +1 -1
- package/dist/browser-prod/cookies-utils.mjs +50 -0
- package/dist/browser-prod/cookies-utils.mjs.map +1 -0
- package/dist/browser-prod/index.mjs +20 -2
- package/dist/browser-prod/index.mjs.map +1 -1
- package/dist/browser-prod/parse-metafield.mjs.map +1 -1
- package/dist/browser-prod/storefront-client.mjs +13 -12
- package/dist/browser-prod/storefront-client.mjs.map +1 -1
- package/dist/browser-prod/useMoney.mjs +2 -1
- package/dist/browser-prod/useMoney.mjs.map +1 -1
- package/dist/browser-prod/useShopifyCookies.mjs +41 -0
- package/dist/browser-prod/useShopifyCookies.mjs.map +1 -0
- package/dist/node-dev/AddToCartButton.js.map +1 -1
- package/dist/node-dev/AddToCartButton.mjs.map +1 -1
- package/dist/node-dev/BuyNowButton.js.map +1 -1
- package/dist/node-dev/BuyNowButton.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/CartCost.js +25 -0
- package/dist/node-dev/CartCost.js.map +1 -0
- package/dist/node-dev/CartCost.mjs +25 -0
- package/dist/node-dev/CartCost.mjs.map +1 -0
- package/dist/node-dev/CartLinePrice.js +18 -0
- package/dist/node-dev/CartLinePrice.js.map +1 -0
- package/dist/node-dev/CartLinePrice.mjs +18 -0
- package/dist/node-dev/CartLinePrice.mjs.map +1 -0
- package/dist/node-dev/CartLineProvider.js +19 -0
- package/dist/node-dev/CartLineProvider.js.map +1 -0
- package/dist/node-dev/CartLineProvider.mjs +19 -0
- package/dist/node-dev/CartLineProvider.mjs.map +1 -0
- package/dist/node-dev/CartProvider.js.map +1 -1
- 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/MediaFile.js.map +1 -1
- package/dist/node-dev/MediaFile.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/ProductPrice.js.map +1 -1
- package/dist/node-dev/ProductPrice.mjs.map +1 -1
- package/dist/node-dev/ProductProvider.js.map +1 -1
- package/dist/node-dev/ProductProvider.mjs.map +1 -1
- package/dist/node-dev/ShopPayButton.js +9 -9
- package/dist/node-dev/ShopPayButton.js.map +1 -1
- package/dist/node-dev/ShopPayButton.mjs +10 -10
- package/dist/node-dev/ShopPayButton.mjs.map +1 -1
- package/dist/node-dev/ShopifyProvider.js +9 -21
- package/dist/node-dev/ShopifyProvider.js.map +1 -1
- package/dist/node-dev/ShopifyProvider.mjs +9 -21
- package/dist/node-dev/ShopifyProvider.mjs.map +1 -1
- package/dist/node-dev/analytics-constants.js +43 -0
- package/dist/node-dev/analytics-constants.js.map +1 -0
- package/dist/node-dev/analytics-constants.mjs +43 -0
- package/dist/node-dev/analytics-constants.mjs.map +1 -0
- package/dist/node-dev/analytics-schema-custom-storefront-customer-tracking.js +145 -0
- package/dist/node-dev/analytics-schema-custom-storefront-customer-tracking.js.map +1 -0
- package/dist/node-dev/analytics-schema-custom-storefront-customer-tracking.mjs +145 -0
- package/dist/node-dev/analytics-schema-custom-storefront-customer-tracking.mjs.map +1 -0
- package/dist/node-dev/analytics-schema-trekkie-storefront-page-view.js +58 -0
- package/dist/node-dev/analytics-schema-trekkie-storefront-page-view.js.map +1 -0
- package/dist/node-dev/analytics-schema-trekkie-storefront-page-view.mjs +58 -0
- package/dist/node-dev/analytics-schema-trekkie-storefront-page-view.mjs.map +1 -0
- package/dist/node-dev/analytics-utils.js +49 -0
- package/dist/node-dev/analytics-utils.js.map +1 -0
- package/dist/node-dev/analytics-utils.mjs +49 -0
- package/dist/node-dev/analytics-utils.mjs.map +1 -0
- package/dist/node-dev/analytics.js +159 -0
- package/dist/node-dev/analytics.js.map +1 -0
- package/dist/node-dev/analytics.mjs +159 -0
- package/dist/node-dev/analytics.mjs.map +1 -0
- package/dist/node-dev/cart-hooks.js +4 -6
- package/dist/node-dev/cart-hooks.js.map +1 -1
- package/dist/node-dev/cart-hooks.mjs +5 -7
- package/dist/node-dev/cart-hooks.mjs.map +1 -1
- package/dist/node-dev/cookies-utils.js +50 -0
- package/dist/node-dev/cookies-utils.js.map +1 -0
- package/dist/node-dev/cookies-utils.mjs +50 -0
- package/dist/node-dev/cookies-utils.mjs.map +1 -0
- package/dist/node-dev/index.js +20 -2
- package/dist/node-dev/index.js.map +1 -1
- package/dist/node-dev/index.mjs +20 -2
- package/dist/node-dev/index.mjs.map +1 -1
- package/dist/node-dev/parse-metafield.js.map +1 -1
- package/dist/node-dev/parse-metafield.mjs.map +1 -1
- package/dist/node-dev/storefront-client.js +13 -12
- package/dist/node-dev/storefront-client.js.map +1 -1
- package/dist/node-dev/storefront-client.mjs +13 -12
- package/dist/node-dev/storefront-client.mjs.map +1 -1
- package/dist/node-dev/useMoney.js +2 -1
- package/dist/node-dev/useMoney.js.map +1 -1
- package/dist/node-dev/useMoney.mjs +2 -1
- package/dist/node-dev/useMoney.mjs.map +1 -1
- package/dist/node-dev/useShopifyCookies.js +41 -0
- package/dist/node-dev/useShopifyCookies.js.map +1 -0
- package/dist/node-dev/useShopifyCookies.mjs +41 -0
- package/dist/node-dev/useShopifyCookies.mjs.map +1 -0
- package/dist/node-prod/AddToCartButton.js.map +1 -1
- package/dist/node-prod/AddToCartButton.mjs.map +1 -1
- package/dist/node-prod/BuyNowButton.js.map +1 -1
- package/dist/node-prod/BuyNowButton.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/CartCost.js +25 -0
- package/dist/node-prod/CartCost.js.map +1 -0
- package/dist/node-prod/CartCost.mjs +25 -0
- package/dist/node-prod/CartCost.mjs.map +1 -0
- package/dist/node-prod/CartLinePrice.js +18 -0
- package/dist/node-prod/CartLinePrice.js.map +1 -0
- package/dist/node-prod/CartLinePrice.mjs +18 -0
- package/dist/node-prod/CartLinePrice.mjs.map +1 -0
- package/dist/node-prod/CartLineProvider.js +19 -0
- package/dist/node-prod/CartLineProvider.js.map +1 -0
- package/dist/node-prod/CartLineProvider.mjs +19 -0
- package/dist/node-prod/CartLineProvider.mjs.map +1 -0
- package/dist/node-prod/CartProvider.js.map +1 -1
- 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/MediaFile.js.map +1 -1
- package/dist/node-prod/MediaFile.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/ProductPrice.js.map +1 -1
- package/dist/node-prod/ProductPrice.mjs.map +1 -1
- package/dist/node-prod/ProductProvider.js.map +1 -1
- package/dist/node-prod/ProductProvider.mjs.map +1 -1
- package/dist/node-prod/ShopPayButton.js +9 -9
- package/dist/node-prod/ShopPayButton.js.map +1 -1
- package/dist/node-prod/ShopPayButton.mjs +10 -10
- package/dist/node-prod/ShopPayButton.mjs.map +1 -1
- package/dist/node-prod/ShopifyProvider.js +9 -16
- package/dist/node-prod/ShopifyProvider.js.map +1 -1
- package/dist/node-prod/ShopifyProvider.mjs +9 -16
- package/dist/node-prod/ShopifyProvider.mjs.map +1 -1
- package/dist/node-prod/analytics-constants.js +43 -0
- package/dist/node-prod/analytics-constants.js.map +1 -0
- package/dist/node-prod/analytics-constants.mjs +43 -0
- package/dist/node-prod/analytics-constants.mjs.map +1 -0
- package/dist/node-prod/analytics-schema-custom-storefront-customer-tracking.js +145 -0
- package/dist/node-prod/analytics-schema-custom-storefront-customer-tracking.js.map +1 -0
- package/dist/node-prod/analytics-schema-custom-storefront-customer-tracking.mjs +145 -0
- package/dist/node-prod/analytics-schema-custom-storefront-customer-tracking.mjs.map +1 -0
- package/dist/node-prod/analytics-schema-trekkie-storefront-page-view.js +58 -0
- package/dist/node-prod/analytics-schema-trekkie-storefront-page-view.js.map +1 -0
- package/dist/node-prod/analytics-schema-trekkie-storefront-page-view.mjs +58 -0
- package/dist/node-prod/analytics-schema-trekkie-storefront-page-view.mjs.map +1 -0
- package/dist/node-prod/analytics-utils.js +49 -0
- package/dist/node-prod/analytics-utils.js.map +1 -0
- package/dist/node-prod/analytics-utils.mjs +49 -0
- package/dist/node-prod/analytics-utils.mjs.map +1 -0
- package/dist/node-prod/analytics.js +158 -0
- package/dist/node-prod/analytics.js.map +1 -0
- package/dist/node-prod/analytics.mjs +158 -0
- package/dist/node-prod/analytics.mjs.map +1 -0
- package/dist/node-prod/cart-hooks.js +4 -6
- package/dist/node-prod/cart-hooks.js.map +1 -1
- package/dist/node-prod/cart-hooks.mjs +5 -7
- package/dist/node-prod/cart-hooks.mjs.map +1 -1
- package/dist/node-prod/cookies-utils.js +50 -0
- package/dist/node-prod/cookies-utils.js.map +1 -0
- package/dist/node-prod/cookies-utils.mjs +50 -0
- package/dist/node-prod/cookies-utils.mjs.map +1 -0
- package/dist/node-prod/index.js +20 -2
- package/dist/node-prod/index.js.map +1 -1
- package/dist/node-prod/index.mjs +20 -2
- package/dist/node-prod/index.mjs.map +1 -1
- package/dist/node-prod/parse-metafield.js.map +1 -1
- package/dist/node-prod/parse-metafield.mjs.map +1 -1
- package/dist/node-prod/storefront-client.js +13 -12
- package/dist/node-prod/storefront-client.js.map +1 -1
- package/dist/node-prod/storefront-client.mjs +13 -12
- package/dist/node-prod/storefront-client.mjs.map +1 -1
- package/dist/node-prod/useMoney.js +2 -1
- package/dist/node-prod/useMoney.js.map +1 -1
- package/dist/node-prod/useMoney.mjs +2 -1
- package/dist/node-prod/useMoney.mjs.map +1 -1
- package/dist/node-prod/useShopifyCookies.js +41 -0
- package/dist/node-prod/useShopifyCookies.js.map +1 -0
- package/dist/node-prod/useShopifyCookies.mjs +41 -0
- package/dist/node-prod/useShopifyCookies.mjs.map +1 -0
- package/dist/types/AddToCartButton.d.ts +3 -2
- package/dist/types/BuyNowButton.d.ts +7 -3
- package/dist/types/CartCheckoutButton.d.ts +6 -5
- package/dist/types/CartCost.d.ts +7 -5
- package/dist/types/CartLinePrice.d.ts +4 -4
- package/dist/types/CartLineProvider.d.ts +8 -6
- package/dist/types/CartProvider.d.ts +12 -2
- package/dist/types/ExternalVideo.d.ts +1 -2
- package/dist/types/Image.d.ts +5 -3
- package/dist/types/MediaFile.d.ts +12 -11
- package/dist/types/ModelViewer.d.ts +2 -2
- package/dist/types/ProductPrice.d.ts +1 -1
- package/dist/types/ProductProvider.d.ts +1 -1
- package/dist/types/ShopPayButton.d.ts +10 -10
- package/dist/types/ShopifyProvider.d.ts +35 -39
- package/dist/types/analytics-constants.d.ts +48 -0
- package/dist/types/analytics-schema-custom-storefront-customer-tracking.d.ts +3 -0
- package/dist/types/analytics-schema-trekkie-storefront-page-view.d.ts +2 -0
- package/dist/types/analytics-types.d.ts +108 -0
- package/dist/types/analytics-utils.d.ts +36 -0
- package/dist/types/analytics.d.ts +9 -0
- package/dist/types/cookies-utils.d.ts +4 -0
- package/dist/types/index.d.cts +11 -3
- package/dist/types/index.d.ts +11 -3
- package/dist/types/parse-metafield.d.ts +1 -3
- package/dist/types/storefront-client.d.ts +14 -14
- package/dist/types/useShopifyCookies.d.ts +14 -0
- package/dist/umd/hydrogen-react.dev.js +704 -172
- package/dist/umd/hydrogen-react.dev.js.map +1 -1
- package/dist/umd/hydrogen-react.prod.js +18 -16
- package/dist/umd/hydrogen-react.prod.js.map +1 -1
- package/package.json +12 -7
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import type { CurrencyCode, LanguageCode, Product, ProductVariant } from './storefront-api-types.js';
|
|
2
|
+
import { AnalyticsEventName, ShopifySalesChannel } from './analytics-constants.js';
|
|
3
|
+
import { SHOPIFY_Y, SHOPIFY_S } from './cart-constants.js';
|
|
4
|
+
export type ClientBrowserParameters = {
|
|
5
|
+
/** Shopify unique user token: Value of `_shopify_y` cookie. Use `getClientBrowserParameters()` to collect this value. */
|
|
6
|
+
uniqueToken: string;
|
|
7
|
+
/** Shopify session token: Value of `_shopify_s` cookie. Use `getClientBrowserParameters()` to collect this value. */
|
|
8
|
+
visitToken: string;
|
|
9
|
+
/** `window.location.href`. Use `getClientBrowserParameters()` to collect this value. */
|
|
10
|
+
url: string;
|
|
11
|
+
/** `window.location.pathname`. Use `getClientBrowserParameters()` to collect this value. */
|
|
12
|
+
path: string;
|
|
13
|
+
/** `window.location.search`. Use `getClientBrowserParameters()` to collect this value. */
|
|
14
|
+
search: string;
|
|
15
|
+
/** `window.location.referrer`. Use `getClientBrowserParameters()` to collect this value. */
|
|
16
|
+
referrer: string;
|
|
17
|
+
/** `document.title`. Use `getClientBrowserParameters()` to collect this value. */
|
|
18
|
+
title: string;
|
|
19
|
+
/** `navigator.userAgent`. Use `getClientBrowserParameters()` to collect this value. */
|
|
20
|
+
userAgent: string;
|
|
21
|
+
/** Navigation type: 'navigate' | 'reload' | 'back_forward' | 'prerender' | 'unknown <number>'. Use `getClientBrowserParameters()` to collect this value. */
|
|
22
|
+
navigationType: string;
|
|
23
|
+
/** Navigation api: 'PerformanceNavigationTiming' | 'performance.navigation'. Use `getClientBrowserParameters()` to collect this value. */
|
|
24
|
+
navigationApi: string;
|
|
25
|
+
};
|
|
26
|
+
export type ShopifyAnalyticsProduct = {
|
|
27
|
+
productGid: Product['id'];
|
|
28
|
+
variantGid?: ProductVariant['id'];
|
|
29
|
+
name: Product['title'];
|
|
30
|
+
variantName?: ProductVariant['title'];
|
|
31
|
+
brand: Product['vendor'];
|
|
32
|
+
category?: Product['productType'];
|
|
33
|
+
price: ProductVariant['price']['amount'];
|
|
34
|
+
sku?: ProductVariant['sku'];
|
|
35
|
+
quantity?: number;
|
|
36
|
+
};
|
|
37
|
+
type ShopifyAnalyticsBase = {
|
|
38
|
+
/** If we have consent from buyer for data collection */
|
|
39
|
+
hasUserConsent: boolean;
|
|
40
|
+
/** Shopify shop id in the form of `gid://shopify/Shop/<id>`. */
|
|
41
|
+
shopId: string;
|
|
42
|
+
/** Currency code. */
|
|
43
|
+
currency: CurrencyCode;
|
|
44
|
+
/** Shopify storefront id generated by Hydrogen sales channel. */
|
|
45
|
+
storefrontId?: string;
|
|
46
|
+
/** Language displayed to buyer. */
|
|
47
|
+
acceptedLanguage?: LanguageCode;
|
|
48
|
+
/** Shopify sales channel. */
|
|
49
|
+
shopifySalesChannel?: ShopifySalesChannels;
|
|
50
|
+
/** Shopify customer id in the form of `gid://shopify/Customer/<id>`. */
|
|
51
|
+
customerId?: string;
|
|
52
|
+
/** Total value of products. */
|
|
53
|
+
totalValue?: number;
|
|
54
|
+
/** Shopify products. */
|
|
55
|
+
products?: ShopifyAnalyticsProduct[];
|
|
56
|
+
};
|
|
57
|
+
export type ShopifySalesChannels = keyof typeof ShopifySalesChannel;
|
|
58
|
+
export type AnalyticsEventNames = keyof typeof AnalyticsEventName;
|
|
59
|
+
export interface ShopifyPageViewPayload extends ShopifyAnalyticsBase, ClientBrowserParameters {
|
|
60
|
+
/** Canonical url. */
|
|
61
|
+
canonicalUrl?: string;
|
|
62
|
+
/** Shopify page type. */
|
|
63
|
+
pageType?: string;
|
|
64
|
+
/** Shopify resource id in the form of `gid://shopify/<type>/<id>`. */
|
|
65
|
+
resourceId?: string;
|
|
66
|
+
/** Shopify collection handle. */
|
|
67
|
+
collectionHandle?: string;
|
|
68
|
+
/** Search term used on a search results page. */
|
|
69
|
+
searchString?: string;
|
|
70
|
+
}
|
|
71
|
+
export type ShopifyPageView = {
|
|
72
|
+
/** Use `AnalyticsEventName.PAGE_VIEW` constant. */
|
|
73
|
+
eventName: string;
|
|
74
|
+
payload: ShopifyPageViewPayload;
|
|
75
|
+
};
|
|
76
|
+
export interface ShopifyAddToCartPayload extends ShopifyAnalyticsBase, ClientBrowserParameters {
|
|
77
|
+
/** Shopify cart id in the form of `gid://shopify/Cart/<id>`. */
|
|
78
|
+
cartId: string;
|
|
79
|
+
}
|
|
80
|
+
export type ShopifyAddToCart = {
|
|
81
|
+
/** Use `AnalyticsEventName.ADD_TO_CART` constant. */
|
|
82
|
+
eventName: string;
|
|
83
|
+
payload: ShopifyAddToCartPayload;
|
|
84
|
+
};
|
|
85
|
+
export type ShopifyMonorailPayload = {
|
|
86
|
+
products?: string[];
|
|
87
|
+
[key: string]: unknown;
|
|
88
|
+
};
|
|
89
|
+
export type ShopifyMonorailEvent = {
|
|
90
|
+
schema_id: string;
|
|
91
|
+
payload: ShopifyMonorailPayload;
|
|
92
|
+
metadata: {
|
|
93
|
+
event_created_at_ms: number;
|
|
94
|
+
};
|
|
95
|
+
};
|
|
96
|
+
export type ShopifyAnalyticsPayload = ShopifyPageViewPayload | ShopifyAddToCartPayload;
|
|
97
|
+
export type ShopifyAnalytics = ShopifyPageView | ShopifyAddToCart;
|
|
98
|
+
export type ShopifyCookies = {
|
|
99
|
+
/** Shopify unique user token: Value of `_shopify_y` cookie. */
|
|
100
|
+
[SHOPIFY_Y]: string;
|
|
101
|
+
/** Shopify session token: Value of `_shopify_s` cookie. */
|
|
102
|
+
[SHOPIFY_S]: string;
|
|
103
|
+
};
|
|
104
|
+
export type ShopifyGId = {
|
|
105
|
+
id: string;
|
|
106
|
+
resource: string | null;
|
|
107
|
+
};
|
|
108
|
+
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { ShopifyMonorailPayload, ShopifyMonorailEvent, ShopifyGId } from './analytics-types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Builds a Shopify Monorail event from a Shopify Monorail payload and a schema ID.
|
|
4
|
+
* @param payload - The Monorail payload
|
|
5
|
+
* @param schemaId - The schema ID to use
|
|
6
|
+
* @returns The formatted payload
|
|
7
|
+
**/
|
|
8
|
+
export declare function schemaWrapper(schemaId: string, payload: ShopifyMonorailPayload): ShopifyMonorailEvent;
|
|
9
|
+
/**
|
|
10
|
+
* Parses global id (gid) and returns the resource type and id.
|
|
11
|
+
* @see https://shopify.dev/api/usage/gids
|
|
12
|
+
* @param gid - A shopify GID (string)
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```ts
|
|
16
|
+
* const {id, resource} = parseGid('gid://shopify/Order/123')
|
|
17
|
+
* // => id = "123", resource = 'Order'
|
|
18
|
+
*
|
|
19
|
+
* * const {id, resource} = parseGid('gid://shopify/Cart/abc123')
|
|
20
|
+
* // => id = "abc123", resource = 'Cart'
|
|
21
|
+
* ```
|
|
22
|
+
**/
|
|
23
|
+
export declare function parseGid(gid: string | undefined): ShopifyGId;
|
|
24
|
+
/**
|
|
25
|
+
* Filters properties from an object and returns a new object with only the properties that have a truthy value.
|
|
26
|
+
* @param keyValuePairs - An object of key-value pairs
|
|
27
|
+
* @param formattedData - An object which will hold the truthy values
|
|
28
|
+
* @returns The formatted object
|
|
29
|
+
**/
|
|
30
|
+
export declare function addDataIf(keyValuePairs: ShopifyMonorailPayload, formattedData: ShopifyMonorailPayload): ShopifyMonorailPayload;
|
|
31
|
+
/**
|
|
32
|
+
* Utility that errors if a function is called on the server.
|
|
33
|
+
* @param fnName - The name of the function
|
|
34
|
+
* @returns A boolean
|
|
35
|
+
**/
|
|
36
|
+
export declare function errorIfServer(fnName: string): boolean;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ClientBrowserParameters, ShopifyAnalytics } from './analytics-types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Set user and session cookies and refresh the expiry time
|
|
4
|
+
* @param event - The analytics event.
|
|
5
|
+
* @param shopDomain - The Online Store domain to sent Shopify analytics under the same
|
|
6
|
+
* top level domain.
|
|
7
|
+
*/
|
|
8
|
+
export declare function sendShopifyAnalytics(event: ShopifyAnalytics, shopDomain?: string): Promise<void>;
|
|
9
|
+
export declare function getClientBrowserParameters(): ClientBrowserParameters;
|
package/dist/types/index.d.cts
CHANGED
|
@@ -1,21 +1,29 @@
|
|
|
1
1
|
export { AddToCartButton } from './AddToCartButton.js';
|
|
2
|
+
export { getClientBrowserParameters, sendShopifyAnalytics } from './analytics.js';
|
|
3
|
+
export { AnalyticsEventName, AnalyticsPageType, ShopifySalesChannel, } from './analytics-constants.js';
|
|
4
|
+
export type { ClientBrowserParameters, ShopifyAddToCart, ShopifyAddToCartPayload, ShopifyAnalytics, ShopifyAnalyticsPayload, ShopifyAnalyticsProduct, ShopifyCookies, ShopifyPageView, ShopifyPageViewPayload, } from './analytics-types.js';
|
|
2
5
|
export { BuyNowButton } from './BuyNowButton.js';
|
|
3
|
-
export type {
|
|
6
|
+
export type { Cart, CartAction, CartState, CartStatus, CartWithActions, } from './cart-types.js';
|
|
4
7
|
export { CartCheckoutButton } from './CartCheckoutButton.js';
|
|
8
|
+
export { CartCost } from './CartCost.js';
|
|
9
|
+
export { CartLinePrice } from './CartLinePrice.js';
|
|
10
|
+
export { CartLineProvider, useCartLine } from './CartLineProvider.js';
|
|
5
11
|
export { CartProvider, useCart } from './CartProvider.js';
|
|
6
12
|
export { storefrontApiCustomScalars } from './codegen.helpers.js';
|
|
13
|
+
export { getShopifyCookies } from './cookies-utils.js';
|
|
7
14
|
export { ExternalVideo } from './ExternalVideo.js';
|
|
8
15
|
export { flattenConnection } from './flatten-connection.js';
|
|
9
16
|
export { Image } from './Image.js';
|
|
10
17
|
export { MediaFile } from './MediaFile.js';
|
|
11
|
-
export { parseMetafield, type ParsedMetafields } from './parse-metafield.js';
|
|
12
18
|
export { ModelViewer } from './ModelViewer.js';
|
|
13
19
|
export { Money } from './Money.js';
|
|
20
|
+
export { type ParsedMetafields, parseMetafield } from './parse-metafield.js';
|
|
14
21
|
export { ProductPrice } from './ProductPrice.js';
|
|
15
22
|
export { ProductProvider, useProduct } from './ProductProvider.js';
|
|
16
23
|
export { ShopifyProvider, useShop } from './ShopifyProvider.js';
|
|
17
24
|
export { ShopPayButton } from './ShopPayButton.js';
|
|
18
|
-
export type {
|
|
25
|
+
export type { StorefrontApiResponse, StorefrontApiResponseError, StorefrontApiResponseOk, StorefrontApiResponseOkPartial, StorefrontApiResponsePartial, } from './storefront-api-response.types.js';
|
|
19
26
|
export { createStorefrontClient } from './storefront-client.js';
|
|
20
27
|
export { useMoney } from './useMoney.js';
|
|
28
|
+
export { useShopifyCookies } from './useShopifyCookies.js';
|
|
21
29
|
export { Video } from './Video.js';
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,21 +1,29 @@
|
|
|
1
1
|
export { AddToCartButton } from './AddToCartButton.js';
|
|
2
|
+
export { getClientBrowserParameters, sendShopifyAnalytics } from './analytics.js';
|
|
3
|
+
export { AnalyticsEventName, AnalyticsPageType, ShopifySalesChannel, } from './analytics-constants.js';
|
|
4
|
+
export type { ClientBrowserParameters, ShopifyAddToCart, ShopifyAddToCartPayload, ShopifyAnalytics, ShopifyAnalyticsPayload, ShopifyAnalyticsProduct, ShopifyCookies, ShopifyPageView, ShopifyPageViewPayload, } from './analytics-types.js';
|
|
2
5
|
export { BuyNowButton } from './BuyNowButton.js';
|
|
3
|
-
export type {
|
|
6
|
+
export type { Cart, CartAction, CartState, CartStatus, CartWithActions, } from './cart-types.js';
|
|
4
7
|
export { CartCheckoutButton } from './CartCheckoutButton.js';
|
|
8
|
+
export { CartCost } from './CartCost.js';
|
|
9
|
+
export { CartLinePrice } from './CartLinePrice.js';
|
|
10
|
+
export { CartLineProvider, useCartLine } from './CartLineProvider.js';
|
|
5
11
|
export { CartProvider, useCart } from './CartProvider.js';
|
|
6
12
|
export { storefrontApiCustomScalars } from './codegen.helpers.js';
|
|
13
|
+
export { getShopifyCookies } from './cookies-utils.js';
|
|
7
14
|
export { ExternalVideo } from './ExternalVideo.js';
|
|
8
15
|
export { flattenConnection } from './flatten-connection.js';
|
|
9
16
|
export { Image } from './Image.js';
|
|
10
17
|
export { MediaFile } from './MediaFile.js';
|
|
11
|
-
export { parseMetafield, type ParsedMetafields } from './parse-metafield.js';
|
|
12
18
|
export { ModelViewer } from './ModelViewer.js';
|
|
13
19
|
export { Money } from './Money.js';
|
|
20
|
+
export { type ParsedMetafields, parseMetafield } from './parse-metafield.js';
|
|
14
21
|
export { ProductPrice } from './ProductPrice.js';
|
|
15
22
|
export { ProductProvider, useProduct } from './ProductProvider.js';
|
|
16
23
|
export { ShopifyProvider, useShop } from './ShopifyProvider.js';
|
|
17
24
|
export { ShopPayButton } from './ShopPayButton.js';
|
|
18
|
-
export type {
|
|
25
|
+
export type { StorefrontApiResponse, StorefrontApiResponseError, StorefrontApiResponseOk, StorefrontApiResponseOkPartial, StorefrontApiResponsePartial, } from './storefront-api-response.types.js';
|
|
19
26
|
export { createStorefrontClient } from './storefront-client.js';
|
|
20
27
|
export { useMoney } from './useMoney.js';
|
|
28
|
+
export { useShopifyCookies } from './useShopifyCookies.js';
|
|
21
29
|
export { Video } from './Video.js';
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import type { Collection, GenericFile, Metafield as MetafieldBaseType, MoneyV2, Page, Product, ProductVariant } from './storefront-api-types.js';
|
|
2
2
|
import type { PartialDeep, Simplify } from 'type-fest';
|
|
3
3
|
/**
|
|
4
|
-
* A
|
|
5
|
-
*
|
|
6
|
-
* A function that uses `metafield.type` to parse the Metafield's `value` or `reference` or `references` (depending on the `type`) and put it in `metafield.parsedValue`
|
|
4
|
+
* A function that uses `metafield.type` to parse the Metafield's `value` or `reference` or `references` (depending on the `metafield.type`) and places the result in `metafield.parsedValue`
|
|
7
5
|
*
|
|
8
6
|
* TypeScript developers can use the type `ParsedMetafields` from this package to get the returned object's type correct. For example:
|
|
9
7
|
*
|
|
@@ -1,16 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The `createStorefrontClient()` function creates helpers that enable you to quickly query the Shopify Storefront API.
|
|
3
|
-
*
|
|
4
|
-
* When used on the server, it is recommended to use the `privateStorefrontToken` prop. When used on the client, it is recommended to use the `publicStorefrontToken` prop.
|
|
5
|
-
*/
|
|
6
|
-
export declare function createStorefrontClient({ storeDomain, privateStorefrontToken, publicStorefrontToken, storefrontApiVersion, contentType, }: StorefrontClientProps): StorefrontClientReturn;
|
|
7
|
-
export declare function getPublicTokenHeadersRaw(contentType: 'graphql' | 'json', storefrontApiVersion: string, accessToken: string): {
|
|
8
|
-
'content-type': string;
|
|
9
|
-
'X-SDK-Variant': string;
|
|
10
|
-
'X-SDK-Variant-Source': string;
|
|
11
|
-
'X-SDK-Version': string;
|
|
12
|
-
'X-Shopify-Storefront-Access-Token': string;
|
|
13
|
-
};
|
|
14
1
|
type StorefrontClientProps = {
|
|
15
2
|
/** The host name of the domain (eg: `{shop}.myshopify.com`). */
|
|
16
3
|
storeDomain: string;
|
|
@@ -18,7 +5,7 @@ type StorefrontClientProps = {
|
|
|
18
5
|
privateStorefrontToken?: string;
|
|
19
6
|
/** The Storefront API access token. Refer to the [authentication](https://shopify.dev/api/storefront#authentication) documentation for more details. */
|
|
20
7
|
publicStorefrontToken?: string;
|
|
21
|
-
/** The Storefront API version. This should almost always be the same as the version Hydrogen
|
|
8
|
+
/** The Storefront API version. This should almost always be the same as the version Hydrogen React was built for. Learn more about Shopify [API versioning](https://shopify.dev/api/usage/versioning) for more details. */
|
|
22
9
|
storefrontApiVersion: string;
|
|
23
10
|
/**
|
|
24
11
|
* Customizes which `"content-type"` header is added when using `getPrivateTokenHeaders()` and `getPublicTokenHeaders()`. When fetching with a `JSON.stringify()`-ed `body`, use `"json"`. When fetching with a `body` that is a plain string, use `"graphql"`. Defaults to `"json"`
|
|
@@ -27,6 +14,19 @@ type StorefrontClientProps = {
|
|
|
27
14
|
*/
|
|
28
15
|
contentType?: 'json' | 'graphql';
|
|
29
16
|
};
|
|
17
|
+
/**
|
|
18
|
+
* The `createStorefrontClient()` function creates helpers that enable you to quickly query the Shopify Storefront API.
|
|
19
|
+
*
|
|
20
|
+
* When used on the server, it is recommended to use the `privateStorefrontToken` prop. When used on the client, it is recommended to use the `publicStorefrontToken` prop.
|
|
21
|
+
*/
|
|
22
|
+
export declare function createStorefrontClient({ storeDomain, privateStorefrontToken, publicStorefrontToken, storefrontApiVersion, contentType, }: StorefrontClientProps): StorefrontClientReturn;
|
|
23
|
+
export declare function getPublicTokenHeadersRaw(contentType: 'graphql' | 'json', storefrontApiVersion: string, accessToken: string): {
|
|
24
|
+
'content-type': string;
|
|
25
|
+
'X-SDK-Variant': string;
|
|
26
|
+
'X-SDK-Variant-Source': string;
|
|
27
|
+
'X-SDK-Version': string;
|
|
28
|
+
'X-Shopify-Storefront-Access-Token': string;
|
|
29
|
+
};
|
|
30
30
|
type OverrideTokenHeaderProps = Partial<Pick<StorefrontClientProps, 'contentType'>>;
|
|
31
31
|
type StorefrontClientReturn = {
|
|
32
32
|
/**
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
type UseShopifyCookiesOptions = {
|
|
2
|
+
/**
|
|
3
|
+
* If set to `false`, Shopify cookies will be removed.
|
|
4
|
+
* If set to `true`, Shopify unique user token cookie will have cookie expiry of 1 year.
|
|
5
|
+
* Defaults to false.
|
|
6
|
+
**/
|
|
7
|
+
hasUserConsent?: boolean;
|
|
8
|
+
/**
|
|
9
|
+
* The domain scope of the cookie. Defaults to empty string.
|
|
10
|
+
**/
|
|
11
|
+
domain?: string;
|
|
12
|
+
};
|
|
13
|
+
export declare function useShopifyCookies(options?: UseShopifyCookiesOptions): void;
|
|
14
|
+
export {};
|