@shopify/hydrogen-react 0.0.0-next-585a03d → 0.0.0-next-32f1381
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{dev/AddToCartButton.mjs → browser-dev/AddToCartButton.js} +4 -4
- package/dist/{dev → browser-dev}/AddToCartButton.js.map +1 -1
- package/dist/{dev/BaseButton.mjs → browser-dev/BaseButton.js} +1 -1
- package/dist/{dev → browser-dev}/BaseButton.js.map +1 -1
- package/dist/{prod/BuyNowButton.mjs → browser-dev/BuyNowButton.js} +3 -3
- package/dist/{dev → browser-dev}/BuyNowButton.js.map +1 -1
- package/dist/{dev/CartCheckoutButton.mjs → browser-dev/CartCheckoutButton.js} +3 -3
- package/dist/{dev → browser-dev}/CartCheckoutButton.js.map +1 -1
- package/dist/{prod/CartProvider.mjs → browser-dev/CartProvider.js} +3 -3
- package/dist/{prod → browser-dev}/CartProvider.js.map +1 -1
- package/dist/{prod/ExternalVideo.mjs → browser-dev/ExternalVideo.js} +1 -1
- package/dist/{dev → browser-dev}/ExternalVideo.js.map +1 -1
- package/dist/{dev/Image.mjs → browser-dev/Image.js} +2 -2
- package/dist/{dev → browser-dev}/Image.js.map +1 -1
- package/dist/{dev/MediaFile.mjs → browser-dev/MediaFile.js} +5 -5
- package/dist/{dev → browser-dev}/MediaFile.js.map +1 -1
- package/dist/{dev/Metafield.mjs → browser-dev/Metafield.js} +5 -5
- package/dist/{dev → browser-dev}/Metafield.js.map +1 -1
- package/dist/{dev/ModelViewer.mjs → browser-dev/ModelViewer.js} +2 -2
- package/dist/{dev → browser-dev}/ModelViewer.js.map +1 -1
- package/dist/{dev/Money.mjs → browser-dev/Money.js} +2 -2
- package/dist/{dev → browser-dev}/Money.js.map +1 -1
- package/dist/{dev/ProductPrice.mjs → browser-dev/ProductPrice.js} +3 -3
- package/dist/{dev → browser-dev}/ProductPrice.js.map +1 -1
- package/dist/{dev/ProductProvider.mjs → browser-dev/ProductProvider.js} +2 -2
- package/dist/{prod → browser-dev}/ProductProvider.js.map +1 -1
- package/dist/{prod/ShopPayButton.mjs → browser-dev/ShopPayButton.js} +3 -3
- package/dist/{prod → browser-dev}/ShopPayButton.js.map +1 -1
- package/dist/{dev/ShopifyProvider.mjs → browser-dev/ShopifyProvider.js} +2 -2
- package/dist/{prod → browser-dev}/ShopifyProvider.js.map +1 -1
- package/dist/{dev/Video.mjs → browser-dev/Video.js} +2 -2
- package/dist/{prod → browser-dev}/Video.js.map +1 -1
- package/dist/{dev/_virtual/index.mjs → browser-dev/_virtual/index.js} +1 -1
- package/dist/{dev → browser-dev}/_virtual/index.js.map +1 -1
- package/dist/{dev/_virtual/use-sync-external-store-shim.development.mjs → browser-dev/_virtual/use-sync-external-store-shim.development.js} +1 -1
- package/dist/{dev → browser-dev}/_virtual/use-sync-external-store-shim.development.js.map +1 -1
- package/dist/{dev/_virtual/use-sync-external-store-shim.production.min.mjs → browser-dev/_virtual/use-sync-external-store-shim.production.min.js} +1 -1
- package/dist/browser-dev/_virtual/use-sync-external-store-shim.production.min.js.map +1 -0
- package/dist/{prod/_virtual/with-selector.development.mjs → browser-dev/_virtual/with-selector.development.js} +1 -1
- package/dist/{dev → browser-dev}/_virtual/with-selector.development.js.map +1 -1
- package/dist/{prod/_virtual/with-selector.mjs → browser-dev/_virtual/with-selector.js} +1 -1
- package/dist/{dev → browser-dev}/_virtual/with-selector.js.map +1 -1
- package/dist/{dev/_virtual/with-selector.production.min.mjs → browser-dev/_virtual/with-selector.production.min.js} +1 -1
- package/dist/{dev → browser-dev}/_virtual/with-selector.production.min.js.map +1 -1
- package/dist/{prod/cart-constants.mjs → browser-dev/cart-constants.js} +1 -1
- package/dist/{dev → browser-dev}/cart-constants.js.map +1 -1
- package/dist/{dev/cart-hooks.mjs → browser-dev/cart-hooks.js} +3 -3
- package/dist/{prod → browser-dev}/cart-hooks.js.map +1 -1
- package/dist/{dev/cart-queries.mjs → browser-dev/cart-queries.js} +1 -1
- package/dist/{dev → browser-dev}/cart-queries.js.map +1 -1
- package/dist/{dev/flatten-connection.mjs → browser-dev/flatten-connection.js} +1 -1
- package/dist/{dev → browser-dev}/flatten-connection.js.map +1 -1
- package/dist/{prod/image-size.mjs → browser-dev/image-size.js} +1 -1
- package/dist/{dev → browser-dev}/image-size.js.map +1 -1
- package/dist/browser-dev/index.js +46 -0
- package/dist/browser-dev/index.js.map +1 -0
- package/dist/{prod/load-script.mjs → browser-dev/load-script.js} +1 -1
- package/dist/{dev → browser-dev}/load-script.js.map +1 -1
- package/dist/{dev/metafield-parser.mjs → browser-dev/metafield-parser.js} +3 -3
- package/dist/{dev → browser-dev}/metafield-parser.js.map +1 -1
- package/dist/{dev/node_modules/@xstate/fsm/es/index.mjs → browser-dev/node_modules/@xstate/fsm/es/index.js} +1 -1
- package/dist/browser-dev/node_modules/@xstate/fsm/es/index.js.map +1 -0
- package/dist/{prod/node_modules/@xstate/react/es/fsm.mjs → browser-dev/node_modules/@xstate/react/es/fsm.js} +6 -6
- package/dist/{prod → browser-dev}/node_modules/@xstate/react/es/fsm.js.map +1 -1
- package/dist/{dev/node_modules/@xstate/react/es/useConstant.mjs → browser-dev/node_modules/@xstate/react/es/useConstant.js} +1 -1
- package/dist/{dev → browser-dev}/node_modules/@xstate/react/es/useConstant.js.map +1 -1
- package/dist/{dev/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.mjs → browser-dev/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js} +1 -1
- package/dist/{dev → browser-dev}/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js.map +1 -1
- package/dist/{dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs → browser-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js} +3 -3
- package/dist/{prod → browser-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js.map +1 -1
- package/dist/{dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs → browser-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js} +3 -3
- package/dist/browser-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js.map +1 -0
- package/dist/{dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs → browser-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js} +2 -2
- package/dist/{dev → browser-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js.map +1 -1
- package/dist/{dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs → browser-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js} +2 -2
- package/dist/{prod → browser-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js.map +1 -1
- package/dist/{dev/node_modules/use-sync-external-store/shim/index.mjs → browser-dev/node_modules/use-sync-external-store/shim/index.js} +4 -4
- package/dist/{prod → browser-dev}/node_modules/use-sync-external-store/shim/index.js.map +1 -1
- package/dist/{prod/node_modules/use-sync-external-store/shim/with-selector.mjs → browser-dev/node_modules/use-sync-external-store/shim/with-selector.js} +4 -4
- package/dist/{dev → browser-dev}/node_modules/use-sync-external-store/shim/with-selector.js.map +1 -1
- package/dist/{prod/storefront-api-constants.mjs → browser-dev/storefront-api-constants.js} +1 -1
- package/dist/{dev → browser-dev}/storefront-api-constants.js.map +1 -1
- package/dist/{dev/storefront-client.mjs → browser-dev/storefront-client.js} +2 -2
- package/dist/{dev → browser-dev}/storefront-client.js.map +1 -1
- package/dist/{prod/useCartAPIStateMachine.mjs → browser-dev/useCartAPIStateMachine.js} +5 -5
- package/dist/{dev → browser-dev}/useCartAPIStateMachine.js.map +1 -1
- package/dist/{dev/useCartActions.mjs → browser-dev/useCartActions.js} +3 -3
- package/dist/{prod → browser-dev}/useCartActions.js.map +1 -1
- package/dist/{dev/useMoney.mjs → browser-dev/useMoney.js} +2 -2
- package/dist/{dev → browser-dev}/useMoney.js.map +1 -1
- package/dist/{prod/AddToCartButton.mjs → browser-prod/AddToCartButton.js} +4 -4
- package/dist/{prod → browser-prod}/AddToCartButton.js.map +1 -1
- package/dist/{prod/BaseButton.mjs → browser-prod/BaseButton.js} +1 -1
- package/dist/{prod → browser-prod}/BaseButton.js.map +1 -1
- package/dist/{dev/BuyNowButton.mjs → browser-prod/BuyNowButton.js} +3 -3
- package/dist/{prod → browser-prod}/BuyNowButton.js.map +1 -1
- package/dist/{prod/CartCheckoutButton.mjs → browser-prod/CartCheckoutButton.js} +3 -3
- package/dist/{prod → browser-prod}/CartCheckoutButton.js.map +1 -1
- package/dist/{dev/CartProvider.mjs → browser-prod/CartProvider.js} +3 -3
- package/dist/{dev → browser-prod}/CartProvider.js.map +1 -1
- package/dist/{dev/ExternalVideo.mjs → browser-prod/ExternalVideo.js} +1 -1
- package/dist/{prod → browser-prod}/ExternalVideo.js.map +1 -1
- package/dist/{prod/Image.mjs → browser-prod/Image.js} +2 -2
- package/dist/{prod → browser-prod}/Image.js.map +1 -1
- package/dist/{prod/MediaFile.mjs → browser-prod/MediaFile.js} +5 -5
- package/dist/{prod → browser-prod}/MediaFile.js.map +1 -1
- package/dist/{prod/Metafield.mjs → browser-prod/Metafield.js} +5 -5
- package/dist/{prod → browser-prod}/Metafield.js.map +1 -1
- package/dist/{prod/ModelViewer.mjs → browser-prod/ModelViewer.js} +2 -2
- package/dist/{prod → browser-prod}/ModelViewer.js.map +1 -1
- package/dist/{prod/Money.mjs → browser-prod/Money.js} +2 -2
- package/dist/{prod → browser-prod}/Money.js.map +1 -1
- package/dist/{prod/ProductPrice.mjs → browser-prod/ProductPrice.js} +3 -3
- package/dist/{prod → browser-prod}/ProductPrice.js.map +1 -1
- package/dist/{prod/ProductProvider.mjs → browser-prod/ProductProvider.js} +2 -2
- package/dist/{dev → browser-prod}/ProductProvider.js.map +1 -1
- package/dist/{dev/ShopPayButton.mjs → browser-prod/ShopPayButton.js} +3 -3
- package/dist/{dev → browser-prod}/ShopPayButton.js.map +1 -1
- package/dist/{prod/ShopifyProvider.mjs → browser-prod/ShopifyProvider.js} +2 -2
- package/dist/{dev → browser-prod}/ShopifyProvider.js.map +1 -1
- package/dist/{prod/Video.mjs → browser-prod/Video.js} +2 -2
- package/dist/{dev → browser-prod}/Video.js.map +1 -1
- package/dist/{prod/_virtual/index.mjs → browser-prod/_virtual/index.js} +1 -1
- package/dist/{prod → browser-prod}/_virtual/index.js.map +1 -1
- package/dist/{prod/_virtual/use-sync-external-store-shim.development.mjs → browser-prod/_virtual/use-sync-external-store-shim.development.js} +1 -1
- package/dist/{prod → browser-prod}/_virtual/use-sync-external-store-shim.development.js.map +1 -1
- package/dist/{prod/_virtual/use-sync-external-store-shim.production.min.mjs → browser-prod/_virtual/use-sync-external-store-shim.production.min.js} +1 -1
- package/dist/browser-prod/_virtual/use-sync-external-store-shim.production.min.js.map +1 -0
- package/dist/{dev/_virtual/with-selector.development.mjs → browser-prod/_virtual/with-selector.development.js} +1 -1
- package/dist/{prod → browser-prod}/_virtual/with-selector.development.js.map +1 -1
- package/dist/{dev/_virtual/with-selector.mjs → browser-prod/_virtual/with-selector.js} +1 -1
- package/dist/{prod → browser-prod}/_virtual/with-selector.js.map +1 -1
- package/dist/{prod/_virtual/with-selector.production.min.mjs → browser-prod/_virtual/with-selector.production.min.js} +1 -1
- package/dist/{prod → browser-prod}/_virtual/with-selector.production.min.js.map +1 -1
- package/dist/{dev/cart-constants.mjs → browser-prod/cart-constants.js} +1 -1
- package/dist/{prod → browser-prod}/cart-constants.js.map +1 -1
- package/dist/{prod/cart-hooks.mjs → browser-prod/cart-hooks.js} +3 -3
- package/dist/{dev → browser-prod}/cart-hooks.js.map +1 -1
- package/dist/{prod/cart-queries.mjs → browser-prod/cart-queries.js} +1 -1
- package/dist/{prod → browser-prod}/cart-queries.js.map +1 -1
- package/dist/{prod/flatten-connection.mjs → browser-prod/flatten-connection.js} +1 -1
- package/dist/{prod → browser-prod}/flatten-connection.js.map +1 -1
- package/dist/{dev/image-size.mjs → browser-prod/image-size.js} +1 -1
- package/dist/{prod → browser-prod}/image-size.js.map +1 -1
- package/dist/browser-prod/index.js +46 -0
- package/dist/browser-prod/index.js.map +1 -0
- package/dist/{dev/load-script.mjs → browser-prod/load-script.js} +1 -1
- package/dist/{prod → browser-prod}/load-script.js.map +1 -1
- package/dist/{prod/metafield-parser.mjs → browser-prod/metafield-parser.js} +3 -3
- package/dist/{prod → browser-prod}/metafield-parser.js.map +1 -1
- package/dist/{prod/node_modules/@xstate/fsm/es/index.mjs → browser-prod/node_modules/@xstate/fsm/es/index.js} +1 -1
- package/dist/browser-prod/node_modules/@xstate/fsm/es/index.js.map +1 -0
- package/dist/{dev/node_modules/@xstate/react/es/fsm.mjs → browser-prod/node_modules/@xstate/react/es/fsm.js} +6 -6
- package/dist/{dev → browser-prod}/node_modules/@xstate/react/es/fsm.js.map +1 -1
- package/dist/{prod/node_modules/@xstate/react/es/useConstant.mjs → browser-prod/node_modules/@xstate/react/es/useConstant.js} +1 -1
- package/dist/{prod → browser-prod}/node_modules/@xstate/react/es/useConstant.js.map +1 -1
- package/dist/{prod/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.mjs → browser-prod/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js} +1 -1
- package/dist/{prod → browser-prod}/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js.map +1 -1
- package/dist/{prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs → browser-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js} +3 -3
- package/dist/{dev → browser-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js.map +1 -1
- package/dist/{prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs → browser-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js} +3 -3
- package/dist/browser-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js.map +1 -0
- package/dist/{prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs → browser-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js} +2 -2
- package/dist/{prod → browser-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js.map +1 -1
- package/dist/{prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs → browser-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js} +2 -2
- package/dist/{dev → browser-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js.map +1 -1
- package/dist/{prod/node_modules/use-sync-external-store/shim/index.mjs → browser-prod/node_modules/use-sync-external-store/shim/index.js} +4 -4
- package/dist/{dev → browser-prod}/node_modules/use-sync-external-store/shim/index.js.map +1 -1
- package/dist/{dev/node_modules/use-sync-external-store/shim/with-selector.mjs → browser-prod/node_modules/use-sync-external-store/shim/with-selector.js} +4 -4
- package/dist/{prod → browser-prod}/node_modules/use-sync-external-store/shim/with-selector.js.map +1 -1
- package/dist/{dev/storefront-api-constants.mjs → browser-prod/storefront-api-constants.js} +1 -1
- package/dist/{prod → browser-prod}/storefront-api-constants.js.map +1 -1
- package/dist/{prod/storefront-client.mjs → browser-prod/storefront-client.js} +2 -2
- package/dist/{prod → browser-prod}/storefront-client.js.map +1 -1
- package/dist/{dev/useCartAPIStateMachine.mjs → browser-prod/useCartAPIStateMachine.js} +5 -5
- package/dist/{prod → browser-prod}/useCartAPIStateMachine.js.map +1 -1
- package/dist/{prod/useCartActions.mjs → browser-prod/useCartActions.js} +3 -3
- package/dist/{dev → browser-prod}/useCartActions.js.map +1 -1
- package/dist/{prod/useMoney.mjs → browser-prod/useMoney.js} +2 -2
- package/dist/{prod → browser-prod}/useMoney.js.map +1 -1
- package/dist/{dev/AddToCartButton.js → node-dev/AddToCartButton.cjs} +8 -8
- package/dist/{prod/AddToCartButton.mjs.map → node-dev/AddToCartButton.cjs.map} +1 -1
- package/dist/node-dev/AddToCartButton.js +70 -0
- package/dist/node-dev/AddToCartButton.js.map +1 -0
- package/dist/{dev/BaseButton.js → node-dev/BaseButton.cjs} +3 -3
- package/dist/{dev/BaseButton.mjs.map → node-dev/BaseButton.cjs.map} +1 -1
- package/dist/node-dev/BaseButton.js +31 -0
- package/dist/node-dev/BaseButton.js.map +1 -0
- package/dist/{prod/BuyNowButton.js → node-dev/BuyNowButton.cjs} +7 -7
- package/dist/{dev/BuyNowButton.mjs.map → node-dev/BuyNowButton.cjs.map} +1 -1
- package/dist/node-dev/BuyNowButton.js +45 -0
- package/dist/node-dev/BuyNowButton.js.map +1 -0
- package/dist/{prod/CartCheckoutButton.js → node-dev/CartCheckoutButton.cjs} +6 -6
- package/dist/{dev/CartCheckoutButton.mjs.map → node-dev/CartCheckoutButton.cjs.map} +1 -1
- package/dist/node-dev/CartCheckoutButton.js +30 -0
- package/dist/node-dev/CartCheckoutButton.js.map +1 -0
- package/dist/{dev/CartProvider.js → node-dev/CartProvider.cjs} +23 -23
- package/dist/{prod/CartProvider.mjs.map → node-dev/CartProvider.cjs.map} +1 -1
- package/dist/node-dev/CartProvider.js +485 -0
- package/dist/node-dev/CartProvider.js.map +1 -0
- package/dist/{dev/ExternalVideo.js → node-dev/ExternalVideo.cjs} +1 -1
- package/dist/{prod/ExternalVideo.mjs.map → node-dev/ExternalVideo.cjs.map} +1 -1
- package/dist/node-dev/ExternalVideo.js +39 -0
- package/dist/node-dev/ExternalVideo.js.map +1 -0
- package/dist/{dev/Image.js → node-dev/Image.cjs} +2 -2
- package/dist/{dev/Image.mjs.map → node-dev/Image.cjs.map} +1 -1
- package/dist/node-dev/Image.js +104 -0
- package/dist/node-dev/Image.js.map +1 -0
- package/dist/{dev/MediaFile.js → node-dev/MediaFile.cjs} +5 -5
- package/dist/{dev/MediaFile.mjs.map → node-dev/MediaFile.cjs.map} +1 -1
- package/dist/node-dev/MediaFile.js +57 -0
- package/dist/node-dev/MediaFile.js.map +1 -0
- package/dist/{dev/Metafield.js → node-dev/Metafield.cjs} +7 -7
- package/dist/{dev/Metafield.mjs.map → node-dev/Metafield.cjs.map} +1 -1
- package/dist/node-dev/Metafield.js +301 -0
- package/dist/node-dev/Metafield.js.map +1 -0
- package/dist/{dev/ModelViewer.js → node-dev/ModelViewer.cjs} +6 -6
- package/dist/{dev/ModelViewer.mjs.map → node-dev/ModelViewer.cjs.map} +1 -1
- package/dist/node-dev/ModelViewer.js +145 -0
- package/dist/node-dev/ModelViewer.js.map +1 -0
- package/dist/{prod/Money.js → node-dev/Money.cjs} +2 -2
- package/dist/{dev/Money.mjs.map → node-dev/Money.cjs.map} +1 -1
- package/dist/node-dev/Money.js +40 -0
- package/dist/node-dev/Money.js.map +1 -0
- package/dist/{prod/ProductPrice.js → node-dev/ProductPrice.cjs} +3 -3
- package/dist/{dev/ProductPrice.mjs.map → node-dev/ProductPrice.cjs.map} +1 -1
- package/dist/node-dev/ProductPrice.js +61 -0
- package/dist/node-dev/ProductPrice.js.map +1 -0
- package/dist/{prod/ProductProvider.js → node-dev/ProductProvider.cjs} +16 -16
- package/dist/{dev/ProductProvider.mjs.map → node-dev/ProductProvider.cjs.map} +1 -1
- package/dist/node-dev/ProductProvider.js +161 -0
- package/dist/node-dev/ProductProvider.js.map +1 -0
- package/dist/{dev/ShopPayButton.js → node-dev/ShopPayButton.cjs} +3 -3
- package/dist/{prod/ShopPayButton.mjs.map → node-dev/ShopPayButton.cjs.map} +1 -1
- package/dist/node-dev/ShopPayButton.js +64 -0
- package/dist/node-dev/ShopPayButton.js.map +1 -0
- package/dist/{prod/ShopifyProvider.js → node-dev/ShopifyProvider.cjs} +6 -6
- package/dist/{dev/ShopifyProvider.mjs.map → node-dev/ShopifyProvider.cjs.map} +1 -1
- package/dist/node-dev/ShopifyProvider.js +46 -0
- package/dist/node-dev/ShopifyProvider.js.map +1 -0
- package/dist/{prod/Video.js → node-dev/Video.cjs} +4 -4
- package/dist/{dev/Video.mjs.map → node-dev/Video.cjs.map} +1 -1
- package/dist/node-dev/Video.js +44 -0
- package/dist/node-dev/Video.js.map +1 -0
- package/dist/{prod/cart-constants.js → node-dev/cart-constants.cjs} +1 -1
- package/dist/{dev/cart-constants.mjs.map → node-dev/cart-constants.cjs.map} +1 -1
- package/dist/node-dev/cart-constants.js +17 -0
- package/dist/node-dev/cart-constants.js.map +1 -0
- package/dist/{dev/cart-hooks.js → node-dev/cart-hooks.cjs} +5 -5
- package/dist/{prod/cart-hooks.mjs.map → node-dev/cart-hooks.cjs.map} +1 -1
- package/dist/node-dev/cart-hooks.js +48 -0
- package/dist/node-dev/cart-hooks.js.map +1 -0
- package/dist/{dev/cart-queries.js → node-dev/cart-queries.cjs} +1 -1
- package/dist/{dev/cart-queries.mjs.map → node-dev/cart-queries.cjs.map} +1 -1
- package/dist/node-dev/cart-queries.js +114 -0
- package/dist/node-dev/cart-queries.js.map +1 -0
- package/dist/{dev/flatten-connection.js → node-dev/flatten-connection.cjs} +1 -1
- package/dist/{dev/flatten-connection.mjs.map → node-dev/flatten-connection.cjs.map} +1 -1
- package/dist/node-dev/flatten-connection.js +29 -0
- package/dist/node-dev/flatten-connection.js.map +1 -0
- package/dist/{dev/image-size.js → node-dev/image-size.cjs} +1 -1
- package/dist/{prod/image-size.mjs.map → node-dev/image-size.cjs.map} +1 -1
- package/dist/node-dev/image-size.js +80 -0
- package/dist/node-dev/image-size.js.map +1 -0
- package/dist/{prod/index.js → node-dev/index.cjs} +20 -20
- package/dist/node-dev/index.cjs.map +1 -0
- package/dist/node-dev/index.js +46 -0
- package/dist/node-dev/index.js.map +1 -0
- package/dist/{prod/load-script.js → node-dev/load-script.cjs} +4 -4
- package/dist/{dev/load-script.mjs.map → node-dev/load-script.cjs.map} +1 -1
- package/dist/node-dev/load-script.js +52 -0
- package/dist/node-dev/load-script.js.map +1 -0
- package/dist/{dev/metafield-parser.js → node-dev/metafield-parser.cjs} +3 -3
- package/dist/{dev/metafield-parser.mjs.map → node-dev/metafield-parser.cjs.map} +1 -1
- package/dist/node-dev/metafield-parser.js +103 -0
- package/dist/node-dev/metafield-parser.js.map +1 -0
- package/dist/{prod/storefront-api-constants.js → node-dev/storefront-api-constants.cjs} +1 -1
- package/dist/node-dev/storefront-api-constants.cjs.map +1 -0
- package/dist/node-dev/storefront-api-constants.js +5 -0
- package/dist/node-dev/storefront-api-constants.js.map +1 -0
- package/dist/{dev/storefront-client.js → node-dev/storefront-client.cjs} +2 -2
- package/dist/{dev/storefront-client.mjs.map → node-dev/storefront-client.cjs.map} +1 -1
- package/dist/node-dev/storefront-client.js +72 -0
- package/dist/node-dev/storefront-client.js.map +1 -0
- package/dist/{prod/useCartAPIStateMachine.js → node-dev/useCartAPIStateMachine.cjs} +15 -15
- package/dist/{prod/useCartAPIStateMachine.mjs.map → node-dev/useCartAPIStateMachine.cjs.map} +1 -1
- package/dist/node-dev/useCartAPIStateMachine.js +326 -0
- package/dist/node-dev/useCartAPIStateMachine.js.map +1 -0
- package/dist/{dev/useCartActions.js → node-dev/useCartActions.cjs} +14 -14
- package/dist/{dev/useCartActions.mjs.map → node-dev/useCartActions.cjs.map} +1 -1
- package/dist/node-dev/useCartActions.js +123 -0
- package/dist/node-dev/useCartActions.js.map +1 -0
- package/dist/{prod/useMoney.js → node-dev/useMoney.cjs} +7 -7
- package/dist/{dev/useMoney.mjs.map → node-dev/useMoney.cjs.map} +1 -1
- package/dist/node-dev/useMoney.js +72 -0
- package/dist/node-dev/useMoney.js.map +1 -0
- package/dist/{prod/AddToCartButton.js → node-prod/AddToCartButton.cjs} +8 -8
- package/dist/{dev/AddToCartButton.mjs.map → node-prod/AddToCartButton.cjs.map} +1 -1
- package/dist/node-prod/AddToCartButton.js +70 -0
- package/dist/node-prod/AddToCartButton.js.map +1 -0
- package/dist/{prod/BaseButton.js → node-prod/BaseButton.cjs} +3 -3
- package/dist/{prod/BaseButton.mjs.map → node-prod/BaseButton.cjs.map} +1 -1
- package/dist/node-prod/BaseButton.js +31 -0
- package/dist/node-prod/BaseButton.js.map +1 -0
- package/dist/{dev/BuyNowButton.js → node-prod/BuyNowButton.cjs} +7 -7
- package/dist/{prod/BuyNowButton.mjs.map → node-prod/BuyNowButton.cjs.map} +1 -1
- package/dist/node-prod/BuyNowButton.js +45 -0
- package/dist/node-prod/BuyNowButton.js.map +1 -0
- package/dist/{dev/CartCheckoutButton.js → node-prod/CartCheckoutButton.cjs} +6 -6
- package/dist/{prod/CartCheckoutButton.mjs.map → node-prod/CartCheckoutButton.cjs.map} +1 -1
- package/dist/node-prod/CartCheckoutButton.js +30 -0
- package/dist/node-prod/CartCheckoutButton.js.map +1 -0
- package/dist/{prod/CartProvider.js → node-prod/CartProvider.cjs} +23 -23
- package/dist/{dev/CartProvider.mjs.map → node-prod/CartProvider.cjs.map} +1 -1
- package/dist/node-prod/CartProvider.js +485 -0
- package/dist/node-prod/CartProvider.js.map +1 -0
- package/dist/{prod/ExternalVideo.js → node-prod/ExternalVideo.cjs} +1 -1
- package/dist/{dev/ExternalVideo.mjs.map → node-prod/ExternalVideo.cjs.map} +1 -1
- package/dist/node-prod/ExternalVideo.js +39 -0
- package/dist/node-prod/ExternalVideo.js.map +1 -0
- package/dist/{prod/Image.js → node-prod/Image.cjs} +2 -2
- package/dist/{prod/Image.mjs.map → node-prod/Image.cjs.map} +1 -1
- package/dist/node-prod/Image.js +99 -0
- package/dist/node-prod/Image.js.map +1 -0
- package/dist/{prod/MediaFile.js → node-prod/MediaFile.cjs} +5 -5
- package/dist/{prod/MediaFile.mjs.map → node-prod/MediaFile.cjs.map} +1 -1
- package/dist/node-prod/MediaFile.js +59 -0
- package/dist/node-prod/MediaFile.js.map +1 -0
- package/dist/{prod/Metafield.js → node-prod/Metafield.cjs} +7 -7
- package/dist/{prod/Metafield.mjs.map → node-prod/Metafield.cjs.map} +1 -1
- package/dist/node-prod/Metafield.js +288 -0
- package/dist/node-prod/Metafield.js.map +1 -0
- package/dist/{prod/ModelViewer.js → node-prod/ModelViewer.cjs} +6 -6
- package/dist/{prod/ModelViewer.mjs.map → node-prod/ModelViewer.cjs.map} +1 -1
- package/dist/node-prod/ModelViewer.js +143 -0
- package/dist/node-prod/ModelViewer.js.map +1 -0
- package/dist/{dev/Money.js → node-prod/Money.cjs} +2 -2
- package/dist/{prod/Money.mjs.map → node-prod/Money.cjs.map} +1 -1
- package/dist/node-prod/Money.js +40 -0
- package/dist/node-prod/Money.js.map +1 -0
- package/dist/{dev/ProductPrice.js → node-prod/ProductPrice.cjs} +3 -3
- package/dist/{prod/ProductPrice.mjs.map → node-prod/ProductPrice.cjs.map} +1 -1
- package/dist/node-prod/ProductPrice.js +61 -0
- package/dist/node-prod/ProductPrice.js.map +1 -0
- package/dist/{dev/ProductProvider.js → node-prod/ProductProvider.cjs} +16 -16
- package/dist/{prod/ProductProvider.mjs.map → node-prod/ProductProvider.cjs.map} +1 -1
- package/dist/node-prod/ProductProvider.js +161 -0
- package/dist/node-prod/ProductProvider.js.map +1 -0
- package/dist/{prod/ShopPayButton.js → node-prod/ShopPayButton.cjs} +3 -3
- package/dist/{dev/ShopPayButton.mjs.map → node-prod/ShopPayButton.cjs.map} +1 -1
- package/dist/node-prod/ShopPayButton.js +64 -0
- package/dist/node-prod/ShopPayButton.js.map +1 -0
- package/dist/{dev/ShopifyProvider.js → node-prod/ShopifyProvider.cjs} +6 -6
- package/dist/{prod/ShopifyProvider.mjs.map → node-prod/ShopifyProvider.cjs.map} +1 -1
- package/dist/node-prod/ShopifyProvider.js +46 -0
- package/dist/node-prod/ShopifyProvider.js.map +1 -0
- package/dist/{dev/Video.js → node-prod/Video.cjs} +4 -4
- package/dist/{prod/Video.mjs.map → node-prod/Video.cjs.map} +1 -1
- package/dist/node-prod/Video.js +44 -0
- package/dist/node-prod/Video.js.map +1 -0
- package/dist/{dev/cart-constants.js → node-prod/cart-constants.cjs} +1 -1
- package/dist/{prod/cart-constants.mjs.map → node-prod/cart-constants.cjs.map} +1 -1
- package/dist/node-prod/cart-constants.js +17 -0
- package/dist/node-prod/cart-constants.js.map +1 -0
- package/dist/{prod/cart-hooks.js → node-prod/cart-hooks.cjs} +5 -5
- package/dist/{dev/cart-hooks.mjs.map → node-prod/cart-hooks.cjs.map} +1 -1
- package/dist/node-prod/cart-hooks.js +48 -0
- package/dist/node-prod/cart-hooks.js.map +1 -0
- package/dist/{prod/cart-queries.js → node-prod/cart-queries.cjs} +1 -1
- package/dist/{prod/cart-queries.mjs.map → node-prod/cart-queries.cjs.map} +1 -1
- package/dist/node-prod/cart-queries.js +114 -0
- package/dist/node-prod/cart-queries.js.map +1 -0
- package/dist/{prod/flatten-connection.js → node-prod/flatten-connection.cjs} +1 -1
- package/dist/{prod/flatten-connection.mjs.map → node-prod/flatten-connection.cjs.map} +1 -1
- package/dist/node-prod/flatten-connection.js +25 -0
- package/dist/node-prod/flatten-connection.js.map +1 -0
- package/dist/{prod/image-size.js → node-prod/image-size.cjs} +1 -1
- package/dist/{dev/image-size.mjs.map → node-prod/image-size.cjs.map} +1 -1
- package/dist/node-prod/image-size.js +80 -0
- package/dist/node-prod/image-size.js.map +1 -0
- package/dist/{dev/index.js → node-prod/index.cjs} +20 -20
- package/dist/node-prod/index.cjs.map +1 -0
- package/dist/node-prod/index.js +46 -0
- package/dist/node-prod/index.js.map +1 -0
- package/dist/{dev/load-script.js → node-prod/load-script.cjs} +4 -4
- package/dist/{prod/load-script.mjs.map → node-prod/load-script.cjs.map} +1 -1
- package/dist/node-prod/load-script.js +52 -0
- package/dist/node-prod/load-script.js.map +1 -0
- package/dist/{prod/metafield-parser.js → node-prod/metafield-parser.cjs} +3 -3
- package/dist/{prod/metafield-parser.mjs.map → node-prod/metafield-parser.cjs.map} +1 -1
- package/dist/node-prod/metafield-parser.js +114 -0
- package/dist/node-prod/metafield-parser.js.map +1 -0
- package/dist/{dev/storefront-api-constants.js → node-prod/storefront-api-constants.cjs} +1 -1
- package/dist/node-prod/storefront-api-constants.cjs.map +1 -0
- package/dist/node-prod/storefront-api-constants.js +5 -0
- package/dist/node-prod/storefront-api-constants.js.map +1 -0
- package/dist/{prod/storefront-client.js → node-prod/storefront-client.cjs} +2 -2
- package/dist/{prod/storefront-client.mjs.map → node-prod/storefront-client.cjs.map} +1 -1
- package/dist/node-prod/storefront-client.js +57 -0
- package/dist/node-prod/storefront-client.js.map +1 -0
- package/dist/{dev/useCartAPIStateMachine.js → node-prod/useCartAPIStateMachine.cjs} +15 -15
- package/dist/{dev/useCartAPIStateMachine.mjs.map → node-prod/useCartAPIStateMachine.cjs.map} +1 -1
- package/dist/node-prod/useCartAPIStateMachine.js +326 -0
- package/dist/node-prod/useCartAPIStateMachine.js.map +1 -0
- package/dist/{prod/useCartActions.js → node-prod/useCartActions.cjs} +14 -14
- package/dist/{prod/useCartActions.mjs.map → node-prod/useCartActions.cjs.map} +1 -1
- package/dist/node-prod/useCartActions.js +123 -0
- package/dist/node-prod/useCartActions.js.map +1 -0
- package/dist/{dev/useMoney.js → node-prod/useMoney.cjs} +7 -7
- package/dist/{prod/useMoney.mjs.map → node-prod/useMoney.cjs.map} +1 -1
- package/dist/node-prod/useMoney.js +72 -0
- package/dist/node-prod/useMoney.js.map +1 -0
- package/package.json +35 -20
- package/dist/dev/_virtual/index.js +0 -5
- package/dist/dev/_virtual/index.mjs.map +0 -1
- package/dist/dev/_virtual/use-sync-external-store-shim.development.js +0 -5
- package/dist/dev/_virtual/use-sync-external-store-shim.development.mjs.map +0 -1
- package/dist/dev/_virtual/use-sync-external-store-shim.production.min.js +0 -5
- package/dist/dev/_virtual/use-sync-external-store-shim.production.min.js.map +0 -1
- package/dist/dev/_virtual/use-sync-external-store-shim.production.min.mjs.map +0 -1
- package/dist/dev/_virtual/with-selector.development.js +0 -5
- package/dist/dev/_virtual/with-selector.development.mjs.map +0 -1
- package/dist/dev/_virtual/with-selector.js +0 -5
- package/dist/dev/_virtual/with-selector.mjs.map +0 -1
- package/dist/dev/_virtual/with-selector.production.min.js +0 -5
- package/dist/dev/_virtual/with-selector.production.min.mjs.map +0 -1
- package/dist/dev/index.js.map +0 -1
- package/dist/dev/index.mjs +0 -46
- package/dist/dev/index.mjs.map +0 -1
- package/dist/dev/node_modules/@xstate/fsm/es/index.js +0 -158
- package/dist/dev/node_modules/@xstate/fsm/es/index.js.map +0 -1
- package/dist/dev/node_modules/@xstate/fsm/es/index.mjs.map +0 -1
- package/dist/dev/node_modules/@xstate/react/es/fsm.js +0 -94
- package/dist/dev/node_modules/@xstate/react/es/fsm.mjs.map +0 -1
- package/dist/dev/node_modules/@xstate/react/es/useConstant.js +0 -30
- package/dist/dev/node_modules/@xstate/react/es/useConstant.mjs.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.mjs.map +0 -1
- package/dist/dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js +0 -107
- package/dist/dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs.map +0 -1
- package/dist/dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js +0 -74
- package/dist/dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js.map +0 -1
- package/dist/dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs.map +0 -1
- package/dist/dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +0 -138
- package/dist/dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs.map +0 -1
- package/dist/dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js +0 -60
- package/dist/dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs.map +0 -1
- package/dist/dev/node_modules/use-sync-external-store/shim/index.js +0 -21
- package/dist/dev/node_modules/use-sync-external-store/shim/index.mjs.map +0 -1
- package/dist/dev/node_modules/use-sync-external-store/shim/with-selector.js +0 -12
- package/dist/dev/node_modules/use-sync-external-store/shim/with-selector.mjs.map +0 -1
- package/dist/dev/storefront-api-constants.mjs.map +0 -1
- package/dist/prod/_virtual/index.js +0 -5
- package/dist/prod/_virtual/index.mjs.map +0 -1
- package/dist/prod/_virtual/use-sync-external-store-shim.development.js +0 -5
- package/dist/prod/_virtual/use-sync-external-store-shim.development.mjs.map +0 -1
- package/dist/prod/_virtual/use-sync-external-store-shim.production.min.js +0 -5
- package/dist/prod/_virtual/use-sync-external-store-shim.production.min.js.map +0 -1
- package/dist/prod/_virtual/use-sync-external-store-shim.production.min.mjs.map +0 -1
- package/dist/prod/_virtual/with-selector.development.js +0 -5
- package/dist/prod/_virtual/with-selector.development.mjs.map +0 -1
- package/dist/prod/_virtual/with-selector.js +0 -5
- package/dist/prod/_virtual/with-selector.mjs.map +0 -1
- package/dist/prod/_virtual/with-selector.production.min.js +0 -5
- package/dist/prod/_virtual/with-selector.production.min.mjs.map +0 -1
- package/dist/prod/index.js.map +0 -1
- package/dist/prod/index.mjs +0 -46
- package/dist/prod/index.mjs.map +0 -1
- package/dist/prod/node_modules/@xstate/fsm/es/index.js +0 -158
- package/dist/prod/node_modules/@xstate/fsm/es/index.js.map +0 -1
- package/dist/prod/node_modules/@xstate/fsm/es/index.mjs.map +0 -1
- package/dist/prod/node_modules/@xstate/react/es/fsm.js +0 -94
- package/dist/prod/node_modules/@xstate/react/es/fsm.mjs.map +0 -1
- package/dist/prod/node_modules/@xstate/react/es/useConstant.js +0 -30
- package/dist/prod/node_modules/@xstate/react/es/useConstant.mjs.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.mjs.map +0 -1
- package/dist/prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js +0 -107
- package/dist/prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs.map +0 -1
- package/dist/prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js +0 -74
- package/dist/prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js.map +0 -1
- package/dist/prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs.map +0 -1
- package/dist/prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +0 -138
- package/dist/prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs.map +0 -1
- package/dist/prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js +0 -60
- package/dist/prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs.map +0 -1
- package/dist/prod/node_modules/use-sync-external-store/shim/index.js +0 -21
- package/dist/prod/node_modules/use-sync-external-store/shim/index.mjs.map +0 -1
- package/dist/prod/node_modules/use-sync-external-store/shim/with-selector.js +0 -12
- package/dist/prod/node_modules/use-sync-external-store/shim/with-selector.mjs.map +0 -1
- package/dist/prod/storefront-api-constants.mjs.map +0 -1
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
const CartLineAdd = (cartFragment) => `
|
|
2
|
+
mutation CartLineAdd($cartId: ID!, $lines: [CartLineInput!]!, $numCartLines: Int = 250, $country: CountryCode = ZZ) @inContext(country: $country) {
|
|
3
|
+
cartLinesAdd(cartId: $cartId, lines: $lines) {
|
|
4
|
+
cart {
|
|
5
|
+
...CartFragment
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
${cartFragment}
|
|
11
|
+
`;
|
|
12
|
+
const CartCreate = (cartFragment) => `
|
|
13
|
+
mutation CartCreate($input: CartInput!, $numCartLines: Int = 250, $country: CountryCode = ZZ) @inContext(country: $country) {
|
|
14
|
+
cartCreate(input: $input) {
|
|
15
|
+
cart {
|
|
16
|
+
...CartFragment
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
${cartFragment}
|
|
22
|
+
`;
|
|
23
|
+
const CartLineRemove = (cartFragment) => `
|
|
24
|
+
mutation CartLineRemove($cartId: ID!, $lines: [ID!]!, $numCartLines: Int = 250, $country: CountryCode = ZZ) @inContext(country: $country) {
|
|
25
|
+
cartLinesRemove(cartId: $cartId, lineIds: $lines) {
|
|
26
|
+
cart {
|
|
27
|
+
...CartFragment
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
${cartFragment}
|
|
33
|
+
`;
|
|
34
|
+
const CartLineUpdate = (cartFragment) => `
|
|
35
|
+
mutation CartLineUpdate($cartId: ID!, $lines: [CartLineUpdateInput!]!, $numCartLines: Int = 250, $country: CountryCode = ZZ) @inContext(country: $country) {
|
|
36
|
+
cartLinesUpdate(cartId: $cartId, lines: $lines) {
|
|
37
|
+
cart {
|
|
38
|
+
...CartFragment
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
${cartFragment}
|
|
44
|
+
`;
|
|
45
|
+
const CartNoteUpdate = (cartFragment) => `
|
|
46
|
+
mutation CartNoteUpdate($cartId: ID!, $note: String, $numCartLines: Int = 250, $country: CountryCode = ZZ) @inContext(country: $country) {
|
|
47
|
+
cartNoteUpdate(cartId: $cartId, note: $note) {
|
|
48
|
+
cart {
|
|
49
|
+
...CartFragment
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
${cartFragment}
|
|
55
|
+
`;
|
|
56
|
+
const CartBuyerIdentityUpdate = (cartFragment) => `
|
|
57
|
+
mutation CartBuyerIdentityUpdate(
|
|
58
|
+
$cartId: ID!
|
|
59
|
+
$buyerIdentity: CartBuyerIdentityInput!
|
|
60
|
+
$numCartLines: Int = 250
|
|
61
|
+
$country: CountryCode = ZZ
|
|
62
|
+
) @inContext(country: $country) {
|
|
63
|
+
cartBuyerIdentityUpdate(cartId: $cartId, buyerIdentity: $buyerIdentity) {
|
|
64
|
+
cart {
|
|
65
|
+
...CartFragment
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
${cartFragment}
|
|
71
|
+
`;
|
|
72
|
+
const CartAttributesUpdate = (cartFragment) => `
|
|
73
|
+
mutation CartAttributesUpdate($attributes: [AttributeInput!]!, $cartId: ID!, $numCartLines: Int = 250, $country: CountryCode = ZZ) @inContext(country: $country) {
|
|
74
|
+
cartAttributesUpdate(attributes: $attributes, cartId: $cartId) {
|
|
75
|
+
cart {
|
|
76
|
+
...CartFragment
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
${cartFragment}
|
|
82
|
+
`;
|
|
83
|
+
const CartDiscountCodesUpdate = (cartFragment) => `
|
|
84
|
+
mutation CartDiscountCodesUpdate($cartId: ID!, $discountCodes: [String!], $numCartLines: Int = 250, $country: CountryCode = ZZ) @inContext(country: $country) {
|
|
85
|
+
cartDiscountCodesUpdate(cartId: $cartId, discountCodes: $discountCodes) {
|
|
86
|
+
cart {
|
|
87
|
+
...CartFragment
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
${cartFragment}
|
|
93
|
+
`;
|
|
94
|
+
const CartQuery = (cartFragment) => `
|
|
95
|
+
query CartQuery($id: ID!, $numCartLines: Int = 250, $country: CountryCode = ZZ) @inContext(country: $country) {
|
|
96
|
+
cart(id: $id) {
|
|
97
|
+
...CartFragment
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
${cartFragment}
|
|
102
|
+
`;
|
|
103
|
+
export {
|
|
104
|
+
CartAttributesUpdate,
|
|
105
|
+
CartBuyerIdentityUpdate,
|
|
106
|
+
CartCreate,
|
|
107
|
+
CartDiscountCodesUpdate,
|
|
108
|
+
CartLineAdd,
|
|
109
|
+
CartLineRemove,
|
|
110
|
+
CartLineUpdate,
|
|
111
|
+
CartNoteUpdate,
|
|
112
|
+
CartQuery
|
|
113
|
+
};
|
|
114
|
+
//# sourceMappingURL=cart-queries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cart-queries.js","sources":["../../src/cart-queries.ts"],"sourcesContent":["export const CartLineAdd = (cartFragment: string) => `\nmutation CartLineAdd($cartId: ID!, $lines: [CartLineInput!]!, $numCartLines: Int = 250, $country: CountryCode = ZZ) @inContext(country: $country) {\n cartLinesAdd(cartId: $cartId, lines: $lines) {\n cart {\n ...CartFragment\n }\n }\n}\n\n${cartFragment}\n`;\n\nexport const CartCreate = (cartFragment: string) => `\nmutation CartCreate($input: CartInput!, $numCartLines: Int = 250, $country: CountryCode = ZZ) @inContext(country: $country) {\n cartCreate(input: $input) {\n cart {\n ...CartFragment\n }\n }\n}\n\n${cartFragment}\n`;\n\nexport const CartLineRemove = (cartFragment: string) => `\nmutation CartLineRemove($cartId: ID!, $lines: [ID!]!, $numCartLines: Int = 250, $country: CountryCode = ZZ) @inContext(country: $country) {\n cartLinesRemove(cartId: $cartId, lineIds: $lines) {\n cart {\n ...CartFragment\n }\n }\n}\n\n${cartFragment}\n`;\n\nexport const CartLineUpdate = (cartFragment: string) => `\nmutation CartLineUpdate($cartId: ID!, $lines: [CartLineUpdateInput!]!, $numCartLines: Int = 250, $country: CountryCode = ZZ) @inContext(country: $country) {\n cartLinesUpdate(cartId: $cartId, lines: $lines) {\n cart {\n ...CartFragment\n }\n }\n}\n\n${cartFragment}\n`;\n\nexport const CartNoteUpdate = (cartFragment: string) => `\nmutation CartNoteUpdate($cartId: ID!, $note: String, $numCartLines: Int = 250, $country: CountryCode = ZZ) @inContext(country: $country) {\n cartNoteUpdate(cartId: $cartId, note: $note) {\n cart {\n ...CartFragment\n }\n }\n}\n\n${cartFragment}\n`;\n\nexport const CartBuyerIdentityUpdate = (cartFragment: string) => `\nmutation CartBuyerIdentityUpdate(\n $cartId: ID!\n $buyerIdentity: CartBuyerIdentityInput!\n $numCartLines: Int = 250\n $country: CountryCode = ZZ\n) @inContext(country: $country) {\n cartBuyerIdentityUpdate(cartId: $cartId, buyerIdentity: $buyerIdentity) {\n cart {\n ...CartFragment\n }\n }\n}\n\n${cartFragment}\n`;\n\nexport const CartAttributesUpdate = (cartFragment: string) => `\nmutation CartAttributesUpdate($attributes: [AttributeInput!]!, $cartId: ID!, $numCartLines: Int = 250, $country: CountryCode = ZZ) @inContext(country: $country) {\n cartAttributesUpdate(attributes: $attributes, cartId: $cartId) {\n cart {\n ...CartFragment\n }\n }\n}\n\n${cartFragment}\n`;\n\nexport const CartDiscountCodesUpdate = (cartFragment: string) => `\nmutation CartDiscountCodesUpdate($cartId: ID!, $discountCodes: [String!], $numCartLines: Int = 250, $country: CountryCode = ZZ) @inContext(country: $country) {\n cartDiscountCodesUpdate(cartId: $cartId, discountCodes: $discountCodes) {\n cart {\n ...CartFragment\n }\n }\n}\n\n${cartFragment}\n`;\n\nexport const CartQuery = (cartFragment: string) => `\nquery CartQuery($id: ID!, $numCartLines: Int = 250, $country: CountryCode = ZZ) @inContext(country: $country) {\n cart(id: $id) {\n ...CartFragment\n }\n}\n\n${cartFragment}\n`;\n\nexport const defaultCartFragment = `\nfragment CartFragment on Cart {\n id\n checkoutUrl\n totalQuantity\n buyerIdentity {\n countryCode\n customer {\n id\n email\n firstName\n lastName\n displayName\n }\n email\n phone\n }\n lines(first: $numCartLines) {\n edges {\n node {\n id\n quantity\n attributes {\n key\n value\n }\n cost {\n totalAmount {\n amount\n currencyCode\n }\n compareAtAmountPerQuantity {\n amount\n currencyCode\n }\n }\n merchandise {\n ... on ProductVariant {\n id\n availableForSale\n compareAtPriceV2 {\n ...MoneyFragment\n }\n priceV2 {\n ...MoneyFragment\n }\n requiresShipping\n title\n image {\n ...ImageFragment\n }\n product {\n handle\n title\n id\n }\n selectedOptions {\n name\n value\n }\n }\n }\n }\n }\n }\n cost {\n subtotalAmount {\n ...MoneyFragment\n }\n totalAmount {\n ...MoneyFragment\n }\n totalDutyAmount {\n ...MoneyFragment\n }\n totalTaxAmount {\n ...MoneyFragment\n }\n }\n note\n attributes {\n key\n value\n }\n discountCodes {\n code\n }\n}\n\nfragment MoneyFragment on MoneyV2 {\n currencyCode\n amount\n}\nfragment ImageFragment on Image {\n id\n url\n altText\n width\n height\n}\n`;\n"],"names":[],"mappings":"AAAa,MAAA,cAAc,CAAC,iBAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASnD;AAAA;AAGW,MAAA,aAAa,CAAC,iBAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASlD;AAAA;AAGW,MAAA,iBAAiB,CAAC,iBAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAStD;AAAA;AAGW,MAAA,iBAAiB,CAAC,iBAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAStD;AAAA;AAGW,MAAA,iBAAiB,CAAC,iBAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAStD;AAAA;AAGW,MAAA,0BAA0B,CAAC,iBAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAc/D;AAAA;AAGW,MAAA,uBAAuB,CAAC,iBAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAS5D;AAAA;AAGW,MAAA,0BAA0B,CAAC,iBAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAS/D;AAAA;AAGW,MAAA,YAAY,CAAC,iBAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOjD;AAAA;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flatten-connection.
|
|
1
|
+
{"version":3,"file":"flatten-connection.cjs","sources":["../../src/flatten-connection.ts"],"sourcesContent":["import type {PartialDeep} from 'type-fest';\n\n/**\n * The `flattenConnection` utility transforms a connection object from the Storefront API (for example, [Product-related connections](https://shopify.dev/api/storefront/reference/products/product)) into a flat array of nodes.\n * The utility works with either `nodes` or `edges.node`.\n *\n * If `connection` is null or undefined, will return an empty array instead in production. In development, an error will be thrown.\n */\nexport function flattenConnection<T>(\n connection?: PartialDeep<GraphQLConnection<T>, {recurseIntoArrays: true}>\n): PartialDeep<T, {recurseIntoArrays: true}>[] {\n if (!connection) {\n const noConnectionErr = `flattenConnection(): needs a 'connection' to flatten, but received '${connection}' instead`;\n if (__HYDROGEN_DEV__) {\n throw new Error(noConnectionErr);\n } else {\n console.error(noConnectionErr);\n return [];\n }\n }\n\n if (connection.nodes) {\n return connection.nodes as PartialDeep<T, {recurseIntoArrays: true}>[];\n }\n\n if (connection.edges) {\n return connection.edges.map((edge) => {\n if (!edge?.node) {\n throw new Error('Connection edges must contain nodes');\n }\n return edge.node;\n });\n }\n\n if (__HYDROGEN_DEV__) {\n console.warn(\n `The connection did not contain either \"nodes\" or \"edges.node\". A empty array will be returned in its place.`\n );\n }\n\n return [];\n}\n\ninterface GraphQLConnection<T> {\n edges?: {node: T}[];\n nodes?: T[];\n}\n"],"names":[],"mappings":";;AAQO,SAAS,kBACd,YAC6C;AAC7C,MAAI,CAAC,YAAY;AACf,UAAM,kBAAkB,uEAAuE;AAGxF;AACL,cAAQ,MAAM,eAAe;AAC7B,aAAO;IACT;AAAA,EACF;AAEA,MAAI,WAAW,OAAO;AACpB,WAAO,WAAW;AAAA,EACpB;AAEA,MAAI,WAAW,OAAO;AACpB,WAAO,WAAW,MAAM,IAAI,CAAC,SAAS;AAChC,UAAA,EAAC,6BAAM,OAAM;AACT,cAAA,IAAI,MAAM,qCAAqC;AAAA,MACvD;AACA,aAAO,KAAK;AAAA,IAAA,CACb;AAAA,EACH;AAQA,SAAO;AACT;;"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
function flattenConnection(connection) {
|
|
2
|
+
if (!connection) {
|
|
3
|
+
const noConnectionErr = `flattenConnection(): needs a 'connection' to flatten, but received '${connection}' instead`;
|
|
4
|
+
{
|
|
5
|
+
console.error(noConnectionErr);
|
|
6
|
+
return [];
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
if (connection.nodes) {
|
|
10
|
+
return connection.nodes;
|
|
11
|
+
}
|
|
12
|
+
if (connection.edges) {
|
|
13
|
+
return connection.edges.map((edge) => {
|
|
14
|
+
if (!(edge == null ? void 0 : edge.node)) {
|
|
15
|
+
throw new Error("Connection edges must contain nodes");
|
|
16
|
+
}
|
|
17
|
+
return edge.node;
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return [];
|
|
21
|
+
}
|
|
22
|
+
export {
|
|
23
|
+
flattenConnection
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=flatten-connection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flatten-connection.js","sources":["../../src/flatten-connection.ts"],"sourcesContent":["import type {PartialDeep} from 'type-fest';\n\n/**\n * The `flattenConnection` utility transforms a connection object from the Storefront API (for example, [Product-related connections](https://shopify.dev/api/storefront/reference/products/product)) into a flat array of nodes.\n * The utility works with either `nodes` or `edges.node`.\n *\n * If `connection` is null or undefined, will return an empty array instead in production. In development, an error will be thrown.\n */\nexport function flattenConnection<T>(\n connection?: PartialDeep<GraphQLConnection<T>, {recurseIntoArrays: true}>\n): PartialDeep<T, {recurseIntoArrays: true}>[] {\n if (!connection) {\n const noConnectionErr = `flattenConnection(): needs a 'connection' to flatten, but received '${connection}' instead`;\n if (__HYDROGEN_DEV__) {\n throw new Error(noConnectionErr);\n } else {\n console.error(noConnectionErr);\n return [];\n }\n }\n\n if (connection.nodes) {\n return connection.nodes as PartialDeep<T, {recurseIntoArrays: true}>[];\n }\n\n if (connection.edges) {\n return connection.edges.map((edge) => {\n if (!edge?.node) {\n throw new Error('Connection edges must contain nodes');\n }\n return edge.node;\n });\n }\n\n if (__HYDROGEN_DEV__) {\n console.warn(\n `The connection did not contain either \"nodes\" or \"edges.node\". A empty array will be returned in its place.`\n );\n }\n\n return [];\n}\n\ninterface GraphQLConnection<T> {\n edges?: {node: T}[];\n nodes?: T[];\n}\n"],"names":[],"mappings":"AAQO,SAAS,kBACd,YAC6C;AAC7C,MAAI,CAAC,YAAY;AACf,UAAM,kBAAkB,uEAAuE;AAGxF;AACL,cAAQ,MAAM,eAAe;AAC7B,aAAO;IACT;AAAA,EACF;AAEA,MAAI,WAAW,OAAO;AACpB,WAAO,WAAW;AAAA,EACpB;AAEA,MAAI,WAAW,OAAO;AACpB,WAAO,WAAW,MAAM,IAAI,CAAC,SAAS;AAChC,UAAA,EAAC,6BAAM,OAAM;AACT,cAAA,IAAI,MAAM,qCAAqC;AAAA,MACvD;AACA,aAAO,KAAK;AAAA,IAAA,CACb;AAAA,EACH;AAQA,SAAO;AACT;"}
|
|
@@ -77,4 +77,4 @@ exports.IMG_SRC_SET_SIZES = IMG_SRC_SET_SIZES;
|
|
|
77
77
|
exports.addImageSizeParametersToUrl = addImageSizeParametersToUrl;
|
|
78
78
|
exports.getShopifyImageDimensions = getShopifyImageDimensions;
|
|
79
79
|
exports.shopifyImageLoader = shopifyImageLoader;
|
|
80
|
-
//# sourceMappingURL=image-size.
|
|
80
|
+
//# sourceMappingURL=image-size.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-size.
|
|
1
|
+
{"version":3,"file":"image-size.cjs","sources":["../../src/image-size.ts"],"sourcesContent":["import type {Image as ImageType} from './storefront-api-types.js';\nimport type {PartialDeep} from 'type-fest';\nimport type {ShopifyLoaderOptions, ShopifyLoaderParams} from './Image.js';\n\n// TODO: Are there other CDNs missing from here?\nconst PRODUCTION_CDN_HOSTNAMES = [\n 'cdn.shopify.com',\n 'cdn.shopifycdn.net',\n 'shopify-assets.shopifycdn.com',\n 'shopify-assets.shopifycdn.net',\n];\nconst LOCAL_CDN_HOSTNAMES = ['spin.dev'];\nconst ALL_CDN_HOSTNAMES = [...PRODUCTION_CDN_HOSTNAMES, ...LOCAL_CDN_HOSTNAMES];\n\n// based on the default width sizes used by the Shopify liquid HTML tag img_tag plus a 2560 width to account for 2k resolutions\n// reference: https://shopify.dev/api/liquid/filters/html-filters#image_tag\nexport const IMG_SRC_SET_SIZES = [352, 832, 1200, 1920, 2560];\n\n/**\n * Adds image size parameters to an image URL hosted by Shopify's CDN\n */\nexport function addImageSizeParametersToUrl({\n src,\n width,\n height,\n crop,\n scale,\n}: ShopifyLoaderParams) {\n const newUrl = new URL(src);\n\n const multipliedScale = scale ?? 1;\n\n if (width) {\n let finalWidth: string;\n\n if (typeof width === 'string') {\n finalWidth = (IMG_SRC_SET_SIZES[0] * multipliedScale).toString();\n } else {\n finalWidth = (Number(width) * multipliedScale).toString();\n }\n\n newUrl.searchParams.append('width', finalWidth);\n }\n\n if (height && typeof height === 'number') {\n newUrl.searchParams.append('height', (height * multipliedScale).toString());\n }\n\n crop && newUrl.searchParams.append('crop', crop);\n\n // for now we intentionally leave off the scale param, and instead multiple width & height by scale instead\n // scale && newUrl.searchParams.append('scale', scale.toString());\n\n return newUrl.toString();\n}\n\nexport function shopifyImageLoader(params: ShopifyLoaderParams) {\n const newSrc = new URL(params.src);\n const isShopifyServedImage = ALL_CDN_HOSTNAMES.some((allowedHostname) =>\n newSrc.hostname.endsWith(allowedHostname)\n );\n\n if (\n !isShopifyServedImage ||\n (!params.width && !params.height && !params.crop && !params.scale)\n ) {\n return params.src;\n }\n\n return addImageSizeParametersToUrl(params);\n}\n\ntype HtmlImageProps = React.ImgHTMLAttributes<HTMLImageElement>;\n\nexport type GetShopifyImageDimensionsProps = {\n data: Pick<\n PartialDeep<ImageType, {recurseIntoArrays: true}>,\n 'altText' | 'url' | 'id' | 'width' | 'height'\n >;\n loaderOptions?: ShopifyLoaderOptions;\n elementProps?: {\n width?: HtmlImageProps['width'];\n height?: HtmlImageProps['height'];\n };\n};\n\ntype GetShopifyImageDimensionsPropsReturn = {\n width: number | string | null;\n height: number | string | null;\n};\n\n/**\n * Width and height are determined using the followiing priority list:\n * 1. `loaderOptions`'s width/height\n * 2. `elementProps`'s width/height\n * 3. `data`'s width/height\n *\n * If only one of `width` or `height` are defined, then the other will attempt to be calculated based on the Image's aspect ratio,\n * provided that both `data.width` and `data.height` are available. If not, then the aspect ratio cannot be determined and the missing\n * value will reamin as `null`\n */\nexport function getShopifyImageDimensions({\n data: sfapiImage,\n loaderOptions,\n elementProps,\n}: GetShopifyImageDimensionsProps): GetShopifyImageDimensionsPropsReturn {\n let aspectRatio: number | null = null;\n\n if (sfapiImage?.width && sfapiImage?.height) {\n aspectRatio = sfapiImage?.width / sfapiImage?.height;\n }\n\n // * 1. `loaderOptions`'s width/height\n if (loaderOptions?.width || loaderOptions?.height) {\n return {\n width:\n loaderOptions?.width ??\n (aspectRatio && typeof loaderOptions.height === 'number'\n ? Math.round(aspectRatio * loaderOptions.height)\n : null),\n height:\n loaderOptions?.height ??\n (aspectRatio && typeof loaderOptions.width === 'number'\n ? Math.round(aspectRatio * loaderOptions.width)\n : null),\n };\n }\n\n // * 2. `elementProps`'s width/height\n if (elementProps?.width || elementProps?.height) {\n return {\n width:\n elementProps?.width ??\n (aspectRatio && typeof elementProps.height === 'number'\n ? Math.round(aspectRatio * elementProps.height)\n : null),\n height:\n elementProps?.height ??\n (aspectRatio && typeof elementProps.width === 'number'\n ? Math.round(aspectRatio * elementProps.width)\n : null),\n };\n }\n\n // * 3. `data`'s width/height\n if (sfapiImage?.width || sfapiImage?.height) {\n return {\n // can't calculate the aspect ratio here\n width: sfapiImage?.width ?? null,\n height: sfapiImage?.height ?? null,\n };\n }\n\n return {width: null, height: null};\n}\n"],"names":[],"mappings":";;AAKA,MAAM,2BAA2B;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACA,MAAM,sBAAsB,CAAC,UAAU;AACvC,MAAM,oBAAoB,CAAC,GAAG,0BAA0B,GAAG,mBAAmB;AAIvE,MAAM,oBAAoB,CAAC,KAAK,KAAK,MAAM,MAAM,IAAI;AAKrD,SAAS,4BAA4B;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAwB;AAChB,QAAA,SAAS,IAAI,IAAI,GAAG;AAE1B,QAAM,kBAAkB,wBAAS;AAEjC,MAAI,OAAO;AACL,QAAA;AAEA,QAAA,OAAO,UAAU,UAAU;AACf,oBAAA,kBAAkB,KAAK,iBAAiB,SAAS;AAAA,IAAA,OAC1D;AACL,oBAAc,OAAO,KAAK,IAAI,iBAAiB,SAAS;AAAA,IAC1D;AAEO,WAAA,aAAa,OAAO,SAAS,UAAU;AAAA,EAChD;AAEI,MAAA,UAAU,OAAO,WAAW,UAAU;AACxC,WAAO,aAAa,OAAO,WAAW,SAAS,iBAAiB,UAAU;AAAA,EAC5E;AAEA,UAAQ,OAAO,aAAa,OAAO,QAAQ,IAAI;AAK/C,SAAO,OAAO;AAChB;AAEO,SAAS,mBAAmB,QAA6B;AAC9D,QAAM,SAAS,IAAI,IAAI,OAAO,GAAG;AACjC,QAAM,uBAAuB,kBAAkB;AAAA,IAAK,CAAC,oBACnD,OAAO,SAAS,SAAS,eAAe;AAAA,EAAA;AAG1C,MACE,CAAC,wBACA,CAAC,OAAO,SAAS,CAAC,OAAO,UAAU,CAAC,OAAO,QAAQ,CAAC,OAAO,OAC5D;AACA,WAAO,OAAO;AAAA,EAChB;AAEA,SAAO,4BAA4B,MAAM;AAC3C;AA+BO,SAAS,0BAA0B;AAAA,EACxC,MAAM;AAAA,EACN;AAAA,EACA;AACF,GAAyE;;AACvE,MAAI,cAA6B;AAE7B,OAAA,yCAAY,WAAS,yCAAY,SAAQ;AAC7B,mBAAA,yCAAY,UAAQ,yCAAY;AAAA,EAChD;AAGI,OAAA,+CAAe,WAAS,+CAAe,SAAQ;AAC1C,WAAA;AAAA,MACL,QACE,oDAAe,UAAf,YACC,eAAe,OAAO,cAAc,WAAW,WAC5C,KAAK,MAAM,cAAc,cAAc,MAAM,IAC7C;AAAA,MACN,SACE,oDAAe,WAAf,YACC,eAAe,OAAO,cAAc,UAAU,WAC3C,KAAK,MAAM,cAAc,cAAc,KAAK,IAC5C;AAAA,IAAA;AAAA,EAEV;AAGI,OAAA,6CAAc,WAAS,6CAAc,SAAQ;AACxC,WAAA;AAAA,MACL,QACE,kDAAc,UAAd,YACC,eAAe,OAAO,aAAa,WAAW,WAC3C,KAAK,MAAM,cAAc,aAAa,MAAM,IAC5C;AAAA,MACN,SACE,kDAAc,WAAd,YACC,eAAe,OAAO,aAAa,UAAU,WAC1C,KAAK,MAAM,cAAc,aAAa,KAAK,IAC3C;AAAA,IAAA;AAAA,EAEV;AAGI,OAAA,yCAAY,WAAS,yCAAY,SAAQ;AACpC,WAAA;AAAA,MAEL,QAAO,8CAAY,UAAZ,YAAqB;AAAA,MAC5B,SAAQ,8CAAY,WAAZ,YAAsB;AAAA,IAAA;AAAA,EAElC;AAEA,SAAO,EAAC,OAAO,MAAM,QAAQ,KAAI;AACnC;;;;;"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
const PRODUCTION_CDN_HOSTNAMES = [
|
|
2
|
+
"cdn.shopify.com",
|
|
3
|
+
"cdn.shopifycdn.net",
|
|
4
|
+
"shopify-assets.shopifycdn.com",
|
|
5
|
+
"shopify-assets.shopifycdn.net"
|
|
6
|
+
];
|
|
7
|
+
const LOCAL_CDN_HOSTNAMES = ["spin.dev"];
|
|
8
|
+
const ALL_CDN_HOSTNAMES = [...PRODUCTION_CDN_HOSTNAMES, ...LOCAL_CDN_HOSTNAMES];
|
|
9
|
+
const IMG_SRC_SET_SIZES = [352, 832, 1200, 1920, 2560];
|
|
10
|
+
function addImageSizeParametersToUrl({
|
|
11
|
+
src,
|
|
12
|
+
width,
|
|
13
|
+
height,
|
|
14
|
+
crop,
|
|
15
|
+
scale
|
|
16
|
+
}) {
|
|
17
|
+
const newUrl = new URL(src);
|
|
18
|
+
const multipliedScale = scale != null ? scale : 1;
|
|
19
|
+
if (width) {
|
|
20
|
+
let finalWidth;
|
|
21
|
+
if (typeof width === "string") {
|
|
22
|
+
finalWidth = (IMG_SRC_SET_SIZES[0] * multipliedScale).toString();
|
|
23
|
+
} else {
|
|
24
|
+
finalWidth = (Number(width) * multipliedScale).toString();
|
|
25
|
+
}
|
|
26
|
+
newUrl.searchParams.append("width", finalWidth);
|
|
27
|
+
}
|
|
28
|
+
if (height && typeof height === "number") {
|
|
29
|
+
newUrl.searchParams.append("height", (height * multipliedScale).toString());
|
|
30
|
+
}
|
|
31
|
+
crop && newUrl.searchParams.append("crop", crop);
|
|
32
|
+
return newUrl.toString();
|
|
33
|
+
}
|
|
34
|
+
function shopifyImageLoader(params) {
|
|
35
|
+
const newSrc = new URL(params.src);
|
|
36
|
+
const isShopifyServedImage = ALL_CDN_HOSTNAMES.some(
|
|
37
|
+
(allowedHostname) => newSrc.hostname.endsWith(allowedHostname)
|
|
38
|
+
);
|
|
39
|
+
if (!isShopifyServedImage || !params.width && !params.height && !params.crop && !params.scale) {
|
|
40
|
+
return params.src;
|
|
41
|
+
}
|
|
42
|
+
return addImageSizeParametersToUrl(params);
|
|
43
|
+
}
|
|
44
|
+
function getShopifyImageDimensions({
|
|
45
|
+
data: sfapiImage,
|
|
46
|
+
loaderOptions,
|
|
47
|
+
elementProps
|
|
48
|
+
}) {
|
|
49
|
+
var _a, _b, _c, _d, _e, _f;
|
|
50
|
+
let aspectRatio = null;
|
|
51
|
+
if ((sfapiImage == null ? void 0 : sfapiImage.width) && (sfapiImage == null ? void 0 : sfapiImage.height)) {
|
|
52
|
+
aspectRatio = (sfapiImage == null ? void 0 : sfapiImage.width) / (sfapiImage == null ? void 0 : sfapiImage.height);
|
|
53
|
+
}
|
|
54
|
+
if ((loaderOptions == null ? void 0 : loaderOptions.width) || (loaderOptions == null ? void 0 : loaderOptions.height)) {
|
|
55
|
+
return {
|
|
56
|
+
width: (_a = loaderOptions == null ? void 0 : loaderOptions.width) != null ? _a : aspectRatio && typeof loaderOptions.height === "number" ? Math.round(aspectRatio * loaderOptions.height) : null,
|
|
57
|
+
height: (_b = loaderOptions == null ? void 0 : loaderOptions.height) != null ? _b : aspectRatio && typeof loaderOptions.width === "number" ? Math.round(aspectRatio * loaderOptions.width) : null
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
if ((elementProps == null ? void 0 : elementProps.width) || (elementProps == null ? void 0 : elementProps.height)) {
|
|
61
|
+
return {
|
|
62
|
+
width: (_c = elementProps == null ? void 0 : elementProps.width) != null ? _c : aspectRatio && typeof elementProps.height === "number" ? Math.round(aspectRatio * elementProps.height) : null,
|
|
63
|
+
height: (_d = elementProps == null ? void 0 : elementProps.height) != null ? _d : aspectRatio && typeof elementProps.width === "number" ? Math.round(aspectRatio * elementProps.width) : null
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
if ((sfapiImage == null ? void 0 : sfapiImage.width) || (sfapiImage == null ? void 0 : sfapiImage.height)) {
|
|
67
|
+
return {
|
|
68
|
+
width: (_e = sfapiImage == null ? void 0 : sfapiImage.width) != null ? _e : null,
|
|
69
|
+
height: (_f = sfapiImage == null ? void 0 : sfapiImage.height) != null ? _f : null
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
return { width: null, height: null };
|
|
73
|
+
}
|
|
74
|
+
export {
|
|
75
|
+
IMG_SRC_SET_SIZES,
|
|
76
|
+
addImageSizeParametersToUrl,
|
|
77
|
+
getShopifyImageDimensions,
|
|
78
|
+
shopifyImageLoader
|
|
79
|
+
};
|
|
80
|
+
//# sourceMappingURL=image-size.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-size.js","sources":["../../src/image-size.ts"],"sourcesContent":["import type {Image as ImageType} from './storefront-api-types.js';\nimport type {PartialDeep} from 'type-fest';\nimport type {ShopifyLoaderOptions, ShopifyLoaderParams} from './Image.js';\n\n// TODO: Are there other CDNs missing from here?\nconst PRODUCTION_CDN_HOSTNAMES = [\n 'cdn.shopify.com',\n 'cdn.shopifycdn.net',\n 'shopify-assets.shopifycdn.com',\n 'shopify-assets.shopifycdn.net',\n];\nconst LOCAL_CDN_HOSTNAMES = ['spin.dev'];\nconst ALL_CDN_HOSTNAMES = [...PRODUCTION_CDN_HOSTNAMES, ...LOCAL_CDN_HOSTNAMES];\n\n// based on the default width sizes used by the Shopify liquid HTML tag img_tag plus a 2560 width to account for 2k resolutions\n// reference: https://shopify.dev/api/liquid/filters/html-filters#image_tag\nexport const IMG_SRC_SET_SIZES = [352, 832, 1200, 1920, 2560];\n\n/**\n * Adds image size parameters to an image URL hosted by Shopify's CDN\n */\nexport function addImageSizeParametersToUrl({\n src,\n width,\n height,\n crop,\n scale,\n}: ShopifyLoaderParams) {\n const newUrl = new URL(src);\n\n const multipliedScale = scale ?? 1;\n\n if (width) {\n let finalWidth: string;\n\n if (typeof width === 'string') {\n finalWidth = (IMG_SRC_SET_SIZES[0] * multipliedScale).toString();\n } else {\n finalWidth = (Number(width) * multipliedScale).toString();\n }\n\n newUrl.searchParams.append('width', finalWidth);\n }\n\n if (height && typeof height === 'number') {\n newUrl.searchParams.append('height', (height * multipliedScale).toString());\n }\n\n crop && newUrl.searchParams.append('crop', crop);\n\n // for now we intentionally leave off the scale param, and instead multiple width & height by scale instead\n // scale && newUrl.searchParams.append('scale', scale.toString());\n\n return newUrl.toString();\n}\n\nexport function shopifyImageLoader(params: ShopifyLoaderParams) {\n const newSrc = new URL(params.src);\n const isShopifyServedImage = ALL_CDN_HOSTNAMES.some((allowedHostname) =>\n newSrc.hostname.endsWith(allowedHostname)\n );\n\n if (\n !isShopifyServedImage ||\n (!params.width && !params.height && !params.crop && !params.scale)\n ) {\n return params.src;\n }\n\n return addImageSizeParametersToUrl(params);\n}\n\ntype HtmlImageProps = React.ImgHTMLAttributes<HTMLImageElement>;\n\nexport type GetShopifyImageDimensionsProps = {\n data: Pick<\n PartialDeep<ImageType, {recurseIntoArrays: true}>,\n 'altText' | 'url' | 'id' | 'width' | 'height'\n >;\n loaderOptions?: ShopifyLoaderOptions;\n elementProps?: {\n width?: HtmlImageProps['width'];\n height?: HtmlImageProps['height'];\n };\n};\n\ntype GetShopifyImageDimensionsPropsReturn = {\n width: number | string | null;\n height: number | string | null;\n};\n\n/**\n * Width and height are determined using the followiing priority list:\n * 1. `loaderOptions`'s width/height\n * 2. `elementProps`'s width/height\n * 3. `data`'s width/height\n *\n * If only one of `width` or `height` are defined, then the other will attempt to be calculated based on the Image's aspect ratio,\n * provided that both `data.width` and `data.height` are available. If not, then the aspect ratio cannot be determined and the missing\n * value will reamin as `null`\n */\nexport function getShopifyImageDimensions({\n data: sfapiImage,\n loaderOptions,\n elementProps,\n}: GetShopifyImageDimensionsProps): GetShopifyImageDimensionsPropsReturn {\n let aspectRatio: number | null = null;\n\n if (sfapiImage?.width && sfapiImage?.height) {\n aspectRatio = sfapiImage?.width / sfapiImage?.height;\n }\n\n // * 1. `loaderOptions`'s width/height\n if (loaderOptions?.width || loaderOptions?.height) {\n return {\n width:\n loaderOptions?.width ??\n (aspectRatio && typeof loaderOptions.height === 'number'\n ? Math.round(aspectRatio * loaderOptions.height)\n : null),\n height:\n loaderOptions?.height ??\n (aspectRatio && typeof loaderOptions.width === 'number'\n ? Math.round(aspectRatio * loaderOptions.width)\n : null),\n };\n }\n\n // * 2. `elementProps`'s width/height\n if (elementProps?.width || elementProps?.height) {\n return {\n width:\n elementProps?.width ??\n (aspectRatio && typeof elementProps.height === 'number'\n ? Math.round(aspectRatio * elementProps.height)\n : null),\n height:\n elementProps?.height ??\n (aspectRatio && typeof elementProps.width === 'number'\n ? Math.round(aspectRatio * elementProps.width)\n : null),\n };\n }\n\n // * 3. `data`'s width/height\n if (sfapiImage?.width || sfapiImage?.height) {\n return {\n // can't calculate the aspect ratio here\n width: sfapiImage?.width ?? null,\n height: sfapiImage?.height ?? null,\n };\n }\n\n return {width: null, height: null};\n}\n"],"names":[],"mappings":"AAKA,MAAM,2BAA2B;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACA,MAAM,sBAAsB,CAAC,UAAU;AACvC,MAAM,oBAAoB,CAAC,GAAG,0BAA0B,GAAG,mBAAmB;AAIvE,MAAM,oBAAoB,CAAC,KAAK,KAAK,MAAM,MAAM,IAAI;AAKrD,SAAS,4BAA4B;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAwB;AAChB,QAAA,SAAS,IAAI,IAAI,GAAG;AAE1B,QAAM,kBAAkB,wBAAS;AAEjC,MAAI,OAAO;AACL,QAAA;AAEA,QAAA,OAAO,UAAU,UAAU;AACf,oBAAA,kBAAkB,KAAK,iBAAiB,SAAS;AAAA,IAAA,OAC1D;AACL,oBAAc,OAAO,KAAK,IAAI,iBAAiB,SAAS;AAAA,IAC1D;AAEO,WAAA,aAAa,OAAO,SAAS,UAAU;AAAA,EAChD;AAEI,MAAA,UAAU,OAAO,WAAW,UAAU;AACxC,WAAO,aAAa,OAAO,WAAW,SAAS,iBAAiB,UAAU;AAAA,EAC5E;AAEA,UAAQ,OAAO,aAAa,OAAO,QAAQ,IAAI;AAK/C,SAAO,OAAO;AAChB;AAEO,SAAS,mBAAmB,QAA6B;AAC9D,QAAM,SAAS,IAAI,IAAI,OAAO,GAAG;AACjC,QAAM,uBAAuB,kBAAkB;AAAA,IAAK,CAAC,oBACnD,OAAO,SAAS,SAAS,eAAe;AAAA,EAAA;AAG1C,MACE,CAAC,wBACA,CAAC,OAAO,SAAS,CAAC,OAAO,UAAU,CAAC,OAAO,QAAQ,CAAC,OAAO,OAC5D;AACA,WAAO,OAAO;AAAA,EAChB;AAEA,SAAO,4BAA4B,MAAM;AAC3C;AA+BO,SAAS,0BAA0B;AAAA,EACxC,MAAM;AAAA,EACN;AAAA,EACA;AACF,GAAyE;AApGzE;AAqGE,MAAI,cAA6B;AAE7B,OAAA,yCAAY,WAAS,yCAAY,SAAQ;AAC7B,mBAAA,yCAAY,UAAQ,yCAAY;AAAA,EAChD;AAGI,OAAA,+CAAe,WAAS,+CAAe,SAAQ;AAC1C,WAAA;AAAA,MACL,QACE,oDAAe,UAAf,YACC,eAAe,OAAO,cAAc,WAAW,WAC5C,KAAK,MAAM,cAAc,cAAc,MAAM,IAC7C;AAAA,MACN,SACE,oDAAe,WAAf,YACC,eAAe,OAAO,cAAc,UAAU,WAC3C,KAAK,MAAM,cAAc,cAAc,KAAK,IAC5C;AAAA,IAAA;AAAA,EAEV;AAGI,OAAA,6CAAc,WAAS,6CAAc,SAAQ;AACxC,WAAA;AAAA,MACL,QACE,kDAAc,UAAd,YACC,eAAe,OAAO,aAAa,WAAW,WAC3C,KAAK,MAAM,cAAc,aAAa,MAAM,IAC5C;AAAA,MACN,SACE,kDAAc,WAAd,YACC,eAAe,OAAO,aAAa,UAAU,WAC1C,KAAK,MAAM,cAAc,aAAa,KAAK,IAC3C;AAAA,IAAA;AAAA,EAEV;AAGI,OAAA,yCAAY,WAAS,yCAAY,SAAQ;AACpC,WAAA;AAAA,MAEL,QAAO,8CAAY,UAAZ,YAAqB;AAAA,MAC5B,SAAQ,8CAAY,WAAZ,YAAsB;AAAA,IAAA;AAAA,EAElC;AAEA,SAAO,EAAC,OAAO,MAAM,QAAQ,KAAI;AACnC;"}
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
-
const AddToCartButton = require("./AddToCartButton.
|
|
4
|
-
const BuyNowButton = require("./BuyNowButton.
|
|
5
|
-
const CartCheckoutButton = require("./CartCheckoutButton.
|
|
6
|
-
const CartProvider = require("./CartProvider.
|
|
7
|
-
const ExternalVideo = require("./ExternalVideo.
|
|
8
|
-
const flattenConnection = require("./flatten-connection.
|
|
9
|
-
const Image = require("./Image.
|
|
10
|
-
const MediaFile = require("./MediaFile.
|
|
11
|
-
const metafieldParser = require("./metafield-parser.
|
|
12
|
-
const Metafield = require("./Metafield.
|
|
13
|
-
const ModelViewer = require("./ModelViewer.
|
|
14
|
-
const Money = require("./Money.
|
|
15
|
-
const ProductPrice = require("./ProductPrice.
|
|
16
|
-
const ProductProvider = require("./ProductProvider.
|
|
17
|
-
const ShopifyProvider = require("./ShopifyProvider.
|
|
18
|
-
const ShopPayButton = require("./ShopPayButton.
|
|
19
|
-
const storefrontClient = require("./storefront-client.
|
|
20
|
-
const useMoney = require("./useMoney.
|
|
21
|
-
const Video = require("./Video.
|
|
3
|
+
const AddToCartButton = require("./AddToCartButton.cjs");
|
|
4
|
+
const BuyNowButton = require("./BuyNowButton.cjs");
|
|
5
|
+
const CartCheckoutButton = require("./CartCheckoutButton.cjs");
|
|
6
|
+
const CartProvider = require("./CartProvider.cjs");
|
|
7
|
+
const ExternalVideo = require("./ExternalVideo.cjs");
|
|
8
|
+
const flattenConnection = require("./flatten-connection.cjs");
|
|
9
|
+
const Image = require("./Image.cjs");
|
|
10
|
+
const MediaFile = require("./MediaFile.cjs");
|
|
11
|
+
const metafieldParser = require("./metafield-parser.cjs");
|
|
12
|
+
const Metafield = require("./Metafield.cjs");
|
|
13
|
+
const ModelViewer = require("./ModelViewer.cjs");
|
|
14
|
+
const Money = require("./Money.cjs");
|
|
15
|
+
const ProductPrice = require("./ProductPrice.cjs");
|
|
16
|
+
const ProductProvider = require("./ProductProvider.cjs");
|
|
17
|
+
const ShopifyProvider = require("./ShopifyProvider.cjs");
|
|
18
|
+
const ShopPayButton = require("./ShopPayButton.cjs");
|
|
19
|
+
const storefrontClient = require("./storefront-client.cjs");
|
|
20
|
+
const useMoney = require("./useMoney.cjs");
|
|
21
|
+
const Video = require("./Video.cjs");
|
|
22
22
|
exports.AddToCartButton = AddToCartButton.AddToCartButton;
|
|
23
23
|
exports.BuyNowButton = BuyNowButton.BuyNowButton;
|
|
24
24
|
exports.CartCheckoutButton = CartCheckoutButton.CartCheckoutButton;
|
|
@@ -43,4 +43,4 @@ exports.ShopPayButton = ShopPayButton.ShopPayButton;
|
|
|
43
43
|
exports.createStorefrontClient = storefrontClient.createStorefrontClient;
|
|
44
44
|
exports.useMoney = useMoney.useMoney;
|
|
45
45
|
exports.Video = Video.Video;
|
|
46
|
-
//# sourceMappingURL=index.
|
|
46
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { AddToCartButton } from "./AddToCartButton.js";
|
|
2
|
+
import { BuyNowButton } from "./BuyNowButton.js";
|
|
3
|
+
import { CartCheckoutButton } from "./CartCheckoutButton.js";
|
|
4
|
+
import { CartProvider, useCart } from "./CartProvider.js";
|
|
5
|
+
import { ExternalVideo } from "./ExternalVideo.js";
|
|
6
|
+
import { flattenConnection } from "./flatten-connection.js";
|
|
7
|
+
import { Image } from "./Image.js";
|
|
8
|
+
import { MediaFile } from "./MediaFile.js";
|
|
9
|
+
import { metafieldParser } from "./metafield-parser.js";
|
|
10
|
+
import { Metafield, parseMetafield, parseMetafieldValue } from "./Metafield.js";
|
|
11
|
+
import { ModelViewer } from "./ModelViewer.js";
|
|
12
|
+
import { Money } from "./Money.js";
|
|
13
|
+
import { ProductPrice } from "./ProductPrice.js";
|
|
14
|
+
import { ProductProvider, useProduct } from "./ProductProvider.js";
|
|
15
|
+
import { ShopifyProvider, useShop } from "./ShopifyProvider.js";
|
|
16
|
+
import { ShopPayButton } from "./ShopPayButton.js";
|
|
17
|
+
import { createStorefrontClient } from "./storefront-client.js";
|
|
18
|
+
import { useMoney } from "./useMoney.js";
|
|
19
|
+
import { Video } from "./Video.js";
|
|
20
|
+
export {
|
|
21
|
+
AddToCartButton,
|
|
22
|
+
BuyNowButton,
|
|
23
|
+
CartCheckoutButton,
|
|
24
|
+
CartProvider,
|
|
25
|
+
ExternalVideo,
|
|
26
|
+
Image,
|
|
27
|
+
MediaFile,
|
|
28
|
+
Metafield,
|
|
29
|
+
ModelViewer,
|
|
30
|
+
Money,
|
|
31
|
+
ProductPrice,
|
|
32
|
+
ProductProvider,
|
|
33
|
+
ShopPayButton,
|
|
34
|
+
ShopifyProvider,
|
|
35
|
+
Video,
|
|
36
|
+
createStorefrontClient,
|
|
37
|
+
flattenConnection,
|
|
38
|
+
metafieldParser,
|
|
39
|
+
parseMetafield,
|
|
40
|
+
parseMetafieldValue,
|
|
41
|
+
useCart,
|
|
42
|
+
useMoney,
|
|
43
|
+
useProduct,
|
|
44
|
+
useShop
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
-
const
|
|
3
|
+
const react = require("react");
|
|
4
4
|
const SCRIPTS_LOADED = {};
|
|
5
5
|
function loadScript(src, options) {
|
|
6
6
|
const isScriptLoaded = SCRIPTS_LOADED[src];
|
|
@@ -31,9 +31,9 @@ function loadScript(src, options) {
|
|
|
31
31
|
return promise;
|
|
32
32
|
}
|
|
33
33
|
function useLoadScript(url, options) {
|
|
34
|
-
const [status, setStatus] =
|
|
34
|
+
const [status, setStatus] = react.useState("loading");
|
|
35
35
|
const stringifiedOptions = JSON.stringify(options);
|
|
36
|
-
|
|
36
|
+
react.useEffect(() => {
|
|
37
37
|
async function loadScriptWrapper() {
|
|
38
38
|
try {
|
|
39
39
|
setStatus("loading");
|
|
@@ -49,4 +49,4 @@ function useLoadScript(url, options) {
|
|
|
49
49
|
}
|
|
50
50
|
exports.loadScript = loadScript;
|
|
51
51
|
exports.useLoadScript = useLoadScript;
|
|
52
|
-
//# sourceMappingURL=load-script.
|
|
52
|
+
//# sourceMappingURL=load-script.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-script.
|
|
1
|
+
{"version":3,"file":"load-script.cjs","sources":["../../src/load-script.tsx"],"sourcesContent":["import {useState, useEffect} from 'react';\n\nconst SCRIPTS_LOADED: Record<string, Promise<boolean>> = {};\n\nexport function loadScript(\n src: string,\n options?: {module?: boolean; in?: 'head' | 'body'}\n): Promise<boolean> {\n const isScriptLoaded: Promise<boolean> = SCRIPTS_LOADED[src];\n\n if (isScriptLoaded) {\n return isScriptLoaded;\n }\n\n const promise = new Promise<boolean>((resolve, reject) => {\n const script = document.createElement('script');\n if (options?.module) {\n script.type = 'module';\n } else {\n script.type = 'text/javascript';\n }\n script.src = src;\n script.onload = () => {\n resolve(true);\n };\n script.onerror = () => {\n reject(false);\n };\n if (options?.in === 'head') {\n document.head.appendChild(script);\n } else {\n document.body.appendChild(script);\n }\n });\n\n SCRIPTS_LOADED[src] = promise;\n\n return promise;\n}\n\ntype LoadScriptParams = Parameters<typeof loadScript>;\n\n/**\n * The `useLoadScript` hook loads an external script tag in the browser. It allows React components to lazy-load large third-party dependencies.\n */\nexport function useLoadScript(\n url: LoadScriptParams[0],\n options?: LoadScriptParams[1]\n): ScriptState {\n const [status, setStatus] = useState<ScriptState>('loading');\n const stringifiedOptions = JSON.stringify(options);\n\n useEffect(() => {\n async function loadScriptWrapper() {\n try {\n setStatus('loading');\n await loadScript(url, options);\n setStatus('done');\n } catch (error) {\n setStatus('error');\n }\n }\n\n loadScriptWrapper();\n }, [url, stringifiedOptions, options]);\n\n return status;\n}\n\ntype ScriptState = 'loading' | 'done' | 'error';\n"],"names":["SCRIPTS_LOADED","loadScript","src","options","isScriptLoaded","promise","Promise","resolve","reject","script","document","createElement","module","type","onload","onerror","in","head","appendChild","body","useLoadScript","url","status","setStatus","useState","stringifiedOptions","JSON","stringify","useEffect","loadScriptWrapper","error"],"mappings":";;;AAEA,MAAMA,iBAAmD,CAAA;AAEzCC,SAAAA,WACdC,KACAC,SACkB;AAClB,QAAMC,iBAAmCJ,eAAeE;AAExD,MAAIE,gBAAgB;AACXA,WAAAA;AAAAA,EACR;AAED,QAAMC,UAAU,IAAIC,QAAiB,CAACC,SAASC,WAAW;AAClDC,UAAAA,SAASC,SAASC,cAAc,QAAvB;AACf,QAAIR,mCAASS,QAAQ;AACnBH,aAAOI,OAAO;AAAA,IAAA,OACT;AACLJ,aAAOI,OAAO;AAAA,IACf;AACDJ,WAAOP,MAAMA;AACbO,WAAOK,SAAS,MAAM;AACpBP,cAAQ,IAAD;AAAA,IAAA;AAETE,WAAOM,UAAU,MAAM;AACrBP,aAAO,KAAD;AAAA,IAAA;AAEJL,SAAAA,mCAASa,QAAO,QAAQ;AACjBC,eAAAA,KAAKC,YAAYT,MAA1B;AAAA,IAAA,OACK;AACIU,eAAAA,KAAKD,YAAYT,MAA1B;AAAA,IACD;AAAA,EAAA,CAlBa;AAqBhBT,iBAAeE,OAAOG;AAEfA,SAAAA;AACR;AAOee,SAAAA,cACdC,KACAlB,SACa;AACb,QAAM,CAACmB,QAAQC,SAAT,IAAsBC,eAAsB,SAAd;AAC9BC,QAAAA,qBAAqBC,KAAKC,UAAUxB,OAAf;AAE3ByB,QAAAA,UAAU,MAAM;AACd,mBAAeC,oBAAoB;AAC7B,UAAA;AACFN,kBAAU,SAAD;AACHtB,cAAAA,WAAWoB,KAAKlB,OAAN;AAChBoB,kBAAU,MAAD;AAAA,eACFO;AACPP,kBAAU,OAAD;AAAA,MACV;AAAA,IACF;AAEgB;EAChB,GAAA,CAACF,KAAKI,oBAAoBtB,OAA1B,CAZM;AAcFmB,SAAAA;AACR;;;"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { useState, useEffect } from "react";
|
|
2
|
+
const SCRIPTS_LOADED = {};
|
|
3
|
+
function loadScript(src, options) {
|
|
4
|
+
const isScriptLoaded = SCRIPTS_LOADED[src];
|
|
5
|
+
if (isScriptLoaded) {
|
|
6
|
+
return isScriptLoaded;
|
|
7
|
+
}
|
|
8
|
+
const promise = new Promise((resolve, reject) => {
|
|
9
|
+
const script = document.createElement("script");
|
|
10
|
+
if (options == null ? void 0 : options.module) {
|
|
11
|
+
script.type = "module";
|
|
12
|
+
} else {
|
|
13
|
+
script.type = "text/javascript";
|
|
14
|
+
}
|
|
15
|
+
script.src = src;
|
|
16
|
+
script.onload = () => {
|
|
17
|
+
resolve(true);
|
|
18
|
+
};
|
|
19
|
+
script.onerror = () => {
|
|
20
|
+
reject(false);
|
|
21
|
+
};
|
|
22
|
+
if ((options == null ? void 0 : options.in) === "head") {
|
|
23
|
+
document.head.appendChild(script);
|
|
24
|
+
} else {
|
|
25
|
+
document.body.appendChild(script);
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
SCRIPTS_LOADED[src] = promise;
|
|
29
|
+
return promise;
|
|
30
|
+
}
|
|
31
|
+
function useLoadScript(url, options) {
|
|
32
|
+
const [status, setStatus] = useState("loading");
|
|
33
|
+
const stringifiedOptions = JSON.stringify(options);
|
|
34
|
+
useEffect(() => {
|
|
35
|
+
async function loadScriptWrapper() {
|
|
36
|
+
try {
|
|
37
|
+
setStatus("loading");
|
|
38
|
+
await loadScript(url, options);
|
|
39
|
+
setStatus("done");
|
|
40
|
+
} catch (error) {
|
|
41
|
+
setStatus("error");
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
loadScriptWrapper();
|
|
45
|
+
}, [url, stringifiedOptions, options]);
|
|
46
|
+
return status;
|
|
47
|
+
}
|
|
48
|
+
export {
|
|
49
|
+
loadScript,
|
|
50
|
+
useLoadScript
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=load-script.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-script.js","sources":["../../src/load-script.tsx"],"sourcesContent":["import {useState, useEffect} from 'react';\n\nconst SCRIPTS_LOADED: Record<string, Promise<boolean>> = {};\n\nexport function loadScript(\n src: string,\n options?: {module?: boolean; in?: 'head' | 'body'}\n): Promise<boolean> {\n const isScriptLoaded: Promise<boolean> = SCRIPTS_LOADED[src];\n\n if (isScriptLoaded) {\n return isScriptLoaded;\n }\n\n const promise = new Promise<boolean>((resolve, reject) => {\n const script = document.createElement('script');\n if (options?.module) {\n script.type = 'module';\n } else {\n script.type = 'text/javascript';\n }\n script.src = src;\n script.onload = () => {\n resolve(true);\n };\n script.onerror = () => {\n reject(false);\n };\n if (options?.in === 'head') {\n document.head.appendChild(script);\n } else {\n document.body.appendChild(script);\n }\n });\n\n SCRIPTS_LOADED[src] = promise;\n\n return promise;\n}\n\ntype LoadScriptParams = Parameters<typeof loadScript>;\n\n/**\n * The `useLoadScript` hook loads an external script tag in the browser. It allows React components to lazy-load large third-party dependencies.\n */\nexport function useLoadScript(\n url: LoadScriptParams[0],\n options?: LoadScriptParams[1]\n): ScriptState {\n const [status, setStatus] = useState<ScriptState>('loading');\n const stringifiedOptions = JSON.stringify(options);\n\n useEffect(() => {\n async function loadScriptWrapper() {\n try {\n setStatus('loading');\n await loadScript(url, options);\n setStatus('done');\n } catch (error) {\n setStatus('error');\n }\n }\n\n loadScriptWrapper();\n }, [url, stringifiedOptions, options]);\n\n return status;\n}\n\ntype ScriptState = 'loading' | 'done' | 'error';\n"],"names":["SCRIPTS_LOADED","loadScript","src","options","isScriptLoaded","promise","Promise","resolve","reject","script","document","createElement","module","type","onload","onerror","in","head","appendChild","body","useLoadScript","url","status","setStatus","useState","stringifiedOptions","JSON","stringify","useEffect","loadScriptWrapper","error"],"mappings":";AAEA,MAAMA,iBAAmD,CAAA;AAEzCC,SAAAA,WACdC,KACAC,SACkB;AAClB,QAAMC,iBAAmCJ,eAAeE;AAExD,MAAIE,gBAAgB;AACXA,WAAAA;AAAAA,EACR;AAED,QAAMC,UAAU,IAAIC,QAAiB,CAACC,SAASC,WAAW;AAClDC,UAAAA,SAASC,SAASC,cAAc,QAAvB;AACf,QAAIR,mCAASS,QAAQ;AACnBH,aAAOI,OAAO;AAAA,IAAA,OACT;AACLJ,aAAOI,OAAO;AAAA,IACf;AACDJ,WAAOP,MAAMA;AACbO,WAAOK,SAAS,MAAM;AACpBP,cAAQ,IAAD;AAAA,IAAA;AAETE,WAAOM,UAAU,MAAM;AACrBP,aAAO,KAAD;AAAA,IAAA;AAEJL,SAAAA,mCAASa,QAAO,QAAQ;AACjBC,eAAAA,KAAKC,YAAYT,MAA1B;AAAA,IAAA,OACK;AACIU,eAAAA,KAAKD,YAAYT,MAA1B;AAAA,IACD;AAAA,EAAA,CAlBa;AAqBhBT,iBAAeE,OAAOG;AAEfA,SAAAA;AACR;AAOee,SAAAA,cACdC,KACAlB,SACa;AACb,QAAM,CAACmB,QAAQC,SAAT,IAAsBC,SAAsB,SAAd;AAC9BC,QAAAA,qBAAqBC,KAAKC,UAAUxB,OAAf;AAE3ByB,YAAU,MAAM;AACd,mBAAeC,oBAAoB;AAC7B,UAAA;AACFN,kBAAU,SAAD;AACHtB,cAAAA,WAAWoB,KAAKlB,OAAN;AAChBoB,kBAAU,MAAD;AAAA,eACFO;AACPP,kBAAU,OAAD;AAAA,MACV;AAAA,IACF;AAEgB;EAChB,GAAA,CAACF,KAAKI,oBAAoBtB,OAA1B,CAZM;AAcFmB,SAAAA;AACR;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
-
const Metafield = require("./Metafield.
|
|
4
|
-
const flattenConnection = require("./flatten-connection.
|
|
3
|
+
const Metafield = require("./Metafield.cjs");
|
|
4
|
+
const flattenConnection = require("./flatten-connection.cjs");
|
|
5
5
|
function metafieldParser(metafield) {
|
|
6
6
|
var _a, _b, _c, _d;
|
|
7
7
|
if (!metafield.type) {
|
|
@@ -111,4 +111,4 @@ function metafieldParser(metafield) {
|
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
113
|
exports.metafieldParser = metafieldParser;
|
|
114
|
-
//# sourceMappingURL=metafield-parser.
|
|
114
|
+
//# sourceMappingURL=metafield-parser.cjs.map
|