@shopify/hydrogen 1.0.2 → 1.3.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.
Files changed (419) hide show
  1. package/README.md +1 -1
  2. package/dist/esnext/FileSessionStorage.d.ts +1 -1
  3. package/dist/esnext/FileSessionStorage.js +1 -1
  4. package/dist/esnext/client.d.ts +16 -16
  5. package/dist/esnext/client.js +16 -16
  6. package/dist/esnext/components/AddToCartButton/AddToCartButton.client.d.ts +5 -2
  7. package/dist/esnext/components/AddToCartButton/AddToCartButton.client.js +6 -5
  8. package/dist/esnext/components/AddToCartButton/index.d.ts +1 -1
  9. package/dist/esnext/components/AddToCartButton/index.js +1 -1
  10. package/dist/esnext/components/BaseButton/BaseButton.client.d.ts +7 -5
  11. package/dist/esnext/components/BaseButton/BaseButton.client.js +5 -4
  12. package/dist/esnext/components/BaseButton/index.d.ts +1 -1
  13. package/dist/esnext/components/BaseButton/index.js +1 -1
  14. package/dist/esnext/components/BuyNowButton/BuyNowButton.client.d.ts +3 -2
  15. package/dist/esnext/components/BuyNowButton/BuyNowButton.client.js +2 -2
  16. package/dist/esnext/components/BuyNowButton/index.d.ts +1 -1
  17. package/dist/esnext/components/BuyNowButton/index.js +1 -1
  18. package/dist/esnext/components/CartCheckoutButton/CartCheckoutButton.client.js +1 -1
  19. package/dist/esnext/components/CartCheckoutButton/index.d.ts +1 -1
  20. package/dist/esnext/components/CartCheckoutButton/index.js +1 -1
  21. package/dist/esnext/components/CartCost/CartCost.client.d.ts +1 -1
  22. package/dist/esnext/components/CartCost/CartCost.client.js +2 -2
  23. package/dist/esnext/components/CartCost/index.d.ts +1 -1
  24. package/dist/esnext/components/CartCost/index.js +1 -1
  25. package/dist/esnext/components/CartLineImage/CartLineImage.client.d.ts +1 -1
  26. package/dist/esnext/components/CartLineImage/CartLineImage.client.js +2 -2
  27. package/dist/esnext/components/CartLineImage/index.d.ts +1 -1
  28. package/dist/esnext/components/CartLineImage/index.js +1 -1
  29. package/dist/esnext/components/CartLinePrice/CartLinePrice.client.d.ts +1 -1
  30. package/dist/esnext/components/CartLinePrice/CartLinePrice.client.js +2 -2
  31. package/dist/esnext/components/CartLinePrice/index.d.ts +1 -1
  32. package/dist/esnext/components/CartLinePrice/index.js +1 -1
  33. package/dist/esnext/components/CartLineProductTitle/CartLineProductTitle.client.js +1 -1
  34. package/dist/esnext/components/CartLineProductTitle/index.d.ts +1 -1
  35. package/dist/esnext/components/CartLineProductTitle/index.js +1 -1
  36. package/dist/esnext/components/CartLineProvider/CartLineProvider.client.d.ts +1 -1
  37. package/dist/esnext/components/CartLineProvider/CartLineProvider.client.js +1 -1
  38. package/dist/esnext/components/CartLineProvider/context.d.ts +13 -13
  39. package/dist/esnext/components/CartLineProvider/index.d.ts +2 -2
  40. package/dist/esnext/components/CartLineProvider/index.js +2 -2
  41. package/dist/esnext/components/CartLineQuantity/CartLineQuantity.client.js +1 -1
  42. package/dist/esnext/components/CartLineQuantity/index.d.ts +1 -1
  43. package/dist/esnext/components/CartLineQuantity/index.js +1 -1
  44. package/dist/esnext/components/CartLineQuantityAdjustButton/CartLineQuantityAdjustButton.d.ts +7 -8
  45. package/dist/esnext/components/CartLineQuantityAdjustButton/CartLineQuantityAdjustButton.js +3 -3
  46. package/dist/esnext/components/CartLineQuantityAdjustButton/index.d.ts +1 -1
  47. package/dist/esnext/components/CartLineQuantityAdjustButton/index.js +1 -1
  48. package/dist/esnext/components/CartLines/CartLines.client.d.ts +1 -1
  49. package/dist/esnext/components/CartLines/CartLines.client.js +2 -2
  50. package/dist/esnext/components/CartLines/index.d.ts +1 -1
  51. package/dist/esnext/components/CartLines/index.js +1 -1
  52. package/dist/esnext/components/CartProvider/CartProvider.client.d.ts +2 -2
  53. package/dist/esnext/components/CartProvider/CartProvider.client.js +13 -7
  54. package/dist/esnext/components/CartProvider/cart-queries.d.ts +1 -1
  55. package/dist/esnext/components/CartProvider/cart-queries.js +1 -0
  56. package/dist/esnext/components/CartProvider/context.d.ts +1 -1
  57. package/dist/esnext/components/CartProvider/graphql/CartAttributesUpdateMutation.d.ts +1 -1
  58. package/dist/esnext/components/CartProvider/graphql/CartBuyerIdentityUpdateMutation.d.ts +1 -1
  59. package/dist/esnext/components/CartProvider/graphql/CartCreateMutation.d.ts +1 -1
  60. package/dist/esnext/components/CartProvider/graphql/CartDiscountCodesUpdateMutation.d.ts +1 -1
  61. package/dist/esnext/components/CartProvider/graphql/CartFragment.d.ts +1 -1
  62. package/dist/esnext/components/CartProvider/graphql/CartLineAddMutation.d.ts +1 -1
  63. package/dist/esnext/components/CartProvider/graphql/CartLineRemoveMutation.d.ts +1 -1
  64. package/dist/esnext/components/CartProvider/graphql/CartLineUpdateMutation.d.ts +1 -1
  65. package/dist/esnext/components/CartProvider/graphql/CartNoteUpdateMutation.d.ts +1 -1
  66. package/dist/esnext/components/CartProvider/graphql/CartQuery.d.ts +1 -1
  67. package/dist/esnext/components/CartProvider/hooks.client.d.ts +2 -2
  68. package/dist/esnext/components/CartProvider/hooks.client.js +4 -4
  69. package/dist/esnext/components/CartProvider/index.d.ts +4 -4
  70. package/dist/esnext/components/CartProvider/index.js +3 -3
  71. package/dist/esnext/components/CartProvider/types.d.ts +2 -2
  72. package/dist/esnext/components/CartShopPayButton/CartShopPayButton.client.d.ts +1 -1
  73. package/dist/esnext/components/CartShopPayButton/CartShopPayButton.client.js +2 -2
  74. package/dist/esnext/components/CartShopPayButton/index.d.ts +1 -1
  75. package/dist/esnext/components/CartShopPayButton/index.js +1 -1
  76. package/dist/esnext/components/ExternalVideo/ExternalVideo.d.ts +2 -2
  77. package/dist/esnext/components/ExternalVideo/ExternalVideo.js +1 -1
  78. package/dist/esnext/components/ExternalVideo/index.d.ts +1 -1
  79. package/dist/esnext/components/ExternalVideo/index.js +1 -1
  80. package/dist/esnext/components/Image/Image.d.ts +2 -2
  81. package/dist/esnext/components/Image/Image.js +5 -5
  82. package/dist/esnext/components/Image/index.d.ts +2 -2
  83. package/dist/esnext/components/Image/index.js +1 -1
  84. package/dist/esnext/components/Link/Link.client.js +5 -5
  85. package/dist/esnext/components/Link/index.d.ts +1 -1
  86. package/dist/esnext/components/Link/index.js +1 -1
  87. package/dist/esnext/components/LocalizationProvider/LocalizationClientProvider.client.d.ts +1 -1
  88. package/dist/esnext/components/LocalizationProvider/LocalizationClientProvider.client.js +1 -1
  89. package/dist/esnext/components/LocalizationProvider/LocalizationProvider.server.d.ts +1 -1
  90. package/dist/esnext/components/LocalizationProvider/LocalizationProvider.server.js +5 -5
  91. package/dist/esnext/components/LocalizationProvider/index.d.ts +1 -1
  92. package/dist/esnext/components/LocalizationProvider/index.js +1 -1
  93. package/dist/esnext/components/MediaFile/MediaFile.d.ts +4 -4
  94. package/dist/esnext/components/MediaFile/MediaFile.js +4 -4
  95. package/dist/esnext/components/MediaFile/index.d.ts +1 -1
  96. package/dist/esnext/components/MediaFile/index.js +1 -1
  97. package/dist/esnext/components/Metafield/Metafield.client.d.ts +2 -2
  98. package/dist/esnext/components/Metafield/Metafield.client.js +6 -6
  99. package/dist/esnext/components/Metafield/components/StarRating/StarRating.d.ts +1 -1
  100. package/dist/esnext/components/Metafield/components/StarRating/index.d.ts +1 -1
  101. package/dist/esnext/components/Metafield/components/StarRating/index.js +1 -1
  102. package/dist/esnext/components/Metafield/components/index.d.ts +1 -1
  103. package/dist/esnext/components/Metafield/components/index.js +1 -1
  104. package/dist/esnext/components/Metafield/index.d.ts +2 -2
  105. package/dist/esnext/components/Metafield/index.js +1 -1
  106. package/dist/esnext/components/Metafield/types.d.ts +1 -1
  107. package/dist/esnext/components/ModelViewer/ModelViewer.client.d.ts +2 -2
  108. package/dist/esnext/components/ModelViewer/ModelViewer.client.js +1 -1
  109. package/dist/esnext/components/ModelViewer/index.d.ts +1 -1
  110. package/dist/esnext/components/ModelViewer/index.js +1 -1
  111. package/dist/esnext/components/Money/Money.client.d.ts +1 -1
  112. package/dist/esnext/components/Money/Money.client.js +1 -1
  113. package/dist/esnext/components/Money/index.d.ts +1 -1
  114. package/dist/esnext/components/Money/index.js +1 -1
  115. package/dist/esnext/components/ProductOptionsProvider/ProductOptionsProvider.client.d.ts +1 -1
  116. package/dist/esnext/components/ProductOptionsProvider/ProductOptionsProvider.client.js +3 -3
  117. package/dist/esnext/components/ProductOptionsProvider/context.d.ts +1 -1
  118. package/dist/esnext/components/ProductOptionsProvider/index.d.ts +1 -1
  119. package/dist/esnext/components/ProductOptionsProvider/index.js +1 -1
  120. package/dist/esnext/components/ProductPrice/ProductPrice.client.d.ts +2 -2
  121. package/dist/esnext/components/ProductPrice/ProductPrice.client.js +2 -2
  122. package/dist/esnext/components/ProductPrice/index.d.ts +1 -1
  123. package/dist/esnext/components/ProductPrice/index.js +1 -1
  124. package/dist/esnext/components/Seo/CollectionSeo.client.d.ts +1 -1
  125. package/dist/esnext/components/Seo/CollectionSeo.client.js +4 -4
  126. package/dist/esnext/components/Seo/DefaultPageSeo.client.d.ts +1 -1
  127. package/dist/esnext/components/Seo/DefaultPageSeo.client.js +5 -5
  128. package/dist/esnext/components/Seo/DescriptionSeo.client.d.ts +1 -1
  129. package/dist/esnext/components/Seo/DescriptionSeo.client.js +1 -1
  130. package/dist/esnext/components/Seo/HomePageSeo.client.d.ts +1 -1
  131. package/dist/esnext/components/Seo/HomePageSeo.client.js +3 -3
  132. package/dist/esnext/components/Seo/ImageSeo.client.d.ts +1 -1
  133. package/dist/esnext/components/Seo/ImageSeo.client.js +1 -1
  134. package/dist/esnext/components/Seo/NoIndexSeo.client.d.ts +1 -1
  135. package/dist/esnext/components/Seo/NoIndexSeo.client.js +2 -2
  136. package/dist/esnext/components/Seo/PageSeo.client.d.ts +1 -1
  137. package/dist/esnext/components/Seo/PageSeo.client.js +3 -3
  138. package/dist/esnext/components/Seo/ProductSeo.client.d.ts +1 -1
  139. package/dist/esnext/components/Seo/ProductSeo.client.js +6 -6
  140. package/dist/esnext/components/Seo/Seo.client.d.ts +4 -4
  141. package/dist/esnext/components/Seo/Seo.client.js +7 -7
  142. package/dist/esnext/components/Seo/TitleSeo.client.d.ts +1 -1
  143. package/dist/esnext/components/Seo/TitleSeo.client.js +1 -1
  144. package/dist/esnext/components/Seo/TwitterSeo.client.d.ts +1 -1
  145. package/dist/esnext/components/Seo/TwitterSeo.client.js +1 -1
  146. package/dist/esnext/components/Seo/index.d.ts +1 -1
  147. package/dist/esnext/components/Seo/index.js +1 -1
  148. package/dist/esnext/components/Seo/seo-types.d.ts +1 -1
  149. package/dist/esnext/components/ShopPayButton/ShopPayButton.client.js +2 -2
  150. package/dist/esnext/components/ShopPayButton/index.d.ts +1 -1
  151. package/dist/esnext/components/ShopPayButton/index.js +1 -1
  152. package/dist/esnext/components/Video/Video.d.ts +7 -2
  153. package/dist/esnext/components/Video/Video.js +3 -3
  154. package/dist/esnext/components/Video/index.d.ts +1 -1
  155. package/dist/esnext/components/Video/index.js +1 -1
  156. package/dist/esnext/components/index.d.ts +27 -27
  157. package/dist/esnext/components/index.js +25 -25
  158. package/dist/esnext/config.d.ts +5 -5
  159. package/dist/esnext/config.js +4 -4
  160. package/dist/esnext/constants.d.ts +1 -0
  161. package/dist/esnext/constants.js +1 -0
  162. package/dist/esnext/entry-client.d.ts +1 -1
  163. package/dist/esnext/entry-client.js +35 -14
  164. package/dist/esnext/entry-server.d.ts +1 -1
  165. package/dist/esnext/entry-server.js +86 -60
  166. package/dist/esnext/experimental.d.ts +2 -0
  167. package/dist/esnext/experimental.js +2 -0
  168. package/dist/esnext/foundation/Analytics/Analytics.client.js +1 -1
  169. package/dist/esnext/foundation/Analytics/Analytics.server.js +5 -5
  170. package/dist/esnext/foundation/Analytics/ClientAnalytics.d.ts +1 -1
  171. package/dist/esnext/foundation/Analytics/ClientAnalytics.js +4 -4
  172. package/dist/esnext/foundation/Analytics/ServerAnalyticsRoute.d.ts +1 -1
  173. package/dist/esnext/foundation/Analytics/ServerAnalyticsRoute.js +1 -1
  174. package/dist/esnext/foundation/Analytics/connectors/PerformanceMetrics/PerformanceMetrics.client.js +7 -5
  175. package/dist/esnext/foundation/Analytics/connectors/PerformanceMetrics/PerformanceMetricsDebug.client.js +1 -1
  176. package/dist/esnext/foundation/Analytics/connectors/PerformanceMetrics/ServerAnalyticsConnector.js +1 -1
  177. package/dist/esnext/foundation/Analytics/connectors/Shopify/ServerAnalyticsConnector.js +1 -1
  178. package/dist/esnext/foundation/Analytics/connectors/Shopify/ShopifyAnalytics.client.js +3 -3
  179. package/dist/esnext/foundation/Analytics/connectors/Shopify/ShopifyAnalytics.server.js +9 -9
  180. package/dist/esnext/foundation/Analytics/hook.js +2 -2
  181. package/dist/esnext/foundation/Analytics/index.d.ts +1 -1
  182. package/dist/esnext/foundation/Analytics/index.js +1 -1
  183. package/dist/esnext/foundation/Analytics/utils.js +1 -1
  184. package/dist/esnext/foundation/BuiltInRoutes/BuiltInRoutes.d.ts +1 -1
  185. package/dist/esnext/foundation/BuiltInRoutes/BuiltInRoutes.js +3 -3
  186. package/dist/esnext/foundation/Cache/cache-sub-request.d.ts +1 -1
  187. package/dist/esnext/foundation/Cache/cache-sub-request.js +4 -4
  188. package/dist/esnext/foundation/Cache/cache.d.ts +1 -1
  189. package/dist/esnext/foundation/Cache/cache.js +3 -4
  190. package/dist/esnext/foundation/Cache/strategies/index.d.ts +1 -1
  191. package/dist/esnext/foundation/Cookie/Cookie.js +2 -2
  192. package/dist/esnext/foundation/CookieSessionStorage/CookieSessionStorage.d.ts +2 -2
  193. package/dist/esnext/foundation/CookieSessionStorage/CookieSessionStorage.js +2 -1
  194. package/dist/esnext/foundation/DevTools/DevTools.client.js +1 -1
  195. package/dist/esnext/foundation/DevTools/DevTools.server.js +4 -3
  196. package/dist/esnext/foundation/DevTools/components/Heading.js +1 -1
  197. package/dist/esnext/foundation/DevTools/components/Interface.client.js +1 -1
  198. package/dist/esnext/foundation/DevTools/components/Panels.d.ts +2 -2
  199. package/dist/esnext/foundation/DevTools/components/Panels.js +28 -22
  200. package/dist/esnext/foundation/DevTools/components/Performance.client.js +1 -2
  201. package/dist/esnext/foundation/DevTools/components/Settings.client.d.ts +2 -1
  202. package/dist/esnext/foundation/DevTools/components/Settings.client.js +2 -5
  203. package/dist/esnext/foundation/DevTools/components/Table.js +3 -3
  204. package/dist/esnext/foundation/DevTools/components/index.d.ts +2 -2
  205. package/dist/esnext/foundation/DevTools/components/index.js +2 -2
  206. package/dist/esnext/foundation/FileRoutes/FileRoutes.server.d.ts +1 -1
  207. package/dist/esnext/foundation/FileRoutes/FileRoutes.server.js +5 -5
  208. package/dist/esnext/foundation/FileSessionStorage/FileSessionStorage.d.ts +3 -3
  209. package/dist/esnext/foundation/FileSessionStorage/FileSessionStorage.js +2 -2
  210. package/dist/esnext/foundation/Form/Form.client.d.ts +11 -0
  211. package/dist/esnext/foundation/Form/Form.client.js +51 -0
  212. package/dist/esnext/foundation/Head/Head.client.js +1 -1
  213. package/dist/esnext/foundation/Head/index.d.ts +1 -1
  214. package/dist/esnext/foundation/Head/index.js +1 -1
  215. package/dist/esnext/foundation/Html/Html.d.ts +1 -1
  216. package/dist/esnext/foundation/HydrogenRequest/HydrogenRequest.server.d.ts +6 -5
  217. package/dist/esnext/foundation/HydrogenRequest/HydrogenRequest.server.js +6 -7
  218. package/dist/esnext/foundation/HydrogenResponse/HydrogenResponse.server.d.ts +2 -4
  219. package/dist/esnext/foundation/HydrogenResponse/HydrogenResponse.server.js +4 -18
  220. package/dist/esnext/foundation/MemorySessionStorage/MemorySessionStorage.d.ts +2 -2
  221. package/dist/esnext/foundation/MemorySessionStorage/MemorySessionStorage.js +1 -1
  222. package/dist/esnext/foundation/Redirect/Redirect.client.js +1 -1
  223. package/dist/esnext/foundation/Route/Route.server.js +3 -3
  224. package/dist/esnext/foundation/Router/BrowserRouter.client.js +2 -2
  225. package/dist/esnext/foundation/Router/Router.server.js +1 -1
  226. package/dist/esnext/foundation/ServerPropsProvider/ServerPropsProvider.d.ts +3 -1
  227. package/dist/esnext/foundation/ServerPropsProvider/ServerPropsProvider.js +7 -7
  228. package/dist/esnext/foundation/ServerPropsProvider/index.d.ts +1 -1
  229. package/dist/esnext/foundation/ServerPropsProvider/index.js +1 -1
  230. package/dist/esnext/foundation/ServerRequestProvider/ServerRequestProvider.d.ts +2 -2
  231. package/dist/esnext/foundation/ServerRequestProvider/ServerRequestProvider.js +3 -3
  232. package/dist/esnext/foundation/ServerRequestProvider/index.d.ts +1 -1
  233. package/dist/esnext/foundation/ServerRequestProvider/index.js +1 -1
  234. package/dist/esnext/foundation/ShopifyProvider/ShopifyProvider.client.d.ts +1 -1
  235. package/dist/esnext/foundation/ShopifyProvider/ShopifyProvider.server.d.ts +2 -2
  236. package/dist/esnext/foundation/ShopifyProvider/ShopifyProvider.server.js +7 -6
  237. package/dist/esnext/foundation/ShopifyProvider/index.d.ts +1 -1
  238. package/dist/esnext/foundation/ShopifyProvider/index.js +1 -1
  239. package/dist/esnext/foundation/ShopifyProvider/types.d.ts +4 -3
  240. package/dist/esnext/foundation/fetchSync/ResponseSync.d.ts +14 -0
  241. package/dist/esnext/foundation/fetchSync/ResponseSync.js +38 -0
  242. package/dist/esnext/foundation/fetchSync/client/fetchSync.d.ts +2 -2
  243. package/dist/esnext/foundation/fetchSync/client/fetchSync.js +5 -10
  244. package/dist/esnext/foundation/fetchSync/server/fetchSync.d.ts +3 -3
  245. package/dist/esnext/foundation/fetchSync/server/fetchSync.js +7 -13
  246. package/dist/esnext/foundation/index.d.ts +3 -3
  247. package/dist/esnext/foundation/index.js +3 -3
  248. package/dist/esnext/foundation/session/session-types.d.ts +15 -0
  249. package/dist/esnext/foundation/{fetchSync/types.js → session/session-types.js} +0 -0
  250. package/dist/esnext/foundation/session/session.d.ts +7 -16
  251. package/dist/esnext/foundation/session/session.js +17 -1
  252. package/dist/esnext/foundation/ssr-interop.d.ts +2 -2
  253. package/dist/esnext/foundation/ssr-interop.js +2 -2
  254. package/dist/esnext/foundation/useNavigate/useNavigate.js +2 -2
  255. package/dist/esnext/foundation/useQuery/hooks.d.ts +4 -1
  256. package/dist/esnext/foundation/useQuery/hooks.js +5 -5
  257. package/dist/esnext/foundation/useQuery/index.d.ts +1 -1
  258. package/dist/esnext/foundation/useQuery/index.js +1 -1
  259. package/dist/esnext/foundation/useRequestContext/index.js +1 -1
  260. package/dist/esnext/foundation/useRouteParams/useRouteParams.js +2 -2
  261. package/dist/esnext/foundation/useServerProps/index.d.ts +1 -1
  262. package/dist/esnext/foundation/useServerProps/index.js +1 -1
  263. package/dist/esnext/foundation/useServerProps/use-server-props.d.ts +1 -1
  264. package/dist/esnext/foundation/useServerProps/use-server-props.js +1 -1
  265. package/dist/esnext/foundation/useSession/useSession.d.ts +1 -0
  266. package/dist/esnext/foundation/useSession/useSession.js +14 -1
  267. package/dist/esnext/foundation/useShop/index.d.ts +1 -1
  268. package/dist/esnext/foundation/useShop/index.js +1 -1
  269. package/dist/esnext/foundation/useShop/use-shop.d.ts +1 -1
  270. package/dist/esnext/foundation/useShop/use-shop.js +2 -2
  271. package/dist/esnext/foundation/useUrl/index.d.ts +1 -1
  272. package/dist/esnext/foundation/useUrl/index.js +1 -1
  273. package/dist/esnext/foundation/useUrl/useUrl.js +4 -4
  274. package/dist/esnext/framework/graphiql.js +26 -30
  275. package/dist/esnext/framework/load-config.js +2 -2
  276. package/dist/esnext/framework/middleware.d.ts +1 -1
  277. package/dist/esnext/framework/middleware.js +2 -2
  278. package/dist/esnext/framework/plugin.d.ts +1 -1
  279. package/dist/esnext/framework/plugin.js +17 -15
  280. package/dist/esnext/framework/plugins/vite-plugin-assets-version.d.ts +2 -0
  281. package/dist/esnext/framework/plugins/vite-plugin-assets-version.js +8 -0
  282. package/dist/esnext/framework/plugins/vite-plugin-css-modules-rsc.js +1 -1
  283. package/dist/esnext/framework/plugins/vite-plugin-css-rsc.d.ts +2 -0
  284. package/dist/esnext/framework/plugins/vite-plugin-css-rsc.js +108 -0
  285. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-config.d.ts +2 -1
  286. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-config.js +8 -4
  287. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-middleware.d.ts +1 -1
  288. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-middleware.js +3 -3
  289. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-rsc.d.ts +1 -1
  290. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-rsc.js +2 -2
  291. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-virtual-files.d.ts +1 -1
  292. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-virtual-files.js +35 -7
  293. package/dist/esnext/framework/plugins/vite-plugin-platform-entry.js +36 -7
  294. package/dist/esnext/framework/types.d.ts +14 -0
  295. package/dist/esnext/hooks/index.d.ts +6 -6
  296. package/dist/esnext/hooks/index.js +6 -6
  297. package/dist/esnext/hooks/useCart/index.d.ts +1 -1
  298. package/dist/esnext/hooks/useCart/index.js +1 -1
  299. package/dist/esnext/hooks/useCart/useCart.d.ts +1 -1
  300. package/dist/esnext/hooks/useCart/useCart.js +1 -1
  301. package/dist/esnext/hooks/useCartLine/index.d.ts +1 -1
  302. package/dist/esnext/hooks/useCartLine/index.js +1 -1
  303. package/dist/esnext/hooks/useCartLine/useCartLine.d.ts +13 -13
  304. package/dist/esnext/hooks/useCartLine/useCartLine.js +1 -1
  305. package/dist/esnext/hooks/useLoadScript/index.d.ts +1 -1
  306. package/dist/esnext/hooks/useLoadScript/index.js +1 -1
  307. package/dist/esnext/hooks/useLoadScript/useLoadScript.client.d.ts +1 -1
  308. package/dist/esnext/hooks/useLoadScript/useLoadScript.client.js +1 -1
  309. package/dist/esnext/hooks/useLocalization/useLocalization.d.ts +2 -3
  310. package/dist/esnext/hooks/useLocalization/useLocalization.js +2 -2
  311. package/dist/esnext/hooks/useMeasurement/hooks.d.ts +1 -1
  312. package/dist/esnext/hooks/useMeasurement/hooks.js +2 -2
  313. package/dist/esnext/hooks/useMeasurement/index.d.ts +1 -1
  314. package/dist/esnext/hooks/useMeasurement/index.js +1 -1
  315. package/dist/esnext/hooks/useMoney/hooks.d.ts +1 -1
  316. package/dist/esnext/hooks/useMoney/hooks.js +1 -1
  317. package/dist/esnext/hooks/useMoney/index.d.ts +1 -1
  318. package/dist/esnext/hooks/useMoney/index.js +1 -1
  319. package/dist/esnext/hooks/useProductOptions/helpers.d.ts +2 -2
  320. package/dist/esnext/hooks/useProductOptions/index.d.ts +2 -2
  321. package/dist/esnext/hooks/useProductOptions/index.js +2 -2
  322. package/dist/esnext/hooks/useProductOptions/types.d.ts +1 -1
  323. package/dist/esnext/hooks/useProductOptions/useProductOptions.client.d.ts +1 -1
  324. package/dist/esnext/hooks/useProductOptions/useProductOptions.client.js +1 -1
  325. package/dist/esnext/hooks/useShopQuery/hooks.d.ts +1 -1
  326. package/dist/esnext/hooks/useShopQuery/hooks.js +25 -17
  327. package/dist/esnext/hooks/useShopQuery/index.d.ts +1 -1
  328. package/dist/esnext/hooks/useShopQuery/index.js +1 -1
  329. package/dist/esnext/index.d.ts +26 -26
  330. package/dist/esnext/index.js +22 -22
  331. package/dist/esnext/node.d.ts +1 -1
  332. package/dist/esnext/node.js +1 -1
  333. package/dist/esnext/platforms/index.d.ts +1 -0
  334. package/dist/esnext/platforms/index.js +1 -0
  335. package/dist/esnext/platforms/node.d.ts +1 -1
  336. package/dist/esnext/platforms/node.js +5 -11
  337. package/dist/esnext/platforms/virtual.d.ts +8 -0
  338. package/dist/esnext/platforms/virtual.js +12 -0
  339. package/dist/esnext/platforms/worker-event.js +1 -1
  340. package/dist/esnext/platforms/worker.js +7 -7
  341. package/dist/esnext/shared-types.d.ts +3 -0
  342. package/dist/esnext/types.d.ts +8 -7
  343. package/dist/esnext/types.js +1 -1
  344. package/dist/esnext/utilities/apiRoutes.d.ts +4 -4
  345. package/dist/esnext/utilities/apiRoutes.js +51 -6
  346. package/dist/esnext/utilities/error.js +1 -1
  347. package/dist/esnext/utilities/fetch.js +1 -1
  348. package/dist/esnext/utilities/flattenConnection/flattenConnection.d.ts +1 -1
  349. package/dist/esnext/utilities/flattenConnection/index.d.ts +1 -1
  350. package/dist/esnext/utilities/flattenConnection/index.js +1 -1
  351. package/dist/esnext/utilities/hash.d.ts +1 -1
  352. package/dist/esnext/utilities/hash.js +1 -1
  353. package/dist/esnext/utilities/image_size.d.ts +1 -1
  354. package/dist/esnext/utilities/index.d.ts +12 -12
  355. package/dist/esnext/utilities/index.js +12 -12
  356. package/dist/esnext/utilities/isBrowser/index.d.ts +1 -1
  357. package/dist/esnext/utilities/isBrowser/index.js +1 -1
  358. package/dist/esnext/utilities/isServer/index.d.ts +1 -1
  359. package/dist/esnext/utilities/isServer/index.js +1 -1
  360. package/dist/esnext/utilities/isServer/isServer.js +1 -1
  361. package/dist/esnext/utilities/load_script.d.ts +1 -0
  362. package/dist/esnext/utilities/load_script.js +6 -1
  363. package/dist/esnext/utilities/locale/index.d.ts +1 -0
  364. package/dist/esnext/utilities/locale/index.js +1 -0
  365. package/dist/esnext/utilities/locale/locale.d.ts +7 -0
  366. package/dist/esnext/utilities/locale/locale.js +22 -0
  367. package/dist/esnext/utilities/log/index.d.ts +4 -4
  368. package/dist/esnext/utilities/log/index.js +4 -4
  369. package/dist/esnext/utilities/log/log-cache-api-status.js +1 -1
  370. package/dist/esnext/utilities/log/log-cache-header.d.ts +4 -4
  371. package/dist/esnext/utilities/log/log-cache-header.js +3 -3
  372. package/dist/esnext/utilities/log/log-query-timeline.d.ts +3 -3
  373. package/dist/esnext/utilities/log/log-query-timeline.js +13 -10
  374. package/dist/esnext/utilities/log/log.d.ts +1 -1
  375. package/dist/esnext/utilities/log/log.js +2 -2
  376. package/dist/esnext/utilities/log/utils.d.ts +1 -1
  377. package/dist/esnext/utilities/log/utils.js +1 -1
  378. package/dist/esnext/utilities/measurement.d.ts +1 -1
  379. package/dist/esnext/utilities/parseMetafield/index.d.ts +1 -1
  380. package/dist/esnext/utilities/parseMetafield/index.js +1 -1
  381. package/dist/esnext/utilities/parseMetafield/parseMetafield.d.ts +2 -2
  382. package/dist/esnext/utilities/parseMetafield/parseMetafield.js +1 -1
  383. package/dist/esnext/utilities/storefrontApi.js +1 -1
  384. package/dist/esnext/utilities/suspense.d.ts +1 -1
  385. package/dist/esnext/utilities/suspense.js +1 -1
  386. package/dist/esnext/version.d.ts +1 -1
  387. package/dist/esnext/version.js +1 -1
  388. package/dist/node/foundation/session/session-types.d.ts +15 -0
  389. package/dist/node/foundation/session/session-types.js +2 -0
  390. package/dist/node/framework/graphiql.js +26 -30
  391. package/dist/node/framework/load-config.js +3 -3
  392. package/dist/node/framework/middleware.d.ts +1 -1
  393. package/dist/node/framework/middleware.js +3 -3
  394. package/dist/node/framework/plugin.d.ts +1 -1
  395. package/dist/node/framework/plugin.js +26 -24
  396. package/dist/node/framework/plugins/vite-plugin-assets-version.d.ts +2 -0
  397. package/dist/node/framework/plugins/vite-plugin-assets-version.js +11 -0
  398. package/dist/node/framework/plugins/vite-plugin-css-modules-rsc.js +3 -3
  399. package/dist/node/framework/plugins/vite-plugin-css-rsc.d.ts +2 -0
  400. package/dist/node/framework/plugins/vite-plugin-css-rsc.js +114 -0
  401. package/dist/node/framework/plugins/vite-plugin-hydrogen-config.d.ts +2 -1
  402. package/dist/node/framework/plugins/vite-plugin-hydrogen-config.js +11 -4
  403. package/dist/node/framework/plugins/vite-plugin-hydrogen-middleware.d.ts +1 -1
  404. package/dist/node/framework/plugins/vite-plugin-hydrogen-middleware.js +7 -7
  405. package/dist/node/framework/plugins/vite-plugin-hydrogen-rsc.d.ts +1 -1
  406. package/dist/node/framework/plugins/vite-plugin-hydrogen-rsc.js +5 -5
  407. package/dist/node/framework/plugins/vite-plugin-hydrogen-virtual-files.d.ts +1 -1
  408. package/dist/node/framework/plugins/vite-plugin-hydrogen-virtual-files.js +35 -7
  409. package/dist/node/framework/plugins/vite-plugin-platform-entry.js +36 -7
  410. package/dist/node/framework/types.d.ts +14 -0
  411. package/dist/node/shared-types.d.ts +3 -0
  412. package/package.json +20 -3
  413. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-plugin.js +36 -14
  414. package/vendor/react-server-dom-vite/esm/react-server-dom-vite-plugin.js +36 -14
  415. package/dist/esnext/foundation/fetchSync/types.d.ts +0 -5
  416. package/dist/esnext/framework/plugins/vite-plugin-purge-query-cache.d.ts +0 -3
  417. package/dist/esnext/framework/plugins/vite-plugin-purge-query-cache.js +0 -11
  418. package/dist/node/framework/plugins/vite-plugin-purge-query-cache.d.ts +0 -3
  419. package/dist/node/framework/plugins/vite-plugin-purge-query-cache.js +0 -16
@@ -7,4 +7,4 @@ export declare const CartBuyerIdentityUpdate: (cartFragment: string) => string;
7
7
  export declare const CartAttributesUpdate: (cartFragment: string) => string;
8
8
  export declare const CartDiscountCodesUpdate: (cartFragment: string) => string;
9
9
  export declare const CartQuery: (cartFragment: string) => string;
10
- export declare const defaultCartFragment = "\nfragment CartFragment on Cart {\n id\n checkoutUrl\n totalQuantity\n buyerIdentity {\n countryCode\n customer {\n id\n email\n firstName\n lastName\n displayName\n }\n email\n phone\n }\n lines(first: $numCartLines) {\n edges {\n node {\n id\n quantity\n attributes {\n key\n value\n }\n cost {\n totalAmount {\n amount\n currencyCode\n }\n compareAtAmountPerQuantity {\n amount\n currencyCode\n }\n }\n merchandise {\n ... on ProductVariant {\n id\n availableForSale\n compareAtPriceV2 {\n ...MoneyFragment\n }\n priceV2 {\n ...MoneyFragment\n }\n requiresShipping\n title\n image {\n ...ImageFragment\n }\n product {\n handle\n title\n }\n selectedOptions {\n name\n value\n }\n }\n }\n }\n }\n }\n cost {\n subtotalAmount {\n ...MoneyFragment\n }\n totalAmount {\n ...MoneyFragment\n }\n totalDutyAmount {\n ...MoneyFragment\n }\n totalTaxAmount {\n ...MoneyFragment\n }\n }\n note\n attributes {\n key\n value\n }\n discountCodes {\n code\n }\n}\n\nfragment MoneyFragment on MoneyV2 {\n currencyCode\n amount\n}\nfragment ImageFragment on Image {\n id\n url\n altText\n width\n height\n}\n";
10
+ export declare const defaultCartFragment = "\nfragment CartFragment on Cart {\n id\n checkoutUrl\n totalQuantity\n buyerIdentity {\n countryCode\n customer {\n id\n email\n firstName\n lastName\n displayName\n }\n email\n phone\n }\n lines(first: $numCartLines) {\n edges {\n node {\n id\n quantity\n attributes {\n key\n value\n }\n cost {\n totalAmount {\n amount\n currencyCode\n }\n compareAtAmountPerQuantity {\n amount\n currencyCode\n }\n }\n merchandise {\n ... on ProductVariant {\n id\n availableForSale\n compareAtPriceV2 {\n ...MoneyFragment\n }\n priceV2 {\n ...MoneyFragment\n }\n requiresShipping\n title\n image {\n ...ImageFragment\n }\n product {\n handle\n title\n id\n }\n selectedOptions {\n name\n value\n }\n }\n }\n }\n }\n }\n cost {\n subtotalAmount {\n ...MoneyFragment\n }\n totalAmount {\n ...MoneyFragment\n }\n totalDutyAmount {\n ...MoneyFragment\n }\n totalTaxAmount {\n ...MoneyFragment\n }\n }\n note\n attributes {\n key\n value\n }\n discountCodes {\n code\n }\n}\n\nfragment MoneyFragment on MoneyV2 {\n currencyCode\n amount\n}\nfragment ImageFragment on Image {\n id\n url\n altText\n width\n height\n}\n";
@@ -154,6 +154,7 @@ fragment CartFragment on Cart {
154
154
  product {
155
155
  handle
156
156
  title
157
+ id
157
158
  }
158
159
  selectedOptions {
159
160
  name
@@ -1,2 +1,2 @@
1
- import { CartWithActions } from './types';
1
+ import { CartWithActions } from './types.js';
2
2
  export declare const CartContext: import("react").Context<CartWithActions | null>;
@@ -2,7 +2,7 @@
2
2
  * THIS FILE IS AUTO-GENERATED, DO NOT EDIT.
3
3
  * Instead, you can edit the associated .graphql file to query for additional fields and this file will be updated when you run `yarn graphql-types`
4
4
  */
5
- import * as Types from '../../../storefront-api-types';
5
+ import * as Types from '../../../storefront-api-types.js';
6
6
  export declare type CartAttributesUpdateMutationVariables = Types.Exact<{
7
7
  attributes: Array<Types.AttributeInput> | Types.AttributeInput;
8
8
  cartId: Types.Scalars['ID'];
@@ -2,7 +2,7 @@
2
2
  * THIS FILE IS AUTO-GENERATED, DO NOT EDIT.
3
3
  * Instead, you can edit the associated .graphql file to query for additional fields and this file will be updated when you run `yarn graphql-types`
4
4
  */
5
- import * as Types from '../../../storefront-api-types';
5
+ import * as Types from '../../../storefront-api-types.js';
6
6
  export declare type CartBuyerIdentityUpdateMutationVariables = Types.Exact<{
7
7
  cartId: Types.Scalars['ID'];
8
8
  buyerIdentity: Types.CartBuyerIdentityInput;
@@ -2,7 +2,7 @@
2
2
  * THIS FILE IS AUTO-GENERATED, DO NOT EDIT.
3
3
  * Instead, you can edit the associated .graphql file to query for additional fields and this file will be updated when you run `yarn graphql-types`
4
4
  */
5
- import * as Types from '../../../storefront-api-types';
5
+ import * as Types from '../../../storefront-api-types.js';
6
6
  export declare type CartCreateMutationVariables = Types.Exact<{
7
7
  input: Types.CartInput;
8
8
  numCartLines?: Types.InputMaybe<Types.Scalars['Int']>;
@@ -2,7 +2,7 @@
2
2
  * THIS FILE IS AUTO-GENERATED, DO NOT EDIT.
3
3
  * Instead, you can edit the associated .graphql file to query for additional fields and this file will be updated when you run `yarn graphql-types`
4
4
  */
5
- import * as Types from '../../../storefront-api-types';
5
+ import * as Types from '../../../storefront-api-types.js';
6
6
  export declare type CartDiscountCodesUpdateMutationVariables = Types.Exact<{
7
7
  cartId: Types.Scalars['ID'];
8
8
  discountCodes?: Types.InputMaybe<Array<Types.Scalars['String']> | Types.Scalars['String']>;
@@ -2,7 +2,7 @@
2
2
  * THIS FILE IS AUTO-GENERATED, DO NOT EDIT.
3
3
  * Instead, you can edit the associated .graphql file to query for additional fields and this file will be updated when you run `yarn graphql-types`
4
4
  */
5
- import * as Types from '../../../storefront-api-types';
5
+ import * as Types from '../../../storefront-api-types.js';
6
6
  export declare type CartFragmentFragment = {
7
7
  __typename?: 'Cart';
8
8
  } & Pick<Types.Cart, 'id' | 'checkoutUrl' | 'totalQuantity' | 'note'> & {
@@ -2,7 +2,7 @@
2
2
  * THIS FILE IS AUTO-GENERATED, DO NOT EDIT.
3
3
  * Instead, you can edit the associated .graphql file to query for additional fields and this file will be updated when you run `yarn graphql-types`
4
4
  */
5
- import * as Types from '../../../storefront-api-types';
5
+ import * as Types from '../../../storefront-api-types.js';
6
6
  export declare type CartLineAddMutationVariables = Types.Exact<{
7
7
  cartId: Types.Scalars['ID'];
8
8
  lines: Array<Types.CartLineInput> | Types.CartLineInput;
@@ -2,7 +2,7 @@
2
2
  * THIS FILE IS AUTO-GENERATED, DO NOT EDIT.
3
3
  * Instead, you can edit the associated .graphql file to query for additional fields and this file will be updated when you run `yarn graphql-types`
4
4
  */
5
- import * as Types from '../../../storefront-api-types';
5
+ import * as Types from '../../../storefront-api-types.js';
6
6
  export declare type CartLineRemoveMutationVariables = Types.Exact<{
7
7
  cartId: Types.Scalars['ID'];
8
8
  lines: Array<Types.Scalars['ID']> | Types.Scalars['ID'];
@@ -2,7 +2,7 @@
2
2
  * THIS FILE IS AUTO-GENERATED, DO NOT EDIT.
3
3
  * Instead, you can edit the associated .graphql file to query for additional fields and this file will be updated when you run `yarn graphql-types`
4
4
  */
5
- import * as Types from '../../../storefront-api-types';
5
+ import * as Types from '../../../storefront-api-types.js';
6
6
  export declare type CartLineUpdateMutationVariables = Types.Exact<{
7
7
  cartId: Types.Scalars['ID'];
8
8
  lines: Array<Types.CartLineUpdateInput> | Types.CartLineUpdateInput;
@@ -2,7 +2,7 @@
2
2
  * THIS FILE IS AUTO-GENERATED, DO NOT EDIT.
3
3
  * Instead, you can edit the associated .graphql file to query for additional fields and this file will be updated when you run `yarn graphql-types`
4
4
  */
5
- import * as Types from '../../../storefront-api-types';
5
+ import * as Types from '../../../storefront-api-types.js';
6
6
  export declare type CartNoteUpdateMutationVariables = Types.Exact<{
7
7
  cartId: Types.Scalars['ID'];
8
8
  note?: Types.InputMaybe<Types.Scalars['String']>;
@@ -2,7 +2,7 @@
2
2
  * THIS FILE IS AUTO-GENERATED, DO NOT EDIT.
3
3
  * Instead, you can edit the associated .graphql file to query for additional fields and this file will be updated when you run `yarn graphql-types`
4
4
  */
5
- import * as Types from '../../../storefront-api-types';
5
+ import * as Types from '../../../storefront-api-types.js';
6
6
  export declare type CartQueryQueryVariables = Types.Exact<{
7
7
  id: Types.Scalars['ID'];
8
8
  numCartLines?: Types.InputMaybe<Types.Scalars['Int']>;
@@ -1,5 +1,5 @@
1
- import { CartInput } from '../../storefront-api-types';
2
- import { Cart } from './types';
1
+ import { CartInput } from '../../storefront-api-types.js';
2
+ import { Cart } from './types.js';
3
3
  export declare function useCartFetch(): <T, K>({ query, variables, }: {
4
4
  query: string;
5
5
  variables: T;
@@ -1,8 +1,8 @@
1
1
  import React, { useState } from 'react';
2
- import { useShop } from '../../foundation';
3
- import { flattenConnection } from '../../utilities';
4
- import { CartCreate, defaultCartFragment } from './cart-queries';
5
- import { SHOPIFY_STOREFRONT_ID_HEADER, STOREFRONT_API_PUBLIC_TOKEN_HEADER, SHOPIFY_STOREFRONT_Y_HEADER, SHOPIFY_STOREFRONT_S_HEADER, SHOPIFY_Y, SHOPIFY_S, } from '../../constants';
2
+ import { useShop } from '../../foundation/index.js';
3
+ import { flattenConnection } from '../../utilities/index.js';
4
+ import { CartCreate, defaultCartFragment } from './cart-queries.js';
5
+ import { SHOPIFY_STOREFRONT_ID_HEADER, STOREFRONT_API_PUBLIC_TOKEN_HEADER, SHOPIFY_STOREFRONT_Y_HEADER, SHOPIFY_STOREFRONT_S_HEADER, SHOPIFY_Y, SHOPIFY_S, } from '../../constants.js';
6
6
  import { parse } from 'worktop/cookie';
7
7
  export function useCartFetch() {
8
8
  const { storeDomain, storefrontApiVersion, storefrontToken, storefrontId } = useShop();
@@ -1,4 +1,4 @@
1
- export { CartProvider } from './CartProvider.client';
2
- export { useCartFetch, useInstantCheckout } from './hooks.client';
3
- export { useCart } from '../../hooks/useCart';
4
- export type { State, Status, Cart, CartWithActions, CartAction } from './types';
1
+ export { CartProvider } from './CartProvider.client.js';
2
+ export { useCartFetch, useInstantCheckout } from './hooks.client.js';
3
+ export { useCart } from '../../hooks/useCart/index.js';
4
+ export type { State, Status, Cart, CartWithActions, CartAction, } from './types.js';
@@ -1,3 +1,3 @@
1
- export { CartProvider } from './CartProvider.client';
2
- export { useCartFetch, useInstantCheckout } from './hooks.client';
3
- export { useCart } from '../../hooks/useCart';
1
+ export { CartProvider } from './CartProvider.client.js';
2
+ export { useCartFetch, useInstantCheckout } from './hooks.client.js';
3
+ export { useCart } from '../../hooks/useCart/index.js';
@@ -1,5 +1,5 @@
1
- import { CartInput, CartLineInput, CartLineUpdateInput, MutationCartNoteUpdateArgs, CartBuyerIdentityInput, MutationCartAttributesUpdateArgs } from '../../storefront-api-types';
2
- import { CartFragmentFragment } from './graphql/CartFragment';
1
+ import { CartInput, CartLineInput, CartLineUpdateInput, MutationCartNoteUpdateArgs, CartBuyerIdentityInput, MutationCartAttributesUpdateArgs } from '../../storefront-api-types.js';
2
+ import { CartFragmentFragment } from './graphql/CartFragment.js';
3
3
  export declare type Status = State['status'];
4
4
  export interface Cart {
5
5
  /** The cart's ID if it has been created through the Storefront API. */
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { ShopPayButton } from '../ShopPayButton';
2
+ import { ShopPayButton } from '../ShopPayButton/index.js';
3
3
  /**
4
4
  * The `CartShopPayButton` component renders a `ShopPayButton` for the items in the cart.
5
5
  * It must be a descendent of a `CartProvider` component.
@@ -1,6 +1,6 @@
1
1
  import React, { useMemo } from 'react';
2
- import { useCart } from '../CartProvider';
3
- import { ShopPayButton } from '../ShopPayButton';
2
+ import { useCart } from '../CartProvider/index.js';
3
+ import { ShopPayButton } from '../ShopPayButton/index.js';
4
4
  /**
5
5
  * The `CartShopPayButton` component renders a `ShopPayButton` for the items in the cart.
6
6
  * It must be a descendent of a `CartProvider` component.
@@ -1 +1 @@
1
- export { CartShopPayButton } from './CartShopPayButton.client';
1
+ export { CartShopPayButton } from './CartShopPayButton.client.js';
@@ -1 +1 @@
1
- export { CartShopPayButton } from './CartShopPayButton.client';
1
+ export { CartShopPayButton } from './CartShopPayButton.client.js';
@@ -1,5 +1,5 @@
1
- import { YouTube, Vimeo } from '../../utilities';
2
- import type { ExternalVideo as ExternalVideoType } from '../../storefront-api-types';
1
+ import { YouTube, Vimeo } from '../../utilities/index.js';
2
+ import type { ExternalVideo as ExternalVideoType } from '../../storefront-api-types.js';
3
3
  import type { PartialDeep } from 'type-fest';
4
4
  interface ExternalVideoProps {
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { useEmbeddedVideoUrl } from '../../utilities';
2
+ import { useEmbeddedVideoUrl } from '../../utilities/index.js';
3
3
  /**
4
4
  * The `ExternalVideo` component renders an embedded video for the Storefront
5
5
  * API's [ExternalVideo object](https://shopify.dev/api/storefront/reference/products/externalvideo).
@@ -1 +1 @@
1
- export { ExternalVideo } from './ExternalVideo';
1
+ export { ExternalVideo } from './ExternalVideo.js';
@@ -1 +1 @@
1
- export { ExternalVideo } from './ExternalVideo';
1
+ export { ExternalVideo } from './ExternalVideo.js';
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import type { Image as ImageType } from '../../storefront-api-types';
2
+ import type { Image as ImageType } from '../../storefront-api-types.js';
3
3
  import type { PartialDeep, Simplify, SetRequired } from 'type-fest';
4
4
  declare type HtmlImageProps = React.ImgHTMLAttributes<HTMLImageElement>;
5
5
  declare type ImageProps<GenericLoaderOpts> = ShopifyImageProps | ExternalImageProps<GenericLoaderOpts>;
@@ -79,7 +79,7 @@ declare type LoaderProps<GenericLoaderOpts> = {
79
79
  */
80
80
  loaderOptions?: GenericLoaderOpts;
81
81
  };
82
- declare type ExternalImageProps<GenericLoaderOpts> = SetRequired<HtmlImageProps, 'src' | 'width' | 'height' | 'alt'> & {
82
+ export declare type ExternalImageProps<GenericLoaderOpts> = SetRequired<HtmlImageProps, 'src' | 'width' | 'height' | 'alt'> & {
83
83
  /** A custom function that generates the image URL. Parameters passed in
84
84
  * are either `ShopifyLoaderParams` if using the `data` prop, or the
85
85
  * `LoaderOptions` object that you pass to `loaderOptions`.
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { getShopifyImageDimensions, shopifyImageLoader, addImageSizeParametersToUrl, IMG_SRC_SET_SIZES, } from '../../utilities';
2
+ import { getShopifyImageDimensions, shopifyImageLoader, addImageSizeParametersToUrl, IMG_SRC_SET_SIZES, } from '../../utilities/index.js';
3
3
  /**
4
4
  * The `Image` component renders an image for the Storefront API's
5
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.
@@ -27,7 +27,7 @@ export function Image(props) {
27
27
  return React.createElement(ExternalImage, { ...props });
28
28
  }
29
29
  }
30
- function ShopifyImage({ data, width, height, loading, loader = shopifyImageLoader, loaderOptions, widths, ...rest }) {
30
+ function ShopifyImage({ data, width, height, loading, loader = shopifyImageLoader, loaderOptions, widths, decoding = 'async', ...rest }) {
31
31
  if (!data.url) {
32
32
  throw new Error(`<Image/>: the 'data' prop requires the 'url' property`);
33
33
  }
@@ -72,10 +72,10 @@ function ShopifyImage({ data, width, height, loading, loader = shopifyImageLoade
72
72
  loader,
73
73
  });
74
74
  /* eslint-disable hydrogen/prefer-image-component */
75
- return (React.createElement("img", { id: data.id ?? '', alt: data.altText ?? rest.alt ?? '', loading: loading ?? 'lazy', ...rest, src: finalSrc, width: imgElementWidth ?? undefined, height: imgElementHeight ?? undefined, srcSet: finalSrcset }));
75
+ return (React.createElement("img", { id: data.id ?? '', alt: data.altText ?? rest.alt ?? '', loading: loading ?? 'lazy', ...rest, src: finalSrc, width: imgElementWidth ?? undefined, height: imgElementHeight ?? undefined, srcSet: finalSrcset, decoding: decoding }));
76
76
  /* eslint-enable hydrogen/prefer-image-component */
77
77
  }
78
- function ExternalImage({ src, width, height, alt, loader, loaderOptions, widths, loading, ...rest }) {
78
+ function ExternalImage({ src, width, height, alt, loader, loaderOptions, widths, loading, decoding = 'async', ...rest }) {
79
79
  if (!width || !height) {
80
80
  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}`);
81
81
  }
@@ -112,7 +112,7 @@ function ExternalImage({ src, width, height, alt, loader, loaderOptions, widths,
112
112
  // @ts-expect-error TS doesn't understand that it could exist
113
113
  width: loaderOptions?.width ?? width,
114
114
  // @ts-expect-error TS doesn't understand that it could exist
115
- height: loaderOptions?.height ?? height, alt: alt ?? '', loading: loading ?? 'lazy', srcSet: finalSrcset }));
115
+ height: loaderOptions?.height ?? height, alt: alt ?? '', loading: loading ?? 'lazy', srcSet: finalSrcset, decoding: decoding }));
116
116
  /* eslint-enable hydrogen/prefer-image-component */
117
117
  }
118
118
  function internalImageSrcSet({ src, width, crop, scale, widths, loader, height, }) {
@@ -1,2 +1,2 @@
1
- export { Image } from './Image';
2
- export type { ShopifyLoaderParams, ShopifyLoaderOptions, ShopifyImageProps, } from './Image';
1
+ export { Image } from './Image.js';
2
+ export type { ShopifyLoaderParams, ShopifyLoaderOptions, ShopifyImageProps, ExternalImageProps, } from './Image.js';
@@ -1 +1 @@
1
- export { Image } from './Image';
1
+ export { Image } from './Image.js';
@@ -1,10 +1,10 @@
1
1
  import React, { useCallback, useEffect, useState } from 'react';
2
- import { useLocation } from '../../foundation/Router/BrowserRouter.client';
2
+ import { useLocation } from '../../foundation/Router/BrowserRouter.client.js';
3
3
  import { createPath } from 'history';
4
- import { buildPath, useNavigate } from '../../foundation/useNavigate/useNavigate';
5
- import { RSC_PATHNAME } from '../../constants';
6
- import { useInternalServerProps } from '../../foundation/useServerProps/use-server-props';
7
- import { useBasePath } from '../../foundation/useRouteParams/RouteParamsProvider.client';
4
+ import { buildPath, useNavigate, } from '../../foundation/useNavigate/useNavigate.js';
5
+ import { RSC_PATHNAME } from '../../constants.js';
6
+ import { useInternalServerProps } from '../../foundation/useServerProps/use-server-props.js';
7
+ import { useBasePath } from '../../foundation/useRouteParams/RouteParamsProvider.client.js';
8
8
  /**
9
9
  * The `Link` component is used to navigate between routes. Because it renders an underlying `<a>` element, all
10
10
  * properties available to the `<a>` element are also available to the `Link` component.
@@ -1 +1 @@
1
- export { Link } from './Link.client';
1
+ export { Link } from './Link.client.js';
@@ -1 +1 @@
1
- export { Link } from './Link.client';
1
+ export { Link } from './Link.client.js';
@@ -1,5 +1,5 @@
1
1
  import { ReactNode } from 'react';
2
- import type { LocalizationContextValue } from '../../foundation/ShopifyProvider/types';
2
+ import type { LocalizationContextValue } from '../../foundation/ShopifyProvider/types.js';
3
3
  export default function LocalizationClientProvider({ localization, children, }: {
4
4
  children: ReactNode;
5
5
  localization: LocalizationContextValue;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { LocalizationContext } from '../../foundation/ShopifyProvider/ShopifyProvider.client';
2
+ import { LocalizationContext } from '../../foundation/ShopifyProvider/ShopifyProvider.client.js';
3
3
  export default function LocalizationClientProvider({ localization, children, }) {
4
4
  return (React.createElement(LocalizationContext.Provider, { value: localization }, children));
5
5
  }
@@ -1,5 +1,5 @@
1
1
  import { ReactNode } from 'react';
2
- import { CountryCode, LanguageCode } from '../../storefront-api-types';
2
+ import { CountryCode, LanguageCode } from '../../storefront-api-types.js';
3
3
  export interface LocalizationProviderProps {
4
4
  /** A `ReactNode` element. */
5
5
  children: ReactNode;
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
- import LocalizationClientProvider from './LocalizationClientProvider.client';
3
- import { useShop } from '../../foundation/useShop';
4
- import { useServerRequest } from '../../foundation/ServerRequestProvider';
5
- import { log } from '../../utilities/log';
6
- import { getLocalizationContextValue } from '../../foundation/ShopifyProvider/ShopifyProvider.server';
2
+ import LocalizationClientProvider from './LocalizationClientProvider.client.js';
3
+ import { useShop } from '../../foundation/useShop/index.js';
4
+ import { useServerRequest } from '../../foundation/ServerRequestProvider/index.js';
5
+ import { log } from '../../utilities/log/index.js';
6
+ import { getLocalizationContextValue } from '../../foundation/ShopifyProvider/ShopifyProvider.server.js';
7
7
  /**
8
8
  * The `LocalizationProvider` component automatically queries the Storefront API's
9
9
  * [`localization`](https://shopify.dev/api/storefront/reference/common-objects/queryroot) field
@@ -1 +1 @@
1
- export { LocalizationProvider } from './LocalizationProvider.server';
1
+ export { LocalizationProvider } from './LocalizationProvider.server.js';
@@ -1 +1 @@
1
- export { LocalizationProvider } from './LocalizationProvider.server';
1
+ export { LocalizationProvider } from './LocalizationProvider.server.js';
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
- import { type ShopifyImageProps } from '../Image';
3
- import { Video } from '../Video';
4
- import { ExternalVideo } from '../ExternalVideo';
5
- import type { MediaEdge as MediaEdgeType } from '../../storefront-api-types';
2
+ import { type ShopifyImageProps } from '../Image/index.js';
3
+ import { Video } from '../Video/index.js';
4
+ import { ExternalVideo } from '../ExternalVideo/index.js';
5
+ import type { MediaEdge as MediaEdgeType } from '../../storefront-api-types.js';
6
6
  import type { PartialDeep } from 'type-fest';
7
7
  export interface MediaFileProps {
8
8
  /** An object with fields that correspond to the Storefront API's [Media object](https://shopify.dev/api/storefront/reference/products/media). */
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
- import { Image } from '../Image';
3
- import { Video } from '../Video';
4
- import { ExternalVideo } from '../ExternalVideo';
5
- import { ModelViewer } from '../ModelViewer';
2
+ import { Image } from '../Image/index.js';
3
+ import { Video } from '../Video/index.js';
4
+ import { ExternalVideo } from '../ExternalVideo/index.js';
5
+ import { ModelViewer } from '../ModelViewer/index.js';
6
6
  /**
7
7
  * The `MediaFile` component renders the media for the Storefront API's
8
8
  * [Media object](https://shopify.dev/api/storefront/reference/products/media). It renders an `Image`, a
@@ -1 +1 @@
1
- export { MediaFile, MediaFileProps } from './MediaFile';
1
+ export { MediaFile, MediaFileProps } from './MediaFile.js';
@@ -1 +1 @@
1
- export { MediaFile } from './MediaFile';
1
+ export { MediaFile } from './MediaFile.js';
@@ -1,6 +1,6 @@
1
1
  import { type ElementType } from 'react';
2
- import type { Props } from '../types';
3
- import type { Metafield } from '../../storefront-api-types';
2
+ import type { Props } from '../types.js';
3
+ import type { Metafield } from '../../storefront-api-types.js';
4
4
  import type { PartialDeep } from 'type-fest';
5
5
  export interface MetafieldProps<TTag> {
6
6
  /** An object with fields that correspond to the Storefront API's [Metafield object](https://shopify.dev/api/storefront/reference/common-objects/metafield). */
@@ -1,10 +1,10 @@
1
1
  import React, { useMemo } from 'react';
2
- import { useLocalization } from '../../hooks/useLocalization/useLocalization';
3
- import { getMeasurementAsString } from '../../utilities/measurement';
4
- import { Image } from '../Image';
5
- import { Video } from '../Video';
6
- import { flattenConnection } from '../../utilities/flattenConnection/index';
7
- import { parseMetafield } from '../../utilities/parseMetafield/index';
2
+ import { useLocalization } from '../../hooks/useLocalization/useLocalization.js';
3
+ import { getMeasurementAsString } from '../../utilities/measurement.js';
4
+ import { Image } from '../Image/index.js';
5
+ import { Video } from '../Video/index.js';
6
+ import { flattenConnection } from '../../utilities/flattenConnection/index.js';
7
+ import { parseMetafield } from '../../utilities/parseMetafield/index.js';
8
8
  /**
9
9
  * The `Metafield` component renders the value of a Storefront
10
10
  * API's [Metafield object](https://shopify.dev/api/storefront/reference/common-objects/metafield).
@@ -1,4 +1,4 @@
1
- import { Rating } from '../../../../types';
1
+ import { Rating } from '../../../../types.js';
2
2
  export declare const STAR_EMPTY = "\u2606";
3
3
  export declare const STAR_FILLED = "\u2605";
4
4
  export interface StarRatingProps<TTag> {
@@ -1 +1 @@
1
- export { StarRating } from './StarRating';
1
+ export { StarRating } from './StarRating.js';
@@ -1 +1 @@
1
- export { StarRating } from './StarRating';
1
+ export { StarRating } from './StarRating.js';
@@ -1 +1 @@
1
- export { StarRating } from './StarRating';
1
+ export { StarRating } from './StarRating/index.js';
@@ -1 +1 @@
1
- export { StarRating } from './StarRating';
1
+ export { StarRating } from './StarRating/index.js';
@@ -1,2 +1,2 @@
1
- export { Metafield } from './Metafield.client';
2
- export type { MetafieldType } from './types';
1
+ export { Metafield } from './Metafield.client.js';
2
+ export type { MetafieldType } from './types.js';
@@ -1 +1 @@
1
- export { Metafield } from './Metafield.client';
1
+ export { Metafield } from './Metafield.client.js';
@@ -1,4 +1,4 @@
1
- import { Metafield } from '../../storefront-api-types';
1
+ import { Metafield } from '../../storefront-api-types.js';
2
2
  export declare type MetafieldType = Omit<Partial<Metafield>, 'value'> & {
3
3
  value?: string | number | boolean | Date | Record<string, any>;
4
4
  };
@@ -1,6 +1,6 @@
1
1
  import { ReactNode, ElementType } from 'react';
2
- import { Props } from '../types';
3
- import type { Model3d } from '../../storefront-api-types';
2
+ import { Props } from '../types.js';
3
+ import type { Model3d } from '../../storefront-api-types.js';
4
4
  import type { PartialDeep } from 'type-fest';
5
5
  interface ModelViewerProps {
6
6
  /** Any ReactNode elements. */
@@ -1,5 +1,5 @@
1
1
  import React, { useState, useEffect, useCallback, } from 'react';
2
- import { useLoadScript } from '../../hooks/useLoadScript/useLoadScript.client';
2
+ import { useLoadScript } from '../../hooks/useLoadScript/useLoadScript.client.js';
3
3
  /**
4
4
  * The `ModelViewer` component renders a 3D model (with the `model-viewer` tag) for
5
5
  * the Storefront API's [Model3d object](https://shopify.dev/api/storefront/reference/products/model3d).
@@ -1 +1 @@
1
- export { ModelViewer } from './ModelViewer.client';
1
+ export { ModelViewer } from './ModelViewer.client.js';
@@ -1 +1 @@
1
- export { ModelViewer } from './ModelViewer.client';
1
+ export { ModelViewer } from './ModelViewer.client.js';
@@ -1,5 +1,5 @@
1
1
  import React, { type ReactNode } from 'react';
2
- import type { MoneyV2, UnitPriceMeasurement } from '../../storefront-api-types';
2
+ import type { MoneyV2, UnitPriceMeasurement } from '../../storefront-api-types.js';
3
3
  import type { PartialDeep } from 'type-fest';
4
4
  interface CustomProps<ComponentGeneric extends React.ElementType> {
5
5
  /** An HTML tag or React Component to be rendered as the base element wrapper. The default is `div`. */
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { useMoney } from '../../hooks';
2
+ import { useMoney } from '../../hooks/index.js';
3
3
  /**
4
4
  * The `Money` component renders a string of the Storefront API's
5
5
  * [MoneyV2 object](https://shopify.dev/api/storefront/reference/common-objects/moneyv2) according to the
@@ -1 +1 @@
1
- export { Money } from './Money.client';
1
+ export { Money } from './Money.client.js';
@@ -1 +1 @@
1
- export { Money } from './Money.client';
1
+ export { Money } from './Money.client.js';
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { Product, ProductVariant as ProductVariantType } from '../../storefront-api-types';
2
+ import type { Product, ProductVariant as ProductVariantType } from '../../storefront-api-types.js';
3
3
  import type { PartialDeep } from 'type-fest';
4
4
  declare type InitialVariantId = ProductVariantType['id'] | null;
5
5
  interface ProductOptionsProviderProps {
@@ -1,7 +1,7 @@
1
1
  import React, { useMemo, useState, useEffect, useCallback } from 'react';
2
- import { ProductOptionsContext } from './context';
3
- import { getSelectedVariant, getOptions, } from '../../hooks/useProductOptions/helpers';
4
- import { flattenConnection } from '../../utilities/flattenConnection';
2
+ import { ProductOptionsContext } from './context.js';
3
+ import { getSelectedVariant, getOptions, } from '../../hooks/useProductOptions/helpers.js';
4
+ import { flattenConnection } from '../../utilities/flattenConnection/index.js';
5
5
  export function ProductOptionsProvider({ children, data: product, initialVariantId: explicitVariantId, }) {
6
6
  // The flattened variants
7
7
  const variants = useMemo(() => flattenConnection(product.variants ?? {}), [product.variants]);
@@ -1,2 +1,2 @@
1
- import type { ProductOptionsHookValue } from '../../hooks';
1
+ import type { ProductOptionsHookValue } from '../../hooks/index.js';
2
2
  export declare const ProductOptionsContext: import("react").Context<ProductOptionsHookValue | null>;
@@ -1 +1 @@
1
- export { ProductOptionsProvider } from './ProductOptionsProvider.client';
1
+ export { ProductOptionsProvider } from './ProductOptionsProvider.client.js';
@@ -1 +1 @@
1
- export { ProductOptionsProvider } from './ProductOptionsProvider.client';
1
+ export { ProductOptionsProvider } from './ProductOptionsProvider.client.js';
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import type { Product } from '../../storefront-api-types';
3
- import { Money } from '../Money';
2
+ import type { Product } from '../../storefront-api-types.js';
3
+ import { Money } from '../Money/index.js';
4
4
  import type { PartialDeep } from 'type-fest';
5
5
  export interface ProductPriceProps {
6
6
  data: PartialDeep<Product>;