@shopify/hydrogen 0.24.0 → 0.26.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 (664) hide show
  1. package/CHANGELOG.md +218 -0
  2. package/dist/esnext/components/AddToCartButton/AddToCartButton.client.d.ts +2 -5
  3. package/dist/esnext/components/AddToCartButton/AddToCartButton.client.js +15 -14
  4. package/dist/esnext/components/BaseButton/BaseButton.client.d.ts +14 -0
  5. package/dist/esnext/components/BaseButton/BaseButton.client.js +15 -0
  6. package/dist/esnext/components/BaseButton/index.d.ts +1 -0
  7. package/dist/esnext/components/BaseButton/index.js +1 -0
  8. package/dist/esnext/components/BuyNowButton/BuyNowButton.client.d.ts +2 -5
  9. package/dist/esnext/components/BuyNowButton/BuyNowButton.client.js +5 -4
  10. package/dist/esnext/components/{CartEstimatedCost/CartEstimatedCost.client.d.ts → CartCost/CartCost.client.d.ts} +3 -3
  11. package/dist/esnext/components/{CartEstimatedCost/CartEstimatedCost.client.js → CartCost/CartCost.client.js} +7 -7
  12. package/dist/esnext/components/CartCost/index.d.ts +1 -0
  13. package/dist/esnext/components/CartCost/index.js +1 -0
  14. package/dist/esnext/components/CartLinePrice/CartLinePrice.client.js +2 -2
  15. package/dist/esnext/components/CartLineProvider/context.d.ts +7 -7
  16. package/dist/esnext/components/CartLineQuantityAdjustButton/CartLineQuantityAdjustButton.d.ts +4 -5
  17. package/dist/esnext/components/CartLineQuantityAdjustButton/CartLineQuantityAdjustButton.js +16 -14
  18. package/dist/esnext/components/CartLines/CartLines.client.js +1 -1
  19. package/dist/esnext/components/CartProvider/CartProvider.client.js +67 -61
  20. package/dist/esnext/components/CartProvider/cart-queries.d.ts +1 -1
  21. package/dist/esnext/components/CartProvider/cart-queries.js +3 -3
  22. package/dist/esnext/components/CartProvider/graphql/CartAttributesUpdateMutation.d.ts +5 -5
  23. package/dist/esnext/components/CartProvider/graphql/CartBuyerIdentityUpdateMutation.d.ts +5 -5
  24. package/dist/esnext/components/CartProvider/graphql/CartCreateMutation.d.ts +5 -5
  25. package/dist/esnext/components/CartProvider/graphql/CartDiscountCodesUpdateMutation.d.ts +5 -5
  26. package/dist/esnext/components/CartProvider/graphql/CartFragment.d.ts +5 -5
  27. package/dist/esnext/components/CartProvider/graphql/CartLineAddMutation.d.ts +5 -5
  28. package/dist/esnext/components/CartProvider/graphql/CartLineRemoveMutation.d.ts +5 -5
  29. package/dist/esnext/components/CartProvider/graphql/CartLineUpdateMutation.d.ts +5 -5
  30. package/dist/esnext/components/CartProvider/graphql/CartNoteUpdateMutation.d.ts +5 -5
  31. package/dist/esnext/components/CartProvider/graphql/CartQuery.d.ts +5 -5
  32. package/dist/esnext/components/CartProvider/hooks.client.d.ts +1 -1
  33. package/dist/esnext/components/CartProvider/hooks.client.js +18 -14
  34. package/dist/esnext/components/CartProvider/types.d.ts +3 -3
  35. package/dist/esnext/components/CartShopPayButton/CartShopPayButton.client.d.ts +1 -3
  36. package/dist/esnext/components/CartShopPayButton/CartShopPayButton.client.js +2 -4
  37. package/dist/esnext/components/ExternalVideo/ExternalVideo.js +1 -1
  38. package/dist/esnext/components/Image/Image.d.ts +13 -0
  39. package/dist/esnext/components/Image/Image.js +46 -20
  40. package/dist/esnext/components/Link/Link.client.d.ts +2 -0
  41. package/dist/esnext/components/Link/Link.client.js +9 -5
  42. package/dist/esnext/components/LocalizationProvider/LocalizationClientProvider.client.d.ts +2 -2
  43. package/dist/esnext/components/LocalizationProvider/LocalizationClientProvider.client.js +1 -1
  44. package/dist/esnext/components/LocalizationProvider/LocalizationContext.client.d.ts +6 -3
  45. package/dist/esnext/components/LocalizationProvider/LocalizationProvider.server.d.ts +8 -20
  46. package/dist/esnext/components/LocalizationProvider/LocalizationProvider.server.js +17 -33
  47. package/dist/esnext/components/LocalizationProvider/index.d.ts +0 -1
  48. package/dist/esnext/components/LocalizationProvider/index.js +0 -1
  49. package/dist/esnext/components/Metafield/Metafield.client.d.ts +6 -10
  50. package/dist/esnext/components/Metafield/Metafield.client.js +70 -34
  51. package/dist/esnext/components/Metafield/components/StarRating/StarRating.js +1 -1
  52. package/dist/esnext/components/ModelViewer/ModelViewer.client.js +2 -3
  53. package/dist/esnext/components/Money/Money.client.js +1 -1
  54. package/dist/esnext/components/ProductOptionsProvider/ProductOptionsProvider.client.js +16 -24
  55. package/dist/esnext/components/ProductPrice/ProductPrice.client.js +7 -7
  56. package/dist/esnext/components/Seo/CollectionSeo.client.js +2 -3
  57. package/dist/esnext/components/Seo/DefaultPageSeo.client.js +6 -6
  58. package/dist/esnext/components/Seo/DescriptionSeo.client.js +1 -1
  59. package/dist/esnext/components/Seo/HomePageSeo.client.d.ts +1 -1
  60. package/dist/esnext/components/Seo/HomePageSeo.client.js +3 -3
  61. package/dist/esnext/components/Seo/ImageSeo.client.js +1 -1
  62. package/dist/esnext/components/Seo/NoIndexSeo.client.js +5 -5
  63. package/dist/esnext/components/Seo/PageSeo.client.js +2 -3
  64. package/dist/esnext/components/Seo/ProductSeo.client.js +10 -11
  65. package/dist/esnext/components/Seo/Seo.client.js +1 -1
  66. package/dist/esnext/components/Seo/TitleSeo.client.js +1 -1
  67. package/dist/esnext/components/Seo/TwitterSeo.client.js +1 -1
  68. package/dist/esnext/components/Seo/seo-types.d.ts +1 -0
  69. package/dist/esnext/components/ShopPayButton/ShopPayButton.client.d.ts +3 -1
  70. package/dist/esnext/components/ShopPayButton/ShopPayButton.client.js +10 -6
  71. package/dist/esnext/components/Video/Video.js +2 -3
  72. package/dist/esnext/components/index.d.ts +2 -2
  73. package/dist/esnext/components/index.js +2 -2
  74. package/dist/esnext/config.d.ts +4 -0
  75. package/dist/esnext/config.js +4 -0
  76. package/dist/esnext/constants.d.ts +2 -0
  77. package/dist/esnext/constants.js +2 -0
  78. package/dist/esnext/entry-client.js +11 -23
  79. package/dist/esnext/entry-server.d.ts +1 -17
  80. package/dist/esnext/entry-server.js +189 -61
  81. package/dist/esnext/foundation/Analytics/ServerAnalyticsRoute.d.ts +4 -0
  82. package/dist/esnext/foundation/Analytics/{ServerAnalyticsRoute.server.js → ServerAnalyticsRoute.js} +5 -4
  83. package/dist/esnext/foundation/Analytics/connectors/PerformanceMetrics/PerformanceMetricsDebug.client.js +1 -1
  84. package/dist/esnext/foundation/Analytics/connectors/PerformanceMetrics/ServerAnalyticsConnector.d.ts +3 -0
  85. package/dist/esnext/foundation/Analytics/connectors/PerformanceMetrics/ServerAnalyticsConnector.js +27 -0
  86. package/dist/esnext/foundation/Analytics/connectors/Shopify/ServerAnalyticsConnector.d.ts +3 -0
  87. package/dist/esnext/foundation/Analytics/connectors/Shopify/ServerAnalyticsConnector.js +21 -0
  88. package/dist/esnext/foundation/Analytics/connectors/Shopify/ShopifyAnalytics.client.js +1 -1
  89. package/dist/esnext/foundation/Analytics/connectors/Shopify/ShopifyAnalytics.server.js +2 -3
  90. package/dist/esnext/foundation/BuiltInRoutes/BuiltInRoutes.d.ts +2 -0
  91. package/dist/esnext/foundation/BuiltInRoutes/BuiltInRoutes.js +23 -0
  92. package/dist/esnext/foundation/BuiltInRoutes/healthCheck.d.ts +1 -0
  93. package/dist/esnext/foundation/BuiltInRoutes/healthCheck.js +3 -0
  94. package/dist/esnext/foundation/Cache/cache-sub-request.js +2 -2
  95. package/dist/esnext/foundation/Cache/cache.js +2 -2
  96. package/dist/esnext/foundation/Cache/strategies/index.d.ts +3 -7
  97. package/dist/esnext/foundation/Cache/strategies/index.js +6 -48
  98. package/dist/esnext/foundation/Cookie/Cookie.js +5 -0
  99. package/dist/esnext/foundation/DevTools/DevTools.client.d.ts +3 -0
  100. package/dist/esnext/foundation/DevTools/DevTools.client.js +17 -0
  101. package/dist/esnext/foundation/DevTools/DevTools.server.d.ts +1 -0
  102. package/dist/esnext/foundation/DevTools/DevTools.server.js +14 -0
  103. package/dist/esnext/foundation/DevTools/components/GraphQL.client.d.ts +1 -0
  104. package/dist/esnext/foundation/DevTools/components/GraphQL.client.js +25 -0
  105. package/dist/esnext/foundation/DevTools/components/Heading.d.ts +5 -0
  106. package/dist/esnext/foundation/DevTools/components/Heading.js +12 -0
  107. package/dist/esnext/foundation/DevTools/components/Interface.client.d.ts +11 -0
  108. package/dist/esnext/foundation/DevTools/components/Interface.client.js +47 -0
  109. package/dist/esnext/foundation/DevTools/components/Panels.d.ts +8 -0
  110. package/dist/esnext/foundation/DevTools/components/Panels.js +60 -0
  111. package/dist/esnext/foundation/DevTools/components/Performance.client.d.ts +14 -0
  112. package/dist/esnext/foundation/DevTools/components/Performance.client.js +26 -0
  113. package/dist/esnext/foundation/DevTools/components/Settings.client.d.ts +7 -0
  114. package/dist/esnext/foundation/DevTools/components/Settings.client.js +20 -0
  115. package/dist/esnext/foundation/DevTools/components/Table.d.ts +9 -0
  116. package/dist/esnext/foundation/DevTools/components/Table.js +7 -0
  117. package/dist/esnext/foundation/DevTools/components/icons.d.ts +2 -0
  118. package/dist/esnext/foundation/DevTools/components/icons.js +13 -0
  119. package/dist/esnext/foundation/DevTools/components/index.d.ts +2 -0
  120. package/dist/esnext/foundation/DevTools/components/index.js +2 -0
  121. package/dist/esnext/foundation/FileRoutes/FileRoutes.server.js +5 -5
  122. package/dist/esnext/foundation/Html/Html.js +4 -7
  123. package/dist/esnext/foundation/HydrogenRequest/HydrogenRequest.server.d.ts +18 -5
  124. package/dist/esnext/foundation/HydrogenRequest/HydrogenRequest.server.js +73 -10
  125. package/dist/esnext/foundation/HydrogenResponse/HydrogenResponse.server.d.ts +5 -7
  126. package/dist/esnext/foundation/HydrogenResponse/HydrogenResponse.server.js +22 -20
  127. package/dist/esnext/foundation/Route/Route.server.js +1 -1
  128. package/dist/esnext/foundation/Router/BrowserRouter.client.js +1 -2
  129. package/dist/esnext/foundation/ServerRequestProvider/ServerRequestProvider.d.ts +5 -4
  130. package/dist/esnext/foundation/ServerRequestProvider/ServerRequestProvider.js +14 -14
  131. package/dist/esnext/foundation/ShopifyProvider/ShopifyProvider.server.js +7 -5
  132. package/dist/esnext/foundation/ShopifyProvider/types.d.ts +1 -0
  133. package/dist/esnext/foundation/fetchSync/server/fetchSync.js +1 -1
  134. package/dist/esnext/foundation/useNavigate/useNavigate.d.ts +2 -0
  135. package/dist/esnext/foundation/useNavigate/useNavigate.js +16 -4
  136. package/dist/esnext/foundation/useQuery/hooks.js +16 -25
  137. package/dist/esnext/foundation/useRouteParams/RouteParamsProvider.client.d.ts +3 -0
  138. package/dist/esnext/foundation/useRouteParams/RouteParamsProvider.client.js +8 -3
  139. package/dist/esnext/foundation/useServerProps/use-server-props.js +2 -2
  140. package/dist/esnext/foundation/useSession/useSession.js +1 -2
  141. package/dist/esnext/foundation/useUrl/useUrl.js +1 -2
  142. package/dist/esnext/framework/cache/in-memory.d.ts +12 -7
  143. package/dist/esnext/framework/cache/in-memory.js +51 -23
  144. package/dist/esnext/framework/load-config.d.ts +6 -0
  145. package/dist/esnext/framework/load-config.js +10 -0
  146. package/dist/esnext/framework/middleware.d.ts +1 -1
  147. package/dist/esnext/framework/middleware.js +3 -4
  148. package/dist/esnext/framework/plugin.d.ts +7 -3
  149. package/dist/esnext/framework/plugin.js +2 -1
  150. package/dist/esnext/framework/plugins/vite-plugin-client-imports.js +1 -1
  151. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-client-middleware.js +2 -3
  152. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-config.js +70 -67
  153. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-middleware.d.ts +1 -1
  154. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-middleware.js +2 -3
  155. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-rsc.js +1 -1
  156. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-virtual-files.d.ts +1 -1
  157. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-virtual-files.js +27 -8
  158. package/dist/esnext/framework/types.d.ts +5 -0
  159. package/dist/esnext/framework/types.js +1 -0
  160. package/dist/esnext/framework/viteception.d.ts +2 -1
  161. package/dist/esnext/framework/viteception.js +2 -1
  162. package/dist/esnext/hooks/index.d.ts +0 -1
  163. package/dist/esnext/hooks/index.js +0 -1
  164. package/dist/esnext/hooks/useCartLine/useCartLine.d.ts +7 -7
  165. package/dist/esnext/hooks/useLocalization/useLocalization.d.ts +4 -0
  166. package/dist/esnext/hooks/useLocalization/useLocalization.js +14 -0
  167. package/dist/esnext/hooks/useMeasurement/hooks.js +2 -2
  168. package/dist/esnext/hooks/useMoney/hooks.js +55 -41
  169. package/dist/esnext/hooks/useProductOptions/helpers.js +6 -10
  170. package/dist/esnext/hooks/useShopQuery/hooks.js +18 -12
  171. package/dist/esnext/index.d.ts +4 -5
  172. package/dist/esnext/index.js +2 -5
  173. package/dist/esnext/platforms/node.d.ts +1 -1
  174. package/dist/esnext/platforms/node.js +2 -1
  175. package/dist/{node/entry-server.d.ts → esnext/shared-types.d.ts} +11 -7
  176. package/dist/esnext/shared-types.js +4 -0
  177. package/dist/esnext/storefront-api-types.d.ts +142 -117
  178. package/dist/esnext/storefront-api-types.js +8 -0
  179. package/dist/esnext/streaming.server.d.ts +9 -18
  180. package/dist/esnext/streaming.server.js +2 -7
  181. package/dist/esnext/types.d.ts +19 -18
  182. package/dist/esnext/types.js +1 -1
  183. package/dist/esnext/utilities/apiRoutes.d.ts +10 -5
  184. package/dist/esnext/utilities/apiRoutes.js +6 -4
  185. package/dist/esnext/utilities/devtools.d.ts +1 -1
  186. package/dist/esnext/utilities/devtools.js +3 -3
  187. package/dist/esnext/utilities/flattenConnection/flattenConnection.d.ts +1 -0
  188. package/dist/esnext/utilities/flattenConnection/flattenConnection.js +13 -6
  189. package/dist/esnext/utilities/graphql-tracker.js +6 -8
  190. package/dist/esnext/utilities/hash.d.ts +2 -2
  191. package/dist/esnext/utilities/hash.js +29 -6
  192. package/dist/esnext/utilities/image_size.d.ts +24 -3
  193. package/dist/esnext/utilities/image_size.js +53 -31
  194. package/dist/esnext/utilities/index.d.ts +1 -1
  195. package/dist/esnext/utilities/index.js +1 -1
  196. package/dist/esnext/utilities/load_script.js +1 -1
  197. package/dist/esnext/utilities/log/log-cache-api-status.js +6 -2
  198. package/dist/esnext/utilities/log/log-query-timeline.js +29 -10
  199. package/dist/esnext/utilities/log/log.js +1 -2
  200. package/dist/esnext/utilities/log/utils.js +1 -6
  201. package/dist/esnext/utilities/parseMetafield/index.d.ts +1 -0
  202. package/dist/esnext/utilities/parseMetafield/index.js +1 -0
  203. package/dist/esnext/utilities/parseMetafield/parseMetafield.d.ts +15 -0
  204. package/dist/esnext/utilities/{parseMetafieldValue/parseMetafieldValue.js → parseMetafield/parseMetafield.js} +28 -2
  205. package/dist/esnext/utilities/storefrontApi.d.ts +1 -0
  206. package/dist/esnext/utilities/storefrontApi.js +9 -5
  207. package/dist/esnext/utilities/template.js +1 -2
  208. package/dist/esnext/utilities/web-api-polyfill.js +6 -0
  209. package/dist/esnext/version.d.ts +1 -1
  210. package/dist/esnext/version.js +1 -1
  211. package/dist/node/framework/cache/in-memory.d.ts +12 -7
  212. package/dist/node/framework/cache/in-memory.js +51 -23
  213. package/dist/node/framework/load-config.d.ts +6 -0
  214. package/dist/node/framework/load-config.js +14 -0
  215. package/dist/node/framework/middleware.d.ts +1 -1
  216. package/dist/node/framework/middleware.js +3 -4
  217. package/dist/node/framework/plugin.d.ts +4 -3
  218. package/dist/node/framework/plugin.js +3 -2
  219. package/dist/node/framework/plugins/vite-plugin-client-imports.js +1 -1
  220. package/dist/node/framework/plugins/vite-plugin-hydrogen-client-middleware.js +2 -3
  221. package/dist/node/framework/plugins/vite-plugin-hydrogen-config.js +70 -67
  222. package/dist/node/framework/plugins/vite-plugin-hydrogen-middleware.d.ts +1 -1
  223. package/dist/node/framework/plugins/vite-plugin-hydrogen-middleware.js +2 -3
  224. package/dist/node/framework/plugins/vite-plugin-hydrogen-rsc.js +2 -2
  225. package/dist/node/framework/plugins/vite-plugin-hydrogen-virtual-files.d.ts +1 -1
  226. package/dist/node/framework/plugins/vite-plugin-hydrogen-virtual-files.js +27 -8
  227. package/dist/node/framework/types.d.ts +5 -0
  228. package/dist/node/{components/CartProvider → framework}/types.js +0 -0
  229. package/dist/node/framework/viteception.d.ts +2 -1
  230. package/dist/node/framework/viteception.js +2 -1
  231. package/dist/node/shared-types.d.ts +26 -0
  232. package/dist/node/shared-types.js +5 -0
  233. package/dist/node/utilities/web-api-polyfill.js +6 -0
  234. package/package.json +41 -25
  235. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-plugin.js +84 -35
  236. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-writer.browser.development.server.js +50 -13
  237. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-writer.browser.production.min.server.js +28 -27
  238. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-writer.node.development.server.js +50 -13
  239. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-writer.node.production.min.server.js +28 -28
  240. package/vendor/react-server-dom-vite/esm/react-server-dom-vite-client-proxy.js +4 -5
  241. package/vendor/react-server-dom-vite/esm/react-server-dom-vite-plugin.js +84 -35
  242. package/vendor/react-server-dom-vite/esm/react-server-dom-vite-writer.browser.server.js +50 -13
  243. package/vendor/react-server-dom-vite/esm/react-server-dom-vite-writer.node.server.js +50 -13
  244. package/client.d.ts +0 -1
  245. package/client.js +0 -1
  246. package/config.d.ts +0 -1
  247. package/config.js +0 -1
  248. package/dist/esnext/components/CartEstimatedCost/index.d.ts +0 -1
  249. package/dist/esnext/components/CartEstimatedCost/index.js +0 -1
  250. package/dist/esnext/components/DevTools.client.d.ts +0 -1
  251. package/dist/esnext/components/DevTools.client.js +0 -129
  252. package/dist/esnext/foundation/Analytics/ServerAnalyticsRoute.server.d.ts +0 -2
  253. package/dist/esnext/foundation/Analytics/connectors/PerformanceMetrics/ServerAnalyticsConnector.server.d.ts +0 -1
  254. package/dist/esnext/foundation/Analytics/connectors/PerformanceMetrics/ServerAnalyticsConnector.server.js +0 -25
  255. package/dist/esnext/foundation/Analytics/connectors/Shopify/ServerAnalyticsConnector.server.d.ts +0 -1
  256. package/dist/esnext/foundation/Analytics/connectors/Shopify/ServerAnalyticsConnector.server.js +0 -19
  257. package/dist/esnext/framework/Hydration/rsc.d.ts +0 -8
  258. package/dist/esnext/framework/Hydration/rsc.js +0 -102
  259. package/dist/esnext/hooks/useCountry/index.d.ts +0 -1
  260. package/dist/esnext/hooks/useCountry/index.js +0 -1
  261. package/dist/esnext/hooks/useCountry/useCountry.d.ts +0 -7
  262. package/dist/esnext/hooks/useCountry/useCountry.js +0 -17
  263. package/dist/esnext/hooks/useParsedMetafields/index.d.ts +0 -1
  264. package/dist/esnext/hooks/useParsedMetafields/index.js +0 -1
  265. package/dist/esnext/hooks/useParsedMetafields/useParsedMetafields.d.ts +0 -21
  266. package/dist/esnext/hooks/useParsedMetafields/useParsedMetafields.js +0 -21
  267. package/dist/esnext/utilities/parseMetafieldValue/index.d.ts +0 -1
  268. package/dist/esnext/utilities/parseMetafieldValue/index.js +0 -1
  269. package/dist/esnext/utilities/parseMetafieldValue/parseMetafieldValue.d.ts +0 -6
  270. package/dist/node/client.d.ts +0 -16
  271. package/dist/node/client.js +0 -43
  272. package/dist/node/components/AddToCartButton/AddToCartButton.client.d.ts +0 -23
  273. package/dist/node/components/AddToCartButton/AddToCartButton.client.js +0 -74
  274. package/dist/node/components/AddToCartButton/index.d.ts +0 -1
  275. package/dist/node/components/AddToCartButton/index.js +0 -5
  276. package/dist/node/components/BuyNowButton/BuyNowButton.client.d.ts +0 -18
  277. package/dist/node/components/BuyNowButton/BuyNowButton.client.js +0 -53
  278. package/dist/node/components/BuyNowButton/index.d.ts +0 -1
  279. package/dist/node/components/BuyNowButton/index.js +0 -5
  280. package/dist/node/components/CartCheckoutButton/CartCheckoutButton.client.d.ts +0 -11
  281. package/dist/node/components/CartCheckoutButton/CartCheckoutButton.client.js +0 -44
  282. package/dist/node/components/CartCheckoutButton/index.d.ts +0 -1
  283. package/dist/node/components/CartCheckoutButton/index.js +0 -5
  284. package/dist/node/components/CartEstimatedCost/CartEstimatedCost.client.d.ts +0 -14
  285. package/dist/node/components/CartEstimatedCost/CartEstimatedCost.client.js +0 -36
  286. package/dist/node/components/CartEstimatedCost/index.d.ts +0 -1
  287. package/dist/node/components/CartEstimatedCost/index.js +0 -5
  288. package/dist/node/components/CartLineImage/CartLineImage.client.d.ts +0 -9
  289. package/dist/node/components/CartLineImage/CartLineImage.client.js +0 -18
  290. package/dist/node/components/CartLineImage/index.d.ts +0 -1
  291. package/dist/node/components/CartLineImage/index.js +0 -5
  292. package/dist/node/components/CartLinePrice/CartLinePrice.client.d.ts +0 -12
  293. package/dist/node/components/CartLinePrice/CartLinePrice.client.js +0 -25
  294. package/dist/node/components/CartLinePrice/index.d.ts +0 -1
  295. package/dist/node/components/CartLinePrice/index.js +0 -5
  296. package/dist/node/components/CartLineProductTitle/CartLineProductTitle.client.d.ts +0 -8
  297. package/dist/node/components/CartLineProductTitle/CartLineProductTitle.client.js +0 -19
  298. package/dist/node/components/CartLineProductTitle/index.d.ts +0 -1
  299. package/dist/node/components/CartLineProductTitle/index.js +0 -5
  300. package/dist/node/components/CartLineProvider/CartLineProvider.client.d.ts +0 -11
  301. package/dist/node/components/CartLineProvider/CartLineProvider.client.js +0 -15
  302. package/dist/node/components/CartLineProvider/context.d.ts +0 -36
  303. package/dist/node/components/CartLineProvider/context.js +0 -5
  304. package/dist/node/components/CartLineProvider/index.d.ts +0 -2
  305. package/dist/node/components/CartLineProvider/index.js +0 -7
  306. package/dist/node/components/CartLineQuantity/CartLineQuantity.client.d.ts +0 -8
  307. package/dist/node/components/CartLineQuantity/CartLineQuantity.client.js +0 -19
  308. package/dist/node/components/CartLineQuantity/index.d.ts +0 -1
  309. package/dist/node/components/CartLineQuantity/index.js +0 -5
  310. package/dist/node/components/CartLineQuantityAdjustButton/CartLineQuantityAdjustButton.d.ts +0 -14
  311. package/dist/node/components/CartLineQuantityAdjustButton/CartLineQuantityAdjustButton.js +0 -31
  312. package/dist/node/components/CartLineQuantityAdjustButton/index.d.ts +0 -1
  313. package/dist/node/components/CartLineQuantityAdjustButton/index.js +0 -5
  314. package/dist/node/components/CartLines/CartLines.client.d.ts +0 -15
  315. package/dist/node/components/CartLines/CartLines.client.js +0 -44
  316. package/dist/node/components/CartLines/index.d.ts +0 -1
  317. package/dist/node/components/CartLines/index.js +0 -5
  318. package/dist/node/components/CartProvider/CartProvider.client.d.ts +0 -41
  319. package/dist/node/components/CartProvider/CartProvider.client.js +0 -547
  320. package/dist/node/components/CartProvider/cart-queries.d.ts +0 -10
  321. package/dist/node/components/CartProvider/cart-queries.js +0 -214
  322. package/dist/node/components/CartProvider/constants.d.ts +0 -2
  323. package/dist/node/components/CartProvider/constants.js +0 -5
  324. package/dist/node/components/CartProvider/context.d.ts +0 -2
  325. package/dist/node/components/CartProvider/context.js +0 -5
  326. package/dist/node/components/CartProvider/graphql/CartAttributesUpdateMutation.d.ts +0 -96
  327. package/dist/node/components/CartProvider/graphql/CartAttributesUpdateMutation.js +0 -2
  328. package/dist/node/components/CartProvider/graphql/CartBuyerIdentityUpdateMutation.d.ts +0 -96
  329. package/dist/node/components/CartProvider/graphql/CartBuyerIdentityUpdateMutation.js +0 -2
  330. package/dist/node/components/CartProvider/graphql/CartCreateMutation.d.ts +0 -95
  331. package/dist/node/components/CartProvider/graphql/CartCreateMutation.js +0 -2
  332. package/dist/node/components/CartProvider/graphql/CartDiscountCodesUpdateMutation.d.ts +0 -96
  333. package/dist/node/components/CartProvider/graphql/CartDiscountCodesUpdateMutation.js +0 -2
  334. package/dist/node/components/CartProvider/graphql/CartFragment.d.ts +0 -82
  335. package/dist/node/components/CartProvider/graphql/CartFragment.js +0 -2
  336. package/dist/node/components/CartProvider/graphql/CartLineAddMutation.d.ts +0 -96
  337. package/dist/node/components/CartProvider/graphql/CartLineAddMutation.js +0 -2
  338. package/dist/node/components/CartProvider/graphql/CartLineRemoveMutation.d.ts +0 -96
  339. package/dist/node/components/CartProvider/graphql/CartLineRemoveMutation.js +0 -2
  340. package/dist/node/components/CartProvider/graphql/CartLineUpdateMutation.d.ts +0 -96
  341. package/dist/node/components/CartProvider/graphql/CartLineUpdateMutation.js +0 -2
  342. package/dist/node/components/CartProvider/graphql/CartNoteUpdateMutation.d.ts +0 -96
  343. package/dist/node/components/CartProvider/graphql/CartNoteUpdateMutation.js +0 -2
  344. package/dist/node/components/CartProvider/graphql/CartQuery.d.ts +0 -91
  345. package/dist/node/components/CartProvider/graphql/CartQuery.js +0 -2
  346. package/dist/node/components/CartProvider/hooks.client.d.ts +0 -15
  347. package/dist/node/components/CartProvider/hooks.client.js +0 -88
  348. package/dist/node/components/CartProvider/index.d.ts +0 -4
  349. package/dist/node/components/CartProvider/index.js +0 -10
  350. package/dist/node/components/CartProvider/types.d.ts +0 -104
  351. package/dist/node/components/CartShopPayButton/CartShopPayButton.client.d.ts +0 -9
  352. package/dist/node/components/CartShopPayButton/CartShopPayButton.client.js +0 -46
  353. package/dist/node/components/CartShopPayButton/index.d.ts +0 -1
  354. package/dist/node/components/CartShopPayButton/index.js +0 -5
  355. package/dist/node/components/ExternalVideo/ExternalVideo.d.ts +0 -21
  356. package/dist/node/components/ExternalVideo/ExternalVideo.js +0 -21
  357. package/dist/node/components/ExternalVideo/index.d.ts +0 -1
  358. package/dist/node/components/ExternalVideo/index.js +0 -5
  359. package/dist/node/components/Image/Image.d.ts +0 -92
  360. package/dist/node/components/Image/Image.js +0 -137
  361. package/dist/node/components/Image/index.d.ts +0 -2
  362. package/dist/node/components/Image/index.js +0 -5
  363. package/dist/node/components/Link/Link.client.d.ts +0 -25
  364. package/dist/node/components/Link/Link.client.js +0 -165
  365. package/dist/node/components/Link/index.d.ts +0 -1
  366. package/dist/node/components/Link/index.js +0 -5
  367. package/dist/node/components/LocalizationProvider/LocalizationClientProvider.client.d.ts +0 -6
  368. package/dist/node/components/LocalizationProvider/LocalizationClientProvider.client.js +0 -11
  369. package/dist/node/components/LocalizationProvider/LocalizationContext.client.d.ts +0 -6
  370. package/dist/node/components/LocalizationProvider/LocalizationContext.client.js +0 -5
  371. package/dist/node/components/LocalizationProvider/LocalizationProvider.server.d.ts +0 -33
  372. package/dist/node/components/LocalizationProvider/LocalizationProvider.server.js +0 -51
  373. package/dist/node/components/MediaFile/MediaFile.d.ts +0 -19
  374. package/dist/node/components/MediaFile/MediaFile.js +0 -39
  375. package/dist/node/components/MediaFile/index.d.ts +0 -1
  376. package/dist/node/components/MediaFile/index.js +0 -5
  377. package/dist/node/components/Metafield/Metafield.client.d.ts +0 -21
  378. package/dist/node/components/Metafield/Metafield.client.js +0 -75
  379. package/dist/node/components/Metafield/index.d.ts +0 -2
  380. package/dist/node/components/Metafield/index.js +0 -5
  381. package/dist/node/components/Metafield/types.d.ts +0 -4
  382. package/dist/node/components/Metafield/types.js +0 -2
  383. package/dist/node/components/ModelViewer/ModelViewer.client.d.ts +0 -128
  384. package/dist/node/components/ModelViewer/ModelViewer.client.js +0 -132
  385. package/dist/node/components/ModelViewer/index.d.ts +0 -1
  386. package/dist/node/components/ModelViewer/index.js +0 -5
  387. package/dist/node/components/Money/Money.client.d.ts +0 -25
  388. package/dist/node/components/Money/Money.client.js +0 -46
  389. package/dist/node/components/Money/index.d.ts +0 -1
  390. package/dist/node/components/Money/index.js +0 -5
  391. package/dist/node/components/ProductOptionsProvider/ProductOptionsProvider.client.d.ts +0 -21
  392. package/dist/node/components/ProductOptionsProvider/ProductOptionsProvider.client.js +0 -168
  393. package/dist/node/components/ProductOptionsProvider/context.d.ts +0 -2
  394. package/dist/node/components/ProductOptionsProvider/context.js +0 -5
  395. package/dist/node/components/ProductOptionsProvider/index.d.ts +0 -2
  396. package/dist/node/components/ProductOptionsProvider/index.js +0 -7
  397. package/dist/node/components/ProductPrice/ProductPrice.client.d.ts +0 -18
  398. package/dist/node/components/ProductPrice/ProductPrice.client.js +0 -61
  399. package/dist/node/components/ProductPrice/index.d.ts +0 -1
  400. package/dist/node/components/ProductPrice/index.js +0 -5
  401. package/dist/node/components/Seo/CollectionSeo.client.d.ts +0 -3
  402. package/dist/node/components/Seo/CollectionSeo.client.js +0 -22
  403. package/dist/node/components/Seo/DefaultPageSeo.client.d.ts +0 -3
  404. package/dist/node/components/Seo/DefaultPageSeo.client.js +0 -25
  405. package/dist/node/components/Seo/DescriptionSeo.client.d.ts +0 -4
  406. package/dist/node/components/Seo/DescriptionSeo.client.js +0 -17
  407. package/dist/node/components/Seo/HomePageSeo.client.d.ts +0 -2
  408. package/dist/node/components/Seo/HomePageSeo.client.js +0 -32
  409. package/dist/node/components/Seo/ImageSeo.client.d.ts +0 -3
  410. package/dist/node/components/Seo/ImageSeo.client.js +0 -17
  411. package/dist/node/components/Seo/NoIndexSeo.client.d.ts +0 -3
  412. package/dist/node/components/Seo/NoIndexSeo.client.js +0 -17
  413. package/dist/node/components/Seo/PageSeo.client.d.ts +0 -3
  414. package/dist/node/components/Seo/PageSeo.client.js +0 -20
  415. package/dist/node/components/Seo/ProductSeo.client.d.ts +0 -5
  416. package/dist/node/components/Seo/ProductSeo.client.js +0 -70
  417. package/dist/node/components/Seo/Seo.client.d.ts +0 -30
  418. package/dist/node/components/Seo/Seo.client.js +0 -38
  419. package/dist/node/components/Seo/TitleSeo.client.d.ts +0 -3
  420. package/dist/node/components/Seo/TitleSeo.client.js +0 -17
  421. package/dist/node/components/Seo/TwitterSeo.client.d.ts +0 -2
  422. package/dist/node/components/Seo/TwitterSeo.client.js +0 -16
  423. package/dist/node/components/Seo/index.d.ts +0 -1
  424. package/dist/node/components/Seo/index.js +0 -5
  425. package/dist/node/components/Seo/seo-types.d.ts +0 -17
  426. package/dist/node/components/Seo/seo-types.js +0 -2
  427. package/dist/node/components/ShopPayButton/ShopPayButton.client.d.ts +0 -38
  428. package/dist/node/components/ShopPayButton/ShopPayButton.client.js +0 -60
  429. package/dist/node/components/ShopPayButton/index.d.ts +0 -1
  430. package/dist/node/components/ShopPayButton/index.js +0 -5
  431. package/dist/node/components/Video/Video.d.ts +0 -14
  432. package/dist/node/components/Video/Video.js +0 -31
  433. package/dist/node/components/Video/index.d.ts +0 -1
  434. package/dist/node/components/Video/index.js +0 -5
  435. package/dist/node/components/index.d.ts +0 -28
  436. package/dist/node/components/index.js +0 -59
  437. package/dist/node/components/types.d.ts +0 -71
  438. package/dist/node/components/types.js +0 -11
  439. package/dist/node/constants.d.ts +0 -7
  440. package/dist/node/constants.js +0 -10
  441. package/dist/node/entry-server.js +0 -495
  442. package/dist/node/foundation/Analytics/Analytics.client.d.ts +0 -3
  443. package/dist/node/foundation/Analytics/Analytics.client.js +0 -34
  444. package/dist/node/foundation/Analytics/Analytics.server.d.ts +0 -1
  445. package/dist/node/foundation/Analytics/Analytics.server.js +0 -77
  446. package/dist/node/foundation/Analytics/ClientAnalytics.d.ts +0 -27
  447. package/dist/node/foundation/Analytics/ClientAnalytics.js +0 -102
  448. package/dist/node/foundation/Analytics/ServerAnalyticsRoute.server.d.ts +0 -2
  449. package/dist/node/foundation/Analytics/ServerAnalyticsRoute.server.js +0 -39
  450. package/dist/node/foundation/Analytics/connectors/PerformanceMetrics/PerformanceMetrics.client.d.ts +0 -7
  451. package/dist/node/foundation/Analytics/connectors/PerformanceMetrics/PerformanceMetrics.client.js +0 -68
  452. package/dist/node/foundation/Analytics/connectors/PerformanceMetrics/PerformanceMetricsDebug.client.d.ts +0 -1
  453. package/dist/node/foundation/Analytics/connectors/PerformanceMetrics/PerformanceMetricsDebug.client.js +0 -27
  454. package/dist/node/foundation/Analytics/const.d.ts +0 -9
  455. package/dist/node/foundation/Analytics/const.js +0 -12
  456. package/dist/node/foundation/Analytics/hook.d.ts +0 -1
  457. package/dist/node/foundation/Analytics/hook.js +0 -13
  458. package/dist/node/foundation/Analytics/index.d.ts +0 -1
  459. package/dist/node/foundation/Analytics/index.js +0 -5
  460. package/dist/node/foundation/Analytics/types.d.ts +0 -5
  461. package/dist/node/foundation/Analytics/types.js +0 -2
  462. package/dist/node/foundation/Analytics/utils.d.ts +0 -3
  463. package/dist/node/foundation/Analytics/utils.js +0 -35
  464. package/dist/node/foundation/AnalyticsErrorBoundary.client.d.ts +0 -4
  465. package/dist/node/foundation/AnalyticsErrorBoundary.client.js +0 -14
  466. package/dist/node/foundation/Cache/cache-sub-request.d.ts +0 -17
  467. package/dist/node/foundation/Cache/cache-sub-request.js +0 -95
  468. package/dist/node/foundation/Cache/cache.d.ts +0 -17
  469. package/dist/node/foundation/Cache/cache.js +0 -135
  470. package/dist/node/foundation/Cache/strategies/index.d.ts +0 -11
  471. package/dist/node/foundation/Cache/strategies/index.js +0 -108
  472. package/dist/node/foundation/Head/Head.client.d.ts +0 -5
  473. package/dist/node/foundation/Head/Head.client.js +0 -17
  474. package/dist/node/foundation/Head/index.d.ts +0 -1
  475. package/dist/node/foundation/Head/index.js +0 -5
  476. package/dist/node/foundation/Html/Html.d.ts +0 -13
  477. package/dist/node/foundation/Html/Html.js +0 -107
  478. package/dist/node/foundation/HydrogenRequest/HydrogenRequest.server.d.ts +0 -63
  479. package/dist/node/foundation/HydrogenRequest/HydrogenRequest.server.js +0 -151
  480. package/dist/node/foundation/HydrogenResponse/HydrogenResponse.server.d.ts +0 -23
  481. package/dist/node/foundation/HydrogenResponse/HydrogenResponse.server.js +0 -53
  482. package/dist/node/foundation/Redirect/Redirect.client.d.ts +0 -5
  483. package/dist/node/foundation/Redirect/Redirect.client.js +0 -18
  484. package/dist/node/foundation/Router/BrowserRouter.client.d.ts +0 -14
  485. package/dist/node/foundation/Router/BrowserRouter.client.js +0 -166
  486. package/dist/node/foundation/ServerPropsProvider/ServerPropsProvider.d.ts +0 -41
  487. package/dist/node/foundation/ServerPropsProvider/ServerPropsProvider.js +0 -90
  488. package/dist/node/foundation/ServerPropsProvider/index.d.ts +0 -2
  489. package/dist/node/foundation/ServerPropsProvider/index.js +0 -6
  490. package/dist/node/foundation/ServerRequestProvider/ServerRequestProvider.d.ts +0 -22
  491. package/dist/node/foundation/ServerRequestProvider/ServerRequestProvider.js +0 -155
  492. package/dist/node/foundation/ServerRequestProvider/index.d.ts +0 -1
  493. package/dist/node/foundation/ServerRequestProvider/index.js +0 -17
  494. package/dist/node/foundation/ShopifyProvider/ShopifyProvider.client.d.ts +0 -7
  495. package/dist/node/foundation/ShopifyProvider/ShopifyProvider.client.js +0 -35
  496. package/dist/node/foundation/ShopifyProvider/index.d.ts +0 -1
  497. package/dist/node/foundation/ShopifyProvider/index.js +0 -5
  498. package/dist/node/foundation/ShopifyProvider/types.d.ts +0 -13
  499. package/dist/node/foundation/ShopifyProvider/types.js +0 -2
  500. package/dist/node/foundation/fetchSync/client/fetchSync.d.ts +0 -10
  501. package/dist/node/foundation/fetchSync/client/fetchSync.js +0 -33
  502. package/dist/node/foundation/fetchSync/server/fetchSync.d.ts +0 -8
  503. package/dist/node/foundation/fetchSync/server/fetchSync.js +0 -33
  504. package/dist/node/foundation/fetchSync/types.d.ts +0 -5
  505. package/dist/node/foundation/fetchSync/types.js +0 -2
  506. package/dist/node/foundation/index.d.ts +0 -3
  507. package/dist/node/foundation/index.js +0 -10
  508. package/dist/node/foundation/runtime.d.ts +0 -2
  509. package/dist/node/foundation/runtime.js +0 -11
  510. package/dist/node/foundation/session/session.d.ts +0 -27
  511. package/dist/node/foundation/session/session.js +0 -43
  512. package/dist/node/foundation/ssr-interop.d.ts +0 -29
  513. package/dist/node/foundation/ssr-interop.js +0 -39
  514. package/dist/node/foundation/useNavigate/useNavigate.d.ts +0 -15
  515. package/dist/node/foundation/useNavigate/useNavigate.js +0 -25
  516. package/dist/node/foundation/useQuery/hooks.d.ts +0 -37
  517. package/dist/node/foundation/useQuery/hooks.js +0 -119
  518. package/dist/node/foundation/useRouteParams/RouteParamsProvider.client.d.ts +0 -10
  519. package/dist/node/foundation/useRouteParams/RouteParamsProvider.client.js +0 -34
  520. package/dist/node/foundation/useRouteParams/useRouteParams.d.ts +0 -4
  521. package/dist/node/foundation/useRouteParams/useRouteParams.js +0 -13
  522. package/dist/node/foundation/useServerProps/index.d.ts +0 -1
  523. package/dist/node/foundation/useServerProps/index.js +0 -5
  524. package/dist/node/foundation/useServerProps/use-server-props.d.ts +0 -21
  525. package/dist/node/foundation/useServerProps/use-server-props.js +0 -40
  526. package/dist/node/foundation/useSession/useSession.d.ts +0 -2
  527. package/dist/node/foundation/useSession/useSession.js +0 -12
  528. package/dist/node/foundation/useShop/index.d.ts +0 -1
  529. package/dist/node/foundation/useShop/index.js +0 -5
  530. package/dist/node/foundation/useShop/use-shop.d.ts +0 -6
  531. package/dist/node/foundation/useShop/use-shop.js +0 -18
  532. package/dist/node/foundation/useUrl/index.d.ts +0 -1
  533. package/dist/node/foundation/useUrl/index.js +0 -5
  534. package/dist/node/foundation/useUrl/useUrl.d.ts +0 -4
  535. package/dist/node/foundation/useUrl/useUrl.js +0 -32
  536. package/dist/node/framework/Hydration/rsc.d.ts +0 -8
  537. package/dist/node/framework/Hydration/rsc.js +0 -105
  538. package/dist/node/hooks/index.d.ts +0 -6
  539. package/dist/node/hooks/index.js +0 -28
  540. package/dist/node/hooks/useCart/index.d.ts +0 -1
  541. package/dist/node/hooks/useCart/index.js +0 -5
  542. package/dist/node/hooks/useCart/useCart.d.ts +0 -4
  543. package/dist/node/hooks/useCart/useCart.js +0 -19
  544. package/dist/node/hooks/useCartLine/index.d.ts +0 -1
  545. package/dist/node/hooks/useCartLine/index.js +0 -5
  546. package/dist/node/hooks/useCartLine/useCartLine.d.ts +0 -39
  547. package/dist/node/hooks/useCartLine/useCartLine.js +0 -16
  548. package/dist/node/hooks/useCountry/index.d.ts +0 -1
  549. package/dist/node/hooks/useCountry/index.js +0 -5
  550. package/dist/node/hooks/useCountry/useCountry.d.ts +0 -7
  551. package/dist/node/hooks/useCountry/useCountry.js +0 -21
  552. package/dist/node/hooks/useLoadScript/index.d.ts +0 -1
  553. package/dist/node/hooks/useLoadScript/index.js +0 -5
  554. package/dist/node/hooks/useLoadScript/useLoadScript.client.d.ts +0 -8
  555. package/dist/node/hooks/useLoadScript/useLoadScript.client.js +0 -27
  556. package/dist/node/hooks/useMeasurement/hooks.d.ts +0 -9
  557. package/dist/node/hooks/useMeasurement/hooks.js +0 -17
  558. package/dist/node/hooks/useMeasurement/index.d.ts +0 -1
  559. package/dist/node/hooks/useMeasurement/index.js +0 -5
  560. package/dist/node/hooks/useMoney/hooks.d.ts +0 -54
  561. package/dist/node/hooks/useMoney/hooks.js +0 -70
  562. package/dist/node/hooks/useMoney/index.d.ts +0 -1
  563. package/dist/node/hooks/useMoney/index.js +0 -5
  564. package/dist/node/hooks/useParsedMetafields/index.d.ts +0 -1
  565. package/dist/node/hooks/useParsedMetafields/index.js +0 -5
  566. package/dist/node/hooks/useParsedMetafields/useParsedMetafields.d.ts +0 -21
  567. package/dist/node/hooks/useParsedMetafields/useParsedMetafields.js +0 -25
  568. package/dist/node/hooks/useProductOptions/helpers.d.ts +0 -6
  569. package/dist/node/hooks/useProductOptions/helpers.js +0 -46
  570. package/dist/node/hooks/useProductOptions/index.d.ts +0 -2
  571. package/dist/node/hooks/useProductOptions/index.js +0 -20
  572. package/dist/node/hooks/useProductOptions/types.d.ts +0 -44
  573. package/dist/node/hooks/useProductOptions/types.js +0 -2
  574. package/dist/node/hooks/useProductOptions/useProductOptions.client.d.ts +0 -1
  575. package/dist/node/hooks/useProductOptions/useProductOptions.client.js +0 -13
  576. package/dist/node/hooks/useShopQuery/hooks.d.ts +0 -28
  577. package/dist/node/hooks/useShopQuery/hooks.js +0 -171
  578. package/dist/node/hooks/useShopQuery/index.d.ts +0 -1
  579. package/dist/node/hooks/useShopQuery/index.js +0 -5
  580. package/dist/node/storefront-api-types.d.ts +0 -6076
  581. package/dist/node/storefront-api-types.js +0 -1766
  582. package/dist/node/streaming.server.d.ts +0 -25
  583. package/dist/node/streaming.server.js +0 -28
  584. package/dist/node/types.d.ts +0 -114
  585. package/dist/node/types.js +0 -2
  586. package/dist/node/utilities/apiRoutes.d.ts +0 -37
  587. package/dist/node/utilities/apiRoutes.js +0 -157
  588. package/dist/node/utilities/bot-ua.d.ts +0 -4
  589. package/dist/node/utilities/bot-ua.js +0 -65
  590. package/dist/node/utilities/devtools.d.ts +0 -11
  591. package/dist/node/utilities/devtools.js +0 -15
  592. package/dist/node/utilities/error.d.ts +0 -1
  593. package/dist/node/utilities/error.js +0 -10
  594. package/dist/node/utilities/fetch.d.ts +0 -9
  595. package/dist/node/utilities/fetch.js +0 -37
  596. package/dist/node/utilities/flattenConnection/flattenConnection.d.ts +0 -6
  597. package/dist/node/utilities/flattenConnection/flattenConnection.js +0 -15
  598. package/dist/node/utilities/flattenConnection/index.d.ts +0 -1
  599. package/dist/node/utilities/flattenConnection/index.js +0 -5
  600. package/dist/node/utilities/graphql-tag.d.ts +0 -1
  601. package/dist/node/utilities/graphql-tag.js +0 -10
  602. package/dist/node/utilities/graphql-tracker.d.ts +0 -17
  603. package/dist/node/utilities/graphql-tracker.js +0 -130
  604. package/dist/node/utilities/hash.d.ts +0 -2
  605. package/dist/node/utilities/hash.js +0 -11
  606. package/dist/node/utilities/html-encoding.d.ts +0 -1
  607. package/dist/node/utilities/html-encoding.js +0 -12
  608. package/dist/node/utilities/image_size.d.ts +0 -12
  609. package/dist/node/utilities/image_size.js +0 -68
  610. package/dist/node/utilities/index.d.ts +0 -12
  611. package/dist/node/utilities/index.js +0 -33
  612. package/dist/node/utilities/isBrowser/index.d.ts +0 -1
  613. package/dist/node/utilities/isBrowser/index.js +0 -5
  614. package/dist/node/utilities/isBrowser/isBrowser.d.ts +0 -4
  615. package/dist/node/utilities/isBrowser/isBrowser.js +0 -10
  616. package/dist/node/utilities/isServer/index.d.ts +0 -1
  617. package/dist/node/utilities/isServer/index.js +0 -5
  618. package/dist/node/utilities/isServer/isServer.d.ts +0 -4
  619. package/dist/node/utilities/isServer/isServer.js +0 -11
  620. package/dist/node/utilities/load_script.d.ts +0 -3
  621. package/dist/node/utilities/load_script.js +0 -27
  622. package/dist/node/utilities/log/index.d.ts +0 -4
  623. package/dist/node/utilities/log/index.js +0 -16
  624. package/dist/node/utilities/log/log-cache-api-status.d.ts +0 -1
  625. package/dist/node/utilities/log/log-cache-api-status.js +0 -17
  626. package/dist/node/utilities/log/log-cache-header.d.ts +0 -10
  627. package/dist/node/utilities/log/log-cache-header.js +0 -35
  628. package/dist/node/utilities/log/log-query-timeline.d.ts +0 -12
  629. package/dist/node/utilities/log/log-query-timeline.js +0 -88
  630. package/dist/node/utilities/log/log.d.ts +0 -28
  631. package/dist/node/utilities/log/log.js +0 -81
  632. package/dist/node/utilities/log/utils.d.ts +0 -3
  633. package/dist/node/utilities/log/utils.js +0 -21
  634. package/dist/node/utilities/matchPath.d.ts +0 -10
  635. package/dist/node/utilities/matchPath.js +0 -58
  636. package/dist/node/utilities/measurement.d.ts +0 -3
  637. package/dist/node/utilities/measurement.js +0 -103
  638. package/dist/node/utilities/parse.d.ts +0 -1
  639. package/dist/node/utilities/parse.js +0 -13
  640. package/dist/node/utilities/parseMetafieldValue/index.d.ts +0 -1
  641. package/dist/node/utilities/parseMetafieldValue/index.js +0 -5
  642. package/dist/node/utilities/parseMetafieldValue/parseMetafieldValue.d.ts +0 -6
  643. package/dist/node/utilities/parseMetafieldValue/parseMetafieldValue.js +0 -40
  644. package/dist/node/utilities/storefrontApi.d.ts +0 -4
  645. package/dist/node/utilities/storefrontApi.js +0 -26
  646. package/dist/node/utilities/suspense.d.ts +0 -12
  647. package/dist/node/utilities/suspense.js +0 -64
  648. package/dist/node/utilities/template.d.ts +0 -9
  649. package/dist/node/utilities/template.js +0 -27
  650. package/dist/node/utilities/timing.d.ts +0 -7
  651. package/dist/node/utilities/timing.js +0 -18
  652. package/dist/node/utilities/video_parameters.d.ts +0 -47
  653. package/dist/node/utilities/video_parameters.js +0 -27
  654. package/dist/node/version.d.ts +0 -1
  655. package/dist/node/version.js +0 -4
  656. package/entry-client.d.ts +0 -1
  657. package/entry-client.js +0 -1
  658. package/entry-server.d.ts +0 -1
  659. package/entry-server.js +0 -1
  660. package/middleware.d.ts +0 -1
  661. package/middleware.js +0 -1
  662. package/plugin.d.ts +0 -1
  663. package/plugin.js +0 -1
  664. package/web-polyfills.js +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,223 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.26.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#1615](https://github.com/Shopify/hydrogen/pull/1615) [`20bfc438`](https://github.com/Shopify/hydrogen/commit/20bfc4388ed400dc215a41cca44fe8cd4a11022a) Thanks [@frehner](https://github.com/frehner)! - `<CartEstimatedCost/>` has been renamed to `<CartCost/>` to match a recent update to the Storefront API, in which `cart.estimatedCost` is being deprecated in favor of `cart.cost`.
8
+
9
+ Additionally, `cart.cost.compareAtAmount` was renamed to `cart.cost.compareAtAmountPerQuantity`.
10
+
11
+ * [#1619](https://github.com/Shopify/hydrogen/pull/1619) [`b0c13696`](https://github.com/Shopify/hydrogen/commit/b0c13696b6030ab8697147fdbe3ccdf2522a3913) Thanks [@blittle](https://github.com/blittle)! - We have reworked how localization works in Hydrogen. By default the `useLocalization()` hook returns the default locale defined within your [Hydrogen configuration file](https://shopify.dev/custom-storefronts/hydrogen/framework/hydrogen-config). The `<LocalizationProvider>` component now takes `countryCode` and `languageCode` as optional props. Any props given to `<LocalizationProvider>` will also be used by the `useLocalization` hook.
12
+
13
+ **Breaking Change**
14
+
15
+ The `useCountry` hook has been removed. Instead use the [`useLocalization` hook](https://shopify.dev/api/hydrogen/hooks/localization/uselocalization).
16
+
17
+ ```diff
18
+ - import {useCountry, gql} from '@shopify/hydrogen';
19
+ + import {useLocalization, gql} from '@shopify/hydrogen';
20
+
21
+ export function MyComponent() {
22
+
23
+ - const [country] = useCountry();
24
+ + const {country} = useLocalization();
25
+
26
+ return ( /* Your JSX */ );
27
+ }
28
+ ```
29
+
30
+ The `Link` component now respects the `basePath` property defined within it's parent `FileRoutes` component. For example, given `<FileRoutes basePath="/cn">`, a route within that renders `<Link to="/products">` will actually produce an anchor tag prefixed with `/cn`: `<a href="/cn/products">`. You can override the `basePath` with a `basePath` prop on the `Link` component.
31
+
32
+ - [#1646](https://github.com/Shopify/hydrogen/pull/1646) [`1103fb57`](https://github.com/Shopify/hydrogen/commit/1103fb575e51d5948c6bd4885bcd911be1f8bf7e) Thanks [@benjaminsehl](https://github.com/benjaminsehl)! - Updates default SEO titleTemplate for the Homepage
33
+
34
+ ### Patch Changes
35
+
36
+ - [#1569](https://github.com/Shopify/hydrogen/pull/1569) [`e5896a3e`](https://github.com/Shopify/hydrogen/commit/e5896a3e20b0bf2760b238e713a7bc04f7e95e2d) Thanks [@wizardlyhel](https://github.com/wizardlyhel)! - Clean up full page cache work with `waitUntil`
37
+
38
+ * [#1643](https://github.com/Shopify/hydrogen/pull/1643) [`3b849606`](https://github.com/Shopify/hydrogen/commit/3b849606c4999d19920330f86c535a6f892dcc65) Thanks [@frandiox](https://github.com/frandiox)! - Do not cache client components in browser when using TypeScript.
39
+
40
+ - [#1605](https://github.com/Shopify/hydrogen/pull/1605) [`2eb2c461`](https://github.com/Shopify/hydrogen/commit/2eb2c4615210cafadab8ed154909f3516c72db3e) Thanks [@frandiox](https://github.com/frandiox)! - Fix hydration issues with `useId`.
41
+
42
+ * [#1613](https://github.com/Shopify/hydrogen/pull/1613) [`c45ebd3c`](https://github.com/Shopify/hydrogen/commit/c45ebd3cf468c9f596ef399712506bd766dea54d) Thanks [@frehner](https://github.com/frehner)! - The `<ShopPayButton/>` and `<CartShopPayButton/>` now take in a `width` prop to help customize how wide the `<shop-pay-button>` custom element is, by using the newly added CSS custom property (variable) `--shop-pay-button-width`.
43
+
44
+ - [#1651](https://github.com/Shopify/hydrogen/pull/1651) [`a19be2b2`](https://github.com/Shopify/hydrogen/commit/a19be2b22cee63bf95ade3a4f5803c460651a473) Thanks [@blittle](https://github.com/blittle)! - Fixes to the cart:
45
+
46
+ 1. Fix bug when providing a lower-case country code to the `LocalizationProvider`
47
+ 2. Make sure that the Cart always logs API errors
48
+
49
+ * [#1649](https://github.com/Shopify/hydrogen/pull/1649) [`df0e01ff`](https://github.com/Shopify/hydrogen/commit/df0e01fff6afae22a30be8c0bb750aed016326a4) Thanks [@blittle](https://github.com/blittle)! - Add a `x-powered-by: Shopify-Hydrogen` header which can be disabled with the Hydrogen config property: `poweredByHeader: false`
50
+
51
+ - [#1566](https://github.com/Shopify/hydrogen/pull/1566) [`cfe7385e`](https://github.com/Shopify/hydrogen/commit/cfe7385e0c64c3dc465d1bcd34ad9c7040db9969) Thanks [@wizardlyhel](https://github.com/wizardlyhel)! - Add storefont id to cart provider query
52
+
53
+ * [#1551](https://github.com/Shopify/hydrogen/pull/1551) [`3d20e92d`](https://github.com/Shopify/hydrogen/commit/3d20e92db3402e356c16d0bc5fc4450f9d8c0df5) Thanks [@jplhomer](https://github.com/jplhomer)! - In-Memory caching is now enabled by default in production for Node.js runtimes.
54
+
55
+ - [#1604](https://github.com/Shopify/hydrogen/pull/1604) [`f3827d31`](https://github.com/Shopify/hydrogen/commit/f3827d31263352689c5149a5509b51d1fdb572d4) Thanks [@cartogram](https://github.com/cartogram)! - Adds new `load-config` entry point that exposes a `loadConfig()` function that will return the configuration object and the path to the found configuration file for a given Hydrogen project root.
56
+
57
+ Example:
58
+
59
+ ```ts
60
+ import {loadConfig} from '@shopify/hydrogen/load-config';
61
+
62
+ const {configuration, configurationPath} = await loadConfig({
63
+ root: 'path/to/hydrogen-app',
64
+ });
65
+ ```
66
+
67
+ * [#1626](https://github.com/Shopify/hydrogen/pull/1626) [`29218452`](https://github.com/Shopify/hydrogen/commit/29218452a1679be629616993d8cc23ad7077667b) Thanks [@frandiox](https://github.com/frandiox)! - Fix import aliases.
68
+
69
+ - [#1622](https://github.com/Shopify/hydrogen/pull/1622) [`d339239d`](https://github.com/Shopify/hydrogen/commit/d339239d23b074cba3ee637166f8120512a6afee) Thanks [@frandiox](https://github.com/frandiox)! - Fix module resolution after HMR in some scenarios.
70
+
71
+ * [#1608](https://github.com/Shopify/hydrogen/pull/1608) [`b834dfdc`](https://github.com/Shopify/hydrogen/commit/b834dfdcddc56c78bb6fbb7e0a681cc3c977b62d) Thanks [@jplhomer](https://github.com/jplhomer)! - Add type exports for `HydrogenRouteProps`, `HydrogenApiRoute`, and `HydrogenApiRouteOptions`.
72
+
73
+ - [#1603](https://github.com/Shopify/hydrogen/pull/1603) [`e1bb5810`](https://github.com/Shopify/hydrogen/commit/e1bb5810f218acc5b7debb60bcdebc6c9594f86c) Thanks [@frandiox](https://github.com/frandiox)! - Do not trigger prefetch when `to` prop is missing in the `Link` component.
74
+
75
+ ## 0.25.1
76
+
77
+ ## 0.25.0
78
+
79
+ ### Minor Changes
80
+
81
+ - [#1570](https://github.com/Shopify/hydrogen/pull/1570) [`36f26e54`](https://github.com/Shopify/hydrogen/commit/36f26e54a0b136fe4b21807756969e592934c9f2) Thanks [@frehner](https://github.com/frehner)! - `<Image/>` now takes into account a specific order for determining the width and height.
82
+
83
+ 1. `loaderOptions`'s width/height
84
+ 2. width/height bare props
85
+ 3. `data`'s width/height
86
+
87
+ `getShopifyImageDimensions()` was also updated to handle this logic.
88
+
89
+ * [#1506](https://github.com/Shopify/hydrogen/pull/1506) [`58d6ef55`](https://github.com/Shopify/hydrogen/commit/58d6ef55be2929c9a1680a6a372bb2e5fdfb7ee6) Thanks [@wizardlyhel](https://github.com/wizardlyhel)! - Hydrogen now supports full-page caching out of the box. Previously, Hydrogen relied on the network edge to provide full-page caching for dynamic responses (HTML).
90
+
91
+ - [#1346](https://github.com/Shopify/hydrogen/pull/1346) [`01814369`](https://github.com/Shopify/hydrogen/commit/018143693f96b7a200258665de570a9369ae8e65) Thanks [@lordofthecactus](https://github.com/lordofthecactus)! - Add `onClick` and `buttonRef` props to `AddToCartButton`, `BuyNowButton` and `CartLineQuantityAdjustButton`
92
+
93
+ * [#1523](https://github.com/Shopify/hydrogen/pull/1523) [`4ef2e5b9`](https://github.com/Shopify/hydrogen/commit/4ef2e5b93cd537a213334211113c224194d9dd68) Thanks [@blittle](https://github.com/blittle)! - We've simplified the built-in Hydrogen caching strategies. Instead of `CacheSeconds`, `CacheMinutes`, `CacheHours`, `CacheDays`, `CacheMonths`, and `NoStore`, there is no simply `CacheLong`, `CacheShort`, and `CacheNone`. Please remember that you can [build your own caching strategies](https://shopify.dev/custom-storefronts/hydrogen/framework/cache#build-your-own-caching-strategies).
94
+
95
+ - [#1513](https://github.com/Shopify/hydrogen/pull/1513) [`8d67b559`](https://github.com/Shopify/hydrogen/commit/8d67b559e8d59d02ca353ec43fb5b2b3ff2f5961) Thanks [@frandiox](https://github.com/frandiox)! - **Breaking change:** We are starting to use [`exports` property in `package.json`](https://nodejs.org/api/packages.html#package-entry-points) to list all the entry points in this package.
96
+
97
+ This might incur breaking changes in some rare cases when importing private properties from Hydrogen `dist` files. Notice that we **discourage** doing so for anything that is not publicly documented but, if your app was relying on some private properties, then this might help:
98
+
99
+ ```diff
100
+ -import {xyz} from '@shopify/hydrogen/dist/esnext/<internal-path>';
101
+ +import {xyz} from '@shopify/hydrogen/<internal-path>';
102
+ ```
103
+
104
+ Aside from that, it is recommended that TypeScript projects update the `tsconfig.json` file to use `compilerOptions.moduleResolution: "node16"` to make sure Hydrogen types are loaded in your editor.
105
+ For JavaScript projects, create or edit `<root>/jsconfig.json` file with the following information to improve typings:
106
+
107
+ ```json
108
+ {
109
+ "compilerOptions": {
110
+ "target": "es2020",
111
+ "module": "esnext",
112
+ "moduleResolution": "node16",
113
+ "lib": ["dom", "dom.iterable", "scripthost", "es2020"],
114
+ "jsx": "react",
115
+ "types": ["vite/client"]
116
+ },
117
+ "exclude": ["node_modules", "dist"],
118
+ "include": ["**/*.js", "**/*.jsx"]
119
+ }
120
+ ```
121
+
122
+ * [#1528](https://github.com/Shopify/hydrogen/pull/1528) [`72d21b87`](https://github.com/Shopify/hydrogen/commit/72d21b87e48a682794889610741f03560bce0be7) Thanks [@frehner](https://github.com/frehner)! - Metafields have changed in Storefront API `2022-07`. We updated our code to work with that update, which means that the following changes will **only work if you're using `2022-07` or newer.**
123
+
124
+ ## Metafields changes
125
+
126
+ ### Storefront API `2022-07`
127
+
128
+ Metafields have changed how you access them in the Storefront API. See [the release notes](https://shopify.dev/api/release-notes/2022-07) for more details. In order to support the new way of querying metafields, Hydrogen has made the following updates:
129
+
130
+ ### `<Metafield/>`
131
+
132
+ Previously, the `<Metafield/>` component expected you to use `useParseMetafields()` before passing a metafield to it.
133
+
134
+ Now, `<Metafield/>` will use `parseMetafield()` itself so that you don't have to. However, this does mean that if you use `parseMetafield()` and then pass it to `<Metafield/>`, it will likely break because it will try to parse your metafield's value a second time.
135
+
136
+ ### `useParsedMetafields()` and `parseMetafield()`
137
+
138
+ Deprecated `useParsedMetafields()` in favor of `parseMetafield()`. `parseMetafield()` takes in a single metafield and returns a new object, and importantly it can be used on both the client _and_ the server.
139
+
140
+ If you need to memoize the value on the client, then you can do so using `React.memo`:
141
+
142
+ ```tsx
143
+ import {useMemo} from 'react';
144
+ import {parseMetafield} from '@shopify/hydrogen'x
145
+
146
+ function MyComponent() {
147
+ const parsedMetafield = useMemo(() => parseMetafield(metafield), [metafield]);
148
+ }
149
+ ```
150
+
151
+ - [#1517](https://github.com/Shopify/hydrogen/pull/1517) [`68b8185e`](https://github.com/Shopify/hydrogen/commit/68b8185e74805a6453e246f01ce69a38988078ef) Thanks [@frandiox](https://github.com/frandiox)! - **Breaking change:** The utilities used in `hydrogen.config.js` file are now exported from `@shopiy/hydrogen/config` instead of `@shopify/hydrogen`:
152
+
153
+ ```diff
154
+ -import {defineConfig} from '@shopify/hydrogen/config';
155
+ import {
156
+ + defineConfig,
157
+ CookieSessionStorage,
158
+ PerformanceMetricsServerAnalyticsConnector,
159
+ ShopifyServerAnalyticsConnector,
160
+ -} from '@shopify/hydrogen';
161
+ +} from '@shopify/hydrogen/config'
162
+
163
+ export default defineConfig({
164
+ shopify: {/* ... */},
165
+ session: CookieSessionStorage('__session', {
166
+ path: '/',
167
+ /* ... */
168
+ }),
169
+ serverAnalyticsConnectors: [
170
+ PerformanceMetricsServerAnalyticsConnector,
171
+ ShopifyServerAnalyticsConnector,
172
+ ],
173
+ });
174
+ ```
175
+
176
+ ### Patch Changes
177
+
178
+ - [#1494](https://github.com/Shopify/hydrogen/pull/1494) [`3b549439`](https://github.com/Shopify/hydrogen/commit/3b549439bae1ec43ae9171744c576c53d8e8f6f1) Thanks [@jplhomer](https://github.com/jplhomer)! - Update `flattenConnection` to accept `nodes` and `edges` payloads
179
+
180
+ * [#1579](https://github.com/Shopify/hydrogen/pull/1579) [`2f75247c`](https://github.com/Shopify/hydrogen/commit/2f75247c071253ae27f6070a066897b5758a6a4f) Thanks [@frandiox](https://github.com/frandiox)! - Support renaming client component exports in intermediate/facade files.
181
+
182
+ - [#1562](https://github.com/Shopify/hydrogen/pull/1562) [`d38f6413`](https://github.com/Shopify/hydrogen/commit/d38f6413361d1ecb49c52d8389547d2b064081f7) Thanks [@wizardlyhel](https://github.com/wizardlyhel)! - Add storefront id to useShopQuery calls when available
183
+
184
+ * [#1593](https://github.com/Shopify/hydrogen/pull/1593) [`ae35b70b`](https://github.com/Shopify/hydrogen/commit/ae35b70b0847e1a6270d1c63d2968a3578442e66) Thanks [@juanpprieto](https://github.com/juanpprieto)! - Ensure the effect that updates the `cart.buyerIdenity.countryCode` is run when `countyCode` prop changes
185
+
186
+ - [#1504](https://github.com/Shopify/hydrogen/pull/1504) [`cc453242`](https://github.com/Shopify/hydrogen/commit/cc4532426509fd216f1bc036d5a095a18812b0cb) Thanks [@jplhomer](https://github.com/jplhomer)! - Fix read-only request.status in worker environments.
187
+
188
+ * [#1548](https://github.com/Shopify/hydrogen/pull/1548) [`923cb140`](https://github.com/Shopify/hydrogen/commit/923cb140b44fe989388f8754a8ca88bbfc68ab71) Thanks [@cartogram](https://github.com/cartogram)! - Add new devTools interface for performance, settings and graphQL tracking
189
+
190
+ - [#1375](https://github.com/Shopify/hydrogen/pull/1375) [`217b5f23`](https://github.com/Shopify/hydrogen/commit/217b5f23613da794bb6879ab0c897b66ef6204cf) Thanks [@blittle](https://github.com/blittle)! - Add a built-in healthcheck route available at `/__health`. It responds with a 200 and no body. Also suppresses server logs for built-in routes like healthcheck and analytics.
191
+
192
+ * [#1541](https://github.com/Shopify/hydrogen/pull/1541) [`4fde81f9`](https://github.com/Shopify/hydrogen/commit/4fde81f9d9ee739a6fbe5a8a903d3e6901144bf0) Thanks [@frandiox](https://github.com/frandiox)! - Fix support for latest React@experimental version.
193
+
194
+ - [#1497](https://github.com/Shopify/hydrogen/pull/1497) [`3364225f`](https://github.com/Shopify/hydrogen/commit/3364225ff62d283893643ea28c0135ff22af1dff) Thanks [@blittle](https://github.com/blittle)! - Improve waterfall detection
195
+
196
+ 1. Show a summary in dev mode with instructions on getting details
197
+ 2. Only show the waterfall warning the second time the page is loaded
198
+ 3. Don't show the waterfall warning on preloaded queries
199
+
200
+ * [#1519](https://github.com/Shopify/hydrogen/pull/1519) [`d54b1072`](https://github.com/Shopify/hydrogen/commit/d54b10725b635f4531e94b9391cfd56f31a1d2e5) Thanks [@frandiox](https://github.com/frandiox)! - Improve CPU performance of the `useMoney` hook.
201
+
202
+ - [#1518](https://github.com/Shopify/hydrogen/pull/1518) [`f0b69477`](https://github.com/Shopify/hydrogen/commit/f0b6947762acdfd617c9ccd34615a36a64ab36f2) Thanks [@frandiox](https://github.com/frandiox)! - Compile code to latest supported ES version in workers and Node.
203
+
204
+ * [#1571](https://github.com/Shopify/hydrogen/pull/1571) [`accdc78a`](https://github.com/Shopify/hydrogen/commit/accdc78a13cc1557826509545a322bfa04e6e288) Thanks [@jplhomer](https://github.com/jplhomer)! - Upgrade Hydrogen to React v18.2. To update your app, run `yarn add @shopify/hydrogen@latest react@latest react-dom@latest`.
205
+
206
+ - [#1578](https://github.com/Shopify/hydrogen/pull/1578) [`f5290393`](https://github.com/Shopify/hydrogen/commit/f5290393264c523045cab4082495e81ec72d576d) Thanks [@frandiox](https://github.com/frandiox)! - Fix an issue where newly imported client components were not found in the browser.
207
+
208
+ * [#1556](https://github.com/Shopify/hydrogen/pull/1556) [`06f3d174`](https://github.com/Shopify/hydrogen/commit/06f3d174ff286ece0a7175ac7c2ae37e574f73b0) Thanks [@blittle](https://github.com/blittle)! - Add support for `Request.formData()` within API Routes for Node 16-17. Example:
209
+
210
+ ```ts
211
+ export async function api(request) {
212
+ const formData = await request.formData();
213
+
214
+ const username = formData.get('user');
215
+ const password = formData.get('pass');
216
+
217
+ ...
218
+ }
219
+ ```
220
+
3
221
  ## 0.24.0
4
222
 
5
223
  ### Minor Changes
@@ -1,4 +1,4 @@
1
- import { ReactNode } from 'react';
1
+ import { BaseButtonProps } from '../BaseButton';
2
2
  interface AddToCartButtonProps {
3
3
  /** An array of cart line attributes that belong to the item being added to the cart. */
4
4
  attributes?: {
@@ -9,15 +9,12 @@ interface AddToCartButtonProps {
9
9
  variantId?: string | null;
10
10
  /** The item quantity. */
11
11
  quantity?: number;
12
- /** Any ReactNode elements. */
13
- children: ReactNode;
14
12
  /** The text that is announced by the screen reader when the item is being added to the cart. Used for accessibility purposes only and not displayed on the page. */
15
13
  accessibleAddingToCartLabel?: string;
16
14
  }
17
- declare type PropsWeControl = 'onClick';
18
15
  /**
19
16
  * The `AddToCartButton` component renders a button that adds an item to the cart when pressed.
20
17
  * It must be a descendent of the `CartProvider` component.
21
18
  */
22
- export declare function AddToCartButton(props: Omit<JSX.IntrinsicElements['button'], PropsWeControl> & AddToCartButtonProps): JSX.Element;
19
+ export declare function AddToCartButton(props: AddToCartButtonProps & BaseButtonProps): JSX.Element;
23
20
  export {};
@@ -1,17 +1,17 @@
1
- import React, { useEffect, useState } from 'react';
1
+ import React, { useCallback, useEffect, useState } from 'react';
2
2
  import { useCart } from '../CartProvider';
3
3
  import { useProductOptions } from '../ProductOptionsProvider';
4
+ import { BaseButton } from '../BaseButton';
4
5
  /**
5
6
  * The `AddToCartButton` component renders a button that adds an item to the cart when pressed.
6
7
  * It must be a descendent of the `CartProvider` component.
7
8
  */
8
9
  export function AddToCartButton(props) {
9
- var _a;
10
10
  const [addingItem, setAddingItem] = useState(false);
11
- const { variantId: explicitVariantId, quantity = 1, attributes, children, accessibleAddingToCartLabel, ...passthroughProps } = props;
11
+ const { variantId: explicitVariantId, quantity = 1, attributes, onClick, children, accessibleAddingToCartLabel, ...passthroughProps } = props;
12
12
  const { status, linesAdd } = useCart();
13
13
  const { selectedVariant } = useProductOptions();
14
- const variantId = (_a = explicitVariantId !== null && explicitVariantId !== void 0 ? explicitVariantId : selectedVariant === null || selectedVariant === void 0 ? void 0 : selectedVariant.id) !== null && _a !== void 0 ? _a : '';
14
+ const variantId = explicitVariantId ?? selectedVariant?.id ?? '';
15
15
  const disabled = explicitVariantId === null ||
16
16
  variantId === '' ||
17
17
  selectedVariant === null ||
@@ -22,17 +22,18 @@ export function AddToCartButton(props) {
22
22
  setAddingItem(false);
23
23
  }
24
24
  }, [status, addingItem]);
25
+ const handleAddItem = useCallback(() => {
26
+ setAddingItem(true);
27
+ linesAdd([
28
+ {
29
+ quantity,
30
+ merchandiseId: variantId,
31
+ attributes,
32
+ },
33
+ ]);
34
+ }, [linesAdd, quantity, variantId, attributes]);
25
35
  return (React.createElement(React.Fragment, null,
26
- React.createElement("button", { ...passthroughProps, disabled: disabled, onClick: () => {
27
- setAddingItem(true);
28
- linesAdd([
29
- {
30
- quantity,
31
- merchandiseId: variantId,
32
- attributes,
33
- },
34
- ]);
35
- } }, children),
36
+ React.createElement(BaseButton, { ...passthroughProps, disabled: disabled, onClick: onClick, defaultOnClick: handleAddItem }, children),
36
37
  accessibleAddingToCartLabel ? (React.createElement("p", { style: {
37
38
  position: 'absolute',
38
39
  width: '1px',
@@ -0,0 +1,14 @@
1
+ import React, { ReactNode, Ref } from 'react';
2
+ interface Props {
3
+ /** Any ReactNode elements. */
4
+ children: ReactNode;
5
+ /** Click event handler. Default behaviour triggers unless prevented */
6
+ onClick?: (event?: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void | boolean;
7
+ /** A default onClick behaviour */
8
+ defaultOnClick?: (event?: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void | boolean;
9
+ /** A ref to the underlying button */
10
+ buttonRef?: Ref<HTMLButtonElement>;
11
+ }
12
+ export declare type BaseButtonProps = Omit<JSX.IntrinsicElements['button'], 'onClick' | 'children'> & Props;
13
+ export declare function BaseButton({ onClick, defaultOnClick, children, buttonRef, ...passthroughProps }: BaseButtonProps): JSX.Element;
14
+ export {};
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import { useCallback } from 'react';
3
+ export function BaseButton({ onClick, defaultOnClick, children, buttonRef, ...passthroughProps }) {
4
+ const handleOnClick = useCallback((event) => {
5
+ if (onClick) {
6
+ const clickShouldContinue = onClick(event);
7
+ if ((typeof clickShouldContinue === 'boolean' &&
8
+ clickShouldContinue === false) ||
9
+ event?.defaultPrevented)
10
+ return;
11
+ }
12
+ defaultOnClick?.(event);
13
+ }, [defaultOnClick, onClick]);
14
+ return (React.createElement("button", { ...passthroughProps, ref: buttonRef, onClick: handleOnClick }, children));
15
+ }
@@ -0,0 +1 @@
1
+ export { BaseButton, BaseButtonProps } from './BaseButton.client';
@@ -0,0 +1 @@
1
+ export { BaseButton } from './BaseButton.client';
@@ -1,4 +1,4 @@
1
- import type { ReactNode } from 'react';
1
+ import { BaseButtonProps } from '../BaseButton';
2
2
  interface BuyNowButtonProps {
3
3
  /** The item quantity. Defaults to 1. */
4
4
  quantity?: number;
@@ -9,10 +9,7 @@ interface BuyNowButtonProps {
9
9
  key: string;
10
10
  value: string;
11
11
  }[];
12
- /** Any `ReactNode` elements. */
13
- children: ReactNode;
14
12
  }
15
- declare type PropsWeControl = 'onClick';
16
13
  /** The `BuyNowButton` component renders a button that adds an item to the cart and redirects the customer to checkout. */
17
- export declare function BuyNowButton(props: Omit<JSX.IntrinsicElements['button'], PropsWeControl> & BuyNowButtonProps): JSX.Element;
14
+ export declare function BuyNowButton(props: BuyNowButtonProps & BaseButtonProps): JSX.Element;
18
15
  export {};
@@ -1,10 +1,11 @@
1
1
  import React, { useEffect, useState, useCallback } from 'react';
2
2
  import { useInstantCheckout } from '../CartProvider';
3
+ import { BaseButton } from '../BaseButton';
3
4
  /** The `BuyNowButton` component renders a button that adds an item to the cart and redirects the customer to checkout. */
4
5
  export function BuyNowButton(props) {
5
6
  const { createInstantCheckout, checkoutUrl } = useInstantCheckout();
6
7
  const [loading, setLoading] = useState(false);
7
- const { quantity, variantId, attributes, children, ...passthroughProps } = props;
8
+ const { quantity, variantId, onClick, attributes, children, ...passthroughProps } = props;
8
9
  useEffect(() => {
9
10
  if (checkoutUrl) {
10
11
  window.location.href = checkoutUrl;
@@ -15,12 +16,12 @@ export function BuyNowButton(props) {
15
16
  createInstantCheckout({
16
17
  lines: [
17
18
  {
18
- quantity: quantity !== null && quantity !== void 0 ? quantity : 1,
19
+ quantity: quantity ?? 1,
19
20
  merchandiseId: variantId,
20
21
  attributes,
21
22
  },
22
23
  ],
23
24
  });
24
- }, [setLoading, createInstantCheckout, quantity, variantId, attributes]);
25
- return (React.createElement("button", { disabled: loading !== null && loading !== void 0 ? loading : passthroughProps.disabled, ...passthroughProps, onClick: handleBuyNow }, children));
25
+ }, [createInstantCheckout, quantity, variantId, attributes]);
26
+ return (React.createElement(BaseButton, { disabled: loading ?? passthroughProps.disabled, ...passthroughProps, onClick: onClick, defaultOnClick: handleBuyNow }, children));
26
27
  }
@@ -1,14 +1,14 @@
1
1
  import React from 'react';
2
2
  import { Money } from '../Money';
3
- export interface CartEstimatedCostProps {
3
+ export interface CartCostProps {
4
4
  /** A string type that defines the type of cost needed. Valid values: `total`, `subtotal`, `tax`, or `duty`. */
5
5
  amountType?: 'total' | 'subtotal' | 'tax' | 'duty';
6
6
  /** A function that takes an object return by the `useMoney` hook and returns a `ReactNode`. */
7
7
  children?: React.ReactNode;
8
8
  }
9
9
  /**
10
- * The `CartEstimatedCost` component renders a `Money` component with the
10
+ * The `CartCost` component renders a `Money` component with the
11
11
  * cost associated with the `amountType` prop. If no `amountType` prop is specified, then it defaults to `totalAmount`.
12
12
  * If `children` is a function, then it will pass down the render props provided by the parent component.
13
13
  */
14
- export declare function CartEstimatedCost(props: Omit<React.ComponentProps<typeof Money>, 'data'> & CartEstimatedCostProps): JSX.Element | null;
14
+ export declare function CartCost(props: Omit<React.ComponentProps<typeof Money>, 'data'> & CartCostProps): JSX.Element | null;
@@ -2,25 +2,25 @@ import React from 'react';
2
2
  import { useCart } from '../CartProvider';
3
3
  import { Money } from '../Money';
4
4
  /**
5
- * The `CartEstimatedCost` component renders a `Money` component with the
5
+ * The `CartCost` component renders a `Money` component with the
6
6
  * cost associated with the `amountType` prop. If no `amountType` prop is specified, then it defaults to `totalAmount`.
7
7
  * If `children` is a function, then it will pass down the render props provided by the parent component.
8
8
  */
9
- export function CartEstimatedCost(props) {
10
- const { estimatedCost } = useCart();
9
+ export function CartCost(props) {
10
+ const { cost } = useCart();
11
11
  const { amountType = 'total', children, ...passthroughProps } = props;
12
12
  let amount;
13
13
  if (amountType == 'total') {
14
- amount = estimatedCost === null || estimatedCost === void 0 ? void 0 : estimatedCost.totalAmount;
14
+ amount = cost?.totalAmount;
15
15
  }
16
16
  else if (amountType == 'subtotal') {
17
- amount = estimatedCost === null || estimatedCost === void 0 ? void 0 : estimatedCost.subtotalAmount;
17
+ amount = cost?.subtotalAmount;
18
18
  }
19
19
  else if (amountType == 'tax') {
20
- amount = estimatedCost === null || estimatedCost === void 0 ? void 0 : estimatedCost.totalTaxAmount;
20
+ amount = cost?.totalTaxAmount;
21
21
  }
22
22
  else if (amountType == 'duty') {
23
- amount = estimatedCost === null || estimatedCost === void 0 ? void 0 : estimatedCost.totalDutyAmount;
23
+ amount = cost?.totalDutyAmount;
24
24
  }
25
25
  if (amount == null) {
26
26
  return null;
@@ -0,0 +1 @@
1
+ export { CartCost } from './CartCost.client';
@@ -0,0 +1 @@
1
+ export { CartCost } from './CartCost.client';
@@ -9,8 +9,8 @@ export function CartLinePrice(props) {
9
9
  const cartLine = useCartLine();
10
10
  const { priceType = 'regular', ...passthroughProps } = props;
11
11
  const moneyV2 = priceType === 'regular'
12
- ? cartLine.estimatedCost.totalAmount
13
- : cartLine.estimatedCost.compareAtAmount;
12
+ ? cartLine.cost.totalAmount
13
+ : cartLine.cost.compareAtAmountPerQuantity;
14
14
  if (moneyV2 == null) {
15
15
  return null;
16
16
  }
@@ -4,25 +4,25 @@ export declare const CartLineContext: import("react").Context<({
4
4
  attributes: ({
5
5
  __typename?: "Attribute" | undefined;
6
6
  } & Pick<import("../../storefront-api-types").Attribute, "key" | "value">)[];
7
- estimatedCost: {
8
- __typename?: "CartLineEstimatedCost" | undefined;
7
+ cost: {
8
+ __typename?: "CartLineCost" | undefined;
9
9
  } & {
10
10
  totalAmount: {
11
11
  __typename?: "MoneyV2" | undefined;
12
- } & Pick<import("../../storefront-api-types").MoneyV2, "amount" | "currencyCode">;
13
- compareAtAmount?: import("../../storefront-api-types").Maybe<{
12
+ } & Pick<import("../../storefront-api-types").MoneyV2, "currencyCode" | "amount">;
13
+ compareAtAmountPerQuantity?: import("../../storefront-api-types").Maybe<{
14
14
  __typename?: "MoneyV2" | undefined;
15
- } & Pick<import("../../storefront-api-types").MoneyV2, "amount" | "currencyCode">> | undefined;
15
+ } & Pick<import("../../storefront-api-types").MoneyV2, "currencyCode" | "amount">> | undefined;
16
16
  };
17
17
  merchandise: {
18
18
  __typename?: "ProductVariant" | undefined;
19
19
  } & Pick<import("../../storefront-api-types").ProductVariant, "id" | "title" | "availableForSale" | "requiresShipping"> & {
20
20
  compareAtPriceV2?: import("../../storefront-api-types").Maybe<{
21
21
  __typename?: "MoneyV2" | undefined;
22
- } & Pick<import("../../storefront-api-types").MoneyV2, "amount" | "currencyCode">> | undefined;
22
+ } & Pick<import("../../storefront-api-types").MoneyV2, "currencyCode" | "amount">> | undefined;
23
23
  priceV2: {
24
24
  __typename?: "MoneyV2" | undefined;
25
- } & Pick<import("../../storefront-api-types").MoneyV2, "amount" | "currencyCode">;
25
+ } & Pick<import("../../storefront-api-types").MoneyV2, "currencyCode" | "amount">;
26
26
  image?: import("../../storefront-api-types").Maybe<{
27
27
  __typename?: "Image" | undefined;
28
28
  } & Pick<import("../../storefront-api-types").Image, "id" | "height" | "width" | "url" | "altText">> | undefined;
@@ -1,14 +1,13 @@
1
- import { ReactNode, ElementType } from 'react';
1
+ import { ElementType } from 'react';
2
2
  import { Props } from '../types';
3
- declare type PropsWeControl = 'onClick' | 'adjust';
3
+ import { BaseButtonProps } from '../BaseButton';
4
+ declare type PropsWeControl = 'adjust';
4
5
  /**
5
6
  * The `CartLineQuantityAdjustButton` component renders a button that adjusts the cart line's quantity when pressed.
6
7
  * It must be a descendent of a `CartLineProvider` component.
7
8
  */
8
9
  export declare function CartLineQuantityAdjustButton<TTag extends ElementType = 'button'>(props: Props<TTag, PropsWeControl> & {
9
- /** Any `ReactNode` elements. */
10
- children: ReactNode;
11
10
  /** The adjustment for a cart line's quantity. Valid values: `increase` (default), `decrease`, or `remove`. */
12
11
  adjust?: 'increase' | 'decrease' | 'remove';
13
- }): JSX.Element;
12
+ } & BaseButtonProps): JSX.Element;
14
13
  export {};
@@ -1,6 +1,7 @@
1
- import React from 'react';
1
+ import React, { useCallback } from 'react';
2
2
  import { useCart } from '../CartProvider';
3
3
  import { useCartLine } from '../CartLineProvider';
4
+ import { BaseButton } from '../BaseButton';
4
5
  /**
5
6
  * The `CartLineQuantityAdjustButton` component renders a button that adjusts the cart line's quantity when pressed.
6
7
  * It must be a descendent of a `CartLineProvider` component.
@@ -8,17 +9,18 @@ import { useCartLine } from '../CartLineProvider';
8
9
  export function CartLineQuantityAdjustButton(props) {
9
10
  const { status, linesRemove, linesUpdate } = useCart();
10
11
  const cartLine = useCartLine();
11
- const { children, adjust, ...passthroughProps } = props;
12
- return (React.createElement("button", { disabled: status !== 'idle', onClick: () => {
13
- if (adjust === 'remove') {
14
- linesRemove([cartLine.id]);
15
- return;
16
- }
17
- const quantity = adjust === 'decrease' ? cartLine.quantity - 1 : cartLine.quantity + 1;
18
- if (quantity <= 0) {
19
- linesRemove([cartLine.id]);
20
- return;
21
- }
22
- linesUpdate([{ id: cartLine.id, quantity }]);
23
- }, ...passthroughProps }, children));
12
+ const { children, adjust, onClick, ...passthroughProps } = props;
13
+ const handleAdjust = useCallback(() => {
14
+ if (adjust === 'remove') {
15
+ linesRemove([cartLine.id]);
16
+ return;
17
+ }
18
+ const quantity = adjust === 'decrease' ? cartLine.quantity - 1 : cartLine.quantity + 1;
19
+ if (quantity <= 0) {
20
+ linesRemove([cartLine.id]);
21
+ return;
22
+ }
23
+ linesUpdate([{ id: cartLine.id, quantity }]);
24
+ }, [adjust, cartLine.id, cartLine.quantity, linesRemove, linesUpdate]);
25
+ return (React.createElement(BaseButton, { disabled: status !== 'idle', onClick: onClick, defaultOnClick: handleAdjust, ...passthroughProps }, children));
24
26
  }
@@ -8,7 +8,7 @@ import { CartLineProvider } from '../CartLineProvider';
8
8
  export function CartLines(props) {
9
9
  const { lines } = useCart();
10
10
  const { as, children, ...passthroughProps } = props;
11
- const Wrapper = as !== null && as !== void 0 ? as : Fragment;
11
+ const Wrapper = as ?? Fragment;
12
12
  const ChildWrapper = Wrapper === 'ul' ? 'li' : Fragment;
13
13
  return (React.createElement(Wrapper, { ...passthroughProps }, lines.map((line) => {
14
14
  return (React.createElement(ChildWrapper, { key: line.id },