@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
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ShopifyProviderProps } from './types';
|
|
2
|
+
export declare const SHOPIFY_PROVIDER_CONTEXT_KEY: unique symbol;
|
|
3
|
+
/**
|
|
4
|
+
* The `ShopifyProvider` component wraps your entire app and provides support for hooks.
|
|
5
|
+
* You should place it in your app's entry point component. For example, `<App>`.
|
|
6
|
+
* If you're using the Hydrogen framework, you don't need to add this provider
|
|
7
|
+
* because it's automatically wrapped around your app in `renderHydrogen()`.
|
|
8
|
+
*/
|
|
9
|
+
export declare function ShopifyProvider({
|
|
10
|
+
/**
|
|
11
|
+
* Shopify connection information. Defaults to
|
|
12
|
+
* [the `shopify` property in the `hydrogen.config.js` file](https://shopify.dev/custom-storefronts/hydrogen/framework/hydrogen-config).
|
|
13
|
+
*/
|
|
14
|
+
shopifyConfig,
|
|
15
|
+
/** Any `ReactNode` elements. */
|
|
16
|
+
children, }: ShopifyProviderProps): JSX.Element;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import React, { useMemo } from 'react';
|
|
2
|
+
import { ShopifyProviderClient } from './ShopifyProvider.client';
|
|
3
|
+
import { DEFAULT_COUNTRY, DEFAULT_LANGUAGE } from '../constants';
|
|
4
|
+
import { useRequestCacheData, useServerRequest } from '../ServerRequestProvider';
|
|
5
|
+
import { getOxygenVariable } from '../../utilities/storefrontApi';
|
|
6
|
+
import { SHOPIFY_STOREFRONT_ID_VARIABLE } from '../../constants';
|
|
7
|
+
function makeShopifyContext(shopifyConfig) {
|
|
8
|
+
const countryCode = shopifyConfig.defaultCountryCode ?? DEFAULT_COUNTRY;
|
|
9
|
+
const languageCode = shopifyConfig.defaultLanguageCode ?? DEFAULT_LANGUAGE;
|
|
10
|
+
const storefrontId = getOxygenVariable(SHOPIFY_STOREFRONT_ID_VARIABLE);
|
|
11
|
+
return {
|
|
12
|
+
defaultCountryCode: countryCode.toUpperCase(),
|
|
13
|
+
defaultLanguageCode: languageCode.toUpperCase(),
|
|
14
|
+
storeDomain: shopifyConfig?.storeDomain?.replace(/^https?:\/\//, ''),
|
|
15
|
+
storefrontToken: shopifyConfig.storefrontToken,
|
|
16
|
+
storefrontApiVersion: shopifyConfig.storefrontApiVersion,
|
|
17
|
+
multipassSecret: shopifyConfig.multipassSecret,
|
|
18
|
+
storefrontId,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export const SHOPIFY_PROVIDER_CONTEXT_KEY = Symbol.for('SHOPIFY_PROVIDER_RSC');
|
|
22
|
+
/**
|
|
23
|
+
* The `ShopifyProvider` component wraps your entire app and provides support for hooks.
|
|
24
|
+
* You should place it in your app's entry point component. For example, `<App>`.
|
|
25
|
+
* If you're using the Hydrogen framework, you don't need to add this provider
|
|
26
|
+
* because it's automatically wrapped around your app in `renderHydrogen()`.
|
|
27
|
+
*/
|
|
28
|
+
export function ShopifyProvider({
|
|
29
|
+
/**
|
|
30
|
+
* Shopify connection information. Defaults to
|
|
31
|
+
* [the `shopify` property in the `hydrogen.config.js` file](https://shopify.dev/custom-storefronts/hydrogen/framework/hydrogen-config).
|
|
32
|
+
*/
|
|
33
|
+
shopifyConfig,
|
|
34
|
+
/** Any `ReactNode` elements. */
|
|
35
|
+
children, }) {
|
|
36
|
+
const request = useServerRequest();
|
|
37
|
+
if (!shopifyConfig) {
|
|
38
|
+
shopifyConfig = request.ctx.hydrogenConfig?.shopify;
|
|
39
|
+
if (!shopifyConfig) {
|
|
40
|
+
throw new Error('The `shopifyConfig` prop should be passed to `ShopifyProvider`');
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
let actualShopifyConfig;
|
|
44
|
+
if (typeof shopifyConfig === 'function') {
|
|
45
|
+
const result = useRequestCacheData(['hydrogen-shopify-config'], () => shopifyConfig(request));
|
|
46
|
+
if (result.error) {
|
|
47
|
+
if (result.error instanceof Error) {
|
|
48
|
+
throw result.error;
|
|
49
|
+
}
|
|
50
|
+
throw new Error(`Failed to load Shopify config: ${result.error.statusText}`);
|
|
51
|
+
}
|
|
52
|
+
actualShopifyConfig = result.data;
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
actualShopifyConfig = shopifyConfig;
|
|
56
|
+
}
|
|
57
|
+
const shopifyProviderValue = useMemo(() => makeShopifyContext(actualShopifyConfig), [actualShopifyConfig]);
|
|
58
|
+
request.ctx.shopifyConfig = shopifyProviderValue;
|
|
59
|
+
return (React.createElement(ShopifyProviderClient, { shopifyConfig: shopifyProviderValue }, children));
|
|
60
|
+
}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export { useShop } from './hooks';
|
|
1
|
+
export { ShopifyContext } from './ShopifyProvider.client';
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export { useShop } from './hooks';
|
|
1
|
+
export { ShopifyContext } from './ShopifyProvider.client';
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import type { CountryCode, LanguageCode } from '../../storefront-api-types';
|
|
2
|
+
import type { ReactNode } from 'react';
|
|
3
|
+
import type { ShopifyConfigFetcher, ShopifyConfig } from '../../types';
|
|
4
|
+
export interface ShopifyContextValue extends Omit<ShopifyConfig, 'defaultLanguageCode' | 'defaultCountryCode'> {
|
|
5
|
+
defaultLanguageCode: `${LanguageCode}`;
|
|
6
|
+
defaultCountryCode: `${CountryCode}`;
|
|
7
|
+
storefrontId: string | null;
|
|
8
|
+
}
|
|
4
9
|
export declare type ShopifyProviderProps = {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
10
|
+
/** Shopify connection information. Defaults to the `shopify` property in the `hydrogen.config.js` file. */
|
|
11
|
+
shopifyConfig?: ShopifyConfig | ShopifyConfigFetcher;
|
|
12
|
+
/** Any `ReactNode` elements. */
|
|
13
|
+
children?: ReactNode;
|
|
8
14
|
};
|
|
9
|
-
export interface ReactQueryHydrationContext {
|
|
10
|
-
queryClient?: QueryClient;
|
|
11
|
-
dehydratedState?: any;
|
|
12
|
-
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { FetchResponse } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Fetch a URL for use in a client component Suspense boundary.
|
|
4
|
+
*/
|
|
5
|
+
export declare function fetchSync(url: string, options?: RequestInit): FetchResponse;
|
|
6
|
+
/**
|
|
7
|
+
* Preload a URL for use in a client component Suspense boundary.
|
|
8
|
+
* Useful for placing higher in the tree to avoid waterfalls.
|
|
9
|
+
*/
|
|
10
|
+
export declare function preload(url: string, options?: RequestInit): void;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { parseJSON } from '../../../utilities/parse';
|
|
2
|
+
import { suspendFunction, preloadFunction } from '../../../utilities/suspense';
|
|
3
|
+
/**
|
|
4
|
+
* Fetch a URL for use in a client component Suspense boundary.
|
|
5
|
+
*/
|
|
6
|
+
export function fetchSync(url, options) {
|
|
7
|
+
const [text, response] = suspendFunction([url, options], async () => {
|
|
8
|
+
const response = await globalThis.fetch(url, options);
|
|
9
|
+
const text = await response.text();
|
|
10
|
+
return [text, response];
|
|
11
|
+
});
|
|
12
|
+
return {
|
|
13
|
+
response,
|
|
14
|
+
json: () => parseJSON(text),
|
|
15
|
+
text: () => text,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Preload a URL for use in a client component Suspense boundary.
|
|
20
|
+
* Useful for placing higher in the tree to avoid waterfalls.
|
|
21
|
+
*/
|
|
22
|
+
export function preload(url, options) {
|
|
23
|
+
preloadFunction([url, options], async () => {
|
|
24
|
+
const response = await globalThis.fetch(url, options);
|
|
25
|
+
const text = await response.text();
|
|
26
|
+
return [text, response];
|
|
27
|
+
});
|
|
28
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type HydrogenUseQueryOptions } from '../../useQuery/hooks';
|
|
2
|
+
import type { FetchResponse } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* The `fetchSync` hook makes API requests and is the recommended way to make simple fetch calls on the server and the client.
|
|
5
|
+
* It's designed similar to the [Web API's `fetch`](https://developer.mozilla.org/en-US/docs/Web/API/fetch), only in a way
|
|
6
|
+
* that supports [Suspense](https://reactjs.org/docs/concurrent-mode-suspense.html).
|
|
7
|
+
*/
|
|
8
|
+
export declare function fetchSync(url: string, options?: Omit<RequestInit, 'cache'> & HydrogenUseQueryOptions): FetchResponse;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { parseJSON } from '../../../utilities/parse';
|
|
2
|
+
import { useQuery } from '../../useQuery/hooks';
|
|
3
|
+
/**
|
|
4
|
+
* The `fetchSync` hook makes API requests and is the recommended way to make simple fetch calls on the server and the client.
|
|
5
|
+
* It's designed similar to the [Web API's `fetch`](https://developer.mozilla.org/en-US/docs/Web/API/fetch), only in a way
|
|
6
|
+
* that supports [Suspense](https://reactjs.org/docs/concurrent-mode-suspense.html).
|
|
7
|
+
*/
|
|
8
|
+
export function fetchSync(url, options) {
|
|
9
|
+
const { cache, preload, shouldCacheResponse, ...requestInit } = options ?? {};
|
|
10
|
+
const { data: useQueryResponse, error } = useQuery(// eslint-disable-line react-hooks/rules-of-hooks
|
|
11
|
+
[url, requestInit], async () => {
|
|
12
|
+
const response = await globalThis.fetch(url, requestInit);
|
|
13
|
+
const text = await response.text();
|
|
14
|
+
return [text, response];
|
|
15
|
+
}, {
|
|
16
|
+
cache,
|
|
17
|
+
preload,
|
|
18
|
+
shouldCacheResponse,
|
|
19
|
+
});
|
|
20
|
+
if (error) {
|
|
21
|
+
throw error;
|
|
22
|
+
}
|
|
23
|
+
const [data, response] = useQueryResponse;
|
|
24
|
+
return {
|
|
25
|
+
response,
|
|
26
|
+
json: () => parseJSON(data),
|
|
27
|
+
text: () => data,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
File without changes
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export {
|
|
3
|
-
export {
|
|
4
|
-
export { ClientMarker } from './ClientMarker';
|
|
1
|
+
export { ServerPropsProvider, ServerPropsContext, type ServerProps, type ServerPropsContextValue, } from './ServerPropsProvider';
|
|
2
|
+
export { useShop } from './useShop';
|
|
3
|
+
export { useUrl } from './useUrl';
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export {
|
|
3
|
-
export {
|
|
4
|
-
export { ClientMarker } from './ClientMarker';
|
|
1
|
+
export { ServerPropsProvider, ServerPropsContext, } from './ServerPropsProvider';
|
|
2
|
+
export { useShop } from './useShop';
|
|
3
|
+
export { useUrl } from './useUrl';
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Logger } from '../../utilities/log';
|
|
2
|
+
import type { HydrogenResponse } from '../HydrogenResponse/HydrogenResponse.server';
|
|
3
|
+
import type { HydrogenRequest } from '../HydrogenRequest/HydrogenRequest.server';
|
|
4
|
+
export declare type SessionSyncApi = {
|
|
5
|
+
get: () => Record<string, string>;
|
|
6
|
+
};
|
|
7
|
+
export declare type SessionApi = {
|
|
8
|
+
get: () => Promise<Record<string, string>>;
|
|
9
|
+
set: (key: string, value: string) => Promise<void>;
|
|
10
|
+
destroy: () => Promise<void>;
|
|
11
|
+
};
|
|
12
|
+
export declare type SessionStorageAdapter = {
|
|
13
|
+
get: (request: Request) => Promise<Record<string, string>>;
|
|
14
|
+
set: (request: Request, value: Record<string, string>) => Promise<string>;
|
|
15
|
+
destroy: (request: Request) => Promise<string>;
|
|
16
|
+
};
|
|
17
|
+
export declare function getSyncSessionApi(request: HydrogenRequest, componentResponse: HydrogenResponse, log: Logger, session?: SessionStorageAdapter): {
|
|
18
|
+
get(): any;
|
|
19
|
+
};
|
|
20
|
+
export declare const emptySessionImplementation: (log: Logger) => {
|
|
21
|
+
get(): Promise<{}>;
|
|
22
|
+
set(key: string, value: string): Promise<void>;
|
|
23
|
+
destroy(): Promise<void>;
|
|
24
|
+
};
|
|
25
|
+
export declare const emptySyncSessionImplementation: (log: Logger) => {
|
|
26
|
+
get(): {};
|
|
27
|
+
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { wrapPromise } from '../../utilities/suspense';
|
|
2
|
+
export function getSyncSessionApi(request, componentResponse, log, session) {
|
|
3
|
+
const sessionPromises = {};
|
|
4
|
+
return session
|
|
5
|
+
? {
|
|
6
|
+
get() {
|
|
7
|
+
if (!sessionPromises.getPromise) {
|
|
8
|
+
sessionPromises.getPromise = wrapPromise(session.get(request));
|
|
9
|
+
}
|
|
10
|
+
return sessionPromises.getPromise.read();
|
|
11
|
+
},
|
|
12
|
+
}
|
|
13
|
+
: emptySyncSessionImplementation(log);
|
|
14
|
+
}
|
|
15
|
+
export const emptySessionImplementation = function (log) {
|
|
16
|
+
return {
|
|
17
|
+
async get() {
|
|
18
|
+
log.warn('No session adapter has been configured!');
|
|
19
|
+
return {};
|
|
20
|
+
},
|
|
21
|
+
async set(key, value) {
|
|
22
|
+
log.warn('No session adapter has been configured!');
|
|
23
|
+
},
|
|
24
|
+
async destroy() {
|
|
25
|
+
log.warn('No session adapter has been configured!');
|
|
26
|
+
return;
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
export const emptySyncSessionImplementation = function (log) {
|
|
31
|
+
return {
|
|
32
|
+
get() {
|
|
33
|
+
log.warn('No session adapter has been configured!');
|
|
34
|
+
return {};
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is used for compatibility between browser and server environments.
|
|
3
|
+
* The browser loads this file as is, without leaking server logic.
|
|
4
|
+
* In the server, this file is transformed by Vite to inject server logic.
|
|
5
|
+
* NOTE: Do not remove SSR-prefixed comments in this file.
|
|
6
|
+
*/
|
|
7
|
+
import type { HydrogenRequest } from './HydrogenRequest/HydrogenRequest.server';
|
|
8
|
+
export declare const META_ENV_SSR = false;
|
|
9
|
+
declare type ServerGetter<T> = (request: HydrogenRequest) => T;
|
|
10
|
+
/**
|
|
11
|
+
* Isomorphic hook to access context data. It gives access to the current request
|
|
12
|
+
* when running on the server, and returns the provided client fallback in the browser.
|
|
13
|
+
* This can be used in server components (RSC) as a Context/Provider replacement. In client
|
|
14
|
+
* components, it uses the server getter in SSR and the client fallback in the browser.
|
|
15
|
+
* @param serverGetter - A function that gets the current server request and returns any
|
|
16
|
+
* desired request property. It only runs in the server (both in RSC and SSR).
|
|
17
|
+
* @param clientFallback - An optional raw value or a React.Context to be consumed that will be
|
|
18
|
+
* returned if the current environment is not the server. Note that, if this is a React.Context,
|
|
19
|
+
* there must be a React.Provider parent in the app tree.
|
|
20
|
+
* @returns A value retrieved from the current server request or a fallback value in the client.
|
|
21
|
+
* The returned type depends on what the server getter returns.
|
|
22
|
+
* @example
|
|
23
|
+
* ```js
|
|
24
|
+
* import {MyClientContext} from './my-client-react-context-provider';
|
|
25
|
+
* useEnvContext(req => req.ctx.myServerContext, MyClientContext)
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export declare function useEnvContext<T>(serverGetter: ServerGetter<T>, clientFallback?: any): T;
|
|
29
|
+
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is used for compatibility between browser and server environments.
|
|
3
|
+
* The browser loads this file as is, without leaking server logic.
|
|
4
|
+
* In the server, this file is transformed by Vite to inject server logic.
|
|
5
|
+
* NOTE: Do not remove SSR-prefixed comments in this file.
|
|
6
|
+
*/
|
|
7
|
+
import { useContext } from 'react';
|
|
8
|
+
//@SSR import {useServerRequest} from './ServerRequestProvider';
|
|
9
|
+
// This is replaced by Vite to import.meta.env.SSR
|
|
10
|
+
export const META_ENV_SSR = false;
|
|
11
|
+
const reactContextType = Symbol.for('react.context');
|
|
12
|
+
/**
|
|
13
|
+
* Isomorphic hook to access context data. It gives access to the current request
|
|
14
|
+
* when running on the server, and returns the provided client fallback in the browser.
|
|
15
|
+
* This can be used in server components (RSC) as a Context/Provider replacement. In client
|
|
16
|
+
* components, it uses the server getter in SSR and the client fallback in the browser.
|
|
17
|
+
* @param serverGetter - A function that gets the current server request and returns any
|
|
18
|
+
* desired request property. It only runs in the server (both in RSC and SSR).
|
|
19
|
+
* @param clientFallback - An optional raw value or a React.Context to be consumed that will be
|
|
20
|
+
* returned if the current environment is not the server. Note that, if this is a React.Context,
|
|
21
|
+
* there must be a React.Provider parent in the app tree.
|
|
22
|
+
* @returns A value retrieved from the current server request or a fallback value in the client.
|
|
23
|
+
* The returned type depends on what the server getter returns.
|
|
24
|
+
* @example
|
|
25
|
+
* ```js
|
|
26
|
+
* import {MyClientContext} from './my-client-react-context-provider';
|
|
27
|
+
* useEnvContext(req => req.ctx.myServerContext, MyClientContext)
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export function useEnvContext(serverGetter, clientFallback) {
|
|
31
|
+
//@SSR if (META_ENV_SSR) return serverGetter(useServerRequest());
|
|
32
|
+
return clientFallback && clientFallback.$$typeof === reactContextType
|
|
33
|
+
? useContext(clientFallback) // eslint-disable-line react-hooks/rules-of-hooks
|
|
34
|
+
: clientFallback;
|
|
35
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
declare type NavigationOptions = {
|
|
2
|
+
/** Whether to update the state object or URL of the current history entry. Defaults to false. */
|
|
3
|
+
replace?: boolean;
|
|
4
|
+
/** Whether to reload the whole document on navigation. */
|
|
5
|
+
reloadDocument?: boolean;
|
|
6
|
+
/** The custom client state with the navigation. */
|
|
7
|
+
clientState?: any;
|
|
8
|
+
/** Whether to emulate natural browser behavior and restore scroll position on navigation. Defaults to true. */
|
|
9
|
+
scroll?: any;
|
|
10
|
+
basePath?: string;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* The useNavigate hook imperatively navigates between routes.
|
|
14
|
+
*/
|
|
15
|
+
export declare function useNavigate(): (path: string, options?: NavigationOptions) => void;
|
|
16
|
+
export declare function buildPath(basePath: string, path: string): string;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { useRouter } from '../Router/BrowserRouter.client';
|
|
2
|
+
import { useBasePath } from '../useRouteParams/RouteParamsProvider.client';
|
|
3
|
+
/**
|
|
4
|
+
* The useNavigate hook imperatively navigates between routes.
|
|
5
|
+
*/
|
|
6
|
+
export function useNavigate() {
|
|
7
|
+
const router = useRouter();
|
|
8
|
+
const routeBasePath = useBasePath();
|
|
9
|
+
return (path, options = { replace: false, reloadDocument: false }) => {
|
|
10
|
+
path = buildPath(options.basePath ?? routeBasePath, path);
|
|
11
|
+
const state = {
|
|
12
|
+
...options?.clientState,
|
|
13
|
+
scroll: options?.scroll ?? true,
|
|
14
|
+
};
|
|
15
|
+
// @todo wait for RSC and then change focus for a11y?
|
|
16
|
+
if (options?.replace) {
|
|
17
|
+
router.history.replace(path, state);
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
router.history.push(path, state);
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export function buildPath(basePath, path) {
|
|
25
|
+
if (path.startsWith('http') || path.startsWith('//'))
|
|
26
|
+
return path;
|
|
27
|
+
let builtPath = path;
|
|
28
|
+
if (basePath !== '/') {
|
|
29
|
+
const pathFirstChar = path.charAt(0);
|
|
30
|
+
const basePathLastChar = basePath.charAt(basePath.length - 1);
|
|
31
|
+
builtPath =
|
|
32
|
+
pathFirstChar === '/' && basePathLastChar === '/'
|
|
33
|
+
? basePath + path.substring(1)
|
|
34
|
+
: basePathLastChar !== '/' && pathFirstChar !== '/'
|
|
35
|
+
? basePath + '/' + path
|
|
36
|
+
: basePath + path;
|
|
37
|
+
}
|
|
38
|
+
return builtPath;
|
|
39
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { CachingStrategy, PreloadOptions, QueryKey } from '../../types';
|
|
2
|
+
export interface HydrogenUseQueryOptions {
|
|
3
|
+
/** The [caching strategy](https://shopify.dev/custom-storefronts/hydrogen/framework/cache#caching-strategies) to help you
|
|
4
|
+
* determine which cache control header to set.
|
|
5
|
+
*/
|
|
6
|
+
cache?: CachingStrategy;
|
|
7
|
+
/** Whether to [preload the query](https://shopify.dev/custom-storefronts/hydrogen/framework/preloaded-queries).
|
|
8
|
+
* Defaults to `false`. Specify `true` to preload the query for the URL or `'*'`
|
|
9
|
+
* to preload the query for all requests.
|
|
10
|
+
*/
|
|
11
|
+
preload?: PreloadOptions;
|
|
12
|
+
/** A function that inspects the response body to determine if it should be cached.
|
|
13
|
+
*/
|
|
14
|
+
shouldCacheResponse?: (body: any) => boolean;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* The `useQuery` hook executes an asynchronous operation like `fetch` in a way that
|
|
18
|
+
* supports [Suspense](https://reactjs.org/docs/concurrent-mode-suspense.html). You can use this
|
|
19
|
+
* hook to call any third-party APIs from a server component.
|
|
20
|
+
*
|
|
21
|
+
* \> Note:
|
|
22
|
+
* \> If you're making a simple fetch call on the server, then we recommend using the [`fetchSync`](https://shopify.dev/api/hydrogen/hooks/global/fetchsync) hook instead.
|
|
23
|
+
*/
|
|
24
|
+
export declare function useQuery<T>(
|
|
25
|
+
/** A string or array to uniquely identify the current query. */
|
|
26
|
+
key: QueryKey,
|
|
27
|
+
/** An asynchronous query function like `fetch` which returns data. */
|
|
28
|
+
queryFn: () => Promise<T>,
|
|
29
|
+
/** The options to manage the cache behavior of the sub-request. */
|
|
30
|
+
queryOptions?: HydrogenUseQueryOptions): {
|
|
31
|
+
data?: undefined;
|
|
32
|
+
error: Error | Response;
|
|
33
|
+
} | {
|
|
34
|
+
data: T;
|
|
35
|
+
error?: undefined;
|
|
36
|
+
};
|
|
37
|
+
export declare function shouldPreloadQuery(queryOptions?: HydrogenUseQueryOptions): boolean;
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { getLoggerWithContext, collectQueryCacheControlHeaders, collectQueryTimings, } from '../../utilities/log';
|
|
2
|
+
import { deleteItemFromCache, generateSubRequestCacheControlHeader, getItemFromCache, isStale, setItemInCache, } from '../Cache/cache-sub-request';
|
|
3
|
+
import { useRequestCacheData, useServerRequest } from '../ServerRequestProvider';
|
|
4
|
+
import { CacheShort, NO_STORE } from '../Cache/strategies';
|
|
5
|
+
/**
|
|
6
|
+
* The `useQuery` hook executes an asynchronous operation like `fetch` in a way that
|
|
7
|
+
* supports [Suspense](https://reactjs.org/docs/concurrent-mode-suspense.html). You can use this
|
|
8
|
+
* hook to call any third-party APIs from a server component.
|
|
9
|
+
*
|
|
10
|
+
* \> Note:
|
|
11
|
+
* \> If you're making a simple fetch call on the server, then we recommend using the [`fetchSync`](https://shopify.dev/api/hydrogen/hooks/global/fetchsync) hook instead.
|
|
12
|
+
*/
|
|
13
|
+
export function useQuery(
|
|
14
|
+
/** A string or array to uniquely identify the current query. */
|
|
15
|
+
key,
|
|
16
|
+
/** An asynchronous query function like `fetch` which returns data. */
|
|
17
|
+
queryFn,
|
|
18
|
+
/** The options to manage the cache behavior of the sub-request. */
|
|
19
|
+
queryOptions) {
|
|
20
|
+
const request = useServerRequest();
|
|
21
|
+
const withCacheIdKey = [
|
|
22
|
+
'__QUERY_CACHE_ID__',
|
|
23
|
+
...(typeof key === 'string' ? [key] : key),
|
|
24
|
+
];
|
|
25
|
+
const fetcher = cachedQueryFnBuilder(withCacheIdKey, queryFn, queryOptions);
|
|
26
|
+
collectQueryTimings(request, withCacheIdKey, 'requested');
|
|
27
|
+
if (shouldPreloadQuery(queryOptions)) {
|
|
28
|
+
request.savePreloadQuery({
|
|
29
|
+
preload: queryOptions?.preload,
|
|
30
|
+
key: withCacheIdKey,
|
|
31
|
+
fetcher,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
return useRequestCacheData(withCacheIdKey, fetcher);
|
|
35
|
+
}
|
|
36
|
+
export function shouldPreloadQuery(queryOptions) {
|
|
37
|
+
if (!queryOptions)
|
|
38
|
+
return true;
|
|
39
|
+
const hasCacheOverride = typeof queryOptions?.cache?.mode !== 'undefined';
|
|
40
|
+
const hasPreloadOverride = typeof queryOptions?.preload !== 'undefined';
|
|
41
|
+
const cacheValue = queryOptions?.cache?.mode;
|
|
42
|
+
const preloadValue = queryOptions?.preload;
|
|
43
|
+
// If preload is explicitly defined, then it takes precedence
|
|
44
|
+
if (hasPreloadOverride) {
|
|
45
|
+
return !!preloadValue;
|
|
46
|
+
}
|
|
47
|
+
return hasCacheOverride ? cacheValue !== NO_STORE : true;
|
|
48
|
+
}
|
|
49
|
+
function cachedQueryFnBuilder(key, generateNewOutput, queryOptions) {
|
|
50
|
+
const resolvedQueryOptions = {
|
|
51
|
+
...(queryOptions ?? {}),
|
|
52
|
+
};
|
|
53
|
+
const shouldCacheResponse = queryOptions?.shouldCacheResponse ?? (() => true);
|
|
54
|
+
/**
|
|
55
|
+
* Attempt to read the query from cache. If it doesn't exist or if it's stale, regenerate it.
|
|
56
|
+
*/
|
|
57
|
+
async function useCachedQueryFn(request) {
|
|
58
|
+
const log = getLoggerWithContext(request);
|
|
59
|
+
const cacheResponse = await getItemFromCache(key);
|
|
60
|
+
if (cacheResponse) {
|
|
61
|
+
const [output, response] = cacheResponse;
|
|
62
|
+
collectQueryCacheControlHeaders(request, key, response.headers.get('cache-control'));
|
|
63
|
+
/**
|
|
64
|
+
* Important: Do this async
|
|
65
|
+
*/
|
|
66
|
+
if (isStale(key, response)) {
|
|
67
|
+
const lockKey = ['lock', ...(typeof key === 'string' ? [key] : key)];
|
|
68
|
+
// Run revalidation asynchronously
|
|
69
|
+
const revalidatingPromise = getItemFromCache(lockKey).then(async (lockExists) => {
|
|
70
|
+
if (lockExists)
|
|
71
|
+
return;
|
|
72
|
+
await setItemInCache(lockKey, true, CacheShort({
|
|
73
|
+
maxAge: 10,
|
|
74
|
+
}));
|
|
75
|
+
try {
|
|
76
|
+
const output = await generateNewOutput();
|
|
77
|
+
if (shouldCacheResponse(output)) {
|
|
78
|
+
await setItemInCache(key, output, resolvedQueryOptions?.cache);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
catch (e) {
|
|
82
|
+
log.error(`Error generating async response: ${e.message}`);
|
|
83
|
+
}
|
|
84
|
+
finally {
|
|
85
|
+
await deleteItemFromCache(lockKey);
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
// Asynchronously wait for it in workers
|
|
89
|
+
request.ctx.runtime?.waitUntil?.(revalidatingPromise);
|
|
90
|
+
}
|
|
91
|
+
return output;
|
|
92
|
+
}
|
|
93
|
+
const newOutput = await generateNewOutput();
|
|
94
|
+
/**
|
|
95
|
+
* Important: Do this async
|
|
96
|
+
*/
|
|
97
|
+
if (shouldCacheResponse(newOutput)) {
|
|
98
|
+
const setItemInCachePromise = setItemInCache(key, newOutput, resolvedQueryOptions?.cache);
|
|
99
|
+
request.ctx.runtime?.waitUntil?.(setItemInCachePromise);
|
|
100
|
+
}
|
|
101
|
+
collectQueryCacheControlHeaders(request, key, generateSubRequestCacheControlHeader(resolvedQueryOptions?.cache));
|
|
102
|
+
return newOutput;
|
|
103
|
+
}
|
|
104
|
+
return useCachedQueryFn;
|
|
105
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { useQuery } from './hooks';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { useQuery } from './hooks';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
declare type ScopedContext = Record<string, any>;
|
|
2
|
+
/**
|
|
3
|
+
* Provides access to the current request context.
|
|
4
|
+
* @param scope - An optional string used to scope the request context. It is recommended to
|
|
5
|
+
* prevent modifying the properties added by other plugins.
|
|
6
|
+
* @returns A request-scoped object that can be modified to provide and consume information
|
|
7
|
+
* across different React components in the tree.
|
|
8
|
+
* @example
|
|
9
|
+
* ```js
|
|
10
|
+
* import {useRequestContext} from '@shopify/hydrogen';
|
|
11
|
+
* useRequestContext('my-plugin-name');
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
export declare function useRequestContext<T extends ScopedContext>(scope?: string): T;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { META_ENV_SSR, useEnvContext } from '../ssr-interop';
|
|
2
|
+
/**
|
|
3
|
+
* Provides access to the current request context.
|
|
4
|
+
* @param scope - An optional string used to scope the request context. It is recommended to
|
|
5
|
+
* prevent modifying the properties added by other plugins.
|
|
6
|
+
* @returns A request-scoped object that can be modified to provide and consume information
|
|
7
|
+
* across different React components in the tree.
|
|
8
|
+
* @example
|
|
9
|
+
* ```js
|
|
10
|
+
* import {useRequestContext} from '@shopify/hydrogen';
|
|
11
|
+
* useRequestContext('my-plugin-name');
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
export function useRequestContext(scope = 'default') {
|
|
15
|
+
if (__HYDROGEN_DEV__ && !META_ENV_SSR) {
|
|
16
|
+
throw new Error('useRequestContext can only be used in the server');
|
|
17
|
+
}
|
|
18
|
+
const scopes = useEnvContext((req) => req.ctx.scopes);
|
|
19
|
+
if (!scopes.has(scope)) {
|
|
20
|
+
scopes.set(scope, Object.create(null));
|
|
21
|
+
}
|
|
22
|
+
return scopes.get(scope);
|
|
23
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React, { FC, ReactNode } from 'react';
|
|
2
|
+
declare type RouteParamsContextValue = {
|
|
3
|
+
routeParams: Record<string, string>;
|
|
4
|
+
basePath: string;
|
|
5
|
+
};
|
|
6
|
+
export declare const RouteParamsContext: React.Context<RouteParamsContextValue>;
|
|
7
|
+
export declare const RouteParamsProvider: FC<{
|
|
8
|
+
routeParams: Record<string, string>;
|
|
9
|
+
basePath: string;
|
|
10
|
+
children: ReactNode;
|
|
11
|
+
}>;
|
|
12
|
+
export declare function useBasePath(): string;
|
|
13
|
+
export {};
|