@shopify/hydrogen-react 0.0.0-next-32f1381 → 0.0.0-next-992334e
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser-dev/{AddToCartButton.js → AddToCartButton.mjs} +4 -4
- package/dist/{node-dev/AddToCartButton.cjs.map → browser-dev/AddToCartButton.mjs.map} +1 -1
- package/dist/browser-dev/{BaseButton.js → BaseButton.mjs} +1 -1
- package/dist/{node-dev/BaseButton.cjs.map → browser-dev/BaseButton.mjs.map} +1 -1
- package/dist/{browser-prod/BuyNowButton.js → browser-dev/BuyNowButton.mjs} +3 -3
- package/dist/{node-dev/BuyNowButton.cjs.map → browser-dev/BuyNowButton.mjs.map} +1 -1
- package/dist/browser-dev/{CartCheckoutButton.js → CartCheckoutButton.mjs} +3 -3
- package/dist/{node-dev/CartCheckoutButton.cjs.map → browser-dev/CartCheckoutButton.mjs.map} +1 -1
- package/dist/browser-dev/{CartProvider.js → CartProvider.mjs} +3 -3
- package/dist/{node-prod/CartProvider.cjs.map → browser-dev/CartProvider.mjs.map} +1 -1
- package/dist/browser-dev/{ExternalVideo.js → ExternalVideo.mjs} +1 -1
- package/dist/{node-dev/ExternalVideo.cjs.map → browser-dev/ExternalVideo.mjs.map} +1 -1
- package/dist/browser-dev/{Image.js → Image.mjs} +2 -2
- package/dist/{node-dev/Image.cjs.map → browser-dev/Image.mjs.map} +1 -1
- package/dist/browser-dev/{MediaFile.js → MediaFile.mjs} +5 -5
- package/dist/{node-dev/MediaFile.cjs.map → browser-dev/MediaFile.mjs.map} +1 -1
- package/dist/browser-dev/{Metafield.js → Metafield.mjs} +5 -5
- package/dist/{node-dev/Metafield.cjs.map → browser-dev/Metafield.mjs.map} +1 -1
- package/dist/browser-dev/{ModelViewer.js → ModelViewer.mjs} +2 -2
- package/dist/{node-dev/ModelViewer.cjs.map → browser-dev/ModelViewer.mjs.map} +1 -1
- package/dist/browser-dev/{Money.js → Money.mjs} +2 -2
- package/dist/{node-dev/Money.cjs.map → browser-dev/Money.mjs.map} +1 -1
- package/dist/{browser-prod/ProductPrice.js → browser-dev/ProductPrice.mjs} +3 -3
- package/dist/{node-prod/ProductPrice.cjs.map → browser-dev/ProductPrice.mjs.map} +1 -1
- package/dist/browser-dev/{ProductProvider.js → ProductProvider.mjs} +2 -2
- package/dist/{node-dev/ProductProvider.cjs.map → browser-dev/ProductProvider.mjs.map} +1 -1
- package/dist/browser-dev/{ShopPayButton.js → ShopPayButton.mjs} +3 -3
- package/dist/{node-prod/ShopPayButton.cjs.map → browser-dev/ShopPayButton.mjs.map} +1 -1
- package/dist/browser-dev/{ShopifyProvider.js → ShopifyProvider.mjs} +2 -2
- package/dist/{node-dev/ShopifyProvider.cjs.map → browser-dev/ShopifyProvider.mjs.map} +1 -1
- package/dist/browser-dev/{Video.js → Video.mjs} +2 -2
- package/dist/{node-dev/Video.cjs.map → browser-dev/Video.mjs.map} +1 -1
- package/dist/browser-dev/_virtual/{index.js → index.mjs} +1 -1
- package/dist/browser-dev/_virtual/index.mjs.map +1 -0
- package/dist/browser-dev/_virtual/{use-sync-external-store-shim.development.js → use-sync-external-store-shim.development.mjs} +1 -1
- package/dist/browser-dev/_virtual/use-sync-external-store-shim.development.mjs.map +1 -0
- package/dist/{browser-prod/_virtual/use-sync-external-store-shim.production.min.js → browser-dev/_virtual/use-sync-external-store-shim.production.min.mjs} +1 -1
- package/dist/browser-dev/_virtual/use-sync-external-store-shim.production.min.mjs.map +1 -0
- package/dist/{browser-prod/_virtual/with-selector.development.js → browser-dev/_virtual/with-selector.development.mjs} +1 -1
- package/dist/browser-dev/_virtual/with-selector.development.mjs.map +1 -0
- package/dist/{browser-prod/_virtual/with-selector.js → browser-dev/_virtual/with-selector.mjs} +1 -1
- package/dist/browser-dev/_virtual/with-selector.mjs.map +1 -0
- package/dist/{browser-prod/_virtual/with-selector.production.min.js → browser-dev/_virtual/with-selector.production.min.mjs} +1 -1
- package/dist/browser-dev/_virtual/with-selector.production.min.mjs.map +1 -0
- package/dist/browser-dev/{cart-constants.js → cart-constants.mjs} +1 -1
- package/dist/{node-dev/cart-constants.cjs.map → browser-dev/cart-constants.mjs.map} +1 -1
- package/dist/{browser-prod/cart-hooks.js → browser-dev/cart-hooks.mjs} +3 -3
- package/dist/{node-prod/cart-hooks.cjs.map → browser-dev/cart-hooks.mjs.map} +1 -1
- package/dist/browser-dev/{cart-queries.js → cart-queries.mjs} +1 -1
- package/dist/{node-dev/cart-queries.cjs.map → browser-dev/cart-queries.mjs.map} +1 -1
- package/dist/browser-dev/{flatten-connection.js → flatten-connection.mjs} +1 -1
- package/dist/{node-dev/flatten-connection.cjs.map → browser-dev/flatten-connection.mjs.map} +1 -1
- package/dist/{browser-prod/image-size.js → browser-dev/image-size.mjs} +1 -1
- package/dist/{node-prod/image-size.cjs.map → browser-dev/image-size.mjs.map} +1 -1
- package/dist/browser-dev/index.mjs +46 -0
- package/dist/browser-dev/index.mjs.map +1 -0
- package/dist/browser-dev/{load-script.js → load-script.mjs} +1 -1
- package/dist/{node-prod/load-script.cjs.map → browser-dev/load-script.mjs.map} +1 -1
- package/dist/browser-dev/{metafield-parser.js → metafield-parser.mjs} +3 -3
- package/dist/{node-dev/metafield-parser.cjs.map → browser-dev/metafield-parser.mjs.map} +1 -1
- package/dist/{browser-prod/node_modules/@xstate/fsm/es/index.js → browser-dev/node_modules/@xstate/fsm/es/index.mjs} +1 -1
- package/dist/browser-dev/node_modules/@xstate/fsm/es/index.mjs.map +1 -0
- package/dist/browser-dev/node_modules/@xstate/react/es/fsm.mjs +94 -0
- package/dist/browser-dev/node_modules/@xstate/react/es/fsm.mjs.map +1 -0
- package/dist/browser-dev/node_modules/@xstate/react/es/{useConstant.js → useConstant.mjs} +1 -1
- package/dist/browser-dev/node_modules/@xstate/react/es/useConstant.mjs.map +1 -0
- package/dist/browser-dev/node_modules/use-isomorphic-layout-effect/dist/{use-isomorphic-layout-effect.browser.esm.js → use-isomorphic-layout-effect.browser.esm.mjs} +1 -1
- package/dist/browser-dev/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.mjs.map +1 -0
- package/dist/browser-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/{with-selector.development.js → with-selector.development.mjs} +3 -3
- package/dist/browser-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs.map +1 -0
- package/dist/{browser-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js → browser-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs} +3 -3
- package/dist/browser-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs.map +1 -0
- package/dist/browser-dev/node_modules/use-sync-external-store/cjs/{use-sync-external-store-shim.development.js → use-sync-external-store-shim.development.mjs} +2 -2
- package/dist/browser-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs.map +1 -0
- package/dist/browser-dev/node_modules/use-sync-external-store/cjs/{use-sync-external-store-shim.production.min.js → use-sync-external-store-shim.production.min.mjs} +2 -2
- package/dist/browser-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs.map +1 -0
- package/dist/{browser-prod/node_modules/use-sync-external-store/shim/index.js → browser-dev/node_modules/use-sync-external-store/shim/index.mjs} +4 -4
- package/dist/browser-dev/node_modules/use-sync-external-store/shim/index.mjs.map +1 -0
- package/dist/{browser-prod/node_modules/use-sync-external-store/shim/with-selector.js → browser-dev/node_modules/use-sync-external-store/shim/with-selector.mjs} +4 -4
- package/dist/browser-dev/node_modules/use-sync-external-store/shim/with-selector.mjs.map +1 -0
- package/dist/{browser-prod/storefront-api-constants.js → browser-dev/storefront-api-constants.mjs} +1 -1
- package/dist/browser-dev/storefront-api-constants.mjs.map +1 -0
- package/dist/browser-dev/{storefront-client.js → storefront-client.mjs} +2 -2
- package/dist/{node-dev/storefront-client.cjs.map → browser-dev/storefront-client.mjs.map} +1 -1
- package/dist/{browser-prod/useCartAPIStateMachine.js → browser-dev/useCartAPIStateMachine.mjs} +5 -5
- package/dist/{node-prod/useCartAPIStateMachine.cjs.map → browser-dev/useCartAPIStateMachine.mjs.map} +1 -1
- package/dist/{browser-prod/useCartActions.js → browser-dev/useCartActions.mjs} +3 -3
- package/dist/{node-dev/useCartActions.cjs.map → browser-dev/useCartActions.mjs.map} +1 -1
- package/dist/{browser-prod/useMoney.js → browser-dev/useMoney.mjs} +2 -2
- package/dist/{node-prod/useMoney.cjs.map → browser-dev/useMoney.mjs.map} +1 -1
- package/dist/browser-prod/{AddToCartButton.js → AddToCartButton.mjs} +4 -4
- package/dist/{node-prod/AddToCartButton.cjs.map → browser-prod/AddToCartButton.mjs.map} +1 -1
- package/dist/browser-prod/{BaseButton.js → BaseButton.mjs} +1 -1
- package/dist/{node-prod/BaseButton.cjs.map → browser-prod/BaseButton.mjs.map} +1 -1
- package/dist/{browser-dev/BuyNowButton.js → browser-prod/BuyNowButton.mjs} +3 -3
- package/dist/{node-prod/BuyNowButton.cjs.map → browser-prod/BuyNowButton.mjs.map} +1 -1
- package/dist/browser-prod/{CartCheckoutButton.js → CartCheckoutButton.mjs} +3 -3
- package/dist/{node-prod/CartCheckoutButton.cjs.map → browser-prod/CartCheckoutButton.mjs.map} +1 -1
- package/dist/browser-prod/{CartProvider.js → CartProvider.mjs} +3 -3
- package/dist/{node-dev/CartProvider.cjs.map → browser-prod/CartProvider.mjs.map} +1 -1
- package/dist/browser-prod/{ExternalVideo.js → ExternalVideo.mjs} +1 -1
- package/dist/{node-prod/ExternalVideo.cjs.map → browser-prod/ExternalVideo.mjs.map} +1 -1
- package/dist/browser-prod/{Image.js → Image.mjs} +2 -2
- package/dist/{node-prod/Image.cjs.map → browser-prod/Image.mjs.map} +1 -1
- package/dist/browser-prod/{MediaFile.js → MediaFile.mjs} +5 -5
- package/dist/{node-prod/MediaFile.cjs.map → browser-prod/MediaFile.mjs.map} +1 -1
- package/dist/browser-prod/{Metafield.js → Metafield.mjs} +5 -5
- package/dist/{node-prod/Metafield.cjs.map → browser-prod/Metafield.mjs.map} +1 -1
- package/dist/browser-prod/{ModelViewer.js → ModelViewer.mjs} +2 -2
- package/dist/{node-prod/ModelViewer.cjs.map → browser-prod/ModelViewer.mjs.map} +1 -1
- package/dist/browser-prod/{Money.js → Money.mjs} +2 -2
- package/dist/{node-prod/Money.cjs.map → browser-prod/Money.mjs.map} +1 -1
- package/dist/{browser-dev/ProductPrice.js → browser-prod/ProductPrice.mjs} +3 -3
- package/dist/{node-dev/ProductPrice.cjs.map → browser-prod/ProductPrice.mjs.map} +1 -1
- package/dist/browser-prod/{ProductProvider.js → ProductProvider.mjs} +2 -2
- package/dist/{node-prod/ProductProvider.cjs.map → browser-prod/ProductProvider.mjs.map} +1 -1
- package/dist/browser-prod/{ShopPayButton.js → ShopPayButton.mjs} +3 -3
- package/dist/{node-dev/ShopPayButton.cjs.map → browser-prod/ShopPayButton.mjs.map} +1 -1
- package/dist/browser-prod/{ShopifyProvider.js → ShopifyProvider.mjs} +2 -2
- package/dist/{node-prod/ShopifyProvider.cjs.map → browser-prod/ShopifyProvider.mjs.map} +1 -1
- package/dist/browser-prod/{Video.js → Video.mjs} +2 -2
- package/dist/{node-prod/Video.cjs.map → browser-prod/Video.mjs.map} +1 -1
- package/dist/browser-prod/_virtual/{index.js → index.mjs} +1 -1
- package/dist/browser-prod/_virtual/index.mjs.map +1 -0
- package/dist/browser-prod/_virtual/{use-sync-external-store-shim.development.js → use-sync-external-store-shim.development.mjs} +1 -1
- package/dist/browser-prod/_virtual/use-sync-external-store-shim.development.mjs.map +1 -0
- package/dist/{browser-dev/_virtual/use-sync-external-store-shim.production.min.js → browser-prod/_virtual/use-sync-external-store-shim.production.min.mjs} +1 -1
- package/dist/browser-prod/_virtual/use-sync-external-store-shim.production.min.mjs.map +1 -0
- package/dist/{browser-dev/_virtual/with-selector.development.js → browser-prod/_virtual/with-selector.development.mjs} +1 -1
- package/dist/browser-prod/_virtual/with-selector.development.mjs.map +1 -0
- package/dist/{browser-dev/_virtual/with-selector.js → browser-prod/_virtual/with-selector.mjs} +1 -1
- package/dist/browser-prod/_virtual/with-selector.mjs.map +1 -0
- package/dist/{browser-dev/_virtual/with-selector.production.min.js → browser-prod/_virtual/with-selector.production.min.mjs} +1 -1
- package/dist/browser-prod/_virtual/with-selector.production.min.mjs.map +1 -0
- package/dist/browser-prod/{cart-constants.js → cart-constants.mjs} +1 -1
- package/dist/{node-prod/cart-constants.cjs.map → browser-prod/cart-constants.mjs.map} +1 -1
- package/dist/{browser-dev/cart-hooks.js → browser-prod/cart-hooks.mjs} +3 -3
- package/dist/{node-dev/cart-hooks.cjs.map → browser-prod/cart-hooks.mjs.map} +1 -1
- package/dist/browser-prod/{cart-queries.js → cart-queries.mjs} +1 -1
- package/dist/{node-prod/cart-queries.cjs.map → browser-prod/cart-queries.mjs.map} +1 -1
- package/dist/browser-prod/{flatten-connection.js → flatten-connection.mjs} +1 -1
- package/dist/{node-prod/flatten-connection.cjs.map → browser-prod/flatten-connection.mjs.map} +1 -1
- package/dist/{browser-dev/image-size.js → browser-prod/image-size.mjs} +1 -1
- package/dist/{node-dev/image-size.cjs.map → browser-prod/image-size.mjs.map} +1 -1
- package/dist/browser-prod/index.mjs +46 -0
- package/dist/browser-prod/index.mjs.map +1 -0
- package/dist/browser-prod/{load-script.js → load-script.mjs} +1 -1
- package/dist/{node-dev/load-script.cjs.map → browser-prod/load-script.mjs.map} +1 -1
- package/dist/browser-prod/{metafield-parser.js → metafield-parser.mjs} +3 -3
- package/dist/{node-prod/metafield-parser.cjs.map → browser-prod/metafield-parser.mjs.map} +1 -1
- package/dist/{browser-dev/node_modules/@xstate/fsm/es/index.js → browser-prod/node_modules/@xstate/fsm/es/index.mjs} +1 -1
- package/dist/browser-prod/node_modules/@xstate/fsm/es/index.mjs.map +1 -0
- package/dist/browser-prod/node_modules/@xstate/react/es/fsm.mjs +94 -0
- package/dist/browser-prod/node_modules/@xstate/react/es/fsm.mjs.map +1 -0
- package/dist/browser-prod/node_modules/@xstate/react/es/{useConstant.js → useConstant.mjs} +1 -1
- package/dist/browser-prod/node_modules/@xstate/react/es/useConstant.mjs.map +1 -0
- package/dist/browser-prod/node_modules/use-isomorphic-layout-effect/dist/{use-isomorphic-layout-effect.browser.esm.js → use-isomorphic-layout-effect.browser.esm.mjs} +1 -1
- package/dist/browser-prod/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.mjs.map +1 -0
- package/dist/browser-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/{with-selector.development.js → with-selector.development.mjs} +3 -3
- package/dist/browser-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs.map +1 -0
- package/dist/{browser-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js → browser-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs} +3 -3
- package/dist/browser-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs.map +1 -0
- package/dist/browser-prod/node_modules/use-sync-external-store/cjs/{use-sync-external-store-shim.development.js → use-sync-external-store-shim.development.mjs} +2 -2
- package/dist/browser-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs.map +1 -0
- package/dist/browser-prod/node_modules/use-sync-external-store/cjs/{use-sync-external-store-shim.production.min.js → use-sync-external-store-shim.production.min.mjs} +2 -2
- package/dist/browser-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs.map +1 -0
- package/dist/{browser-dev/node_modules/use-sync-external-store/shim/index.js → browser-prod/node_modules/use-sync-external-store/shim/index.mjs} +4 -4
- package/dist/browser-prod/node_modules/use-sync-external-store/shim/index.mjs.map +1 -0
- package/dist/{browser-dev/node_modules/use-sync-external-store/shim/with-selector.js → browser-prod/node_modules/use-sync-external-store/shim/with-selector.mjs} +4 -4
- package/dist/browser-prod/node_modules/use-sync-external-store/shim/with-selector.mjs.map +1 -0
- package/dist/{browser-dev/storefront-api-constants.js → browser-prod/storefront-api-constants.mjs} +1 -1
- package/dist/browser-prod/storefront-api-constants.mjs.map +1 -0
- package/dist/browser-prod/{storefront-client.js → storefront-client.mjs} +2 -2
- package/dist/{node-prod/storefront-client.cjs.map → browser-prod/storefront-client.mjs.map} +1 -1
- package/dist/{browser-dev/useCartAPIStateMachine.js → browser-prod/useCartAPIStateMachine.mjs} +5 -5
- package/dist/{node-dev/useCartAPIStateMachine.cjs.map → browser-prod/useCartAPIStateMachine.mjs.map} +1 -1
- package/dist/{browser-dev/useCartActions.js → browser-prod/useCartActions.mjs} +3 -3
- package/dist/{node-prod/useCartActions.cjs.map → browser-prod/useCartActions.mjs.map} +1 -1
- package/dist/{browser-dev/useMoney.js → browser-prod/useMoney.mjs} +2 -2
- package/dist/{node-dev/useMoney.cjs.map → browser-prod/useMoney.mjs.map} +1 -1
- package/dist/node-dev/AddToCartButton.js +16 -16
- package/dist/node-dev/AddToCartButton.js.map +1 -1
- package/dist/node-dev/{AddToCartButton.cjs → AddToCartButton.mjs} +17 -17
- package/dist/node-dev/AddToCartButton.mjs.map +1 -0
- package/dist/node-dev/BaseButton.js +7 -7
- package/dist/node-dev/BaseButton.js.map +1 -1
- package/dist/node-dev/{BaseButton.cjs → BaseButton.mjs} +8 -8
- package/dist/node-dev/BaseButton.mjs.map +1 -0
- package/dist/node-dev/BuyNowButton.js +12 -12
- package/dist/node-dev/BuyNowButton.js.map +1 -1
- package/dist/node-dev/{BuyNowButton.cjs → BuyNowButton.mjs} +13 -13
- package/dist/node-dev/BuyNowButton.mjs.map +1 -0
- package/dist/node-dev/CartCheckoutButton.js +11 -11
- package/dist/node-dev/CartCheckoutButton.js.map +1 -1
- package/dist/node-dev/CartCheckoutButton.mjs +30 -0
- package/dist/node-dev/CartCheckoutButton.mjs.map +1 -0
- package/dist/node-dev/CartProvider.js +35 -35
- package/dist/node-dev/CartProvider.js.map +1 -1
- package/dist/node-dev/{CartProvider.cjs → CartProvider.mjs} +36 -36
- package/dist/node-dev/CartProvider.mjs.map +1 -0
- package/dist/node-dev/ExternalVideo.js +5 -5
- package/dist/node-dev/ExternalVideo.js.map +1 -1
- package/dist/node-dev/{ExternalVideo.cjs → ExternalVideo.mjs} +6 -6
- package/dist/node-dev/ExternalVideo.mjs.map +1 -0
- package/dist/node-dev/Image.js +12 -12
- package/dist/node-dev/Image.js.map +1 -1
- package/dist/node-dev/{Image.cjs → Image.mjs} +13 -13
- package/dist/node-dev/Image.mjs.map +1 -0
- package/dist/node-dev/MediaFile.js +12 -12
- package/dist/node-dev/MediaFile.js.map +1 -1
- package/dist/node-dev/{MediaFile.cjs → MediaFile.mjs} +13 -13
- package/dist/node-dev/MediaFile.mjs.map +1 -0
- package/dist/node-dev/Metafield.js +32 -32
- package/dist/node-dev/Metafield.js.map +1 -1
- package/dist/node-dev/{Metafield.cjs → Metafield.mjs} +33 -33
- package/dist/node-dev/Metafield.mjs.map +1 -0
- package/dist/node-dev/ModelViewer.js +11 -11
- package/dist/node-dev/ModelViewer.js.map +1 -1
- package/dist/node-dev/{ModelViewer.cjs → ModelViewer.mjs} +12 -12
- package/dist/node-dev/ModelViewer.mjs.map +1 -0
- package/dist/node-dev/Money.js +8 -8
- package/dist/node-dev/Money.js.map +1 -1
- package/dist/node-dev/{Money.cjs → Money.mjs} +9 -9
- package/dist/node-dev/Money.mjs.map +1 -0
- package/dist/node-dev/ProductPrice.js +9 -9
- package/dist/node-dev/ProductPrice.js.map +1 -1
- package/dist/node-dev/{ProductPrice.cjs → ProductPrice.mjs} +10 -10
- package/dist/node-dev/ProductPrice.mjs.map +1 -0
- package/dist/node-dev/ProductProvider.js +25 -25
- package/dist/node-dev/ProductProvider.js.map +1 -1
- package/dist/node-dev/{ProductProvider.cjs → ProductProvider.mjs} +26 -26
- package/dist/node-dev/ProductProvider.mjs.map +1 -0
- package/dist/node-dev/ShopPayButton.js +13 -13
- package/dist/node-dev/ShopPayButton.js.map +1 -1
- package/dist/node-dev/{ShopPayButton.cjs → ShopPayButton.mjs} +14 -14
- package/dist/node-dev/ShopPayButton.mjs.map +1 -0
- package/dist/node-dev/ShopifyProvider.js +14 -14
- package/dist/node-dev/ShopifyProvider.js.map +1 -1
- package/dist/node-dev/ShopifyProvider.mjs +46 -0
- package/dist/node-dev/ShopifyProvider.mjs.map +1 -0
- package/dist/node-dev/Video.js +9 -9
- package/dist/node-dev/Video.js.map +1 -1
- package/dist/node-dev/{Video.cjs → Video.mjs} +10 -10
- package/dist/node-dev/Video.mjs.map +1 -0
- package/dist/node-dev/_virtual/index.js +5 -0
- package/dist/{browser-dev → node-dev}/_virtual/index.js.map +1 -1
- package/dist/node-dev/_virtual/index.mjs +5 -0
- package/dist/node-dev/_virtual/index.mjs.map +1 -0
- package/dist/node-dev/_virtual/use-sync-external-store-shim.development.js +5 -0
- package/dist/{browser-dev → node-dev}/_virtual/use-sync-external-store-shim.development.js.map +1 -1
- 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/node-dev/_virtual/use-sync-external-store-shim.production.min.js +5 -0
- package/dist/node-dev/_virtual/use-sync-external-store-shim.production.min.js.map +1 -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/node-dev/_virtual/with-selector.development.js +5 -0
- package/dist/{browser-dev → node-dev}/_virtual/with-selector.development.js.map +1 -1
- 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/node-dev/_virtual/with-selector.js +5 -0
- package/dist/{browser-dev → node-dev}/_virtual/with-selector.js.map +1 -1
- package/dist/node-dev/_virtual/with-selector.mjs +5 -0
- package/dist/node-dev/_virtual/with-selector.mjs.map +1 -0
- package/dist/node-dev/_virtual/with-selector.production.min.js +5 -0
- package/dist/{browser-dev → node-dev}/_virtual/with-selector.production.min.js.map +1 -1
- 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/node-dev/cart-constants.js +9 -9
- package/dist/node-dev/cart-constants.js.map +1 -1
- package/dist/node-dev/cart-constants.mjs +17 -0
- package/dist/node-dev/cart-constants.mjs.map +1 -0
- package/dist/node-dev/cart-hooks.js +15 -15
- package/dist/node-dev/cart-hooks.js.map +1 -1
- package/dist/node-dev/cart-hooks.mjs +48 -0
- package/dist/node-dev/cart-hooks.mjs.map +1 -0
- package/dist/node-dev/cart-queries.js +11 -11
- package/dist/node-dev/cart-queries.js.map +1 -1
- package/dist/{node-prod/cart-queries.cjs → node-dev/cart-queries.mjs} +12 -12
- package/dist/node-dev/cart-queries.mjs.map +1 -0
- package/dist/node-dev/flatten-connection.js +3 -3
- package/dist/node-dev/flatten-connection.js.map +1 -1
- package/dist/node-dev/{flatten-connection.cjs → flatten-connection.mjs} +4 -4
- package/dist/node-dev/flatten-connection.mjs.map +1 -0
- package/dist/node-dev/image-size.js +6 -6
- package/dist/node-dev/image-size.js.map +1 -1
- package/dist/node-dev/{image-size.cjs → image-size.mjs} +7 -7
- package/dist/node-dev/image-size.mjs.map +1 -0
- package/dist/node-dev/index.js +45 -45
- package/dist/node-dev/index.js.map +1 -1
- package/dist/node-dev/index.mjs +46 -0
- package/dist/node-dev/index.mjs.map +1 -0
- package/dist/node-dev/load-script.js +7 -7
- package/dist/node-dev/load-script.js.map +1 -1
- package/dist/node-dev/{load-script.cjs → load-script.mjs} +8 -8
- package/dist/node-dev/load-script.mjs.map +1 -0
- package/dist/node-dev/metafield-parser.js +8 -8
- package/dist/node-dev/metafield-parser.js.map +1 -1
- package/dist/node-dev/{metafield-parser.cjs → metafield-parser.mjs} +9 -9
- package/dist/node-dev/metafield-parser.mjs.map +1 -0
- package/dist/node-dev/node_modules/@xstate/fsm/es/index.js +158 -0
- package/dist/node-dev/node_modules/@xstate/fsm/es/index.js.map +1 -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/node-dev/node_modules/@xstate/react/es/fsm.js +94 -0
- package/dist/{browser-dev → node-dev}/node_modules/@xstate/react/es/fsm.js.map +1 -1
- package/dist/{browser-prod/node_modules/@xstate/react/es/fsm.js → node-dev/node_modules/@xstate/react/es/fsm.mjs} +6 -6
- package/dist/node-dev/node_modules/@xstate/react/es/fsm.mjs.map +1 -0
- package/dist/node-dev/node_modules/@xstate/react/es/useConstant.js +30 -0
- package/dist/{browser-dev → node-dev}/node_modules/@xstate/react/es/useConstant.js.map +1 -1
- 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/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js +107 -0
- package/dist/{browser-dev → node-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js.map +1 -1
- 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/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js +74 -0
- package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js.map +1 -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/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +138 -0
- package/dist/{browser-prod → node-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js.map +1 -1
- 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/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js +60 -0
- package/dist/{browser-prod → node-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js.map +1 -1
- 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/node-dev/node_modules/use-sync-external-store/shim/index.js +21 -0
- package/dist/{browser-prod → node-dev}/node_modules/use-sync-external-store/shim/index.js.map +1 -1
- package/dist/node-dev/node_modules/use-sync-external-store/shim/index.mjs +21 -0
- package/dist/node-dev/node_modules/use-sync-external-store/shim/index.mjs.map +1 -0
- package/dist/node-dev/node_modules/use-sync-external-store/shim/with-selector.js +12 -0
- package/dist/{browser-dev → node-dev}/node_modules/use-sync-external-store/shim/with-selector.js.map +1 -1
- package/dist/node-dev/node_modules/use-sync-external-store/shim/with-selector.mjs +11 -0
- package/dist/node-dev/node_modules/use-sync-external-store/shim/with-selector.mjs.map +1 -0
- package/dist/node-dev/storefront-api-constants.js +3 -3
- package/dist/node-dev/storefront-api-constants.js.map +1 -1
- package/dist/node-dev/storefront-api-constants.mjs +5 -0
- package/dist/node-dev/storefront-api-constants.mjs.map +1 -0
- package/dist/node-dev/storefront-client.js +6 -6
- package/dist/node-dev/storefront-client.js.map +1 -1
- package/dist/node-dev/{storefront-client.cjs → storefront-client.mjs} +7 -7
- package/dist/node-dev/storefront-client.mjs.map +1 -0
- package/dist/node-dev/useCartAPIStateMachine.js +20 -20
- package/dist/node-dev/useCartAPIStateMachine.js.map +1 -1
- package/dist/node-dev/{useCartAPIStateMachine.cjs → useCartAPIStateMachine.mjs} +21 -21
- package/dist/node-dev/useCartAPIStateMachine.mjs.map +1 -0
- package/dist/node-dev/useCartActions.js +26 -26
- package/dist/node-dev/useCartActions.js.map +1 -1
- package/dist/{node-prod/useCartActions.cjs → node-dev/useCartActions.mjs} +27 -27
- package/dist/node-dev/useCartActions.mjs.map +1 -0
- package/dist/node-dev/useMoney.js +10 -10
- package/dist/node-dev/useMoney.js.map +1 -1
- package/dist/node-dev/{useMoney.cjs → useMoney.mjs} +11 -11
- package/dist/node-dev/useMoney.mjs.map +1 -0
- package/dist/node-prod/AddToCartButton.js +16 -16
- package/dist/node-prod/AddToCartButton.js.map +1 -1
- package/dist/node-prod/{AddToCartButton.cjs → AddToCartButton.mjs} +17 -17
- package/dist/node-prod/AddToCartButton.mjs.map +1 -0
- package/dist/node-prod/BaseButton.js +7 -7
- package/dist/node-prod/BaseButton.js.map +1 -1
- package/dist/node-prod/{BaseButton.cjs → BaseButton.mjs} +8 -8
- package/dist/node-prod/BaseButton.mjs.map +1 -0
- package/dist/node-prod/BuyNowButton.js +12 -12
- package/dist/node-prod/BuyNowButton.js.map +1 -1
- package/dist/node-prod/{BuyNowButton.cjs → BuyNowButton.mjs} +13 -13
- package/dist/node-prod/BuyNowButton.mjs.map +1 -0
- package/dist/node-prod/CartCheckoutButton.js +11 -11
- package/dist/node-prod/CartCheckoutButton.js.map +1 -1
- package/dist/node-prod/CartCheckoutButton.mjs +30 -0
- package/dist/node-prod/CartCheckoutButton.mjs.map +1 -0
- package/dist/node-prod/CartProvider.js +35 -35
- package/dist/node-prod/CartProvider.js.map +1 -1
- package/dist/node-prod/{CartProvider.cjs → CartProvider.mjs} +36 -36
- package/dist/node-prod/CartProvider.mjs.map +1 -0
- package/dist/node-prod/ExternalVideo.js +5 -5
- package/dist/node-prod/ExternalVideo.js.map +1 -1
- package/dist/node-prod/{ExternalVideo.cjs → ExternalVideo.mjs} +6 -6
- package/dist/node-prod/ExternalVideo.mjs.map +1 -0
- package/dist/node-prod/Image.js +12 -12
- package/dist/node-prod/Image.js.map +1 -1
- package/dist/node-prod/{Image.cjs → Image.mjs} +13 -13
- package/dist/node-prod/Image.mjs.map +1 -0
- package/dist/node-prod/MediaFile.js +12 -12
- package/dist/node-prod/MediaFile.js.map +1 -1
- package/dist/node-prod/{MediaFile.cjs → MediaFile.mjs} +13 -13
- package/dist/node-prod/MediaFile.mjs.map +1 -0
- package/dist/node-prod/Metafield.js +32 -32
- package/dist/node-prod/Metafield.js.map +1 -1
- package/dist/node-prod/{Metafield.cjs → Metafield.mjs} +33 -33
- package/dist/node-prod/Metafield.mjs.map +1 -0
- package/dist/node-prod/ModelViewer.js +11 -11
- package/dist/node-prod/ModelViewer.js.map +1 -1
- package/dist/node-prod/{ModelViewer.cjs → ModelViewer.mjs} +12 -12
- package/dist/node-prod/ModelViewer.mjs.map +1 -0
- package/dist/node-prod/Money.js +8 -8
- package/dist/node-prod/Money.js.map +1 -1
- package/dist/node-prod/{Money.cjs → Money.mjs} +9 -9
- package/dist/node-prod/Money.mjs.map +1 -0
- package/dist/node-prod/ProductPrice.js +9 -9
- package/dist/node-prod/ProductPrice.js.map +1 -1
- package/dist/node-prod/{ProductPrice.cjs → ProductPrice.mjs} +10 -10
- package/dist/node-prod/ProductPrice.mjs.map +1 -0
- package/dist/node-prod/ProductProvider.js +25 -25
- package/dist/node-prod/ProductProvider.js.map +1 -1
- package/dist/node-prod/{ProductProvider.cjs → ProductProvider.mjs} +26 -26
- package/dist/node-prod/ProductProvider.mjs.map +1 -0
- package/dist/node-prod/ShopPayButton.js +13 -13
- package/dist/node-prod/ShopPayButton.js.map +1 -1
- package/dist/node-prod/{ShopPayButton.cjs → ShopPayButton.mjs} +14 -14
- package/dist/node-prod/ShopPayButton.mjs.map +1 -0
- package/dist/node-prod/ShopifyProvider.js +14 -14
- package/dist/node-prod/ShopifyProvider.js.map +1 -1
- package/dist/node-prod/ShopifyProvider.mjs +46 -0
- package/dist/node-prod/ShopifyProvider.mjs.map +1 -0
- package/dist/node-prod/Video.js +9 -9
- package/dist/node-prod/Video.js.map +1 -1
- package/dist/node-prod/{Video.cjs → Video.mjs} +10 -10
- package/dist/node-prod/Video.mjs.map +1 -0
- package/dist/node-prod/_virtual/index.js +5 -0
- package/dist/{browser-prod → node-prod}/_virtual/index.js.map +1 -1
- package/dist/node-prod/_virtual/index.mjs +5 -0
- package/dist/node-prod/_virtual/index.mjs.map +1 -0
- package/dist/node-prod/_virtual/use-sync-external-store-shim.development.js +5 -0
- package/dist/{browser-prod → node-prod}/_virtual/use-sync-external-store-shim.development.js.map +1 -1
- 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/node-prod/_virtual/use-sync-external-store-shim.production.min.js +5 -0
- package/dist/node-prod/_virtual/use-sync-external-store-shim.production.min.js.map +1 -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/node-prod/_virtual/with-selector.development.js +5 -0
- package/dist/{browser-prod → node-prod}/_virtual/with-selector.development.js.map +1 -1
- 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/node-prod/_virtual/with-selector.js +5 -0
- package/dist/{browser-prod → node-prod}/_virtual/with-selector.js.map +1 -1
- package/dist/node-prod/_virtual/with-selector.mjs +5 -0
- package/dist/node-prod/_virtual/with-selector.mjs.map +1 -0
- package/dist/node-prod/_virtual/with-selector.production.min.js +5 -0
- package/dist/{browser-prod → node-prod}/_virtual/with-selector.production.min.js.map +1 -1
- 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/node-prod/cart-constants.js +9 -9
- package/dist/node-prod/cart-constants.js.map +1 -1
- package/dist/node-prod/cart-constants.mjs +17 -0
- package/dist/node-prod/cart-constants.mjs.map +1 -0
- package/dist/node-prod/cart-hooks.js +15 -15
- package/dist/node-prod/cart-hooks.js.map +1 -1
- package/dist/node-prod/cart-hooks.mjs +48 -0
- package/dist/node-prod/cart-hooks.mjs.map +1 -0
- package/dist/node-prod/cart-queries.js +11 -11
- package/dist/node-prod/cart-queries.js.map +1 -1
- package/dist/{node-dev/cart-queries.cjs → node-prod/cart-queries.mjs} +12 -12
- package/dist/node-prod/cart-queries.mjs.map +1 -0
- package/dist/node-prod/flatten-connection.js +3 -3
- package/dist/node-prod/flatten-connection.js.map +1 -1
- package/dist/node-prod/{flatten-connection.cjs → flatten-connection.mjs} +4 -4
- package/dist/node-prod/flatten-connection.mjs.map +1 -0
- package/dist/node-prod/image-size.js +6 -6
- package/dist/node-prod/image-size.js.map +1 -1
- package/dist/node-prod/{image-size.cjs → image-size.mjs} +7 -7
- package/dist/node-prod/image-size.mjs.map +1 -0
- package/dist/node-prod/index.js +45 -45
- package/dist/node-prod/index.js.map +1 -1
- package/dist/node-prod/index.mjs +46 -0
- package/dist/node-prod/index.mjs.map +1 -0
- package/dist/node-prod/load-script.js +7 -7
- package/dist/node-prod/load-script.js.map +1 -1
- package/dist/node-prod/{load-script.cjs → load-script.mjs} +8 -8
- package/dist/node-prod/load-script.mjs.map +1 -0
- package/dist/node-prod/metafield-parser.js +8 -8
- package/dist/node-prod/metafield-parser.js.map +1 -1
- package/dist/node-prod/{metafield-parser.cjs → metafield-parser.mjs} +9 -9
- package/dist/node-prod/metafield-parser.mjs.map +1 -0
- package/dist/node-prod/node_modules/@xstate/fsm/es/index.js +158 -0
- package/dist/node-prod/node_modules/@xstate/fsm/es/index.js.map +1 -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/node-prod/node_modules/@xstate/react/es/fsm.js +94 -0
- package/dist/{browser-prod → node-prod}/node_modules/@xstate/react/es/fsm.js.map +1 -1
- package/dist/{browser-dev/node_modules/@xstate/react/es/fsm.js → node-prod/node_modules/@xstate/react/es/fsm.mjs} +6 -6
- package/dist/node-prod/node_modules/@xstate/react/es/fsm.mjs.map +1 -0
- package/dist/node-prod/node_modules/@xstate/react/es/useConstant.js +30 -0
- package/dist/{browser-prod → node-prod}/node_modules/@xstate/react/es/useConstant.js.map +1 -1
- 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/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js +107 -0
- package/dist/{browser-prod → node-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js.map +1 -1
- 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/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js +74 -0
- package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js.map +1 -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/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +138 -0
- package/dist/{browser-dev → node-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js.map +1 -1
- 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/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js +60 -0
- package/dist/{browser-dev → node-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js.map +1 -1
- 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/node-prod/node_modules/use-sync-external-store/shim/index.js +21 -0
- package/dist/{browser-dev → node-prod}/node_modules/use-sync-external-store/shim/index.js.map +1 -1
- package/dist/node-prod/node_modules/use-sync-external-store/shim/index.mjs +21 -0
- package/dist/node-prod/node_modules/use-sync-external-store/shim/index.mjs.map +1 -0
- package/dist/node-prod/node_modules/use-sync-external-store/shim/with-selector.js +12 -0
- package/dist/{browser-prod → node-prod}/node_modules/use-sync-external-store/shim/with-selector.js.map +1 -1
- package/dist/node-prod/node_modules/use-sync-external-store/shim/with-selector.mjs +11 -0
- package/dist/node-prod/node_modules/use-sync-external-store/shim/with-selector.mjs.map +1 -0
- package/dist/node-prod/storefront-api-constants.js +3 -3
- package/dist/node-prod/storefront-api-constants.js.map +1 -1
- package/dist/node-prod/storefront-api-constants.mjs +5 -0
- package/dist/node-prod/storefront-api-constants.mjs.map +1 -0
- package/dist/node-prod/storefront-client.js +6 -6
- package/dist/node-prod/storefront-client.js.map +1 -1
- package/dist/node-prod/{storefront-client.cjs → storefront-client.mjs} +7 -7
- package/dist/node-prod/storefront-client.mjs.map +1 -0
- package/dist/node-prod/useCartAPIStateMachine.js +20 -20
- package/dist/node-prod/useCartAPIStateMachine.js.map +1 -1
- package/dist/node-prod/{useCartAPIStateMachine.cjs → useCartAPIStateMachine.mjs} +21 -21
- package/dist/node-prod/useCartAPIStateMachine.mjs.map +1 -0
- package/dist/node-prod/useCartActions.js +26 -26
- package/dist/node-prod/useCartActions.js.map +1 -1
- package/dist/{node-dev/useCartActions.cjs → node-prod/useCartActions.mjs} +27 -27
- package/dist/node-prod/useCartActions.mjs.map +1 -0
- package/dist/node-prod/useMoney.js +10 -10
- package/dist/node-prod/useMoney.js.map +1 -1
- package/dist/node-prod/{useMoney.cjs → useMoney.mjs} +11 -11
- package/dist/node-prod/useMoney.mjs.map +1 -0
- package/package.json +19 -19
- package/dist/browser-dev/AddToCartButton.js.map +0 -1
- package/dist/browser-dev/BaseButton.js.map +0 -1
- package/dist/browser-dev/BuyNowButton.js.map +0 -1
- package/dist/browser-dev/CartCheckoutButton.js.map +0 -1
- package/dist/browser-dev/CartProvider.js.map +0 -1
- package/dist/browser-dev/ExternalVideo.js.map +0 -1
- package/dist/browser-dev/Image.js.map +0 -1
- package/dist/browser-dev/MediaFile.js.map +0 -1
- package/dist/browser-dev/Metafield.js.map +0 -1
- package/dist/browser-dev/ModelViewer.js.map +0 -1
- package/dist/browser-dev/Money.js.map +0 -1
- package/dist/browser-dev/ProductPrice.js.map +0 -1
- package/dist/browser-dev/ProductProvider.js.map +0 -1
- package/dist/browser-dev/ShopPayButton.js.map +0 -1
- package/dist/browser-dev/ShopifyProvider.js.map +0 -1
- package/dist/browser-dev/Video.js.map +0 -1
- package/dist/browser-dev/_virtual/use-sync-external-store-shim.production.min.js.map +0 -1
- package/dist/browser-dev/cart-constants.js.map +0 -1
- package/dist/browser-dev/cart-hooks.js.map +0 -1
- package/dist/browser-dev/cart-queries.js.map +0 -1
- package/dist/browser-dev/flatten-connection.js.map +0 -1
- package/dist/browser-dev/image-size.js.map +0 -1
- package/dist/browser-dev/index.js +0 -46
- package/dist/browser-dev/index.js.map +0 -1
- package/dist/browser-dev/load-script.js.map +0 -1
- package/dist/browser-dev/metafield-parser.js.map +0 -1
- package/dist/browser-dev/node_modules/@xstate/fsm/es/index.js.map +0 -1
- package/dist/browser-dev/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js.map +0 -1
- package/dist/browser-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js.map +0 -1
- package/dist/browser-dev/storefront-api-constants.js.map +0 -1
- package/dist/browser-dev/storefront-client.js.map +0 -1
- package/dist/browser-dev/useCartAPIStateMachine.js.map +0 -1
- package/dist/browser-dev/useCartActions.js.map +0 -1
- package/dist/browser-dev/useMoney.js.map +0 -1
- package/dist/browser-prod/AddToCartButton.js.map +0 -1
- package/dist/browser-prod/BaseButton.js.map +0 -1
- package/dist/browser-prod/BuyNowButton.js.map +0 -1
- package/dist/browser-prod/CartCheckoutButton.js.map +0 -1
- package/dist/browser-prod/CartProvider.js.map +0 -1
- package/dist/browser-prod/ExternalVideo.js.map +0 -1
- package/dist/browser-prod/Image.js.map +0 -1
- package/dist/browser-prod/MediaFile.js.map +0 -1
- package/dist/browser-prod/Metafield.js.map +0 -1
- package/dist/browser-prod/ModelViewer.js.map +0 -1
- package/dist/browser-prod/Money.js.map +0 -1
- package/dist/browser-prod/ProductPrice.js.map +0 -1
- package/dist/browser-prod/ProductProvider.js.map +0 -1
- package/dist/browser-prod/ShopPayButton.js.map +0 -1
- package/dist/browser-prod/ShopifyProvider.js.map +0 -1
- package/dist/browser-prod/Video.js.map +0 -1
- package/dist/browser-prod/_virtual/use-sync-external-store-shim.production.min.js.map +0 -1
- package/dist/browser-prod/cart-constants.js.map +0 -1
- package/dist/browser-prod/cart-hooks.js.map +0 -1
- package/dist/browser-prod/cart-queries.js.map +0 -1
- package/dist/browser-prod/flatten-connection.js.map +0 -1
- package/dist/browser-prod/image-size.js.map +0 -1
- package/dist/browser-prod/index.js +0 -46
- package/dist/browser-prod/index.js.map +0 -1
- package/dist/browser-prod/load-script.js.map +0 -1
- package/dist/browser-prod/metafield-parser.js.map +0 -1
- package/dist/browser-prod/node_modules/@xstate/fsm/es/index.js.map +0 -1
- package/dist/browser-prod/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js.map +0 -1
- package/dist/browser-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js.map +0 -1
- package/dist/browser-prod/storefront-api-constants.js.map +0 -1
- package/dist/browser-prod/storefront-client.js.map +0 -1
- package/dist/browser-prod/useCartAPIStateMachine.js.map +0 -1
- package/dist/browser-prod/useCartActions.js.map +0 -1
- package/dist/browser-prod/useMoney.js.map +0 -1
- package/dist/node-dev/CartCheckoutButton.cjs +0 -30
- package/dist/node-dev/ShopifyProvider.cjs +0 -46
- package/dist/node-dev/cart-constants.cjs +0 -17
- package/dist/node-dev/cart-hooks.cjs +0 -48
- package/dist/node-dev/index.cjs +0 -46
- package/dist/node-dev/index.cjs.map +0 -1
- package/dist/node-dev/storefront-api-constants.cjs +0 -5
- package/dist/node-dev/storefront-api-constants.cjs.map +0 -1
- package/dist/node-prod/CartCheckoutButton.cjs +0 -30
- package/dist/node-prod/ShopifyProvider.cjs +0 -46
- package/dist/node-prod/cart-constants.cjs +0 -17
- package/dist/node-prod/cart-hooks.cjs +0 -48
- package/dist/node-prod/index.cjs +0 -46
- package/dist/node-prod/index.cjs.map +0 -1
- package/dist/node-prod/storefront-api-constants.cjs +0 -5
- package/dist/node-prod/storefront-api-constants.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storefront-client.
|
|
1
|
+
{"version":3,"file":"storefront-client.mjs","sources":["../../src/storefront-client.ts"],"sourcesContent":["import {SFAPI_VERSION} from './storefront-api-constants.js';\n\n/**\n * The `createStorefrontClient()` function creates helpers that enable you to quickly query the Shopify Storefront API.\n *\n * When used on the server, it is recommended to use the `privateStorefrontToken` prop. When used on the client, it is recommended to use the `publicStorefrontToken` prop.\n */\nexport function createStorefrontClient({\n storeDomain,\n privateStorefrontToken,\n publicStorefrontToken,\n storefrontApiVersion,\n contentType,\n}: StorefrontClientProps): StorefrontClientReturn {\n if (storefrontApiVersion !== SFAPI_VERSION) {\n console.warn(\n `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}\"`\n );\n }\n\n // only warn if not in a browser environment\n if (__HYDROGEN_DEV__ && !privateStorefrontToken && !globalThis.document) {\n console.warn(\n `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. `\n );\n }\n\n // only warn if in a browser environment and you're using the privateStorefrontToken\n if (__HYDROGEN_DEV__ && privateStorefrontToken && globalThis) {\n console.warn(\n `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`\n );\n }\n\n return {\n getStorefrontApiUrl(overrideProps) {\n return `https://${\n overrideProps?.storeDomain ?? storeDomain\n }.myshopify.com/api/${\n overrideProps?.storefrontApiVersion ?? storefrontApiVersion\n }/graphql.json`;\n },\n getPrivateTokenHeaders(overrideProps) {\n if (!privateStorefrontToken && !overrideProps?.privateStorefrontToken) {\n throw new Error(\n `StorefrontClient: You did not pass in a 'privateStorefrontToken' while using 'getPrivateTokenHeaders()'`\n );\n }\n\n if (__HYDROGEN_DEV__ && !overrideProps?.buyerIp) {\n console.warn(\n `StorefrontClient: it is recommended to pass in the 'buyerIp' property which improves analytics and data in the admin.`\n );\n }\n\n const finalContentType = overrideProps?.contentType ?? contentType;\n\n return {\n // default to json\n 'content-type':\n finalContentType === 'graphql'\n ? 'application/graphql'\n : 'application/json',\n 'X-SDK-Variant': 'hydrogen-ui',\n 'X-SDK-Variant-Source': 'react',\n 'X-SDK-Version': storefrontApiVersion,\n 'Shopify-Storefront-Private-Token':\n overrideProps?.privateStorefrontToken ?? privateStorefrontToken ?? '',\n ...(overrideProps?.buyerIp\n ? {'Shopify-Storefront-Buyer-IP': overrideProps.buyerIp}\n : {}),\n };\n },\n getPublicTokenHeaders(overrideProps) {\n if (!publicStorefrontToken && !overrideProps?.publicStorefrontToken) {\n throw new Error(\n `StorefrontClient: You did not pass in a 'publicStorefrontToken' while using 'getPublicTokenHeaders()'`\n );\n }\n\n const finalContentType = overrideProps?.contentType ?? contentType;\n\n return {\n // default to json\n 'content-type':\n finalContentType === 'graphql'\n ? 'application/graphql'\n : 'application/json',\n 'X-SDK-Variant': 'hydrogen-ui',\n 'X-SDK-Variant-Source': 'react',\n 'X-SDK-Version': storefrontApiVersion,\n 'X-Shopify-Storefront-Access-Token':\n overrideProps?.publicStorefrontToken ?? publicStorefrontToken ?? '',\n };\n },\n };\n}\n\ntype StorefrontClientProps = {\n /** The host name of the domain (eg: `{shop}.myshopify.com`). */\n storeDomain: string;\n /** The Storefront API delegate access token. Refer to the [authentication](https://shopify.dev/api/storefront#authentication) and [delegate access token](https://shopify.dev/apps/auth/oauth/delegate-access-tokens) documentation for more details. */\n privateStorefrontToken?: string;\n /** The Storefront API access token. Refer to the [authentication](https://shopify.dev/api/storefront#authentication) documentation for more details. */\n publicStorefrontToken?: string;\n /** The Storefront API version. This should almost always be the same as the version Hydrogen-UI was built for. Learn more about Shopify [API versioning](https://shopify.dev/api/usage/versioning) for more details. */\n storefrontApiVersion: string;\n /**\n * Customizes which `\"content-type\"` header is added when using `getPrivateTokenHeaders()` and `getPublicTokenHeaders()`. When fetching with a `JSON.stringify()`-ed `body`, use `\"json\"`. When fetching with a `body` that is a plain string, use `\"graphql\"`. Defaults to `\"json\"`\n *\n * Can also be customized on a call-by-call basis by passing in `'contentType'` to both `getPrivateTokenHeaders({...})` and `getPublicTokenHeaders({...})`, for example: `getPublicTokenHeaders({contentType: 'graphql'})`\n */\n contentType?: 'json' | 'graphql';\n};\n\ntype OverrideTokenHeaderProps = Partial<\n Pick<StorefrontClientProps, 'contentType'>\n>;\n\ntype StorefrontClientReturn = {\n /**\n * Creates the fully-qualified URL to your store's GraphQL endpoint.\n *\n * By default, it will use the config you passed in when calling `createStorefrontClient()`. However, you can override the following settings on each invocation of `getStorefrontApiUrl({...})`:\n *\n * - `storeDomain`\n * - `storefrontApiVersion`\n */\n getStorefrontApiUrl: (\n props?: Partial<\n Pick<StorefrontClientProps, 'storeDomain' | 'storefrontApiVersion'>\n >\n ) => string;\n /**\n * Returns an object that contains headers that are needed for each query to Storefront API GraphQL endpoint. This method uses the private Server-to-Server token which reduces the chance of throttling but must not be exposed to clients. Server-side calls should prefer using this over `getPublicTokenHeaders()`.\n *\n * By default, it will use the config you passed in when calling `createStorefrontClient()`. However, you can override the following settings on each invocation of `getPrivateTokenHeaders({...})`:\n *\n * - `contentType`\n * - `privateStorefrontToken`\n * - `buyerIp`\n *\n * Note that `contentType` defaults to what you configured in `createStorefrontClient({...})` and defaults to `'json'`, but a specific call may require using `graphql`. When using `JSON.stringify()` on the `body`, use `'json'`; otherwise, use `'graphql'`.\n */\n getPrivateTokenHeaders: (\n props?: OverrideTokenHeaderProps &\n Pick<StorefrontClientProps, 'privateStorefrontToken'> & {\n /**\n * The client's IP address. Passing this to the Storefront API when using a server-to-server token will help improve your store's analytics data.\n */\n buyerIp?: string;\n }\n ) => Record<string, string>;\n /**\n * Returns an object that contains headers that are needed for each query to Storefront API GraphQL endpoint. This method uses the private Server-to-Server token which reduces the chance of throttling but must not be exposed to clients. Server-side calls should prefer using this over `getPublicTokenHeaders()`.\n *\n * By default, it will use the config you passed in when calling `createStorefrontClient()`. However, you can override the following settings on each invocation of `getPrivateTokenHeaders({...})`:\n *\n * - `contentType`\n * - `publicStorefrontToken`\n *\n * Note that `contentType` defaults to what you configured in `createStorefrontClient({...})` and defaults to `'json'`, but a specific call may require using `graphql`. When using `JSON.stringify()` on the `body`, use `'json'`; otherwise, use `'graphql'`.\n */\n getPublicTokenHeaders: (\n props?: OverrideTokenHeaderProps &\n Pick<StorefrontClientProps, 'publicStorefrontToken'>\n ) => Record<string, string>;\n};\n"],"names":[],"mappings":";AAOO,SAAS,uBAAuB;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAkD;AAChD,MAAI,yBAAyB,eAAe;AAClC,YAAA;AAAA,MACN,4NAA4N,4CAA4C;AAAA,IAAA;AAAA,EAE5Q;AAGA,MAAwB,CAAC,0BAA0B,CAAC,WAAW,UAAU;AAC/D,YAAA;AAAA,MACN;AAAA,IAAA;AAAA,EAEJ;AAGI,MAAoB,0BAA0B,YAAY;AACpD,YAAA;AAAA,MACN;AAAA,IAAA;AAAA,EAEJ;AAEO,SAAA;AAAA,IACL,oBAAoB,eAAe;;AACjC,aAAO,YACL,oDAAe,gBAAf,YAA8B,kCAE9B,oDAAe,yBAAf,YAAuC;AAAA,IAE3C;AAAA,IACA,uBAAuB,eAAe;;AACpC,UAAI,CAAC,0BAA0B,EAAC,+CAAe,yBAAwB;AACrE,cAAM,IAAI;AAAA,UACR;AAAA,QAAA;AAAA,MAEJ;AAEI,UAAoB,EAAC,+CAAe,UAAS;AACvC,gBAAA;AAAA,UACN;AAAA,QAAA;AAAA,MAEJ;AAEM,YAAA,oBAAmB,oDAAe,gBAAf,YAA8B;AAEhD,aAAA;AAAA,QAEL,gBACE,qBAAqB,YACjB,wBACA;AAAA,QACN,iBAAiB;AAAA,QACjB,wBAAwB;AAAA,QACxB,iBAAiB;AAAA,QACjB,qCACE,0DAAe,2BAAf,YAAyC,2BAAzC,YAAmE;AAAA,QACrE,IAAI,+CAAe,WACf,EAAC,+BAA+B,cAAc,QAAA,IAC9C,CAAC;AAAA,MAAA;AAAA,IAET;AAAA,IACA,sBAAsB,eAAe;;AACnC,UAAI,CAAC,yBAAyB,EAAC,+CAAe,wBAAuB;AACnE,cAAM,IAAI;AAAA,UACR;AAAA,QAAA;AAAA,MAEJ;AAEM,YAAA,oBAAmB,oDAAe,gBAAf,YAA8B;AAEhD,aAAA;AAAA,QAEL,gBACE,qBAAqB,YACjB,wBACA;AAAA,QACN,iBAAiB;AAAA,QACjB,wBAAwB;AAAA,QACxB,iBAAiB;AAAA,QACjB,sCACE,0DAAe,0BAAf,YAAwC,0BAAxC,YAAiE;AAAA,MAAA;AAAA,IAEvE;AAAA,EAAA;AAEJ;"}
|
package/dist/{browser-prod/useCartAPIStateMachine.js → browser-dev/useCartAPIStateMachine.mjs}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { useMachine } from "./node_modules/@xstate/react/es/fsm.
|
|
2
|
-
import { assign as i, createMachine as s } from "./node_modules/@xstate/fsm/es/index.
|
|
3
|
-
import { flattenConnection } from "./flatten-connection.
|
|
4
|
-
import { useCartActions } from "./useCartActions.
|
|
1
|
+
import { useMachine } from "./node_modules/@xstate/react/es/fsm.mjs";
|
|
2
|
+
import { assign as i, createMachine as s } from "./node_modules/@xstate/fsm/es/index.mjs";
|
|
3
|
+
import { flattenConnection } from "./flatten-connection.mjs";
|
|
4
|
+
import { useCartActions } from "./useCartActions.mjs";
|
|
5
5
|
import { useMemo } from "react";
|
|
6
6
|
function invokeCart(action, options) {
|
|
7
7
|
return {
|
|
@@ -323,4 +323,4 @@ export {
|
|
|
323
323
|
cartFromGraphQL,
|
|
324
324
|
useCartAPIStateMachine
|
|
325
325
|
};
|
|
326
|
-
//# sourceMappingURL=useCartAPIStateMachine.
|
|
326
|
+
//# sourceMappingURL=useCartAPIStateMachine.mjs.map
|
package/dist/{node-prod/useCartAPIStateMachine.cjs.map → browser-dev/useCartAPIStateMachine.mjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCartAPIStateMachine.cjs","sources":["../../src/useCartAPIStateMachine.tsx"],"sourcesContent":["import {useMachine} from '@xstate/react/fsm';\nimport {createMachine, assign, StateMachine} from '@xstate/fsm';\nimport {\n Cart,\n CartMachineActionEvent,\n CartMachineActions,\n CartMachineContext,\n CartMachineEvent,\n CartMachineFetchResultEvent,\n CartMachineTypeState,\n} from './cart-types.js';\nimport {flattenConnection} from './flatten-connection.js';\nimport {useCartActions} from './useCartActions.js';\nimport {useMemo} from 'react';\nimport {InitEvent} from '@xstate/fsm/lib/types.js';\nimport {CountryCode, Cart as CartType} from './storefront-api-types.js';\nimport type {PartialDeep} from 'type-fest';\n\nfunction invokeCart(\n action: keyof CartMachineActions,\n options?: {\n entryActions?: [keyof CartMachineActions];\n resolveTarget?: CartMachineTypeState['value'];\n errorTarget?: CartMachineTypeState['value'];\n exitActions?: [keyof CartMachineActions];\n }\n): StateMachine.Config<CartMachineContext, CartMachineEvent>['states']['on'] {\n return {\n entry: [\n ...(options?.entryActions || []),\n 'onCartActionEntry',\n 'onCartActionOptimisticUI',\n action,\n ],\n on: {\n RESOLVE: {\n target: options?.resolveTarget || 'idle',\n actions: [\n assign({\n prevCart: (context) => context?.cart,\n cart: (_, event) => event?.payload?.cart,\n rawCartResult: (_, event) => event?.payload?.rawCartResult,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n errors: (_) => undefined,\n }),\n ],\n },\n ERROR: {\n target: options?.errorTarget || 'error',\n actions: [\n assign({\n prevCart: (context) => context?.cart,\n cart: (context) => context?.lastValidCart,\n errors: (_, event) => event?.payload?.errors,\n }),\n ],\n },\n CART_COMPLETED: {\n target: 'cartCompleted',\n actions: assign({\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n prevCart: (_) => undefined,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n cart: (_) => undefined,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n lastValidCart: (_) => undefined,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n errors: (_) => undefined,\n }),\n },\n },\n exit: ['onCartActionComplete', ...(options?.exitActions || [])],\n };\n}\n\nconst INITIALIZING_CART_EVENTS: StateMachine.Machine<\n CartMachineContext,\n CartMachineEvent,\n CartMachineTypeState\n>['config']['states']['uninitialized']['on'] = {\n CART_FETCH: {\n target: 'cartFetching',\n },\n CART_CREATE: {\n target: 'cartCreating',\n },\n CART_SET: {\n target: 'idle',\n actions: [\n assign({\n rawCartResult: (_, event) => event.payload.cart,\n cart: (_, event) => cartFromGraphQL(event.payload.cart),\n }),\n ],\n },\n};\n\nconst UPDATING_CART_EVENTS: StateMachine.Machine<\n CartMachineContext,\n CartMachineEvent,\n CartMachineTypeState\n>['config']['states']['idle']['on'] = {\n CARTLINE_ADD: {\n target: 'cartLineAdding',\n },\n CARTLINE_UPDATE: {\n target: 'cartLineUpdating',\n },\n CARTLINE_REMOVE: {\n target: 'cartLineRemoving',\n },\n NOTE_UPDATE: {\n target: 'noteUpdating',\n },\n BUYER_IDENTITY_UPDATE: {\n target: 'buyerIdentityUpdating',\n },\n CART_ATTRIBUTES_UPDATE: {\n target: 'cartAttributesUpdating',\n },\n DISCOUNT_CODES_UPDATE: {\n target: 'discountCodesUpdating',\n },\n};\n\nfunction createCartMachine(\n initialCart?: PartialDeep<CartType, {recurseIntoArrays: true}>\n) {\n return createMachine<\n CartMachineContext,\n CartMachineEvent,\n CartMachineTypeState\n >({\n id: 'Cart',\n initial: initialCart ? 'idle' : 'uninitialized',\n context: {\n cart: initialCart && cartFromGraphQL(initialCart),\n },\n states: {\n uninitialized: {\n on: INITIALIZING_CART_EVENTS,\n },\n cartCompleted: {\n on: INITIALIZING_CART_EVENTS,\n },\n initializationError: {\n on: INITIALIZING_CART_EVENTS,\n },\n idle: {\n on: {...INITIALIZING_CART_EVENTS, ...UPDATING_CART_EVENTS},\n },\n error: {\n on: {...INITIALIZING_CART_EVENTS, ...UPDATING_CART_EVENTS},\n },\n cartFetching: invokeCart('cartFetchAction', {\n errorTarget: 'initializationError',\n }),\n cartCreating: invokeCart('cartCreateAction', {\n errorTarget: 'initializationError',\n }),\n cartLineRemoving: invokeCart('cartLineRemoveAction'),\n cartLineUpdating: invokeCart('cartLineUpdateAction'),\n cartLineAdding: invokeCart('cartLineAddAction'),\n noteUpdating: invokeCart('noteUpdateAction'),\n buyerIdentityUpdating: invokeCart('buyerIdentityUpdateAction'),\n cartAttributesUpdating: invokeCart('cartAttributesUpdateAction'),\n discountCodesUpdating: invokeCart('discountCodesUpdateAction'),\n },\n });\n}\n\nexport function useCartAPIStateMachine({\n numCartLines,\n onCartActionEntry,\n onCartActionOptimisticUI,\n onCartActionComplete,\n data: cart,\n cartFragment,\n countryCode,\n}: {\n /** Maximum number of cart lines to fetch. Defaults to 250 cart lines. */\n numCartLines?: number;\n /** A callback that is invoked just before a Cart API action executes. */\n onCartActionEntry?: (\n context: CartMachineContext,\n event: CartMachineActionEvent\n ) => void;\n /** A callback that is invoked after executing the entry actions for optimistic UI changes. */\n onCartActionOptimisticUI?: (\n context: CartMachineContext,\n event: CartMachineEvent\n ) => Partial<CartMachineContext>;\n /** A callback that is invoked after a Cart API completes. */\n onCartActionComplete?: (\n context: CartMachineContext,\n event: CartMachineFetchResultEvent\n ) => void;\n /** An object with fields that correspond to the Storefront API's [Cart object](https://shopify.dev/api/storefront/latest/objects/cart). */\n data?: PartialDeep<CartType, {recurseIntoArrays: true}>;\n /** A fragment used to query the Storefront API's [Cart object](https://shopify.dev/api/storefront/latest/objects/cart) for all queries and mutations. A default value is used if no argument is provided. */\n cartFragment: string;\n /** The ISO country code for i18n. */\n countryCode?: CountryCode;\n}) {\n const {\n cartFetch,\n cartCreate,\n cartLineAdd,\n cartLineUpdate,\n cartLineRemove,\n noteUpdate,\n buyerIdentityUpdate,\n cartAttributesUpdate,\n discountCodesUpdate,\n } = useCartActions({\n numCartLines,\n cartFragment,\n countryCode,\n });\n\n const cartMachine = useMemo(() => createCartMachine(cart), [cart]);\n\n const [state, send, service] = useMachine(cartMachine, {\n actions: {\n cartFetchAction: async (_, event): Promise<void> => {\n if (event.type !== 'CART_FETCH') return;\n\n const {data, errors} = await cartFetch(event?.payload?.cartId);\n const resultEvent = eventFromFetchResult(event, data?.cart, errors);\n send(resultEvent);\n },\n cartCreateAction: async (_, event): Promise<void> => {\n if (event.type !== 'CART_CREATE') return;\n\n const {data, errors} = await cartCreate(event?.payload);\n const resultEvent = eventFromFetchResult(\n event,\n data?.cartCreate?.cart,\n errors\n );\n send(resultEvent);\n },\n cartLineAddAction: async (context, event): Promise<void> => {\n if (event.type !== 'CARTLINE_ADD' || !context?.cart?.id) return;\n\n const {data, errors} = await cartLineAdd(\n context.cart.id,\n event.payload.lines\n );\n\n const resultEvent = eventFromFetchResult(\n event,\n data?.cartLinesAdd?.cart,\n errors\n );\n\n send(resultEvent);\n },\n cartLineUpdateAction: async (context, event): Promise<void> => {\n if (event.type !== 'CARTLINE_UPDATE' || !context?.cart?.id) return;\n const {data, errors} = await cartLineUpdate(\n context.cart.id,\n event.payload.lines\n );\n\n const resultEvent = eventFromFetchResult(\n event,\n data?.cartLinesUpdate?.cart,\n errors\n );\n\n send(resultEvent);\n },\n cartLineRemoveAction: async (context, event): Promise<void> => {\n if (event.type !== 'CARTLINE_REMOVE' || !context?.cart?.id) return;\n const {data, errors} = await cartLineRemove(\n context.cart.id,\n event.payload.lines\n );\n\n const resultEvent = eventFromFetchResult(\n event,\n data?.cartLinesRemove?.cart,\n errors\n );\n\n send(resultEvent);\n },\n noteUpdateAction: async (context, event): Promise<void> => {\n if (event.type !== 'NOTE_UPDATE' || !context?.cart?.id) return;\n const {data, errors} = await noteUpdate(\n context.cart.id,\n event.payload.note\n );\n\n const resultEvent = eventFromFetchResult(\n event,\n data?.cartNoteUpdate?.cart,\n errors\n );\n\n send(resultEvent);\n },\n buyerIdentityUpdateAction: async (context, event): Promise<void> => {\n if (event.type !== 'BUYER_IDENTITY_UPDATE' || !context?.cart?.id)\n return;\n const {data, errors} = await buyerIdentityUpdate(\n context.cart.id,\n event.payload.buyerIdentity\n );\n\n const resultEvent = eventFromFetchResult(\n event,\n data?.cartBuyerIdentityUpdate?.cart,\n errors\n );\n\n send(resultEvent);\n },\n cartAttributesUpdateAction: async (context, event): Promise<void> => {\n if (event.type !== 'CART_ATTRIBUTES_UPDATE' || !context?.cart?.id)\n return;\n const {data, errors} = await cartAttributesUpdate(\n context.cart.id,\n event.payload.attributes\n );\n\n const resultEvent = eventFromFetchResult(\n event,\n data?.cartAttributesUpdate?.cart,\n errors\n );\n\n send(resultEvent);\n },\n discountCodesUpdateAction: async (context, event): Promise<void> => {\n if (event.type !== 'DISCOUNT_CODES_UPDATE' || !context?.cart?.id)\n return;\n const {data, errors} = await discountCodesUpdate(\n context.cart.id,\n event.payload.discountCodes\n );\n const resultEvent = eventFromFetchResult(\n event,\n data?.cartDiscountCodesUpdate?.cart,\n errors\n );\n\n send(resultEvent);\n },\n ...(onCartActionEntry && {\n onCartActionEntry: (context, event) => {\n if (isCartActionEvent(event)) {\n onCartActionEntry(context, event);\n }\n },\n }),\n ...(onCartActionOptimisticUI && {\n onCartActionOptimisticUI: assign((context, event) => {\n return onCartActionOptimisticUI(context, event);\n }),\n }),\n ...(onCartActionComplete && {\n onCartActionComplete: (context, event) => {\n if (isCartFetchResultEvent(event)) {\n onCartActionComplete(context, event);\n }\n },\n }),\n } as CartMachineActions,\n });\n\n return useMemo(() => [state, send, service] as const, [state, send, service]);\n}\n\nexport function cartFromGraphQL(\n cart: PartialDeep<CartType, {recurseIntoArrays: true}>\n): Cart {\n return {\n ...cart,\n lines: flattenConnection(cart?.lines),\n note: cart.note ?? undefined,\n };\n}\n\nfunction eventFromFetchResult(\n cartActionEvent: CartMachineActionEvent,\n cart?: PartialDeep<CartType, {recurseIntoArrays: true}> | null,\n errors?: unknown\n): CartMachineFetchResultEvent {\n if (errors) {\n return {type: 'ERROR', payload: {errors, cartActionEvent}};\n }\n\n if (!cart) {\n return {\n type: 'CART_COMPLETED',\n payload: {\n cartActionEvent,\n },\n };\n }\n\n return {\n type: 'RESOLVE',\n payload: {\n cart: cartFromGraphQL(cart),\n rawCartResult: cart,\n cartActionEvent,\n },\n };\n}\n\nfunction isCartActionEvent(\n event: CartMachineEvent | InitEvent\n): event is CartMachineActionEvent {\n return (\n event.type === 'CART_CREATE' ||\n event.type === 'CARTLINE_ADD' ||\n event.type === 'CARTLINE_UPDATE' ||\n event.type === 'CARTLINE_REMOVE' ||\n event.type === 'NOTE_UPDATE' ||\n event.type === 'BUYER_IDENTITY_UPDATE' ||\n event.type === 'CART_ATTRIBUTES_UPDATE' ||\n event.type === 'DISCOUNT_CODES_UPDATE'\n );\n}\n\nfunction isCartFetchResultEvent(\n event: CartMachineEvent | InitEvent\n): event is CartMachineFetchResultEvent {\n return (\n event.type === 'RESOLVE' ||\n event.type === 'ERROR' ||\n event.type === 'CART_COMPLETED'\n );\n}\n"],"names":["invokeCart","action","options","entry","entryActions","on","RESOLVE","target","resolveTarget","actions","assign","prevCart","context","cart","_","event","payload","rawCartResult","errors","undefined","ERROR","errorTarget","lastValidCart","CART_COMPLETED","exit","exitActions","INITIALIZING_CART_EVENTS","CART_FETCH","CART_CREATE","CART_SET","cartFromGraphQL","UPDATING_CART_EVENTS","CARTLINE_ADD","CARTLINE_UPDATE","CARTLINE_REMOVE","NOTE_UPDATE","BUYER_IDENTITY_UPDATE","CART_ATTRIBUTES_UPDATE","DISCOUNT_CODES_UPDATE","createCartMachine","initialCart","createMachine","id","initial","states","uninitialized","cartCompleted","initializationError","idle","error","cartFetching","cartCreating","cartLineRemoving","cartLineUpdating","cartLineAdding","noteUpdating","buyerIdentityUpdating","cartAttributesUpdating","discountCodesUpdating","useCartAPIStateMachine","numCartLines","onCartActionEntry","onCartActionOptimisticUI","onCartActionComplete","data","cartFragment","countryCode","cartFetch","cartCreate","cartLineAdd","cartLineUpdate","cartLineRemove","noteUpdate","buyerIdentityUpdate","cartAttributesUpdate","discountCodesUpdate","useCartActions","cartMachine","useMemo","state","send","service","useMachine","cartFetchAction","type","cartId","resultEvent","eventFromFetchResult","cartCreateAction","cartLineAddAction","lines","cartLinesAdd","cartLineUpdateAction","cartLinesUpdate","cartLineRemoveAction","cartLinesRemove","noteUpdateAction","note","cartNoteUpdate","buyerIdentityUpdateAction","buyerIdentity","cartBuyerIdentityUpdate","cartAttributesUpdateAction","attributes","discountCodesUpdateAction","discountCodes","cartDiscountCodesUpdate","isCartActionEvent","isCartFetchResultEvent","flattenConnection","cartActionEvent"],"mappings":";;;;;;;AAkBA,SAASA,WACPC,QACAC,SAM2E;AACpE,SAAA;AAAA,IACLC,OAAO,CACL,IAAID,mCAASE,iBAAgB,CAAA,GAC7B,qBACA,4BACAH,MAJK;AAAA,IAMPI,IAAI;AAAA,MACFC,SAAS;AAAA,QACPC,SAAQL,mCAASM,kBAAiB;AAAA,QAClCC,SAAS,CACPC,IAAAA,OAAO;AAAA,UACLC,UAAWC,aAAYA,mCAASC;AAAAA,UAChCA,MAAM,CAACC,GAAGC,UAAAA;;AAAUA,wDAAOC,YAAPD,mBAAgBF;AAAAA;AAAAA,UACpCI,eAAe,CAACH,GAAGC,UAAAA;;AAAUA,wDAAOC,YAAPD,mBAAgBE;AAAAA;AAAAA,UAE7CC,QAASJ,CAAMK,MAAAA;AAAAA,QAAAA,CALX,CADC;AAAA,MAFF;AAAA,MAYTC,OAAO;AAAA,QACLb,SAAQL,mCAASmB,gBAAe;AAAA,QAChCZ,SAAS,CACPC,IAAAA,OAAO;AAAA,UACLC,UAAWC,aAAYA,mCAASC;AAAAA,UAChCA,MAAOD,aAAYA,mCAASU;AAAAA,UAC5BJ,QAAQ,CAACJ,GAAGC,UAAAA;;AAAUA,wDAAOC,YAAPD,mBAAgBG;AAAAA;AAAAA,QAAAA,CAHlC,CADC;AAAA,MAFJ;AAAA,MAUPK,gBAAgB;AAAA,QACdhB,QAAQ;AAAA,QACRE,SAASC,IAAAA,OAAO;AAAA,UAEdC,UAAWG,CAAMK,MAAAA;AAAAA,UAEjBN,MAAOC,CAAMK,MAAAA;AAAAA,UAEbG,eAAgBR,CAAMK,MAAAA;AAAAA,UAEtBD,QAASJ,CAAMK,MAAAA;AAAAA,QAAAA,CARF;AAAA,MAFD;AAAA,IAvBd;AAAA,IAqCJK,MAAM,CAAC,wBAAwB,IAAItB,mCAASuB,gBAAe,CAAA,CAArD;AAAA,EAAA;AAET;AAED,MAAMC,2BAIyC;AAAA,EAC7CC,YAAY;AAAA,IACVpB,QAAQ;AAAA,EADE;AAAA,EAGZqB,aAAa;AAAA,IACXrB,QAAQ;AAAA,EADG;AAAA,EAGbsB,UAAU;AAAA,IACRtB,QAAQ;AAAA,IACRE,SAAS,CACPC,IAAAA,OAAO;AAAA,MACLO,eAAe,CAACH,GAAGC,UAAUA,MAAMC,QAAQH;AAAAA,MAC3CA,MAAM,CAACC,GAAGC,UAAUe,gBAAgBf,MAAMC,QAAQH,IAAf;AAAA,IAAA,CAF/B,CADC;AAAA,EAFD;AAPmC;AAkB/C,MAAMkB,uBAIgC;AAAA,EACpCC,cAAc;AAAA,IACZzB,QAAQ;AAAA,EADI;AAAA,EAGd0B,iBAAiB;AAAA,IACf1B,QAAQ;AAAA,EADO;AAAA,EAGjB2B,iBAAiB;AAAA,IACf3B,QAAQ;AAAA,EADO;AAAA,EAGjB4B,aAAa;AAAA,IACX5B,QAAQ;AAAA,EADG;AAAA,EAGb6B,uBAAuB;AAAA,IACrB7B,QAAQ;AAAA,EADa;AAAA,EAGvB8B,wBAAwB;AAAA,IACtB9B,QAAQ;AAAA,EADc;AAAA,EAGxB+B,uBAAuB;AAAA,IACrB/B,QAAQ;AAAA,EADa;AAnBa;AAwBtC,SAASgC,kBACPC,aACA;AACA,SAAOC,kBAIL;AAAA,IACAC,IAAI;AAAA,IACJC,SAASH,cAAc,SAAS;AAAA,IAChC5B,SAAS;AAAA,MACPC,MAAM2B,eAAeV,gBAAgBU,WAAD;AAAA,IAD7B;AAAA,IAGTI,QAAQ;AAAA,MACNC,eAAe;AAAA,QACbxC,IAAIqB;AAAAA,MADS;AAAA,MAGfoB,eAAe;AAAA,QACbzC,IAAIqB;AAAAA,MADS;AAAA,MAGfqB,qBAAqB;AAAA,QACnB1C,IAAIqB;AAAAA,MADe;AAAA,MAGrBsB,MAAM;AAAA,QACJ3C,IAAI;AAAA,UAAC,GAAGqB;AAAAA,UAA0B,GAAGK;AAAAA,QAAjC;AAAA,MADA;AAAA,MAGNkB,OAAO;AAAA,QACL5C,IAAI;AAAA,UAAC,GAAGqB;AAAAA,UAA0B,GAAGK;AAAAA,QAAjC;AAAA,MADC;AAAA,MAGPmB,cAAclD,WAAW,mBAAmB;AAAA,QAC1CqB,aAAa;AAAA,MAAA,CADS;AAAA,MAGxB8B,cAAcnD,WAAW,oBAAoB;AAAA,QAC3CqB,aAAa;AAAA,MAAA,CADS;AAAA,MAGxB+B,kBAAkBpD,WAAW,sBAAD;AAAA,MAC5BqD,kBAAkBrD,WAAW,sBAAD;AAAA,MAC5BsD,gBAAgBtD,WAAW,mBAAD;AAAA,MAC1BuD,cAAcvD,WAAW,kBAAD;AAAA,MACxBwD,uBAAuBxD,WAAW,2BAAD;AAAA,MACjCyD,wBAAwBzD,WAAW,4BAAD;AAAA,MAClC0D,uBAAuB1D,WAAW,2BAAD;AAAA,IA5B3B;AAAA,EAAA,CAVU;AAyCrB;AAEM,SAAS2D,uBAAuB;AAAA,EACrCC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,MAAMnD;AAAAA,EACNoD;AAAAA,EACAC;AAPqC,GAgCpC;AACK,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,MACEC,8BAAe;AAAA,IACjBhB;AAAAA,IACAK;AAAAA,IACAC;AAAAA,EAAAA,CAHgB;AAMZW,QAAAA,cAAcC,MAAAA,QAAQ,MAAMvC,kBAAkB1B,IAAD,GAAQ,CAACA,IAAD,CAAhC;AAE3B,QAAM,CAACkE,OAAOC,MAAMC,OAAd,IAAyBC,MAAAA,WAAWL,aAAa;AAAA,IACrDpE,SAAS;AAAA,MACP0E,iBAAiB,OAAOrE,GAAGC,UAAyB;;AAClD,YAAIA,MAAMqE,SAAS;AAAc;AAE3B,cAAA;AAAA,UAACpB;AAAAA,UAAM9C;AAAAA,QAAU,IAAA,MAAMiD,WAAUpD,oCAAOC,YAAPD,mBAAgBsE,MAAjB;AACtC,cAAMC,cAAcC,qBAAqBxE,OAAOiD,6BAAMnD,MAAMK,MAApB;AACxC8D,aAAKM,WAAD;AAAA,MACL;AAAA,MACDE,kBAAkB,OAAO1E,GAAGC,UAAyB;;AACnD,YAAIA,MAAMqE,SAAS;AAAe;AAE5B,cAAA;AAAA,UAACpB;AAAAA,UAAM9C;AAAAA,QAAU,IAAA,MAAMkD,WAAWrD,+BAAOC,OAAR;AACvC,cAAMsE,cAAcC,qBAClBxE,QACAiD,kCAAMI,eAANJ,mBAAkBnD,MAClBK,MAHsC;AAKxC8D,aAAKM,WAAD;AAAA,MACL;AAAA,MACDG,mBAAmB,OAAO7E,SAASG,UAAyB;;AAC1D,YAAIA,MAAMqE,SAAS,kBAAkB,GAACxE,wCAASC,SAATD,mBAAe8B;AAAI;AAEnD,cAAA;AAAA,UAACsB;AAAAA,UAAM9C;AAAAA,QAAAA,IAAU,MAAMmD,YAC3BzD,QAAQC,KAAK6B,IACb3B,MAAMC,QAAQ0E,KAFwB;AAKxC,cAAMJ,cAAcC,qBAClBxE,QACAiD,kCAAM2B,iBAAN3B,mBAAoBnD,MACpBK,MAHsC;AAMxC8D,aAAKM,WAAD;AAAA,MACL;AAAA,MACDM,sBAAsB,OAAOhF,SAASG,UAAyB;;AAC7D,YAAIA,MAAMqE,SAAS,qBAAqB,GAACxE,wCAASC,SAATD,mBAAe8B;AAAI;AACtD,cAAA;AAAA,UAACsB;AAAAA,UAAM9C;AAAAA,QAAAA,IAAU,MAAMoD,eAC3B1D,QAAQC,KAAK6B,IACb3B,MAAMC,QAAQ0E,KAF2B;AAK3C,cAAMJ,cAAcC,qBAClBxE,QACAiD,kCAAM6B,oBAAN7B,mBAAuBnD,MACvBK,MAHsC;AAMxC8D,aAAKM,WAAD;AAAA,MACL;AAAA,MACDQ,sBAAsB,OAAOlF,SAASG,UAAyB;;AAC7D,YAAIA,MAAMqE,SAAS,qBAAqB,GAACxE,wCAASC,SAATD,mBAAe8B;AAAI;AACtD,cAAA;AAAA,UAACsB;AAAAA,UAAM9C;AAAAA,QAAAA,IAAU,MAAMqD,eAC3B3D,QAAQC,KAAK6B,IACb3B,MAAMC,QAAQ0E,KAF2B;AAK3C,cAAMJ,cAAcC,qBAClBxE,QACAiD,kCAAM+B,oBAAN/B,mBAAuBnD,MACvBK,MAHsC;AAMxC8D,aAAKM,WAAD;AAAA,MACL;AAAA,MACDU,kBAAkB,OAAOpF,SAASG,UAAyB;;AACzD,YAAIA,MAAMqE,SAAS,iBAAiB,GAACxE,wCAASC,SAATD,mBAAe8B;AAAI;AAClD,cAAA;AAAA,UAACsB;AAAAA,UAAM9C;AAAAA,QAAAA,IAAU,MAAMsD,WAC3B5D,QAAQC,KAAK6B,IACb3B,MAAMC,QAAQiF,IAFuB;AAKvC,cAAMX,cAAcC,qBAClBxE,QACAiD,kCAAMkC,mBAANlC,mBAAsBnD,MACtBK,MAHsC;AAMxC8D,aAAKM,WAAD;AAAA,MACL;AAAA,MACDa,2BAA2B,OAAOvF,SAASG,UAAyB;;AAClE,YAAIA,MAAMqE,SAAS,2BAA2B,GAACxE,wCAASC,SAATD,mBAAe8B;AAC5D;AACI,cAAA;AAAA,UAACsB;AAAAA,UAAM9C;AAAAA,QAAAA,IAAU,MAAMuD,oBAC3B7D,QAAQC,KAAK6B,IACb3B,MAAMC,QAAQoF,aAFgC;AAKhD,cAAMd,cAAcC,qBAClBxE,QACAiD,kCAAMqC,4BAANrC,mBAA+BnD,MAC/BK,MAHsC;AAMxC8D,aAAKM,WAAD;AAAA,MACL;AAAA,MACDgB,4BAA4B,OAAO1F,SAASG,UAAyB;;AACnE,YAAIA,MAAMqE,SAAS,4BAA4B,GAACxE,wCAASC,SAATD,mBAAe8B;AAC7D;AACI,cAAA;AAAA,UAACsB;AAAAA,UAAM9C;AAAAA,QAAAA,IAAU,MAAMwD,qBAC3B9D,QAAQC,KAAK6B,IACb3B,MAAMC,QAAQuF,UAFiC;AAKjD,cAAMjB,cAAcC,qBAClBxE,QACAiD,kCAAMU,yBAANV,mBAA4BnD,MAC5BK,MAHsC;AAMxC8D,aAAKM,WAAD;AAAA,MACL;AAAA,MACDkB,2BAA2B,OAAO5F,SAASG,UAAyB;;AAClE,YAAIA,MAAMqE,SAAS,2BAA2B,GAACxE,wCAASC,SAATD,mBAAe8B;AAC5D;AACI,cAAA;AAAA,UAACsB;AAAAA,UAAM9C;AAAAA,QAAAA,IAAU,MAAMyD,oBAC3B/D,QAAQC,KAAK6B,IACb3B,MAAMC,QAAQyF,aAFgC;AAIhD,cAAMnB,cAAcC,qBAClBxE,QACAiD,kCAAM0C,4BAAN1C,mBAA+BnD,MAC/BK,MAHsC;AAMxC8D,aAAKM,WAAD;AAAA,MACL;AAAA,MACD,GAAIzB,qBAAqB;AAAA,QACvBA,mBAAmB,CAACjD,SAASG,UAAU;AACjC4F,cAAAA,kBAAkB5F,KAAD,GAAS;AAC5B8C,8BAAkBjD,SAASG,KAAV;AAAA,UAClB;AAAA,QACF;AAAA,MALsB;AAAA,MAOzB,GAAI+C,4BAA4B;AAAA,QAC9BA,0BAA0BpD,IAAAA,OAAO,CAACE,SAASG,UAAU;AAC5C+C,iBAAAA,yBAAyBlD,SAASG,KAAV;AAAA,QAAA,CADD;AAAA,MADF;AAAA,MAKhC,GAAIgD,wBAAwB;AAAA,QAC1BA,sBAAsB,CAACnD,SAASG,UAAU;AACpC6F,cAAAA,uBAAuB7F,KAAD,GAAS;AACjCgD,iCAAqBnD,SAASG,KAAV;AAAA,UACrB;AAAA,QACF;AAAA,MALyB;AAAA,IA3IrB;AAAA,EAAA,CAD8B;AAsJlC+D,SAAAA,cAAQ,MAAM,CAACC,OAAOC,MAAMC,OAAd,GAAiC,CAACF,OAAOC,MAAMC,OAAd,CAAxC;AACf;AAEM,SAASnD,gBACdjB,MACM;;AACC,SAAA;AAAA,IACL,GAAGA;AAAAA,IACH6E,OAAOmB,kBAAAA,kBAAkBhG,6BAAM6E,KAAP;AAAA,IACxBO,OAAMpF,UAAKoF,SAALpF,YAAaM;AAAAA,EAAAA;AAEtB;AAED,SAASoE,qBACPuB,iBACAjG,MACAK,QAC6B;AAC7B,MAAIA,QAAQ;AACH,WAAA;AAAA,MAACkE,MAAM;AAAA,MAASpE,SAAS;AAAA,QAACE;AAAAA,QAAQ4F;AAAAA,MAAT;AAAA,IAAA;AAAA,EACjC;AAED,MAAI,CAACjG,MAAM;AACF,WAAA;AAAA,MACLuE,MAAM;AAAA,MACNpE,SAAS;AAAA,QACP8F;AAAAA,MADO;AAAA,IAAA;AAAA,EAIZ;AAEM,SAAA;AAAA,IACL1B,MAAM;AAAA,IACNpE,SAAS;AAAA,MACPH,MAAMiB,gBAAgBjB,IAAD;AAAA,MACrBI,eAAeJ;AAAAA,MACfiG;AAAAA,IAHO;AAAA,EAAA;AAMZ;AAED,SAASH,kBACP5F,OACiC;AAE/BA,SAAAA,MAAMqE,SAAS,iBACfrE,MAAMqE,SAAS,kBACfrE,MAAMqE,SAAS,qBACfrE,MAAMqE,SAAS,qBACfrE,MAAMqE,SAAS,iBACfrE,MAAMqE,SAAS,2BACfrE,MAAMqE,SAAS,4BACfrE,MAAMqE,SAAS;AAElB;AAED,SAASwB,uBACP7F,OACsC;AACtC,SACEA,MAAMqE,SAAS,aACfrE,MAAMqE,SAAS,WACfrE,MAAMqE,SAAS;AAElB;;;"}
|
|
1
|
+
{"version":3,"file":"useCartAPIStateMachine.mjs","sources":["../../src/useCartAPIStateMachine.tsx"],"sourcesContent":["import {useMachine} from '@xstate/react/fsm';\nimport {createMachine, assign, StateMachine} from '@xstate/fsm';\nimport {\n Cart,\n CartMachineActionEvent,\n CartMachineActions,\n CartMachineContext,\n CartMachineEvent,\n CartMachineFetchResultEvent,\n CartMachineTypeState,\n} from './cart-types.js';\nimport {flattenConnection} from './flatten-connection.js';\nimport {useCartActions} from './useCartActions.js';\nimport {useMemo} from 'react';\nimport {InitEvent} from '@xstate/fsm/lib/types.js';\nimport {CountryCode, Cart as CartType} from './storefront-api-types.js';\nimport type {PartialDeep} from 'type-fest';\n\nfunction invokeCart(\n action: keyof CartMachineActions,\n options?: {\n entryActions?: [keyof CartMachineActions];\n resolveTarget?: CartMachineTypeState['value'];\n errorTarget?: CartMachineTypeState['value'];\n exitActions?: [keyof CartMachineActions];\n }\n): StateMachine.Config<CartMachineContext, CartMachineEvent>['states']['on'] {\n return {\n entry: [\n ...(options?.entryActions || []),\n 'onCartActionEntry',\n 'onCartActionOptimisticUI',\n action,\n ],\n on: {\n RESOLVE: {\n target: options?.resolveTarget || 'idle',\n actions: [\n assign({\n prevCart: (context) => context?.cart,\n cart: (_, event) => event?.payload?.cart,\n rawCartResult: (_, event) => event?.payload?.rawCartResult,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n errors: (_) => undefined,\n }),\n ],\n },\n ERROR: {\n target: options?.errorTarget || 'error',\n actions: [\n assign({\n prevCart: (context) => context?.cart,\n cart: (context) => context?.lastValidCart,\n errors: (_, event) => event?.payload?.errors,\n }),\n ],\n },\n CART_COMPLETED: {\n target: 'cartCompleted',\n actions: assign({\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n prevCart: (_) => undefined,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n cart: (_) => undefined,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n lastValidCart: (_) => undefined,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n errors: (_) => undefined,\n }),\n },\n },\n exit: ['onCartActionComplete', ...(options?.exitActions || [])],\n };\n}\n\nconst INITIALIZING_CART_EVENTS: StateMachine.Machine<\n CartMachineContext,\n CartMachineEvent,\n CartMachineTypeState\n>['config']['states']['uninitialized']['on'] = {\n CART_FETCH: {\n target: 'cartFetching',\n },\n CART_CREATE: {\n target: 'cartCreating',\n },\n CART_SET: {\n target: 'idle',\n actions: [\n assign({\n rawCartResult: (_, event) => event.payload.cart,\n cart: (_, event) => cartFromGraphQL(event.payload.cart),\n }),\n ],\n },\n};\n\nconst UPDATING_CART_EVENTS: StateMachine.Machine<\n CartMachineContext,\n CartMachineEvent,\n CartMachineTypeState\n>['config']['states']['idle']['on'] = {\n CARTLINE_ADD: {\n target: 'cartLineAdding',\n },\n CARTLINE_UPDATE: {\n target: 'cartLineUpdating',\n },\n CARTLINE_REMOVE: {\n target: 'cartLineRemoving',\n },\n NOTE_UPDATE: {\n target: 'noteUpdating',\n },\n BUYER_IDENTITY_UPDATE: {\n target: 'buyerIdentityUpdating',\n },\n CART_ATTRIBUTES_UPDATE: {\n target: 'cartAttributesUpdating',\n },\n DISCOUNT_CODES_UPDATE: {\n target: 'discountCodesUpdating',\n },\n};\n\nfunction createCartMachine(\n initialCart?: PartialDeep<CartType, {recurseIntoArrays: true}>\n) {\n return createMachine<\n CartMachineContext,\n CartMachineEvent,\n CartMachineTypeState\n >({\n id: 'Cart',\n initial: initialCart ? 'idle' : 'uninitialized',\n context: {\n cart: initialCart && cartFromGraphQL(initialCart),\n },\n states: {\n uninitialized: {\n on: INITIALIZING_CART_EVENTS,\n },\n cartCompleted: {\n on: INITIALIZING_CART_EVENTS,\n },\n initializationError: {\n on: INITIALIZING_CART_EVENTS,\n },\n idle: {\n on: {...INITIALIZING_CART_EVENTS, ...UPDATING_CART_EVENTS},\n },\n error: {\n on: {...INITIALIZING_CART_EVENTS, ...UPDATING_CART_EVENTS},\n },\n cartFetching: invokeCart('cartFetchAction', {\n errorTarget: 'initializationError',\n }),\n cartCreating: invokeCart('cartCreateAction', {\n errorTarget: 'initializationError',\n }),\n cartLineRemoving: invokeCart('cartLineRemoveAction'),\n cartLineUpdating: invokeCart('cartLineUpdateAction'),\n cartLineAdding: invokeCart('cartLineAddAction'),\n noteUpdating: invokeCart('noteUpdateAction'),\n buyerIdentityUpdating: invokeCart('buyerIdentityUpdateAction'),\n cartAttributesUpdating: invokeCart('cartAttributesUpdateAction'),\n discountCodesUpdating: invokeCart('discountCodesUpdateAction'),\n },\n });\n}\n\nexport function useCartAPIStateMachine({\n numCartLines,\n onCartActionEntry,\n onCartActionOptimisticUI,\n onCartActionComplete,\n data: cart,\n cartFragment,\n countryCode,\n}: {\n /** Maximum number of cart lines to fetch. Defaults to 250 cart lines. */\n numCartLines?: number;\n /** A callback that is invoked just before a Cart API action executes. */\n onCartActionEntry?: (\n context: CartMachineContext,\n event: CartMachineActionEvent\n ) => void;\n /** A callback that is invoked after executing the entry actions for optimistic UI changes. */\n onCartActionOptimisticUI?: (\n context: CartMachineContext,\n event: CartMachineEvent\n ) => Partial<CartMachineContext>;\n /** A callback that is invoked after a Cart API completes. */\n onCartActionComplete?: (\n context: CartMachineContext,\n event: CartMachineFetchResultEvent\n ) => void;\n /** An object with fields that correspond to the Storefront API's [Cart object](https://shopify.dev/api/storefront/latest/objects/cart). */\n data?: PartialDeep<CartType, {recurseIntoArrays: true}>;\n /** A fragment used to query the Storefront API's [Cart object](https://shopify.dev/api/storefront/latest/objects/cart) for all queries and mutations. A default value is used if no argument is provided. */\n cartFragment: string;\n /** The ISO country code for i18n. */\n countryCode?: CountryCode;\n}) {\n const {\n cartFetch,\n cartCreate,\n cartLineAdd,\n cartLineUpdate,\n cartLineRemove,\n noteUpdate,\n buyerIdentityUpdate,\n cartAttributesUpdate,\n discountCodesUpdate,\n } = useCartActions({\n numCartLines,\n cartFragment,\n countryCode,\n });\n\n const cartMachine = useMemo(() => createCartMachine(cart), [cart]);\n\n const [state, send, service] = useMachine(cartMachine, {\n actions: {\n cartFetchAction: async (_, event): Promise<void> => {\n if (event.type !== 'CART_FETCH') return;\n\n const {data, errors} = await cartFetch(event?.payload?.cartId);\n const resultEvent = eventFromFetchResult(event, data?.cart, errors);\n send(resultEvent);\n },\n cartCreateAction: async (_, event): Promise<void> => {\n if (event.type !== 'CART_CREATE') return;\n\n const {data, errors} = await cartCreate(event?.payload);\n const resultEvent = eventFromFetchResult(\n event,\n data?.cartCreate?.cart,\n errors\n );\n send(resultEvent);\n },\n cartLineAddAction: async (context, event): Promise<void> => {\n if (event.type !== 'CARTLINE_ADD' || !context?.cart?.id) return;\n\n const {data, errors} = await cartLineAdd(\n context.cart.id,\n event.payload.lines\n );\n\n const resultEvent = eventFromFetchResult(\n event,\n data?.cartLinesAdd?.cart,\n errors\n );\n\n send(resultEvent);\n },\n cartLineUpdateAction: async (context, event): Promise<void> => {\n if (event.type !== 'CARTLINE_UPDATE' || !context?.cart?.id) return;\n const {data, errors} = await cartLineUpdate(\n context.cart.id,\n event.payload.lines\n );\n\n const resultEvent = eventFromFetchResult(\n event,\n data?.cartLinesUpdate?.cart,\n errors\n );\n\n send(resultEvent);\n },\n cartLineRemoveAction: async (context, event): Promise<void> => {\n if (event.type !== 'CARTLINE_REMOVE' || !context?.cart?.id) return;\n const {data, errors} = await cartLineRemove(\n context.cart.id,\n event.payload.lines\n );\n\n const resultEvent = eventFromFetchResult(\n event,\n data?.cartLinesRemove?.cart,\n errors\n );\n\n send(resultEvent);\n },\n noteUpdateAction: async (context, event): Promise<void> => {\n if (event.type !== 'NOTE_UPDATE' || !context?.cart?.id) return;\n const {data, errors} = await noteUpdate(\n context.cart.id,\n event.payload.note\n );\n\n const resultEvent = eventFromFetchResult(\n event,\n data?.cartNoteUpdate?.cart,\n errors\n );\n\n send(resultEvent);\n },\n buyerIdentityUpdateAction: async (context, event): Promise<void> => {\n if (event.type !== 'BUYER_IDENTITY_UPDATE' || !context?.cart?.id)\n return;\n const {data, errors} = await buyerIdentityUpdate(\n context.cart.id,\n event.payload.buyerIdentity\n );\n\n const resultEvent = eventFromFetchResult(\n event,\n data?.cartBuyerIdentityUpdate?.cart,\n errors\n );\n\n send(resultEvent);\n },\n cartAttributesUpdateAction: async (context, event): Promise<void> => {\n if (event.type !== 'CART_ATTRIBUTES_UPDATE' || !context?.cart?.id)\n return;\n const {data, errors} = await cartAttributesUpdate(\n context.cart.id,\n event.payload.attributes\n );\n\n const resultEvent = eventFromFetchResult(\n event,\n data?.cartAttributesUpdate?.cart,\n errors\n );\n\n send(resultEvent);\n },\n discountCodesUpdateAction: async (context, event): Promise<void> => {\n if (event.type !== 'DISCOUNT_CODES_UPDATE' || !context?.cart?.id)\n return;\n const {data, errors} = await discountCodesUpdate(\n context.cart.id,\n event.payload.discountCodes\n );\n const resultEvent = eventFromFetchResult(\n event,\n data?.cartDiscountCodesUpdate?.cart,\n errors\n );\n\n send(resultEvent);\n },\n ...(onCartActionEntry && {\n onCartActionEntry: (context, event) => {\n if (isCartActionEvent(event)) {\n onCartActionEntry(context, event);\n }\n },\n }),\n ...(onCartActionOptimisticUI && {\n onCartActionOptimisticUI: assign((context, event) => {\n return onCartActionOptimisticUI(context, event);\n }),\n }),\n ...(onCartActionComplete && {\n onCartActionComplete: (context, event) => {\n if (isCartFetchResultEvent(event)) {\n onCartActionComplete(context, event);\n }\n },\n }),\n } as CartMachineActions,\n });\n\n return useMemo(() => [state, send, service] as const, [state, send, service]);\n}\n\nexport function cartFromGraphQL(\n cart: PartialDeep<CartType, {recurseIntoArrays: true}>\n): Cart {\n return {\n ...cart,\n lines: flattenConnection(cart?.lines),\n note: cart.note ?? undefined,\n };\n}\n\nfunction eventFromFetchResult(\n cartActionEvent: CartMachineActionEvent,\n cart?: PartialDeep<CartType, {recurseIntoArrays: true}> | null,\n errors?: unknown\n): CartMachineFetchResultEvent {\n if (errors) {\n return {type: 'ERROR', payload: {errors, cartActionEvent}};\n }\n\n if (!cart) {\n return {\n type: 'CART_COMPLETED',\n payload: {\n cartActionEvent,\n },\n };\n }\n\n return {\n type: 'RESOLVE',\n payload: {\n cart: cartFromGraphQL(cart),\n rawCartResult: cart,\n cartActionEvent,\n },\n };\n}\n\nfunction isCartActionEvent(\n event: CartMachineEvent | InitEvent\n): event is CartMachineActionEvent {\n return (\n event.type === 'CART_CREATE' ||\n event.type === 'CARTLINE_ADD' ||\n event.type === 'CARTLINE_UPDATE' ||\n event.type === 'CARTLINE_REMOVE' ||\n event.type === 'NOTE_UPDATE' ||\n event.type === 'BUYER_IDENTITY_UPDATE' ||\n event.type === 'CART_ATTRIBUTES_UPDATE' ||\n event.type === 'DISCOUNT_CODES_UPDATE'\n );\n}\n\nfunction isCartFetchResultEvent(\n event: CartMachineEvent | InitEvent\n): event is CartMachineFetchResultEvent {\n return (\n event.type === 'RESOLVE' ||\n event.type === 'ERROR' ||\n event.type === 'CART_COMPLETED'\n );\n}\n"],"names":["invokeCart","action","options","entry","entryActions","on","RESOLVE","target","resolveTarget","actions","assign","prevCart","context","cart","_","event","payload","rawCartResult","errors","undefined","ERROR","errorTarget","lastValidCart","CART_COMPLETED","exit","exitActions","INITIALIZING_CART_EVENTS","CART_FETCH","CART_CREATE","CART_SET","cartFromGraphQL","UPDATING_CART_EVENTS","CARTLINE_ADD","CARTLINE_UPDATE","CARTLINE_REMOVE","NOTE_UPDATE","BUYER_IDENTITY_UPDATE","CART_ATTRIBUTES_UPDATE","DISCOUNT_CODES_UPDATE","createCartMachine","initialCart","createMachine","id","initial","states","uninitialized","cartCompleted","initializationError","idle","error","cartFetching","cartCreating","cartLineRemoving","cartLineUpdating","cartLineAdding","noteUpdating","buyerIdentityUpdating","cartAttributesUpdating","discountCodesUpdating","useCartAPIStateMachine","numCartLines","onCartActionEntry","onCartActionOptimisticUI","onCartActionComplete","data","cartFragment","countryCode","cartFetch","cartCreate","cartLineAdd","cartLineUpdate","cartLineRemove","noteUpdate","buyerIdentityUpdate","cartAttributesUpdate","discountCodesUpdate","useCartActions","cartMachine","useMemo","state","send","service","useMachine","cartFetchAction","type","cartId","resultEvent","eventFromFetchResult","cartCreateAction","cartLineAddAction","lines","cartLinesAdd","cartLineUpdateAction","cartLinesUpdate","cartLineRemoveAction","cartLinesRemove","noteUpdateAction","note","cartNoteUpdate","buyerIdentityUpdateAction","buyerIdentity","cartBuyerIdentityUpdate","cartAttributesUpdateAction","attributes","discountCodesUpdateAction","discountCodes","cartDiscountCodesUpdate","isCartActionEvent","isCartFetchResultEvent","flattenConnection","cartActionEvent"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useCallback, useMemo } from "react";
|
|
2
|
-
import { CartQuery, CartCreate, CartLineAdd, CartLineUpdate, CartLineRemove, CartNoteUpdate, CartBuyerIdentityUpdate, CartAttributesUpdate, CartDiscountCodesUpdate } from "./cart-queries.
|
|
3
|
-
import { useCartFetch } from "./cart-hooks.
|
|
2
|
+
import { CartQuery, CartCreate, CartLineAdd, CartLineUpdate, CartLineRemove, CartNoteUpdate, CartBuyerIdentityUpdate, CartAttributesUpdate, CartDiscountCodesUpdate } from "./cart-queries.mjs";
|
|
3
|
+
import { useCartFetch } from "./cart-hooks.mjs";
|
|
4
4
|
function useCartActions({
|
|
5
5
|
numCartLines,
|
|
6
6
|
cartFragment,
|
|
@@ -120,4 +120,4 @@ function useCartActions({
|
|
|
120
120
|
export {
|
|
121
121
|
useCartActions
|
|
122
122
|
};
|
|
123
|
-
//# sourceMappingURL=useCartActions.
|
|
123
|
+
//# sourceMappingURL=useCartActions.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCartActions.
|
|
1
|
+
{"version":3,"file":"useCartActions.mjs","sources":["../../src/useCartActions.tsx"],"sourcesContent":["import {useCallback, useMemo} from 'react';\nimport {\n AttributeInput,\n CartBuyerIdentityInput,\n CartInput,\n CartLineInput,\n CartLineUpdateInput,\n CountryCode,\n Cart as CartType,\n MutationCartDiscountCodesUpdateArgs,\n MutationCartNoteUpdateArgs,\n} from './storefront-api-types.js';\nimport {\n CartAttributesUpdate,\n CartBuyerIdentityUpdate,\n CartCreate,\n CartDiscountCodesUpdate,\n CartLineAdd,\n CartLineRemove,\n CartLineUpdate,\n CartNoteUpdate,\n CartQuery,\n} from './cart-queries.js';\nimport {useCartFetch} from './cart-hooks.js';\nimport {PartialDeep} from 'type-fest';\n\ntype CartResponse = PartialDeep<CartType, {recurseIntoArrays: true}>;\n\n/**\n * The `useCartActions` hook returns helper graphql functions for Storefront Cart API\n *\n * See [cart API graphql mutations](https://shopify.dev/api/storefront/2022-10/objects/Cart)\n */\nexport function useCartActions({\n numCartLines,\n cartFragment,\n countryCode = 'US',\n}: {\n /** Maximum number of cart lines to fetch. Defaults to 250 cart lines. */\n numCartLines?: number;\n /** A fragment used to query the Storefront API's [Cart object](https://shopify.dev/api/storefront/latest/objects/cart) for all queries and mutations. A default value is used if no argument is provided. */\n cartFragment: string;\n /** The ISO country code for i18n. */\n countryCode?: CountryCode;\n}) {\n const fetchCart = useCartFetch();\n\n const cartFetch = useCallback(\n (cartId: string) => {\n return fetchCart<{cart: CartResponse}>({\n query: CartQuery(cartFragment),\n variables: {\n id: cartId,\n numCartLines,\n country: countryCode,\n },\n });\n },\n [fetchCart, cartFragment, numCartLines, countryCode]\n );\n\n const cartCreate = useCallback(\n (cart: CartInput) => {\n return fetchCart<{cartCreate: {cart: CartResponse}}>({\n query: CartCreate(cartFragment),\n variables: {\n input: cart,\n numCartLines,\n country: countryCode,\n },\n });\n },\n [cartFragment, countryCode, fetchCart, numCartLines]\n );\n\n const cartLineAdd = useCallback(\n (cartId: string, lines: CartLineInput[]) => {\n return fetchCart<{cartLinesAdd: {cart: CartResponse}}>({\n query: CartLineAdd(cartFragment),\n variables: {\n cartId,\n lines,\n numCartLines,\n country: countryCode,\n },\n });\n },\n [cartFragment, countryCode, fetchCart, numCartLines]\n );\n\n const cartLineUpdate = useCallback(\n (cartId: string, lines: CartLineUpdateInput[]) => {\n return fetchCart<{cartLinesUpdate: {cart: CartResponse}}>({\n query: CartLineUpdate(cartFragment),\n variables: {\n cartId,\n lines,\n numCartLines,\n country: countryCode,\n },\n });\n },\n [cartFragment, countryCode, fetchCart, numCartLines]\n );\n\n const cartLineRemove = useCallback(\n (cartId: string, lines: string[]) => {\n return fetchCart<{cartLinesRemove: {cart: CartResponse}}>({\n query: CartLineRemove(cartFragment),\n variables: {\n cartId,\n lines,\n numCartLines,\n country: countryCode,\n },\n });\n },\n [cartFragment, countryCode, fetchCart, numCartLines]\n );\n\n const noteUpdate = useCallback(\n (cartId: string, note: MutationCartNoteUpdateArgs['note']) => {\n return fetchCart<{cartNoteUpdate: {cart: CartResponse}}>({\n query: CartNoteUpdate(cartFragment),\n variables: {\n cartId,\n note,\n numCartLines,\n country: countryCode,\n },\n });\n },\n [fetchCart, cartFragment, numCartLines, countryCode]\n );\n\n const buyerIdentityUpdate = useCallback(\n (cartId: string, buyerIdentity: CartBuyerIdentityInput) => {\n return fetchCart<{cartBuyerIdentityUpdate: {cart: CartResponse}}>({\n query: CartBuyerIdentityUpdate(cartFragment),\n variables: {\n cartId,\n buyerIdentity,\n numCartLines,\n country: countryCode,\n },\n });\n },\n [cartFragment, countryCode, fetchCart, numCartLines]\n );\n\n const cartAttributesUpdate = useCallback(\n (cartId: string, attributes: AttributeInput[]) => {\n return fetchCart<{cartAttributesUpdate: {cart: CartResponse}}>({\n query: CartAttributesUpdate(cartFragment),\n variables: {\n cartId,\n attributes,\n numCartLines,\n country: countryCode,\n },\n });\n },\n [cartFragment, countryCode, fetchCart, numCartLines]\n );\n\n const discountCodesUpdate = useCallback(\n (\n cartId: string,\n discountCodes: MutationCartDiscountCodesUpdateArgs['discountCodes']\n ) => {\n return fetchCart<{cartDiscountCodesUpdate: {cart: CartResponse}}>({\n query: CartDiscountCodesUpdate(cartFragment),\n variables: {\n cartId,\n discountCodes,\n numCartLines,\n country: countryCode,\n },\n });\n },\n [cartFragment, countryCode, fetchCart, numCartLines]\n );\n\n return useMemo(\n () => ({\n cartFetch,\n cartCreate,\n cartLineAdd,\n cartLineUpdate,\n cartLineRemove,\n noteUpdate,\n buyerIdentityUpdate,\n cartAttributesUpdate,\n discountCodesUpdate,\n cartFragment,\n }),\n [\n cartFetch,\n cartCreate,\n cartLineAdd,\n cartLineUpdate,\n cartLineRemove,\n noteUpdate,\n buyerIdentityUpdate,\n cartAttributesUpdate,\n discountCodesUpdate,\n cartFragment,\n ]\n );\n}\n"],"names":["useCartActions","numCartLines","cartFragment","countryCode","fetchCart","useCartFetch","cartFetch","useCallback","cartId","query","CartQuery","variables","id","country","cartCreate","cart","CartCreate","input","cartLineAdd","lines","CartLineAdd","cartLineUpdate","CartLineUpdate","cartLineRemove","CartLineRemove","noteUpdate","note","CartNoteUpdate","buyerIdentityUpdate","buyerIdentity","CartBuyerIdentityUpdate","cartAttributesUpdate","attributes","CartAttributesUpdate","discountCodesUpdate","discountCodes","CartDiscountCodesUpdate","useMemo"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useMemo } from "react";
|
|
2
|
-
import { useShop } from "./ShopifyProvider.
|
|
2
|
+
import { useShop } from "./ShopifyProvider.mjs";
|
|
3
3
|
function useMoney(money) {
|
|
4
4
|
const {
|
|
5
5
|
locale
|
|
@@ -69,4 +69,4 @@ function useLazyFormatter(locale, options) {
|
|
|
69
69
|
export {
|
|
70
70
|
useMoney
|
|
71
71
|
};
|
|
72
|
-
//# sourceMappingURL=useMoney.
|
|
72
|
+
//# sourceMappingURL=useMoney.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMoney.
|
|
1
|
+
{"version":3,"file":"useMoney.mjs","sources":["../../src/useMoney.tsx"],"sourcesContent":["import {useMemo} from 'react';\nimport {useShop} from './ShopifyProvider.js';\nimport {CurrencyCode, MoneyV2} from './storefront-api-types.js';\n\nexport type UseMoneyValue = {\n /**\n * The currency code from the `MoneyV2` object.\n */\n currencyCode: CurrencyCode;\n /**\n * The name for the currency code, returned by `Intl.NumberFormat`.\n */\n currencyName?: string;\n /**\n * The currency symbol returned by `Intl.NumberFormat`.\n */\n currencySymbol?: string;\n /**\n * The currency narrow symbol returned by `Intl.NumberFormat`.\n */\n currencyNarrowSymbol?: string;\n /**\n * The localized amount, without any currency symbols or non-number types from the `Intl.NumberFormat.formatToParts` parts.\n */\n amount: string;\n /**\n * All parts returned by `Intl.NumberFormat.formatToParts`.\n */\n parts: Intl.NumberFormatPart[];\n /**\n * A string returned by `new Intl.NumberFormat` for the amount and currency code,\n * using the `locale` value in the [`LocalizationProvider` component](https://shopify.dev/api/hydrogen/components/localization/localizationprovider).\n */\n localizedString: string;\n /**\n * The `MoneyV2` object provided as an argument to the hook.\n */\n original: MoneyV2;\n /**\n * A string with trailing zeros removed from the fractional part, if any exist. If there are no trailing zeros, then the fractional part remains.\n * For example, `$640.00` turns into `$640`.\n * `$640.42` remains `$640.42`.\n */\n withoutTrailingZeros: string;\n /**\n * A string without currency and without trailing zeros removed from the fractional part, if any exist. If there are no trailing zeros, then the fractional part remains.\n * For example, `$640.00` turns into `640`.\n * `$640.42` turns into `640.42`.\n */\n withoutTrailingZerosAndCurrency: string;\n};\n\n/**\n * The `useMoney` hook takes a [MoneyV2 object](https://shopify.dev/api/storefront/reference/common-objects/moneyv2) and returns a\n * default-formatted string of the amount with the correct currency indicator, along with some of the parts provided by\n * [Intl.NumberFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat).\n * Uses `locale` from `ShopifyProvider`\n */\nexport function useMoney(money: MoneyV2): UseMoneyValue {\n const {locale} = useShop();\n\n if (!locale) {\n throw new Error(\n `useMoney(): Unable to get 'locale' from 'useShop()', which means that 'locale' was not passed to '<ShopifyProvider/>'. 'locale' is required for 'useMoney()' to work`\n );\n }\n\n const amount = parseFloat(money.amount);\n\n const options = useMemo(\n () => ({\n style: 'currency',\n currency: money.currencyCode,\n }),\n [money.currencyCode]\n );\n\n const defaultFormatter = useLazyFormatter(locale, options);\n\n const nameFormatter = useLazyFormatter(locale, {\n ...options,\n currencyDisplay: 'name',\n });\n\n const narrowSymbolFormatter = useLazyFormatter(locale, {\n ...options,\n currencyDisplay: 'narrowSymbol',\n });\n\n const withoutTrailingZerosFormatter = useLazyFormatter(locale, {\n ...options,\n minimumFractionDigits: 0,\n maximumFractionDigits: 0,\n });\n\n const withoutCurrencyFormatter = useLazyFormatter(locale);\n\n const withoutTrailingZerosOrCurrencyFormatter = useLazyFormatter(locale, {\n minimumFractionDigits: 0,\n maximumFractionDigits: 0,\n });\n\n const isPartCurrency = (part: Intl.NumberFormatPart) =>\n part.type === 'currency';\n\n // By wrapping these properties in functions, we only\n // create formatters if they are going to be used.\n const lazyFormatters = useMemo(\n () => ({\n original: () => money,\n currencyCode: () => money.currencyCode,\n\n localizedString: () => defaultFormatter().format(amount),\n\n parts: () => defaultFormatter().formatToParts(amount),\n\n withoutTrailingZeros: () =>\n amount % 1 === 0\n ? withoutTrailingZerosFormatter().format(amount)\n : defaultFormatter().format(amount),\n\n withoutTrailingZerosAndCurrency: () =>\n amount % 1 === 0\n ? withoutTrailingZerosOrCurrencyFormatter().format(amount)\n : withoutCurrencyFormatter().format(amount),\n\n currencyName: () =>\n nameFormatter().formatToParts(amount).find(isPartCurrency)?.value ??\n money.currencyCode, // e.g. \"US dollars\"\n\n currencySymbol: () =>\n defaultFormatter().formatToParts(amount).find(isPartCurrency)?.value ??\n money.currencyCode, // e.g. \"USD\"\n\n currencyNarrowSymbol: () =>\n narrowSymbolFormatter().formatToParts(amount).find(isPartCurrency)\n ?.value ?? '', // e.g. \"$\"\n\n amount: () =>\n defaultFormatter()\n .formatToParts(amount)\n .filter((part) =>\n ['decimal', 'fraction', 'group', 'integer', 'literal'].includes(\n part.type\n )\n )\n .map((part) => part.value)\n .join(''),\n }),\n [\n money,\n amount,\n nameFormatter,\n defaultFormatter,\n narrowSymbolFormatter,\n withoutCurrencyFormatter,\n withoutTrailingZerosFormatter,\n withoutTrailingZerosOrCurrencyFormatter,\n ]\n );\n\n // Call functions automatically when the properties are accessed\n // to keep these functions as an implementation detail.\n return useMemo(\n () =>\n new Proxy(lazyFormatters as unknown as UseMoneyValue, {\n get: (target, key) => Reflect.get(target, key)?.call(null),\n }),\n [lazyFormatters]\n );\n}\n\nfunction useLazyFormatter(locale: string, options?: Intl.NumberFormatOptions) {\n return useMemo(() => {\n let memoized: Intl.NumberFormat;\n return () => (memoized ??= new Intl.NumberFormat(locale, options));\n }, [locale, options]);\n}\n"],"names":["useMoney","money","locale","useShop","Error","amount","parseFloat","options","useMemo","style","currency","currencyCode","defaultFormatter","useLazyFormatter","nameFormatter","currencyDisplay","narrowSymbolFormatter","withoutTrailingZerosFormatter","minimumFractionDigits","maximumFractionDigits","withoutCurrencyFormatter","withoutTrailingZerosOrCurrencyFormatter","isPartCurrency","part","type","lazyFormatters","original","localizedString","format","parts","formatToParts","withoutTrailingZeros","withoutTrailingZerosAndCurrency","currencyName","find","value","currencySymbol","currencyNarrowSymbol","filter","includes","map","join","Proxy","get","target","key","Reflect","call","memoized","Intl","NumberFormat"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useState, useEffect, useCallback } from "react";
|
|
2
|
-
import { useCart } from "./CartProvider.
|
|
3
|
-
import { useProduct } from "./ProductProvider.
|
|
4
|
-
import { BaseButton } from "./BaseButton.
|
|
2
|
+
import { useCart } from "./CartProvider.mjs";
|
|
3
|
+
import { useProduct } from "./ProductProvider.mjs";
|
|
4
|
+
import { BaseButton } from "./BaseButton.mjs";
|
|
5
5
|
import { jsxs, Fragment, jsx } from "react/jsx-runtime";
|
|
6
6
|
function AddToCartButton(props) {
|
|
7
7
|
var _a;
|
|
@@ -67,4 +67,4 @@ function AddToCartButton(props) {
|
|
|
67
67
|
export {
|
|
68
68
|
AddToCartButton
|
|
69
69
|
};
|
|
70
|
-
//# sourceMappingURL=AddToCartButton.
|
|
70
|
+
//# sourceMappingURL=AddToCartButton.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddToCartButton.
|
|
1
|
+
{"version":3,"file":"AddToCartButton.mjs","sources":["../../src/AddToCartButton.tsx"],"sourcesContent":["import {useCallback, useEffect, useState} from 'react';\n\nimport {useCart} from './CartProvider.js';\nimport {useProduct} from './ProductProvider.js';\nimport {BaseButton, BaseButtonProps} from './BaseButton.js';\n\ninterface AddToCartButtonProps {\n /** An array of cart line attributes that belong to the item being added to the cart. */\n attributes?: {\n key: string;\n value: string;\n }[];\n /** The ID of the variant. */\n variantId?: string | null;\n /** The item quantity. */\n quantity?: number;\n /** The text that is announced by the screen reader when the item is being added to the cart. Used for accessibility purposes only and not displayed on the page. */\n accessibleAddingToCartLabel?: string;\n /** The selling plan ID of the subscription variant */\n sellingPlanId?: string;\n}\n\n/**\n * The `AddToCartButton` component renders a button that adds an item to the cart when pressed.\n * It must be a descendent of the `CartProvider` component.\n */\nexport function AddToCartButton<AsType extends React.ElementType = 'button'>(\n props: AddToCartButtonProps & BaseButtonProps<AsType>\n) {\n const [addingItem, setAddingItem] = useState<boolean>(false);\n const {\n variantId: explicitVariantId,\n quantity = 1,\n attributes,\n sellingPlanId,\n onClick,\n children,\n accessibleAddingToCartLabel,\n ...passthroughProps\n } = props;\n const {status, linesAdd} = useCart();\n const {selectedVariant} = useProduct();\n const variantId = explicitVariantId ?? selectedVariant?.id ?? '';\n const disabled =\n explicitVariantId === null ||\n variantId === '' ||\n selectedVariant === null ||\n addingItem ||\n passthroughProps.disabled;\n\n useEffect(() => {\n if (addingItem && status === 'idle') {\n setAddingItem(false);\n }\n }, [status, addingItem]);\n\n const handleAddItem = useCallback(() => {\n setAddingItem(true);\n linesAdd([\n {\n quantity,\n merchandiseId: variantId || '',\n attributes,\n sellingPlanId,\n },\n ]);\n }, [linesAdd, quantity, variantId, attributes, sellingPlanId]);\n\n return (\n <>\n <BaseButton\n {...passthroughProps}\n disabled={disabled}\n onClick={onClick}\n defaultOnClick={handleAddItem}\n >\n {children}\n </BaseButton>\n {accessibleAddingToCartLabel ? (\n <p\n style={{\n position: 'absolute',\n width: '1px',\n height: '1px',\n padding: '0',\n margin: '-1px',\n overflow: 'hidden',\n clip: 'rect(0, 0, 0, 0)',\n whiteSpace: 'nowrap',\n borderWidth: '0',\n }}\n role=\"alert\"\n aria-live=\"assertive\"\n >\n {addingItem ? accessibleAddingToCartLabel : null}\n </p>\n ) : null}\n </>\n );\n}\n"],"names":["AddToCartButton","props","addingItem","setAddingItem","useState","variantId","explicitVariantId","quantity","attributes","sellingPlanId","onClick","children","accessibleAddingToCartLabel","passthroughProps","status","linesAdd","useCart","selectedVariant","useProduct","id","disabled","useEffect","handleAddItem","useCallback","merchandiseId","_Fragment","_jsx","position","width","height","padding","margin","overflow","clip","whiteSpace","borderWidth"],"mappings":";;;;;AA0BO,SAASA,gBACdC,OACA;;AACA,QAAM,CAACC,YAAYC,aAAb,IAA8BC,SAAkB,KAAV;AACtC,QAAA;AAAA,IACJC,WAAWC;AAAAA,IACXC,WAAW;AAAA,IACXC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,OACGC;AAAAA,EACDZ,IAAAA;AACE,QAAA;AAAA,IAACa;AAAAA,IAAQC;AAAAA,MAAYC,QAA3B;AACM,QAAA;AAAA,IAACC;AAAAA,MAAmBC,WAA1B;AACMb,QAAAA,aAAYC,qDAAqBW,mDAAiBE,OAAtCb,YAA4C;AACxDc,QAAAA,WACJd,sBAAsB,QACtBD,cAAc,MACdY,oBAAoB,QACpBf,cACAW,iBAAiBO;AAEnBC,YAAU,MAAM;AACVnB,QAAAA,cAAcY,WAAW,QAAQ;AACnCX,oBAAc,KAAD;AAAA,IACd;AAAA,EAAA,GACA,CAACW,QAAQZ,UAAT,CAJM;AAMHoB,QAAAA,gBAAgBC,YAAY,MAAM;AACtCpB,kBAAc,IAAD;AACbY,aAAS,CACP;AAAA,MACER;AAAAA,MACAiB,eAAenB,aAAa;AAAA,MAC5BG;AAAAA,MACAC;AAAAA,IALK,CAAA,CAAD;AAAA,EAAA,GAQP,CAACM,UAAUR,UAAUF,WAAWG,YAAYC,aAA5C,CAV8B;AAYjC,8BACEgB,UAAA;AAAA,IAAA,UACE,CAAAC,oBAAC,YAAD;AAAA,MAAA,GACMb;AAAAA,MACJ;AAAA,MACA;AAAA,MACA,gBAAgBS;AAAAA,MAJlB;AAAA,IAAA,CADF,GASGV,8BACCc,oBAAA,KAAA;AAAA,MACE,OAAO;AAAA,QACLC,UAAU;AAAA,QACVC,OAAO;AAAA,QACPC,QAAQ;AAAA,QACRC,SAAS;AAAA,QACTC,QAAQ;AAAA,QACRC,UAAU;AAAA,QACVC,MAAM;AAAA,QACNC,YAAY;AAAA,QACZC,aAAa;AAAA,MATR;AAAA,MAWP,MAAK;AAAA,MACL,aAAU;AAAA,MAbZ,UAeGjC,aAAaU,8BAA8B;AAAA,IAf9C,CAAA,IAiBE,IA3BN;AAAA,EAAA,CADF;AA+BD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseButton.
|
|
1
|
+
{"version":3,"file":"BaseButton.mjs","sources":["../../src/BaseButton.tsx"],"sourcesContent":["import {ReactNode, Ref, useCallback} from 'react';\n\nexport interface CustomBaseButtonProps<AsType> {\n /** Provide a React element or component to render as the underlying button. Note: for accessibility compliance, almost always you should use a `button` element, or a component that renders an underlying button. */\n as?: AsType;\n /** Any ReactNode elements. */\n children: ReactNode;\n /** Click event handler. Default behaviour triggers unless prevented */\n onClick?: (\n event?: React.MouseEvent<HTMLButtonElement, MouseEvent>\n ) => void | boolean;\n /** A default onClick behavior */\n defaultOnClick?: (\n event?: React.MouseEvent<HTMLButtonElement, MouseEvent>\n ) => void | boolean;\n /** A ref to the underlying button */\n buttonRef?: Ref<HTMLButtonElement>;\n}\n\nexport type BaseButtonProps<AsType extends React.ElementType> =\n CustomBaseButtonProps<AsType> &\n Omit<\n React.ComponentPropsWithoutRef<AsType>,\n keyof CustomBaseButtonProps<AsType>\n >;\n\nexport function BaseButton<AsType extends React.ElementType = 'button'>(\n props: BaseButtonProps<AsType>\n) {\n const {\n as,\n onClick,\n defaultOnClick,\n children,\n buttonRef,\n ...passthroughProps\n } = props;\n\n const handleOnClick = useCallback(\n (event?: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {\n if (onClick) {\n const clickShouldContinue = onClick(event);\n if (\n (typeof clickShouldContinue === 'boolean' &&\n clickShouldContinue === false) ||\n event?.defaultPrevented\n )\n return;\n }\n\n defaultOnClick?.(event);\n },\n [defaultOnClick, onClick]\n );\n\n const Component = as || 'button';\n\n return (\n <Component ref={buttonRef} onClick={handleOnClick} {...passthroughProps}>\n {children}\n </Component>\n );\n}\n"],"names":["BaseButton","props","as","onClick","defaultOnClick","children","buttonRef","passthroughProps","handleOnClick","useCallback","event","clickShouldContinue","defaultPrevented","Component"],"mappings":";;AA0BO,SAASA,WACdC,OACA;AACM,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,OACGC;AAAAA,EACDN,IAAAA;AAEEO,QAAAA,gBAAgBC,YACpB,CAACC,UAA4D;AAC3D,QAAIP,SAAS;AACLQ,YAAAA,sBAAsBR,QAAQO,KAAD;AACnC,UACG,OAAOC,wBAAwB,aAC9BA,wBAAwB,UAC1BD,+BAAOE;AAEP;AAAA,IACH;AAEDR,qDAAiBM;AAAAA,EAAH,GAEhB,CAACN,gBAAgBD,OAAjB,CAd+B;AAiBjC,QAAMU,YAAYX,MAAM;AAExB,6BACG,WAAD;AAAA,IAAW,KAAKI;AAAAA,IAAW,SAASE;AAAAA,IAApC,GAAuDD;AAAAA,IAAvD;AAAA,EAAA,CADF;AAKD;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useState, useEffect, useCallback } from "react";
|
|
2
|
-
import { useCart } from "./CartProvider.
|
|
3
|
-
import { BaseButton } from "./BaseButton.
|
|
2
|
+
import { useCart } from "./CartProvider.mjs";
|
|
3
|
+
import { BaseButton } from "./BaseButton.mjs";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
5
5
|
function BuyNowButton(props) {
|
|
6
6
|
const {
|
|
@@ -42,4 +42,4 @@ function BuyNowButton(props) {
|
|
|
42
42
|
export {
|
|
43
43
|
BuyNowButton
|
|
44
44
|
};
|
|
45
|
-
//# sourceMappingURL=BuyNowButton.
|
|
45
|
+
//# sourceMappingURL=BuyNowButton.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuyNowButton.
|
|
1
|
+
{"version":3,"file":"BuyNowButton.mjs","sources":["../../src/BuyNowButton.tsx"],"sourcesContent":["import {useEffect, useState, useCallback} from 'react';\nimport {useCart} from './CartProvider.js';\nimport {BaseButton, BaseButtonProps} from './BaseButton.js';\n\ninterface BuyNowButtonProps {\n /** The item quantity. Defaults to 1. */\n quantity?: number;\n /** The ID of the variant. */\n variantId: string;\n /** An array of cart line attributes that belong to the item being added to the cart. */\n attributes?: {\n key: string;\n value: string;\n }[];\n}\n\n/** The `BuyNowButton` component renders a button that adds an item to the cart and redirects the customer to checkout. */\nexport function BuyNowButton<AsType extends React.ElementType = 'button'>(\n props: BuyNowButtonProps & BaseButtonProps<AsType>\n) {\n const {cartCreate, checkoutUrl} = useCart();\n const [loading, setLoading] = useState<boolean>(false);\n\n const {\n quantity,\n variantId,\n onClick,\n attributes,\n children,\n ...passthroughProps\n } = props;\n\n useEffect(() => {\n if (checkoutUrl) {\n window.location.href = checkoutUrl;\n }\n }, [checkoutUrl]);\n\n const handleBuyNow = useCallback(() => {\n setLoading(true);\n cartCreate({\n lines: [\n {\n quantity: quantity ?? 1,\n merchandiseId: variantId,\n attributes,\n },\n ],\n });\n }, [cartCreate, quantity, variantId, attributes]);\n\n return (\n <BaseButton\n disabled={loading ?? passthroughProps.disabled}\n {...passthroughProps}\n onClick={onClick}\n defaultOnClick={handleBuyNow}\n >\n {children}\n </BaseButton>\n );\n}\n"],"names":["BuyNowButton","props","cartCreate","checkoutUrl","useCart","loading","setLoading","useState","quantity","variantId","onClick","attributes","children","passthroughProps","useEffect","window","location","href","handleBuyNow","useCallback","lines","merchandiseId","disabled"],"mappings":";;;;AAiBO,SAASA,aACdC,OACA;AACM,QAAA;AAAA,IAACC;AAAAA,IAAYC;AAAAA,MAAeC,QAAlC;AACA,QAAM,CAACC,SAASC,UAAV,IAAwBC,SAAkB,KAAV;AAEhC,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,OACGC;AAAAA,EACDZ,IAAAA;AAEJa,YAAU,MAAM;AACd,QAAIX,aAAa;AACfY,aAAOC,SAASC,OAAOd;AAAAA,IACxB;AAAA,EAAA,GACA,CAACA,WAAD,CAJM;AAMHe,QAAAA,eAAeC,YAAY,MAAM;AACrCb,eAAW,IAAD;AACC,eAAA;AAAA,MACTc,OAAO,CACL;AAAA,QACEZ,UAAUA,8BAAY;AAAA,QACtBa,eAAeZ;AAAAA,QACfE;AAAAA,MAAAA,CAJG;AAAA,IAAA,CADC;AAAA,KAST,CAACT,YAAYM,UAAUC,WAAWE,UAAlC,CAX6B;AAahC,6BACG,YAAD;AAAA,IACE,UAAUN,4BAAWQ,iBAAiBS;AAAAA,IADxC,GAEMT;AAAAA,IACJ;AAAA,IACA,gBAAgBK;AAAAA,IAJlB;AAAA,EAAA,CADF;AAUD;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useState, useEffect } from "react";
|
|
2
|
-
import { useCart } from "./CartProvider.
|
|
3
|
-
import { BaseButton } from "./BaseButton.
|
|
2
|
+
import { useCart } from "./CartProvider.mjs";
|
|
3
|
+
import { BaseButton } from "./BaseButton.mjs";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
5
5
|
function CartCheckoutButton(props) {
|
|
6
6
|
const [requestedCheckout, setRequestedCheckout] = useState(false);
|
|
@@ -27,4 +27,4 @@ function CartCheckoutButton(props) {
|
|
|
27
27
|
export {
|
|
28
28
|
CartCheckoutButton
|
|
29
29
|
};
|
|
30
|
-
//# sourceMappingURL=CartCheckoutButton.
|
|
30
|
+
//# sourceMappingURL=CartCheckoutButton.mjs.map
|
package/dist/{node-prod/CartCheckoutButton.cjs.map → browser-prod/CartCheckoutButton.mjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CartCheckoutButton.
|
|
1
|
+
{"version":3,"file":"CartCheckoutButton.mjs","sources":["../../src/CartCheckoutButton.tsx"],"sourcesContent":["import {ReactNode, useEffect, useState} from 'react';\nimport {useCart} from './CartProvider.js';\nimport {BaseButton, BaseButtonProps} from './BaseButton.js';\n\ntype PropsWeControl = 'onClick';\n\n/**\n * The `CartCheckoutButton` component renders a button that redirects to the checkout URL for the cart.\n * It must be a descendent of a `CartProvider` component.\n */\nexport function CartCheckoutButton(\n props: Omit<BaseButtonProps<'button'>, PropsWeControl> & {\n /** A `ReactNode` element. */\n children: ReactNode;\n }\n) {\n const [requestedCheckout, setRequestedCheckout] = useState(false);\n const {status, checkoutUrl} = useCart();\n const {children, ...passthroughProps} = props;\n\n useEffect(() => {\n if (requestedCheckout && checkoutUrl && status === 'idle') {\n window.location.href = checkoutUrl;\n }\n }, [requestedCheckout, status, checkoutUrl]);\n\n return (\n <BaseButton\n {...passthroughProps}\n disabled={requestedCheckout || passthroughProps.disabled}\n onClick={() => setRequestedCheckout(true)}\n >\n {children}\n </BaseButton>\n );\n}\n"],"names":["CartCheckoutButton","props","requestedCheckout","setRequestedCheckout","useState","status","checkoutUrl","useCart","children","passthroughProps","useEffect","window","location","href","disabled"],"mappings":";;;;AAUO,SAASA,mBACdC,OAIA;AACA,QAAM,CAACC,mBAAmBC,oBAApB,IAA4CC,SAAS,KAAD;AACpD,QAAA;AAAA,IAACC;AAAAA,IAAQC;AAAAA,MAAeC,QAA9B;AACM,QAAA;AAAA,IAACC;AAAAA,OAAaC;AAAAA,EAAoBR,IAAAA;AAExCS,YAAU,MAAM;AACVR,QAAAA,qBAAqBI,eAAeD,WAAW,QAAQ;AACzDM,aAAOC,SAASC,OAAOP;AAAAA,IACxB;AAAA,EACA,GAAA,CAACJ,mBAAmBG,QAAQC,WAA5B,CAJM;AAMT,6BACG,YAAD;AAAA,IAAA,GACMG;AAAAA,IACJ,UAAUP,qBAAqBO,iBAAiBK;AAAAA,IAChD,SAAS,MAAMX,qBAAqB,IAAD;AAAA,IAHrC;AAAA,EAAA,CADF;AASD;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createContext, useContext, useState, useRef, useEffect, useCallback, useMemo, useTransition } from "react";
|
|
2
|
-
import { useCartAPIStateMachine } from "./useCartAPIStateMachine.
|
|
3
|
-
import { CART_ID_STORAGE_KEY } from "./cart-constants.
|
|
2
|
+
import { useCartAPIStateMachine } from "./useCartAPIStateMachine.mjs";
|
|
3
|
+
import { CART_ID_STORAGE_KEY } from "./cart-constants.mjs";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
5
5
|
const CartContext = createContext(null);
|
|
6
6
|
function useCart() {
|
|
@@ -482,4 +482,4 @@ export {
|
|
|
482
482
|
storageAvailable,
|
|
483
483
|
useCart
|
|
484
484
|
};
|
|
485
|
-
//# sourceMappingURL=CartProvider.
|
|
485
|
+
//# sourceMappingURL=CartProvider.mjs.map
|