@shopify/hydrogen 1.0.0-alpha.22 → 1.0.0
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/CHANGELOG.md +2198 -0
- package/README.md +2 -2
- package/dist/esnext/FileSessionStorage.d.ts +1 -0
- package/dist/esnext/FileSessionStorage.js +1 -0
- package/dist/esnext/client.d.ts +14 -5
- package/dist/esnext/client.js +14 -5
- package/dist/esnext/components/AddToCartButton/AddToCartButton.client.d.ts +12 -7
- package/dist/esnext/components/AddToCartButton/AddToCartButton.client.js +40 -36
- package/dist/esnext/components/AddToCartButton/index.d.ts +1 -1
- package/dist/esnext/components/BaseButton/BaseButton.client.d.ts +14 -0
- package/dist/esnext/components/BaseButton/BaseButton.client.js +15 -0
- package/dist/esnext/components/BaseButton/index.d.ts +1 -0
- package/dist/esnext/components/BaseButton/index.js +1 -0
- package/dist/esnext/components/BuyNowButton/BuyNowButton.client.d.ts +15 -0
- package/dist/esnext/components/BuyNowButton/BuyNowButton.client.js +27 -0
- package/dist/esnext/components/BuyNowButton/index.d.ts +1 -1
- package/dist/esnext/components/BuyNowButton/index.js +1 -1
- package/dist/esnext/components/CartCheckoutButton/CartCheckoutButton.client.d.ts +7 -3
- package/dist/esnext/components/CartCheckoutButton/CartCheckoutButton.client.js +9 -6
- package/dist/esnext/components/CartCost/CartCost.client.d.ts +14 -0
- package/dist/esnext/components/CartCost/CartCost.client.js +29 -0
- package/dist/esnext/components/CartCost/index.d.ts +1 -0
- package/dist/esnext/components/CartCost/index.js +1 -0
- package/dist/esnext/components/CartLineImage/CartLineImage.client.d.ts +9 -6
- package/dist/esnext/components/CartLineImage/CartLineImage.client.js +6 -3
- package/dist/esnext/components/CartLinePrice/CartLinePrice.client.d.ts +10 -4
- package/dist/esnext/components/CartLinePrice/CartLinePrice.client.js +9 -8
- package/dist/esnext/components/CartLineProductTitle/CartLineProductTitle.client.d.ts +8 -3
- package/dist/esnext/components/CartLineProductTitle/CartLineProductTitle.client.js +4 -0
- package/dist/esnext/components/CartLineProvider/CartLineProvider.client.d.ts +5 -0
- package/dist/esnext/components/CartLineProvider/CartLineProvider.client.js +3 -0
- package/dist/esnext/components/CartLineProvider/context.d.ts +20 -10
- package/dist/esnext/components/CartLineProvider/index.d.ts +1 -1
- package/dist/esnext/components/CartLineProvider/index.js +1 -1
- package/dist/esnext/components/CartLineQuantity/CartLineQuantity.client.d.ts +8 -3
- package/dist/esnext/components/CartLineQuantity/CartLineQuantity.client.js +4 -0
- package/dist/esnext/components/CartLineQuantityAdjustButton/CartLineQuantityAdjustButton.d.ts +9 -4
- package/dist/esnext/components/CartLineQuantityAdjustButton/CartLineQuantityAdjustButton.js +22 -13
- package/dist/esnext/components/CartLines/CartLines.client.d.ts +15 -0
- package/dist/esnext/components/CartLines/{CartLines.js → CartLines.client.js} +7 -5
- package/dist/esnext/components/CartLines/index.d.ts +1 -1
- package/dist/esnext/components/CartLines/index.js +1 -1
- package/dist/esnext/components/CartProvider/CartProvider.client.d.ts +37 -3
- package/dist/esnext/components/CartProvider/CartProvider.client.js +474 -370
- package/dist/esnext/components/CartProvider/cart-queries.d.ts +10 -0
- package/dist/esnext/components/CartProvider/cart-queries.js +202 -0
- package/dist/esnext/components/CartProvider/constants.d.ts +1 -1
- package/dist/esnext/components/CartProvider/constants.js +1 -1
- package/dist/esnext/components/CartProvider/graphql/CartAttributesUpdateMutation.d.ts +82 -4
- package/dist/esnext/components/CartProvider/graphql/CartBuyerIdentityUpdateMutation.d.ts +82 -4
- package/dist/esnext/components/CartProvider/graphql/CartCreateMutation.d.ts +82 -4
- package/dist/esnext/components/CartProvider/graphql/CartDiscountCodesUpdateMutation.d.ts +83 -5
- package/dist/esnext/components/CartProvider/graphql/CartFragment.d.ts +22 -8
- package/dist/esnext/components/CartProvider/graphql/CartLineAddMutation.d.ts +82 -4
- package/dist/esnext/components/CartProvider/graphql/CartLineRemoveMutation.d.ts +82 -4
- package/dist/esnext/components/CartProvider/graphql/CartLineUpdateMutation.d.ts +82 -4
- package/dist/esnext/components/CartProvider/graphql/CartNoteUpdateMutation.d.ts +83 -5
- package/dist/esnext/components/CartProvider/graphql/CartQuery.d.ts +82 -4
- package/dist/esnext/components/CartProvider/hooks.client.d.ts +15 -0
- package/dist/esnext/components/CartProvider/hooks.client.js +64 -0
- package/dist/esnext/components/CartProvider/index.d.ts +3 -3
- package/dist/esnext/components/CartProvider/index.js +2 -3
- package/dist/esnext/components/CartProvider/types.d.ts +48 -49
- package/dist/esnext/components/CartShopPayButton/CartShopPayButton.client.d.ts +7 -2
- package/dist/esnext/components/CartShopPayButton/CartShopPayButton.client.js +11 -4
- package/dist/esnext/components/ExternalVideo/ExternalVideo.d.ts +16 -9
- package/dist/esnext/components/ExternalVideo/ExternalVideo.js +11 -6
- package/dist/esnext/components/ExternalVideo/index.d.ts +1 -1
- package/dist/esnext/components/Image/Image.d.ts +103 -12
- package/dist/esnext/components/Image/Image.js +133 -7
- package/dist/esnext/components/Image/index.d.ts +2 -1
- package/dist/esnext/components/Link/Link.client.d.ts +27 -0
- package/dist/esnext/components/Link/Link.client.js +145 -0
- package/dist/esnext/components/Link/index.d.ts +1 -0
- package/dist/esnext/components/Link/index.js +1 -0
- package/dist/esnext/components/LocalizationProvider/LocalizationClientProvider.client.d.ts +2 -2
- package/dist/esnext/components/LocalizationProvider/LocalizationClientProvider.client.js +3 -12
- package/dist/esnext/components/LocalizationProvider/LocalizationContext.client.d.ts +6 -5
- package/dist/esnext/components/LocalizationProvider/LocalizationProvider.server.d.ts +19 -2
- package/dist/esnext/components/LocalizationProvider/LocalizationProvider.server.js +24 -5
- package/dist/esnext/components/LocalizationProvider/index.d.ts +0 -1
- package/dist/esnext/components/LocalizationProvider/index.js +0 -1
- package/dist/esnext/components/MediaFile/MediaFile.d.ts +18 -18
- package/dist/esnext/components/MediaFile/MediaFile.js +20 -10
- package/dist/esnext/components/MediaFile/index.d.ts +1 -1
- package/dist/esnext/components/Metafield/Metafield.client.d.ts +16 -7
- package/dist/esnext/components/Metafield/Metafield.client.js +83 -29
- package/dist/esnext/components/Metafield/components/StarRating/StarRating.d.ts +5 -5
- package/dist/esnext/components/Metafield/components/StarRating/StarRating.js +1 -1
- package/dist/esnext/components/Metafield/index.d.ts +1 -2
- package/dist/esnext/components/Metafield/types.d.ts +1 -1
- package/dist/esnext/components/ModelViewer/ModelViewer.client.d.ts +128 -0
- package/dist/esnext/components/ModelViewer/ModelViewer.client.js +104 -0
- package/dist/esnext/components/ModelViewer/index.d.ts +1 -0
- package/dist/esnext/components/ModelViewer/index.js +1 -0
- package/dist/esnext/components/Money/Money.client.d.ts +24 -6
- package/dist/esnext/components/Money/Money.client.js +36 -7
- package/dist/esnext/components/Money/index.d.ts +1 -1
- package/dist/esnext/components/ProductOptionsProvider/ProductOptionsProvider.client.d.ts +21 -0
- package/dist/esnext/components/ProductOptionsProvider/ProductOptionsProvider.client.js +133 -0
- package/dist/esnext/components/ProductOptionsProvider/context.d.ts +2 -0
- package/dist/esnext/components/ProductOptionsProvider/context.js +2 -0
- package/dist/esnext/components/ProductOptionsProvider/index.d.ts +2 -0
- package/dist/esnext/components/ProductOptionsProvider/index.js +2 -0
- package/dist/esnext/components/ProductPrice/ProductPrice.client.d.ts +15 -4
- package/dist/esnext/components/ProductPrice/ProductPrice.client.js +35 -13
- package/dist/esnext/components/Seo/CollectionSeo.client.d.ts +3 -0
- package/dist/esnext/components/Seo/CollectionSeo.client.js +14 -0
- package/dist/esnext/components/Seo/DefaultPageSeo.client.d.ts +3 -0
- package/dist/esnext/components/Seo/DefaultPageSeo.client.js +18 -0
- package/dist/esnext/components/Seo/DescriptionSeo.client.d.ts +4 -0
- package/dist/esnext/components/Seo/DescriptionSeo.client.js +10 -0
- package/dist/esnext/components/Seo/HomePageSeo.client.d.ts +2 -0
- package/dist/esnext/components/Seo/HomePageSeo.client.js +25 -0
- package/dist/esnext/components/Seo/ImageSeo.client.d.ts +3 -0
- package/dist/esnext/components/Seo/ImageSeo.client.js +10 -0
- package/dist/esnext/components/Seo/NoIndexSeo.client.d.ts +3 -0
- package/dist/esnext/components/Seo/NoIndexSeo.client.js +10 -0
- package/dist/esnext/components/Seo/PageSeo.client.d.ts +3 -0
- package/dist/esnext/components/Seo/PageSeo.client.js +12 -0
- package/dist/esnext/components/Seo/ProductSeo.client.d.ts +5 -0
- package/dist/esnext/components/Seo/ProductSeo.client.js +62 -0
- package/dist/esnext/components/Seo/Seo.client.d.ts +30 -0
- package/dist/esnext/components/Seo/Seo.client.js +31 -0
- package/dist/esnext/components/Seo/TitleSeo.client.d.ts +3 -0
- package/dist/esnext/components/Seo/TitleSeo.client.js +10 -0
- package/dist/esnext/components/Seo/TwitterSeo.client.d.ts +2 -0
- package/dist/esnext/components/Seo/TwitterSeo.client.js +9 -0
- package/dist/esnext/components/Seo/index.d.ts +1 -0
- package/dist/esnext/components/Seo/index.js +1 -0
- package/dist/esnext/components/Seo/seo-types.d.ts +18 -0
- package/dist/esnext/components/{ExternalVideo/ExternalVideoFragment.js → Seo/seo-types.js} +0 -0
- package/dist/esnext/components/ShopPayButton/ShopPayButton.client.d.ts +29 -4
- package/dist/esnext/components/ShopPayButton/ShopPayButton.client.js +50 -26
- package/dist/esnext/components/ShopPayButton/index.d.ts +1 -1
- package/dist/esnext/components/Video/Video.d.ts +13 -12
- package/dist/esnext/components/Video/Video.js +21 -6
- package/dist/esnext/components/Video/index.d.ts +1 -1
- package/dist/esnext/components/index.d.ts +28 -41
- package/dist/esnext/components/index.js +26 -87
- package/dist/esnext/components/types.d.ts +4 -6
- package/dist/esnext/components/types.js +1 -1
- package/dist/esnext/config.d.ts +7 -0
- package/dist/esnext/config.js +5 -0
- package/dist/esnext/constants.d.ts +9 -0
- package/dist/esnext/constants.js +9 -0
- package/dist/esnext/entry-client.js +145 -23
- package/dist/esnext/entry-server.d.ts +5 -2
- package/dist/esnext/entry-server.js +570 -247
- package/dist/esnext/foundation/Analytics/Analytics.client.d.ts +3 -0
- package/dist/esnext/foundation/Analytics/Analytics.client.js +30 -0
- package/dist/esnext/foundation/Analytics/Analytics.server.d.ts +1 -0
- package/dist/esnext/foundation/Analytics/Analytics.server.js +47 -0
- package/dist/esnext/foundation/Analytics/ClientAnalytics.d.ts +27 -0
- package/dist/esnext/foundation/Analytics/ClientAnalytics.js +99 -0
- package/dist/esnext/foundation/Analytics/ServerAnalyticsRoute.d.ts +4 -0
- package/dist/esnext/foundation/Analytics/ServerAnalyticsRoute.js +51 -0
- package/dist/esnext/foundation/Analytics/connectors/PerformanceMetrics/PerformanceMetrics.client.d.ts +7 -0
- package/dist/esnext/foundation/Analytics/connectors/PerformanceMetrics/PerformanceMetrics.client.js +81 -0
- package/dist/esnext/foundation/Analytics/connectors/PerformanceMetrics/PerformanceMetricsDebug.client.d.ts +1 -0
- package/dist/esnext/foundation/Analytics/connectors/PerformanceMetrics/PerformanceMetricsDebug.client.js +23 -0
- package/dist/esnext/foundation/Analytics/connectors/PerformanceMetrics/ServerAnalyticsConnector.d.ts +3 -0
- package/dist/esnext/foundation/Analytics/connectors/PerformanceMetrics/ServerAnalyticsConnector.js +7 -0
- package/dist/esnext/foundation/Analytics/connectors/Shopify/ServerAnalyticsConnector.d.ts +3 -0
- package/dist/esnext/foundation/Analytics/connectors/Shopify/ServerAnalyticsConnector.js +7 -0
- package/dist/esnext/foundation/Analytics/connectors/Shopify/ShopifyAnalytics.client.d.ts +3 -0
- package/dist/esnext/foundation/Analytics/connectors/Shopify/ShopifyAnalytics.client.js +182 -0
- package/dist/esnext/foundation/Analytics/connectors/Shopify/ShopifyAnalytics.server.d.ts +3 -0
- package/dist/esnext/foundation/Analytics/connectors/Shopify/ShopifyAnalytics.server.js +43 -0
- package/dist/esnext/foundation/Analytics/connectors/Shopify/const.d.ts +28 -0
- package/dist/esnext/foundation/Analytics/connectors/Shopify/const.js +51 -0
- package/dist/esnext/foundation/Analytics/connectors/Shopify/utils.d.ts +3 -0
- package/dist/esnext/foundation/Analytics/connectors/Shopify/utils.js +56 -0
- package/dist/esnext/foundation/Analytics/const.d.ts +9 -0
- package/dist/esnext/foundation/Analytics/const.js +9 -0
- package/dist/esnext/foundation/Analytics/hook.d.ts +1 -0
- package/dist/esnext/foundation/Analytics/hook.js +9 -0
- package/dist/esnext/foundation/Analytics/index.d.ts +1 -0
- package/dist/esnext/foundation/Analytics/index.js +1 -0
- package/dist/esnext/foundation/Analytics/types.d.ts +5 -0
- package/dist/esnext/{components/ProductProvider → foundation/Analytics}/types.js +0 -0
- package/dist/esnext/foundation/Analytics/utils.d.ts +3 -0
- package/dist/esnext/foundation/Analytics/utils.js +29 -0
- package/dist/esnext/foundation/AnalyticsErrorBoundary.client.d.ts +4 -0
- package/dist/esnext/foundation/AnalyticsErrorBoundary.client.js +8 -0
- package/dist/esnext/foundation/BuiltInRoutes/BuiltInRoutes.d.ts +2 -0
- package/dist/esnext/foundation/BuiltInRoutes/BuiltInRoutes.js +23 -0
- package/dist/esnext/foundation/BuiltInRoutes/healthCheck.d.ts +1 -0
- package/dist/esnext/foundation/BuiltInRoutes/healthCheck.js +3 -0
- package/dist/esnext/foundation/Cache/cache-sub-request.d.ts +17 -0
- package/dist/esnext/foundation/Cache/cache-sub-request.js +64 -0
- package/dist/esnext/foundation/Cache/cache.d.ts +17 -0
- package/dist/esnext/foundation/Cache/cache.js +127 -0
- package/dist/esnext/foundation/Cache/strategies/index.d.ts +7 -0
- package/dist/esnext/foundation/Cache/strategies/index.js +54 -0
- package/dist/esnext/foundation/Cookie/Cookie.d.ts +48 -0
- package/dist/esnext/foundation/Cookie/Cookie.js +72 -0
- package/dist/esnext/foundation/CookieSessionStorage/CookieSessionStorage.d.ts +5 -0
- package/dist/esnext/foundation/CookieSessionStorage/CookieSessionStorage.js +31 -0
- package/dist/esnext/foundation/DevTools/DevTools.client.d.ts +3 -0
- package/dist/esnext/foundation/DevTools/DevTools.client.js +17 -0
- package/dist/esnext/foundation/DevTools/DevTools.server.d.ts +1 -0
- package/dist/esnext/foundation/DevTools/DevTools.server.js +14 -0
- package/dist/esnext/foundation/DevTools/components/GraphQL.client.d.ts +1 -0
- package/dist/esnext/foundation/DevTools/components/GraphQL.client.js +25 -0
- package/dist/esnext/foundation/DevTools/components/Heading.d.ts +5 -0
- package/dist/esnext/foundation/DevTools/components/Heading.js +12 -0
- package/dist/esnext/foundation/DevTools/components/Interface.client.d.ts +11 -0
- package/dist/esnext/foundation/DevTools/components/Interface.client.js +47 -0
- package/dist/esnext/foundation/DevTools/components/Panels.d.ts +8 -0
- package/dist/esnext/foundation/DevTools/components/Panels.js +60 -0
- package/dist/esnext/foundation/DevTools/components/Performance.client.d.ts +14 -0
- package/dist/esnext/foundation/DevTools/components/Performance.client.js +26 -0
- package/dist/esnext/foundation/DevTools/components/Settings.client.d.ts +7 -0
- package/dist/esnext/foundation/DevTools/components/Settings.client.js +20 -0
- package/dist/esnext/foundation/DevTools/components/Table.d.ts +9 -0
- package/dist/esnext/foundation/DevTools/components/Table.js +7 -0
- package/dist/esnext/foundation/DevTools/components/icons.d.ts +2 -0
- package/dist/esnext/foundation/DevTools/components/icons.js +13 -0
- package/dist/esnext/foundation/DevTools/components/index.d.ts +2 -0
- package/dist/esnext/foundation/DevTools/components/index.js +2 -0
- package/dist/esnext/foundation/FileRoutes/FileRoutes.server.d.ts +22 -0
- package/dist/esnext/foundation/FileRoutes/FileRoutes.server.js +69 -0
- package/dist/esnext/foundation/FileSessionStorage/FileSessionStorage.d.ts +6 -0
- package/dist/esnext/foundation/FileSessionStorage/FileSessionStorage.js +149 -0
- package/dist/esnext/foundation/Head/Head.client.d.ts +5 -0
- package/dist/esnext/foundation/Head/Head.client.js +10 -0
- package/dist/esnext/foundation/Head/index.d.ts +1 -0
- package/dist/esnext/foundation/Head/index.js +1 -0
- package/dist/esnext/foundation/Html/Html.d.ts +13 -0
- package/dist/esnext/foundation/Html/Html.js +96 -0
- package/dist/esnext/foundation/HydrogenRequest/HydrogenRequest.server.d.ts +76 -0
- package/dist/esnext/foundation/HydrogenRequest/HydrogenRequest.server.js +210 -0
- package/dist/esnext/foundation/HydrogenResponse/HydrogenResponse.server.d.ts +21 -0
- package/dist/esnext/foundation/HydrogenResponse/HydrogenResponse.server.js +48 -0
- package/dist/esnext/foundation/MemorySessionStorage/MemorySessionStorage.d.ts +5 -0
- package/dist/esnext/foundation/MemorySessionStorage/MemorySessionStorage.js +53 -0
- package/dist/esnext/foundation/Redirect/Redirect.client.d.ts +5 -0
- package/dist/esnext/foundation/Redirect/Redirect.client.js +15 -0
- package/dist/esnext/foundation/Route/Route.server.d.ts +12 -0
- package/dist/esnext/foundation/Route/Route.server.js +28 -0
- package/dist/esnext/foundation/Router/BrowserRouter.client.d.ts +14 -0
- package/dist/esnext/foundation/Router/BrowserRouter.client.js +138 -0
- package/dist/esnext/foundation/Router/Router.server.d.ts +10 -0
- package/dist/esnext/foundation/Router/Router.server.js +8 -0
- package/dist/esnext/foundation/ServerPropsProvider/ServerPropsProvider.d.ts +41 -0
- package/dist/esnext/foundation/ServerPropsProvider/ServerPropsProvider.js +65 -0
- package/dist/esnext/foundation/ServerPropsProvider/index.d.ts +2 -0
- package/dist/esnext/foundation/ServerPropsProvider/index.js +1 -0
- package/dist/esnext/foundation/ServerRequestProvider/ServerRequestProvider.d.ts +23 -0
- package/dist/esnext/foundation/ServerRequestProvider/ServerRequestProvider.js +125 -0
- package/dist/esnext/foundation/ServerRequestProvider/index.d.ts +1 -0
- package/dist/esnext/foundation/ServerRequestProvider/index.js +1 -0
- package/dist/esnext/foundation/ServerStateProvider/ServerStateProvider.d.ts +30 -0
- package/dist/esnext/foundation/ServerStateProvider/ServerStateProvider.js +59 -0
- package/dist/esnext/foundation/ShopifyProvider/ShopifyProvider.client.d.ts +7 -0
- package/dist/esnext/foundation/ShopifyProvider/ShopifyProvider.client.js +8 -0
- package/dist/esnext/foundation/ShopifyProvider/ShopifyProvider.server.d.ts +16 -0
- package/dist/esnext/foundation/ShopifyProvider/ShopifyProvider.server.js +60 -0
- package/dist/esnext/foundation/ShopifyProvider/index.d.ts +1 -2
- package/dist/esnext/foundation/ShopifyProvider/index.js +1 -2
- package/dist/esnext/foundation/ShopifyProvider/types.d.ts +12 -10
- package/dist/esnext/foundation/constants.d.ts +2 -0
- package/dist/esnext/foundation/constants.js +4 -0
- package/dist/esnext/foundation/fetchSync/client/fetchSync.d.ts +10 -0
- package/dist/esnext/foundation/fetchSync/client/fetchSync.js +28 -0
- package/dist/esnext/foundation/fetchSync/server/fetchSync.d.ts +8 -0
- package/dist/esnext/foundation/fetchSync/server/fetchSync.js +29 -0
- package/dist/esnext/foundation/fetchSync/types.d.ts +5 -0
- package/dist/{worker → esnext/foundation/fetchSync}/types.js +0 -0
- package/dist/esnext/foundation/index.d.ts +3 -4
- package/dist/esnext/foundation/index.js +3 -4
- package/dist/esnext/foundation/runtime.d.ts +2 -0
- package/dist/esnext/foundation/runtime.js +6 -0
- package/dist/esnext/foundation/session/session.d.ts +27 -0
- package/dist/esnext/foundation/session/session.js +37 -0
- package/dist/esnext/foundation/ssr-interop.d.ts +29 -0
- package/dist/esnext/foundation/ssr-interop.js +35 -0
- package/dist/esnext/foundation/useNavigate/useNavigate.d.ts +17 -0
- package/dist/esnext/foundation/useNavigate/useNavigate.js +39 -0
- package/dist/esnext/foundation/useQuery/hooks.d.ts +37 -0
- package/dist/esnext/foundation/useQuery/hooks.js +105 -0
- package/dist/esnext/foundation/useQuery/index.d.ts +1 -0
- package/dist/esnext/foundation/useQuery/index.js +1 -0
- package/dist/esnext/foundation/useRequestContext/index.d.ts +15 -0
- package/dist/esnext/foundation/useRequestContext/index.js +23 -0
- package/dist/esnext/foundation/useRouteParams/RouteParamsProvider.client.d.ts +13 -0
- package/dist/esnext/foundation/useRouteParams/RouteParamsProvider.client.js +12 -0
- package/dist/esnext/foundation/useRouteParams/useRouteParams.d.ts +4 -0
- package/dist/esnext/foundation/useRouteParams/useRouteParams.js +9 -0
- package/dist/esnext/foundation/useServerProps/index.d.ts +1 -0
- package/dist/esnext/foundation/useServerProps/index.js +1 -0
- package/dist/esnext/foundation/useServerProps/use-server-props.d.ts +21 -0
- package/dist/esnext/foundation/useServerProps/use-server-props.js +35 -0
- package/dist/esnext/foundation/useSession/useSession.d.ts +2 -0
- package/dist/esnext/foundation/useSession/useSession.js +7 -0
- package/dist/esnext/foundation/useShop/index.d.ts +1 -0
- package/dist/esnext/foundation/useShop/index.js +1 -0
- package/dist/esnext/foundation/useShop/use-shop.d.ts +6 -0
- package/dist/esnext/foundation/useShop/use-shop.js +14 -0
- package/dist/esnext/foundation/useUrl/index.d.ts +1 -0
- package/dist/esnext/foundation/useUrl/index.js +1 -0
- package/dist/esnext/foundation/useUrl/useUrl.d.ts +4 -0
- package/dist/esnext/foundation/useUrl/useUrl.js +29 -0
- package/dist/esnext/framework/cache/in-memory.d.ts +17 -0
- package/dist/esnext/framework/cache/in-memory.js +80 -0
- package/dist/esnext/framework/graphiql.d.ts +1 -1
- package/dist/esnext/framework/graphiql.js +1 -2
- package/dist/esnext/framework/load-config.d.ts +5 -0
- package/dist/esnext/framework/load-config.js +7 -0
- package/dist/esnext/framework/middleware.d.ts +11 -7
- package/dist/esnext/framework/middleware.js +49 -68
- package/dist/esnext/framework/plugin.d.ts +8 -3
- package/dist/esnext/framework/plugin.js +23 -4
- package/dist/esnext/framework/plugins/vite-plugin-client-imports.d.ts +2 -0
- package/dist/esnext/framework/plugins/vite-plugin-client-imports.js +25 -0
- package/dist/esnext/framework/plugins/vite-plugin-css-modules-rsc.d.ts +2 -0
- package/dist/esnext/framework/plugins/vite-plugin-css-modules-rsc.js +98 -0
- package/dist/esnext/framework/plugins/vite-plugin-hydration-auto-import.d.ts +3 -0
- package/dist/esnext/framework/plugins/vite-plugin-hydration-auto-import.js +35 -0
- package/dist/esnext/framework/plugins/vite-plugin-hydrogen-client-middleware.d.ts +9 -0
- package/dist/esnext/framework/plugins/vite-plugin-hydrogen-client-middleware.js +36 -0
- package/dist/esnext/framework/plugins/vite-plugin-hydrogen-config.d.ts +1 -1
- package/dist/esnext/framework/plugins/vite-plugin-hydrogen-config.js +79 -20
- package/dist/esnext/framework/plugins/vite-plugin-hydrogen-middleware.d.ts +10 -3
- package/dist/esnext/framework/plugins/vite-plugin-hydrogen-middleware.js +47 -7
- package/dist/esnext/framework/plugins/vite-plugin-hydrogen-rsc.d.ts +2 -0
- package/dist/esnext/framework/plugins/vite-plugin-hydrogen-rsc.js +23 -0
- package/dist/esnext/framework/plugins/vite-plugin-hydrogen-suppress-warnings.d.ts +3 -0
- package/dist/esnext/framework/plugins/vite-plugin-hydrogen-suppress-warnings.js +19 -0
- package/dist/esnext/framework/plugins/vite-plugin-hydrogen-virtual-files.d.ts +7 -0
- package/dist/esnext/framework/plugins/vite-plugin-hydrogen-virtual-files.js +101 -0
- package/dist/esnext/framework/plugins/vite-plugin-platform-entry.d.ts +3 -0
- package/dist/esnext/framework/plugins/vite-plugin-platform-entry.js +70 -0
- package/dist/esnext/framework/plugins/{vite-plugin-react-server-components-shim.d.ts → vite-plugin-purge-query-cache.d.ts} +0 -0
- package/dist/esnext/framework/plugins/vite-plugin-purge-query-cache.js +11 -0
- package/dist/{node/framework/plugins/vite-plugin-react-server-components-shim.d.ts → esnext/framework/plugins/vite-plugin-ssr-interop.d.ts} +0 -0
- package/dist/esnext/framework/plugins/vite-plugin-ssr-interop.js +16 -0
- package/dist/esnext/framework/types.d.ts +6 -0
- package/dist/esnext/{components/Image/ImageFragment.js → framework/types.js} +0 -0
- package/dist/esnext/framework/viteception.d.ts +5 -0
- package/dist/esnext/framework/viteception.js +16 -0
- package/dist/esnext/hooks/index.d.ts +5 -5
- package/dist/esnext/hooks/index.js +5 -5
- package/dist/esnext/hooks/useCart/index.d.ts +1 -0
- package/dist/esnext/hooks/useCart/index.js +1 -0
- package/dist/esnext/hooks/useCart/useCart.d.ts +4 -0
- package/dist/esnext/hooks/useCart/useCart.js +12 -0
- package/dist/esnext/hooks/useCartLine/index.d.ts +1 -0
- package/dist/esnext/hooks/useCartLine/index.js +1 -0
- package/dist/esnext/hooks/useCartLine/useCartLine.d.ts +39 -0
- package/dist/esnext/{components/CartLineProvider/hooks.js → hooks/useCartLine/useCartLine.js} +4 -1
- package/dist/esnext/hooks/useLoadScript/index.d.ts +1 -0
- package/dist/esnext/hooks/useLoadScript/index.js +1 -0
- package/dist/esnext/hooks/useLoadScript/useLoadScript.client.d.ts +8 -0
- package/dist/esnext/hooks/useLoadScript/useLoadScript.client.js +23 -0
- package/dist/esnext/hooks/useLocalization/useLocalization.d.ts +4 -0
- package/dist/esnext/hooks/useLocalization/useLocalization.js +14 -0
- package/dist/esnext/hooks/useMeasurement/hooks.js +2 -2
- package/dist/esnext/hooks/useMoney/hooks.d.ts +44 -1
- package/dist/esnext/hooks/useMoney/hooks.js +69 -22
- package/dist/esnext/hooks/useProductOptions/helpers.d.ts +6 -4
- package/dist/esnext/hooks/useProductOptions/helpers.js +9 -6
- package/dist/esnext/hooks/useProductOptions/index.d.ts +1 -1
- package/dist/esnext/hooks/useProductOptions/index.js +1 -1
- package/dist/esnext/hooks/useProductOptions/types.d.ts +42 -48
- package/dist/esnext/hooks/useProductOptions/useProductOptions.client.d.ts +1 -0
- package/dist/esnext/hooks/useProductOptions/useProductOptions.client.js +9 -0
- package/dist/esnext/hooks/useShopQuery/hooks.d.ts +22 -3
- package/dist/esnext/hooks/useShopQuery/hooks.js +163 -24
- package/dist/esnext/hooks/useShopQuery/index.d.ts +1 -1
- package/dist/esnext/hooks/useShopQuery/index.js +1 -1
- package/dist/esnext/index.d.ts +41 -8
- package/dist/esnext/index.js +37 -10
- package/dist/esnext/node.d.ts +1 -0
- package/dist/esnext/node.js +1 -0
- package/dist/esnext/platforms/node.d.ts +9 -0
- package/dist/esnext/platforms/node.js +41 -0
- package/dist/esnext/{components/LocalizationProvider/LocalizationQuery.js → platforms/worker-event.d.ts} +0 -0
- package/dist/esnext/platforms/worker-event.js +3 -0
- package/dist/esnext/platforms/worker.d.ts +14 -0
- package/dist/esnext/platforms/worker.js +25 -0
- package/dist/esnext/shared-types.d.ts +27 -0
- package/dist/esnext/shared-types.js +4 -0
- package/dist/esnext/{graphql/types/types.d.ts → storefront-api-types.d.ts} +2404 -1886
- package/dist/esnext/{graphql/types/types.js → storefront-api-types.js} +1079 -722
- package/dist/esnext/streaming.server.d.ts +16 -0
- package/dist/esnext/streaming.server.js +24 -0
- package/dist/esnext/types.d.ts +92 -39
- package/dist/esnext/types.js +1 -1
- package/dist/esnext/utilities/apiRoutes.d.ts +42 -0
- package/dist/esnext/utilities/apiRoutes.js +152 -0
- package/dist/esnext/utilities/bot-ua.d.ts +4 -0
- package/dist/esnext/utilities/bot-ua.js +61 -0
- package/dist/esnext/utilities/defer.d.ts +6 -0
- package/dist/esnext/utilities/defer.js +14 -0
- package/dist/esnext/utilities/devtools.d.ts +11 -0
- package/dist/esnext/utilities/devtools.js +11 -0
- package/dist/esnext/utilities/empty-hydrogen-config.d.ts +2 -0
- package/dist/esnext/utilities/empty-hydrogen-config.js +2 -0
- package/dist/esnext/utilities/error.d.ts +1 -0
- package/dist/esnext/utilities/error.js +6 -0
- package/dist/esnext/utilities/fetch.d.ts +9 -0
- package/dist/esnext/utilities/fetch.js +31 -0
- package/dist/esnext/utilities/flattenConnection/flattenConnection.d.ts +7 -0
- package/dist/esnext/utilities/flattenConnection/flattenConnection.js +18 -0
- package/dist/esnext/utilities/flattenConnection/index.d.ts +1 -0
- package/dist/esnext/utilities/flattenConnection/index.js +1 -0
- package/dist/esnext/utilities/graphql-tag.d.ts +1 -0
- package/dist/esnext/utilities/graphql-tag.js +6 -0
- package/dist/esnext/utilities/graphql-tracker.d.ts +17 -0
- package/dist/esnext/utilities/graphql-tracker.js +121 -0
- package/dist/esnext/utilities/hash.d.ts +2 -0
- package/dist/esnext/utilities/hash.js +30 -0
- package/dist/esnext/utilities/html-encoding.d.ts +1 -0
- package/dist/esnext/utilities/html-encoding.js +8 -0
- package/dist/esnext/utilities/image_size.d.ts +30 -14
- package/dist/esnext/utilities/image_size.js +80 -30
- package/dist/esnext/utilities/index.d.ts +10 -6
- package/dist/esnext/utilities/index.js +10 -6
- package/dist/esnext/utilities/isBrowser/index.d.ts +1 -0
- package/dist/esnext/utilities/isBrowser/index.js +1 -0
- package/dist/esnext/utilities/isBrowser/isBrowser.d.ts +4 -0
- package/dist/esnext/utilities/isBrowser/isBrowser.js +6 -0
- package/dist/esnext/utilities/isServer/index.d.ts +1 -0
- package/dist/esnext/utilities/isServer/index.js +1 -0
- package/dist/esnext/utilities/isServer/isServer.d.ts +4 -0
- package/dist/esnext/utilities/isServer/isServer.js +7 -0
- package/dist/esnext/utilities/{script_loader.d.ts → load_script.d.ts} +0 -0
- package/dist/esnext/utilities/{script_loader.js → load_script.js} +1 -1
- package/dist/esnext/utilities/log/index.d.ts +4 -0
- package/dist/esnext/utilities/log/index.js +4 -0
- package/dist/esnext/utilities/log/log-cache-api-status.d.ts +1 -0
- package/dist/esnext/utilities/log/log-cache-api-status.js +17 -0
- package/dist/esnext/utilities/log/log-cache-header.d.ts +10 -0
- package/dist/esnext/utilities/log/log-cache-header.js +30 -0
- package/dist/esnext/utilities/log/log-query-timeline.d.ts +12 -0
- package/dist/esnext/utilities/log/log-query-timeline.js +102 -0
- package/dist/esnext/utilities/log/log.d.ts +28 -0
- package/dist/esnext/utilities/log/log.js +74 -0
- package/dist/esnext/utilities/log/utils.d.ts +3 -0
- package/dist/esnext/utilities/log/utils.js +11 -0
- package/dist/esnext/utilities/matchPath.d.ts +10 -0
- package/dist/esnext/utilities/matchPath.js +54 -0
- package/dist/esnext/utilities/{meaurement.d.ts → measurement.d.ts} +0 -0
- package/dist/esnext/utilities/{meaurement.js → measurement.js} +0 -0
- package/dist/esnext/utilities/object.d.ts +5 -0
- package/dist/esnext/utilities/object.js +7 -0
- package/dist/esnext/utilities/parse.d.ts +1 -0
- package/dist/esnext/utilities/parse.js +9 -0
- package/dist/esnext/utilities/parseMetafield/index.d.ts +1 -0
- package/dist/esnext/utilities/parseMetafield/index.js +1 -0
- package/dist/esnext/utilities/parseMetafield/parseMetafield.d.ts +15 -0
- package/dist/esnext/utilities/parseMetafield/parseMetafield.js +62 -0
- package/dist/esnext/utilities/storefrontApi.d.ts +5 -0
- package/dist/esnext/utilities/storefrontApi.js +26 -0
- package/dist/esnext/utilities/suspense.d.ts +7 -2
- package/dist/esnext/utilities/suspense.js +32 -6
- package/dist/esnext/utilities/template.d.ts +9 -0
- package/dist/esnext/utilities/template.js +22 -0
- package/dist/esnext/utilities/timing.d.ts +7 -0
- package/dist/esnext/utilities/timing.js +14 -0
- package/dist/esnext/{components/MediaFile/MediaFileFragment.js → utilities/web-api-polyfill.d.ts} +0 -0
- package/dist/esnext/utilities/web-api-polyfill.js +25 -0
- package/dist/esnext/version.d.ts +1 -1
- package/dist/esnext/version.js +1 -1
- package/dist/node/framework/cache/in-memory.d.ts +17 -0
- package/dist/node/framework/cache/in-memory.js +84 -0
- package/dist/node/framework/graphiql.d.ts +1 -1
- package/dist/node/framework/graphiql.js +1 -2
- package/dist/node/framework/load-config.d.ts +5 -0
- package/dist/node/framework/load-config.js +11 -0
- package/dist/node/framework/middleware.d.ts +11 -7
- package/dist/node/framework/middleware.js +56 -73
- package/dist/node/framework/plugin.d.ts +5 -3
- package/dist/node/framework/plugin.js +27 -8
- package/dist/node/framework/plugins/vite-plugin-client-imports.d.ts +2 -0
- package/dist/node/framework/plugins/vite-plugin-client-imports.js +28 -0
- package/dist/node/framework/plugins/vite-plugin-css-modules-rsc.d.ts +2 -0
- package/dist/node/framework/plugins/vite-plugin-css-modules-rsc.js +104 -0
- package/dist/node/framework/plugins/vite-plugin-hydration-auto-import.d.ts +3 -0
- package/dist/node/framework/plugins/vite-plugin-hydration-auto-import.js +40 -0
- package/dist/node/framework/plugins/vite-plugin-hydrogen-client-middleware.d.ts +9 -0
- package/dist/node/framework/plugins/vite-plugin-hydrogen-client-middleware.js +38 -0
- package/dist/node/framework/plugins/vite-plugin-hydrogen-config.d.ts +1 -1
- package/dist/node/framework/plugins/vite-plugin-hydrogen-config.js +79 -20
- package/dist/node/framework/plugins/vite-plugin-hydrogen-middleware.d.ts +10 -3
- package/dist/node/framework/plugins/vite-plugin-hydrogen-middleware.js +48 -7
- package/dist/node/framework/plugins/vite-plugin-hydrogen-rsc.d.ts +2 -0
- package/dist/node/framework/plugins/vite-plugin-hydrogen-rsc.js +29 -0
- package/dist/node/framework/plugins/vite-plugin-hydrogen-suppress-warnings.d.ts +3 -0
- package/dist/node/framework/plugins/vite-plugin-hydrogen-suppress-warnings.js +21 -0
- package/dist/node/framework/plugins/vite-plugin-hydrogen-virtual-files.d.ts +7 -0
- package/dist/node/framework/plugins/vite-plugin-hydrogen-virtual-files.js +107 -0
- package/dist/node/framework/plugins/vite-plugin-platform-entry.d.ts +3 -0
- package/dist/node/framework/plugins/vite-plugin-platform-entry.js +75 -0
- package/dist/node/framework/plugins/vite-plugin-purge-query-cache.d.ts +3 -0
- package/dist/node/framework/plugins/vite-plugin-purge-query-cache.js +16 -0
- package/dist/node/framework/plugins/vite-plugin-ssr-interop.d.ts +3 -0
- package/dist/node/framework/plugins/vite-plugin-ssr-interop.js +18 -0
- package/dist/node/framework/types.d.ts +6 -0
- package/dist/node/{foundation/ShopifyProvider → framework}/types.js +0 -0
- package/dist/node/framework/viteception.d.ts +5 -0
- package/dist/node/framework/viteception.js +20 -0
- package/dist/node/shared-types.d.ts +27 -0
- package/dist/node/shared-types.js +5 -0
- package/dist/{esnext/components/Metafield/MetafieldFragment.js → node/utilities/web-api-polyfill.d.ts} +0 -0
- package/dist/node/utilities/web-api-polyfill.js +53 -0
- package/package.json +101 -56
- package/vendor/react-server-dom-vite/LICENSE +21 -0
- package/vendor/react-server-dom-vite/README.md +5 -0
- package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-plugin.js +600 -0
- package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-writer.browser.development.server.js +1808 -0
- package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-writer.browser.production.min.server.js +47 -0
- package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-writer.node.development.server.js +1882 -0
- package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-writer.node.production.min.server.js +47 -0
- package/vendor/react-server-dom-vite/cjs/react-server-dom-vite.development.js +629 -0
- package/vendor/react-server-dom-vite/cjs/react-server-dom-vite.production.min.js +19 -0
- package/vendor/react-server-dom-vite/esm/package.json +3 -0
- package/vendor/react-server-dom-vite/esm/react-server-dom-vite-client-proxy.js +83 -0
- package/vendor/react-server-dom-vite/esm/react-server-dom-vite-plugin.js +596 -0
- package/vendor/react-server-dom-vite/esm/react-server-dom-vite-writer.browser.server.js +1800 -0
- package/vendor/react-server-dom-vite/esm/react-server-dom-vite-writer.node.server.js +1874 -0
- package/vendor/react-server-dom-vite/esm/react-server-dom-vite.js +619 -0
- package/vendor/react-server-dom-vite/index.js +7 -0
- package/vendor/react-server-dom-vite/package.json +67 -0
- package/vendor/react-server-dom-vite/plugin.js +3 -0
- package/vendor/react-server-dom-vite/writer.browser.server.js +7 -0
- package/vendor/react-server-dom-vite/writer.node.server.js +7 -0
- package/client.d.ts +0 -1
- package/client.js +0 -1
- package/dist/esnext/components/BuyNowButton/BuyNowButton.d.ts +0 -12
- package/dist/esnext/components/BuyNowButton/BuyNowButton.js +0 -29
- package/dist/esnext/components/CartContainer/CartContainer.client.d.ts +0 -9
- package/dist/esnext/components/CartContainer/CartContainer.client.js +0 -24
- package/dist/esnext/components/CartContainer/index.d.ts +0 -1
- package/dist/esnext/components/CartContainer/index.js +0 -1
- package/dist/esnext/components/CartLineAttributes/CartLineAttributes.client.d.ts +0 -10
- package/dist/esnext/components/CartLineAttributes/CartLineAttributes.client.js +0 -9
- package/dist/esnext/components/CartLineAttributes/index.d.ts +0 -1
- package/dist/esnext/components/CartLineAttributes/index.js +0 -1
- package/dist/esnext/components/CartLineProvider/hooks.d.ts +0 -26
- package/dist/esnext/components/CartLineSelectedOptions/CartLineSelectedOptions.client.d.ts +0 -10
- package/dist/esnext/components/CartLineSelectedOptions/CartLineSelectedOptions.client.js +0 -9
- package/dist/esnext/components/CartLineSelectedOptions/index.d.ts +0 -1
- package/dist/esnext/components/CartLineSelectedOptions/index.js +0 -1
- package/dist/esnext/components/CartLines/CartLines.d.ts +0 -7
- package/dist/esnext/components/CartProvider/CartServerProvider.server.d.ts +0 -11
- package/dist/esnext/components/CartProvider/CartServerProvider.server.js +0 -20
- package/dist/esnext/components/CartProvider/hooks.d.ts +0 -18
- package/dist/esnext/components/CartProvider/hooks.js +0 -79
- package/dist/esnext/components/CartToggle/CartToggle.client.d.ts +0 -8
- package/dist/esnext/components/CartToggle/CartToggle.client.js +0 -11
- package/dist/esnext/components/CartToggle/index.d.ts +0 -1
- package/dist/esnext/components/CartToggle/index.js +0 -1
- package/dist/esnext/components/CartTotal/CartTotal.client.d.ts +0 -3
- package/dist/esnext/components/CartTotal/CartTotal.client.js +0 -8
- package/dist/esnext/components/CartTotal/index.d.ts +0 -1
- package/dist/esnext/components/CartTotal/index.js +0 -1
- package/dist/esnext/components/CartUIProvider/CartUIProvider.client.d.ts +0 -5
- package/dist/esnext/components/CartUIProvider/CartUIProvider.client.js +0 -26
- package/dist/esnext/components/CartUIProvider/context.d.ts +0 -9
- package/dist/esnext/components/CartUIProvider/context.js +0 -2
- package/dist/esnext/components/CartUIProvider/hooks.d.ts +0 -1
- package/dist/esnext/components/CartUIProvider/hooks.js +0 -9
- package/dist/esnext/components/CartUIProvider/index.d.ts +0 -2
- package/dist/esnext/components/CartUIProvider/index.js +0 -2
- package/dist/esnext/components/ExternalVideo/ExternalVideoFragment.d.ts +0 -4
- package/dist/esnext/components/Image/ImageFragment.d.ts +0 -4
- package/dist/esnext/components/LocalizationProvider/LocalizationQuery.d.ts +0 -18
- package/dist/esnext/components/LocalizationProvider/hooks.d.ts +0 -8
- package/dist/esnext/components/LocalizationProvider/hooks.js +0 -17
- package/dist/esnext/components/MediaFile/MediaFileFragment.d.ts +0 -22
- package/dist/esnext/components/Metafield/MetafieldFragment.d.ts +0 -4
- package/dist/esnext/components/Model3D/Model3D.client.d.ts +0 -25
- package/dist/esnext/components/Model3D/Model3D.client.js +0 -30
- package/dist/esnext/components/Model3D/Model3DFragment.d.ts +0 -11
- package/dist/esnext/components/Model3D/Model3DFragment.js +0 -1
- package/dist/esnext/components/Model3D/index.d.ts +0 -1
- package/dist/esnext/components/Model3D/index.js +0 -1
- package/dist/esnext/components/ProductDescription/ProductDescription.client.d.ts +0 -3
- package/dist/esnext/components/ProductDescription/ProductDescription.client.js +0 -10
- package/dist/esnext/components/ProductDescription/index.d.ts +0 -1
- package/dist/esnext/components/ProductDescription/index.js +0 -1
- package/dist/esnext/components/ProductMetafield/ProductMetafield.client.d.ts +0 -7
- package/dist/esnext/components/ProductMetafield/ProductMetafield.client.js +0 -16
- package/dist/esnext/components/ProductMetafield/index.d.ts +0 -1
- package/dist/esnext/components/ProductMetafield/index.js +0 -1
- package/dist/esnext/components/ProductProvider/ProductProvider.client.d.ts +0 -7
- package/dist/esnext/components/ProductProvider/ProductProvider.client.js +0 -35
- package/dist/esnext/components/ProductProvider/ProductProviderFragment.d.ts +0 -96
- package/dist/esnext/components/ProductProvider/ProductProviderFragment.js +0 -1
- package/dist/esnext/components/ProductProvider/context.d.ts +0 -13
- package/dist/esnext/components/ProductProvider/context.js +0 -2
- package/dist/esnext/components/ProductProvider/hooks.d.ts +0 -1
- package/dist/esnext/components/ProductProvider/hooks.js +0 -6
- package/dist/esnext/components/ProductProvider/index.d.ts +0 -2
- package/dist/esnext/components/ProductProvider/index.js +0 -2
- package/dist/esnext/components/ProductProvider/types.d.ts +0 -5
- package/dist/esnext/components/ProductTitle/ProductTitle.client.d.ts +0 -3
- package/dist/esnext/components/ProductTitle/ProductTitle.client.js +0 -11
- package/dist/esnext/components/ProductTitle/index.d.ts +0 -1
- package/dist/esnext/components/ProductTitle/index.js +0 -1
- package/dist/esnext/components/RawHtml/RawHtml.d.ts +0 -7
- package/dist/esnext/components/RawHtml/RawHtml.js +0 -13
- package/dist/esnext/components/RawHtml/index.d.ts +0 -1
- package/dist/esnext/components/RawHtml/index.js +0 -1
- package/dist/esnext/components/SelectedVariantAddToCartButton/SelectedVariantAddToCartButton.client.d.ts +0 -6
- package/dist/esnext/components/SelectedVariantAddToCartButton/SelectedVariantAddToCartButton.client.js +0 -12
- package/dist/esnext/components/SelectedVariantAddToCartButton/index.d.ts +0 -1
- package/dist/esnext/components/SelectedVariantAddToCartButton/index.js +0 -1
- package/dist/esnext/components/SelectedVariantBuyNowButton/SelectedVariantBuyNowButton.d.ts +0 -4
- package/dist/esnext/components/SelectedVariantBuyNowButton/SelectedVariantBuyNowButton.js +0 -12
- package/dist/esnext/components/SelectedVariantBuyNowButton/index.d.ts +0 -1
- package/dist/esnext/components/SelectedVariantBuyNowButton/index.js +0 -1
- package/dist/esnext/components/SelectedVariantImage/SelectedVariantImage.client.d.ts +0 -6
- package/dist/esnext/components/SelectedVariantImage/SelectedVariantImage.client.js +0 -12
- package/dist/esnext/components/SelectedVariantImage/index.d.ts +0 -1
- package/dist/esnext/components/SelectedVariantImage/index.js +0 -1
- package/dist/esnext/components/SelectedVariantMetafield/SelectedVariantMetafield.client.d.ts +0 -7
- package/dist/esnext/components/SelectedVariantMetafield/SelectedVariantMetafield.client.js +0 -15
- package/dist/esnext/components/SelectedVariantMetafield/index.d.ts +0 -1
- package/dist/esnext/components/SelectedVariantMetafield/index.js +0 -1
- package/dist/esnext/components/SelectedVariantPrice/SelectedVariantPrice.client.d.ts +0 -6
- package/dist/esnext/components/SelectedVariantPrice/SelectedVariantPrice.client.js +0 -18
- package/dist/esnext/components/SelectedVariantPrice/index.d.ts +0 -1
- package/dist/esnext/components/SelectedVariantPrice/index.js +0 -1
- package/dist/esnext/components/SelectedVariantShopPayButton/SelectedVariantShopPayButton.client.d.ts +0 -2
- package/dist/esnext/components/SelectedVariantShopPayButton/SelectedVariantShopPayButton.client.js +0 -12
- package/dist/esnext/components/SelectedVariantShopPayButton/index.d.ts +0 -1
- package/dist/esnext/components/SelectedVariantShopPayButton/index.js +0 -1
- package/dist/esnext/components/SelectedVariantUnitPrice/SelectedVariantUnitPrice.client.d.ts +0 -3
- package/dist/esnext/components/SelectedVariantUnitPrice/SelectedVariantUnitPrice.client.js +0 -12
- package/dist/esnext/components/SelectedVariantUnitPrice/index.d.ts +0 -1
- package/dist/esnext/components/SelectedVariantUnitPrice/index.js +0 -1
- package/dist/esnext/components/UnitPrice/UnitPrice.client.d.ts +0 -8
- package/dist/esnext/components/UnitPrice/UnitPrice.client.js +0 -16
- package/dist/esnext/components/UnitPrice/index.d.ts +0 -1
- package/dist/esnext/components/UnitPrice/index.js +0 -1
- package/dist/esnext/components/Video/VideoFragment.d.ts +0 -11
- package/dist/esnext/components/Video/VideoFragment.js +0 -1
- package/dist/esnext/foundation/ClientMarker/ClientMarker.d.ts +0 -10
- package/dist/esnext/foundation/ClientMarker/ClientMarker.js +0 -25
- package/dist/esnext/foundation/ClientMarker/index.d.ts +0 -1
- package/dist/esnext/foundation/ClientMarker/index.js +0 -1
- package/dist/esnext/foundation/Hydration/Cache.client.d.ts +0 -9
- package/dist/esnext/foundation/Hydration/Cache.client.js +0 -131
- package/dist/esnext/foundation/Hydration/ClientComponents.server.d.ts +0 -13
- package/dist/esnext/foundation/Hydration/ClientComponents.server.js +0 -18
- package/dist/esnext/foundation/Hydration/Html.d.ts +0 -5
- package/dist/esnext/foundation/Hydration/Html.js +0 -9
- package/dist/esnext/foundation/Hydration/HydrationContext.server.d.ts +0 -1
- package/dist/esnext/foundation/Hydration/HydrationContext.server.js +0 -2
- package/dist/esnext/foundation/Hydration/ServerComponentRequest.server.d.ts +0 -13
- package/dist/esnext/foundation/Hydration/ServerComponentRequest.server.js +0 -39
- package/dist/esnext/foundation/Hydration/ServerComponentResponse.server.d.ts +0 -18
- package/dist/esnext/foundation/Hydration/ServerComponentResponse.server.js +0 -35
- package/dist/esnext/foundation/Hydration/react-utils.d.ts +0 -5
- package/dist/esnext/foundation/Hydration/react-utils.js +0 -55
- package/dist/esnext/foundation/Hydration/wire.server.d.ts +0 -4
- package/dist/esnext/foundation/Hydration/wire.server.js +0 -75
- package/dist/esnext/foundation/Hydration/writer.server.d.ts +0 -14
- package/dist/esnext/foundation/Hydration/writer.server.js +0 -29
- package/dist/esnext/foundation/Router/DefaultRoutes.d.ts +0 -20
- package/dist/esnext/foundation/Router/DefaultRoutes.js +0 -54
- package/dist/esnext/foundation/Router/ServerStateRouter.client.d.ts +0 -6
- package/dist/esnext/foundation/Router/ServerStateRouter.client.js +0 -27
- package/dist/esnext/foundation/Router/index.d.ts +0 -1
- package/dist/esnext/foundation/Router/index.js +0 -1
- package/dist/esnext/foundation/ServerStateProvider/ServerStateProvider.client.d.ts +0 -11
- package/dist/esnext/foundation/ServerStateProvider/ServerStateProvider.client.js +0 -48
- package/dist/esnext/foundation/ServerStateProvider/index.d.ts +0 -1
- package/dist/esnext/foundation/ServerStateProvider/index.js +0 -1
- package/dist/esnext/foundation/ShopifyProvider/ShopifyContext.d.ts +0 -1
- package/dist/esnext/foundation/ShopifyProvider/ShopifyContext.js +0 -2
- package/dist/esnext/foundation/ShopifyProvider/ShopifyProvider.d.ts +0 -3
- package/dist/esnext/foundation/ShopifyProvider/ShopifyProvider.js +0 -11
- package/dist/esnext/foundation/ShopifyProvider/ShopifyServerProvider.server.d.ts +0 -8
- package/dist/esnext/foundation/ShopifyProvider/ShopifyServerProvider.server.js +0 -7
- package/dist/esnext/foundation/ShopifyProvider/hooks.d.ts +0 -2
- package/dist/esnext/foundation/ShopifyProvider/hooks.js +0 -9
- package/dist/esnext/framework/plugins/vite-plugin-react-server-components-shim.js +0 -123
- package/dist/esnext/framework/server-components.d.ts +0 -12
- package/dist/esnext/framework/server-components.js +0 -72
- package/dist/esnext/graphql/graphql-constants.d.ts +0 -1295
- package/dist/esnext/graphql/graphql-constants.js +0 -2482
- package/dist/esnext/handle-event.d.ts +0 -20
- package/dist/esnext/handle-event.js +0 -140
- package/dist/esnext/handle-worker-event.d.ts +0 -11
- package/dist/esnext/handle-worker-event.js +0 -14
- package/dist/esnext/hooks/useParsedMetafields/hooks.d.ts +0 -3
- package/dist/esnext/hooks/useParsedMetafields/hooks.js +0 -15
- package/dist/esnext/hooks/useParsedMetafields/index.d.ts +0 -1
- package/dist/esnext/hooks/useParsedMetafields/index.js +0 -1
- package/dist/esnext/hooks/useProductOptions/useProductOptions.d.ts +0 -23
- package/dist/esnext/hooks/useProductOptions/useProductOptions.js +0 -84
- package/dist/esnext/hooks/useQuery/QueryProvider.d.ts +0 -6
- package/dist/esnext/hooks/useQuery/QueryProvider.js +0 -13
- package/dist/esnext/hooks/useQuery/hooks.d.ts +0 -12
- package/dist/esnext/hooks/useQuery/hooks.js +0 -28
- package/dist/esnext/hooks/useQuery/index.d.ts +0 -2
- package/dist/esnext/hooks/useQuery/index.js +0 -2
- package/dist/esnext/utilities/connections.d.ts +0 -2
- package/dist/esnext/utilities/connections.js +0 -4
- package/dist/esnext/utilities/environment.d.ts +0 -2
- package/dist/esnext/utilities/environment.js +0 -2
- package/dist/esnext/utilities/metafields.d.ts +0 -2
- package/dist/esnext/utilities/metafields.js +0 -32
- package/dist/node/foundation/ClientMarker/ClientMarker.d.ts +0 -10
- package/dist/node/foundation/ClientMarker/ClientMarker.js +0 -48
- package/dist/node/foundation/ClientMarker/index.d.ts +0 -1
- package/dist/node/foundation/ClientMarker/index.js +0 -13
- package/dist/node/foundation/Hydration/HydrationContext.server.d.ts +0 -1
- package/dist/node/foundation/Hydration/HydrationContext.server.js +0 -5
- package/dist/node/foundation/Hydration/ServerComponentRequest.server.d.ts +0 -13
- package/dist/node/foundation/Hydration/ServerComponentRequest.server.js +0 -43
- package/dist/node/foundation/Hydration/ServerComponentResponse.server.d.ts +0 -18
- package/dist/node/foundation/Hydration/ServerComponentResponse.server.js +0 -39
- package/dist/node/foundation/Hydration/react-utils.d.ts +0 -5
- package/dist/node/foundation/Hydration/react-utils.js +0 -63
- package/dist/node/foundation/Router/DefaultRoutes.d.ts +0 -20
- package/dist/node/foundation/Router/DefaultRoutes.js +0 -78
- package/dist/node/foundation/Router/index.d.ts +0 -1
- package/dist/node/foundation/Router/index.js +0 -5
- package/dist/node/foundation/ShopifyProvider/ShopifyContext.d.ts +0 -1
- package/dist/node/foundation/ShopifyProvider/ShopifyContext.js +0 -5
- package/dist/node/foundation/ShopifyProvider/ShopifyProvider.d.ts +0 -3
- package/dist/node/foundation/ShopifyProvider/ShopifyProvider.js +0 -34
- package/dist/node/foundation/ShopifyProvider/ShopifyServerProvider.server.d.ts +0 -8
- package/dist/node/foundation/ShopifyProvider/ShopifyServerProvider.server.js +0 -14
- package/dist/node/foundation/ShopifyProvider/hooks.d.ts +0 -2
- package/dist/node/foundation/ShopifyProvider/hooks.js +0 -13
- package/dist/node/foundation/ShopifyProvider/index.d.ts +0 -2
- package/dist/node/foundation/ShopifyProvider/index.js +0 -8
- package/dist/node/foundation/ShopifyProvider/types.d.ts +0 -12
- package/dist/node/foundation/index.d.ts +0 -4
- package/dist/node/foundation/index.js +0 -13
- package/dist/node/framework/plugins/vite-plugin-react-server-components-shim.js +0 -128
- package/dist/node/framework/server-components.d.ts +0 -12
- package/dist/node/framework/server-components.js +0 -77
- package/dist/node/graphql/types/types.d.ts +0 -5583
- package/dist/node/graphql/types/types.js +0 -1417
- package/dist/node/handle-event.d.ts +0 -20
- package/dist/node/handle-event.js +0 -143
- package/dist/node/hooks/useQuery/QueryProvider.d.ts +0 -6
- package/dist/node/hooks/useQuery/QueryProvider.js +0 -20
- package/dist/node/hooks/useQuery/hooks.d.ts +0 -12
- package/dist/node/hooks/useQuery/hooks.js +0 -32
- package/dist/node/hooks/useQuery/index.d.ts +0 -2
- package/dist/node/hooks/useQuery/index.js +0 -14
- package/dist/node/types.d.ts +0 -62
- package/dist/node/types.js +0 -2
- package/dist/worker/foundation/Hydration/ServerComponentRequest.server.d.ts +0 -13
- package/dist/worker/foundation/Hydration/ServerComponentRequest.server.js +0 -39
- package/dist/worker/foundation/Hydration/ServerComponentResponse.server.d.ts +0 -18
- package/dist/worker/foundation/Hydration/ServerComponentResponse.server.js +0 -35
- package/dist/worker/graphql/types/types.d.ts +0 -5583
- package/dist/worker/graphql/types/types.js +0 -1414
- package/dist/worker/handle-event.d.ts +0 -20
- package/dist/worker/handle-event.js +0 -140
- package/dist/worker/handle-worker-event.d.ts +0 -11
- package/dist/worker/handle-worker-event.js +0 -14
- package/dist/worker/types.d.ts +0 -62
- package/entry-client.d.ts +0 -1
- package/entry-client.js +0 -1
- package/entry-server.d.ts +0 -1
- package/entry-server.js +0 -1
- package/marker.js +0 -1
- package/middleware.d.ts +0 -1
- package/middleware.js +0 -1
- package/plugin.d.ts +0 -1
- package/plugin.js +0 -1
- package/worker.js +0 -1
|
@@ -1,50 +1,84 @@
|
|
|
1
|
-
import { CartInput, CartLineInput, CartLineUpdateInput, MutationCartNoteUpdateArgs, CartBuyerIdentityInput, MutationCartAttributesUpdateArgs
|
|
2
|
-
import { CartDiscountCodesUpdateMutationVariables } from './graphql/CartDiscountCodesUpdateMutation';
|
|
1
|
+
import { CartInput, CartLineInput, CartLineUpdateInput, MutationCartNoteUpdateArgs, CartBuyerIdentityInput, MutationCartAttributesUpdateArgs } from '../../storefront-api-types';
|
|
3
2
|
import { CartFragmentFragment } from './graphql/CartFragment';
|
|
4
|
-
|
|
5
|
-
export declare type Status = 'uninitialized' | 'creating' | 'updating' | 'idle';
|
|
3
|
+
export declare type Status = State['status'];
|
|
6
4
|
export interface Cart {
|
|
5
|
+
/** The cart's ID if it has been created through the Storefront API. */
|
|
7
6
|
id?: string;
|
|
7
|
+
/** The cart lines. */
|
|
8
8
|
lines: CartFragmentFragment['lines']['edges'][1]['node'][];
|
|
9
|
+
/** The checkout URL for the cart, if the cart has been created in the Storefront API. */
|
|
9
10
|
checkoutUrl?: string;
|
|
11
|
+
/** The cart's note. */
|
|
10
12
|
note?: string;
|
|
13
|
+
/** The cart's buyer identity. */
|
|
11
14
|
buyerIdentity?: CartFragmentFragment['buyerIdentity'];
|
|
15
|
+
/** The cart's attributes. */
|
|
12
16
|
attributes: CartFragmentFragment['attributes'];
|
|
17
|
+
/** The discount codes applied to the cart. */
|
|
13
18
|
discountCodes?: CartFragmentFragment['discountCodes'];
|
|
14
|
-
|
|
19
|
+
/** The cost for the cart, including the subtotal, total, taxes, and duties. */
|
|
20
|
+
cost?: CartFragmentFragment['cost'];
|
|
21
|
+
/** The total number of items in the cart, across all lines. If there are no lines, then the value is 0. */
|
|
22
|
+
totalQuantity: number;
|
|
15
23
|
}
|
|
16
24
|
export interface CartWithActions extends Cart {
|
|
25
|
+
/** The status of the cart. This returns 'uninitialized' when the cart is not yet created, `creating` when the cart is being created, `fetching` when an existing cart is being fetched, `updating` when the cart is updating, and `idle` when the cart isn't being created or updated. */
|
|
17
26
|
status: Status;
|
|
27
|
+
/** If an error occurred on the previous cart action, then `error` will exist and `cart` will be put back into the last valid status it was in. */
|
|
18
28
|
error?: string;
|
|
29
|
+
/** A callback that creates a cart. Expects the same input you would provide to the Storefront API's `cartCreate` mutation. */
|
|
19
30
|
cartCreate: (cart: CartInput) => void;
|
|
31
|
+
/** A callback that adds lines to the cart. Expects the same `lines` input that you would provide to the Storefront API's `cartLinesAdd` mutation. If a cart doesn't already exist, then it will create the cart for you. */
|
|
20
32
|
linesAdd: (lines: CartLineInput[]) => void;
|
|
33
|
+
/** A callback that removes lines from the cart. Expects the same `lines` input that you would provide to the Storefront API's `cartLinesRemove` mutation. Only lines that are included in the `lines` parameter will be in the cart afterwards. */
|
|
21
34
|
linesRemove: (lines: string[]) => void;
|
|
35
|
+
/** A callback that updates lines in the cart. Expects the same `lines` input that you would provide to the Storefront API's `cartLinesUpdate` mutation. If a line item is not included in the `lines` parameter, it will still exist in the cart and will not be changed. */
|
|
22
36
|
linesUpdate: (lines: CartLineUpdateInput[]) => void;
|
|
37
|
+
/** A callback that updates the note in the cart. Expects the same `note` input that you would provide to the Storefront API's `cartNoteUpdate` mutation. */
|
|
23
38
|
noteUpdate: (note: MutationCartNoteUpdateArgs['note']) => void;
|
|
39
|
+
/** A callback that updates the buyer identity in the cart. Expects the same `buyerIdentity` input that you would provide to the Storefront API's `cartBuyerIdentityUpdate` mutation. */
|
|
24
40
|
buyerIdentityUpdate: (buyerIdenity: CartBuyerIdentityInput) => void;
|
|
41
|
+
/** A callback that updates the cart attributes. Expects the same `attributes` input that you would provide to the Storefront API's `cartAttributesUpdate` mutation. */
|
|
25
42
|
cartAttributesUpdate: (attributes: MutationCartAttributesUpdateArgs['attributes']) => void;
|
|
43
|
+
/** A callback that updates the cart's discount codes. Expects the same `codes` input that you would provide to the Storefront API's `cartDiscountCodesUpdate` mutation. */
|
|
26
44
|
discountCodesUpdate: (discountCodes: string[]) => void;
|
|
45
|
+
/** The total number of items in the cart, across all lines. If there are no lines, then the value is 0. */
|
|
46
|
+
totalQuantity: number;
|
|
47
|
+
/** The fragment used to query the cart object for all queries and mutations. */
|
|
48
|
+
cartFragment: string;
|
|
27
49
|
}
|
|
28
|
-
export declare type State =
|
|
50
|
+
export declare type State =
|
|
51
|
+
/** A cart has not been created yet, or an error occurred when a cart was attempting to be created or fetched. */
|
|
52
|
+
{
|
|
29
53
|
status: 'uninitialized';
|
|
30
54
|
error?: string;
|
|
31
|
-
}
|
|
55
|
+
}
|
|
56
|
+
/** An existing cart is being fetched from the Storefront API. */
|
|
57
|
+
| {
|
|
58
|
+
status: 'fetching';
|
|
59
|
+
}
|
|
60
|
+
/** A new cart is being created through the Storefront API. */
|
|
61
|
+
| {
|
|
32
62
|
status: 'creating';
|
|
33
|
-
}
|
|
63
|
+
}
|
|
64
|
+
/** The cart is in the process of being updated. */
|
|
65
|
+
| {
|
|
34
66
|
status: 'updating';
|
|
35
67
|
cart: Cart;
|
|
36
68
|
lastValidCart: Cart;
|
|
37
|
-
}
|
|
69
|
+
}
|
|
70
|
+
/** The cart has been created and no action is currently happening. */
|
|
71
|
+
| {
|
|
38
72
|
status: 'idle';
|
|
39
73
|
cart: Cart;
|
|
40
74
|
error?: string;
|
|
41
75
|
};
|
|
42
|
-
export declare type
|
|
76
|
+
export declare type CartAction = {
|
|
77
|
+
type: 'cartFetch';
|
|
78
|
+
} | {
|
|
43
79
|
type: 'cartCreate';
|
|
44
|
-
cart: CartInput;
|
|
45
80
|
} | {
|
|
46
81
|
type: 'addLineItem';
|
|
47
|
-
lines: CartLineInput[];
|
|
48
82
|
} | {
|
|
49
83
|
type: 'removeLineItem';
|
|
50
84
|
lines: string[];
|
|
@@ -53,53 +87,18 @@ export declare type CartEvent = {
|
|
|
53
87
|
lines: CartLineUpdateInput[];
|
|
54
88
|
} | {
|
|
55
89
|
type: 'noteUpdate';
|
|
56
|
-
note: CartNoteUpdateMutationVariables['note'];
|
|
57
90
|
} | {
|
|
58
91
|
type: 'buyerIdentityUpdate';
|
|
59
|
-
buyerIdentity: CartBuyerIdentityInput;
|
|
60
92
|
} | {
|
|
61
93
|
type: 'cartAttributesUpdate';
|
|
62
|
-
attributes: AttributeInput[];
|
|
63
94
|
} | {
|
|
64
95
|
type: 'discountCodesUpdate';
|
|
65
|
-
discountCodes: CartDiscountCodesUpdateMutationVariables['discountCodes'];
|
|
66
96
|
} | {
|
|
67
97
|
type: 'resolve';
|
|
68
98
|
cart: Cart;
|
|
69
99
|
} | {
|
|
70
100
|
type: 'reject';
|
|
71
|
-
|
|
72
|
-
};
|
|
73
|
-
export declare type CartEffect = {
|
|
74
|
-
type: 'cartCreate';
|
|
75
|
-
cart: CartInput;
|
|
101
|
+
errors: any;
|
|
76
102
|
} | {
|
|
77
|
-
type: '
|
|
78
|
-
cartId: string;
|
|
79
|
-
lines: CartLineInput[];
|
|
80
|
-
} | {
|
|
81
|
-
type: 'removeLineItem';
|
|
82
|
-
cartId: string;
|
|
83
|
-
lines: string[];
|
|
84
|
-
} | {
|
|
85
|
-
type: 'updateLineItem';
|
|
86
|
-
cartId: string;
|
|
87
|
-
lines: CartLineUpdateInput[];
|
|
88
|
-
} | {
|
|
89
|
-
type: 'noteUpdate';
|
|
90
|
-
cartId: string;
|
|
91
|
-
note: CartNoteUpdateMutationVariables['note'];
|
|
92
|
-
} | {
|
|
93
|
-
type: 'buyerIdentityUpdate';
|
|
94
|
-
cartId: string;
|
|
95
|
-
buyerIdentity: CartBuyerIdentityInput;
|
|
96
|
-
} | {
|
|
97
|
-
type: 'cartAttributesUpdate';
|
|
98
|
-
cartId: string;
|
|
99
|
-
attributes: AttributeInput[];
|
|
100
|
-
} | {
|
|
101
|
-
type: 'discountCodesUpdate';
|
|
102
|
-
cartId: string;
|
|
103
|
-
discountCodes: CartDiscountCodesUpdateMutationVariables['discountCodes'];
|
|
103
|
+
type: 'resetCart';
|
|
104
104
|
};
|
|
105
|
-
export declare type StateWithEffect = [State, CartEffect] | [State];
|
|
@@ -1,2 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ShopPayButton } from '../ShopPayButton';
|
|
3
|
+
/**
|
|
4
|
+
* The `CartShopPayButton` component renders a `ShopPayButton` for the items in the cart.
|
|
5
|
+
* It must be a descendent of a `CartProvider` component.
|
|
6
|
+
*/
|
|
7
|
+
export declare function CartShopPayButton(props: Omit<React.ComponentProps<typeof ShopPayButton>, 'variantIds'>): JSX.Element;
|
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
import React, { useMemo } from 'react';
|
|
2
2
|
import { useCart } from '../CartProvider';
|
|
3
3
|
import { ShopPayButton } from '../ShopPayButton';
|
|
4
|
-
|
|
4
|
+
/**
|
|
5
|
+
* The `CartShopPayButton` component renders a `ShopPayButton` for the items in the cart.
|
|
6
|
+
* It must be a descendent of a `CartProvider` component.
|
|
7
|
+
*/
|
|
8
|
+
export function CartShopPayButton(props) {
|
|
5
9
|
const { lines } = useCart();
|
|
6
|
-
const
|
|
7
|
-
return lines.map((line) =>
|
|
10
|
+
const idsAndQuantities = useMemo(() => {
|
|
11
|
+
return lines.map((line) => ({
|
|
12
|
+
id: line.merchandise.id,
|
|
13
|
+
quantity: line.quantity,
|
|
14
|
+
}));
|
|
8
15
|
}, [lines]);
|
|
9
|
-
return React.createElement(ShopPayButton, {
|
|
16
|
+
return (React.createElement(ShopPayButton, { variantIdsAndQuantities: idsAndQuantities, ...props }));
|
|
10
17
|
}
|
|
@@ -1,14 +1,21 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
1
|
import { YouTube, Vimeo } from '../../utilities';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
import type { ExternalVideo as ExternalVideoType } from '../../storefront-api-types';
|
|
3
|
+
import type { PartialDeep } from 'type-fest';
|
|
4
|
+
interface ExternalVideoProps {
|
|
5
|
+
/**
|
|
6
|
+
* An object with fields that correspond to the Storefront API's [ExternalVideo object](https://shopify.dev/api/storefront/reference/products/externalvideo).
|
|
7
|
+
*/
|
|
8
|
+
data: PartialDeep<ExternalVideoType>;
|
|
9
|
+
/** An object containing the options available for either
|
|
10
|
+
* [YouTube](https://developers.google.com/youtube/player_parameters#Parameters) or
|
|
11
|
+
* [Vimeo](https://vimeo.zendesk.com/hc/en-us/articles/360001494447-Using-Player-Parameters).
|
|
12
|
+
*/
|
|
7
13
|
options?: YouTube | Vimeo;
|
|
8
14
|
}
|
|
9
15
|
declare type PropsWeControl = 'src';
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
16
|
+
/**
|
|
17
|
+
* The `ExternalVideo` component renders an embedded video for the Storefront
|
|
18
|
+
* API's [ExternalVideo object](https://shopify.dev/api/storefront/reference/products/externalvideo).
|
|
19
|
+
*/
|
|
20
|
+
export declare function ExternalVideo(props: Omit<JSX.IntrinsicElements['iframe'], PropsWeControl> & ExternalVideoProps): JSX.Element;
|
|
14
21
|
export {};
|
|
@@ -1,9 +1,14 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import { useEmbeddedVideoUrl } from '../../utilities';
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* The `ExternalVideo` component renders an embedded video for the Storefront
|
|
5
|
+
* API's [ExternalVideo object](https://shopify.dev/api/storefront/reference/products/externalvideo).
|
|
6
|
+
*/
|
|
4
7
|
export function ExternalVideo(props) {
|
|
5
|
-
const {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
+
const { data, options, id = data.id, frameBorder = '0', allow = 'accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture', allowFullScreen = true, ...passthroughProps } = props;
|
|
9
|
+
if (!data.embedUrl) {
|
|
10
|
+
throw new Error(`<ExternalVideo/> requires the 'embedUrl' property`);
|
|
11
|
+
}
|
|
12
|
+
const url = useEmbeddedVideoUrl(data.embedUrl, options);
|
|
13
|
+
return (React.createElement("iframe", { ...passthroughProps, id: id ?? data.embedUrl, frameBorder: frameBorder, allow: allow, allowFullScreen: allowFullScreen, src: url }));
|
|
8
14
|
}
|
|
9
|
-
ExternalVideo.Fragment = ExternalVideoFragment;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { ExternalVideo
|
|
1
|
+
export { ExternalVideo } from './ExternalVideo';
|
|
@@ -1,14 +1,105 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
2
|
+
import type { Image as ImageType } from '../../storefront-api-types';
|
|
3
|
+
import type { PartialDeep, Simplify, SetRequired } from 'type-fest';
|
|
4
|
+
declare type HtmlImageProps = React.ImgHTMLAttributes<HTMLImageElement>;
|
|
5
|
+
declare type ImageProps<GenericLoaderOpts> = ShopifyImageProps | ExternalImageProps<GenericLoaderOpts>;
|
|
6
|
+
/**
|
|
7
|
+
* The `Image` component renders an image for the Storefront API's
|
|
8
|
+
* [Image object](https://shopify.dev/api/storefront/reference/common-objects/image) by using the `data` prop, or a custom location by using the `src` prop. You can [customize this component](https://shopify.dev/api/hydrogen/components#customizing-hydrogen-components) using passthrough props.
|
|
9
|
+
*
|
|
10
|
+
* An image's width and height are determined using the following priority list:
|
|
11
|
+
* 1. The width and height values for the `loaderOptions` prop
|
|
12
|
+
* 2. The width and height values for bare props
|
|
13
|
+
* 3. The width and height values for the `data` prop
|
|
14
|
+
*
|
|
15
|
+
* If only one of `width` or `height` are defined, then the other will attempt to be calculated based on the image's aspect ratio,
|
|
16
|
+
* provided that both `data.width` and `data.height` are available. If `data.width` and `data.height` aren't available, then the aspect ratio cannot be determined and the missing
|
|
17
|
+
* value will remain as `null`
|
|
18
|
+
*/
|
|
19
|
+
export declare function Image<GenericLoaderOpts>(props: ImageProps<GenericLoaderOpts>): JSX.Element;
|
|
20
|
+
export declare type ShopifyLoaderOptions = {
|
|
21
|
+
crop?: 'top' | 'bottom' | 'left' | 'right' | 'center';
|
|
22
|
+
scale?: 2 | 3;
|
|
23
|
+
width?: HtmlImageProps['width'] | ImageType['width'];
|
|
24
|
+
height?: HtmlImageProps['height'] | ImageType['height'];
|
|
25
|
+
};
|
|
26
|
+
export declare type ShopifyLoaderParams = Simplify<ShopifyLoaderOptions & {
|
|
27
|
+
src: ImageType['url'];
|
|
28
|
+
}>;
|
|
29
|
+
export declare type ShopifyImageProps = Omit<HtmlImageProps, 'src'> & {
|
|
30
|
+
/** An object with fields that correspond to the Storefront API's
|
|
31
|
+
* [Image object](https://shopify.dev/api/storefront/reference/common-objects/image).
|
|
32
|
+
* The `data` prop is required if `src` isn't used, but both props shouldn't be used
|
|
33
|
+
* at the same time. If both `src` and `data` are passed, then `data` takes priority.
|
|
34
|
+
*/
|
|
35
|
+
data: SetRequired<PartialDeep<ImageType>, 'url'>;
|
|
36
|
+
/** A custom function that generates the image URL. Parameters passed in
|
|
37
|
+
* are either `ShopifyLoaderParams` if using the `data` prop, or the
|
|
38
|
+
* `LoaderOptions` object that you pass to `loaderOptions`.
|
|
39
|
+
*/
|
|
40
|
+
loader?: (params: ShopifyLoaderParams) => string;
|
|
41
|
+
/** An object of `loader` function options. For example, if the `loader` function
|
|
42
|
+
* requires a `scale` option, then the value can be a property of the
|
|
43
|
+
* `loaderOptions` object (for example, `{scale: 2}`). When the `data` prop
|
|
44
|
+
* is used, the object shape will be `ShopifyLoaderOptions`. When the `src`
|
|
45
|
+
* prop is used, the data shape is whatever you define it to be, and this shape
|
|
46
|
+
* will be passed to `loader`.
|
|
47
|
+
*/
|
|
48
|
+
loaderOptions?: ShopifyLoaderOptions;
|
|
49
|
+
/**
|
|
50
|
+
* 'src' shouldn't be passed when 'data' is used.
|
|
51
|
+
*/
|
|
52
|
+
src?: never;
|
|
53
|
+
/**
|
|
54
|
+
* An array of pixel widths to overwrite the default generated srcset. For example, `[300, 600, 800]`.
|
|
55
|
+
*/
|
|
56
|
+
widths?: (HtmlImageProps['width'] | ImageType['width'])[];
|
|
57
|
+
};
|
|
58
|
+
declare type LoaderProps<GenericLoaderOpts> = {
|
|
59
|
+
/** A URL string. This string can be an absolute path or a relative path depending
|
|
60
|
+
* on the `loader`. The `src` prop is required if `data` isn't used, but both
|
|
61
|
+
* props shouldn't be used at the same time. If both `src` and `data` are passed,
|
|
62
|
+
* then `data` takes priority.
|
|
63
|
+
*/
|
|
64
|
+
src: HtmlImageProps['src'];
|
|
65
|
+
/** The integer or string value for the width of the image. This is a required prop
|
|
66
|
+
* when `src` is present.
|
|
67
|
+
*/
|
|
68
|
+
width: HtmlImageProps['width'];
|
|
69
|
+
/** The integer or string value for the height of the image. This is a required prop
|
|
70
|
+
* when `src` is present.
|
|
71
|
+
*/
|
|
72
|
+
height: HtmlImageProps['height'];
|
|
73
|
+
/** An object of `loader` function options. For example, if the `loader` function
|
|
74
|
+
* requires a `scale` option, then the value can be a property of the
|
|
75
|
+
* `loaderOptions` object (for example, `{scale: 2}`). When the `data` prop
|
|
76
|
+
* is used, the object shape will be `ShopifyLoaderOptions`. When the `src`
|
|
77
|
+
* prop is used, the data shape is whatever you define it to be, and this shape
|
|
78
|
+
* will be passed to `loader`.
|
|
79
|
+
*/
|
|
80
|
+
loaderOptions?: GenericLoaderOpts;
|
|
81
|
+
};
|
|
82
|
+
declare type ExternalImageProps<GenericLoaderOpts> = SetRequired<HtmlImageProps, 'src' | 'width' | 'height' | 'alt'> & {
|
|
83
|
+
/** A custom function that generates the image URL. Parameters passed in
|
|
84
|
+
* are either `ShopifyLoaderParams` if using the `data` prop, or the
|
|
85
|
+
* `LoaderOptions` object that you pass to `loaderOptions`.
|
|
86
|
+
*/
|
|
87
|
+
loader?: (params: LoaderProps<GenericLoaderOpts>) => string;
|
|
88
|
+
/** An object of `loader` function options. For example, if the `loader` function
|
|
89
|
+
* requires a `scale` option, then the value can be a property of the
|
|
90
|
+
* `loaderOptions` object (for example, `{scale: 2}`). When the `data` prop
|
|
91
|
+
* is used, the object shape will be `ShopifyLoaderOptions`. When the `src`
|
|
92
|
+
* prop is used, the data shape is whatever you define it to be, and this shape
|
|
93
|
+
* will be passed to `loader`.
|
|
94
|
+
*/
|
|
95
|
+
loaderOptions?: GenericLoaderOpts;
|
|
96
|
+
/**
|
|
97
|
+
* 'data' shouldn't be passed when 'src' is used.
|
|
98
|
+
*/
|
|
99
|
+
data?: never;
|
|
100
|
+
/**
|
|
101
|
+
* An array of pixel widths to generate a srcset. For example, `[300, 600, 800]`.
|
|
102
|
+
*/
|
|
103
|
+
widths?: HtmlImageProps['width'][];
|
|
104
|
+
};
|
|
14
105
|
export {};
|
|
@@ -1,10 +1,136 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
|
|
2
|
+
import { getShopifyImageDimensions, shopifyImageLoader, addImageSizeParametersToUrl, } from '../../utilities';
|
|
3
|
+
/**
|
|
4
|
+
* The `Image` component renders an image for the Storefront API's
|
|
5
|
+
* [Image object](https://shopify.dev/api/storefront/reference/common-objects/image) by using the `data` prop, or a custom location by using the `src` prop. You can [customize this component](https://shopify.dev/api/hydrogen/components#customizing-hydrogen-components) using passthrough props.
|
|
6
|
+
*
|
|
7
|
+
* An image's width and height are determined using the following priority list:
|
|
8
|
+
* 1. The width and height values for the `loaderOptions` prop
|
|
9
|
+
* 2. The width and height values for bare props
|
|
10
|
+
* 3. The width and height values for the `data` prop
|
|
11
|
+
*
|
|
12
|
+
* If only one of `width` or `height` are defined, then the other will attempt to be calculated based on the image's aspect ratio,
|
|
13
|
+
* provided that both `data.width` and `data.height` are available. If `data.width` and `data.height` aren't available, then the aspect ratio cannot be determined and the missing
|
|
14
|
+
* value will remain as `null`
|
|
15
|
+
*/
|
|
4
16
|
export function Image(props) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
17
|
+
if (!props.data && !props.src) {
|
|
18
|
+
throw new Error(`<Image/>: requires either a 'data' or 'src' prop.`);
|
|
19
|
+
}
|
|
20
|
+
if (__HYDROGEN_DEV__ && props.data && props.src) {
|
|
21
|
+
console.warn(`<Image/>: using both 'data' and 'src' props is not supported; using the 'data' prop by default`);
|
|
22
|
+
}
|
|
23
|
+
if (props.data) {
|
|
24
|
+
return React.createElement(ShopifyImage, { ...props });
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
return React.createElement(ExternalImage, { ...props });
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
function ShopifyImage({ data, width, height, loading, loader = shopifyImageLoader, loaderOptions, widths, ...rest }) {
|
|
31
|
+
if (!data.url) {
|
|
32
|
+
throw new Error(`<Image/>: the 'data' prop requires the 'url' property`);
|
|
33
|
+
}
|
|
34
|
+
if (__HYDROGEN_DEV__ && !data.altText && !rest.alt) {
|
|
35
|
+
console.warn(`<Image/>: the 'data' prop should have the 'altText' property, or the 'alt' prop, and one of them should not be empty. ${`Image: ${data.id ?? data.url}`}`);
|
|
36
|
+
}
|
|
37
|
+
const { width: finalWidth, height: finalHeight } = getShopifyImageDimensions({
|
|
38
|
+
data,
|
|
39
|
+
loaderOptions,
|
|
40
|
+
elementProps: {
|
|
41
|
+
width,
|
|
42
|
+
height,
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
if (__HYDROGEN_DEV__ && (!finalWidth || !finalHeight)) {
|
|
46
|
+
console.warn(`<Image/>: the 'data' prop requires either 'width' or 'data.width', and 'height' or 'data.height' properties. ${`Image: ${data.id ?? data.url}`}`);
|
|
47
|
+
}
|
|
48
|
+
let finalSrc = data.url;
|
|
49
|
+
if (loader) {
|
|
50
|
+
finalSrc = loader({
|
|
51
|
+
...loaderOptions,
|
|
52
|
+
src: data.url,
|
|
53
|
+
width: finalWidth,
|
|
54
|
+
height: finalHeight,
|
|
55
|
+
});
|
|
56
|
+
if (typeof finalSrc !== 'string' || !finalSrc) {
|
|
57
|
+
throw new Error(`<Image/>: 'loader' did not return a valid string. ${`Image: ${data.id ?? data.url}`}`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
// determining what the intended width of the image is. For example, if the width is specified and lower than the image width, then that is the maximum image width
|
|
61
|
+
// to prevent generating a srcset with widths bigger than needed or to generate images that would distort because of being larger than original
|
|
62
|
+
const maxWidth = width && finalWidth && width < finalWidth ? width : finalWidth;
|
|
63
|
+
const finalSrcset = rest.srcSet ??
|
|
64
|
+
internalImageSrcSet({
|
|
65
|
+
...loaderOptions,
|
|
66
|
+
widths,
|
|
67
|
+
src: data.url,
|
|
68
|
+
width: maxWidth,
|
|
69
|
+
loader,
|
|
70
|
+
});
|
|
71
|
+
/* eslint-disable hydrogen/prefer-image-component */
|
|
72
|
+
return (React.createElement("img", { id: data.id ?? '', alt: data.altText ?? rest.alt ?? '', loading: loading ?? 'lazy', ...rest, src: finalSrc, width: finalWidth ?? undefined, height: finalHeight ?? undefined, srcSet: finalSrcset }));
|
|
73
|
+
/* eslint-enable hydrogen/prefer-image-component */
|
|
74
|
+
}
|
|
75
|
+
function ExternalImage({ src, width, height, alt, loader, loaderOptions, widths, loading, ...rest }) {
|
|
76
|
+
if (!width || !height) {
|
|
77
|
+
throw new Error(`<Image/>: when 'src' is provided, 'width' and 'height' are required and need to be valid values (i.e. greater than zero). Provided values: 'src': ${src}, 'width': ${width}, 'height': ${height}`);
|
|
78
|
+
}
|
|
79
|
+
if (__HYDROGEN_DEV__ && !alt) {
|
|
80
|
+
console.warn(`<Image/>: when 'src' is provided, 'alt' should also be provided. ${`Image: ${src}`}`);
|
|
81
|
+
}
|
|
82
|
+
if (widths &&
|
|
83
|
+
Array.isArray(widths) &&
|
|
84
|
+
widths.some((size) => isNaN(size)))
|
|
85
|
+
throw new Error(`<Image/>: the 'widths' property must be an array of numbers`);
|
|
86
|
+
let finalSrc = src;
|
|
87
|
+
if (loader) {
|
|
88
|
+
finalSrc = loader({ src, width, height, ...loaderOptions });
|
|
89
|
+
if (typeof finalSrc !== 'string' || !finalSrc) {
|
|
90
|
+
throw new Error(`<Image/>: 'loader' did not return a valid string`);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
let finalSrcset = rest.srcSet ?? undefined;
|
|
94
|
+
if (!finalSrcset && loader && widths) {
|
|
95
|
+
// Height is a requirement in the LoaderProps, so to keep the aspect ratio, we must determine the height based on the default values
|
|
96
|
+
const heightToWidthRatio = parseInt(height.toString()) / parseInt(width.toString());
|
|
97
|
+
finalSrcset = widths
|
|
98
|
+
?.map((width) => parseInt(width, 10))
|
|
99
|
+
?.map((width) => `${loader({
|
|
100
|
+
...loaderOptions,
|
|
101
|
+
src,
|
|
102
|
+
width,
|
|
103
|
+
height: Math.floor(width * heightToWidthRatio),
|
|
104
|
+
})} ${width}w`)
|
|
105
|
+
.join(', ');
|
|
106
|
+
}
|
|
107
|
+
/* eslint-disable hydrogen/prefer-image-component */
|
|
108
|
+
return (React.createElement("img", { ...rest, src: finalSrc,
|
|
109
|
+
// @ts-expect-error TS doesn't understand that it could exist
|
|
110
|
+
width: loaderOptions?.width ?? width,
|
|
111
|
+
// @ts-expect-error TS doesn't understand that it could exist
|
|
112
|
+
height: loaderOptions?.height ?? height, alt: alt ?? '', loading: loading ?? 'lazy', srcSet: finalSrcset }));
|
|
113
|
+
/* eslint-enable hydrogen/prefer-image-component */
|
|
114
|
+
}
|
|
115
|
+
// based on the default width sizes used by the Shopify liquid HTML tag img_tag plus a 2560 width to account for 2k resolutions
|
|
116
|
+
// reference: https://shopify.dev/api/liquid/filters/html-filters#image_tag
|
|
117
|
+
const IMG_SRC_SET_SIZES = [352, 832, 1200, 1920, 2560];
|
|
118
|
+
function internalImageSrcSet({ src, width, crop, scale, widths, loader, }) {
|
|
119
|
+
const hasCustomWidths = widths && Array.isArray(widths);
|
|
120
|
+
if (hasCustomWidths && widths.some((size) => isNaN(size)))
|
|
121
|
+
throw new Error(`<Image/>: the 'widths' must be an array of numbers`);
|
|
122
|
+
let setSizes = hasCustomWidths ? widths : IMG_SRC_SET_SIZES;
|
|
123
|
+
if (!hasCustomWidths &&
|
|
124
|
+
width &&
|
|
125
|
+
width < IMG_SRC_SET_SIZES[IMG_SRC_SET_SIZES.length - 1])
|
|
126
|
+
setSizes = IMG_SRC_SET_SIZES.filter((size) => size <= width);
|
|
127
|
+
const srcGenerator = loader ? loader : addImageSizeParametersToUrl;
|
|
128
|
+
return setSizes
|
|
129
|
+
.map((size) => `${srcGenerator({
|
|
130
|
+
src,
|
|
131
|
+
width: size,
|
|
132
|
+
crop,
|
|
133
|
+
scale,
|
|
134
|
+
})} ${size}w`)
|
|
135
|
+
.join(', ');
|
|
9
136
|
}
|
|
10
|
-
Image.Fragment = ImageFragment;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export { Image
|
|
1
|
+
export { Image } from './Image';
|
|
2
|
+
export type { ShopifyLoaderParams, ShopifyLoaderOptions, ShopifyImageProps, } from './Image';
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface LinkProps extends Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'href'> {
|
|
3
|
+
/** The destination URL that the link points to. This is the `href` attribute of the underlying `<a>` element. */
|
|
4
|
+
to: string;
|
|
5
|
+
/** Whether to update the state object or URL of the current history entry. Refer to the [history.replaceState documentation](https://developer.mozilla.org/en-US/docs/Web/API/History/replaceState). */
|
|
6
|
+
replace?: boolean;
|
|
7
|
+
/** The custom client state with the navigation. */
|
|
8
|
+
clientState?: any;
|
|
9
|
+
/** Whether to reload the whole document on navigation. */
|
|
10
|
+
reloadDocument?: boolean;
|
|
11
|
+
/** Whether to prefetch the link source when the user signals intent. Defaults to `true`. For more information, refer to [Prefetching a link source](https://shopify.dev/custom-storefronts/hydrogen/framework/routes#prefetching-a-link-source). */
|
|
12
|
+
prefetch?: boolean;
|
|
13
|
+
/** Whether to emulate natural browser behavior and restore scroll position on navigation. Defaults to `true`. */
|
|
14
|
+
scroll?: boolean;
|
|
15
|
+
/** Override the `basePath` inherited from the Route */
|
|
16
|
+
basePath?: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* The `Link` component is used to navigate between routes. Because it renders an underlying `<a>` element, all
|
|
20
|
+
* properties available to the `<a>` element are also available to the `Link` component.
|
|
21
|
+
* For more information, refer to the [`<a>` element documentation](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attributes).
|
|
22
|
+
*/
|
|
23
|
+
export declare const Link: React.ForwardRefExoticComponent<LinkProps & React.RefAttributes<HTMLAnchorElement>>;
|
|
24
|
+
/**
|
|
25
|
+
* Credit: Remix's <Link> component.
|
|
26
|
+
*/
|
|
27
|
+
export declare function composeEventHandlers<EventType extends React.SyntheticEvent | Event>(theirHandler: ((event: EventType) => any) | undefined, ourHandler: (event: EventType) => any): (event: EventType) => any;
|