@shopify/hydrogen-react 2026.4.0 → 2026.4.2
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/AddToCartButton.mjs +60 -71
- package/dist/browser-dev/AddToCartButton.mjs.map +1 -1
- package/dist/browser-dev/BaseButton.mjs +20 -26
- package/dist/browser-dev/BaseButton.mjs.map +1 -1
- package/dist/browser-dev/BuyNowButton.mjs +40 -45
- package/dist/browser-dev/BuyNowButton.mjs.map +1 -1
- package/dist/browser-dev/CartCheckoutButton.mjs +28 -23
- package/dist/browser-dev/CartCheckoutButton.mjs.map +1 -1
- package/dist/browser-dev/CartCost.mjs +26 -22
- package/dist/browser-dev/CartCost.mjs.map +1 -1
- package/dist/browser-dev/CartLineProvider.mjs +23 -18
- package/dist/browser-dev/CartLineProvider.mjs.map +1 -1
- package/dist/browser-dev/CartLineQuantity.mjs +18 -9
- package/dist/browser-dev/CartLineQuantity.mjs.map +1 -1
- package/dist/browser-dev/CartLineQuantityAdjustButton.mjs +48 -45
- package/dist/browser-dev/CartLineQuantityAdjustButton.mjs.map +1 -1
- package/dist/browser-dev/CartProvider.mjs +315 -385
- package/dist/browser-dev/CartProvider.mjs.map +1 -1
- package/dist/browser-dev/ExternalVideo.mjs +35 -47
- package/dist/browser-dev/ExternalVideo.mjs.map +1 -1
- package/dist/browser-dev/Image.mjs +335 -340
- package/dist/browser-dev/Image.mjs.map +1 -1
- package/dist/browser-dev/MediaFile.mjs +39 -61
- package/dist/browser-dev/MediaFile.mjs.map +1 -1
- package/dist/browser-dev/ModelViewer.mjs +115 -139
- package/dist/browser-dev/ModelViewer.mjs.map +1 -1
- package/dist/browser-dev/Money.mjs +53 -39
- package/dist/browser-dev/Money.mjs.map +1 -1
- package/dist/browser-dev/ProductPrice.mjs +44 -61
- package/dist/browser-dev/ProductPrice.mjs.map +1 -1
- package/dist/browser-dev/ProductProvider.mjs +147 -179
- package/dist/browser-dev/ProductProvider.mjs.map +1 -1
- package/dist/browser-dev/RichText.components.mjs +36 -46
- package/dist/browser-dev/RichText.components.mjs.map +1 -1
- package/dist/browser-dev/RichText.mjs +111 -154
- package/dist/browser-dev/RichText.mjs.map +1 -1
- package/dist/browser-dev/ShopPayButton.mjs +53 -81
- package/dist/browser-dev/ShopPayButton.mjs.map +1 -1
- package/dist/browser-dev/ShopifyProvider.mjs +71 -84
- package/dist/browser-dev/ShopifyProvider.mjs.map +1 -1
- package/dist/browser-dev/Video.mjs +35 -52
- package/dist/browser-dev/Video.mjs.map +1 -1
- package/dist/browser-dev/analytics-constants.mjs +41 -43
- package/dist/browser-dev/analytics-constants.mjs.map +1 -1
- package/dist/browser-dev/analytics-schema-custom-storefront-customer-tracking.mjs +127 -214
- 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 +39 -50
- package/dist/browser-dev/analytics-schema-trekkie-storefront-page-view.mjs.map +1 -1
- package/dist/browser-dev/analytics-utils.mjs +78 -56
- package/dist/browser-dev/analytics-utils.mjs.map +1 -1
- package/dist/browser-dev/analytics.mjs +112 -155
- package/dist/browser-dev/analytics.mjs.map +1 -1
- package/dist/browser-dev/cart-constants.mjs +11 -15
- package/dist/browser-dev/cart-constants.mjs.map +1 -1
- package/dist/browser-dev/cart-hooks.mjs +42 -57
- package/dist/browser-dev/cart-hooks.mjs.map +1 -1
- package/dist/browser-dev/cart-queries.mjs +59 -135
- package/dist/browser-dev/cart-queries.mjs.map +1 -1
- package/dist/browser-dev/codegen.helpers.mjs +31 -20
- package/dist/browser-dev/codegen.helpers.mjs.map +1 -1
- package/dist/browser-dev/cookies-utils.mjs +44 -42
- package/dist/browser-dev/cookies-utils.mjs.map +1 -1
- package/dist/browser-dev/flatten-connection.mjs +23 -29
- package/dist/browser-dev/flatten-connection.mjs.map +1 -1
- package/dist/browser-dev/getProductOptions.mjs +248 -226
- package/dist/browser-dev/getProductOptions.mjs.map +1 -1
- package/dist/browser-dev/index.mjs +15 -70
- package/dist/browser-dev/load-script.mjs +38 -49
- package/dist/browser-dev/load-script.mjs.map +1 -1
- package/dist/browser-dev/node_modules/.pnpm/@xstate_fsm@2.0.0/node_modules/@xstate/fsm/es/index.mjs +175 -123
- package/dist/browser-dev/node_modules/.pnpm/@xstate_fsm@2.0.0/node_modules/@xstate/fsm/es/index.mjs.map +1 -1
- package/dist/browser-dev/optionValueDecoder.mjs +104 -86
- package/dist/browser-dev/optionValueDecoder.mjs.map +1 -1
- package/dist/browser-dev/packages/hydrogen-react/package.mjs +6 -0
- package/dist/browser-dev/packages/hydrogen-react/package.mjs.map +1 -0
- package/dist/browser-dev/parse-metafield.mjs +122 -134
- package/dist/browser-dev/parse-metafield.mjs.map +1 -1
- package/dist/browser-dev/storefront-api-constants.mjs +6 -5
- package/dist/browser-dev/storefront-api-constants.mjs.map +1 -1
- package/dist/browser-dev/storefront-client.mjs +62 -102
- package/dist/browser-dev/storefront-client.mjs.map +1 -1
- package/dist/browser-dev/tracking-utils.mjs +68 -88
- package/dist/browser-dev/tracking-utils.mjs.map +1 -1
- package/dist/browser-dev/useCartAPIStateMachine.mjs +188 -346
- package/dist/browser-dev/useCartAPIStateMachine.mjs.map +1 -1
- package/dist/browser-dev/useCartActions.mjs +197 -172
- package/dist/browser-dev/useCartActions.mjs.map +1 -1
- package/dist/browser-dev/useMachine.mjs +50 -62
- package/dist/browser-dev/useMachine.mjs.map +1 -1
- package/dist/browser-dev/useMoney.mjs +176 -154
- package/dist/browser-dev/useMoney.mjs.map +1 -1
- package/dist/browser-dev/useSelectedOptionInUrlParam.mjs +17 -27
- package/dist/browser-dev/useSelectedOptionInUrlParam.mjs.map +1 -1
- package/dist/browser-dev/useShopifyCookies.mjs +123 -138
- package/dist/browser-dev/useShopifyCookies.mjs.map +1 -1
- package/dist/browser-prod/AddToCartButton.mjs +60 -71
- package/dist/browser-prod/AddToCartButton.mjs.map +1 -1
- package/dist/browser-prod/BaseButton.mjs +20 -26
- package/dist/browser-prod/BaseButton.mjs.map +1 -1
- package/dist/browser-prod/BuyNowButton.mjs +40 -45
- package/dist/browser-prod/BuyNowButton.mjs.map +1 -1
- package/dist/browser-prod/CartCheckoutButton.mjs +28 -23
- package/dist/browser-prod/CartCheckoutButton.mjs.map +1 -1
- package/dist/browser-prod/CartCost.mjs +26 -22
- package/dist/browser-prod/CartCost.mjs.map +1 -1
- package/dist/browser-prod/CartLineProvider.mjs +23 -18
- package/dist/browser-prod/CartLineProvider.mjs.map +1 -1
- package/dist/browser-prod/CartLineQuantity.mjs +18 -9
- package/dist/browser-prod/CartLineQuantity.mjs.map +1 -1
- package/dist/browser-prod/CartLineQuantityAdjustButton.mjs +48 -45
- package/dist/browser-prod/CartLineQuantityAdjustButton.mjs.map +1 -1
- package/dist/browser-prod/CartProvider.mjs +315 -385
- package/dist/browser-prod/CartProvider.mjs.map +1 -1
- package/dist/browser-prod/ExternalVideo.mjs +35 -47
- package/dist/browser-prod/ExternalVideo.mjs.map +1 -1
- package/dist/browser-prod/Image.mjs +326 -325
- package/dist/browser-prod/Image.mjs.map +1 -1
- package/dist/browser-prod/MediaFile.mjs +44 -63
- package/dist/browser-prod/MediaFile.mjs.map +1 -1
- package/dist/browser-prod/ModelViewer.mjs +117 -135
- package/dist/browser-prod/ModelViewer.mjs.map +1 -1
- package/dist/browser-prod/Money.mjs +53 -39
- package/dist/browser-prod/Money.mjs.map +1 -1
- package/dist/browser-prod/ProductPrice.mjs +44 -61
- package/dist/browser-prod/ProductPrice.mjs.map +1 -1
- package/dist/browser-prod/ProductProvider.mjs +147 -179
- package/dist/browser-prod/ProductProvider.mjs.map +1 -1
- package/dist/browser-prod/RichText.components.mjs +36 -46
- package/dist/browser-prod/RichText.components.mjs.map +1 -1
- package/dist/browser-prod/RichText.mjs +111 -154
- package/dist/browser-prod/RichText.mjs.map +1 -1
- package/dist/browser-prod/ShopPayButton.mjs +53 -81
- package/dist/browser-prod/ShopPayButton.mjs.map +1 -1
- package/dist/browser-prod/ShopifyProvider.mjs +71 -84
- package/dist/browser-prod/ShopifyProvider.mjs.map +1 -1
- package/dist/browser-prod/Video.mjs +35 -52
- package/dist/browser-prod/Video.mjs.map +1 -1
- package/dist/browser-prod/analytics-constants.mjs +41 -43
- package/dist/browser-prod/analytics-constants.mjs.map +1 -1
- package/dist/browser-prod/analytics-schema-custom-storefront-customer-tracking.mjs +127 -214
- 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 +39 -50
- package/dist/browser-prod/analytics-schema-trekkie-storefront-page-view.mjs.map +1 -1
- package/dist/browser-prod/analytics-utils.mjs +78 -56
- package/dist/browser-prod/analytics-utils.mjs.map +1 -1
- package/dist/browser-prod/analytics.mjs +111 -153
- package/dist/browser-prod/analytics.mjs.map +1 -1
- package/dist/browser-prod/cart-constants.mjs +11 -15
- package/dist/browser-prod/cart-constants.mjs.map +1 -1
- package/dist/browser-prod/cart-hooks.mjs +42 -57
- package/dist/browser-prod/cart-hooks.mjs.map +1 -1
- package/dist/browser-prod/cart-queries.mjs +59 -135
- package/dist/browser-prod/cart-queries.mjs.map +1 -1
- package/dist/browser-prod/codegen.helpers.mjs +31 -20
- package/dist/browser-prod/codegen.helpers.mjs.map +1 -1
- package/dist/browser-prod/cookies-utils.mjs +44 -42
- package/dist/browser-prod/cookies-utils.mjs.map +1 -1
- package/dist/browser-prod/flatten-connection.mjs +23 -25
- package/dist/browser-prod/flatten-connection.mjs.map +1 -1
- package/dist/browser-prod/getProductOptions.mjs +248 -226
- package/dist/browser-prod/getProductOptions.mjs.map +1 -1
- package/dist/browser-prod/index.mjs +15 -70
- package/dist/browser-prod/load-script.mjs +38 -49
- package/dist/browser-prod/load-script.mjs.map +1 -1
- package/dist/browser-prod/node_modules/.pnpm/@xstate_fsm@2.0.0/node_modules/@xstate/fsm/es/index.mjs +175 -123
- package/dist/browser-prod/node_modules/.pnpm/@xstate_fsm@2.0.0/node_modules/@xstate/fsm/es/index.mjs.map +1 -1
- package/dist/browser-prod/optionValueDecoder.mjs +104 -86
- package/dist/browser-prod/optionValueDecoder.mjs.map +1 -1
- package/dist/browser-prod/packages/hydrogen-react/package.mjs +6 -0
- package/dist/browser-prod/packages/hydrogen-react/package.mjs.map +1 -0
- package/dist/browser-prod/parse-metafield.mjs +134 -146
- package/dist/browser-prod/parse-metafield.mjs.map +1 -1
- package/dist/browser-prod/storefront-api-constants.mjs +6 -5
- package/dist/browser-prod/storefront-api-constants.mjs.map +1 -1
- package/dist/browser-prod/storefront-client.mjs +56 -84
- package/dist/browser-prod/storefront-client.mjs.map +1 -1
- package/dist/browser-prod/tracking-utils.mjs +68 -88
- package/dist/browser-prod/tracking-utils.mjs.map +1 -1
- package/dist/browser-prod/useCartAPIStateMachine.mjs +188 -346
- package/dist/browser-prod/useCartAPIStateMachine.mjs.map +1 -1
- package/dist/browser-prod/useCartActions.mjs +197 -172
- package/dist/browser-prod/useCartActions.mjs.map +1 -1
- package/dist/browser-prod/useMachine.mjs +50 -62
- package/dist/browser-prod/useMachine.mjs.map +1 -1
- package/dist/browser-prod/useMoney.mjs +176 -154
- package/dist/browser-prod/useMoney.mjs.map +1 -1
- package/dist/browser-prod/useSelectedOptionInUrlParam.mjs +17 -27
- package/dist/browser-prod/useSelectedOptionInUrlParam.mjs.map +1 -1
- package/dist/browser-prod/useShopifyCookies.mjs +123 -138
- package/dist/browser-prod/useShopifyCookies.mjs.map +1 -1
- package/dist/node-dev/AddToCartButton.js +64 -73
- package/dist/node-dev/AddToCartButton.js.map +1 -1
- package/dist/node-dev/AddToCartButton.mjs +60 -71
- package/dist/node-dev/AddToCartButton.mjs.map +1 -1
- package/dist/node-dev/BaseButton.js +21 -26
- package/dist/node-dev/BaseButton.js.map +1 -1
- package/dist/node-dev/BaseButton.mjs +20 -26
- package/dist/node-dev/BaseButton.mjs.map +1 -1
- package/dist/node-dev/BuyNowButton.js +42 -46
- package/dist/node-dev/BuyNowButton.js.map +1 -1
- package/dist/node-dev/BuyNowButton.mjs +40 -45
- package/dist/node-dev/BuyNowButton.mjs.map +1 -1
- package/dist/node-dev/CartCheckoutButton.js +30 -24
- package/dist/node-dev/CartCheckoutButton.js.map +1 -1
- package/dist/node-dev/CartCheckoutButton.mjs +28 -23
- package/dist/node-dev/CartCheckoutButton.mjs.map +1 -1
- package/dist/node-dev/CartCost.js +27 -22
- package/dist/node-dev/CartCost.js.map +1 -1
- package/dist/node-dev/CartCost.mjs +26 -22
- package/dist/node-dev/CartCost.mjs.map +1 -1
- package/dist/node-dev/CartLineProvider.js +24 -17
- package/dist/node-dev/CartLineProvider.js.map +1 -1
- package/dist/node-dev/CartLineProvider.mjs +23 -18
- package/dist/node-dev/CartLineProvider.mjs.map +1 -1
- package/dist/node-dev/CartLineQuantity.js +19 -9
- package/dist/node-dev/CartLineQuantity.js.map +1 -1
- package/dist/node-dev/CartLineQuantity.mjs +18 -9
- package/dist/node-dev/CartLineQuantity.mjs.map +1 -1
- package/dist/node-dev/CartLineQuantityAdjustButton.js +50 -46
- package/dist/node-dev/CartLineQuantityAdjustButton.js.map +1 -1
- package/dist/node-dev/CartLineQuantityAdjustButton.mjs +48 -45
- package/dist/node-dev/CartLineQuantityAdjustButton.mjs.map +1 -1
- package/dist/node-dev/CartProvider.js +317 -385
- package/dist/node-dev/CartProvider.js.map +1 -1
- package/dist/node-dev/CartProvider.mjs +315 -385
- package/dist/node-dev/CartProvider.mjs.map +1 -1
- package/dist/node-dev/ExternalVideo.js +36 -47
- package/dist/node-dev/ExternalVideo.js.map +1 -1
- package/dist/node-dev/ExternalVideo.mjs +35 -47
- package/dist/node-dev/ExternalVideo.mjs.map +1 -1
- package/dist/node-dev/Image.js +337 -355
- package/dist/node-dev/Image.js.map +1 -1
- package/dist/node-dev/Image.mjs +335 -340
- package/dist/node-dev/Image.mjs.map +1 -1
- package/dist/node-dev/MediaFile.js +42 -63
- package/dist/node-dev/MediaFile.js.map +1 -1
- package/dist/node-dev/MediaFile.mjs +39 -61
- package/dist/node-dev/MediaFile.mjs.map +1 -1
- package/dist/node-dev/ModelViewer.js +116 -139
- package/dist/node-dev/ModelViewer.js.map +1 -1
- package/dist/node-dev/ModelViewer.mjs +115 -139
- package/dist/node-dev/ModelViewer.mjs.map +1 -1
- package/dist/node-dev/Money.js +54 -39
- package/dist/node-dev/Money.js.map +1 -1
- package/dist/node-dev/Money.mjs +53 -39
- package/dist/node-dev/Money.mjs.map +1 -1
- package/dist/node-dev/ProductPrice.js +45 -61
- package/dist/node-dev/ProductPrice.js.map +1 -1
- package/dist/node-dev/ProductPrice.mjs +44 -61
- package/dist/node-dev/ProductPrice.mjs.map +1 -1
- package/dist/node-dev/ProductProvider.js +148 -178
- package/dist/node-dev/ProductProvider.js.map +1 -1
- package/dist/node-dev/ProductProvider.mjs +147 -179
- package/dist/node-dev/ProductProvider.mjs.map +1 -1
- package/dist/node-dev/RichText.components.js +37 -46
- package/dist/node-dev/RichText.components.js.map +1 -1
- package/dist/node-dev/RichText.components.mjs +36 -46
- package/dist/node-dev/RichText.components.mjs.map +1 -1
- package/dist/node-dev/RichText.js +112 -154
- package/dist/node-dev/RichText.js.map +1 -1
- package/dist/node-dev/RichText.mjs +111 -154
- package/dist/node-dev/RichText.mjs.map +1 -1
- package/dist/node-dev/ShopPayButton.js +54 -81
- package/dist/node-dev/ShopPayButton.js.map +1 -1
- package/dist/node-dev/ShopPayButton.mjs +53 -81
- package/dist/node-dev/ShopPayButton.mjs.map +1 -1
- package/dist/node-dev/ShopifyProvider.js +73 -83
- package/dist/node-dev/ShopifyProvider.js.map +1 -1
- package/dist/node-dev/ShopifyProvider.mjs +71 -84
- package/dist/node-dev/ShopifyProvider.mjs.map +1 -1
- package/dist/node-dev/Video.js +36 -52
- package/dist/node-dev/Video.js.map +1 -1
- package/dist/node-dev/Video.mjs +35 -52
- package/dist/node-dev/Video.mjs.map +1 -1
- package/dist/node-dev/_virtual/_rolldown/runtime.js +23 -0
- package/dist/node-dev/analytics-constants.js +40 -39
- package/dist/node-dev/analytics-constants.js.map +1 -1
- package/dist/node-dev/analytics-constants.mjs +41 -43
- package/dist/node-dev/analytics-constants.mjs.map +1 -1
- package/dist/node-dev/analytics-schema-custom-storefront-customer-tracking.js +128 -210
- 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 +127 -214
- 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 +40 -51
- 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 +39 -50
- package/dist/node-dev/analytics-schema-trekkie-storefront-page-view.mjs.map +1 -1
- package/dist/node-dev/analytics-utils.js +77 -52
- package/dist/node-dev/analytics-utils.js.map +1 -1
- package/dist/node-dev/analytics-utils.mjs +78 -56
- package/dist/node-dev/analytics-utils.mjs.map +1 -1
- package/dist/node-dev/analytics.js +114 -156
- package/dist/node-dev/analytics.js.map +1 -1
- package/dist/node-dev/analytics.mjs +112 -155
- package/dist/node-dev/analytics.mjs.map +1 -1
- package/dist/node-dev/cart-constants.js +10 -9
- package/dist/node-dev/cart-constants.js.map +1 -1
- package/dist/node-dev/cart-constants.mjs +11 -15
- package/dist/node-dev/cart-constants.mjs.map +1 -1
- package/dist/node-dev/cart-hooks.js +43 -57
- package/dist/node-dev/cart-hooks.js.map +1 -1
- package/dist/node-dev/cart-hooks.mjs +42 -57
- package/dist/node-dev/cart-hooks.mjs.map +1 -1
- package/dist/node-dev/cart-queries.js +58 -125
- package/dist/node-dev/cart-queries.js.map +1 -1
- package/dist/node-dev/cart-queries.mjs +59 -135
- package/dist/node-dev/cart-queries.mjs.map +1 -1
- package/dist/node-dev/codegen.helpers.js +30 -18
- package/dist/node-dev/codegen.helpers.js.map +1 -1
- package/dist/node-dev/codegen.helpers.mjs +31 -20
- package/dist/node-dev/codegen.helpers.mjs.map +1 -1
- package/dist/node-dev/cookies-utils.js +45 -42
- package/dist/node-dev/cookies-utils.js.map +1 -1
- package/dist/node-dev/cookies-utils.mjs +44 -42
- package/dist/node-dev/cookies-utils.mjs.map +1 -1
- package/dist/node-dev/flatten-connection.js +22 -28
- package/dist/node-dev/flatten-connection.js.map +1 -1
- package/dist/node-dev/flatten-connection.mjs +23 -29
- package/dist/node-dev/flatten-connection.mjs.map +1 -1
- package/dist/node-dev/getProductOptions.js +248 -224
- package/dist/node-dev/getProductOptions.js.map +1 -1
- package/dist/node-dev/getProductOptions.mjs +248 -226
- package/dist/node-dev/getProductOptions.mjs.map +1 -1
- package/dist/node-dev/index.js +88 -90
- package/dist/node-dev/index.mjs +15 -70
- package/dist/node-dev/load-script.js +38 -48
- package/dist/node-dev/load-script.js.map +1 -1
- package/dist/node-dev/load-script.mjs +38 -49
- package/dist/node-dev/load-script.mjs.map +1 -1
- package/dist/node-dev/node_modules/.pnpm/@xstate_fsm@2.0.0/node_modules/@xstate/fsm/es/index.js +185 -124
- package/dist/node-dev/node_modules/.pnpm/@xstate_fsm@2.0.0/node_modules/@xstate/fsm/es/index.js.map +1 -1
- package/dist/node-dev/node_modules/.pnpm/@xstate_fsm@2.0.0/node_modules/@xstate/fsm/es/index.mjs +175 -123
- package/dist/node-dev/node_modules/.pnpm/@xstate_fsm@2.0.0/node_modules/@xstate/fsm/es/index.mjs.map +1 -1
- package/dist/node-dev/optionValueDecoder.js +103 -84
- package/dist/node-dev/optionValueDecoder.js.map +1 -1
- package/dist/node-dev/optionValueDecoder.mjs +104 -86
- package/dist/node-dev/optionValueDecoder.mjs.map +1 -1
- package/dist/node-dev/packages/hydrogen-react/package.js +6 -0
- package/dist/node-dev/packages/hydrogen-react/package.js.map +1 -0
- package/dist/node-dev/packages/hydrogen-react/package.mjs +6 -0
- package/dist/node-dev/packages/hydrogen-react/package.mjs.map +1 -0
- package/dist/node-dev/parse-metafield.js +122 -134
- package/dist/node-dev/parse-metafield.js.map +1 -1
- package/dist/node-dev/parse-metafield.mjs +122 -134
- package/dist/node-dev/parse-metafield.mjs.map +1 -1
- package/dist/node-dev/storefront-api-constants.js +5 -4
- package/dist/node-dev/storefront-api-constants.js.map +1 -1
- package/dist/node-dev/storefront-api-constants.mjs +6 -5
- package/dist/node-dev/storefront-api-constants.mjs.map +1 -1
- package/dist/node-dev/storefront-client.js +62 -101
- package/dist/node-dev/storefront-client.js.map +1 -1
- package/dist/node-dev/storefront-client.mjs +62 -102
- package/dist/node-dev/storefront-client.mjs.map +1 -1
- package/dist/node-dev/tracking-utils.js +67 -85
- package/dist/node-dev/tracking-utils.js.map +1 -1
- package/dist/node-dev/tracking-utils.mjs +68 -88
- package/dist/node-dev/tracking-utils.mjs.map +1 -1
- package/dist/node-dev/useCartAPIStateMachine.js +192 -349
- package/dist/node-dev/useCartAPIStateMachine.js.map +1 -1
- package/dist/node-dev/useCartAPIStateMachine.mjs +188 -346
- package/dist/node-dev/useCartAPIStateMachine.mjs.map +1 -1
- package/dist/node-dev/useCartActions.js +198 -172
- package/dist/node-dev/useCartActions.js.map +1 -1
- package/dist/node-dev/useCartActions.mjs +197 -172
- package/dist/node-dev/useCartActions.mjs.map +1 -1
- package/dist/node-dev/useMachine.js +50 -61
- package/dist/node-dev/useMachine.js.map +1 -1
- package/dist/node-dev/useMachine.mjs +50 -62
- package/dist/node-dev/useMachine.mjs.map +1 -1
- package/dist/node-dev/useMoney.js +177 -154
- package/dist/node-dev/useMoney.js.map +1 -1
- package/dist/node-dev/useMoney.mjs +176 -154
- package/dist/node-dev/useMoney.mjs.map +1 -1
- package/dist/node-dev/useSelectedOptionInUrlParam.js +18 -27
- package/dist/node-dev/useSelectedOptionInUrlParam.js.map +1 -1
- package/dist/node-dev/useSelectedOptionInUrlParam.mjs +17 -27
- package/dist/node-dev/useSelectedOptionInUrlParam.mjs.map +1 -1
- package/dist/node-dev/useShopifyCookies.js +124 -138
- package/dist/node-dev/useShopifyCookies.js.map +1 -1
- package/dist/node-dev/useShopifyCookies.mjs +123 -138
- package/dist/node-dev/useShopifyCookies.mjs.map +1 -1
- package/dist/node-prod/AddToCartButton.js +64 -73
- package/dist/node-prod/AddToCartButton.js.map +1 -1
- package/dist/node-prod/AddToCartButton.mjs +60 -71
- package/dist/node-prod/AddToCartButton.mjs.map +1 -1
- package/dist/node-prod/BaseButton.js +21 -26
- package/dist/node-prod/BaseButton.js.map +1 -1
- package/dist/node-prod/BaseButton.mjs +20 -26
- package/dist/node-prod/BaseButton.mjs.map +1 -1
- package/dist/node-prod/BuyNowButton.js +42 -46
- package/dist/node-prod/BuyNowButton.js.map +1 -1
- package/dist/node-prod/BuyNowButton.mjs +40 -45
- package/dist/node-prod/BuyNowButton.mjs.map +1 -1
- package/dist/node-prod/CartCheckoutButton.js +30 -24
- package/dist/node-prod/CartCheckoutButton.js.map +1 -1
- package/dist/node-prod/CartCheckoutButton.mjs +28 -23
- package/dist/node-prod/CartCheckoutButton.mjs.map +1 -1
- package/dist/node-prod/CartCost.js +27 -22
- package/dist/node-prod/CartCost.js.map +1 -1
- package/dist/node-prod/CartCost.mjs +26 -22
- package/dist/node-prod/CartCost.mjs.map +1 -1
- package/dist/node-prod/CartLineProvider.js +24 -17
- package/dist/node-prod/CartLineProvider.js.map +1 -1
- package/dist/node-prod/CartLineProvider.mjs +23 -18
- package/dist/node-prod/CartLineProvider.mjs.map +1 -1
- package/dist/node-prod/CartLineQuantity.js +19 -9
- package/dist/node-prod/CartLineQuantity.js.map +1 -1
- package/dist/node-prod/CartLineQuantity.mjs +18 -9
- package/dist/node-prod/CartLineQuantity.mjs.map +1 -1
- package/dist/node-prod/CartLineQuantityAdjustButton.js +50 -46
- package/dist/node-prod/CartLineQuantityAdjustButton.js.map +1 -1
- package/dist/node-prod/CartLineQuantityAdjustButton.mjs +48 -45
- package/dist/node-prod/CartLineQuantityAdjustButton.mjs.map +1 -1
- package/dist/node-prod/CartProvider.js +317 -385
- package/dist/node-prod/CartProvider.js.map +1 -1
- package/dist/node-prod/CartProvider.mjs +315 -385
- package/dist/node-prod/CartProvider.mjs.map +1 -1
- package/dist/node-prod/ExternalVideo.js +36 -47
- package/dist/node-prod/ExternalVideo.js.map +1 -1
- package/dist/node-prod/ExternalVideo.mjs +35 -47
- package/dist/node-prod/ExternalVideo.mjs.map +1 -1
- package/dist/node-prod/Image.js +328 -340
- package/dist/node-prod/Image.js.map +1 -1
- package/dist/node-prod/Image.mjs +326 -325
- package/dist/node-prod/Image.mjs.map +1 -1
- package/dist/node-prod/MediaFile.js +47 -65
- package/dist/node-prod/MediaFile.js.map +1 -1
- package/dist/node-prod/MediaFile.mjs +44 -63
- package/dist/node-prod/MediaFile.mjs.map +1 -1
- package/dist/node-prod/ModelViewer.js +118 -135
- package/dist/node-prod/ModelViewer.js.map +1 -1
- package/dist/node-prod/ModelViewer.mjs +117 -135
- package/dist/node-prod/ModelViewer.mjs.map +1 -1
- package/dist/node-prod/Money.js +54 -39
- package/dist/node-prod/Money.js.map +1 -1
- package/dist/node-prod/Money.mjs +53 -39
- package/dist/node-prod/Money.mjs.map +1 -1
- package/dist/node-prod/ProductPrice.js +45 -61
- package/dist/node-prod/ProductPrice.js.map +1 -1
- package/dist/node-prod/ProductPrice.mjs +44 -61
- package/dist/node-prod/ProductPrice.mjs.map +1 -1
- package/dist/node-prod/ProductProvider.js +148 -178
- package/dist/node-prod/ProductProvider.js.map +1 -1
- package/dist/node-prod/ProductProvider.mjs +147 -179
- package/dist/node-prod/ProductProvider.mjs.map +1 -1
- package/dist/node-prod/RichText.components.js +37 -46
- package/dist/node-prod/RichText.components.js.map +1 -1
- package/dist/node-prod/RichText.components.mjs +36 -46
- package/dist/node-prod/RichText.components.mjs.map +1 -1
- package/dist/node-prod/RichText.js +112 -154
- package/dist/node-prod/RichText.js.map +1 -1
- package/dist/node-prod/RichText.mjs +111 -154
- package/dist/node-prod/RichText.mjs.map +1 -1
- package/dist/node-prod/ShopPayButton.js +54 -81
- package/dist/node-prod/ShopPayButton.js.map +1 -1
- package/dist/node-prod/ShopPayButton.mjs +53 -81
- package/dist/node-prod/ShopPayButton.mjs.map +1 -1
- package/dist/node-prod/ShopifyProvider.js +73 -83
- package/dist/node-prod/ShopifyProvider.js.map +1 -1
- package/dist/node-prod/ShopifyProvider.mjs +71 -84
- package/dist/node-prod/ShopifyProvider.mjs.map +1 -1
- package/dist/node-prod/Video.js +36 -52
- package/dist/node-prod/Video.js.map +1 -1
- package/dist/node-prod/Video.mjs +35 -52
- package/dist/node-prod/Video.mjs.map +1 -1
- package/dist/node-prod/_virtual/_rolldown/runtime.js +23 -0
- package/dist/node-prod/analytics-constants.js +40 -39
- package/dist/node-prod/analytics-constants.js.map +1 -1
- package/dist/node-prod/analytics-constants.mjs +41 -43
- package/dist/node-prod/analytics-constants.mjs.map +1 -1
- package/dist/node-prod/analytics-schema-custom-storefront-customer-tracking.js +128 -210
- 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 +127 -214
- 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 +40 -51
- 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 +39 -50
- package/dist/node-prod/analytics-schema-trekkie-storefront-page-view.mjs.map +1 -1
- package/dist/node-prod/analytics-utils.js +77 -52
- package/dist/node-prod/analytics-utils.js.map +1 -1
- package/dist/node-prod/analytics-utils.mjs +78 -56
- package/dist/node-prod/analytics-utils.mjs.map +1 -1
- package/dist/node-prod/analytics.js +113 -154
- package/dist/node-prod/analytics.js.map +1 -1
- package/dist/node-prod/analytics.mjs +111 -153
- package/dist/node-prod/analytics.mjs.map +1 -1
- package/dist/node-prod/cart-constants.js +10 -9
- package/dist/node-prod/cart-constants.js.map +1 -1
- package/dist/node-prod/cart-constants.mjs +11 -15
- package/dist/node-prod/cart-constants.mjs.map +1 -1
- package/dist/node-prod/cart-hooks.js +43 -57
- package/dist/node-prod/cart-hooks.js.map +1 -1
- package/dist/node-prod/cart-hooks.mjs +42 -57
- package/dist/node-prod/cart-hooks.mjs.map +1 -1
- package/dist/node-prod/cart-queries.js +58 -125
- package/dist/node-prod/cart-queries.js.map +1 -1
- package/dist/node-prod/cart-queries.mjs +59 -135
- package/dist/node-prod/cart-queries.mjs.map +1 -1
- package/dist/node-prod/codegen.helpers.js +30 -18
- package/dist/node-prod/codegen.helpers.js.map +1 -1
- package/dist/node-prod/codegen.helpers.mjs +31 -20
- package/dist/node-prod/codegen.helpers.mjs.map +1 -1
- package/dist/node-prod/cookies-utils.js +45 -42
- package/dist/node-prod/cookies-utils.js.map +1 -1
- package/dist/node-prod/cookies-utils.mjs +44 -42
- package/dist/node-prod/cookies-utils.mjs.map +1 -1
- package/dist/node-prod/flatten-connection.js +22 -24
- package/dist/node-prod/flatten-connection.js.map +1 -1
- package/dist/node-prod/flatten-connection.mjs +23 -25
- package/dist/node-prod/flatten-connection.mjs.map +1 -1
- package/dist/node-prod/getProductOptions.js +248 -224
- package/dist/node-prod/getProductOptions.js.map +1 -1
- package/dist/node-prod/getProductOptions.mjs +248 -226
- package/dist/node-prod/getProductOptions.mjs.map +1 -1
- package/dist/node-prod/index.js +88 -90
- package/dist/node-prod/index.mjs +15 -70
- package/dist/node-prod/load-script.js +38 -48
- package/dist/node-prod/load-script.js.map +1 -1
- package/dist/node-prod/load-script.mjs +38 -49
- package/dist/node-prod/load-script.mjs.map +1 -1
- package/dist/node-prod/node_modules/.pnpm/@xstate_fsm@2.0.0/node_modules/@xstate/fsm/es/index.js +185 -124
- package/dist/node-prod/node_modules/.pnpm/@xstate_fsm@2.0.0/node_modules/@xstate/fsm/es/index.js.map +1 -1
- package/dist/node-prod/node_modules/.pnpm/@xstate_fsm@2.0.0/node_modules/@xstate/fsm/es/index.mjs +175 -123
- package/dist/node-prod/node_modules/.pnpm/@xstate_fsm@2.0.0/node_modules/@xstate/fsm/es/index.mjs.map +1 -1
- package/dist/node-prod/optionValueDecoder.js +103 -84
- package/dist/node-prod/optionValueDecoder.js.map +1 -1
- package/dist/node-prod/optionValueDecoder.mjs +104 -86
- package/dist/node-prod/optionValueDecoder.mjs.map +1 -1
- package/dist/node-prod/packages/hydrogen-react/package.js +6 -0
- package/dist/node-prod/packages/hydrogen-react/package.js.map +1 -0
- package/dist/node-prod/packages/hydrogen-react/package.mjs +6 -0
- package/dist/node-prod/packages/hydrogen-react/package.mjs.map +1 -0
- package/dist/node-prod/parse-metafield.js +134 -146
- package/dist/node-prod/parse-metafield.js.map +1 -1
- package/dist/node-prod/parse-metafield.mjs +134 -146
- package/dist/node-prod/parse-metafield.mjs.map +1 -1
- package/dist/node-prod/storefront-api-constants.js +5 -4
- package/dist/node-prod/storefront-api-constants.js.map +1 -1
- package/dist/node-prod/storefront-api-constants.mjs +6 -5
- package/dist/node-prod/storefront-api-constants.mjs.map +1 -1
- package/dist/node-prod/storefront-client.js +56 -83
- package/dist/node-prod/storefront-client.js.map +1 -1
- package/dist/node-prod/storefront-client.mjs +56 -84
- package/dist/node-prod/storefront-client.mjs.map +1 -1
- package/dist/node-prod/tracking-utils.js +67 -85
- package/dist/node-prod/tracking-utils.js.map +1 -1
- package/dist/node-prod/tracking-utils.mjs +68 -88
- package/dist/node-prod/tracking-utils.mjs.map +1 -1
- package/dist/node-prod/useCartAPIStateMachine.js +192 -349
- package/dist/node-prod/useCartAPIStateMachine.js.map +1 -1
- package/dist/node-prod/useCartAPIStateMachine.mjs +188 -346
- package/dist/node-prod/useCartAPIStateMachine.mjs.map +1 -1
- package/dist/node-prod/useCartActions.js +198 -172
- package/dist/node-prod/useCartActions.js.map +1 -1
- package/dist/node-prod/useCartActions.mjs +197 -172
- package/dist/node-prod/useCartActions.mjs.map +1 -1
- package/dist/node-prod/useMachine.js +50 -61
- package/dist/node-prod/useMachine.js.map +1 -1
- package/dist/node-prod/useMachine.mjs +50 -62
- package/dist/node-prod/useMachine.mjs.map +1 -1
- package/dist/node-prod/useMoney.js +177 -154
- package/dist/node-prod/useMoney.js.map +1 -1
- package/dist/node-prod/useMoney.mjs +176 -154
- package/dist/node-prod/useMoney.mjs.map +1 -1
- package/dist/node-prod/useSelectedOptionInUrlParam.js +18 -27
- package/dist/node-prod/useSelectedOptionInUrlParam.js.map +1 -1
- package/dist/node-prod/useSelectedOptionInUrlParam.mjs +17 -27
- package/dist/node-prod/useSelectedOptionInUrlParam.mjs.map +1 -1
- package/dist/node-prod/useShopifyCookies.js +124 -138
- package/dist/node-prod/useShopifyCookies.js.map +1 -1
- package/dist/node-prod/useShopifyCookies.mjs +123 -138
- package/dist/node-prod/useShopifyCookies.mjs.map +1 -1
- package/dist/types/AddToCartButton.d.ts +2 -0
- package/dist/types/BuyNowButton.d.ts +2 -0
- package/dist/types/CartCheckoutButton.d.ts +2 -0
- package/dist/types/CartCost.d.ts +2 -0
- package/dist/types/CartLineProvider.d.ts +2 -0
- package/dist/types/CartLineQuantity.d.ts +2 -0
- package/dist/types/CartLineQuantityAdjustButton.d.ts +1 -0
- package/dist/types/CartProvider.d.ts +7 -1
- package/dist/types/ExternalVideo.d.ts +4 -0
- package/dist/types/Image.d.ts +2 -0
- package/dist/types/MediaFile.d.ts +4 -0
- package/dist/types/ModelViewer.d.ts +1 -0
- package/dist/types/Money.d.ts +1 -0
- package/dist/types/ProductPrice.d.ts +2 -0
- package/dist/types/ProductProvider.d.ts +2 -0
- package/dist/types/RichText.d.ts +2 -0
- package/dist/types/ShopPayButton.d.ts +1 -0
- package/dist/types/ShopifyProvider.d.ts +2 -0
- package/dist/types/Video.d.ts +2 -0
- package/dist/types/analytics-constants.d.ts +9 -0
- package/dist/types/analytics-types.d.ts +1 -0
- package/dist/types/analytics-utils.d.ts +1 -0
- package/dist/types/analytics.d.ts +6 -1
- package/dist/types/cart-queries.d.ts +13 -9
- package/dist/types/codegen.helpers.d.ts +2 -0
- package/dist/types/cookies-utils.d.ts +2 -1
- package/dist/types/flatten-connection.d.ts +3 -0
- package/dist/types/getProductOptions.d.ts +3 -0
- package/dist/types/load-script.d.ts +3 -1
- package/dist/types/optionValueDecoder.d.ts +3 -0
- package/dist/types/parse-metafield.d.ts +1 -0
- package/dist/types/storefront-client.d.ts +1 -0
- package/dist/types/tracking-utils.d.ts +2 -2
- package/dist/types/useMoney.d.ts +1 -0
- package/dist/types/useSelectedOptionInUrlParam.d.ts +1 -0
- package/dist/types/useShopifyCookies.d.ts +1 -0
- package/dist/umd/hydrogen-react.dev.js +3957 -4483
- package/dist/umd/hydrogen-react.dev.js.map +1 -1
- package/dist/umd/hydrogen-react.prod.js +42 -101
- package/dist/umd/hydrogen-react.prod.js.map +1 -1
- package/package.json +5 -5
- package/dist/browser-dev/index.mjs.map +0 -1
- package/dist/browser-dev/packages/hydrogen-react/package.json.mjs +0 -5
- package/dist/browser-dev/packages/hydrogen-react/package.json.mjs.map +0 -1
- package/dist/browser-prod/index.mjs.map +0 -1
- package/dist/browser-prod/packages/hydrogen-react/package.json.mjs +0 -5
- package/dist/browser-prod/packages/hydrogen-react/package.json.mjs.map +0 -1
- package/dist/node-dev/index.js.map +0 -1
- package/dist/node-dev/index.mjs.map +0 -1
- package/dist/node-dev/packages/hydrogen-react/package.json.js +0 -5
- package/dist/node-dev/packages/hydrogen-react/package.json.js.map +0 -1
- package/dist/node-dev/packages/hydrogen-react/package.json.mjs +0 -5
- package/dist/node-dev/packages/hydrogen-react/package.json.mjs.map +0 -1
- package/dist/node-prod/index.js.map +0 -1
- package/dist/node-prod/index.mjs.map +0 -1
- package/dist/node-prod/packages/hydrogen-react/package.json.js +0 -5
- package/dist/node-prod/packages/hydrogen-react/package.json.js.map +0 -1
- package/dist/node-prod/packages/hydrogen-react/package.json.mjs +0 -5
- package/dist/node-prod/packages/hydrogen-react/package.json.mjs.map +0 -1
|
@@ -1,60 +1,45 @@
|
|
|
1
|
-
import { useCallback } from "react";
|
|
2
1
|
import { useShop } from "./ShopifyProvider.mjs";
|
|
3
|
-
import { SHOPIFY_STOREFRONT_ID_HEADER,
|
|
4
|
-
import {
|
|
2
|
+
import { SHOPIFY_STOREFRONT_ID_HEADER, SHOPIFY_STOREFRONT_S_HEADER, SHOPIFY_STOREFRONT_Y_HEADER } from "./cart-constants.mjs";
|
|
3
|
+
import { SHOPIFY_UNIQUE_TOKEN_HEADER, SHOPIFY_VISIT_TOKEN_HEADER, getTrackingValues } from "./tracking-utils.mjs";
|
|
4
|
+
import { useCallback } from "react";
|
|
5
|
+
//#region src/cart-hooks.tsx
|
|
5
6
|
function useCartFetch() {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
(res) => res.json()
|
|
41
|
-
).catch((error) => {
|
|
42
|
-
return {
|
|
43
|
-
data: void 0,
|
|
44
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call
|
|
45
|
-
errors: error == null ? void 0 : error.toString()
|
|
46
|
-
};
|
|
47
|
-
});
|
|
48
|
-
},
|
|
49
|
-
[
|
|
50
|
-
getPublicTokenHeaders,
|
|
51
|
-
storefrontId,
|
|
52
|
-
getStorefrontApiUrl,
|
|
53
|
-
sameDomainForStorefrontApi
|
|
54
|
-
]
|
|
55
|
-
);
|
|
7
|
+
const { storefrontId, getPublicTokenHeaders, getStorefrontApiUrl, sameDomainForStorefrontApi } = useShop();
|
|
8
|
+
return useCallback(({ query, variables }) => {
|
|
9
|
+
const headers = getPublicTokenHeaders({ contentType: "json" });
|
|
10
|
+
if (storefrontId) headers[SHOPIFY_STOREFRONT_ID_HEADER] = storefrontId;
|
|
11
|
+
if (!sameDomainForStorefrontApi) {
|
|
12
|
+
const { uniqueToken, visitToken } = getTrackingValues();
|
|
13
|
+
if (uniqueToken) {
|
|
14
|
+
headers[SHOPIFY_STOREFRONT_Y_HEADER] = uniqueToken;
|
|
15
|
+
headers[SHOPIFY_UNIQUE_TOKEN_HEADER] = uniqueToken;
|
|
16
|
+
}
|
|
17
|
+
if (visitToken) {
|
|
18
|
+
headers[SHOPIFY_STOREFRONT_S_HEADER] = visitToken;
|
|
19
|
+
headers[SHOPIFY_VISIT_TOKEN_HEADER] = visitToken;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return fetch(getStorefrontApiUrl(), {
|
|
23
|
+
method: "POST",
|
|
24
|
+
headers,
|
|
25
|
+
body: JSON.stringify({
|
|
26
|
+
query: query.toString(),
|
|
27
|
+
variables
|
|
28
|
+
})
|
|
29
|
+
}).then((res) => res.json()).catch((error) => {
|
|
30
|
+
return {
|
|
31
|
+
data: void 0,
|
|
32
|
+
errors: error?.toString()
|
|
33
|
+
};
|
|
34
|
+
});
|
|
35
|
+
}, [
|
|
36
|
+
getPublicTokenHeaders,
|
|
37
|
+
storefrontId,
|
|
38
|
+
getStorefrontApiUrl,
|
|
39
|
+
sameDomainForStorefrontApi
|
|
40
|
+
]);
|
|
56
41
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
//# sourceMappingURL=cart-hooks.mjs.map
|
|
42
|
+
//#endregion
|
|
43
|
+
export { useCartFetch };
|
|
44
|
+
|
|
45
|
+
//# sourceMappingURL=cart-hooks.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cart-hooks.mjs","sources":["../../src/cart-hooks.tsx"],"sourcesContent":["import {useState, useCallback} from 'react';\nimport {useShop} from './ShopifyProvider.js';\nimport {flattenConnection} from './flatten-connection.js';\nimport {CartInput, Cart as CartType} from './storefront-api-types.js';\nimport {CartCreate, defaultCartFragment} from './cart-queries.js';\nimport {Cart} from './cart-types.js';\nimport {\n SHOPIFY_STOREFRONT_ID_HEADER,\n SHOPIFY_STOREFRONT_Y_HEADER,\n SHOPIFY_STOREFRONT_S_HEADER,\n} from './cart-constants.js';\nimport type {StorefrontApiResponseOkPartial} from './storefront-api-response.types.js';\nimport {\n getTrackingValues,\n SHOPIFY_UNIQUE_TOKEN_HEADER,\n SHOPIFY_VISIT_TOKEN_HEADER,\n} from './tracking-utils.js';\n\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function useCartFetch() {\n const {\n storefrontId,\n getPublicTokenHeaders,\n getStorefrontApiUrl,\n sameDomainForStorefrontApi,\n } = useShop();\n\n return useCallback(\n <ReturnDataGeneric,>({\n query,\n variables,\n }: {\n query: string;\n variables: Record<string, unknown>;\n }): Promise<StorefrontApiResponseOkPartial<ReturnDataGeneric>> => {\n const headers = getPublicTokenHeaders({contentType: 'json'});\n\n if (storefrontId) {\n headers[SHOPIFY_STOREFRONT_ID_HEADER] = storefrontId;\n }\n\n if (!sameDomainForStorefrontApi) {\n // If we are in cross-domain mode, add tracking headers manually.\n // Otherwise, for same-domain we rely on the browser to attach cookies automatically.\n const {uniqueToken, visitToken} = getTrackingValues();\n if (uniqueToken) {\n headers[SHOPIFY_STOREFRONT_Y_HEADER] = uniqueToken;\n headers[SHOPIFY_UNIQUE_TOKEN_HEADER] = uniqueToken;\n }\n if (visitToken) {\n headers[SHOPIFY_STOREFRONT_S_HEADER] = visitToken;\n headers[SHOPIFY_VISIT_TOKEN_HEADER] = visitToken;\n }\n }\n\n return fetch(getStorefrontApiUrl(), {\n method: 'POST',\n headers,\n body: JSON.stringify({\n query: query.toString(),\n variables,\n }),\n })\n .then(\n (res) =>\n res.json() as StorefrontApiResponseOkPartial<ReturnDataGeneric>,\n )\n .catch((error) => {\n return {\n data: undefined,\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call\n errors: error?.toString(),\n };\n });\n },\n [\n getPublicTokenHeaders,\n storefrontId,\n getStorefrontApiUrl,\n sameDomainForStorefrontApi,\n ],\n );\n}\n\nexport function useInstantCheckout(): {\n cart: Cart | undefined;\n checkoutUrl: Cart['checkoutUrl'];\n error: string | undefined;\n createInstantCheckout: (cartInput: CartInput) => Promise<void>;\n} {\n const [cart, updateCart] = useState<Cart | undefined>();\n const [checkoutUrl, updateCheckoutUrl] = useState<Cart['checkoutUrl']>();\n const [error, updateError] = useState<string | undefined>();\n\n const fetch = useCartFetch();\n\n const createInstantCheckout = useCallback(\n async (cartInput: CartInput) => {\n const {data, errors} = await fetch<{\n cartCreate: {cart: CartType};\n }>({\n query: CartCreate(defaultCartFragment),\n variables: {\n input: cartInput,\n },\n });\n\n if (errors) {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n updateError(errors.toString());\n updateCart(undefined);\n updateCheckoutUrl(undefined);\n }\n\n if (data?.cartCreate?.cart) {\n const dataCart = data.cartCreate.cart;\n updateCart({\n ...dataCart,\n lines: flattenConnection(dataCart.lines),\n note: dataCart.note ?? undefined,\n });\n updateCheckoutUrl(dataCart.checkoutUrl);\n }\n },\n [fetch],\n );\n\n return {cart, checkoutUrl, error, createInstantCheckout};\n}\n"],"
|
|
1
|
+
{"version":3,"file":"cart-hooks.mjs","names":[],"sources":["../../src/cart-hooks.tsx"],"sourcesContent":["import {useState, useCallback} from 'react';\nimport {useShop} from './ShopifyProvider.js';\nimport {flattenConnection} from './flatten-connection.js';\nimport {CartInput, Cart as CartType} from './storefront-api-types.js';\nimport {CartCreate, defaultCartFragment} from './cart-queries.js';\nimport {Cart} from './cart-types.js';\nimport {\n SHOPIFY_STOREFRONT_ID_HEADER,\n SHOPIFY_STOREFRONT_Y_HEADER,\n SHOPIFY_STOREFRONT_S_HEADER,\n} from './cart-constants.js';\nimport type {StorefrontApiResponseOkPartial} from './storefront-api-response.types.js';\nimport {\n getTrackingValues,\n SHOPIFY_UNIQUE_TOKEN_HEADER,\n SHOPIFY_VISIT_TOKEN_HEADER,\n} from './tracking-utils.js';\n\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function useCartFetch() {\n const {\n storefrontId,\n getPublicTokenHeaders,\n getStorefrontApiUrl,\n sameDomainForStorefrontApi,\n } = useShop();\n\n return useCallback(\n <ReturnDataGeneric,>({\n query,\n variables,\n }: {\n query: string;\n variables: Record<string, unknown>;\n }): Promise<StorefrontApiResponseOkPartial<ReturnDataGeneric>> => {\n const headers = getPublicTokenHeaders({contentType: 'json'});\n\n if (storefrontId) {\n headers[SHOPIFY_STOREFRONT_ID_HEADER] = storefrontId;\n }\n\n if (!sameDomainForStorefrontApi) {\n // If we are in cross-domain mode, add tracking headers manually.\n // Otherwise, for same-domain we rely on the browser to attach cookies automatically.\n const {uniqueToken, visitToken} = getTrackingValues();\n if (uniqueToken) {\n headers[SHOPIFY_STOREFRONT_Y_HEADER] = uniqueToken;\n headers[SHOPIFY_UNIQUE_TOKEN_HEADER] = uniqueToken;\n }\n if (visitToken) {\n headers[SHOPIFY_STOREFRONT_S_HEADER] = visitToken;\n headers[SHOPIFY_VISIT_TOKEN_HEADER] = visitToken;\n }\n }\n\n return fetch(getStorefrontApiUrl(), {\n method: 'POST',\n headers,\n body: JSON.stringify({\n query: query.toString(),\n variables,\n }),\n })\n .then(\n (res) =>\n res.json() as StorefrontApiResponseOkPartial<ReturnDataGeneric>,\n )\n .catch((error) => {\n return {\n data: undefined,\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call\n errors: error?.toString(),\n };\n });\n },\n [\n getPublicTokenHeaders,\n storefrontId,\n getStorefrontApiUrl,\n sameDomainForStorefrontApi,\n ],\n );\n}\n\nexport function useInstantCheckout(): {\n cart: Cart | undefined;\n checkoutUrl: Cart['checkoutUrl'];\n error: string | undefined;\n createInstantCheckout: (cartInput: CartInput) => Promise<void>;\n} {\n const [cart, updateCart] = useState<Cart | undefined>();\n const [checkoutUrl, updateCheckoutUrl] = useState<Cart['checkoutUrl']>();\n const [error, updateError] = useState<string | undefined>();\n\n const fetch = useCartFetch();\n\n const createInstantCheckout = useCallback(\n async (cartInput: CartInput) => {\n const {data, errors} = await fetch<{\n cartCreate: {cart: CartType};\n }>({\n query: CartCreate(defaultCartFragment),\n variables: {\n input: cartInput,\n },\n });\n\n if (errors) {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n updateError(errors.toString());\n updateCart(undefined);\n updateCheckoutUrl(undefined);\n }\n\n if (data?.cartCreate?.cart) {\n const dataCart = data.cartCreate.cart;\n updateCart({\n ...dataCart,\n lines: flattenConnection(dataCart.lines),\n note: dataCart.note ?? undefined,\n });\n updateCheckoutUrl(dataCart.checkoutUrl);\n }\n },\n [fetch],\n );\n\n return {cart, checkoutUrl, error, createInstantCheckout};\n}\n"],"mappings":";;;;;AAmBA,SAAgB,eAAe;CAC7B,MAAM,EACJ,cACA,uBACA,qBACA,+BACE,SAAS;AAEb,QAAO,aACgB,EACnB,OACA,gBAIgE;EAChE,MAAM,UAAU,sBAAsB,EAAC,aAAa,QAAO,CAAC;AAE5D,MAAI,aACF,SAAQ,gCAAgC;AAG1C,MAAI,CAAC,4BAA4B;GAG/B,MAAM,EAAC,aAAa,eAAc,mBAAmB;AACrD,OAAI,aAAa;AACf,YAAQ,+BAA+B;AACvC,YAAQ,+BAA+B;;AAEzC,OAAI,YAAY;AACd,YAAQ,+BAA+B;AACvC,YAAQ,8BAA8B;;;AAI1C,SAAO,MAAM,qBAAqB,EAAE;GAClC,QAAQ;GACR;GACA,MAAM,KAAK,UAAU;IACnB,OAAO,MAAM,UAAU;IACvB;IACD,CAAC;GACH,CAAC,CACC,MACE,QACC,IAAI,MAAM,CACb,CACA,OAAO,UAAU;AAChB,UAAO;IACL,MAAM,KAAA;IAEN,QAAQ,OAAO,UAAU;IAC1B;IACD;IAEN;EACE;EACA;EACA;EACA;EACD,CACF"}
|
|
@@ -1,19 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
//#region src/cart-queries.ts
|
|
2
|
+
function getInContextVariables(includeVisitorConsent) {
|
|
3
|
+
const base = `$country: CountryCode = ZZ
|
|
4
|
+
$language: LanguageCode`;
|
|
5
|
+
return includeVisitorConsent ? `${base}
|
|
6
|
+
$visitorConsent: VisitorConsent` : base;
|
|
7
|
+
}
|
|
8
|
+
function getInContextDirective(includeVisitorConsent) {
|
|
9
|
+
return includeVisitorConsent ? `@inContext(
|
|
10
|
+
country: $country
|
|
11
|
+
language: $language
|
|
12
|
+
visitorConsent: $visitorConsent
|
|
13
|
+
)` : `@inContext(
|
|
14
|
+
country: $country
|
|
15
|
+
language: $language
|
|
16
|
+
)`;
|
|
17
|
+
}
|
|
18
|
+
var CartLineAdd = (cartFragment, options = {}) => `
|
|
4
19
|
mutation CartLineAdd(
|
|
5
20
|
$cartId: ID!
|
|
6
21
|
$lines: [CartLineInput!]!
|
|
7
22
|
$numCartLines: Int = 250
|
|
8
|
-
$
|
|
9
|
-
$language: LanguageCode
|
|
10
|
-
$visitorConsent: VisitorConsent
|
|
23
|
+
${getInContextVariables(options.includeVisitorConsent ?? false)}
|
|
11
24
|
)
|
|
12
|
-
|
|
13
|
-
country: $country
|
|
14
|
-
language: $language
|
|
15
|
-
visitorConsent: $visitorConsent
|
|
16
|
-
) {
|
|
25
|
+
${getInContextDirective(options.includeVisitorConsent ?? false)} {
|
|
17
26
|
cartLinesAdd(cartId: $cartId, lines: $lines) {
|
|
18
27
|
cart {
|
|
19
28
|
...CartFragment
|
|
@@ -22,23 +31,14 @@ const CartLineAdd = (cartFragment) => (
|
|
|
22
31
|
}
|
|
23
32
|
|
|
24
33
|
${cartFragment}
|
|
25
|
-
|
|
26
|
-
)
|
|
27
|
-
const CartCreate = (cartFragment) => (
|
|
28
|
-
/* GraphQL */
|
|
29
|
-
`
|
|
34
|
+
`;
|
|
35
|
+
var CartCreate = (cartFragment, options = {}) => `
|
|
30
36
|
mutation CartCreate(
|
|
31
37
|
$input: CartInput!
|
|
32
38
|
$numCartLines: Int = 250
|
|
33
|
-
$
|
|
34
|
-
$language: LanguageCode
|
|
35
|
-
$visitorConsent: VisitorConsent
|
|
39
|
+
${getInContextVariables(options.includeVisitorConsent ?? false)}
|
|
36
40
|
)
|
|
37
|
-
|
|
38
|
-
country: $country
|
|
39
|
-
language: $language
|
|
40
|
-
visitorConsent: $visitorConsent
|
|
41
|
-
) {
|
|
41
|
+
${getInContextDirective(options.includeVisitorConsent ?? false)} {
|
|
42
42
|
cartCreate(input: $input) {
|
|
43
43
|
cart {
|
|
44
44
|
...CartFragment
|
|
@@ -47,24 +47,15 @@ const CartCreate = (cartFragment) => (
|
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
${cartFragment}
|
|
50
|
-
|
|
51
|
-
)
|
|
52
|
-
const CartLineRemove = (cartFragment) => (
|
|
53
|
-
/* GraphQL */
|
|
54
|
-
`
|
|
50
|
+
`;
|
|
51
|
+
var CartLineRemove = (cartFragment, options = {}) => `
|
|
55
52
|
mutation CartLineRemove(
|
|
56
53
|
$cartId: ID!
|
|
57
54
|
$lines: [ID!]!
|
|
58
55
|
$numCartLines: Int = 250
|
|
59
|
-
$
|
|
60
|
-
$language: LanguageCode
|
|
61
|
-
$visitorConsent: VisitorConsent
|
|
56
|
+
${getInContextVariables(options.includeVisitorConsent ?? false)}
|
|
62
57
|
)
|
|
63
|
-
|
|
64
|
-
country: $country
|
|
65
|
-
language: $language
|
|
66
|
-
visitorConsent: $visitorConsent
|
|
67
|
-
) {
|
|
58
|
+
${getInContextDirective(options.includeVisitorConsent ?? false)} {
|
|
68
59
|
cartLinesRemove(cartId: $cartId, lineIds: $lines) {
|
|
69
60
|
cart {
|
|
70
61
|
...CartFragment
|
|
@@ -73,24 +64,15 @@ const CartLineRemove = (cartFragment) => (
|
|
|
73
64
|
}
|
|
74
65
|
|
|
75
66
|
${cartFragment}
|
|
76
|
-
|
|
77
|
-
)
|
|
78
|
-
const CartLineUpdate = (cartFragment) => (
|
|
79
|
-
/* GraphQL */
|
|
80
|
-
`
|
|
67
|
+
`;
|
|
68
|
+
var CartLineUpdate = (cartFragment, options = {}) => `
|
|
81
69
|
mutation CartLineUpdate(
|
|
82
70
|
$cartId: ID!
|
|
83
71
|
$lines: [CartLineUpdateInput!]!
|
|
84
72
|
$numCartLines: Int = 250
|
|
85
|
-
$
|
|
86
|
-
$language: LanguageCode
|
|
87
|
-
$visitorConsent: VisitorConsent
|
|
73
|
+
${getInContextVariables(options.includeVisitorConsent ?? false)}
|
|
88
74
|
)
|
|
89
|
-
|
|
90
|
-
country: $country
|
|
91
|
-
language: $language
|
|
92
|
-
visitorConsent: $visitorConsent
|
|
93
|
-
) {
|
|
75
|
+
${getInContextDirective(options.includeVisitorConsent ?? false)} {
|
|
94
76
|
cartLinesUpdate(cartId: $cartId, lines: $lines) {
|
|
95
77
|
cart {
|
|
96
78
|
...CartFragment
|
|
@@ -99,24 +81,15 @@ const CartLineUpdate = (cartFragment) => (
|
|
|
99
81
|
}
|
|
100
82
|
|
|
101
83
|
${cartFragment}
|
|
102
|
-
|
|
103
|
-
)
|
|
104
|
-
const CartNoteUpdate = (cartFragment) => (
|
|
105
|
-
/* GraphQL */
|
|
106
|
-
`
|
|
84
|
+
`;
|
|
85
|
+
var CartNoteUpdate = (cartFragment, options = {}) => `
|
|
107
86
|
mutation CartNoteUpdate(
|
|
108
87
|
$cartId: ID!
|
|
109
88
|
$note: String!
|
|
110
89
|
$numCartLines: Int = 250
|
|
111
|
-
$
|
|
112
|
-
$language: LanguageCode
|
|
113
|
-
$visitorConsent: VisitorConsent
|
|
90
|
+
${getInContextVariables(options.includeVisitorConsent ?? false)}
|
|
114
91
|
)
|
|
115
|
-
|
|
116
|
-
country: $country
|
|
117
|
-
language: $language
|
|
118
|
-
visitorConsent: $visitorConsent
|
|
119
|
-
) {
|
|
92
|
+
${getInContextDirective(options.includeVisitorConsent ?? false)} {
|
|
120
93
|
cartNoteUpdate(cartId: $cartId, note: $note) {
|
|
121
94
|
cart {
|
|
122
95
|
...CartFragment
|
|
@@ -125,24 +98,15 @@ const CartNoteUpdate = (cartFragment) => (
|
|
|
125
98
|
}
|
|
126
99
|
|
|
127
100
|
${cartFragment}
|
|
128
|
-
|
|
129
|
-
)
|
|
130
|
-
const CartBuyerIdentityUpdate = (cartFragment) => (
|
|
131
|
-
/* GraphQL */
|
|
132
|
-
`
|
|
101
|
+
`;
|
|
102
|
+
var CartBuyerIdentityUpdate = (cartFragment, options = {}) => `
|
|
133
103
|
mutation CartBuyerIdentityUpdate(
|
|
134
104
|
$cartId: ID!
|
|
135
105
|
$buyerIdentity: CartBuyerIdentityInput!
|
|
136
106
|
$numCartLines: Int = 250
|
|
137
|
-
$
|
|
138
|
-
$language: LanguageCode
|
|
139
|
-
$visitorConsent: VisitorConsent
|
|
107
|
+
${getInContextVariables(options.includeVisitorConsent ?? false)}
|
|
140
108
|
)
|
|
141
|
-
|
|
142
|
-
country: $country
|
|
143
|
-
language: $language
|
|
144
|
-
visitorConsent: $visitorConsent
|
|
145
|
-
) {
|
|
109
|
+
${getInContextDirective(options.includeVisitorConsent ?? false)} {
|
|
146
110
|
cartBuyerIdentityUpdate(cartId: $cartId, buyerIdentity: $buyerIdentity) {
|
|
147
111
|
cart {
|
|
148
112
|
...CartFragment
|
|
@@ -151,24 +115,15 @@ const CartBuyerIdentityUpdate = (cartFragment) => (
|
|
|
151
115
|
}
|
|
152
116
|
|
|
153
117
|
${cartFragment}
|
|
154
|
-
|
|
155
|
-
)
|
|
156
|
-
const CartAttributesUpdate = (cartFragment) => (
|
|
157
|
-
/* GraphQL */
|
|
158
|
-
`
|
|
118
|
+
`;
|
|
119
|
+
var CartAttributesUpdate = (cartFragment, options = {}) => `
|
|
159
120
|
mutation CartAttributesUpdate(
|
|
160
121
|
$attributes: [AttributeInput!]!
|
|
161
122
|
$cartId: ID!
|
|
162
123
|
$numCartLines: Int = 250
|
|
163
|
-
$
|
|
164
|
-
$language: LanguageCode
|
|
165
|
-
$visitorConsent: VisitorConsent
|
|
124
|
+
${getInContextVariables(options.includeVisitorConsent ?? false)}
|
|
166
125
|
)
|
|
167
|
-
|
|
168
|
-
country: $country
|
|
169
|
-
language: $language
|
|
170
|
-
visitorConsent: $visitorConsent
|
|
171
|
-
) {
|
|
126
|
+
${getInContextDirective(options.includeVisitorConsent ?? false)} {
|
|
172
127
|
cartAttributesUpdate(attributes: $attributes, cartId: $cartId) {
|
|
173
128
|
cart {
|
|
174
129
|
...CartFragment
|
|
@@ -177,24 +132,15 @@ const CartAttributesUpdate = (cartFragment) => (
|
|
|
177
132
|
}
|
|
178
133
|
|
|
179
134
|
${cartFragment}
|
|
180
|
-
|
|
181
|
-
)
|
|
182
|
-
const CartDiscountCodesUpdate = (cartFragment) => (
|
|
183
|
-
/* GraphQL */
|
|
184
|
-
`
|
|
135
|
+
`;
|
|
136
|
+
var CartDiscountCodesUpdate = (cartFragment, options = {}) => `
|
|
185
137
|
mutation CartDiscountCodesUpdate(
|
|
186
138
|
$cartId: ID!
|
|
187
139
|
$discountCodes: [String!]!
|
|
188
140
|
$numCartLines: Int = 250
|
|
189
|
-
$
|
|
190
|
-
$language: LanguageCode
|
|
191
|
-
$visitorConsent: VisitorConsent
|
|
141
|
+
${getInContextVariables(options.includeVisitorConsent ?? false)}
|
|
192
142
|
)
|
|
193
|
-
|
|
194
|
-
country: $country
|
|
195
|
-
language: $language
|
|
196
|
-
visitorConsent: $visitorConsent
|
|
197
|
-
) {
|
|
143
|
+
${getInContextDirective(options.includeVisitorConsent ?? false)} {
|
|
198
144
|
cartDiscountCodesUpdate(cartId: $cartId, discountCodes: $discountCodes) {
|
|
199
145
|
cart {
|
|
200
146
|
...CartFragment
|
|
@@ -203,34 +149,22 @@ const CartDiscountCodesUpdate = (cartFragment) => (
|
|
|
203
149
|
}
|
|
204
150
|
|
|
205
151
|
${cartFragment}
|
|
206
|
-
|
|
207
|
-
)
|
|
208
|
-
const CartQuery = (cartFragment) => (
|
|
209
|
-
/* GraphQL */
|
|
210
|
-
`
|
|
152
|
+
`;
|
|
153
|
+
var CartQuery = (cartFragment, options = {}) => `
|
|
211
154
|
query CartQuery(
|
|
212
155
|
$id: ID!
|
|
213
156
|
$numCartLines: Int = 250
|
|
214
|
-
$
|
|
215
|
-
$language: LanguageCode
|
|
216
|
-
$visitorConsent: VisitorConsent
|
|
157
|
+
${getInContextVariables(options.includeVisitorConsent ?? false)}
|
|
217
158
|
)
|
|
218
|
-
|
|
219
|
-
country: $country
|
|
220
|
-
language: $language
|
|
221
|
-
visitorConsent: $visitorConsent
|
|
222
|
-
) {
|
|
159
|
+
${getInContextDirective(options.includeVisitorConsent ?? false)} {
|
|
223
160
|
cart(id: $id) {
|
|
224
161
|
...CartFragment
|
|
225
162
|
}
|
|
226
163
|
}
|
|
227
164
|
|
|
228
165
|
${cartFragment}
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
const defaultCartFragment = (
|
|
232
|
-
/* GraphQL */
|
|
233
|
-
`
|
|
166
|
+
`;
|
|
167
|
+
var defaultCartFragment = `
|
|
234
168
|
fragment CartFragment on Cart {
|
|
235
169
|
id
|
|
236
170
|
checkoutUrl
|
|
@@ -331,18 +265,8 @@ const defaultCartFragment = (
|
|
|
331
265
|
width
|
|
332
266
|
height
|
|
333
267
|
}
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
export {
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
CartCreate,
|
|
340
|
-
CartDiscountCodesUpdate,
|
|
341
|
-
CartLineAdd,
|
|
342
|
-
CartLineRemove,
|
|
343
|
-
CartLineUpdate,
|
|
344
|
-
CartNoteUpdate,
|
|
345
|
-
CartQuery,
|
|
346
|
-
defaultCartFragment
|
|
347
|
-
};
|
|
348
|
-
//# sourceMappingURL=cart-queries.mjs.map
|
|
268
|
+
`;
|
|
269
|
+
//#endregion
|
|
270
|
+
export { CartAttributesUpdate, CartBuyerIdentityUpdate, CartCreate, CartDiscountCodesUpdate, CartLineAdd, CartLineRemove, CartLineUpdate, CartNoteUpdate, CartQuery, defaultCartFragment };
|
|
271
|
+
|
|
272
|
+
//# sourceMappingURL=cart-queries.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cart-queries.mjs","sources":["../../src/cart-queries.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"cart-queries.mjs","names":[],"sources":["../../src/cart-queries.ts"],"sourcesContent":["type CartQueryOptions = {\n includeVisitorConsent?: boolean;\n};\n\nfunction getInContextVariables(includeVisitorConsent: boolean): string {\n const base = `$country: CountryCode = ZZ\n $language: LanguageCode`;\n\n return includeVisitorConsent\n ? `${base}\n $visitorConsent: VisitorConsent`\n : base;\n}\n\nfunction getInContextDirective(includeVisitorConsent: boolean): string {\n return includeVisitorConsent\n ? `@inContext(\n country: $country\n language: $language\n visitorConsent: $visitorConsent\n )`\n : `@inContext(\n country: $country\n language: $language\n )`;\n}\n\nexport const CartLineAdd = (\n cartFragment: string,\n options: CartQueryOptions = {},\n): string => /* GraphQL */ `\n mutation CartLineAdd(\n $cartId: ID!\n $lines: [CartLineInput!]!\n $numCartLines: Int = 250\n ${getInContextVariables(options.includeVisitorConsent ?? false)}\n )\n ${getInContextDirective(options.includeVisitorConsent ?? false)} {\n cartLinesAdd(cartId: $cartId, lines: $lines) {\n cart {\n ...CartFragment\n }\n }\n }\n\n ${cartFragment}\n`;\n\nexport const CartCreate = (\n cartFragment: string,\n options: CartQueryOptions = {},\n): string => /* GraphQL */ `\n mutation CartCreate(\n $input: CartInput!\n $numCartLines: Int = 250\n ${getInContextVariables(options.includeVisitorConsent ?? false)}\n )\n ${getInContextDirective(options.includeVisitorConsent ?? false)} {\n cartCreate(input: $input) {\n cart {\n ...CartFragment\n }\n }\n }\n\n ${cartFragment}\n`;\n\nexport const CartLineRemove = (\n cartFragment: string,\n options: CartQueryOptions = {},\n): string => /* GraphQL */ `\n mutation CartLineRemove(\n $cartId: ID!\n $lines: [ID!]!\n $numCartLines: Int = 250\n ${getInContextVariables(options.includeVisitorConsent ?? false)}\n )\n ${getInContextDirective(options.includeVisitorConsent ?? false)} {\n cartLinesRemove(cartId: $cartId, lineIds: $lines) {\n cart {\n ...CartFragment\n }\n }\n }\n\n ${cartFragment}\n`;\n\nexport const CartLineUpdate = (\n cartFragment: string,\n options: CartQueryOptions = {},\n): string => /* GraphQL */ `\n mutation CartLineUpdate(\n $cartId: ID!\n $lines: [CartLineUpdateInput!]!\n $numCartLines: Int = 250\n ${getInContextVariables(options.includeVisitorConsent ?? false)}\n )\n ${getInContextDirective(options.includeVisitorConsent ?? false)} {\n cartLinesUpdate(cartId: $cartId, lines: $lines) {\n cart {\n ...CartFragment\n }\n }\n }\n\n ${cartFragment}\n`;\n\nexport const CartNoteUpdate = (\n cartFragment: string,\n options: CartQueryOptions = {},\n): string => /* GraphQL */ `\n mutation CartNoteUpdate(\n $cartId: ID!\n $note: String!\n $numCartLines: Int = 250\n ${getInContextVariables(options.includeVisitorConsent ?? false)}\n )\n ${getInContextDirective(options.includeVisitorConsent ?? false)} {\n cartNoteUpdate(cartId: $cartId, note: $note) {\n cart {\n ...CartFragment\n }\n }\n }\n\n ${cartFragment}\n`;\n\nexport const CartBuyerIdentityUpdate = (\n cartFragment: string,\n options: CartQueryOptions = {},\n): string => /* GraphQL */ `\n mutation CartBuyerIdentityUpdate(\n $cartId: ID!\n $buyerIdentity: CartBuyerIdentityInput!\n $numCartLines: Int = 250\n ${getInContextVariables(options.includeVisitorConsent ?? false)}\n )\n ${getInContextDirective(options.includeVisitorConsent ?? false)} {\n cartBuyerIdentityUpdate(cartId: $cartId, buyerIdentity: $buyerIdentity) {\n cart {\n ...CartFragment\n }\n }\n }\n\n ${cartFragment}\n`;\n\nexport const CartAttributesUpdate = (\n cartFragment: string,\n options: CartQueryOptions = {},\n): string => /* GraphQL */ `\n mutation CartAttributesUpdate(\n $attributes: [AttributeInput!]!\n $cartId: ID!\n $numCartLines: Int = 250\n ${getInContextVariables(options.includeVisitorConsent ?? false)}\n )\n ${getInContextDirective(options.includeVisitorConsent ?? false)} {\n cartAttributesUpdate(attributes: $attributes, cartId: $cartId) {\n cart {\n ...CartFragment\n }\n }\n }\n\n ${cartFragment}\n`;\n\nexport const CartDiscountCodesUpdate = (\n cartFragment: string,\n options: CartQueryOptions = {},\n): string => /* GraphQL */ `\n mutation CartDiscountCodesUpdate(\n $cartId: ID!\n $discountCodes: [String!]!\n $numCartLines: Int = 250\n ${getInContextVariables(options.includeVisitorConsent ?? false)}\n )\n ${getInContextDirective(options.includeVisitorConsent ?? false)} {\n cartDiscountCodesUpdate(cartId: $cartId, discountCodes: $discountCodes) {\n cart {\n ...CartFragment\n }\n }\n }\n\n ${cartFragment}\n`;\n\nexport const CartQuery = (\n cartFragment: string,\n options: CartQueryOptions = {},\n): string => /* GraphQL */ `\n query CartQuery(\n $id: ID!\n $numCartLines: Int = 250\n ${getInContextVariables(options.includeVisitorConsent ?? false)}\n )\n ${getInContextDirective(options.includeVisitorConsent ?? false)} {\n cart(id: $id) {\n ...CartFragment\n }\n }\n\n ${cartFragment}\n`;\n\nexport const defaultCartFragment = /* GraphQL */ `\n fragment CartFragment on Cart {\n id\n checkoutUrl\n totalQuantity\n buyerIdentity {\n countryCode\n customer {\n id\n email\n firstName\n lastName\n displayName\n }\n email\n phone\n }\n lines(first: $numCartLines) {\n edges {\n node {\n id\n quantity\n attributes {\n key\n value\n }\n cost {\n totalAmount {\n amount\n currencyCode\n }\n compareAtAmountPerQuantity {\n amount\n currencyCode\n }\n }\n merchandise {\n ... on ProductVariant {\n id\n availableForSale\n compareAtPrice {\n ...MoneyFragment\n }\n price {\n ...MoneyFragment\n }\n requiresShipping\n title\n image {\n ...ImageFragment\n }\n product {\n handle\n title\n id\n }\n selectedOptions {\n name\n value\n }\n }\n }\n }\n }\n }\n cost {\n subtotalAmount {\n ...MoneyFragment\n }\n totalAmount {\n ...MoneyFragment\n }\n totalDutyAmount {\n ...MoneyFragment\n }\n totalTaxAmount {\n ...MoneyFragment\n }\n }\n note\n attributes {\n key\n value\n }\n discountCodes {\n code\n applicable\n }\n }\n\n fragment MoneyFragment on MoneyV2 {\n currencyCode\n amount\n }\n fragment ImageFragment on Image {\n id\n url\n altText\n width\n height\n }\n`;\n"],"mappings":";AAIA,SAAS,sBAAsB,uBAAwC;CACrE,MAAM,OAAO;;AAGb,QAAO,wBACH,GAAG,KAAK;uCAER;;AAGN,SAAS,sBAAsB,uBAAwC;AACrE,QAAO,wBACH;;;;OAKA;;;;;AAMN,IAAa,eACX,cACA,UAA4B,EAAE,KACL;;;;;MAKrB,sBAAsB,QAAQ,yBAAyB,MAAM,CAAC;;IAEhE,sBAAsB,QAAQ,yBAAyB,MAAM,CAAC;;;;;;;;IAQ9D,aAAa;;AAGjB,IAAa,cACX,cACA,UAA4B,EAAE,KACL;;;;MAIrB,sBAAsB,QAAQ,yBAAyB,MAAM,CAAC;;IAEhE,sBAAsB,QAAQ,yBAAyB,MAAM,CAAC;;;;;;;;IAQ9D,aAAa;;AAGjB,IAAa,kBACX,cACA,UAA4B,EAAE,KACL;;;;;MAKrB,sBAAsB,QAAQ,yBAAyB,MAAM,CAAC;;IAEhE,sBAAsB,QAAQ,yBAAyB,MAAM,CAAC;;;;;;;;IAQ9D,aAAa;;AAGjB,IAAa,kBACX,cACA,UAA4B,EAAE,KACL;;;;;MAKrB,sBAAsB,QAAQ,yBAAyB,MAAM,CAAC;;IAEhE,sBAAsB,QAAQ,yBAAyB,MAAM,CAAC;;;;;;;;IAQ9D,aAAa;;AAGjB,IAAa,kBACX,cACA,UAA4B,EAAE,KACL;;;;;MAKrB,sBAAsB,QAAQ,yBAAyB,MAAM,CAAC;;IAEhE,sBAAsB,QAAQ,yBAAyB,MAAM,CAAC;;;;;;;;IAQ9D,aAAa;;AAGjB,IAAa,2BACX,cACA,UAA4B,EAAE,KACL;;;;;MAKrB,sBAAsB,QAAQ,yBAAyB,MAAM,CAAC;;IAEhE,sBAAsB,QAAQ,yBAAyB,MAAM,CAAC;;;;;;;;IAQ9D,aAAa;;AAGjB,IAAa,wBACX,cACA,UAA4B,EAAE,KACL;;;;;MAKrB,sBAAsB,QAAQ,yBAAyB,MAAM,CAAC;;IAEhE,sBAAsB,QAAQ,yBAAyB,MAAM,CAAC;;;;;;;;IAQ9D,aAAa;;AAGjB,IAAa,2BACX,cACA,UAA4B,EAAE,KACL;;;;;MAKrB,sBAAsB,QAAQ,yBAAyB,MAAM,CAAC;;IAEhE,sBAAsB,QAAQ,yBAAyB,MAAM,CAAC;;;;;;;;IAQ9D,aAAa;;AAGjB,IAAa,aACX,cACA,UAA4B,EAAE,KACL;;;;MAIrB,sBAAsB,QAAQ,yBAAyB,MAAM,CAAC;;IAEhE,sBAAsB,QAAQ,yBAAyB,MAAM,CAAC;;;;;;IAM9D,aAAa;;AAGjB,IAAa,sBAAoC"}
|
|
@@ -1,22 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
//#region src/codegen.helpers.ts
|
|
2
|
+
/**
|
|
3
|
+
* Meant to be used with GraphQL CodeGen to type the Storefront API's custom scalars correctly.
|
|
4
|
+
* Reference for the GraphQL types: https://shopify.dev/docs/api/storefront/2026-04/scalars/HTML
|
|
5
|
+
* Note: JSON is generated as 'unknown' by default.
|
|
6
|
+
* @publicDocs
|
|
7
|
+
*/
|
|
8
|
+
var storefrontApiCustomScalars = {
|
|
9
|
+
DateTime: "string",
|
|
10
|
+
Decimal: "string",
|
|
11
|
+
HTML: "string",
|
|
12
|
+
URL: "string",
|
|
13
|
+
Color: "string",
|
|
14
|
+
UnsignedInt64: "string"
|
|
9
15
|
};
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
/**
|
|
17
|
+
* Meant to be used with GraphQL CodeGen to type the Storefront API's custom scalars correctly.
|
|
18
|
+
* Reference for the GraphQL types: https://shopify.dev/docs/api/customer/2026-04/scalars/HTML
|
|
19
|
+
* Note: JSON is generated as 'unknown' by default.
|
|
20
|
+
* @publicDocs
|
|
21
|
+
*/
|
|
22
|
+
var customerAccountApiCustomScalars = {
|
|
23
|
+
DateTime: "string",
|
|
24
|
+
Decimal: "string",
|
|
25
|
+
HTML: "string",
|
|
26
|
+
ISO8601DateTime: "string",
|
|
27
|
+
URL: "string",
|
|
28
|
+
UnsignedInt64: "string"
|
|
17
29
|
};
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
//# sourceMappingURL=codegen.helpers.mjs.map
|
|
30
|
+
//#endregion
|
|
31
|
+
export { customerAccountApiCustomScalars, storefrontApiCustomScalars };
|
|
32
|
+
|
|
33
|
+
//# sourceMappingURL=codegen.helpers.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codegen.helpers.mjs","sources":["../../src/codegen.helpers.ts"],"sourcesContent":["/**\n * Meant to be used with GraphQL CodeGen to type the Storefront API's custom scalars correctly.\n * Reference for the GraphQL types: https://shopify.dev/docs/api/storefront/2026-04/scalars/HTML\n * Note: JSON is generated as 'unknown' by default.\n */\nexport const storefrontApiCustomScalars = {\n // Keep in sync with the definitions in the app/nextjs/codegen.ts!\n DateTime: 'string',\n Decimal: 'string',\n HTML: 'string',\n URL: 'string',\n Color: 'string',\n UnsignedInt64: 'string',\n};\n\n/**\n * Meant to be used with GraphQL CodeGen to type the Storefront API's custom scalars correctly.\n * Reference for the GraphQL types: https://shopify.dev/docs/api/customer/2026-04/scalars/HTML\n * Note: JSON is generated as 'unknown' by default.\n */\nexport const customerAccountApiCustomScalars = {\n DateTime: 'string',\n Decimal: 'string',\n HTML: 'string',\n ISO8601DateTime: 'string',\n URL: 'string',\n UnsignedInt64: 'string',\n};\n"],"
|
|
1
|
+
{"version":3,"file":"codegen.helpers.mjs","names":[],"sources":["../../src/codegen.helpers.ts"],"sourcesContent":["/**\n * Meant to be used with GraphQL CodeGen to type the Storefront API's custom scalars correctly.\n * Reference for the GraphQL types: https://shopify.dev/docs/api/storefront/2026-04/scalars/HTML\n * Note: JSON is generated as 'unknown' by default.\n * @publicDocs\n */\nexport const storefrontApiCustomScalars = {\n // Keep in sync with the definitions in the app/nextjs/codegen.ts!\n DateTime: 'string',\n Decimal: 'string',\n HTML: 'string',\n URL: 'string',\n Color: 'string',\n UnsignedInt64: 'string',\n};\n\n/**\n * Meant to be used with GraphQL CodeGen to type the Storefront API's custom scalars correctly.\n * Reference for the GraphQL types: https://shopify.dev/docs/api/customer/2026-04/scalars/HTML\n * Note: JSON is generated as 'unknown' by default.\n * @publicDocs\n */\nexport const customerAccountApiCustomScalars = {\n DateTime: 'string',\n Decimal: 'string',\n HTML: 'string',\n ISO8601DateTime: 'string',\n URL: 'string',\n UnsignedInt64: 'string',\n};\n"],"mappings":";;;;;;;AAMA,IAAa,6BAA6B;CAExC,UAAU;CACV,SAAS;CACT,MAAM;CACN,KAAK;CACL,OAAO;CACP,eAAe;CAChB;;;;;;;AAQD,IAAa,kCAAkC;CAC7C,UAAU;CACV,SAAS;CACT,MAAM;CACN,iBAAiB;CACjB,KAAK;CACL,eAAe;CAChB"}
|
|
@@ -1,50 +1,52 @@
|
|
|
1
1
|
import { SHOPIFY_S, SHOPIFY_Y } from "./cart-constants.mjs";
|
|
2
2
|
import { getTrackingValues } from "./tracking-utils.mjs";
|
|
3
|
-
|
|
3
|
+
//#region src/cookies-utils.tsx
|
|
4
|
+
var tokenHash = "xxxx-4xxx-xxxx-xxxxxxxxxxxx";
|
|
4
5
|
function buildUUID() {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
return `${hexTime()}-${hash}`;
|
|
6
|
+
let hash = "";
|
|
7
|
+
try {
|
|
8
|
+
const crypto = window.crypto;
|
|
9
|
+
const randomValuesArray = new Uint16Array(31);
|
|
10
|
+
crypto.getRandomValues(randomValuesArray);
|
|
11
|
+
let i = 0;
|
|
12
|
+
hash = tokenHash.replace(/[x]/g, (c) => {
|
|
13
|
+
const r = randomValuesArray[i] % 16;
|
|
14
|
+
const v = c === "x" ? r : r & 3 | 8;
|
|
15
|
+
i++;
|
|
16
|
+
return v.toString(16);
|
|
17
|
+
}).toUpperCase();
|
|
18
|
+
} catch (err) {
|
|
19
|
+
hash = tokenHash.replace(/[x]/g, (c) => {
|
|
20
|
+
const r = Math.random() * 16 | 0;
|
|
21
|
+
return (c === "x" ? r : r & 3 | 8).toString(16);
|
|
22
|
+
}).toUpperCase();
|
|
23
|
+
}
|
|
24
|
+
return `${hexTime()}-${hash}`;
|
|
25
25
|
}
|
|
26
26
|
function hexTime() {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
return output.padStart(8, "0");
|
|
27
|
+
let dateNumber = 0;
|
|
28
|
+
let perfNumber = 0;
|
|
29
|
+
dateNumber = (/* @__PURE__ */ new Date()).getTime() >>> 0;
|
|
30
|
+
try {
|
|
31
|
+
perfNumber = performance.now() >>> 0;
|
|
32
|
+
} catch (err) {
|
|
33
|
+
perfNumber = 0;
|
|
34
|
+
}
|
|
35
|
+
return Math.abs(dateNumber + perfNumber).toString(16).toLowerCase().padStart(8, "0");
|
|
37
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Gets the values of _shopify_y and _shopify_s cookies from the provided cookie string. If the Shopify cookies doesn't exist, this method will return an empty string for each missing cookie.
|
|
39
|
+
* @deprecated Use getTrackingValues instead.
|
|
40
|
+
* @publicDocs
|
|
41
|
+
*/
|
|
38
42
|
function getShopifyCookies(cookies) {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
43
|
+
const trackingValues = getTrackingValues(cookies);
|
|
44
|
+
return {
|
|
45
|
+
[SHOPIFY_Y]: trackingValues.uniqueToken,
|
|
46
|
+
[SHOPIFY_S]: trackingValues.visitToken
|
|
47
|
+
};
|
|
44
48
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
};
|
|
50
|
-
//# sourceMappingURL=cookies-utils.mjs.map
|
|
49
|
+
//#endregion
|
|
50
|
+
export { buildUUID, getShopifyCookies };
|
|
51
|
+
|
|
52
|
+
//# sourceMappingURL=cookies-utils.mjs.map
|