@shopify/hydrogen-react 2022.10.1 → 2022.10.3
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 +49 -0
- package/dist/browser-dev/AddToCartButton.mjs +70 -0
- package/dist/browser-dev/AddToCartButton.mjs.map +1 -0
- package/dist/browser-dev/BaseButton.mjs +31 -0
- package/dist/browser-dev/BaseButton.mjs.map +1 -0
- package/dist/browser-dev/BuyNowButton.mjs +45 -0
- package/dist/browser-dev/BuyNowButton.mjs.map +1 -0
- package/dist/browser-dev/CartCheckoutButton.mjs +30 -0
- package/dist/browser-dev/CartCheckoutButton.mjs.map +1 -0
- package/dist/{dev → browser-dev}/CartProvider.mjs +0 -0
- package/dist/{dev → browser-dev}/CartProvider.mjs.map +0 -0
- package/dist/{dev → browser-dev}/ExternalVideo.mjs +0 -0
- package/dist/{dev → browser-dev}/ExternalVideo.mjs.map +0 -0
- package/dist/{dev → browser-dev}/Image.mjs +0 -0
- package/dist/{dev → browser-dev}/Image.mjs.map +0 -0
- package/dist/{dev → browser-dev}/MediaFile.mjs +0 -0
- package/dist/browser-dev/MediaFile.mjs.map +1 -0
- package/dist/{dev → browser-dev}/Metafield.mjs +6 -0
- package/dist/browser-dev/Metafield.mjs.map +1 -0
- package/dist/{dev → browser-dev}/ModelViewer.mjs +0 -0
- package/dist/{dev → browser-dev}/ModelViewer.mjs.map +0 -0
- package/dist/{dev → browser-dev}/Money.mjs +0 -0
- package/dist/{dev → browser-dev}/Money.mjs.map +0 -0
- package/dist/{dev → browser-dev}/ProductPrice.mjs +0 -0
- package/dist/browser-dev/ProductPrice.mjs.map +1 -0
- package/dist/{dev → browser-dev}/ProductProvider.mjs +0 -0
- package/dist/{dev → browser-dev}/ProductProvider.mjs.map +0 -0
- package/dist/{dev → browser-dev}/ShopPayButton.mjs +0 -0
- package/dist/{dev → browser-dev}/ShopPayButton.mjs.map +0 -0
- package/dist/{dev → browser-dev}/ShopifyProvider.mjs +23 -5
- package/dist/browser-dev/ShopifyProvider.mjs.map +1 -0
- package/dist/{dev → browser-dev}/Video.mjs +0 -0
- package/dist/{dev → browser-dev}/Video.mjs.map +0 -0
- package/dist/{dev → browser-dev}/_virtual/index.mjs +0 -0
- package/dist/{dev → browser-dev}/_virtual/index.mjs.map +0 -0
- package/dist/{dev → browser-dev}/_virtual/use-sync-external-store-shim.development.mjs +0 -0
- package/dist/{dev → browser-dev}/_virtual/use-sync-external-store-shim.development.mjs.map +0 -0
- package/dist/{dev → browser-dev}/_virtual/use-sync-external-store-shim.production.min.mjs +0 -0
- package/dist/{dev → browser-dev}/_virtual/use-sync-external-store-shim.production.min.mjs.map +0 -0
- package/dist/{dev → browser-dev}/_virtual/with-selector.development.mjs +0 -0
- package/dist/{dev → browser-dev}/_virtual/with-selector.development.mjs.map +0 -0
- package/dist/{dev → browser-dev}/_virtual/with-selector.mjs +0 -0
- package/dist/{dev → browser-dev}/_virtual/with-selector.mjs.map +0 -0
- package/dist/{dev → browser-dev}/_virtual/with-selector.production.min.mjs +0 -0
- package/dist/{dev → browser-dev}/_virtual/with-selector.production.min.mjs.map +0 -0
- package/dist/{dev → browser-dev}/cart-constants.mjs +1 -3
- package/dist/browser-dev/cart-constants.mjs.map +1 -0
- package/dist/{dev → browser-dev}/cart-hooks.mjs +11 -15
- package/dist/browser-dev/cart-hooks.mjs.map +1 -0
- package/dist/{dev → browser-dev}/cart-queries.mjs +0 -0
- package/dist/{dev → browser-dev}/cart-queries.mjs.map +0 -0
- package/dist/browser-dev/codegen.helpers.mjs +12 -0
- package/dist/browser-dev/codegen.helpers.mjs.map +1 -0
- package/dist/{dev → browser-dev}/flatten-connection.mjs +0 -0
- package/dist/{dev → browser-dev}/flatten-connection.mjs.map +0 -0
- package/dist/{dev → browser-dev}/image-size.mjs +0 -0
- package/dist/{dev → browser-dev}/image-size.mjs.map +0 -0
- package/dist/{dev → browser-dev}/index.mjs +10 -0
- package/dist/browser-dev/index.mjs.map +1 -0
- package/dist/{dev → browser-dev}/load-script.mjs +0 -0
- package/dist/{dev → browser-dev}/load-script.mjs.map +0 -0
- package/dist/browser-dev/metafield-parser.mjs +103 -0
- package/dist/browser-dev/metafield-parser.mjs.map +1 -0
- package/dist/{dev → browser-dev}/node_modules/@xstate/fsm/es/index.mjs +0 -0
- package/dist/{dev → browser-dev}/node_modules/@xstate/fsm/es/index.mjs.map +0 -0
- package/dist/{dev → browser-dev}/node_modules/@xstate/react/es/fsm.mjs +0 -0
- package/dist/{dev → browser-dev}/node_modules/@xstate/react/es/fsm.mjs.map +0 -0
- package/dist/{dev → browser-dev}/node_modules/@xstate/react/es/useConstant.mjs +0 -0
- package/dist/{dev → browser-dev}/node_modules/@xstate/react/es/useConstant.mjs.map +0 -0
- package/dist/{dev → browser-dev}/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.mjs +0 -0
- package/dist/{dev → browser-dev}/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.mjs.map +0 -0
- package/dist/{dev → browser-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs +0 -0
- package/dist/{dev → browser-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs.map +0 -0
- package/dist/{dev → browser-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs +0 -0
- package/dist/{dev → browser-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs.map +0 -0
- package/dist/{dev → browser-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs +0 -0
- package/dist/{dev → browser-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs.map +0 -0
- package/dist/{dev → browser-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs +0 -0
- package/dist/{dev → browser-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs.map +0 -0
- package/dist/{dev → browser-dev}/node_modules/use-sync-external-store/shim/index.mjs +0 -0
- package/dist/{dev → browser-dev}/node_modules/use-sync-external-store/shim/index.mjs.map +0 -0
- package/dist/{dev → browser-dev}/node_modules/use-sync-external-store/shim/with-selector.mjs +0 -0
- package/dist/{dev → browser-dev}/node_modules/use-sync-external-store/shim/with-selector.mjs.map +0 -0
- package/dist/{dev → browser-dev}/storefront-api-constants.mjs +0 -0
- package/dist/{dev → browser-dev}/storefront-api-constants.mjs.map +0 -0
- package/dist/{dev → browser-dev}/storefront-client.mjs +22 -10
- package/dist/browser-dev/storefront-client.mjs.map +1 -0
- package/dist/{dev → browser-dev}/useCartAPIStateMachine.mjs +0 -0
- package/dist/{dev → browser-dev}/useCartAPIStateMachine.mjs.map +0 -0
- package/dist/{dev → browser-dev}/useCartActions.mjs +0 -0
- package/dist/{dev → browser-dev}/useCartActions.mjs.map +0 -0
- package/dist/{dev → browser-dev}/useMoney.mjs +0 -0
- package/dist/{dev → browser-dev}/useMoney.mjs.map +0 -0
- package/dist/browser-prod/AddToCartButton.mjs +70 -0
- package/dist/browser-prod/AddToCartButton.mjs.map +1 -0
- package/dist/browser-prod/BaseButton.mjs +31 -0
- package/dist/browser-prod/BaseButton.mjs.map +1 -0
- package/dist/browser-prod/BuyNowButton.mjs +45 -0
- package/dist/browser-prod/BuyNowButton.mjs.map +1 -0
- package/dist/browser-prod/CartCheckoutButton.mjs +30 -0
- package/dist/browser-prod/CartCheckoutButton.mjs.map +1 -0
- package/dist/{prod → browser-prod}/CartProvider.mjs +0 -0
- package/dist/{prod → browser-prod}/CartProvider.mjs.map +0 -0
- package/dist/{prod → browser-prod}/ExternalVideo.mjs +0 -0
- package/dist/{prod → browser-prod}/ExternalVideo.mjs.map +0 -0
- package/dist/{prod → browser-prod}/Image.mjs +0 -0
- package/dist/{prod → browser-prod}/Image.mjs.map +0 -0
- package/dist/{prod → browser-prod}/MediaFile.mjs +0 -0
- package/dist/browser-prod/MediaFile.mjs.map +1 -0
- package/dist/{prod → browser-prod}/Metafield.mjs +0 -0
- package/dist/browser-prod/Metafield.mjs.map +1 -0
- package/dist/{prod → browser-prod}/ModelViewer.mjs +0 -0
- package/dist/{prod → browser-prod}/ModelViewer.mjs.map +0 -0
- package/dist/{prod → browser-prod}/Money.mjs +0 -0
- package/dist/{prod → browser-prod}/Money.mjs.map +0 -0
- package/dist/{prod → browser-prod}/ProductPrice.mjs +0 -0
- package/dist/browser-prod/ProductPrice.mjs.map +1 -0
- package/dist/{prod → browser-prod}/ProductProvider.mjs +0 -0
- package/dist/{prod → browser-prod}/ProductProvider.mjs.map +0 -0
- package/dist/{prod → browser-prod}/ShopPayButton.mjs +0 -0
- package/dist/{prod → browser-prod}/ShopPayButton.mjs.map +0 -0
- package/dist/{prod → browser-prod}/ShopifyProvider.mjs +23 -5
- package/dist/browser-prod/ShopifyProvider.mjs.map +1 -0
- package/dist/{prod → browser-prod}/Video.mjs +0 -0
- package/dist/{prod → browser-prod}/Video.mjs.map +0 -0
- package/dist/{prod → browser-prod}/_virtual/index.mjs +0 -0
- package/dist/{prod → browser-prod}/_virtual/index.mjs.map +0 -0
- package/dist/{prod → browser-prod}/_virtual/use-sync-external-store-shim.development.mjs +0 -0
- package/dist/{prod → browser-prod}/_virtual/use-sync-external-store-shim.development.mjs.map +0 -0
- package/dist/{prod → browser-prod}/_virtual/use-sync-external-store-shim.production.min.mjs +0 -0
- package/dist/{prod → browser-prod}/_virtual/use-sync-external-store-shim.production.min.mjs.map +0 -0
- package/dist/{prod → browser-prod}/_virtual/with-selector.development.mjs +0 -0
- package/dist/{prod → browser-prod}/_virtual/with-selector.development.mjs.map +0 -0
- package/dist/{prod → browser-prod}/_virtual/with-selector.mjs +0 -0
- package/dist/{prod → browser-prod}/_virtual/with-selector.mjs.map +0 -0
- package/dist/{prod → browser-prod}/_virtual/with-selector.production.min.mjs +0 -0
- package/dist/{prod → browser-prod}/_virtual/with-selector.production.min.mjs.map +0 -0
- package/dist/{prod → browser-prod}/cart-constants.mjs +1 -3
- package/dist/browser-prod/cart-constants.mjs.map +1 -0
- package/dist/{prod → browser-prod}/cart-hooks.mjs +11 -15
- package/dist/browser-prod/cart-hooks.mjs.map +1 -0
- package/dist/{prod → browser-prod}/cart-queries.mjs +0 -0
- package/dist/{prod → browser-prod}/cart-queries.mjs.map +0 -0
- package/dist/browser-prod/codegen.helpers.mjs +12 -0
- package/dist/browser-prod/codegen.helpers.mjs.map +1 -0
- package/dist/{prod → browser-prod}/flatten-connection.mjs +0 -0
- package/dist/{prod → browser-prod}/flatten-connection.mjs.map +0 -0
- package/dist/{prod → browser-prod}/image-size.mjs +0 -0
- package/dist/{prod → browser-prod}/image-size.mjs.map +0 -0
- package/dist/{prod → browser-prod}/index.mjs +10 -0
- package/dist/browser-prod/index.mjs.map +1 -0
- package/dist/{prod → browser-prod}/load-script.mjs +0 -0
- package/dist/{prod → browser-prod}/load-script.mjs.map +0 -0
- package/dist/browser-prod/metafield-parser.mjs +114 -0
- package/dist/browser-prod/metafield-parser.mjs.map +1 -0
- package/dist/{prod → browser-prod}/node_modules/@xstate/fsm/es/index.mjs +0 -0
- package/dist/{prod → browser-prod}/node_modules/@xstate/fsm/es/index.mjs.map +0 -0
- package/dist/{prod → browser-prod}/node_modules/@xstate/react/es/fsm.mjs +0 -0
- package/dist/{prod → browser-prod}/node_modules/@xstate/react/es/fsm.mjs.map +0 -0
- package/dist/{prod → browser-prod}/node_modules/@xstate/react/es/useConstant.mjs +0 -0
- package/dist/{prod → browser-prod}/node_modules/@xstate/react/es/useConstant.mjs.map +0 -0
- package/dist/{prod → browser-prod}/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.mjs +0 -0
- package/dist/{prod → browser-prod}/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.mjs.map +0 -0
- package/dist/{prod → browser-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs +0 -0
- package/dist/{prod → browser-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs.map +0 -0
- package/dist/{prod → browser-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs +0 -0
- package/dist/{prod → browser-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs.map +0 -0
- package/dist/{prod → browser-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs +0 -0
- package/dist/{prod → browser-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs.map +0 -0
- package/dist/{prod → browser-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs +0 -0
- package/dist/{prod → browser-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs.map +0 -0
- package/dist/{prod → browser-prod}/node_modules/use-sync-external-store/shim/index.mjs +0 -0
- package/dist/{prod → browser-prod}/node_modules/use-sync-external-store/shim/index.mjs.map +0 -0
- package/dist/{prod → browser-prod}/node_modules/use-sync-external-store/shim/with-selector.mjs +0 -0
- package/dist/{prod → browser-prod}/node_modules/use-sync-external-store/shim/with-selector.mjs.map +0 -0
- package/dist/{prod → browser-prod}/storefront-api-constants.mjs +0 -0
- package/dist/{prod → browser-prod}/storefront-api-constants.mjs.map +0 -0
- package/dist/{prod → browser-prod}/storefront-client.mjs +22 -10
- package/dist/browser-prod/storefront-client.mjs.map +1 -0
- package/dist/{prod → browser-prod}/useCartAPIStateMachine.mjs +0 -0
- package/dist/{prod → browser-prod}/useCartAPIStateMachine.mjs.map +0 -0
- package/dist/{prod → browser-prod}/useCartActions.mjs +0 -0
- package/dist/{prod → browser-prod}/useCartActions.mjs.map +0 -0
- package/dist/{prod → browser-prod}/useMoney.mjs +0 -0
- package/dist/{prod → browser-prod}/useMoney.mjs.map +0 -0
- package/dist/node-dev/AddToCartButton.js +70 -0
- package/dist/node-dev/AddToCartButton.js.map +1 -0
- package/dist/node-dev/AddToCartButton.mjs +70 -0
- package/dist/node-dev/AddToCartButton.mjs.map +1 -0
- package/dist/node-dev/BaseButton.js +31 -0
- package/dist/node-dev/BaseButton.js.map +1 -0
- package/dist/node-dev/BaseButton.mjs +31 -0
- package/dist/node-dev/BaseButton.mjs.map +1 -0
- package/dist/node-dev/BuyNowButton.js +45 -0
- package/dist/node-dev/BuyNowButton.js.map +1 -0
- package/dist/node-dev/BuyNowButton.mjs +45 -0
- package/dist/node-dev/BuyNowButton.mjs.map +1 -0
- package/dist/node-dev/CartCheckoutButton.js +30 -0
- package/dist/node-dev/CartCheckoutButton.js.map +1 -0
- package/dist/node-dev/CartCheckoutButton.mjs +30 -0
- package/dist/node-dev/CartCheckoutButton.mjs.map +1 -0
- package/dist/{dev → node-dev}/CartProvider.js +0 -0
- package/dist/{dev → node-dev}/CartProvider.js.map +0 -0
- package/dist/node-dev/CartProvider.mjs +485 -0
- package/dist/node-dev/CartProvider.mjs.map +1 -0
- package/dist/{dev → node-dev}/ExternalVideo.js +0 -0
- package/dist/{dev → node-dev}/ExternalVideo.js.map +0 -0
- package/dist/node-dev/ExternalVideo.mjs +39 -0
- package/dist/node-dev/ExternalVideo.mjs.map +1 -0
- package/dist/{dev → node-dev}/Image.js +0 -0
- package/dist/{dev → node-dev}/Image.js.map +0 -0
- package/dist/node-dev/Image.mjs +104 -0
- package/dist/node-dev/Image.mjs.map +1 -0
- package/dist/{dev → node-dev}/MediaFile.js +0 -0
- package/dist/node-dev/MediaFile.js.map +1 -0
- package/dist/node-dev/MediaFile.mjs +57 -0
- package/dist/node-dev/MediaFile.mjs.map +1 -0
- package/dist/{dev → node-dev}/Metafield.js +6 -0
- package/dist/node-dev/Metafield.js.map +1 -0
- package/dist/node-dev/Metafield.mjs +301 -0
- package/dist/node-dev/Metafield.mjs.map +1 -0
- package/dist/{dev → node-dev}/ModelViewer.js +0 -0
- package/dist/{dev → node-dev}/ModelViewer.js.map +0 -0
- package/dist/node-dev/ModelViewer.mjs +145 -0
- package/dist/node-dev/ModelViewer.mjs.map +1 -0
- package/dist/{dev → node-dev}/Money.js +0 -0
- package/dist/{dev → node-dev}/Money.js.map +0 -0
- package/dist/node-dev/Money.mjs +40 -0
- package/dist/node-dev/Money.mjs.map +1 -0
- package/dist/{dev → node-dev}/ProductPrice.js +0 -0
- package/dist/node-dev/ProductPrice.js.map +1 -0
- package/dist/node-dev/ProductPrice.mjs +61 -0
- package/dist/node-dev/ProductPrice.mjs.map +1 -0
- package/dist/{dev → node-dev}/ProductProvider.js +0 -0
- package/dist/{dev → node-dev}/ProductProvider.js.map +0 -0
- package/dist/node-dev/ProductProvider.mjs +161 -0
- package/dist/node-dev/ProductProvider.mjs.map +1 -0
- package/dist/{dev → node-dev}/ShopPayButton.js +0 -0
- package/dist/{dev → node-dev}/ShopPayButton.js.map +0 -0
- package/dist/node-dev/ShopPayButton.mjs +64 -0
- package/dist/node-dev/ShopPayButton.mjs.map +1 -0
- package/dist/{prod → node-dev}/ShopifyProvider.js +23 -5
- package/dist/node-dev/ShopifyProvider.js.map +1 -0
- package/dist/node-dev/ShopifyProvider.mjs +64 -0
- package/dist/node-dev/ShopifyProvider.mjs.map +1 -0
- package/dist/{dev → node-dev}/Video.js +0 -0
- package/dist/{dev → node-dev}/Video.js.map +0 -0
- package/dist/node-dev/Video.mjs +44 -0
- package/dist/node-dev/Video.mjs.map +1 -0
- package/dist/{dev → node-dev}/_virtual/index.js +0 -0
- package/dist/{dev → node-dev}/_virtual/index.js.map +0 -0
- package/dist/node-dev/_virtual/index.mjs +5 -0
- package/dist/{dev → node-dev/_virtual}/index.mjs.map +1 -1
- package/dist/{dev → node-dev}/_virtual/use-sync-external-store-shim.development.js +0 -0
- package/dist/{dev → node-dev}/_virtual/use-sync-external-store-shim.development.js.map +0 -0
- package/dist/node-dev/_virtual/use-sync-external-store-shim.development.mjs +5 -0
- package/dist/node-dev/_virtual/use-sync-external-store-shim.development.mjs.map +1 -0
- package/dist/{dev → node-dev}/_virtual/use-sync-external-store-shim.production.min.js +0 -0
- package/dist/{dev → node-dev}/_virtual/use-sync-external-store-shim.production.min.js.map +0 -0
- package/dist/node-dev/_virtual/use-sync-external-store-shim.production.min.mjs +5 -0
- package/dist/node-dev/_virtual/use-sync-external-store-shim.production.min.mjs.map +1 -0
- package/dist/{dev → node-dev}/_virtual/with-selector.development.js +0 -0
- package/dist/{dev → node-dev}/_virtual/with-selector.development.js.map +0 -0
- package/dist/node-dev/_virtual/with-selector.development.mjs +5 -0
- package/dist/node-dev/_virtual/with-selector.development.mjs.map +1 -0
- package/dist/{dev → node-dev}/_virtual/with-selector.js +0 -0
- package/dist/{dev → node-dev}/_virtual/with-selector.js.map +0 -0
- package/dist/node-dev/_virtual/with-selector.mjs +5 -0
- package/dist/node-dev/_virtual/with-selector.mjs.map +1 -0
- package/dist/{dev → node-dev}/_virtual/with-selector.production.min.js +0 -0
- package/dist/{dev → node-dev}/_virtual/with-selector.production.min.js.map +0 -0
- package/dist/node-dev/_virtual/with-selector.production.min.mjs +5 -0
- package/dist/node-dev/_virtual/with-selector.production.min.mjs.map +1 -0
- package/dist/{prod → node-dev}/cart-constants.js +0 -2
- package/dist/node-dev/cart-constants.js.map +1 -0
- package/dist/node-dev/cart-constants.mjs +15 -0
- package/dist/node-dev/cart-constants.mjs.map +1 -0
- package/dist/{prod → node-dev}/cart-hooks.js +10 -14
- package/dist/node-dev/cart-hooks.js.map +1 -0
- package/dist/node-dev/cart-hooks.mjs +44 -0
- package/dist/node-dev/cart-hooks.mjs.map +1 -0
- package/dist/{dev → node-dev}/cart-queries.js +0 -0
- package/dist/{dev → node-dev}/cart-queries.js.map +0 -0
- package/dist/node-dev/cart-queries.mjs +114 -0
- package/dist/node-dev/cart-queries.mjs.map +1 -0
- package/dist/node-dev/codegen.helpers.js +12 -0
- package/dist/node-dev/codegen.helpers.js.map +1 -0
- package/dist/node-dev/codegen.helpers.mjs +12 -0
- package/dist/node-dev/codegen.helpers.mjs.map +1 -0
- package/dist/{dev → node-dev}/flatten-connection.js +0 -0
- package/dist/{dev → node-dev}/flatten-connection.js.map +0 -0
- package/dist/node-dev/flatten-connection.mjs +29 -0
- package/dist/node-dev/flatten-connection.mjs.map +1 -0
- package/dist/{dev → node-dev}/image-size.js +0 -0
- package/dist/{dev → node-dev}/image-size.js.map +0 -0
- package/dist/node-dev/image-size.mjs +80 -0
- package/dist/node-dev/image-size.mjs.map +1 -0
- package/dist/{dev → node-dev}/index.js +10 -0
- package/dist/node-dev/index.js.map +1 -0
- package/dist/node-dev/index.mjs +48 -0
- package/dist/node-dev/index.mjs.map +1 -0
- package/dist/{dev → node-dev}/load-script.js +0 -0
- package/dist/{dev → node-dev}/load-script.js.map +0 -0
- package/dist/node-dev/load-script.mjs +52 -0
- package/dist/node-dev/load-script.mjs.map +1 -0
- package/dist/node-dev/metafield-parser.js +103 -0
- package/dist/node-dev/metafield-parser.js.map +1 -0
- package/dist/node-dev/metafield-parser.mjs +103 -0
- package/dist/node-dev/metafield-parser.mjs.map +1 -0
- package/dist/{dev → node-dev}/node_modules/@xstate/fsm/es/index.js +0 -0
- package/dist/{dev → node-dev}/node_modules/@xstate/fsm/es/index.js.map +0 -0
- package/dist/node-dev/node_modules/@xstate/fsm/es/index.mjs +159 -0
- package/dist/node-dev/node_modules/@xstate/fsm/es/index.mjs.map +1 -0
- package/dist/{dev → node-dev}/node_modules/@xstate/react/es/fsm.js +2 -2
- package/dist/{dev → node-dev}/node_modules/@xstate/react/es/fsm.js.map +1 -1
- package/dist/node-dev/node_modules/@xstate/react/es/fsm.mjs +94 -0
- package/dist/node-dev/node_modules/@xstate/react/es/fsm.mjs.map +1 -0
- package/dist/{dev → node-dev}/node_modules/@xstate/react/es/useConstant.js +0 -0
- package/dist/{dev → node-dev}/node_modules/@xstate/react/es/useConstant.js.map +0 -0
- package/dist/node-dev/node_modules/@xstate/react/es/useConstant.mjs +12 -0
- package/dist/node-dev/node_modules/@xstate/react/es/useConstant.mjs.map +1 -0
- package/dist/node-dev/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.esm.js +5 -0
- package/dist/node-dev/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.esm.js.map +1 -0
- package/dist/node-dev/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.esm.mjs +6 -0
- package/dist/node-dev/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.esm.mjs.map +1 -0
- package/dist/{dev → node-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js +0 -0
- package/dist/{dev → node-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js.map +0 -0
- package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs +105 -0
- package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs.map +1 -0
- package/dist/{dev → node-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js +0 -0
- package/dist/{dev → node-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js.map +0 -0
- package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs +72 -0
- package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs.map +1 -0
- package/dist/{dev → node-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +0 -0
- package/dist/{dev → node-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js.map +0 -0
- package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs +136 -0
- package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs.map +1 -0
- package/dist/{dev → node-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js +0 -0
- package/dist/{dev → node-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js.map +0 -0
- package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs +58 -0
- package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs.map +1 -0
- package/dist/{dev → node-dev}/node_modules/use-sync-external-store/shim/index.js +0 -0
- package/dist/{dev → node-dev}/node_modules/use-sync-external-store/shim/index.js.map +0 -0
- package/dist/node-dev/node_modules/use-sync-external-store/shim/index.mjs +21 -0
- package/dist/node-dev/node_modules/use-sync-external-store/shim/index.mjs.map +1 -0
- package/dist/{dev → node-dev}/node_modules/use-sync-external-store/shim/with-selector.js +0 -0
- package/dist/{dev → node-dev}/node_modules/use-sync-external-store/shim/with-selector.js.map +0 -0
- package/dist/node-dev/node_modules/use-sync-external-store/shim/with-selector.mjs +11 -0
- package/dist/node-dev/node_modules/use-sync-external-store/shim/with-selector.mjs.map +1 -0
- package/dist/{dev → node-dev}/storefront-api-constants.js +0 -0
- package/dist/{dev → node-dev}/storefront-api-constants.js.map +0 -0
- package/dist/node-dev/storefront-api-constants.mjs +5 -0
- package/dist/node-dev/storefront-api-constants.mjs.map +1 -0
- package/dist/{dev → node-dev}/storefront-client.js +21 -9
- package/dist/node-dev/storefront-client.js.map +1 -0
- package/dist/node-dev/storefront-client.mjs +84 -0
- package/dist/node-dev/storefront-client.mjs.map +1 -0
- package/dist/{dev → node-dev}/useCartAPIStateMachine.js +0 -0
- package/dist/{dev → node-dev}/useCartAPIStateMachine.js.map +0 -0
- package/dist/node-dev/useCartAPIStateMachine.mjs +326 -0
- package/dist/node-dev/useCartAPIStateMachine.mjs.map +1 -0
- package/dist/{dev → node-dev}/useCartActions.js +0 -0
- package/dist/{dev → node-dev}/useCartActions.js.map +0 -0
- package/dist/node-dev/useCartActions.mjs +123 -0
- package/dist/node-dev/useCartActions.mjs.map +1 -0
- package/dist/{dev → node-dev}/useMoney.js +0 -0
- package/dist/{dev → node-dev}/useMoney.js.map +0 -0
- package/dist/node-dev/useMoney.mjs +72 -0
- package/dist/node-dev/useMoney.mjs.map +1 -0
- package/dist/node-prod/AddToCartButton.js +70 -0
- package/dist/node-prod/AddToCartButton.js.map +1 -0
- package/dist/node-prod/AddToCartButton.mjs +70 -0
- package/dist/node-prod/AddToCartButton.mjs.map +1 -0
- package/dist/node-prod/BaseButton.js +31 -0
- package/dist/node-prod/BaseButton.js.map +1 -0
- package/dist/node-prod/BaseButton.mjs +31 -0
- package/dist/node-prod/BaseButton.mjs.map +1 -0
- package/dist/node-prod/BuyNowButton.js +45 -0
- package/dist/node-prod/BuyNowButton.js.map +1 -0
- package/dist/node-prod/BuyNowButton.mjs +45 -0
- package/dist/node-prod/BuyNowButton.mjs.map +1 -0
- package/dist/node-prod/CartCheckoutButton.js +30 -0
- package/dist/node-prod/CartCheckoutButton.js.map +1 -0
- package/dist/node-prod/CartCheckoutButton.mjs +30 -0
- package/dist/node-prod/CartCheckoutButton.mjs.map +1 -0
- package/dist/{prod → node-prod}/CartProvider.js +0 -0
- package/dist/{prod → node-prod}/CartProvider.js.map +0 -0
- package/dist/node-prod/CartProvider.mjs +485 -0
- package/dist/node-prod/CartProvider.mjs.map +1 -0
- package/dist/{prod → node-prod}/ExternalVideo.js +0 -0
- package/dist/{prod → node-prod}/ExternalVideo.js.map +0 -0
- package/dist/node-prod/ExternalVideo.mjs +39 -0
- package/dist/node-prod/ExternalVideo.mjs.map +1 -0
- package/dist/{prod → node-prod}/Image.js +0 -0
- package/dist/{prod → node-prod}/Image.js.map +0 -0
- package/dist/node-prod/Image.mjs +99 -0
- package/dist/node-prod/Image.mjs.map +1 -0
- package/dist/{prod → node-prod}/MediaFile.js +0 -0
- package/dist/node-prod/MediaFile.js.map +1 -0
- package/dist/node-prod/MediaFile.mjs +59 -0
- package/dist/node-prod/MediaFile.mjs.map +1 -0
- package/dist/{prod → node-prod}/Metafield.js +0 -0
- package/dist/node-prod/Metafield.js.map +1 -0
- package/dist/node-prod/Metafield.mjs +288 -0
- package/dist/node-prod/Metafield.mjs.map +1 -0
- package/dist/{prod → node-prod}/ModelViewer.js +0 -0
- package/dist/{prod → node-prod}/ModelViewer.js.map +0 -0
- package/dist/node-prod/ModelViewer.mjs +143 -0
- package/dist/node-prod/ModelViewer.mjs.map +1 -0
- package/dist/{prod → node-prod}/Money.js +0 -0
- package/dist/{prod → node-prod}/Money.js.map +0 -0
- package/dist/node-prod/Money.mjs +40 -0
- package/dist/node-prod/Money.mjs.map +1 -0
- package/dist/{prod → node-prod}/ProductPrice.js +0 -0
- package/dist/node-prod/ProductPrice.js.map +1 -0
- package/dist/node-prod/ProductPrice.mjs +61 -0
- package/dist/node-prod/ProductPrice.mjs.map +1 -0
- package/dist/{prod → node-prod}/ProductProvider.js +0 -0
- package/dist/{prod → node-prod}/ProductProvider.js.map +0 -0
- package/dist/node-prod/ProductProvider.mjs +161 -0
- package/dist/node-prod/ProductProvider.mjs.map +1 -0
- package/dist/{prod → node-prod}/ShopPayButton.js +0 -0
- package/dist/{prod → node-prod}/ShopPayButton.js.map +0 -0
- package/dist/node-prod/ShopPayButton.mjs +64 -0
- package/dist/node-prod/ShopPayButton.mjs.map +1 -0
- package/dist/{dev → node-prod}/ShopifyProvider.js +23 -5
- package/dist/node-prod/ShopifyProvider.js.map +1 -0
- package/dist/node-prod/ShopifyProvider.mjs +64 -0
- package/dist/node-prod/ShopifyProvider.mjs.map +1 -0
- package/dist/{prod → node-prod}/Video.js +0 -0
- package/dist/{prod → node-prod}/Video.js.map +0 -0
- package/dist/node-prod/Video.mjs +44 -0
- package/dist/node-prod/Video.mjs.map +1 -0
- package/dist/{prod → node-prod}/_virtual/index.js +0 -0
- package/dist/{prod → node-prod}/_virtual/index.js.map +0 -0
- package/dist/node-prod/_virtual/index.mjs +5 -0
- package/dist/{prod → node-prod/_virtual}/index.mjs.map +1 -1
- package/dist/{prod → node-prod}/_virtual/use-sync-external-store-shim.development.js +0 -0
- package/dist/{prod → node-prod}/_virtual/use-sync-external-store-shim.development.js.map +0 -0
- package/dist/node-prod/_virtual/use-sync-external-store-shim.development.mjs +5 -0
- package/dist/node-prod/_virtual/use-sync-external-store-shim.development.mjs.map +1 -0
- package/dist/{prod → node-prod}/_virtual/use-sync-external-store-shim.production.min.js +0 -0
- package/dist/{prod → node-prod}/_virtual/use-sync-external-store-shim.production.min.js.map +0 -0
- package/dist/node-prod/_virtual/use-sync-external-store-shim.production.min.mjs +5 -0
- package/dist/node-prod/_virtual/use-sync-external-store-shim.production.min.mjs.map +1 -0
- package/dist/{prod → node-prod}/_virtual/with-selector.development.js +0 -0
- package/dist/{prod → node-prod}/_virtual/with-selector.development.js.map +0 -0
- package/dist/node-prod/_virtual/with-selector.development.mjs +5 -0
- package/dist/node-prod/_virtual/with-selector.development.mjs.map +1 -0
- package/dist/{prod → node-prod}/_virtual/with-selector.js +0 -0
- package/dist/{prod → node-prod}/_virtual/with-selector.js.map +0 -0
- package/dist/node-prod/_virtual/with-selector.mjs +5 -0
- package/dist/node-prod/_virtual/with-selector.mjs.map +1 -0
- package/dist/{prod → node-prod}/_virtual/with-selector.production.min.js +0 -0
- package/dist/{prod → node-prod}/_virtual/with-selector.production.min.js.map +0 -0
- package/dist/node-prod/_virtual/with-selector.production.min.mjs +5 -0
- package/dist/node-prod/_virtual/with-selector.production.min.mjs.map +1 -0
- package/dist/{dev → node-prod}/cart-constants.js +0 -2
- package/dist/node-prod/cart-constants.js.map +1 -0
- package/dist/node-prod/cart-constants.mjs +15 -0
- package/dist/node-prod/cart-constants.mjs.map +1 -0
- package/dist/{dev → node-prod}/cart-hooks.js +10 -14
- package/dist/node-prod/cart-hooks.js.map +1 -0
- package/dist/node-prod/cart-hooks.mjs +44 -0
- package/dist/node-prod/cart-hooks.mjs.map +1 -0
- package/dist/{prod → node-prod}/cart-queries.js +0 -0
- package/dist/{prod → node-prod}/cart-queries.js.map +0 -0
- package/dist/node-prod/cart-queries.mjs +114 -0
- package/dist/node-prod/cart-queries.mjs.map +1 -0
- package/dist/node-prod/codegen.helpers.js +12 -0
- package/dist/node-prod/codegen.helpers.js.map +1 -0
- package/dist/node-prod/codegen.helpers.mjs +12 -0
- package/dist/node-prod/codegen.helpers.mjs.map +1 -0
- package/dist/{prod → node-prod}/flatten-connection.js +0 -0
- package/dist/{prod → node-prod}/flatten-connection.js.map +0 -0
- package/dist/node-prod/flatten-connection.mjs +25 -0
- package/dist/node-prod/flatten-connection.mjs.map +1 -0
- package/dist/{prod → node-prod}/image-size.js +0 -0
- package/dist/{prod → node-prod}/image-size.js.map +0 -0
- package/dist/node-prod/image-size.mjs +80 -0
- package/dist/node-prod/image-size.mjs.map +1 -0
- package/dist/{prod → node-prod}/index.js +10 -0
- package/dist/node-prod/index.js.map +1 -0
- package/dist/node-prod/index.mjs +48 -0
- package/dist/node-prod/index.mjs.map +1 -0
- package/dist/{prod → node-prod}/load-script.js +0 -0
- package/dist/{prod → node-prod}/load-script.js.map +0 -0
- package/dist/node-prod/load-script.mjs +52 -0
- package/dist/node-prod/load-script.mjs.map +1 -0
- package/dist/node-prod/metafield-parser.js +114 -0
- package/dist/node-prod/metafield-parser.js.map +1 -0
- package/dist/node-prod/metafield-parser.mjs +114 -0
- package/dist/node-prod/metafield-parser.mjs.map +1 -0
- package/dist/{prod → node-prod}/node_modules/@xstate/fsm/es/index.js +0 -0
- package/dist/{prod → node-prod}/node_modules/@xstate/fsm/es/index.js.map +0 -0
- package/dist/node-prod/node_modules/@xstate/fsm/es/index.mjs +159 -0
- package/dist/node-prod/node_modules/@xstate/fsm/es/index.mjs.map +1 -0
- package/dist/{prod → node-prod}/node_modules/@xstate/react/es/fsm.js +2 -2
- package/dist/{prod → node-prod}/node_modules/@xstate/react/es/fsm.js.map +1 -1
- package/dist/node-prod/node_modules/@xstate/react/es/fsm.mjs +94 -0
- package/dist/node-prod/node_modules/@xstate/react/es/fsm.mjs.map +1 -0
- package/dist/{prod → node-prod}/node_modules/@xstate/react/es/useConstant.js +0 -0
- package/dist/{prod → node-prod}/node_modules/@xstate/react/es/useConstant.js.map +0 -0
- package/dist/node-prod/node_modules/@xstate/react/es/useConstant.mjs +12 -0
- package/dist/node-prod/node_modules/@xstate/react/es/useConstant.mjs.map +1 -0
- package/dist/node-prod/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.esm.js +5 -0
- package/dist/node-prod/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.esm.js.map +1 -0
- package/dist/node-prod/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.esm.mjs +6 -0
- package/dist/node-prod/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.esm.mjs.map +1 -0
- package/dist/{prod → node-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js +0 -0
- package/dist/{prod → node-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js.map +0 -0
- package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs +105 -0
- package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs.map +1 -0
- package/dist/{prod → node-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js +0 -0
- package/dist/{prod → node-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js.map +0 -0
- package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs +72 -0
- package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs.map +1 -0
- package/dist/{prod → node-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +0 -0
- package/dist/{prod → node-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js.map +0 -0
- package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs +136 -0
- package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs.map +1 -0
- package/dist/{prod → node-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js +0 -0
- package/dist/{prod → node-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js.map +0 -0
- package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs +58 -0
- package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs.map +1 -0
- package/dist/{prod → node-prod}/node_modules/use-sync-external-store/shim/index.js +0 -0
- package/dist/{prod → node-prod}/node_modules/use-sync-external-store/shim/index.js.map +0 -0
- package/dist/node-prod/node_modules/use-sync-external-store/shim/index.mjs +21 -0
- package/dist/node-prod/node_modules/use-sync-external-store/shim/index.mjs.map +1 -0
- package/dist/{prod → node-prod}/node_modules/use-sync-external-store/shim/with-selector.js +0 -0
- package/dist/{prod → node-prod}/node_modules/use-sync-external-store/shim/with-selector.js.map +0 -0
- package/dist/node-prod/node_modules/use-sync-external-store/shim/with-selector.mjs +11 -0
- package/dist/node-prod/node_modules/use-sync-external-store/shim/with-selector.mjs.map +1 -0
- package/dist/{prod → node-prod}/storefront-api-constants.js +0 -0
- package/dist/{prod → node-prod}/storefront-api-constants.js.map +0 -0
- package/dist/node-prod/storefront-api-constants.mjs +5 -0
- package/dist/node-prod/storefront-api-constants.mjs.map +1 -0
- package/dist/{prod → node-prod}/storefront-client.js +21 -9
- package/dist/node-prod/storefront-client.js.map +1 -0
- package/dist/node-prod/storefront-client.mjs +69 -0
- package/dist/node-prod/storefront-client.mjs.map +1 -0
- package/dist/{prod → node-prod}/useCartAPIStateMachine.js +0 -0
- package/dist/{prod → node-prod}/useCartAPIStateMachine.js.map +0 -0
- package/dist/node-prod/useCartAPIStateMachine.mjs +326 -0
- package/dist/node-prod/useCartAPIStateMachine.mjs.map +1 -0
- package/dist/{prod → node-prod}/useCartActions.js +0 -0
- package/dist/{prod → node-prod}/useCartActions.js.map +0 -0
- package/dist/node-prod/useCartActions.mjs +123 -0
- package/dist/node-prod/useCartActions.mjs.map +1 -0
- package/dist/{prod → node-prod}/useMoney.js +0 -0
- package/dist/{prod → node-prod}/useMoney.js.map +0 -0
- package/dist/node-prod/useMoney.mjs +72 -0
- package/dist/node-prod/useMoney.mjs.map +1 -0
- package/dist/types/AddToCartButton.d.ts +21 -0
- package/dist/types/BaseButton.d.ts +15 -0
- package/dist/types/BuyNowButton.d.ts +15 -0
- package/dist/types/CartCheckoutButton.d.ts +12 -0
- package/dist/types/CartCost.d.ts +13 -0
- package/dist/types/CartLineProvider.d.ts +16 -0
- package/dist/types/MediaFile.d.ts +3 -1
- package/dist/types/Metafield.d.ts +3 -0
- package/dist/types/ProductPrice.d.ts +1 -2
- package/dist/types/ShopifyProvider.d.ts +35 -2
- package/dist/types/cart-constants.d.ts +0 -1
- package/dist/types/codegen.helpers.d.ts +9 -0
- package/dist/types/index.d.cts +5 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/metafield-parser.d.ts +222 -0
- package/dist/types/storefront-api-types.d.ts +1 -1
- package/dist/types/storefront-client.d.ts +17 -2
- package/dist/umd/hydrogen-react.dev.js +682 -371
- package/dist/umd/hydrogen-react.dev.js.map +1 -1
- package/dist/umd/hydrogen-react.prod.js +17 -17
- package/dist/umd/hydrogen-react.prod.js.map +1 -1
- package/package.json +42 -19
- package/dist/dev/MediaFile.js.map +0 -1
- package/dist/dev/MediaFile.mjs.map +0 -1
- package/dist/dev/Metafield.js.map +0 -1
- package/dist/dev/Metafield.mjs.map +0 -1
- package/dist/dev/ProductPrice.js.map +0 -1
- package/dist/dev/ProductPrice.mjs.map +0 -1
- package/dist/dev/ShopifyProvider.js.map +0 -1
- package/dist/dev/ShopifyProvider.mjs.map +0 -1
- package/dist/dev/cart-constants.js.map +0 -1
- package/dist/dev/cart-constants.mjs.map +0 -1
- package/dist/dev/cart-hooks.js.map +0 -1
- package/dist/dev/cart-hooks.mjs.map +0 -1
- package/dist/dev/index.js.map +0 -1
- package/dist/dev/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js +0 -5
- package/dist/dev/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js.map +0 -1
- package/dist/dev/node_modules/worktop/cookie/index.js +0 -27
- package/dist/dev/node_modules/worktop/cookie/index.js.map +0 -1
- package/dist/dev/node_modules/worktop/cookie/index.mjs +0 -27
- package/dist/dev/node_modules/worktop/cookie/index.mjs.map +0 -1
- package/dist/dev/storefront-client.js.map +0 -1
- package/dist/dev/storefront-client.mjs.map +0 -1
- package/dist/prod/MediaFile.js.map +0 -1
- package/dist/prod/MediaFile.mjs.map +0 -1
- package/dist/prod/Metafield.js.map +0 -1
- package/dist/prod/Metafield.mjs.map +0 -1
- package/dist/prod/ProductPrice.js.map +0 -1
- package/dist/prod/ProductPrice.mjs.map +0 -1
- package/dist/prod/ShopifyProvider.js.map +0 -1
- package/dist/prod/ShopifyProvider.mjs.map +0 -1
- package/dist/prod/cart-constants.js.map +0 -1
- package/dist/prod/cart-constants.mjs.map +0 -1
- package/dist/prod/cart-hooks.js.map +0 -1
- package/dist/prod/cart-hooks.mjs.map +0 -1
- package/dist/prod/index.js.map +0 -1
- package/dist/prod/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js +0 -5
- package/dist/prod/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js.map +0 -1
- package/dist/prod/node_modules/worktop/cookie/index.js +0 -27
- package/dist/prod/node_modules/worktop/cookie/index.js.map +0 -1
- package/dist/prod/node_modules/worktop/cookie/index.mjs +0 -27
- package/dist/prod/node_modules/worktop/cookie/index.mjs.map +0 -1
- package/dist/prod/storefront-client.js.map +0 -1
- package/dist/prod/storefront-client.mjs.map +0 -1
|
@@ -766,7 +766,85 @@ query CartQuery($id: ID!, $numCartLines: Int = 250, $country: CountryCode = ZZ)
|
|
|
766
766
|
${cartFragment}
|
|
767
767
|
`;
|
|
768
768
|
const SFAPI_VERSION = "2022-10";
|
|
769
|
-
|
|
769
|
+
function createStorefrontClient({
|
|
770
|
+
storeDomain,
|
|
771
|
+
privateStorefrontToken,
|
|
772
|
+
publicStorefrontToken,
|
|
773
|
+
storefrontApiVersion,
|
|
774
|
+
contentType
|
|
775
|
+
}) {
|
|
776
|
+
if (storefrontApiVersion !== SFAPI_VERSION) {
|
|
777
|
+
console.warn(
|
|
778
|
+
`StorefrontClient: The Storefront API version that you're using is different than the version this build of Hydrogen-UI is targeting. You may run into unexpected errors if these versions don't match. Received verion: "${storefrontApiVersion}"; expected version "${SFAPI_VERSION}"`
|
|
779
|
+
);
|
|
780
|
+
}
|
|
781
|
+
if (!privateStorefrontToken && !globalThis.document) {
|
|
782
|
+
console.warn(
|
|
783
|
+
`StorefrontClient: Using a private storefront token is recommended for server environments. Refer to the authentication https://shopify.dev/api/storefront#authentication documentation for more details. `
|
|
784
|
+
);
|
|
785
|
+
}
|
|
786
|
+
if (privateStorefrontToken && globalThis) {
|
|
787
|
+
console.warn(
|
|
788
|
+
`StorefrontClient: You are attempting to use a private token in an environment where it can be easily accessed by anyone. This is a security risk; please use the public token and the 'publicStorefrontToken' prop`
|
|
789
|
+
);
|
|
790
|
+
}
|
|
791
|
+
return {
|
|
792
|
+
getShopifyDomain(overrideProps) {
|
|
793
|
+
var _a;
|
|
794
|
+
return `https://${(_a = overrideProps == null ? void 0 : overrideProps.storeDomain) != null ? _a : storeDomain}.myshopify.com`;
|
|
795
|
+
},
|
|
796
|
+
getStorefrontApiUrl(overrideProps) {
|
|
797
|
+
var _a, _b;
|
|
798
|
+
return `https://${(_a = overrideProps == null ? void 0 : overrideProps.storeDomain) != null ? _a : storeDomain}.myshopify.com/api/${(_b = overrideProps == null ? void 0 : overrideProps.storefrontApiVersion) != null ? _b : storefrontApiVersion}/graphql.json`;
|
|
799
|
+
},
|
|
800
|
+
getPrivateTokenHeaders(overrideProps) {
|
|
801
|
+
var _a, _b, _c;
|
|
802
|
+
if (!privateStorefrontToken && !(overrideProps == null ? void 0 : overrideProps.privateStorefrontToken)) {
|
|
803
|
+
throw new Error(
|
|
804
|
+
`StorefrontClient: You did not pass in a 'privateStorefrontToken' while using 'getPrivateTokenHeaders()'`
|
|
805
|
+
);
|
|
806
|
+
}
|
|
807
|
+
if (!(overrideProps == null ? void 0 : overrideProps.buyerIp)) {
|
|
808
|
+
console.warn(
|
|
809
|
+
`StorefrontClient: it is recommended to pass in the 'buyerIp' property which improves analytics and data in the admin.`
|
|
810
|
+
);
|
|
811
|
+
}
|
|
812
|
+
const finalContentType = (_a = overrideProps == null ? void 0 : overrideProps.contentType) != null ? _a : contentType;
|
|
813
|
+
return {
|
|
814
|
+
"content-type": finalContentType === "graphql" ? "application/graphql" : "application/json",
|
|
815
|
+
"X-SDK-Variant": "hydrogen-ui",
|
|
816
|
+
"X-SDK-Variant-Source": "react",
|
|
817
|
+
"X-SDK-Version": storefrontApiVersion,
|
|
818
|
+
"Shopify-Storefront-Private-Token": (_c = (_b = overrideProps == null ? void 0 : overrideProps.privateStorefrontToken) != null ? _b : privateStorefrontToken) != null ? _c : "",
|
|
819
|
+
...(overrideProps == null ? void 0 : overrideProps.buyerIp) ? { "Shopify-Storefront-Buyer-IP": overrideProps.buyerIp } : {}
|
|
820
|
+
};
|
|
821
|
+
},
|
|
822
|
+
getPublicTokenHeaders(overrideProps) {
|
|
823
|
+
var _a, _b, _c, _d;
|
|
824
|
+
if (!publicStorefrontToken && !(overrideProps == null ? void 0 : overrideProps.publicStorefrontToken)) {
|
|
825
|
+
throw new Error(
|
|
826
|
+
`StorefrontClient: You did not pass in a 'publicStorefrontToken' while using 'getPublicTokenHeaders()'`
|
|
827
|
+
);
|
|
828
|
+
}
|
|
829
|
+
const finalContentType = (_b = (_a = overrideProps == null ? void 0 : overrideProps.contentType) != null ? _a : contentType) != null ? _b : "json";
|
|
830
|
+
return getPublicTokenHeadersRaw(
|
|
831
|
+
finalContentType,
|
|
832
|
+
storefrontApiVersion,
|
|
833
|
+
(_d = (_c = overrideProps == null ? void 0 : overrideProps.publicStorefrontToken) != null ? _c : publicStorefrontToken) != null ? _d : ""
|
|
834
|
+
);
|
|
835
|
+
}
|
|
836
|
+
};
|
|
837
|
+
}
|
|
838
|
+
function getPublicTokenHeadersRaw(contentType, storefrontApiVersion, accessToken) {
|
|
839
|
+
return {
|
|
840
|
+
"content-type": contentType === "graphql" ? "application/graphql" : "application/json",
|
|
841
|
+
"X-SDK-Variant": "hydrogen-ui",
|
|
842
|
+
"X-SDK-Variant-Source": "react",
|
|
843
|
+
"X-SDK-Version": storefrontApiVersion,
|
|
844
|
+
"X-Shopify-Storefront-Access-Token": accessToken
|
|
845
|
+
};
|
|
846
|
+
}
|
|
847
|
+
var _jsxFileName$f = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ShopifyProvider.tsx";
|
|
770
848
|
const ShopifyContext = React.createContext({
|
|
771
849
|
storeDomain: "test.myshopify.com",
|
|
772
850
|
storefrontToken: "abc123",
|
|
@@ -777,7 +855,13 @@ ${cartFragment}
|
|
|
777
855
|
language: {
|
|
778
856
|
isoCode: "EN"
|
|
779
857
|
},
|
|
780
|
-
locale: "EN-US"
|
|
858
|
+
locale: "EN-US",
|
|
859
|
+
getStorefrontApiUrl() {
|
|
860
|
+
return "";
|
|
861
|
+
},
|
|
862
|
+
getPublicTokenHeaders() {
|
|
863
|
+
return {};
|
|
864
|
+
}
|
|
781
865
|
});
|
|
782
866
|
function ShopifyProvider({
|
|
783
867
|
children,
|
|
@@ -789,16 +873,27 @@ ${cartFragment}
|
|
|
789
873
|
if (shopifyConfig.storefrontApiVersion !== SFAPI_VERSION) {
|
|
790
874
|
console.warn(`This version of Hydrogen-UI is built for Shopify's Storefront API version ${SFAPI_VERSION}, but it looks like you're using version ${shopifyConfig.storefrontApiVersion}. There may be issues or bugs if you use a mismatched version of Hydrogen-UI and the Storefront API.`);
|
|
791
875
|
}
|
|
792
|
-
const finalConfig = React.useMemo(() =>
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
876
|
+
const finalConfig = React.useMemo(() => {
|
|
877
|
+
const storeDomain = shopifyConfig.storeDomain.replace(/^https?:\/\//, "");
|
|
878
|
+
return {
|
|
879
|
+
...shopifyConfig,
|
|
880
|
+
storeDomain,
|
|
881
|
+
getPublicTokenHeaders(overrideProps) {
|
|
882
|
+
var _a;
|
|
883
|
+
return getPublicTokenHeadersRaw(overrideProps.contentType, shopifyConfig.storefrontApiVersion, (_a = overrideProps.storefrontToken) != null ? _a : shopifyConfig.storefrontToken);
|
|
884
|
+
},
|
|
885
|
+
getStorefrontApiUrl(overrideProps) {
|
|
886
|
+
var _a, _b;
|
|
887
|
+
return `https://${(_a = overrideProps == null ? void 0 : overrideProps.storeDomain) != null ? _a : storeDomain}/api/${(_b = overrideProps == null ? void 0 : overrideProps.storefrontApiVersion) != null ? _b : shopifyConfig.storefrontApiVersion}/graphql.json`;
|
|
888
|
+
}
|
|
889
|
+
};
|
|
890
|
+
}, [shopifyConfig]);
|
|
796
891
|
return /* @__PURE__ */ React__default.default.createElement(ShopifyContext.Provider, {
|
|
797
892
|
value: finalConfig,
|
|
798
893
|
__self: this,
|
|
799
894
|
__source: {
|
|
800
|
-
fileName: _jsxFileName$
|
|
801
|
-
lineNumber:
|
|
895
|
+
fileName: _jsxFileName$f,
|
|
896
|
+
lineNumber: 69,
|
|
802
897
|
columnNumber: 5
|
|
803
898
|
}
|
|
804
899
|
}, children);
|
|
@@ -811,7 +906,6 @@ ${cartFragment}
|
|
|
811
906
|
return shopContext;
|
|
812
907
|
}
|
|
813
908
|
const CART_ID_STORAGE_KEY = "shopifyCartId";
|
|
814
|
-
const STOREFRONT_API_PUBLIC_TOKEN_HEADER = "X-Shopify-Storefront-Access-Token";
|
|
815
909
|
const SHOPIFY_STOREFRONT_ID_HEADER = "Shopify-Storefront-Id";
|
|
816
910
|
const SHOPIFY_STOREFRONT_Y_HEADER = "Shopify-Storefront-Y";
|
|
817
911
|
const SHOPIFY_STOREFRONT_S_HEADER = "Shopify-Storefront-S";
|
|
@@ -842,21 +936,17 @@ ${cartFragment}
|
|
|
842
936
|
}
|
|
843
937
|
function useCartFetch() {
|
|
844
938
|
const {
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
storefrontId
|
|
939
|
+
storefrontId,
|
|
940
|
+
getPublicTokenHeaders,
|
|
941
|
+
getStorefrontApiUrl
|
|
849
942
|
} = useShop();
|
|
850
943
|
return React.useCallback(({
|
|
851
944
|
query,
|
|
852
945
|
variables
|
|
853
946
|
}) => {
|
|
854
|
-
const headers = {
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
"X-SDK-Version": storefrontApiVersion,
|
|
858
|
-
[STOREFRONT_API_PUBLIC_TOKEN_HEADER]: storefrontToken
|
|
859
|
-
};
|
|
947
|
+
const headers = getPublicTokenHeaders({
|
|
948
|
+
contentType: "json"
|
|
949
|
+
});
|
|
860
950
|
if (storefrontId) {
|
|
861
951
|
headers[SHOPIFY_STOREFRONT_ID_HEADER] = storefrontId;
|
|
862
952
|
}
|
|
@@ -865,7 +955,7 @@ ${cartFragment}
|
|
|
865
955
|
headers[SHOPIFY_STOREFRONT_Y_HEADER] = cookieData[SHOPIFY_Y];
|
|
866
956
|
headers[SHOPIFY_STOREFRONT_S_HEADER] = cookieData[SHOPIFY_S];
|
|
867
957
|
}
|
|
868
|
-
return fetch(
|
|
958
|
+
return fetch(getStorefrontApiUrl(), {
|
|
869
959
|
method: "POST",
|
|
870
960
|
headers,
|
|
871
961
|
body: JSON.stringify({
|
|
@@ -878,7 +968,7 @@ ${cartFragment}
|
|
|
878
968
|
errors: error.toString()
|
|
879
969
|
};
|
|
880
970
|
});
|
|
881
|
-
}, [
|
|
971
|
+
}, [getPublicTokenHeaders, storefrontId, getStorefrontApiUrl]);
|
|
882
972
|
}
|
|
883
973
|
function useCartActions({
|
|
884
974
|
numCartLines,
|
|
@@ -1312,7 +1402,7 @@ ${cartFragment}
|
|
|
1312
1402
|
function isCartFetchResultEvent(event) {
|
|
1313
1403
|
return event.type === "RESOLVE" || event.type === "ERROR" || event.type === "CART_COMPLETED";
|
|
1314
1404
|
}
|
|
1315
|
-
var _jsxFileName$
|
|
1405
|
+
var _jsxFileName$e = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/CartProvider.tsx";
|
|
1316
1406
|
const CartContext = React.createContext(null);
|
|
1317
1407
|
function useCart() {
|
|
1318
1408
|
const context = React.useContext(CartContext);
|
|
@@ -1625,7 +1715,7 @@ ${cartFragment}
|
|
|
1625
1715
|
value: cartContextValue,
|
|
1626
1716
|
__self: this,
|
|
1627
1717
|
__source: {
|
|
1628
|
-
fileName: _jsxFileName$
|
|
1718
|
+
fileName: _jsxFileName$e,
|
|
1629
1719
|
lineNumber: 425,
|
|
1630
1720
|
columnNumber: 5
|
|
1631
1721
|
}
|
|
@@ -1791,101 +1881,440 @@ fragment ImageFragment on Image {
|
|
|
1791
1881
|
height
|
|
1792
1882
|
}
|
|
1793
1883
|
`;
|
|
1794
|
-
var _jsxFileName$
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
if (!data.embedUrl) {
|
|
1808
|
-
throw new Error(`<ExternalVideo/> requires the 'embedUrl' property`);
|
|
1884
|
+
var _jsxFileName$d = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ProductProvider.tsx";
|
|
1885
|
+
const ProductOptionsContext = React.createContext(null);
|
|
1886
|
+
function ProductProvider({
|
|
1887
|
+
children,
|
|
1888
|
+
data: product,
|
|
1889
|
+
initialVariantId: explicitVariantId
|
|
1890
|
+
}) {
|
|
1891
|
+
const variants = React.useMemo(() => {
|
|
1892
|
+
var _a;
|
|
1893
|
+
return flattenConnection((_a = product.variants) != null ? _a : {});
|
|
1894
|
+
}, [product.variants]);
|
|
1895
|
+
if (!isProductVariantArray(variants)) {
|
|
1896
|
+
throw new Error(`<ProductProvider/> requires 'product.variants.nodes' or 'product.variants.edges'`);
|
|
1809
1897
|
}
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1898
|
+
const options = React.useMemo(() => getOptions(variants), [variants]);
|
|
1899
|
+
const [selectedVariant, setSelectedVariant] = React.useState(() => getVariantBasedOnIdProp(explicitVariantId, variants));
|
|
1900
|
+
const [selectedOptions, setSelectedOptions] = React.useState(() => getSelectedOptions(selectedVariant));
|
|
1901
|
+
React.useEffect(() => {
|
|
1902
|
+
const newSelectedVariant = getVariantBasedOnIdProp(explicitVariantId, variants);
|
|
1903
|
+
setSelectedVariant(newSelectedVariant);
|
|
1904
|
+
setSelectedOptions(getSelectedOptions(newSelectedVariant));
|
|
1905
|
+
}, [explicitVariantId, variants]);
|
|
1906
|
+
const setSelectedOption = React.useCallback((name, value2) => {
|
|
1907
|
+
setSelectedOptions((selectedOptions2) => {
|
|
1908
|
+
const opts = {
|
|
1909
|
+
...selectedOptions2,
|
|
1910
|
+
[name]: value2
|
|
1911
|
+
};
|
|
1912
|
+
setSelectedVariant(getSelectedVariant(variants, opts));
|
|
1913
|
+
return opts;
|
|
1914
|
+
});
|
|
1915
|
+
}, [setSelectedOptions, variants]);
|
|
1916
|
+
const isOptionInStock = React.useCallback((option, value2) => {
|
|
1917
|
+
var _a;
|
|
1918
|
+
const proposedVariant = getSelectedVariant(variants, {
|
|
1919
|
+
...selectedOptions,
|
|
1920
|
+
...{
|
|
1921
|
+
[option]: value2
|
|
1922
|
+
}
|
|
1923
|
+
});
|
|
1924
|
+
return (_a = proposedVariant == null ? void 0 : proposedVariant.availableForSale) != null ? _a : true;
|
|
1925
|
+
}, [selectedOptions, variants]);
|
|
1926
|
+
const sellingPlanGroups = React.useMemo(() => {
|
|
1927
|
+
var _a;
|
|
1928
|
+
return flattenConnection((_a = product.sellingPlanGroups) != null ? _a : {}).map((sellingPlanGroup) => {
|
|
1929
|
+
var _a2;
|
|
1930
|
+
return {
|
|
1931
|
+
...sellingPlanGroup,
|
|
1932
|
+
sellingPlans: flattenConnection((_a2 = sellingPlanGroup == null ? void 0 : sellingPlanGroup.sellingPlans) != null ? _a2 : {})
|
|
1933
|
+
};
|
|
1934
|
+
});
|
|
1935
|
+
}, [product.sellingPlanGroups]);
|
|
1936
|
+
const [selectedSellingPlan, setSelectedSellingPlan] = React.useState(void 0);
|
|
1937
|
+
const selectedSellingPlanAllocation = React.useMemo(() => {
|
|
1938
|
+
var _a, _b;
|
|
1939
|
+
if (!selectedVariant || !selectedSellingPlan) {
|
|
1940
|
+
return;
|
|
1815
1941
|
}
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
|
|
1942
|
+
if (!((_a = selectedVariant.sellingPlanAllocations) == null ? void 0 : _a.nodes) && !((_b = selectedVariant.sellingPlanAllocations) == null ? void 0 : _b.edges)) {
|
|
1943
|
+
throw new Error(`<ProductProvider/>: You must include 'sellingPlanAllocations.nodes' or 'sellingPlanAllocations.edges' in your variants in order to calculate selectedSellingPlanAllocation`);
|
|
1944
|
+
}
|
|
1945
|
+
return flattenConnection(selectedVariant.sellingPlanAllocations).find((allocation) => {
|
|
1946
|
+
var _a2;
|
|
1947
|
+
return ((_a2 = allocation == null ? void 0 : allocation.sellingPlan) == null ? void 0 : _a2.id) === selectedSellingPlan.id;
|
|
1948
|
+
});
|
|
1949
|
+
}, [selectedVariant, selectedSellingPlan]);
|
|
1950
|
+
const value = React.useMemo(() => ({
|
|
1951
|
+
variants,
|
|
1952
|
+
variantsConnection: product.variants,
|
|
1953
|
+
options,
|
|
1954
|
+
selectedVariant,
|
|
1955
|
+
setSelectedVariant,
|
|
1956
|
+
selectedOptions,
|
|
1957
|
+
setSelectedOption,
|
|
1958
|
+
setSelectedOptions,
|
|
1959
|
+
isOptionInStock,
|
|
1960
|
+
selectedSellingPlan,
|
|
1961
|
+
setSelectedSellingPlan,
|
|
1962
|
+
selectedSellingPlanAllocation,
|
|
1963
|
+
sellingPlanGroups,
|
|
1964
|
+
sellingPlanGroupsConnection: product.sellingPlanGroups
|
|
1965
|
+
}), [isOptionInStock, options, product.sellingPlanGroups, product.variants, selectedOptions, selectedSellingPlan, selectedSellingPlanAllocation, selectedVariant, sellingPlanGroups, setSelectedOption, variants]);
|
|
1966
|
+
return /* @__PURE__ */ React__default.default.createElement(ProductOptionsContext.Provider, {
|
|
1967
|
+
value,
|
|
1827
1968
|
__self: this,
|
|
1828
1969
|
__source: {
|
|
1829
|
-
fileName: _jsxFileName$
|
|
1830
|
-
lineNumber:
|
|
1970
|
+
fileName: _jsxFileName$d,
|
|
1971
|
+
lineNumber: 201,
|
|
1831
1972
|
columnNumber: 5
|
|
1832
1973
|
}
|
|
1833
|
-
});
|
|
1974
|
+
}, children);
|
|
1834
1975
|
}
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
"shopify-assets.shopifycdn.net"
|
|
1840
|
-
];
|
|
1841
|
-
const LOCAL_CDN_HOSTNAMES = ["spin.dev"];
|
|
1842
|
-
const ALL_CDN_HOSTNAMES = [...PRODUCTION_CDN_HOSTNAMES, ...LOCAL_CDN_HOSTNAMES];
|
|
1843
|
-
const IMG_SRC_SET_SIZES = [352, 832, 1200, 1920, 2560];
|
|
1844
|
-
function addImageSizeParametersToUrl({
|
|
1845
|
-
src,
|
|
1846
|
-
width,
|
|
1847
|
-
height,
|
|
1848
|
-
crop,
|
|
1849
|
-
scale
|
|
1850
|
-
}) {
|
|
1851
|
-
const newUrl = new URL(src);
|
|
1852
|
-
const multipliedScale = scale != null ? scale : 1;
|
|
1853
|
-
if (width) {
|
|
1854
|
-
let finalWidth;
|
|
1855
|
-
if (typeof width === "string") {
|
|
1856
|
-
finalWidth = (IMG_SRC_SET_SIZES[0] * multipliedScale).toString();
|
|
1857
|
-
} else {
|
|
1858
|
-
finalWidth = (Number(width) * multipliedScale).toString();
|
|
1859
|
-
}
|
|
1860
|
-
newUrl.searchParams.append("width", finalWidth);
|
|
1861
|
-
}
|
|
1862
|
-
if (height && typeof height === "number") {
|
|
1863
|
-
newUrl.searchParams.append("height", (height * multipliedScale).toString());
|
|
1976
|
+
function useProduct() {
|
|
1977
|
+
const context = React.useContext(ProductOptionsContext);
|
|
1978
|
+
if (!context) {
|
|
1979
|
+
throw new Error(`'useProduct' must be a child of <ProductProvider />`);
|
|
1864
1980
|
}
|
|
1865
|
-
|
|
1866
|
-
return newUrl.toString();
|
|
1981
|
+
return context;
|
|
1867
1982
|
}
|
|
1868
|
-
function
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
);
|
|
1873
|
-
if (!isShopifyServedImage || !params.width && !params.height && !params.crop && !params.scale) {
|
|
1874
|
-
return params.src;
|
|
1983
|
+
function getSelectedVariant(variants, choices) {
|
|
1984
|
+
var _a, _b;
|
|
1985
|
+
if (!variants.length || ((_b = (_a = variants == null ? void 0 : variants[0]) == null ? void 0 : _a.selectedOptions) == null ? void 0 : _b.length) !== Object.keys(choices).length) {
|
|
1986
|
+
return;
|
|
1875
1987
|
}
|
|
1876
|
-
return
|
|
1988
|
+
return variants == null ? void 0 : variants.find((variant) => {
|
|
1989
|
+
return Object.entries(choices).every(([name, value]) => {
|
|
1990
|
+
var _a2;
|
|
1991
|
+
return (_a2 = variant == null ? void 0 : variant.selectedOptions) == null ? void 0 : _a2.some((option) => (option == null ? void 0 : option.name) === name && (option == null ? void 0 : option.value) === value);
|
|
1992
|
+
});
|
|
1993
|
+
});
|
|
1877
1994
|
}
|
|
1878
|
-
function
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1995
|
+
function getOptions(variants) {
|
|
1996
|
+
const map = variants.reduce((memo, variant) => {
|
|
1997
|
+
var _a;
|
|
1998
|
+
if (!variant.selectedOptions) {
|
|
1999
|
+
throw new Error(`'getOptions' requires 'variant.selectedOptions'`);
|
|
2000
|
+
}
|
|
2001
|
+
(_a = variant == null ? void 0 : variant.selectedOptions) == null ? void 0 : _a.forEach((opt) => {
|
|
2002
|
+
var _a2, _b, _c, _d;
|
|
2003
|
+
memo[(_a2 = opt == null ? void 0 : opt.name) != null ? _a2 : ""] = memo[(_b = opt == null ? void 0 : opt.name) != null ? _b : ""] || /* @__PURE__ */ new Set();
|
|
2004
|
+
memo[(_c = opt == null ? void 0 : opt.name) != null ? _c : ""].add((_d = opt == null ? void 0 : opt.value) != null ? _d : "");
|
|
2005
|
+
});
|
|
2006
|
+
return memo;
|
|
2007
|
+
}, {});
|
|
2008
|
+
return Object.keys(map).map((option) => {
|
|
2009
|
+
return {
|
|
2010
|
+
name: option,
|
|
2011
|
+
values: Array.from(map[option])
|
|
2012
|
+
};
|
|
2013
|
+
});
|
|
2014
|
+
}
|
|
2015
|
+
function getVariantBasedOnIdProp(explicitVariantId, variants) {
|
|
2016
|
+
if (explicitVariantId) {
|
|
2017
|
+
const foundVariant = variants.find((variant) => (variant == null ? void 0 : variant.id) === explicitVariantId);
|
|
2018
|
+
if (!foundVariant) {
|
|
2019
|
+
console.warn(`<ProductProvider/> received a 'initialVariantId' prop, but could not actually find a variant with that ID`);
|
|
2020
|
+
}
|
|
2021
|
+
return foundVariant;
|
|
2022
|
+
}
|
|
2023
|
+
if (explicitVariantId === null) {
|
|
2024
|
+
return null;
|
|
2025
|
+
}
|
|
2026
|
+
if (explicitVariantId === void 0) {
|
|
2027
|
+
return variants.find((variant) => variant == null ? void 0 : variant.availableForSale) || variants[0];
|
|
2028
|
+
}
|
|
2029
|
+
}
|
|
2030
|
+
function getSelectedOptions(selectedVariant) {
|
|
2031
|
+
return (selectedVariant == null ? void 0 : selectedVariant.selectedOptions) ? selectedVariant.selectedOptions.reduce((memo, optionSet) => {
|
|
2032
|
+
var _a, _b;
|
|
2033
|
+
memo[(_a = optionSet == null ? void 0 : optionSet.name) != null ? _a : ""] = (_b = optionSet == null ? void 0 : optionSet.value) != null ? _b : "";
|
|
2034
|
+
return memo;
|
|
2035
|
+
}, {}) : {};
|
|
2036
|
+
}
|
|
2037
|
+
function isProductVariantArray(maybeVariantArray) {
|
|
2038
|
+
if (!maybeVariantArray || !Array.isArray(maybeVariantArray)) {
|
|
2039
|
+
return false;
|
|
2040
|
+
}
|
|
2041
|
+
return true;
|
|
2042
|
+
}
|
|
2043
|
+
var _jsxFileName$c = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/BaseButton.tsx";
|
|
2044
|
+
function BaseButton(props) {
|
|
2045
|
+
const {
|
|
2046
|
+
as,
|
|
2047
|
+
onClick,
|
|
2048
|
+
defaultOnClick,
|
|
2049
|
+
children,
|
|
2050
|
+
buttonRef,
|
|
2051
|
+
...passthroughProps
|
|
2052
|
+
} = props;
|
|
2053
|
+
const handleOnClick = React.useCallback((event) => {
|
|
2054
|
+
if (onClick) {
|
|
2055
|
+
const clickShouldContinue = onClick(event);
|
|
2056
|
+
if (typeof clickShouldContinue === "boolean" && clickShouldContinue === false || (event == null ? void 0 : event.defaultPrevented))
|
|
2057
|
+
return;
|
|
2058
|
+
}
|
|
2059
|
+
defaultOnClick == null ? void 0 : defaultOnClick(event);
|
|
2060
|
+
}, [defaultOnClick, onClick]);
|
|
2061
|
+
const Component = as || "button";
|
|
2062
|
+
return /* @__PURE__ */ React__default.default.createElement(Component, {
|
|
2063
|
+
ref: buttonRef,
|
|
2064
|
+
onClick: handleOnClick,
|
|
2065
|
+
...passthroughProps,
|
|
2066
|
+
__self: this,
|
|
2067
|
+
__source: {
|
|
2068
|
+
fileName: _jsxFileName$c,
|
|
2069
|
+
lineNumber: 59,
|
|
2070
|
+
columnNumber: 5
|
|
2071
|
+
}
|
|
2072
|
+
}, children);
|
|
2073
|
+
}
|
|
2074
|
+
var _jsxFileName$b = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/AddToCartButton.tsx";
|
|
2075
|
+
function AddToCartButton(props) {
|
|
2076
|
+
var _a;
|
|
2077
|
+
const [addingItem, setAddingItem] = React.useState(false);
|
|
2078
|
+
const {
|
|
2079
|
+
variantId: explicitVariantId,
|
|
2080
|
+
quantity = 1,
|
|
2081
|
+
attributes,
|
|
2082
|
+
sellingPlanId,
|
|
2083
|
+
onClick,
|
|
2084
|
+
children,
|
|
2085
|
+
accessibleAddingToCartLabel,
|
|
2086
|
+
...passthroughProps
|
|
2087
|
+
} = props;
|
|
2088
|
+
const {
|
|
2089
|
+
status,
|
|
2090
|
+
linesAdd
|
|
2091
|
+
} = useCart();
|
|
2092
|
+
const {
|
|
2093
|
+
selectedVariant
|
|
2094
|
+
} = useProduct();
|
|
2095
|
+
const variantId = (_a = explicitVariantId != null ? explicitVariantId : selectedVariant == null ? void 0 : selectedVariant.id) != null ? _a : "";
|
|
2096
|
+
const disabled = explicitVariantId === null || variantId === "" || selectedVariant === null || addingItem || passthroughProps.disabled;
|
|
2097
|
+
React.useEffect(() => {
|
|
2098
|
+
if (addingItem && status === "idle") {
|
|
2099
|
+
setAddingItem(false);
|
|
2100
|
+
}
|
|
2101
|
+
}, [status, addingItem]);
|
|
2102
|
+
const handleAddItem = React.useCallback(() => {
|
|
2103
|
+
setAddingItem(true);
|
|
2104
|
+
linesAdd([{
|
|
2105
|
+
quantity,
|
|
2106
|
+
merchandiseId: variantId || "",
|
|
2107
|
+
attributes,
|
|
2108
|
+
sellingPlanId
|
|
2109
|
+
}]);
|
|
2110
|
+
}, [linesAdd, quantity, variantId, attributes, sellingPlanId]);
|
|
2111
|
+
return /* @__PURE__ */ React__default.default.createElement(React__default.default.Fragment, null, /* @__PURE__ */ React__default.default.createElement(BaseButton, {
|
|
2112
|
+
...passthroughProps,
|
|
2113
|
+
disabled,
|
|
2114
|
+
onClick,
|
|
2115
|
+
defaultOnClick: handleAddItem,
|
|
2116
|
+
__self: this,
|
|
2117
|
+
__source: {
|
|
2118
|
+
fileName: _jsxFileName$b,
|
|
2119
|
+
lineNumber: 71,
|
|
2120
|
+
columnNumber: 7
|
|
2121
|
+
}
|
|
2122
|
+
}, children), accessibleAddingToCartLabel ? /* @__PURE__ */ React__default.default.createElement("p", {
|
|
2123
|
+
style: {
|
|
2124
|
+
position: "absolute",
|
|
2125
|
+
width: "1px",
|
|
2126
|
+
height: "1px",
|
|
2127
|
+
padding: "0",
|
|
2128
|
+
margin: "-1px",
|
|
2129
|
+
overflow: "hidden",
|
|
2130
|
+
clip: "rect(0, 0, 0, 0)",
|
|
2131
|
+
whiteSpace: "nowrap",
|
|
2132
|
+
borderWidth: "0"
|
|
2133
|
+
},
|
|
2134
|
+
role: "alert",
|
|
2135
|
+
"aria-live": "assertive",
|
|
2136
|
+
__self: this,
|
|
2137
|
+
__source: {
|
|
2138
|
+
fileName: _jsxFileName$b,
|
|
2139
|
+
lineNumber: 80,
|
|
2140
|
+
columnNumber: 9
|
|
2141
|
+
}
|
|
2142
|
+
}, addingItem ? accessibleAddingToCartLabel : null) : null);
|
|
2143
|
+
}
|
|
2144
|
+
var _jsxFileName$a = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/BuyNowButton.tsx";
|
|
2145
|
+
function BuyNowButton(props) {
|
|
2146
|
+
const {
|
|
2147
|
+
cartCreate,
|
|
2148
|
+
checkoutUrl
|
|
2149
|
+
} = useCart();
|
|
2150
|
+
const [loading, setLoading] = React.useState(false);
|
|
2151
|
+
const {
|
|
2152
|
+
quantity,
|
|
2153
|
+
variantId,
|
|
2154
|
+
onClick,
|
|
2155
|
+
attributes,
|
|
2156
|
+
children,
|
|
2157
|
+
...passthroughProps
|
|
2158
|
+
} = props;
|
|
2159
|
+
React.useEffect(() => {
|
|
2160
|
+
if (checkoutUrl) {
|
|
2161
|
+
window.location.href = checkoutUrl;
|
|
2162
|
+
}
|
|
2163
|
+
}, [checkoutUrl]);
|
|
2164
|
+
const handleBuyNow = React.useCallback(() => {
|
|
2165
|
+
setLoading(true);
|
|
2166
|
+
cartCreate({
|
|
2167
|
+
lines: [{
|
|
2168
|
+
quantity: quantity != null ? quantity : 1,
|
|
2169
|
+
merchandiseId: variantId,
|
|
2170
|
+
attributes
|
|
2171
|
+
}]
|
|
2172
|
+
});
|
|
2173
|
+
}, [cartCreate, quantity, variantId, attributes]);
|
|
2174
|
+
return /* @__PURE__ */ React__default.default.createElement(BaseButton, {
|
|
2175
|
+
disabled: loading != null ? loading : passthroughProps.disabled,
|
|
2176
|
+
...passthroughProps,
|
|
2177
|
+
onClick,
|
|
2178
|
+
defaultOnClick: handleBuyNow,
|
|
2179
|
+
__self: this,
|
|
2180
|
+
__source: {
|
|
2181
|
+
fileName: _jsxFileName$a,
|
|
2182
|
+
lineNumber: 53,
|
|
2183
|
+
columnNumber: 5
|
|
2184
|
+
}
|
|
2185
|
+
}, children);
|
|
2186
|
+
}
|
|
2187
|
+
var _jsxFileName$9 = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/CartCheckoutButton.tsx";
|
|
2188
|
+
function CartCheckoutButton(props) {
|
|
2189
|
+
const [requestedCheckout, setRequestedCheckout] = React.useState(false);
|
|
2190
|
+
const {
|
|
2191
|
+
status,
|
|
2192
|
+
checkoutUrl
|
|
2193
|
+
} = useCart();
|
|
2194
|
+
const {
|
|
2195
|
+
children,
|
|
2196
|
+
...passthroughProps
|
|
2197
|
+
} = props;
|
|
2198
|
+
React.useEffect(() => {
|
|
2199
|
+
if (requestedCheckout && checkoutUrl && status === "idle") {
|
|
2200
|
+
window.location.href = checkoutUrl;
|
|
2201
|
+
}
|
|
2202
|
+
}, [requestedCheckout, status, checkoutUrl]);
|
|
2203
|
+
return /* @__PURE__ */ React__default.default.createElement(BaseButton, {
|
|
2204
|
+
...passthroughProps,
|
|
2205
|
+
disabled: requestedCheckout || passthroughProps.disabled,
|
|
2206
|
+
onClick: () => setRequestedCheckout(true),
|
|
2207
|
+
__self: this,
|
|
2208
|
+
__source: {
|
|
2209
|
+
fileName: _jsxFileName$9,
|
|
2210
|
+
lineNumber: 28,
|
|
2211
|
+
columnNumber: 5
|
|
2212
|
+
}
|
|
2213
|
+
}, children);
|
|
2214
|
+
}
|
|
2215
|
+
const storefrontApiCustomScalars = {
|
|
2216
|
+
DateTime: "string",
|
|
2217
|
+
Decimal: "string",
|
|
2218
|
+
HTML: "string",
|
|
2219
|
+
URL: "string",
|
|
2220
|
+
Color: "string",
|
|
2221
|
+
UnsignedInt64: "string"
|
|
2222
|
+
};
|
|
2223
|
+
var _jsxFileName$8 = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ExternalVideo.tsx";
|
|
2224
|
+
function ExternalVideo(props) {
|
|
2225
|
+
var _a, _b;
|
|
2226
|
+
const {
|
|
2227
|
+
data,
|
|
2228
|
+
options,
|
|
2229
|
+
id = data.id,
|
|
2230
|
+
frameBorder = "0",
|
|
2231
|
+
allow = "accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",
|
|
2232
|
+
allowFullScreen = true,
|
|
2233
|
+
loading = "lazy",
|
|
2234
|
+
...passthroughProps
|
|
2235
|
+
} = props;
|
|
2236
|
+
if (!data.embedUrl) {
|
|
2237
|
+
throw new Error(`<ExternalVideo/> requires the 'embedUrl' property`);
|
|
2238
|
+
}
|
|
2239
|
+
let finalUrl = data.embedUrl;
|
|
2240
|
+
if (options) {
|
|
2241
|
+
const urlObject = new URL(data.embedUrl);
|
|
2242
|
+
for (const key of Object.keys(options)) {
|
|
2243
|
+
urlObject.searchParams.set(key, options[key]);
|
|
2244
|
+
}
|
|
2245
|
+
finalUrl = urlObject.toString();
|
|
2246
|
+
}
|
|
2247
|
+
return /* @__PURE__ */ React__default.default.createElement("iframe", {
|
|
2248
|
+
...passthroughProps,
|
|
2249
|
+
id: id != null ? id : data.embedUrl,
|
|
2250
|
+
title: (_b = (_a = data.alt) != null ? _a : data.id) != null ? _b : "external video",
|
|
2251
|
+
frameBorder,
|
|
2252
|
+
allow,
|
|
2253
|
+
allowFullScreen,
|
|
2254
|
+
src: finalUrl,
|
|
2255
|
+
loading,
|
|
2256
|
+
__self: this,
|
|
2257
|
+
__source: {
|
|
2258
|
+
fileName: _jsxFileName$8,
|
|
2259
|
+
lineNumber: 56,
|
|
2260
|
+
columnNumber: 5
|
|
2261
|
+
}
|
|
2262
|
+
});
|
|
2263
|
+
}
|
|
2264
|
+
const PRODUCTION_CDN_HOSTNAMES = [
|
|
2265
|
+
"cdn.shopify.com",
|
|
2266
|
+
"cdn.shopifycdn.net",
|
|
2267
|
+
"shopify-assets.shopifycdn.com",
|
|
2268
|
+
"shopify-assets.shopifycdn.net"
|
|
2269
|
+
];
|
|
2270
|
+
const LOCAL_CDN_HOSTNAMES = ["spin.dev"];
|
|
2271
|
+
const ALL_CDN_HOSTNAMES = [...PRODUCTION_CDN_HOSTNAMES, ...LOCAL_CDN_HOSTNAMES];
|
|
2272
|
+
const IMG_SRC_SET_SIZES = [352, 832, 1200, 1920, 2560];
|
|
2273
|
+
function addImageSizeParametersToUrl({
|
|
2274
|
+
src,
|
|
2275
|
+
width,
|
|
2276
|
+
height,
|
|
2277
|
+
crop,
|
|
2278
|
+
scale
|
|
2279
|
+
}) {
|
|
2280
|
+
const newUrl = new URL(src);
|
|
2281
|
+
const multipliedScale = scale != null ? scale : 1;
|
|
2282
|
+
if (width) {
|
|
2283
|
+
let finalWidth;
|
|
2284
|
+
if (typeof width === "string") {
|
|
2285
|
+
finalWidth = (IMG_SRC_SET_SIZES[0] * multipliedScale).toString();
|
|
2286
|
+
} else {
|
|
2287
|
+
finalWidth = (Number(width) * multipliedScale).toString();
|
|
2288
|
+
}
|
|
2289
|
+
newUrl.searchParams.append("width", finalWidth);
|
|
2290
|
+
}
|
|
2291
|
+
if (height && typeof height === "number") {
|
|
2292
|
+
newUrl.searchParams.append("height", (height * multipliedScale).toString());
|
|
2293
|
+
}
|
|
2294
|
+
crop && newUrl.searchParams.append("crop", crop);
|
|
2295
|
+
return newUrl.toString();
|
|
2296
|
+
}
|
|
2297
|
+
function shopifyImageLoader(params) {
|
|
2298
|
+
const newSrc = new URL(params.src);
|
|
2299
|
+
const isShopifyServedImage = ALL_CDN_HOSTNAMES.some(
|
|
2300
|
+
(allowedHostname) => newSrc.hostname.endsWith(allowedHostname)
|
|
2301
|
+
);
|
|
2302
|
+
if (!isShopifyServedImage || !params.width && !params.height && !params.crop && !params.scale) {
|
|
2303
|
+
return params.src;
|
|
2304
|
+
}
|
|
2305
|
+
return addImageSizeParametersToUrl(params);
|
|
2306
|
+
}
|
|
2307
|
+
function getShopifyImageDimensions({
|
|
2308
|
+
data: sfapiImage,
|
|
2309
|
+
loaderOptions,
|
|
2310
|
+
elementProps
|
|
2311
|
+
}) {
|
|
2312
|
+
var _a, _b, _c, _d, _e, _f;
|
|
2313
|
+
let aspectRatio = null;
|
|
2314
|
+
if ((sfapiImage == null ? void 0 : sfapiImage.width) && (sfapiImage == null ? void 0 : sfapiImage.height)) {
|
|
2315
|
+
aspectRatio = (sfapiImage == null ? void 0 : sfapiImage.width) / (sfapiImage == null ? void 0 : sfapiImage.height);
|
|
2316
|
+
}
|
|
2317
|
+
if ((loaderOptions == null ? void 0 : loaderOptions.width) || (loaderOptions == null ? void 0 : loaderOptions.height)) {
|
|
1889
2318
|
return {
|
|
1890
2319
|
width: (_a = loaderOptions == null ? void 0 : loaderOptions.width) != null ? _a : aspectRatio && typeof loaderOptions.height === "number" ? Math.round(aspectRatio * loaderOptions.height) : null,
|
|
1891
2320
|
height: (_b = loaderOptions == null ? void 0 : loaderOptions.height) != null ? _b : aspectRatio && typeof loaderOptions.width === "number" ? Math.round(aspectRatio * loaderOptions.width) : null
|
|
@@ -1905,7 +2334,7 @@ fragment ImageFragment on Image {
|
|
|
1905
2334
|
}
|
|
1906
2335
|
return { width: null, height: null };
|
|
1907
2336
|
}
|
|
1908
|
-
var _jsxFileName$
|
|
2337
|
+
var _jsxFileName$7 = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/Image.tsx";
|
|
1909
2338
|
function Image({
|
|
1910
2339
|
data,
|
|
1911
2340
|
width,
|
|
@@ -1974,7 +2403,7 @@ fragment ImageFragment on Image {
|
|
|
1974
2403
|
decoding,
|
|
1975
2404
|
__self: this,
|
|
1976
2405
|
__source: {
|
|
1977
|
-
fileName: _jsxFileName$
|
|
2406
|
+
fileName: _jsxFileName$7,
|
|
1978
2407
|
lineNumber: 150,
|
|
1979
2408
|
columnNumber: 5
|
|
1980
2409
|
}
|
|
@@ -2010,7 +2439,7 @@ fragment ImageFragment on Image {
|
|
|
2010
2439
|
scale
|
|
2011
2440
|
})} ${size}w`).join(", ");
|
|
2012
2441
|
}
|
|
2013
|
-
var _jsxFileName$
|
|
2442
|
+
var _jsxFileName$6 = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/Video.tsx";
|
|
2014
2443
|
function Video(props) {
|
|
2015
2444
|
var _a, _b;
|
|
2016
2445
|
const {
|
|
@@ -2037,7 +2466,7 @@ fragment ImageFragment on Image {
|
|
|
2037
2466
|
poster: posterUrl,
|
|
2038
2467
|
__self: this,
|
|
2039
2468
|
__source: {
|
|
2040
|
-
fileName: _jsxFileName$
|
|
2469
|
+
fileName: _jsxFileName$6,
|
|
2041
2470
|
lineNumber: 42,
|
|
2042
2471
|
columnNumber: 5
|
|
2043
2472
|
}
|
|
@@ -2052,7 +2481,7 @@ fragment ImageFragment on Image {
|
|
|
2052
2481
|
type: source.mimeType,
|
|
2053
2482
|
__self: this,
|
|
2054
2483
|
__source: {
|
|
2055
|
-
fileName: _jsxFileName$
|
|
2484
|
+
fileName: _jsxFileName$6,
|
|
2056
2485
|
lineNumber: 54,
|
|
2057
2486
|
columnNumber: 11
|
|
2058
2487
|
}
|
|
@@ -2105,7 +2534,7 @@ fragment ImageFragment on Image {
|
|
|
2105
2534
|
}, [url, stringifiedOptions, options]);
|
|
2106
2535
|
return status;
|
|
2107
2536
|
}
|
|
2108
|
-
var _jsxFileName$
|
|
2537
|
+
var _jsxFileName$5 = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ModelViewer.tsx";
|
|
2109
2538
|
function ModelViewer(props) {
|
|
2110
2539
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
|
|
2111
2540
|
const [modelViewer, setModelViewer] = React.useState(void 0);
|
|
@@ -2243,13 +2672,13 @@ fragment ImageFragment on Image {
|
|
|
2243
2672
|
scale: passthroughProps.scale,
|
|
2244
2673
|
__self: this,
|
|
2245
2674
|
__source: {
|
|
2246
|
-
fileName: _jsxFileName$
|
|
2675
|
+
fileName: _jsxFileName$5,
|
|
2247
2676
|
lineNumber: 222,
|
|
2248
2677
|
columnNumber: 5
|
|
2249
2678
|
}
|
|
2250
2679
|
}, children);
|
|
2251
2680
|
}
|
|
2252
|
-
var _jsxFileName$
|
|
2681
|
+
var _jsxFileName$4 = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/MediaFile.tsx";
|
|
2253
2682
|
function MediaFile({
|
|
2254
2683
|
data,
|
|
2255
2684
|
mediaOptions,
|
|
@@ -2269,8 +2698,8 @@ fragment ImageFragment on Image {
|
|
|
2269
2698
|
data: data.image,
|
|
2270
2699
|
__self: this,
|
|
2271
2700
|
__source: {
|
|
2272
|
-
fileName: _jsxFileName$
|
|
2273
|
-
lineNumber:
|
|
2701
|
+
fileName: _jsxFileName$4,
|
|
2702
|
+
lineNumber: 54,
|
|
2274
2703
|
columnNumber: 9
|
|
2275
2704
|
}
|
|
2276
2705
|
});
|
|
@@ -2282,8 +2711,8 @@ fragment ImageFragment on Image {
|
|
|
2282
2711
|
data,
|
|
2283
2712
|
__self: this,
|
|
2284
2713
|
__source: {
|
|
2285
|
-
fileName: _jsxFileName$
|
|
2286
|
-
lineNumber:
|
|
2714
|
+
fileName: _jsxFileName$4,
|
|
2715
|
+
lineNumber: 63,
|
|
2287
2716
|
columnNumber: 9
|
|
2288
2717
|
}
|
|
2289
2718
|
});
|
|
@@ -2295,8 +2724,8 @@ fragment ImageFragment on Image {
|
|
|
2295
2724
|
data,
|
|
2296
2725
|
__self: this,
|
|
2297
2726
|
__source: {
|
|
2298
|
-
fileName: _jsxFileName$
|
|
2299
|
-
lineNumber:
|
|
2727
|
+
fileName: _jsxFileName$4,
|
|
2728
|
+
lineNumber: 68,
|
|
2300
2729
|
columnNumber: 9
|
|
2301
2730
|
}
|
|
2302
2731
|
});
|
|
@@ -2308,8 +2737,8 @@ fragment ImageFragment on Image {
|
|
|
2308
2737
|
data,
|
|
2309
2738
|
__self: this,
|
|
2310
2739
|
__source: {
|
|
2311
|
-
fileName: _jsxFileName$
|
|
2312
|
-
lineNumber:
|
|
2740
|
+
fileName: _jsxFileName$4,
|
|
2741
|
+
lineNumber: 78,
|
|
2313
2742
|
columnNumber: 9
|
|
2314
2743
|
}
|
|
2315
2744
|
});
|
|
@@ -2322,7 +2751,7 @@ fragment ImageFragment on Image {
|
|
|
2322
2751
|
}
|
|
2323
2752
|
}
|
|
2324
2753
|
}
|
|
2325
|
-
var _jsxFileName$
|
|
2754
|
+
var _jsxFileName$3 = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/Metafield.tsx";
|
|
2326
2755
|
function Metafield(props) {
|
|
2327
2756
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i;
|
|
2328
2757
|
const {
|
|
@@ -2353,7 +2782,7 @@ fragment ImageFragment on Image {
|
|
|
2353
2782
|
...passthroughProps,
|
|
2354
2783
|
__self: this,
|
|
2355
2784
|
__source: {
|
|
2356
|
-
fileName: _jsxFileName$
|
|
2785
|
+
fileName: _jsxFileName$3,
|
|
2357
2786
|
lineNumber: 68,
|
|
2358
2787
|
columnNumber: 9
|
|
2359
2788
|
}
|
|
@@ -2365,7 +2794,7 @@ fragment ImageFragment on Image {
|
|
|
2365
2794
|
...passthroughProps,
|
|
2366
2795
|
__self: this,
|
|
2367
2796
|
__source: {
|
|
2368
|
-
fileName: _jsxFileName$
|
|
2797
|
+
fileName: _jsxFileName$3,
|
|
2369
2798
|
lineNumber: 76,
|
|
2370
2799
|
columnNumber: 9
|
|
2371
2800
|
}
|
|
@@ -2379,7 +2808,7 @@ fragment ImageFragment on Image {
|
|
|
2379
2808
|
...passthroughProps,
|
|
2380
2809
|
__self: this,
|
|
2381
2810
|
__source: {
|
|
2382
|
-
fileName: _jsxFileName$
|
|
2811
|
+
fileName: _jsxFileName$3,
|
|
2383
2812
|
lineNumber: 86,
|
|
2384
2813
|
columnNumber: 9
|
|
2385
2814
|
}
|
|
@@ -2391,7 +2820,7 @@ fragment ImageFragment on Image {
|
|
|
2391
2820
|
...passthroughProps,
|
|
2392
2821
|
__self: this,
|
|
2393
2822
|
__source: {
|
|
2394
|
-
fileName: _jsxFileName$
|
|
2823
|
+
fileName: _jsxFileName$3,
|
|
2395
2824
|
lineNumber: 94,
|
|
2396
2825
|
columnNumber: 9
|
|
2397
2826
|
}
|
|
@@ -2406,7 +2835,7 @@ fragment ImageFragment on Image {
|
|
|
2406
2835
|
},
|
|
2407
2836
|
__self: this,
|
|
2408
2837
|
__source: {
|
|
2409
|
-
fileName: _jsxFileName$
|
|
2838
|
+
fileName: _jsxFileName$3,
|
|
2410
2839
|
lineNumber: 102,
|
|
2411
2840
|
columnNumber: 9
|
|
2412
2841
|
}
|
|
@@ -2421,7 +2850,7 @@ fragment ImageFragment on Image {
|
|
|
2421
2850
|
},
|
|
2422
2851
|
__self: this,
|
|
2423
2852
|
__source: {
|
|
2424
|
-
fileName: _jsxFileName$
|
|
2853
|
+
fileName: _jsxFileName$3,
|
|
2425
2854
|
lineNumber: 111,
|
|
2426
2855
|
columnNumber: 9
|
|
2427
2856
|
}
|
|
@@ -2434,7 +2863,7 @@ fragment ImageFragment on Image {
|
|
|
2434
2863
|
...passthroughProps,
|
|
2435
2864
|
__self: this,
|
|
2436
2865
|
__source: {
|
|
2437
|
-
fileName: _jsxFileName$
|
|
2866
|
+
fileName: _jsxFileName$3,
|
|
2438
2867
|
lineNumber: 122,
|
|
2439
2868
|
columnNumber: 9
|
|
2440
2869
|
}
|
|
@@ -2446,7 +2875,7 @@ fragment ImageFragment on Image {
|
|
|
2446
2875
|
...passthroughProps,
|
|
2447
2876
|
__self: this,
|
|
2448
2877
|
__source: {
|
|
2449
|
-
fileName: _jsxFileName$
|
|
2878
|
+
fileName: _jsxFileName$3,
|
|
2450
2879
|
lineNumber: 133,
|
|
2451
2880
|
columnNumber: 9
|
|
2452
2881
|
}
|
|
@@ -2461,7 +2890,7 @@ fragment ImageFragment on Image {
|
|
|
2461
2890
|
...passthroughProps,
|
|
2462
2891
|
__self: this,
|
|
2463
2892
|
__source: {
|
|
2464
|
-
fileName: _jsxFileName$
|
|
2893
|
+
fileName: _jsxFileName$3,
|
|
2465
2894
|
lineNumber: 144,
|
|
2466
2895
|
columnNumber: 9
|
|
2467
2896
|
}
|
|
@@ -2474,7 +2903,7 @@ fragment ImageFragment on Image {
|
|
|
2474
2903
|
...passthroughProps,
|
|
2475
2904
|
__self: this,
|
|
2476
2905
|
__source: {
|
|
2477
|
-
fileName: _jsxFileName$
|
|
2906
|
+
fileName: _jsxFileName$3,
|
|
2478
2907
|
lineNumber: 154,
|
|
2479
2908
|
columnNumber: 9
|
|
2480
2909
|
}
|
|
@@ -2482,7 +2911,7 @@ fragment ImageFragment on Image {
|
|
|
2482
2911
|
key: `${ref != null ? ref : ""}-${index2}`,
|
|
2483
2912
|
__self: this,
|
|
2484
2913
|
__source: {
|
|
2485
|
-
fileName: _jsxFileName$
|
|
2914
|
+
fileName: _jsxFileName$3,
|
|
2486
2915
|
lineNumber: 158,
|
|
2487
2916
|
columnNumber: 13
|
|
2488
2917
|
}
|
|
@@ -2496,7 +2925,7 @@ fragment ImageFragment on Image {
|
|
|
2496
2925
|
...passthroughProps,
|
|
2497
2926
|
__self: this,
|
|
2498
2927
|
__source: {
|
|
2499
|
-
fileName: _jsxFileName$
|
|
2928
|
+
fileName: _jsxFileName$3,
|
|
2500
2929
|
lineNumber: 167,
|
|
2501
2930
|
columnNumber: 11
|
|
2502
2931
|
}
|
|
@@ -2508,7 +2937,7 @@ fragment ImageFragment on Image {
|
|
|
2508
2937
|
...passthroughProps,
|
|
2509
2938
|
__self: this,
|
|
2510
2939
|
__source: {
|
|
2511
|
-
fileName: _jsxFileName$
|
|
2940
|
+
fileName: _jsxFileName$3,
|
|
2512
2941
|
lineNumber: 172,
|
|
2513
2942
|
columnNumber: 11
|
|
2514
2943
|
}
|
|
@@ -2516,7 +2945,7 @@ fragment ImageFragment on Image {
|
|
|
2516
2945
|
data: ref.previewImage,
|
|
2517
2946
|
__self: this,
|
|
2518
2947
|
__source: {
|
|
2519
|
-
fileName: _jsxFileName$
|
|
2948
|
+
fileName: _jsxFileName$3,
|
|
2520
2949
|
lineNumber: 173,
|
|
2521
2950
|
columnNumber: 13
|
|
2522
2951
|
}
|
|
@@ -2528,7 +2957,7 @@ fragment ImageFragment on Image {
|
|
|
2528
2957
|
data: ref,
|
|
2529
2958
|
__self: this,
|
|
2530
2959
|
__source: {
|
|
2531
|
-
fileName: _jsxFileName$
|
|
2960
|
+
fileName: _jsxFileName$3,
|
|
2532
2961
|
lineNumber: 178,
|
|
2533
2962
|
columnNumber: 16
|
|
2534
2963
|
}
|
|
@@ -2541,13 +2970,16 @@ fragment ImageFragment on Image {
|
|
|
2541
2970
|
...passthroughProps,
|
|
2542
2971
|
__self: this,
|
|
2543
2972
|
__source: {
|
|
2544
|
-
fileName: _jsxFileName$
|
|
2973
|
+
fileName: _jsxFileName$3,
|
|
2545
2974
|
lineNumber: 185,
|
|
2546
2975
|
columnNumber: 5
|
|
2547
2976
|
}
|
|
2548
2977
|
}, (_i = parsedMetafield.value) == null ? void 0 : _i.toString());
|
|
2549
2978
|
}
|
|
2550
2979
|
function parseMetafield(metafield) {
|
|
2980
|
+
{
|
|
2981
|
+
console.info(`'parseMetafield()' will have a breaking change in a future version; its behavior will match that of 'metafieldParser()'`);
|
|
2982
|
+
}
|
|
2551
2983
|
if (!metafield) {
|
|
2552
2984
|
{
|
|
2553
2985
|
console.warn(`'parseMetafield' was not passed any value for the 'metafield' argument`);
|
|
@@ -2563,6 +2995,9 @@ fragment ImageFragment on Image {
|
|
|
2563
2995
|
};
|
|
2564
2996
|
}
|
|
2565
2997
|
function parseMetafieldValue(metafield) {
|
|
2998
|
+
{
|
|
2999
|
+
console.info(`'parseMetafieldValue()' will be removed in a future version`);
|
|
3000
|
+
}
|
|
2566
3001
|
if (!metafield) {
|
|
2567
3002
|
return null;
|
|
2568
3003
|
}
|
|
@@ -2690,6 +3125,103 @@ fragment ImageFragment on Image {
|
|
|
2690
3125
|
throw new Error(`Unit not supported: ${unit}`);
|
|
2691
3126
|
}
|
|
2692
3127
|
}
|
|
3128
|
+
function metafieldParser(metafield) {
|
|
3129
|
+
var _a, _b, _c, _d;
|
|
3130
|
+
if (!metafield.type) {
|
|
3131
|
+
const noTypeError = `metafieldParser(): The 'type' field is required in order to parse the Metafield.`;
|
|
3132
|
+
{
|
|
3133
|
+
throw new Error(noTypeError);
|
|
3134
|
+
}
|
|
3135
|
+
}
|
|
3136
|
+
switch (metafield.type) {
|
|
3137
|
+
case "boolean":
|
|
3138
|
+
return {
|
|
3139
|
+
...metafield,
|
|
3140
|
+
parsedValue: metafield.value === "true"
|
|
3141
|
+
};
|
|
3142
|
+
case "collection_reference":
|
|
3143
|
+
case "file_reference":
|
|
3144
|
+
case "page_reference":
|
|
3145
|
+
case "product_reference":
|
|
3146
|
+
case "variant_reference":
|
|
3147
|
+
return {
|
|
3148
|
+
...metafield,
|
|
3149
|
+
parsedValue: metafield.reference
|
|
3150
|
+
};
|
|
3151
|
+
case "color":
|
|
3152
|
+
case "multi_line_text_field":
|
|
3153
|
+
case "single_line_text_field":
|
|
3154
|
+
case "url":
|
|
3155
|
+
return {
|
|
3156
|
+
...metafield,
|
|
3157
|
+
parsedValue: metafield.value
|
|
3158
|
+
};
|
|
3159
|
+
case "dimension":
|
|
3160
|
+
case "money":
|
|
3161
|
+
case "json":
|
|
3162
|
+
case "rating":
|
|
3163
|
+
case "volume":
|
|
3164
|
+
case "weight":
|
|
3165
|
+
case "list.color":
|
|
3166
|
+
case "list.dimension":
|
|
3167
|
+
case "list.number_integer":
|
|
3168
|
+
case "list.number_decimal":
|
|
3169
|
+
case "list.rating":
|
|
3170
|
+
case "list.single_line_text_field":
|
|
3171
|
+
case "list.url":
|
|
3172
|
+
case "list.volume":
|
|
3173
|
+
case "list.weight": {
|
|
3174
|
+
let parsedValue = null;
|
|
3175
|
+
try {
|
|
3176
|
+
parsedValue = parseJSON((_a = metafield.value) != null ? _a : "");
|
|
3177
|
+
} catch (err) {
|
|
3178
|
+
const parseError = `metafieldParser(): attempted to JSON.parse the 'metafield.value' property, but failed.`;
|
|
3179
|
+
{
|
|
3180
|
+
throw new Error(parseError);
|
|
3181
|
+
}
|
|
3182
|
+
}
|
|
3183
|
+
return {
|
|
3184
|
+
...metafield,
|
|
3185
|
+
parsedValue
|
|
3186
|
+
};
|
|
3187
|
+
}
|
|
3188
|
+
case "date":
|
|
3189
|
+
case "date_time":
|
|
3190
|
+
return {
|
|
3191
|
+
...metafield,
|
|
3192
|
+
parsedValue: new Date((_b = metafield.value) != null ? _b : "")
|
|
3193
|
+
};
|
|
3194
|
+
case "list.date":
|
|
3195
|
+
case "list.date_time": {
|
|
3196
|
+
const jsonParseValue = parseJSON((_c = metafield == null ? void 0 : metafield.value) != null ? _c : "");
|
|
3197
|
+
return {
|
|
3198
|
+
...metafield,
|
|
3199
|
+
parsedValue: jsonParseValue.map((dateString) => new Date(dateString))
|
|
3200
|
+
};
|
|
3201
|
+
}
|
|
3202
|
+
case "number_decimal":
|
|
3203
|
+
case "number_integer":
|
|
3204
|
+
return {
|
|
3205
|
+
...metafield,
|
|
3206
|
+
parsedValue: Number(metafield.value)
|
|
3207
|
+
};
|
|
3208
|
+
case "list.collection_reference":
|
|
3209
|
+
case "list.file_reference":
|
|
3210
|
+
case "list.page_reference":
|
|
3211
|
+
case "list.product_reference":
|
|
3212
|
+
case "list.variant_reference":
|
|
3213
|
+
return {
|
|
3214
|
+
...metafield,
|
|
3215
|
+
parsedValue: flattenConnection((_d = metafield.references) != null ? _d : void 0)
|
|
3216
|
+
};
|
|
3217
|
+
default: {
|
|
3218
|
+
const typeNotFoundError = `metafieldParser(): the 'metafield.type' you passed in is not supported. Your type: "${metafield.type}". If you believe this is an error, please open an issue on GitHub.`;
|
|
3219
|
+
{
|
|
3220
|
+
throw new Error(typeNotFoundError);
|
|
3221
|
+
}
|
|
3222
|
+
}
|
|
3223
|
+
}
|
|
3224
|
+
}
|
|
2693
3225
|
function useMoney(money) {
|
|
2694
3226
|
const {
|
|
2695
3227
|
locale
|
|
@@ -2756,7 +3288,7 @@ fragment ImageFragment on Image {
|
|
|
2756
3288
|
return () => memoized != null ? memoized : memoized = new Intl.NumberFormat(locale, options);
|
|
2757
3289
|
}, [locale, options]);
|
|
2758
3290
|
}
|
|
2759
|
-
var _jsxFileName$
|
|
3291
|
+
var _jsxFileName$2 = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/Money.tsx";
|
|
2760
3292
|
function Money({
|
|
2761
3293
|
data,
|
|
2762
3294
|
as,
|
|
@@ -2785,7 +3317,7 @@ fragment ImageFragment on Image {
|
|
|
2785
3317
|
...passthroughProps,
|
|
2786
3318
|
__self: this,
|
|
2787
3319
|
__source: {
|
|
2788
|
-
fileName: _jsxFileName$
|
|
3320
|
+
fileName: _jsxFileName$2,
|
|
2789
3321
|
lineNumber: 65,
|
|
2790
3322
|
columnNumber: 5
|
|
2791
3323
|
}
|
|
@@ -2794,7 +3326,7 @@ fragment ImageFragment on Image {
|
|
|
2794
3326
|
function isMoney(maybeMoney) {
|
|
2795
3327
|
return typeof maybeMoney.amount === "string" && !!maybeMoney.amount && typeof maybeMoney.currencyCode === "string" && !!maybeMoney.currencyCode;
|
|
2796
3328
|
}
|
|
2797
|
-
var _jsxFileName$
|
|
3329
|
+
var _jsxFileName$1 = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ProductPrice.tsx";
|
|
2798
3330
|
function ProductPrice(props) {
|
|
2799
3331
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
2800
3332
|
const {
|
|
@@ -2844,7 +3376,7 @@ fragment ImageFragment on Image {
|
|
|
2844
3376
|
measurement,
|
|
2845
3377
|
__self: this,
|
|
2846
3378
|
__source: {
|
|
2847
|
-
fileName: _jsxFileName$
|
|
3379
|
+
fileName: _jsxFileName$1,
|
|
2848
3380
|
lineNumber: 81,
|
|
2849
3381
|
columnNumber: 7
|
|
2850
3382
|
}
|
|
@@ -2855,171 +3387,12 @@ fragment ImageFragment on Image {
|
|
|
2855
3387
|
data: price,
|
|
2856
3388
|
__self: this,
|
|
2857
3389
|
__source: {
|
|
2858
|
-
fileName: _jsxFileName$
|
|
3390
|
+
fileName: _jsxFileName$1,
|
|
2859
3391
|
lineNumber: 85,
|
|
2860
3392
|
columnNumber: 10
|
|
2861
3393
|
}
|
|
2862
3394
|
});
|
|
2863
3395
|
}
|
|
2864
|
-
var _jsxFileName$1 = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ProductProvider.tsx";
|
|
2865
|
-
const ProductOptionsContext = React.createContext(null);
|
|
2866
|
-
function ProductProvider({
|
|
2867
|
-
children,
|
|
2868
|
-
data: product,
|
|
2869
|
-
initialVariantId: explicitVariantId
|
|
2870
|
-
}) {
|
|
2871
|
-
const variants = React.useMemo(() => {
|
|
2872
|
-
var _a;
|
|
2873
|
-
return flattenConnection((_a = product.variants) != null ? _a : {});
|
|
2874
|
-
}, [product.variants]);
|
|
2875
|
-
if (!isProductVariantArray(variants)) {
|
|
2876
|
-
throw new Error(`<ProductProvider/> requires 'product.variants.nodes' or 'product.variants.edges'`);
|
|
2877
|
-
}
|
|
2878
|
-
const options = React.useMemo(() => getOptions(variants), [variants]);
|
|
2879
|
-
const [selectedVariant, setSelectedVariant] = React.useState(() => getVariantBasedOnIdProp(explicitVariantId, variants));
|
|
2880
|
-
const [selectedOptions, setSelectedOptions] = React.useState(() => getSelectedOptions(selectedVariant));
|
|
2881
|
-
React.useEffect(() => {
|
|
2882
|
-
const newSelectedVariant = getVariantBasedOnIdProp(explicitVariantId, variants);
|
|
2883
|
-
setSelectedVariant(newSelectedVariant);
|
|
2884
|
-
setSelectedOptions(getSelectedOptions(newSelectedVariant));
|
|
2885
|
-
}, [explicitVariantId, variants]);
|
|
2886
|
-
const setSelectedOption = React.useCallback((name, value2) => {
|
|
2887
|
-
setSelectedOptions((selectedOptions2) => {
|
|
2888
|
-
const opts = {
|
|
2889
|
-
...selectedOptions2,
|
|
2890
|
-
[name]: value2
|
|
2891
|
-
};
|
|
2892
|
-
setSelectedVariant(getSelectedVariant(variants, opts));
|
|
2893
|
-
return opts;
|
|
2894
|
-
});
|
|
2895
|
-
}, [setSelectedOptions, variants]);
|
|
2896
|
-
const isOptionInStock = React.useCallback((option, value2) => {
|
|
2897
|
-
var _a;
|
|
2898
|
-
const proposedVariant = getSelectedVariant(variants, {
|
|
2899
|
-
...selectedOptions,
|
|
2900
|
-
...{
|
|
2901
|
-
[option]: value2
|
|
2902
|
-
}
|
|
2903
|
-
});
|
|
2904
|
-
return (_a = proposedVariant == null ? void 0 : proposedVariant.availableForSale) != null ? _a : true;
|
|
2905
|
-
}, [selectedOptions, variants]);
|
|
2906
|
-
const sellingPlanGroups = React.useMemo(() => {
|
|
2907
|
-
var _a;
|
|
2908
|
-
return flattenConnection((_a = product.sellingPlanGroups) != null ? _a : {}).map((sellingPlanGroup) => {
|
|
2909
|
-
var _a2;
|
|
2910
|
-
return {
|
|
2911
|
-
...sellingPlanGroup,
|
|
2912
|
-
sellingPlans: flattenConnection((_a2 = sellingPlanGroup == null ? void 0 : sellingPlanGroup.sellingPlans) != null ? _a2 : {})
|
|
2913
|
-
};
|
|
2914
|
-
});
|
|
2915
|
-
}, [product.sellingPlanGroups]);
|
|
2916
|
-
const [selectedSellingPlan, setSelectedSellingPlan] = React.useState(void 0);
|
|
2917
|
-
const selectedSellingPlanAllocation = React.useMemo(() => {
|
|
2918
|
-
var _a, _b;
|
|
2919
|
-
if (!selectedVariant || !selectedSellingPlan) {
|
|
2920
|
-
return;
|
|
2921
|
-
}
|
|
2922
|
-
if (!((_a = selectedVariant.sellingPlanAllocations) == null ? void 0 : _a.nodes) && !((_b = selectedVariant.sellingPlanAllocations) == null ? void 0 : _b.edges)) {
|
|
2923
|
-
throw new Error(`<ProductProvider/>: You must include 'sellingPlanAllocations.nodes' or 'sellingPlanAllocations.edges' in your variants in order to calculate selectedSellingPlanAllocation`);
|
|
2924
|
-
}
|
|
2925
|
-
return flattenConnection(selectedVariant.sellingPlanAllocations).find((allocation) => {
|
|
2926
|
-
var _a2;
|
|
2927
|
-
return ((_a2 = allocation == null ? void 0 : allocation.sellingPlan) == null ? void 0 : _a2.id) === selectedSellingPlan.id;
|
|
2928
|
-
});
|
|
2929
|
-
}, [selectedVariant, selectedSellingPlan]);
|
|
2930
|
-
const value = React.useMemo(() => ({
|
|
2931
|
-
variants,
|
|
2932
|
-
variantsConnection: product.variants,
|
|
2933
|
-
options,
|
|
2934
|
-
selectedVariant,
|
|
2935
|
-
setSelectedVariant,
|
|
2936
|
-
selectedOptions,
|
|
2937
|
-
setSelectedOption,
|
|
2938
|
-
setSelectedOptions,
|
|
2939
|
-
isOptionInStock,
|
|
2940
|
-
selectedSellingPlan,
|
|
2941
|
-
setSelectedSellingPlan,
|
|
2942
|
-
selectedSellingPlanAllocation,
|
|
2943
|
-
sellingPlanGroups,
|
|
2944
|
-
sellingPlanGroupsConnection: product.sellingPlanGroups
|
|
2945
|
-
}), [isOptionInStock, options, product.sellingPlanGroups, product.variants, selectedOptions, selectedSellingPlan, selectedSellingPlanAllocation, selectedVariant, sellingPlanGroups, setSelectedOption, variants]);
|
|
2946
|
-
return /* @__PURE__ */ React__default.default.createElement(ProductOptionsContext.Provider, {
|
|
2947
|
-
value,
|
|
2948
|
-
__self: this,
|
|
2949
|
-
__source: {
|
|
2950
|
-
fileName: _jsxFileName$1,
|
|
2951
|
-
lineNumber: 201,
|
|
2952
|
-
columnNumber: 5
|
|
2953
|
-
}
|
|
2954
|
-
}, children);
|
|
2955
|
-
}
|
|
2956
|
-
function useProduct() {
|
|
2957
|
-
const context = React.useContext(ProductOptionsContext);
|
|
2958
|
-
if (!context) {
|
|
2959
|
-
throw new Error(`'useProduct' must be a child of <ProductProvider />`);
|
|
2960
|
-
}
|
|
2961
|
-
return context;
|
|
2962
|
-
}
|
|
2963
|
-
function getSelectedVariant(variants, choices) {
|
|
2964
|
-
var _a, _b;
|
|
2965
|
-
if (!variants.length || ((_b = (_a = variants == null ? void 0 : variants[0]) == null ? void 0 : _a.selectedOptions) == null ? void 0 : _b.length) !== Object.keys(choices).length) {
|
|
2966
|
-
return;
|
|
2967
|
-
}
|
|
2968
|
-
return variants == null ? void 0 : variants.find((variant) => {
|
|
2969
|
-
return Object.entries(choices).every(([name, value]) => {
|
|
2970
|
-
var _a2;
|
|
2971
|
-
return (_a2 = variant == null ? void 0 : variant.selectedOptions) == null ? void 0 : _a2.some((option) => (option == null ? void 0 : option.name) === name && (option == null ? void 0 : option.value) === value);
|
|
2972
|
-
});
|
|
2973
|
-
});
|
|
2974
|
-
}
|
|
2975
|
-
function getOptions(variants) {
|
|
2976
|
-
const map = variants.reduce((memo, variant) => {
|
|
2977
|
-
var _a;
|
|
2978
|
-
if (!variant.selectedOptions) {
|
|
2979
|
-
throw new Error(`'getOptions' requires 'variant.selectedOptions'`);
|
|
2980
|
-
}
|
|
2981
|
-
(_a = variant == null ? void 0 : variant.selectedOptions) == null ? void 0 : _a.forEach((opt) => {
|
|
2982
|
-
var _a2, _b, _c, _d;
|
|
2983
|
-
memo[(_a2 = opt == null ? void 0 : opt.name) != null ? _a2 : ""] = memo[(_b = opt == null ? void 0 : opt.name) != null ? _b : ""] || /* @__PURE__ */ new Set();
|
|
2984
|
-
memo[(_c = opt == null ? void 0 : opt.name) != null ? _c : ""].add((_d = opt == null ? void 0 : opt.value) != null ? _d : "");
|
|
2985
|
-
});
|
|
2986
|
-
return memo;
|
|
2987
|
-
}, {});
|
|
2988
|
-
return Object.keys(map).map((option) => {
|
|
2989
|
-
return {
|
|
2990
|
-
name: option,
|
|
2991
|
-
values: Array.from(map[option])
|
|
2992
|
-
};
|
|
2993
|
-
});
|
|
2994
|
-
}
|
|
2995
|
-
function getVariantBasedOnIdProp(explicitVariantId, variants) {
|
|
2996
|
-
if (explicitVariantId) {
|
|
2997
|
-
const foundVariant = variants.find((variant) => (variant == null ? void 0 : variant.id) === explicitVariantId);
|
|
2998
|
-
if (!foundVariant) {
|
|
2999
|
-
console.warn(`<ProductProvider/> received a 'initialVariantId' prop, but could not actually find a variant with that ID`);
|
|
3000
|
-
}
|
|
3001
|
-
return foundVariant;
|
|
3002
|
-
}
|
|
3003
|
-
if (explicitVariantId === null) {
|
|
3004
|
-
return null;
|
|
3005
|
-
}
|
|
3006
|
-
if (explicitVariantId === void 0) {
|
|
3007
|
-
return variants.find((variant) => variant == null ? void 0 : variant.availableForSale) || variants[0];
|
|
3008
|
-
}
|
|
3009
|
-
}
|
|
3010
|
-
function getSelectedOptions(selectedVariant) {
|
|
3011
|
-
return (selectedVariant == null ? void 0 : selectedVariant.selectedOptions) ? selectedVariant.selectedOptions.reduce((memo, optionSet) => {
|
|
3012
|
-
var _a, _b;
|
|
3013
|
-
memo[(_a = optionSet == null ? void 0 : optionSet.name) != null ? _a : ""] = (_b = optionSet == null ? void 0 : optionSet.value) != null ? _b : "";
|
|
3014
|
-
return memo;
|
|
3015
|
-
}, {}) : {};
|
|
3016
|
-
}
|
|
3017
|
-
function isProductVariantArray(maybeVariantArray) {
|
|
3018
|
-
if (!maybeVariantArray || !Array.isArray(maybeVariantArray)) {
|
|
3019
|
-
return false;
|
|
3020
|
-
}
|
|
3021
|
-
return true;
|
|
3022
|
-
}
|
|
3023
3396
|
var _jsxFileName = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ShopPayButton.tsx";
|
|
3024
3397
|
const SHOPJS_URL = "https://cdn.shopify.com/shopifycloud/shop-js/v1.0/client.js";
|
|
3025
3398
|
function ShopPayButton({
|
|
@@ -3086,73 +3459,9 @@ fragment ImageFragment on Image {
|
|
|
3086
3459
|
}
|
|
3087
3460
|
const MissingPropsErrorMessage = `You must pass in either "variantIds" or "variantIdsAndQuantities" to ShopPayButton`;
|
|
3088
3461
|
const DoublePropsErrorMessage = `You must provide either a variantIds or variantIdsAndQuantities prop, but not both in the ShopPayButton component`;
|
|
3089
|
-
|
|
3090
|
-
|
|
3091
|
-
|
|
3092
|
-
publicStorefrontToken,
|
|
3093
|
-
storefrontApiVersion,
|
|
3094
|
-
contentType
|
|
3095
|
-
}) {
|
|
3096
|
-
if (storefrontApiVersion !== SFAPI_VERSION) {
|
|
3097
|
-
console.warn(
|
|
3098
|
-
`StorefrontClient: The Storefront API version that you're using is different than the version this build of Hydrogen-UI is targeting. You may run into unexpected errors if these versions don't match. Received verion: "${storefrontApiVersion}"; expected version "${SFAPI_VERSION}"`
|
|
3099
|
-
);
|
|
3100
|
-
}
|
|
3101
|
-
if (!privateStorefrontToken && !globalThis.document) {
|
|
3102
|
-
console.warn(
|
|
3103
|
-
`StorefrontClient: Using a private storefront token is recommended for server environments. Refer to the authentication https://shopify.dev/api/storefront#authentication documentation for more details. `
|
|
3104
|
-
);
|
|
3105
|
-
}
|
|
3106
|
-
if (privateStorefrontToken && globalThis) {
|
|
3107
|
-
console.warn(
|
|
3108
|
-
`StorefrontClient: You are attempting to use a private token in an environment where it can be easily accessed by anyone. This is a security risk; please use the public token and the 'publicStorefrontToken' prop`
|
|
3109
|
-
);
|
|
3110
|
-
}
|
|
3111
|
-
return {
|
|
3112
|
-
getStorefrontApiUrl(overrideProps) {
|
|
3113
|
-
var _a, _b;
|
|
3114
|
-
return `https://${(_a = overrideProps == null ? void 0 : overrideProps.storeDomain) != null ? _a : storeDomain}.myshopify.com/api/${(_b = overrideProps == null ? void 0 : overrideProps.storefrontApiVersion) != null ? _b : storefrontApiVersion}/graphql.json`;
|
|
3115
|
-
},
|
|
3116
|
-
getPrivateTokenHeaders(overrideProps) {
|
|
3117
|
-
var _a, _b, _c;
|
|
3118
|
-
if (!privateStorefrontToken && !(overrideProps == null ? void 0 : overrideProps.privateStorefrontToken)) {
|
|
3119
|
-
throw new Error(
|
|
3120
|
-
`StorefrontClient: You did not pass in a 'privateStorefrontToken' while using 'getPrivateTokenHeaders()'`
|
|
3121
|
-
);
|
|
3122
|
-
}
|
|
3123
|
-
if (!(overrideProps == null ? void 0 : overrideProps.buyerIp)) {
|
|
3124
|
-
console.warn(
|
|
3125
|
-
`StorefrontClient: it is recommended to pass in the 'buyerIp' property which improves analytics and data in the admin.`
|
|
3126
|
-
);
|
|
3127
|
-
}
|
|
3128
|
-
const finalContentType = (_a = overrideProps == null ? void 0 : overrideProps.contentType) != null ? _a : contentType;
|
|
3129
|
-
return {
|
|
3130
|
-
"content-type": finalContentType === "graphql" ? "application/graphql" : "application/json",
|
|
3131
|
-
"X-SDK-Variant": "hydrogen-ui",
|
|
3132
|
-
"X-SDK-Variant-Source": "react",
|
|
3133
|
-
"X-SDK-Version": storefrontApiVersion,
|
|
3134
|
-
"Shopify-Storefront-Private-Token": (_c = (_b = overrideProps == null ? void 0 : overrideProps.privateStorefrontToken) != null ? _b : privateStorefrontToken) != null ? _c : "",
|
|
3135
|
-
...(overrideProps == null ? void 0 : overrideProps.buyerIp) ? { "Shopify-Storefront-Buyer-IP": overrideProps.buyerIp } : {}
|
|
3136
|
-
};
|
|
3137
|
-
},
|
|
3138
|
-
getPublicTokenHeaders(overrideProps) {
|
|
3139
|
-
var _a, _b, _c;
|
|
3140
|
-
if (!publicStorefrontToken && !(overrideProps == null ? void 0 : overrideProps.publicStorefrontToken)) {
|
|
3141
|
-
throw new Error(
|
|
3142
|
-
`StorefrontClient: You did not pass in a 'publicStorefrontToken' while using 'getPublicTokenHeaders()'`
|
|
3143
|
-
);
|
|
3144
|
-
}
|
|
3145
|
-
const finalContentType = (_a = overrideProps == null ? void 0 : overrideProps.contentType) != null ? _a : contentType;
|
|
3146
|
-
return {
|
|
3147
|
-
"content-type": finalContentType === "graphql" ? "application/graphql" : "application/json",
|
|
3148
|
-
"X-SDK-Variant": "hydrogen-ui",
|
|
3149
|
-
"X-SDK-Variant-Source": "react",
|
|
3150
|
-
"X-SDK-Version": storefrontApiVersion,
|
|
3151
|
-
"X-Shopify-Storefront-Access-Token": (_c = (_b = overrideProps == null ? void 0 : overrideProps.publicStorefrontToken) != null ? _b : publicStorefrontToken) != null ? _c : ""
|
|
3152
|
-
};
|
|
3153
|
-
}
|
|
3154
|
-
};
|
|
3155
|
-
}
|
|
3462
|
+
exports2.AddToCartButton = AddToCartButton;
|
|
3463
|
+
exports2.BuyNowButton = BuyNowButton;
|
|
3464
|
+
exports2.CartCheckoutButton = CartCheckoutButton;
|
|
3156
3465
|
exports2.CartProvider = CartProvider;
|
|
3157
3466
|
exports2.ExternalVideo = ExternalVideo;
|
|
3158
3467
|
exports2.Image = Image;
|
|
@@ -3167,8 +3476,10 @@ fragment ImageFragment on Image {
|
|
|
3167
3476
|
exports2.Video = Video;
|
|
3168
3477
|
exports2.createStorefrontClient = createStorefrontClient;
|
|
3169
3478
|
exports2.flattenConnection = flattenConnection;
|
|
3479
|
+
exports2.metafieldParser = metafieldParser;
|
|
3170
3480
|
exports2.parseMetafield = parseMetafield;
|
|
3171
3481
|
exports2.parseMetafieldValue = parseMetafieldValue;
|
|
3482
|
+
exports2.storefrontApiCustomScalars = storefrontApiCustomScalars;
|
|
3172
3483
|
exports2.useCart = useCart;
|
|
3173
3484
|
exports2.useMoney = useMoney;
|
|
3174
3485
|
exports2.useProduct = useProduct;
|