@shopify/hydrogen 0.0.0-experimental-20220526194818

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 (692) hide show
  1. package/CHANGELOG.md +1643 -0
  2. package/README.md +29 -0
  3. package/client.d.ts +1 -0
  4. package/client.js +1 -0
  5. package/config.d.ts +1 -0
  6. package/config.js +1 -0
  7. package/dist/esnext/FileSessionStorage.d.ts +1 -0
  8. package/dist/esnext/FileSessionStorage.js +1 -0
  9. package/dist/esnext/client.d.ts +16 -0
  10. package/dist/esnext/client.js +16 -0
  11. package/dist/esnext/components/AddToCartButton/AddToCartButton.client.d.ts +23 -0
  12. package/dist/esnext/components/AddToCartButton/AddToCartButton.client.js +47 -0
  13. package/dist/esnext/components/AddToCartButton/index.d.ts +1 -0
  14. package/dist/esnext/components/AddToCartButton/index.js +1 -0
  15. package/dist/esnext/components/BuyNowButton/BuyNowButton.client.d.ts +18 -0
  16. package/dist/esnext/components/BuyNowButton/BuyNowButton.client.js +26 -0
  17. package/dist/esnext/components/BuyNowButton/index.d.ts +1 -0
  18. package/dist/esnext/components/BuyNowButton/index.js +1 -0
  19. package/dist/esnext/components/CartCheckoutButton/CartCheckoutButton.client.d.ts +11 -0
  20. package/dist/esnext/components/CartCheckoutButton/CartCheckoutButton.client.js +17 -0
  21. package/dist/esnext/components/CartCheckoutButton/index.d.ts +1 -0
  22. package/dist/esnext/components/CartCheckoutButton/index.js +1 -0
  23. package/dist/esnext/components/CartEstimatedCost/CartEstimatedCost.client.d.ts +14 -0
  24. package/dist/esnext/components/CartEstimatedCost/CartEstimatedCost.client.js +29 -0
  25. package/dist/esnext/components/CartEstimatedCost/index.d.ts +1 -0
  26. package/dist/esnext/components/CartEstimatedCost/index.js +1 -0
  27. package/dist/esnext/components/CartLineImage/CartLineImage.client.d.ts +9 -0
  28. package/dist/esnext/components/CartLineImage/CartLineImage.client.js +11 -0
  29. package/dist/esnext/components/CartLineImage/index.d.ts +1 -0
  30. package/dist/esnext/components/CartLineImage/index.js +1 -0
  31. package/dist/esnext/components/CartLinePrice/CartLinePrice.client.d.ts +12 -0
  32. package/dist/esnext/components/CartLinePrice/CartLinePrice.client.js +21 -0
  33. package/dist/esnext/components/CartLinePrice/index.d.ts +1 -0
  34. package/dist/esnext/components/CartLinePrice/index.js +1 -0
  35. package/dist/esnext/components/CartLineProductTitle/CartLineProductTitle.client.d.ts +8 -0
  36. package/dist/esnext/components/CartLineProductTitle/CartLineProductTitle.client.js +12 -0
  37. package/dist/esnext/components/CartLineProductTitle/index.d.ts +1 -0
  38. package/dist/esnext/components/CartLineProductTitle/index.js +1 -0
  39. package/dist/esnext/components/CartLineProvider/CartLineProvider.client.d.ts +11 -0
  40. package/dist/esnext/components/CartLineProvider/CartLineProvider.client.js +8 -0
  41. package/dist/esnext/components/CartLineProvider/context.d.ts +26 -0
  42. package/dist/esnext/components/CartLineProvider/context.js +2 -0
  43. package/dist/esnext/components/CartLineProvider/index.d.ts +2 -0
  44. package/dist/esnext/components/CartLineProvider/index.js +2 -0
  45. package/dist/esnext/components/CartLineQuantity/CartLineQuantity.client.d.ts +8 -0
  46. package/dist/esnext/components/CartLineQuantity/CartLineQuantity.client.js +12 -0
  47. package/dist/esnext/components/CartLineQuantity/index.d.ts +1 -0
  48. package/dist/esnext/components/CartLineQuantity/index.js +1 -0
  49. package/dist/esnext/components/CartLineQuantityAdjustButton/CartLineQuantityAdjustButton.d.ts +14 -0
  50. package/dist/esnext/components/CartLineQuantityAdjustButton/CartLineQuantityAdjustButton.js +24 -0
  51. package/dist/esnext/components/CartLineQuantityAdjustButton/index.d.ts +1 -0
  52. package/dist/esnext/components/CartLineQuantityAdjustButton/index.js +1 -0
  53. package/dist/esnext/components/CartLines/CartLines.d.ts +15 -0
  54. package/dist/esnext/components/CartLines/CartLines.js +17 -0
  55. package/dist/esnext/components/CartLines/index.d.ts +1 -0
  56. package/dist/esnext/components/CartLines/index.js +1 -0
  57. package/dist/esnext/components/CartProvider/CartProvider.client.d.ts +41 -0
  58. package/dist/esnext/components/CartProvider/CartProvider.client.js +523 -0
  59. package/dist/esnext/components/CartProvider/cart-queries.d.ts +10 -0
  60. package/dist/esnext/components/CartProvider/cart-queries.js +191 -0
  61. package/dist/esnext/components/CartProvider/constants.d.ts +2 -0
  62. package/dist/esnext/components/CartProvider/constants.js +2 -0
  63. package/dist/esnext/components/CartProvider/context.d.ts +2 -0
  64. package/dist/esnext/components/CartProvider/context.js +2 -0
  65. package/dist/esnext/components/CartProvider/graphql/CartAttributesUpdateMutation.d.ts +86 -0
  66. package/dist/esnext/components/CartProvider/graphql/CartAttributesUpdateMutation.js +1 -0
  67. package/dist/esnext/components/CartProvider/graphql/CartBuyerIdentityUpdateMutation.d.ts +86 -0
  68. package/dist/esnext/components/CartProvider/graphql/CartBuyerIdentityUpdateMutation.js +1 -0
  69. package/dist/esnext/components/CartProvider/graphql/CartCreateMutation.d.ts +85 -0
  70. package/dist/esnext/components/CartProvider/graphql/CartCreateMutation.js +1 -0
  71. package/dist/esnext/components/CartProvider/graphql/CartDiscountCodesUpdateMutation.d.ts +86 -0
  72. package/dist/esnext/components/CartProvider/graphql/CartDiscountCodesUpdateMutation.js +1 -0
  73. package/dist/esnext/components/CartProvider/graphql/CartFragment.d.ts +72 -0
  74. package/dist/esnext/components/CartProvider/graphql/CartFragment.js +1 -0
  75. package/dist/esnext/components/CartProvider/graphql/CartLineAddMutation.d.ts +86 -0
  76. package/dist/esnext/components/CartProvider/graphql/CartLineAddMutation.js +1 -0
  77. package/dist/esnext/components/CartProvider/graphql/CartLineRemoveMutation.d.ts +86 -0
  78. package/dist/esnext/components/CartProvider/graphql/CartLineRemoveMutation.js +1 -0
  79. package/dist/esnext/components/CartProvider/graphql/CartLineUpdateMutation.d.ts +86 -0
  80. package/dist/esnext/components/CartProvider/graphql/CartLineUpdateMutation.js +1 -0
  81. package/dist/esnext/components/CartProvider/graphql/CartNoteUpdateMutation.d.ts +86 -0
  82. package/dist/esnext/components/CartProvider/graphql/CartNoteUpdateMutation.js +1 -0
  83. package/dist/esnext/components/CartProvider/graphql/CartQuery.d.ts +81 -0
  84. package/dist/esnext/components/CartProvider/graphql/CartQuery.js +1 -0
  85. package/dist/esnext/components/CartProvider/hooks.client.d.ts +15 -0
  86. package/dist/esnext/components/CartProvider/hooks.client.js +62 -0
  87. package/dist/esnext/components/CartProvider/index.d.ts +4 -0
  88. package/dist/esnext/components/CartProvider/index.js +3 -0
  89. package/dist/esnext/components/CartProvider/types.d.ts +102 -0
  90. package/dist/esnext/components/CartProvider/types.js +1 -0
  91. package/dist/esnext/components/CartShopPayButton/CartShopPayButton.client.d.ts +9 -0
  92. package/dist/esnext/components/CartShopPayButton/CartShopPayButton.client.js +19 -0
  93. package/dist/esnext/components/CartShopPayButton/index.d.ts +1 -0
  94. package/dist/esnext/components/CartShopPayButton/index.js +1 -0
  95. package/dist/esnext/components/DevTools.client.d.ts +1 -0
  96. package/dist/esnext/components/DevTools.client.js +129 -0
  97. package/dist/esnext/components/ExternalVideo/ExternalVideo.d.ts +21 -0
  98. package/dist/esnext/components/ExternalVideo/ExternalVideo.js +14 -0
  99. package/dist/esnext/components/ExternalVideo/index.d.ts +1 -0
  100. package/dist/esnext/components/ExternalVideo/index.js +1 -0
  101. package/dist/esnext/components/Image/Image.d.ts +84 -0
  102. package/dist/esnext/components/Image/Image.js +59 -0
  103. package/dist/esnext/components/Image/index.d.ts +2 -0
  104. package/dist/esnext/components/Image/index.js +1 -0
  105. package/dist/esnext/components/Link/Link.client.d.ts +23 -0
  106. package/dist/esnext/components/Link/Link.client.js +135 -0
  107. package/dist/esnext/components/Link/index.d.ts +1 -0
  108. package/dist/esnext/components/Link/index.js +1 -0
  109. package/dist/esnext/components/LocalizationProvider/LocalizationClientProvider.client.d.ts +6 -0
  110. package/dist/esnext/components/LocalizationProvider/LocalizationClientProvider.client.js +5 -0
  111. package/dist/esnext/components/LocalizationProvider/LocalizationContext.client.d.ts +6 -0
  112. package/dist/esnext/components/LocalizationProvider/LocalizationContext.client.js +2 -0
  113. package/dist/esnext/components/LocalizationProvider/LocalizationProvider.server.d.ts +33 -0
  114. package/dist/esnext/components/LocalizationProvider/LocalizationProvider.server.js +44 -0
  115. package/dist/esnext/components/LocalizationProvider/index.d.ts +2 -0
  116. package/dist/esnext/components/LocalizationProvider/index.js +2 -0
  117. package/dist/esnext/components/MediaFile/MediaFile.d.ts +19 -0
  118. package/dist/esnext/components/MediaFile/MediaFile.js +31 -0
  119. package/dist/esnext/components/MediaFile/index.d.ts +1 -0
  120. package/dist/esnext/components/MediaFile/index.js +1 -0
  121. package/dist/esnext/components/Metafield/Metafield.client.d.ts +21 -0
  122. package/dist/esnext/components/Metafield/Metafield.client.js +68 -0
  123. package/dist/esnext/components/Metafield/components/StarRating/StarRating.d.ts +12 -0
  124. package/dist/esnext/components/Metafield/components/StarRating/StarRating.js +48 -0
  125. package/dist/esnext/components/Metafield/components/StarRating/index.d.ts +1 -0
  126. package/dist/esnext/components/Metafield/components/StarRating/index.js +1 -0
  127. package/dist/esnext/components/Metafield/components/index.d.ts +1 -0
  128. package/dist/esnext/components/Metafield/components/index.js +1 -0
  129. package/dist/esnext/components/Metafield/index.d.ts +2 -0
  130. package/dist/esnext/components/Metafield/index.js +1 -0
  131. package/dist/esnext/components/Metafield/types.d.ts +4 -0
  132. package/dist/esnext/components/Metafield/types.js +1 -0
  133. package/dist/esnext/components/ModelViewer/ModelViewer.client.d.ts +128 -0
  134. package/dist/esnext/components/ModelViewer/ModelViewer.client.js +105 -0
  135. package/dist/esnext/components/ModelViewer/index.d.ts +1 -0
  136. package/dist/esnext/components/ModelViewer/index.js +1 -0
  137. package/dist/esnext/components/Money/Money.client.d.ts +25 -0
  138. package/dist/esnext/components/Money/Money.client.js +39 -0
  139. package/dist/esnext/components/Money/index.d.ts +1 -0
  140. package/dist/esnext/components/Money/index.js +1 -0
  141. package/dist/esnext/components/ProductPrice/ProductPrice.client.d.ts +15 -0
  142. package/dist/esnext/components/ProductPrice/ProductPrice.client.js +56 -0
  143. package/dist/esnext/components/ProductPrice/index.d.ts +1 -0
  144. package/dist/esnext/components/ProductPrice/index.js +1 -0
  145. package/dist/esnext/components/ProductProvider/ProductOptionsProvider.client.d.ts +8 -0
  146. package/dist/esnext/components/ProductProvider/ProductOptionsProvider.client.js +12 -0
  147. package/dist/esnext/components/ProductProvider/ProductProvider.client.d.ts +24 -0
  148. package/dist/esnext/components/ProductProvider/ProductProvider.client.js +34 -0
  149. package/dist/esnext/components/ProductProvider/context.d.ts +29 -0
  150. package/dist/esnext/components/ProductProvider/context.js +3 -0
  151. package/dist/esnext/components/ProductProvider/index.d.ts +2 -0
  152. package/dist/esnext/components/ProductProvider/index.js +2 -0
  153. package/dist/esnext/components/Seo/CollectionSeo.client.d.ts +3 -0
  154. package/dist/esnext/components/Seo/CollectionSeo.client.js +15 -0
  155. package/dist/esnext/components/Seo/DefaultPageSeo.client.d.ts +3 -0
  156. package/dist/esnext/components/Seo/DefaultPageSeo.client.js +18 -0
  157. package/dist/esnext/components/Seo/DescriptionSeo.client.d.ts +4 -0
  158. package/dist/esnext/components/Seo/DescriptionSeo.client.js +10 -0
  159. package/dist/esnext/components/Seo/HomePageSeo.client.d.ts +2 -0
  160. package/dist/esnext/components/Seo/HomePageSeo.client.js +25 -0
  161. package/dist/esnext/components/Seo/ImageSeo.client.d.ts +3 -0
  162. package/dist/esnext/components/Seo/ImageSeo.client.js +10 -0
  163. package/dist/esnext/components/Seo/NoIndexSeo.client.d.ts +3 -0
  164. package/dist/esnext/components/Seo/NoIndexSeo.client.js +10 -0
  165. package/dist/esnext/components/Seo/PageSeo.client.d.ts +3 -0
  166. package/dist/esnext/components/Seo/PageSeo.client.js +13 -0
  167. package/dist/esnext/components/Seo/ProductSeo.client.d.ts +5 -0
  168. package/dist/esnext/components/Seo/ProductSeo.client.js +63 -0
  169. package/dist/esnext/components/Seo/Seo.client.d.ts +30 -0
  170. package/dist/esnext/components/Seo/Seo.client.js +31 -0
  171. package/dist/esnext/components/Seo/TitleSeo.client.d.ts +3 -0
  172. package/dist/esnext/components/Seo/TitleSeo.client.js +10 -0
  173. package/dist/esnext/components/Seo/TwitterSeo.client.d.ts +2 -0
  174. package/dist/esnext/components/Seo/TwitterSeo.client.js +9 -0
  175. package/dist/esnext/components/Seo/index.d.ts +1 -0
  176. package/dist/esnext/components/Seo/index.js +1 -0
  177. package/dist/esnext/components/Seo/seo-types.d.ts +17 -0
  178. package/dist/esnext/components/Seo/seo-types.js +1 -0
  179. package/dist/esnext/components/ShopPayButton/ShopPayButton.client.d.ts +38 -0
  180. package/dist/esnext/components/ShopPayButton/ShopPayButton.client.js +52 -0
  181. package/dist/esnext/components/ShopPayButton/index.d.ts +1 -0
  182. package/dist/esnext/components/ShopPayButton/index.js +1 -0
  183. package/dist/esnext/components/Video/Video.d.ts +14 -0
  184. package/dist/esnext/components/Video/Video.js +24 -0
  185. package/dist/esnext/components/Video/index.d.ts +1 -0
  186. package/dist/esnext/components/Video/index.js +1 -0
  187. package/dist/esnext/components/index.d.ts +28 -0
  188. package/dist/esnext/components/index.js +26 -0
  189. package/dist/esnext/components/types.d.ts +71 -0
  190. package/dist/esnext/components/types.js +10 -0
  191. package/dist/esnext/config.d.ts +3 -0
  192. package/dist/esnext/config.js +1 -0
  193. package/dist/esnext/constants.d.ts +7 -0
  194. package/dist/esnext/constants.js +7 -0
  195. package/dist/esnext/entry-client.d.ts +3 -0
  196. package/dist/esnext/entry-client.js +73 -0
  197. package/dist/esnext/entry-server.d.ts +35 -0
  198. package/dist/esnext/entry-server.js +529 -0
  199. package/dist/esnext/foundation/Analytics/Analytics.client.d.ts +3 -0
  200. package/dist/esnext/foundation/Analytics/Analytics.client.js +28 -0
  201. package/dist/esnext/foundation/Analytics/Analytics.server.d.ts +1 -0
  202. package/dist/esnext/foundation/Analytics/Analytics.server.js +40 -0
  203. package/dist/esnext/foundation/Analytics/ClientAnalytics.d.ts +25 -0
  204. package/dist/esnext/foundation/Analytics/ClientAnalytics.js +97 -0
  205. package/dist/esnext/foundation/Analytics/ServerAnalyticsRoute.server.d.ts +2 -0
  206. package/dist/esnext/foundation/Analytics/ServerAnalyticsRoute.server.js +33 -0
  207. package/dist/esnext/foundation/Analytics/connectors/PerformanceMetrics/PerformanceMetrics.client.d.ts +7 -0
  208. package/dist/esnext/foundation/Analytics/connectors/PerformanceMetrics/PerformanceMetrics.client.js +64 -0
  209. package/dist/esnext/foundation/Analytics/connectors/PerformanceMetrics/PerformanceMetrics.server.d.ts +1 -0
  210. package/dist/esnext/foundation/Analytics/connectors/PerformanceMetrics/PerformanceMetrics.server.js +24 -0
  211. package/dist/esnext/foundation/Analytics/connectors/PerformanceMetrics/PerformanceMetricsDebug.client.d.ts +1 -0
  212. package/dist/esnext/foundation/Analytics/connectors/PerformanceMetrics/PerformanceMetricsDebug.client.js +23 -0
  213. package/dist/esnext/foundation/Analytics/const.d.ts +9 -0
  214. package/dist/esnext/foundation/Analytics/const.js +9 -0
  215. package/dist/esnext/foundation/Analytics/hook.d.ts +1 -0
  216. package/dist/esnext/foundation/Analytics/hook.js +7 -0
  217. package/dist/esnext/foundation/Analytics/index.d.ts +2 -0
  218. package/dist/esnext/foundation/Analytics/index.js +2 -0
  219. package/dist/esnext/foundation/Analytics/types.d.ts +5 -0
  220. package/dist/esnext/foundation/Analytics/types.js +1 -0
  221. package/dist/esnext/foundation/Analytics/utils.d.ts +1 -0
  222. package/dist/esnext/foundation/Analytics/utils.js +8 -0
  223. package/dist/esnext/foundation/AnalyticsErrorBoundary.client.d.ts +4 -0
  224. package/dist/esnext/foundation/AnalyticsErrorBoundary.client.js +8 -0
  225. package/dist/esnext/foundation/Cookie/Cookie.d.ts +48 -0
  226. package/dist/esnext/foundation/Cookie/Cookie.js +67 -0
  227. package/dist/esnext/foundation/CookieSessionStorage/CookieSessionStorage.d.ts +5 -0
  228. package/dist/esnext/foundation/CookieSessionStorage/CookieSessionStorage.js +31 -0
  229. package/dist/esnext/foundation/FileRoutes/FileRoutes.server.d.ts +22 -0
  230. package/dist/esnext/foundation/FileRoutes/FileRoutes.server.js +74 -0
  231. package/dist/esnext/foundation/FileSessionStorage/FileSessionStorage.d.ts +6 -0
  232. package/dist/esnext/foundation/FileSessionStorage/FileSessionStorage.js +149 -0
  233. package/dist/esnext/foundation/Head/Head.client.d.ts +5 -0
  234. package/dist/esnext/foundation/Head/Head.client.js +10 -0
  235. package/dist/esnext/foundation/Head/index.d.ts +1 -0
  236. package/dist/esnext/foundation/Head/index.js +1 -0
  237. package/dist/esnext/foundation/MemorySessionStorage/MemorySessionStorage.d.ts +5 -0
  238. package/dist/esnext/foundation/MemorySessionStorage/MemorySessionStorage.js +53 -0
  239. package/dist/esnext/foundation/Redirect/Redirect.client.d.ts +5 -0
  240. package/dist/esnext/foundation/Redirect/Redirect.client.js +15 -0
  241. package/dist/esnext/foundation/Route/Route.server.d.ts +12 -0
  242. package/dist/esnext/foundation/Route/Route.server.js +28 -0
  243. package/dist/esnext/foundation/Router/BrowserRouter.client.d.ts +13 -0
  244. package/dist/esnext/foundation/Router/BrowserRouter.client.js +130 -0
  245. package/dist/esnext/foundation/Router/Router.server.d.ts +10 -0
  246. package/dist/esnext/foundation/Router/Router.server.js +8 -0
  247. package/dist/esnext/foundation/ServerPropsProvider/ServerPropsProvider.d.ts +40 -0
  248. package/dist/esnext/foundation/ServerPropsProvider/ServerPropsProvider.js +67 -0
  249. package/dist/esnext/foundation/ServerPropsProvider/index.d.ts +2 -0
  250. package/dist/esnext/foundation/ServerPropsProvider/index.js +1 -0
  251. package/dist/esnext/foundation/ServerRequestProvider/ServerRequestProvider.d.ts +23 -0
  252. package/dist/esnext/foundation/ServerRequestProvider/ServerRequestProvider.js +128 -0
  253. package/dist/esnext/foundation/ServerRequestProvider/index.d.ts +1 -0
  254. package/dist/esnext/foundation/ServerRequestProvider/index.js +1 -0
  255. package/dist/esnext/foundation/ServerStateProvider/ServerStateProvider.d.ts +30 -0
  256. package/dist/esnext/foundation/ServerStateProvider/ServerStateProvider.js +59 -0
  257. package/dist/esnext/foundation/ShopifyProvider/ShopifyProvider.client.d.ts +7 -0
  258. package/dist/esnext/foundation/ShopifyProvider/ShopifyProvider.client.js +8 -0
  259. package/dist/esnext/foundation/ShopifyProvider/ShopifyProvider.server.d.ts +16 -0
  260. package/dist/esnext/foundation/ShopifyProvider/ShopifyProvider.server.js +58 -0
  261. package/dist/esnext/foundation/ShopifyProvider/index.d.ts +1 -0
  262. package/dist/esnext/foundation/ShopifyProvider/index.js +1 -0
  263. package/dist/esnext/foundation/ShopifyProvider/types.d.ts +13 -0
  264. package/dist/esnext/foundation/ShopifyProvider/types.js +1 -0
  265. package/dist/esnext/foundation/constants.d.ts +1 -0
  266. package/dist/esnext/foundation/constants.js +3 -0
  267. package/dist/esnext/foundation/fetchSync/client/fetchSync.d.ts +10 -0
  268. package/dist/esnext/foundation/fetchSync/client/fetchSync.js +28 -0
  269. package/dist/esnext/foundation/fetchSync/server/fetchSync.d.ts +8 -0
  270. package/dist/esnext/foundation/fetchSync/server/fetchSync.js +29 -0
  271. package/dist/esnext/foundation/fetchSync/types.d.ts +5 -0
  272. package/dist/esnext/foundation/fetchSync/types.js +1 -0
  273. package/dist/esnext/foundation/index.d.ts +3 -0
  274. package/dist/esnext/foundation/index.js +3 -0
  275. package/dist/esnext/foundation/session/session.d.ts +27 -0
  276. package/dist/esnext/foundation/session/session.js +37 -0
  277. package/dist/esnext/foundation/ssr-interop.d.ts +29 -0
  278. package/dist/esnext/foundation/ssr-interop.js +35 -0
  279. package/dist/esnext/foundation/useNavigate/useNavigate.d.ts +13 -0
  280. package/dist/esnext/foundation/useNavigate/useNavigate.js +14 -0
  281. package/dist/esnext/foundation/useQuery/hooks.d.ts +36 -0
  282. package/dist/esnext/foundation/useQuery/hooks.js +97 -0
  283. package/dist/esnext/foundation/useQuery/index.d.ts +1 -0
  284. package/dist/esnext/foundation/useQuery/index.js +1 -0
  285. package/dist/esnext/foundation/useRouteParams/RouteParamsProvider.client.d.ts +9 -0
  286. package/dist/esnext/foundation/useRouteParams/RouteParamsProvider.client.js +7 -0
  287. package/dist/esnext/foundation/useRouteParams/useRouteParams.d.ts +4 -0
  288. package/dist/esnext/foundation/useRouteParams/useRouteParams.js +9 -0
  289. package/dist/esnext/foundation/useServerProps/index.d.ts +1 -0
  290. package/dist/esnext/foundation/useServerProps/index.js +1 -0
  291. package/dist/esnext/foundation/useServerProps/use-server-props.d.ts +21 -0
  292. package/dist/esnext/foundation/useServerProps/use-server-props.js +35 -0
  293. package/dist/esnext/foundation/useSession/useSession.d.ts +2 -0
  294. package/dist/esnext/foundation/useSession/useSession.js +8 -0
  295. package/dist/esnext/foundation/useShop/index.d.ts +1 -0
  296. package/dist/esnext/foundation/useShop/index.js +1 -0
  297. package/dist/esnext/foundation/useShop/use-shop.d.ts +6 -0
  298. package/dist/esnext/foundation/useShop/use-shop.js +14 -0
  299. package/dist/esnext/foundation/useUrl/index.d.ts +1 -0
  300. package/dist/esnext/foundation/useUrl/index.js +1 -0
  301. package/dist/esnext/foundation/useUrl/useUrl.d.ts +4 -0
  302. package/dist/esnext/foundation/useUrl/useUrl.js +28 -0
  303. package/dist/esnext/framework/CachingStrategy/index.d.ts +10 -0
  304. package/dist/esnext/framework/CachingStrategy/index.js +96 -0
  305. package/dist/esnext/framework/Hydration/Html.d.ts +11 -0
  306. package/dist/esnext/framework/Hydration/Html.js +86 -0
  307. package/dist/esnext/framework/Hydration/ServerComponentRequest.server.d.ts +58 -0
  308. package/dist/esnext/framework/Hydration/ServerComponentRequest.server.js +146 -0
  309. package/dist/esnext/framework/Hydration/ServerComponentResponse.server.d.ts +26 -0
  310. package/dist/esnext/framework/Hydration/ServerComponentResponse.server.js +42 -0
  311. package/dist/esnext/framework/Hydration/rsc.d.ts +8 -0
  312. package/dist/esnext/framework/Hydration/rsc.js +100 -0
  313. package/dist/esnext/framework/cache/in-memory.d.ts +12 -0
  314. package/dist/esnext/framework/cache/in-memory.js +52 -0
  315. package/dist/esnext/framework/cache-sub-request.d.ts +17 -0
  316. package/dist/esnext/framework/cache-sub-request.js +64 -0
  317. package/dist/esnext/framework/cache.d.ts +17 -0
  318. package/dist/esnext/framework/cache.js +127 -0
  319. package/dist/esnext/framework/config.d.ts +6 -0
  320. package/dist/esnext/framework/config.js +6 -0
  321. package/dist/esnext/framework/graphiql.d.ts +1 -0
  322. package/dist/esnext/framework/graphiql.js +38 -0
  323. package/dist/esnext/framework/middleware.d.ts +21 -0
  324. package/dist/esnext/framework/middleware.js +98 -0
  325. package/dist/esnext/framework/plugin.d.ts +4 -0
  326. package/dist/esnext/framework/plugin.js +28 -0
  327. package/dist/esnext/framework/plugins/vite-plugin-client-imports.d.ts +2 -0
  328. package/dist/esnext/framework/plugins/vite-plugin-client-imports.js +25 -0
  329. package/dist/esnext/framework/plugins/vite-plugin-css-modules-rsc.d.ts +2 -0
  330. package/dist/esnext/framework/plugins/vite-plugin-css-modules-rsc.js +98 -0
  331. package/dist/esnext/framework/plugins/vite-plugin-hydration-auto-import.d.ts +3 -0
  332. package/dist/esnext/framework/plugins/vite-plugin-hydration-auto-import.js +35 -0
  333. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-client-middleware.d.ts +9 -0
  334. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-client-middleware.js +37 -0
  335. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-config.d.ts +3 -0
  336. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-config.js +96 -0
  337. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-middleware.d.ts +11 -0
  338. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-middleware.js +110 -0
  339. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-rsc.d.ts +1 -0
  340. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-rsc.js +35 -0
  341. package/dist/esnext/framework/plugins/vite-plugin-platform-entry.d.ts +3 -0
  342. package/dist/esnext/framework/plugins/vite-plugin-platform-entry.js +70 -0
  343. package/dist/esnext/framework/plugins/vite-plugin-purge-query-cache.d.ts +3 -0
  344. package/dist/esnext/framework/plugins/vite-plugin-purge-query-cache.js +11 -0
  345. package/dist/esnext/framework/plugins/vite-plugin-ssr-interop.d.ts +3 -0
  346. package/dist/esnext/framework/plugins/vite-plugin-ssr-interop.js +16 -0
  347. package/dist/esnext/framework/runtime.d.ts +13 -0
  348. package/dist/esnext/framework/runtime.js +27 -0
  349. package/dist/esnext/hooks/index.d.ts +6 -0
  350. package/dist/esnext/hooks/index.js +6 -0
  351. package/dist/esnext/hooks/useCart/index.d.ts +1 -0
  352. package/dist/esnext/hooks/useCart/index.js +1 -0
  353. package/dist/esnext/hooks/useCart/useCart.d.ts +4 -0
  354. package/dist/esnext/hooks/useCart/useCart.js +12 -0
  355. package/dist/esnext/hooks/useCartLine/index.d.ts +1 -0
  356. package/dist/esnext/hooks/useCartLine/index.js +1 -0
  357. package/dist/esnext/hooks/useCartLine/useCartLine.d.ts +29 -0
  358. package/dist/esnext/hooks/useCartLine/useCartLine.js +12 -0
  359. package/dist/esnext/hooks/useCountry/index.d.ts +1 -0
  360. package/dist/esnext/hooks/useCountry/index.js +1 -0
  361. package/dist/esnext/hooks/useCountry/useCountry.d.ts +7 -0
  362. package/dist/esnext/hooks/useCountry/useCountry.js +17 -0
  363. package/dist/esnext/hooks/useLoadScript/index.d.ts +1 -0
  364. package/dist/esnext/hooks/useLoadScript/index.js +1 -0
  365. package/dist/esnext/hooks/useLoadScript/useLoadScript.client.d.ts +8 -0
  366. package/dist/esnext/hooks/useLoadScript/useLoadScript.client.js +23 -0
  367. package/dist/esnext/hooks/useMeasurement/hooks.d.ts +9 -0
  368. package/dist/esnext/hooks/useMeasurement/hooks.js +13 -0
  369. package/dist/esnext/hooks/useMeasurement/index.d.ts +1 -0
  370. package/dist/esnext/hooks/useMeasurement/index.js +1 -0
  371. package/dist/esnext/hooks/useMoney/hooks.d.ts +54 -0
  372. package/dist/esnext/hooks/useMoney/hooks.js +66 -0
  373. package/dist/esnext/hooks/useMoney/index.d.ts +1 -0
  374. package/dist/esnext/hooks/useMoney/index.js +1 -0
  375. package/dist/esnext/hooks/useParsedMetafields/index.d.ts +1 -0
  376. package/dist/esnext/hooks/useParsedMetafields/index.js +1 -0
  377. package/dist/esnext/hooks/useParsedMetafields/useParsedMetafields.d.ts +21 -0
  378. package/dist/esnext/hooks/useParsedMetafields/useParsedMetafields.js +21 -0
  379. package/dist/esnext/hooks/useProduct/index.d.ts +1 -0
  380. package/dist/esnext/hooks/useProduct/index.js +1 -0
  381. package/dist/esnext/hooks/useProduct/useProduct.d.ts +52 -0
  382. package/dist/esnext/hooks/useProduct/useProduct.js +43 -0
  383. package/dist/esnext/hooks/useProductOptions/helpers.d.ts +6 -0
  384. package/dist/esnext/hooks/useProductOptions/helpers.js +40 -0
  385. package/dist/esnext/hooks/useProductOptions/index.d.ts +2 -0
  386. package/dist/esnext/hooks/useProductOptions/index.js +2 -0
  387. package/dist/esnext/hooks/useProductOptions/types.d.ts +42 -0
  388. package/dist/esnext/hooks/useProductOptions/types.js +1 -0
  389. package/dist/esnext/hooks/useProductOptions/useProductOptions.client.d.ts +15 -0
  390. package/dist/esnext/hooks/useProductOptions/useProductOptions.client.js +108 -0
  391. package/dist/esnext/hooks/useShopQuery/hooks.d.ts +28 -0
  392. package/dist/esnext/hooks/useShopQuery/hooks.js +161 -0
  393. package/dist/esnext/hooks/useShopQuery/index.d.ts +1 -0
  394. package/dist/esnext/hooks/useShopQuery/index.js +1 -0
  395. package/dist/esnext/index.d.ts +27 -0
  396. package/dist/esnext/index.js +31 -0
  397. package/dist/esnext/node.d.ts +1 -0
  398. package/dist/esnext/node.js +1 -0
  399. package/dist/esnext/platforms/node.d.ts +9 -0
  400. package/dist/esnext/platforms/node.js +40 -0
  401. package/dist/esnext/platforms/worker-event.d.ts +1 -0
  402. package/dist/esnext/platforms/worker-event.js +3 -0
  403. package/dist/esnext/platforms/worker.d.ts +14 -0
  404. package/dist/esnext/platforms/worker.js +25 -0
  405. package/dist/esnext/storefront-api-types.d.ts +6405 -0
  406. package/dist/esnext/storefront-api-types.js +1763 -0
  407. package/dist/esnext/streaming.server.d.ts +24 -0
  408. package/dist/esnext/streaming.server.js +33 -0
  409. package/dist/esnext/types.d.ts +98 -0
  410. package/dist/esnext/types.js +1 -0
  411. package/dist/esnext/utilities/apiRoutes.d.ts +37 -0
  412. package/dist/esnext/utilities/apiRoutes.js +156 -0
  413. package/dist/esnext/utilities/bot-ua.d.ts +4 -0
  414. package/dist/esnext/utilities/bot-ua.js +61 -0
  415. package/dist/esnext/utilities/defer.d.ts +6 -0
  416. package/dist/esnext/utilities/defer.js +14 -0
  417. package/dist/esnext/utilities/devtools.d.ts +11 -0
  418. package/dist/esnext/utilities/devtools.js +11 -0
  419. package/dist/esnext/utilities/empty-hydrogen-config.d.ts +2 -0
  420. package/dist/esnext/utilities/empty-hydrogen-config.js +2 -0
  421. package/dist/esnext/utilities/error.d.ts +1 -0
  422. package/dist/esnext/utilities/error.js +6 -0
  423. package/dist/esnext/utilities/fetch.d.ts +9 -0
  424. package/dist/esnext/utilities/fetch.js +31 -0
  425. package/dist/esnext/utilities/findRoutePrefix.d.ts +1 -0
  426. package/dist/esnext/utilities/findRoutePrefix.js +17 -0
  427. package/dist/esnext/utilities/flattenConnection/flattenConnection.d.ts +6 -0
  428. package/dist/esnext/utilities/flattenConnection/flattenConnection.js +11 -0
  429. package/dist/esnext/utilities/flattenConnection/index.d.ts +1 -0
  430. package/dist/esnext/utilities/flattenConnection/index.js +1 -0
  431. package/dist/esnext/utilities/graphql-tag.d.ts +1 -0
  432. package/dist/esnext/utilities/graphql-tag.js +6 -0
  433. package/dist/esnext/utilities/graphql-tracker.d.ts +17 -0
  434. package/dist/esnext/utilities/graphql-tracker.js +123 -0
  435. package/dist/esnext/utilities/hash.d.ts +2 -0
  436. package/dist/esnext/utilities/hash.js +7 -0
  437. package/dist/esnext/utilities/html-encoding.d.ts +2 -0
  438. package/dist/esnext/utilities/html-encoding.js +16 -0
  439. package/dist/esnext/utilities/image_size.d.ts +12 -0
  440. package/dist/esnext/utilities/image_size.js +62 -0
  441. package/dist/esnext/utilities/index.d.ts +12 -0
  442. package/dist/esnext/utilities/index.js +12 -0
  443. package/dist/esnext/utilities/isClient/index.d.ts +1 -0
  444. package/dist/esnext/utilities/isClient/index.js +1 -0
  445. package/dist/esnext/utilities/isClient/isClient.d.ts +4 -0
  446. package/dist/esnext/utilities/isClient/isClient.js +6 -0
  447. package/dist/esnext/utilities/isServer/index.d.ts +1 -0
  448. package/dist/esnext/utilities/isServer/index.js +1 -0
  449. package/dist/esnext/utilities/isServer/isServer.d.ts +4 -0
  450. package/dist/esnext/utilities/isServer/isServer.js +7 -0
  451. package/dist/esnext/utilities/load_script.d.ts +3 -0
  452. package/dist/esnext/utilities/load_script.js +23 -0
  453. package/dist/esnext/utilities/log/index.d.ts +4 -0
  454. package/dist/esnext/utilities/log/index.js +4 -0
  455. package/dist/esnext/utilities/log/log-cache-api-status.d.ts +1 -0
  456. package/dist/esnext/utilities/log/log-cache-api-status.js +13 -0
  457. package/dist/esnext/utilities/log/log-cache-header.d.ts +10 -0
  458. package/dist/esnext/utilities/log/log-cache-header.js +30 -0
  459. package/dist/esnext/utilities/log/log-query-timeline.d.ts +12 -0
  460. package/dist/esnext/utilities/log/log-query-timeline.js +83 -0
  461. package/dist/esnext/utilities/log/log.d.ts +22 -0
  462. package/dist/esnext/utilities/log/log.js +66 -0
  463. package/dist/esnext/utilities/log/utils.d.ts +3 -0
  464. package/dist/esnext/utilities/log/utils.js +16 -0
  465. package/dist/esnext/utilities/matchPath.d.ts +10 -0
  466. package/dist/esnext/utilities/matchPath.js +54 -0
  467. package/dist/esnext/utilities/measurement.d.ts +3 -0
  468. package/dist/esnext/utilities/measurement.js +98 -0
  469. package/dist/esnext/utilities/object.d.ts +5 -0
  470. package/dist/esnext/utilities/object.js +7 -0
  471. package/dist/esnext/utilities/parse.d.ts +1 -0
  472. package/dist/esnext/utilities/parse.js +9 -0
  473. package/dist/esnext/utilities/parseMetafieldValue/index.d.ts +1 -0
  474. package/dist/esnext/utilities/parseMetafieldValue/index.js +1 -0
  475. package/dist/esnext/utilities/parseMetafieldValue/parseMetafieldValue.d.ts +6 -0
  476. package/dist/esnext/utilities/parseMetafieldValue/parseMetafieldValue.js +36 -0
  477. package/dist/esnext/utilities/storefrontApi.d.ts +4 -0
  478. package/dist/esnext/utilities/storefrontApi.js +22 -0
  479. package/dist/esnext/utilities/suspense.d.ts +12 -0
  480. package/dist/esnext/utilities/suspense.js +58 -0
  481. package/dist/esnext/utilities/template.d.ts +9 -0
  482. package/dist/esnext/utilities/template.js +23 -0
  483. package/dist/esnext/utilities/timing.d.ts +7 -0
  484. package/dist/esnext/utilities/timing.js +14 -0
  485. package/dist/esnext/utilities/video_parameters.d.ts +47 -0
  486. package/dist/esnext/utilities/video_parameters.js +22 -0
  487. package/dist/esnext/utilities/web-api-polyfill.d.ts +1 -0
  488. package/dist/esnext/utilities/web-api-polyfill.js +19 -0
  489. package/dist/esnext/version.d.ts +1 -0
  490. package/dist/esnext/version.js +1 -0
  491. package/dist/node/components/Image/Image.d.ts +84 -0
  492. package/dist/node/components/Image/Image.js +86 -0
  493. package/dist/node/components/Image/index.d.ts +2 -0
  494. package/dist/node/components/Image/index.js +5 -0
  495. package/dist/node/constants.d.ts +7 -0
  496. package/dist/node/constants.js +10 -0
  497. package/dist/node/entry-server.d.ts +35 -0
  498. package/dist/node/entry-server.js +556 -0
  499. package/dist/node/foundation/Analytics/Analytics.client.d.ts +3 -0
  500. package/dist/node/foundation/Analytics/Analytics.client.js +32 -0
  501. package/dist/node/foundation/Analytics/Analytics.server.d.ts +1 -0
  502. package/dist/node/foundation/Analytics/Analytics.server.js +70 -0
  503. package/dist/node/foundation/Analytics/ClientAnalytics.d.ts +25 -0
  504. package/dist/node/foundation/Analytics/ClientAnalytics.js +100 -0
  505. package/dist/node/foundation/Analytics/ServerAnalyticsRoute.server.d.ts +2 -0
  506. package/dist/node/foundation/Analytics/ServerAnalyticsRoute.server.js +37 -0
  507. package/dist/node/foundation/Analytics/const.d.ts +9 -0
  508. package/dist/node/foundation/Analytics/const.js +12 -0
  509. package/dist/node/foundation/Analytics/hook.d.ts +1 -0
  510. package/dist/node/foundation/Analytics/hook.js +11 -0
  511. package/dist/node/foundation/Analytics/index.d.ts +2 -0
  512. package/dist/node/foundation/Analytics/index.js +7 -0
  513. package/dist/node/foundation/Analytics/types.d.ts +5 -0
  514. package/dist/node/foundation/Analytics/types.js +2 -0
  515. package/dist/node/foundation/Analytics/utils.d.ts +1 -0
  516. package/dist/node/foundation/Analytics/utils.js +12 -0
  517. package/dist/node/foundation/AnalyticsErrorBoundary.client.d.ts +4 -0
  518. package/dist/node/foundation/AnalyticsErrorBoundary.client.js +14 -0
  519. package/dist/node/foundation/Redirect/Redirect.client.d.ts +5 -0
  520. package/dist/node/foundation/Redirect/Redirect.client.js +18 -0
  521. package/dist/node/foundation/Router/BrowserRouter.client.d.ts +13 -0
  522. package/dist/node/foundation/Router/BrowserRouter.client.js +159 -0
  523. package/dist/node/foundation/ServerPropsProvider/ServerPropsProvider.d.ts +40 -0
  524. package/dist/node/foundation/ServerPropsProvider/ServerPropsProvider.js +92 -0
  525. package/dist/node/foundation/ServerPropsProvider/index.d.ts +2 -0
  526. package/dist/node/foundation/ServerPropsProvider/index.js +6 -0
  527. package/dist/node/foundation/ServerRequestProvider/ServerRequestProvider.d.ts +23 -0
  528. package/dist/node/foundation/ServerRequestProvider/ServerRequestProvider.js +158 -0
  529. package/dist/node/foundation/ServerRequestProvider/index.d.ts +1 -0
  530. package/dist/node/foundation/ServerRequestProvider/index.js +17 -0
  531. package/dist/node/foundation/ShopifyProvider/types.d.ts +13 -0
  532. package/dist/node/foundation/ShopifyProvider/types.js +2 -0
  533. package/dist/node/foundation/session/session.d.ts +27 -0
  534. package/dist/node/foundation/session/session.js +43 -0
  535. package/dist/node/foundation/ssr-interop.d.ts +29 -0
  536. package/dist/node/foundation/ssr-interop.js +39 -0
  537. package/dist/node/foundation/useNavigate/useNavigate.d.ts +13 -0
  538. package/dist/node/foundation/useNavigate/useNavigate.js +18 -0
  539. package/dist/node/foundation/useServerProps/use-server-props.d.ts +21 -0
  540. package/dist/node/foundation/useServerProps/use-server-props.js +40 -0
  541. package/dist/node/framework/CachingStrategy/index.d.ts +10 -0
  542. package/dist/node/framework/CachingStrategy/index.js +108 -0
  543. package/dist/node/framework/Hydration/Html.d.ts +11 -0
  544. package/dist/node/framework/Hydration/Html.js +94 -0
  545. package/dist/node/framework/Hydration/ServerComponentRequest.server.d.ts +58 -0
  546. package/dist/node/framework/Hydration/ServerComponentRequest.server.js +150 -0
  547. package/dist/node/framework/Hydration/ServerComponentResponse.server.d.ts +26 -0
  548. package/dist/node/framework/Hydration/ServerComponentResponse.server.js +49 -0
  549. package/dist/node/framework/Hydration/rsc.d.ts +8 -0
  550. package/dist/node/framework/Hydration/rsc.js +103 -0
  551. package/dist/node/framework/cache/in-memory.d.ts +12 -0
  552. package/dist/node/framework/cache/in-memory.js +56 -0
  553. package/dist/node/framework/cache-sub-request.d.ts +17 -0
  554. package/dist/node/framework/cache-sub-request.js +95 -0
  555. package/dist/node/framework/cache.d.ts +17 -0
  556. package/dist/node/framework/cache.js +135 -0
  557. package/dist/node/framework/config.d.ts +6 -0
  558. package/dist/node/framework/config.js +11 -0
  559. package/dist/node/framework/graphiql.d.ts +1 -0
  560. package/dist/node/framework/graphiql.js +42 -0
  561. package/dist/node/framework/middleware.d.ts +21 -0
  562. package/dist/node/framework/middleware.js +125 -0
  563. package/dist/node/framework/plugin.d.ts +4 -0
  564. package/dist/node/framework/plugin.js +33 -0
  565. package/dist/node/framework/plugins/vite-plugin-client-imports.d.ts +2 -0
  566. package/dist/node/framework/plugins/vite-plugin-client-imports.js +28 -0
  567. package/dist/node/framework/plugins/vite-plugin-css-modules-rsc.d.ts +2 -0
  568. package/dist/node/framework/plugins/vite-plugin-css-modules-rsc.js +104 -0
  569. package/dist/node/framework/plugins/vite-plugin-hydration-auto-import.d.ts +3 -0
  570. package/dist/node/framework/plugins/vite-plugin-hydration-auto-import.js +40 -0
  571. package/dist/node/framework/plugins/vite-plugin-hydrogen-client-middleware.d.ts +9 -0
  572. package/dist/node/framework/plugins/vite-plugin-hydrogen-client-middleware.js +39 -0
  573. package/dist/node/framework/plugins/vite-plugin-hydrogen-config.d.ts +3 -0
  574. package/dist/node/framework/plugins/vite-plugin-hydrogen-config.js +98 -0
  575. package/dist/node/framework/plugins/vite-plugin-hydrogen-middleware.d.ts +11 -0
  576. package/dist/node/framework/plugins/vite-plugin-hydrogen-middleware.js +116 -0
  577. package/dist/node/framework/plugins/vite-plugin-hydrogen-rsc.d.ts +1 -0
  578. package/dist/node/framework/plugins/vite-plugin-hydrogen-rsc.js +41 -0
  579. package/dist/node/framework/plugins/vite-plugin-platform-entry.d.ts +3 -0
  580. package/dist/node/framework/plugins/vite-plugin-platform-entry.js +75 -0
  581. package/dist/node/framework/plugins/vite-plugin-purge-query-cache.d.ts +3 -0
  582. package/dist/node/framework/plugins/vite-plugin-purge-query-cache.js +16 -0
  583. package/dist/node/framework/plugins/vite-plugin-ssr-interop.d.ts +3 -0
  584. package/dist/node/framework/plugins/vite-plugin-ssr-interop.js +18 -0
  585. package/dist/node/framework/runtime.d.ts +13 -0
  586. package/dist/node/framework/runtime.js +35 -0
  587. package/dist/node/storefront-api-types.d.ts +6405 -0
  588. package/dist/node/storefront-api-types.js +1766 -0
  589. package/dist/node/streaming.server.d.ts +24 -0
  590. package/dist/node/streaming.server.js +33 -0
  591. package/dist/node/types.d.ts +98 -0
  592. package/dist/node/types.js +2 -0
  593. package/dist/node/utilities/apiRoutes.d.ts +37 -0
  594. package/dist/node/utilities/apiRoutes.js +163 -0
  595. package/dist/node/utilities/bot-ua.d.ts +4 -0
  596. package/dist/node/utilities/bot-ua.js +65 -0
  597. package/dist/node/utilities/defer.d.ts +6 -0
  598. package/dist/node/utilities/defer.js +18 -0
  599. package/dist/node/utilities/error.d.ts +1 -0
  600. package/dist/node/utilities/error.js +10 -0
  601. package/dist/node/utilities/fetch.d.ts +9 -0
  602. package/dist/node/utilities/fetch.js +37 -0
  603. package/dist/node/utilities/findRoutePrefix.d.ts +1 -0
  604. package/dist/node/utilities/findRoutePrefix.js +21 -0
  605. package/dist/node/utilities/flattenConnection/flattenConnection.d.ts +6 -0
  606. package/dist/node/utilities/flattenConnection/flattenConnection.js +15 -0
  607. package/dist/node/utilities/flattenConnection/index.d.ts +1 -0
  608. package/dist/node/utilities/flattenConnection/index.js +5 -0
  609. package/dist/node/utilities/hash.d.ts +2 -0
  610. package/dist/node/utilities/hash.js +11 -0
  611. package/dist/node/utilities/html-encoding.d.ts +2 -0
  612. package/dist/node/utilities/html-encoding.js +21 -0
  613. package/dist/node/utilities/image_size.d.ts +12 -0
  614. package/dist/node/utilities/image_size.js +68 -0
  615. package/dist/node/utilities/index.d.ts +12 -0
  616. package/dist/node/utilities/index.js +34 -0
  617. package/dist/node/utilities/isClient/index.d.ts +1 -0
  618. package/dist/node/utilities/isClient/index.js +5 -0
  619. package/dist/node/utilities/isClient/isClient.d.ts +4 -0
  620. package/dist/node/utilities/isClient/isClient.js +10 -0
  621. package/dist/node/utilities/isServer/index.d.ts +1 -0
  622. package/dist/node/utilities/isServer/index.js +5 -0
  623. package/dist/node/utilities/isServer/isServer.d.ts +4 -0
  624. package/dist/node/utilities/isServer/isServer.js +11 -0
  625. package/dist/node/utilities/load_script.d.ts +3 -0
  626. package/dist/node/utilities/load_script.js +27 -0
  627. package/dist/node/utilities/log/index.d.ts +4 -0
  628. package/dist/node/utilities/log/index.js +18 -0
  629. package/dist/node/utilities/log/log-cache-api-status.d.ts +1 -0
  630. package/dist/node/utilities/log/log-cache-api-status.js +17 -0
  631. package/dist/node/utilities/log/log-cache-header.d.ts +10 -0
  632. package/dist/node/utilities/log/log-cache-header.js +35 -0
  633. package/dist/node/utilities/log/log-query-timeline.d.ts +12 -0
  634. package/dist/node/utilities/log/log-query-timeline.js +88 -0
  635. package/dist/node/utilities/log/log.d.ts +22 -0
  636. package/dist/node/utilities/log/log.js +74 -0
  637. package/dist/node/utilities/log/utils.d.ts +3 -0
  638. package/dist/node/utilities/log/utils.js +21 -0
  639. package/dist/node/utilities/matchPath.d.ts +10 -0
  640. package/dist/node/utilities/matchPath.js +58 -0
  641. package/dist/node/utilities/measurement.d.ts +3 -0
  642. package/dist/node/utilities/measurement.js +103 -0
  643. package/dist/node/utilities/parse.d.ts +1 -0
  644. package/dist/node/utilities/parse.js +13 -0
  645. package/dist/node/utilities/parseMetafieldValue/index.d.ts +1 -0
  646. package/dist/node/utilities/parseMetafieldValue/index.js +5 -0
  647. package/dist/node/utilities/parseMetafieldValue/parseMetafieldValue.d.ts +6 -0
  648. package/dist/node/utilities/parseMetafieldValue/parseMetafieldValue.js +40 -0
  649. package/dist/node/utilities/storefrontApi.d.ts +4 -0
  650. package/dist/node/utilities/storefrontApi.js +26 -0
  651. package/dist/node/utilities/suspense.d.ts +12 -0
  652. package/dist/node/utilities/suspense.js +64 -0
  653. package/dist/node/utilities/template.d.ts +9 -0
  654. package/dist/node/utilities/template.js +27 -0
  655. package/dist/node/utilities/timing.d.ts +7 -0
  656. package/dist/node/utilities/timing.js +18 -0
  657. package/dist/node/utilities/video_parameters.d.ts +47 -0
  658. package/dist/node/utilities/video_parameters.js +27 -0
  659. package/dist/node/utilities/web-api-polyfill.d.ts +1 -0
  660. package/dist/node/utilities/web-api-polyfill.js +47 -0
  661. package/dist/node/version.d.ts +1 -0
  662. package/dist/node/version.js +4 -0
  663. package/entry-client.d.ts +1 -0
  664. package/entry-client.js +1 -0
  665. package/entry-server.d.ts +1 -0
  666. package/entry-server.js +1 -0
  667. package/middleware.d.ts +1 -0
  668. package/middleware.js +1 -0
  669. package/package.json +125 -0
  670. package/plugin.d.ts +1 -0
  671. package/plugin.js +1 -0
  672. package/vendor/react-server-dom-vite/LICENSE +21 -0
  673. package/vendor/react-server-dom-vite/README.md +5 -0
  674. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-plugin.js +356 -0
  675. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-writer.browser.development.server.js +1753 -0
  676. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-writer.browser.production.min.server.js +46 -0
  677. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-writer.node.development.server.js +1716 -0
  678. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-writer.node.production.min.server.js +44 -0
  679. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite.development.js +613 -0
  680. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite.production.min.js +19 -0
  681. package/vendor/react-server-dom-vite/esm/package.json +3 -0
  682. package/vendor/react-server-dom-vite/esm/react-server-dom-vite-client-proxy.js +88 -0
  683. package/vendor/react-server-dom-vite/esm/react-server-dom-vite-plugin.js +352 -0
  684. package/vendor/react-server-dom-vite/esm/react-server-dom-vite-writer.browser.server.js +1745 -0
  685. package/vendor/react-server-dom-vite/esm/react-server-dom-vite-writer.node.server.js +1708 -0
  686. package/vendor/react-server-dom-vite/esm/react-server-dom-vite.js +603 -0
  687. package/vendor/react-server-dom-vite/index.js +7 -0
  688. package/vendor/react-server-dom-vite/package.json +67 -0
  689. package/vendor/react-server-dom-vite/plugin.js +3 -0
  690. package/vendor/react-server-dom-vite/writer.browser.server.js +7 -0
  691. package/vendor/react-server-dom-vite/writer.node.server.js +7 -0
  692. package/web-polyfills.js +1 -0
@@ -0,0 +1,128 @@
1
+ import React, { createContext, useContext } from 'react';
2
+ import { getTime } from '../../utilities/timing';
3
+ import { hashKey } from '../../utilities/hash';
4
+ import { collectQueryTimings } from '../../utilities/log';
5
+ // Context to inject current request in SSR
6
+ const RequestContextSSR = createContext(null);
7
+ // Cache to inject current request in RSC
8
+ function requestCacheRSC() {
9
+ return new Map();
10
+ }
11
+ requestCacheRSC.key = Symbol.for('HYDROGEN_REQUEST');
12
+ // Note: use this only during RSC/Flight rendering. The React dispatcher
13
+ // for SSR/Fizz rendering does not implement getCacheForType.
14
+ function getCacheForType(resource) {
15
+ var _a;
16
+ const dispatcher =
17
+ // @ts-ignore
18
+ React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED
19
+ .ReactCurrentDispatcher.current;
20
+ // @ts-ignore
21
+ if (__DEV__ && typeof jest !== 'undefined' && !dispatcher.getCacheForType) {
22
+ // Jest does not have access to the RSC runtime, mock it here:
23
+ // @ts-ignore
24
+ return ((_a = globalThis.__jestRscCache) !== null && _a !== void 0 ? _a : (globalThis.__jestRscCache = resource()));
25
+ }
26
+ return dispatcher.getCacheForType(resource);
27
+ }
28
+ export function ServerRequestProvider({ isRSC, request, children, }) {
29
+ if (isRSC) {
30
+ // Save the request object in a React cache that is
31
+ // scoped to this current rendering.
32
+ const requestCache = getCacheForType(requestCacheRSC);
33
+ requestCache.set(requestCacheRSC.key, request);
34
+ return children;
35
+ }
36
+ // Use a normal provider in SSR to make the request object
37
+ // available in the current rendering.
38
+ return (React.createElement(RequestContextSSR.Provider, { value: request }, children));
39
+ }
40
+ export function useServerRequest() {
41
+ let request;
42
+ try {
43
+ // This cache only works during RSC rendering:
44
+ // @ts-ignore
45
+ const cache = getCacheForType(requestCacheRSC);
46
+ request = cache ? cache.get(requestCacheRSC.key) : null;
47
+ }
48
+ catch (_a) {
49
+ // If RSC cache failed it means this is not an RSC request.
50
+ // Try getting SSR context instead:
51
+ request = useContext(RequestContextSSR); // eslint-disable-line react-hooks/rules-of-hooks
52
+ }
53
+ if (!request) {
54
+ // @ts-ignore
55
+ if (__DEV__ && typeof jest !== 'undefined') {
56
+ // Unit tests are not wrapped in ServerRequestProvider.
57
+ // This mocks it, instead of providing it in every test.
58
+ return { ctx: {} };
59
+ }
60
+ throw new Error('No ServerRequest Context found');
61
+ }
62
+ return request;
63
+ }
64
+ /**
65
+ * Returns data stored in the request cache.
66
+ * It will throw the promise if data is not ready.
67
+ */
68
+ export function useRequestCacheData(key, fetcher) {
69
+ const request = useServerRequest();
70
+ const cache = request.ctx.cache;
71
+ const cacheKey = hashKey(key);
72
+ if (!cache.has(cacheKey)) {
73
+ let result;
74
+ let promise;
75
+ cache.set(cacheKey, () => {
76
+ if (result !== undefined) {
77
+ collectQueryTimings(request, key, 'rendered');
78
+ return result;
79
+ }
80
+ if (!promise) {
81
+ const startApiTime = getTime();
82
+ const maybePromise = fetcher();
83
+ if (!(maybePromise instanceof Promise)) {
84
+ result = { data: maybePromise };
85
+ return result;
86
+ }
87
+ promise = maybePromise.then((data) => {
88
+ result = { data };
89
+ collectQueryTimings(request, key, 'resolved', getTime() - startApiTime);
90
+ }, (error) => (result = { error }));
91
+ }
92
+ throw promise;
93
+ });
94
+ }
95
+ // Making sure the promise has returned data because it can be initated by a preload request,
96
+ // otherwise, we throw the promise
97
+ const result = cache.get(cacheKey).call();
98
+ if (result instanceof Promise)
99
+ throw result;
100
+ return result;
101
+ }
102
+ export function preloadRequestCacheData(request, preloadQueries) {
103
+ const cache = request.ctx.cache;
104
+ preloadQueries === null || preloadQueries === void 0 ? void 0 : preloadQueries.forEach((preloadQuery, cacheKey) => {
105
+ collectQueryTimings(request, preloadQuery.key, 'preload');
106
+ if (!cache.has(cacheKey)) {
107
+ let result;
108
+ let promise;
109
+ cache.set(cacheKey, () => {
110
+ if (result !== undefined) {
111
+ collectQueryTimings(request, preloadQuery.key, 'rendered');
112
+ return result;
113
+ }
114
+ if (!promise) {
115
+ const startApiTime = getTime();
116
+ promise = preloadQuery.fetcher().then((data) => {
117
+ result = { data };
118
+ collectQueryTimings(request, preloadQuery.key, 'resolved', getTime() - startApiTime);
119
+ }, (error) => {
120
+ result = { error };
121
+ });
122
+ }
123
+ return promise;
124
+ });
125
+ }
126
+ cache.get(cacheKey).call();
127
+ });
128
+ }
@@ -0,0 +1 @@
1
+ export * from './ServerRequestProvider';
@@ -0,0 +1 @@
1
+ export * from './ServerRequestProvider';
@@ -0,0 +1,30 @@
1
+ import React, { ReactNode } from 'react';
2
+ declare global {
3
+ var __DEV__: boolean;
4
+ }
5
+ export interface ServerState {
6
+ pathname: string;
7
+ search: string;
8
+ [key: string]: any;
9
+ }
10
+ declare type ServerStateSetterInput = ((prev: ServerState) => Partial<ServerState>) | Partial<ServerState> | string;
11
+ export interface ServerStateSetter {
12
+ (input: ServerStateSetterInput, propValue?: any): void;
13
+ }
14
+ interface ProposedServerStateSetter {
15
+ (input: ServerStateSetterInput, propValue?: any): ServerState;
16
+ }
17
+ export interface ServerStateContextValue {
18
+ pending: boolean;
19
+ serverState: ServerState;
20
+ setServerState: ServerStateSetter;
21
+ getProposedServerState: ProposedServerStateSetter;
22
+ }
23
+ export declare const ServerStateContext: React.Context<ServerStateContextValue>;
24
+ interface ServerStateProviderProps {
25
+ serverState: ServerState;
26
+ setServerState: React.Dispatch<React.SetStateAction<ServerState>>;
27
+ children: ReactNode;
28
+ }
29
+ export declare function ServerStateProvider({ serverState, setServerState, children, }: ServerStateProviderProps): JSX.Element;
30
+ export {};
@@ -0,0 +1,59 @@
1
+ import React, { createContext, useMemo, useCallback,
2
+ // @ts-ignore
3
+ useTransition, } from 'react';
4
+ const PRIVATE_PROPS = ['request', 'response'];
5
+ export const ServerStateContext = createContext(null);
6
+ export function ServerStateProvider({ serverState, setServerState, children, }) {
7
+ const [pending, startTransition] = useTransition();
8
+ const setServerStateCallback = useCallback((input, propValue) => {
9
+ /**
10
+ * By wrapping this state change in a transition, React renders the new state
11
+ * concurrently in a new "tree" instead of Suspending and showing the (blank)
12
+ * fallback. This is preferred behavior, though we may want to revisit how
13
+ * we make this decision globally for the developer - and consider providing
14
+ * the `pending` flag also provided by the hook to display in the UI.
15
+ */
16
+ startTransition(() => {
17
+ return setServerState((prev) => getNewServerState(prev, input, propValue));
18
+ });
19
+ }, [setServerState, startTransition]);
20
+ const getProposedServerStateCallback = useCallback((input, propValue) => {
21
+ return getNewServerState(serverState, input, propValue);
22
+ }, [serverState]);
23
+ function getNewServerState(prev, input, propValue) {
24
+ let newValue;
25
+ if (typeof input === 'function') {
26
+ newValue = input(prev);
27
+ }
28
+ else if (typeof input === 'string') {
29
+ newValue = { [input]: propValue };
30
+ }
31
+ else {
32
+ newValue = input;
33
+ }
34
+ if (!newValue)
35
+ return { ...prev };
36
+ if (__DEV__) {
37
+ const privateProp = PRIVATE_PROPS.find((prop) => prop in newValue);
38
+ if (privateProp) {
39
+ console.warn(`Custom "${privateProp}" property in server state is ignored. Use a different name.`);
40
+ }
41
+ }
42
+ return {
43
+ ...prev,
44
+ ...newValue,
45
+ };
46
+ }
47
+ const value = useMemo(() => ({
48
+ pending,
49
+ serverState,
50
+ setServerState: setServerStateCallback,
51
+ getProposedServerState: getProposedServerStateCallback,
52
+ }), [
53
+ serverState,
54
+ getProposedServerStateCallback,
55
+ setServerStateCallback,
56
+ pending,
57
+ ]);
58
+ return (React.createElement(ServerStateContext.Provider, { value: value }, children));
59
+ }
@@ -0,0 +1,7 @@
1
+ import type { ShopifyContextValue } from './types';
2
+ import React, { ReactNode } from 'react';
3
+ export declare const ShopifyContext: React.Context<ShopifyContextValue | null>;
4
+ export declare function ShopifyProviderClient({ children, shopifyConfig, }: {
5
+ children: ReactNode;
6
+ shopifyConfig: ShopifyContextValue;
7
+ }): JSX.Element;
@@ -0,0 +1,8 @@
1
+ import React, { createContext } from 'react';
2
+ export const ShopifyContext = createContext(null);
3
+ export function ShopifyProviderClient({ children, shopifyConfig, }) {
4
+ if (!shopifyConfig) {
5
+ throw new Error('The `shopifyConfig` prop should be passed to `ShopifyProvider`');
6
+ }
7
+ return (React.createElement(ShopifyContext.Provider, { value: shopifyConfig }, children));
8
+ }
@@ -0,0 +1,16 @@
1
+ import type { ShopifyProviderProps } from './types';
2
+ export declare const SHOPIFY_PROVIDER_CONTEXT_KEY: unique symbol;
3
+ /**
4
+ * The `ShopifyProvider` component wraps your entire app and provides support for hooks.
5
+ * You should place it in your app's entry point component. For example, `<App>`.
6
+ * If you're using the Hydrogen framework, you don't need to add this provider
7
+ * because it's automatically wrapped around your app in `renderHydrogen()`.
8
+ */
9
+ export declare function ShopifyProvider({
10
+ /**
11
+ * Shopify connection information. Defaults to
12
+ * [the `shopify` property in the `hydrogen.config.js` file](https://shopify.dev/custom-storefronts/hydrogen/framework/hydrogen-config).
13
+ */
14
+ shopifyConfig,
15
+ /** Any `ReactNode` elements. */
16
+ children, }: ShopifyProviderProps): JSX.Element;
@@ -0,0 +1,58 @@
1
+ import React, { useMemo } from 'react';
2
+ import { ShopifyProviderClient } from './ShopifyProvider.client';
3
+ import { DEFAULT_LOCALE } from '../constants';
4
+ import { useRequestCacheData, useServerRequest } from '../ServerRequestProvider';
5
+ function makeShopifyContext(shopifyConfig) {
6
+ var _a, _b;
7
+ const locale = (_a = shopifyConfig.defaultLocale) !== null && _a !== void 0 ? _a : DEFAULT_LOCALE;
8
+ const languageCode = locale.split(/[-_]/)[0];
9
+ return {
10
+ locale: locale.toUpperCase(),
11
+ languageCode: languageCode.toUpperCase(),
12
+ storeDomain: (_b = shopifyConfig === null || shopifyConfig === void 0 ? void 0 : shopifyConfig.storeDomain) === null || _b === void 0 ? void 0 : _b.replace(/^https?:\/\//, ''),
13
+ storefrontToken: shopifyConfig.storefrontToken,
14
+ storefrontApiVersion: shopifyConfig.storefrontApiVersion,
15
+ };
16
+ }
17
+ export const SHOPIFY_PROVIDER_CONTEXT_KEY = Symbol.for('SHOPIFY_PROVIDER_RSC');
18
+ /**
19
+ * The `ShopifyProvider` component wraps your entire app and provides support for hooks.
20
+ * You should place it in your app's entry point component. For example, `<App>`.
21
+ * If you're using the Hydrogen framework, you don't need to add this provider
22
+ * because it's automatically wrapped around your app in `renderHydrogen()`.
23
+ */
24
+ export function ShopifyProvider({
25
+ /**
26
+ * Shopify connection information. Defaults to
27
+ * [the `shopify` property in the `hydrogen.config.js` file](https://shopify.dev/custom-storefronts/hydrogen/framework/hydrogen-config).
28
+ */
29
+ shopifyConfig,
30
+ /** Any `ReactNode` elements. */
31
+ children, }) {
32
+ var _a;
33
+ const request = useServerRequest();
34
+ if (!shopifyConfig) {
35
+ shopifyConfig = (_a = request.ctx.hydrogenConfig) === null || _a === void 0 ? void 0 : _a.shopify;
36
+ if (!shopifyConfig) {
37
+ throw new Error('The `shopifyConfig` prop should be passed to `ShopifyProvider`');
38
+ }
39
+ }
40
+ let actualShopifyConfig;
41
+ if (typeof shopifyConfig === 'function') {
42
+ // eslint-disable-next-line react-hooks/rules-of-hooks
43
+ const result = useRequestCacheData(['hydrogen-shopify-config'], () => shopifyConfig(request));
44
+ if (result.error) {
45
+ if (result.error instanceof Error) {
46
+ throw result.error;
47
+ }
48
+ throw new Error(`Failed to load Shopify config: ${result.error.statusText}`);
49
+ }
50
+ actualShopifyConfig = result.data;
51
+ }
52
+ else {
53
+ actualShopifyConfig = shopifyConfig;
54
+ }
55
+ const shopifyProviderValue = useMemo(() => makeShopifyContext(actualShopifyConfig), [actualShopifyConfig]);
56
+ request.ctx.shopifyConfig = shopifyProviderValue;
57
+ return (React.createElement(ShopifyProviderClient, { shopifyConfig: shopifyProviderValue }, children));
58
+ }
@@ -0,0 +1 @@
1
+ export { ShopifyContext } from './ShopifyProvider.client';
@@ -0,0 +1 @@
1
+ export { ShopifyContext } from './ShopifyProvider.client';
@@ -0,0 +1,13 @@
1
+ import type { CountryCode, LanguageCode } from '../../storefront-api-types';
2
+ import type { ReactNode } from 'react';
3
+ import type { ShopifyConfigFetcher, ShopifyConfig } from '../../types';
4
+ export interface ShopifyContextValue extends Omit<ShopifyConfig, 'defaultLocale'> {
5
+ locale: `${LanguageCode}-${CountryCode}`;
6
+ languageCode: `${LanguageCode}`;
7
+ }
8
+ export declare type ShopifyProviderProps = {
9
+ /** Shopify connection information. Defaults to the `shopify` property in the `hydrogen.config.js` file. */
10
+ shopifyConfig?: ShopifyConfig | ShopifyConfigFetcher;
11
+ /** Any `ReactNode` elements. */
12
+ children?: ReactNode;
13
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export declare const DEFAULT_LOCALE = "EN-US";
@@ -0,0 +1,3 @@
1
+ // Note: do not mix this export with other app-only logic
2
+ // to avoid importing unnecessary code in the plugins.
3
+ export const DEFAULT_LOCALE = 'EN-US';
@@ -0,0 +1,10 @@
1
+ import type { FetchResponse } from '../types';
2
+ /**
3
+ * Fetch a URL for use in a client component Suspense boundary.
4
+ */
5
+ export declare function fetchSync(url: string, options?: RequestInit): FetchResponse;
6
+ /**
7
+ * Preload a URL for use in a client component Suspense boundary.
8
+ * Useful for placing higher in the tree to avoid waterfalls.
9
+ */
10
+ export declare function preload(url: string, options?: RequestInit): void;
@@ -0,0 +1,28 @@
1
+ import { parseJSON } from '../../../utilities/parse';
2
+ import { suspendFunction, preloadFunction } from '../../../utilities/suspense';
3
+ /**
4
+ * Fetch a URL for use in a client component Suspense boundary.
5
+ */
6
+ export function fetchSync(url, options) {
7
+ const [text, response] = suspendFunction([url, options], async () => {
8
+ const response = await globalThis.fetch(url, options);
9
+ const text = await response.text();
10
+ return [text, response];
11
+ });
12
+ return {
13
+ response,
14
+ json: () => parseJSON(text),
15
+ text: () => text,
16
+ };
17
+ }
18
+ /**
19
+ * Preload a URL for use in a client component Suspense boundary.
20
+ * Useful for placing higher in the tree to avoid waterfalls.
21
+ */
22
+ export function preload(url, options) {
23
+ preloadFunction([url, options], async () => {
24
+ const response = await globalThis.fetch(url, options);
25
+ const text = await response.text();
26
+ return [text, response];
27
+ });
28
+ }
@@ -0,0 +1,8 @@
1
+ import { type HydrogenUseQueryOptions } from '../../useQuery/hooks';
2
+ import type { FetchResponse } from '../types';
3
+ /**
4
+ * The `fetchSync` hook makes API requests and is the recommended way to make simple fetch calls on the server and the client.
5
+ * It's designed similar to the [Web API's `fetch`](https://developer.mozilla.org/en-US/docs/Web/API/fetch), only in a way
6
+ * that supports [Suspense](https://reactjs.org/docs/concurrent-mode-suspense.html).
7
+ */
8
+ export declare function fetchSync(url: string, options?: Omit<RequestInit, 'cache'> & HydrogenUseQueryOptions): FetchResponse;
@@ -0,0 +1,29 @@
1
+ import { parseJSON } from '../../../utilities/parse';
2
+ import { useQuery } from '../../useQuery/hooks';
3
+ /**
4
+ * The `fetchSync` hook makes API requests and is the recommended way to make simple fetch calls on the server and the client.
5
+ * It's designed similar to the [Web API's `fetch`](https://developer.mozilla.org/en-US/docs/Web/API/fetch), only in a way
6
+ * that supports [Suspense](https://reactjs.org/docs/concurrent-mode-suspense.html).
7
+ */
8
+ export function fetchSync(url, options) {
9
+ const { cache, preload, shouldCacheResponse, ...requestInit } = options !== null && options !== void 0 ? options : {};
10
+ const { data: useQueryResponse, error } = useQuery(// eslint-disable-line react-hooks/rules-of-hooks
11
+ [url, requestInit], async () => {
12
+ const response = await globalThis.fetch(url, requestInit);
13
+ const text = await response.text();
14
+ return [text, response];
15
+ }, {
16
+ cache,
17
+ preload,
18
+ shouldCacheResponse,
19
+ });
20
+ if (error) {
21
+ throw error;
22
+ }
23
+ const [data, response] = useQueryResponse;
24
+ return {
25
+ response,
26
+ json: () => parseJSON(data),
27
+ text: () => data,
28
+ };
29
+ }
@@ -0,0 +1,5 @@
1
+ export interface FetchResponse {
2
+ response: Response;
3
+ json: () => any;
4
+ text: () => any;
5
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ export * from './ServerPropsProvider';
2
+ export { useShop } from './useShop';
3
+ export { useUrl } from './useUrl';
@@ -0,0 +1,3 @@
1
+ export * from './ServerPropsProvider';
2
+ export { useShop } from './useShop';
3
+ export { useUrl } from './useUrl';
@@ -0,0 +1,27 @@
1
+ import { Logger } from '../../utilities/log';
2
+ import type { ServerComponentResponse } from '../../framework/Hydration/ServerComponentResponse.server';
3
+ import type { ServerComponentRequest } from '../../framework/Hydration/ServerComponentRequest.server';
4
+ export declare type SessionSyncApi = {
5
+ get: () => Record<string, string>;
6
+ };
7
+ export declare type SessionApi = {
8
+ get: () => Promise<Record<string, string>>;
9
+ set: (key: string, value: string) => Promise<void>;
10
+ destroy: () => Promise<void>;
11
+ };
12
+ export declare type SessionStorageAdapter = {
13
+ get: (request: Request) => Promise<Record<string, string>>;
14
+ set: (request: Request, value: Record<string, string>) => Promise<string>;
15
+ destroy: (request: Request) => Promise<string>;
16
+ };
17
+ export declare function getSyncSessionApi(request: ServerComponentRequest, componentResponse: ServerComponentResponse, log: Logger, session?: SessionStorageAdapter): {
18
+ get(): any;
19
+ };
20
+ export declare const emptySessionImplementation: (log: Logger) => {
21
+ get(): Promise<{}>;
22
+ set(key: string, value: string): Promise<void>;
23
+ destroy(): Promise<void>;
24
+ };
25
+ export declare const emptySyncSessionImplementation: (log: Logger) => {
26
+ get(): {};
27
+ };
@@ -0,0 +1,37 @@
1
+ import { wrapPromise } from '../../utilities/suspense';
2
+ export function getSyncSessionApi(request, componentResponse, log, session) {
3
+ const sessionPromises = {};
4
+ return session
5
+ ? {
6
+ get() {
7
+ if (!sessionPromises.getPromise) {
8
+ sessionPromises.getPromise = wrapPromise(session.get(request));
9
+ }
10
+ return sessionPromises.getPromise.read();
11
+ },
12
+ }
13
+ : emptySyncSessionImplementation(log);
14
+ }
15
+ export const emptySessionImplementation = function (log) {
16
+ return {
17
+ async get() {
18
+ log.warn('No session adapter has been configured!');
19
+ return {};
20
+ },
21
+ async set(key, value) {
22
+ log.warn('No session adapter has been configured!');
23
+ },
24
+ async destroy() {
25
+ log.warn('No session adapter has been configured!');
26
+ return;
27
+ },
28
+ };
29
+ };
30
+ export const emptySyncSessionImplementation = function (log) {
31
+ return {
32
+ get() {
33
+ log.warn('No session adapter has been configured!');
34
+ return {};
35
+ },
36
+ };
37
+ };
@@ -0,0 +1,29 @@
1
+ /**
2
+ * This file is used for compatibility between browser and server environments.
3
+ * The browser loads this file as is, without leaking server logic.
4
+ * In the server, this file is transformed by Vite to inject server logic.
5
+ * NOTE: Do not remove SSR-prefixed comments in this file.
6
+ */
7
+ import type { ServerComponentRequest } from '../framework/Hydration/ServerComponentRequest.server';
8
+ export declare const META_ENV_SSR = false;
9
+ declare type ServerGetter<T> = (request: ServerComponentRequest) => T;
10
+ /**
11
+ * Isomorphic hook to access context data. It gives access to the current request
12
+ * when running on the server, and returns the provided client fallback in the browser.
13
+ * This can be used in server components (RSC) as a Context/Provider replacement. In client
14
+ * components, it uses the server getter in SSR and the client fallback in the browser.
15
+ * @param serverGetter - A function that gets the current server request and returns any
16
+ * desired request property. It only runs in the server (both in RSC and SSR).
17
+ * @param clientFallback - An optional raw value or a React.Context to be consumed that will be
18
+ * returned if the current environment is not the server. Note that, if this is a React.Context,
19
+ * there must be a React.Provider parent in the app tree.
20
+ * @returns A value retrieved from the current server request or a fallback value in the client.
21
+ * The returned type depends on what the server getter returns.
22
+ * @example
23
+ * ```js
24
+ * import {MyClientContext} from './my-client-react-context-provider';
25
+ * useEnvContext(req => req.ctx.myServerContext, MyClientContext)
26
+ * ```
27
+ */
28
+ export declare function useEnvContext<T>(serverGetter: ServerGetter<T>, clientFallback?: any): T;
29
+ export {};
@@ -0,0 +1,35 @@
1
+ /**
2
+ * This file is used for compatibility between browser and server environments.
3
+ * The browser loads this file as is, without leaking server logic.
4
+ * In the server, this file is transformed by Vite to inject server logic.
5
+ * NOTE: Do not remove SSR-prefixed comments in this file.
6
+ */
7
+ import { useContext } from 'react';
8
+ //@SSR import {useServerRequest} from './ServerRequestProvider';
9
+ // This is replaced by Vite to import.meta.env.SSR
10
+ export const META_ENV_SSR = false;
11
+ const reactContextType = Symbol.for('react.context');
12
+ /**
13
+ * Isomorphic hook to access context data. It gives access to the current request
14
+ * when running on the server, and returns the provided client fallback in the browser.
15
+ * This can be used in server components (RSC) as a Context/Provider replacement. In client
16
+ * components, it uses the server getter in SSR and the client fallback in the browser.
17
+ * @param serverGetter - A function that gets the current server request and returns any
18
+ * desired request property. It only runs in the server (both in RSC and SSR).
19
+ * @param clientFallback - An optional raw value or a React.Context to be consumed that will be
20
+ * returned if the current environment is not the server. Note that, if this is a React.Context,
21
+ * there must be a React.Provider parent in the app tree.
22
+ * @returns A value retrieved from the current server request or a fallback value in the client.
23
+ * The returned type depends on what the server getter returns.
24
+ * @example
25
+ * ```js
26
+ * import {MyClientContext} from './my-client-react-context-provider';
27
+ * useEnvContext(req => req.ctx.myServerContext, MyClientContext)
28
+ * ```
29
+ */
30
+ export function useEnvContext(serverGetter, clientFallback) {
31
+ //@SSR if (META_ENV_SSR) return serverGetter(useServerRequest());
32
+ return clientFallback && clientFallback.$$typeof === reactContextType
33
+ ? useContext(clientFallback) // eslint-disable-line react-hooks/rules-of-hooks
34
+ : clientFallback;
35
+ }
@@ -0,0 +1,13 @@
1
+ declare type NavigationOptions = {
2
+ /** Whether to update the state object or URL of the current history entry. Defaults to false. */
3
+ replace?: boolean;
4
+ /** Whether to reload the whole document on navigation. */
5
+ reloadDocument?: boolean;
6
+ /** The custom client state with the navigation. */
7
+ clientState?: any;
8
+ };
9
+ /**
10
+ * The useNavigate hook imperatively navigates between routes.
11
+ */
12
+ export declare function useNavigate(): (path: string, options?: NavigationOptions) => void;
13
+ export {};
@@ -0,0 +1,14 @@
1
+ import { useRouter } from '../Router/BrowserRouter.client';
2
+ /**
3
+ * The useNavigate hook imperatively navigates between routes.
4
+ */
5
+ export function useNavigate() {
6
+ const router = useRouter();
7
+ return (path, options = { replace: false, reloadDocument: false }) => {
8
+ // @todo wait for RSC and then change focus for a11y?
9
+ if (options === null || options === void 0 ? void 0 : options.replace)
10
+ router.history.replace(path, (options === null || options === void 0 ? void 0 : options.clientState) || {});
11
+ else
12
+ router.history.push(path, (options === null || options === void 0 ? void 0 : options.clientState) || {});
13
+ };
14
+ }
@@ -0,0 +1,36 @@
1
+ import type { CachingStrategy, PreloadOptions, QueryKey } from '../../types';
2
+ export interface HydrogenUseQueryOptions {
3
+ /** The [caching strategy](https://shopify.dev/custom-storefronts/hydrogen/framework/cache#caching-strategies) to help you
4
+ * determine which cache control header to set.
5
+ */
6
+ cache?: CachingStrategy;
7
+ /** Whether to [preload the query](https://shopify.dev/custom-storefronts/hydrogen/framework/preloaded-queries).
8
+ * Defaults to `false`. Specify `true` to preload the query for the URL or `'*'`
9
+ * to preload the query for all requests.
10
+ */
11
+ preload?: PreloadOptions;
12
+ /** A function that inspects the response body to determine if it should be cached.
13
+ */
14
+ shouldCacheResponse?: (body: any) => boolean;
15
+ }
16
+ /**
17
+ * The `useQuery` hook executes an asynchronous operation like `fetch` in a way that
18
+ * supports [Suspense](https://reactjs.org/docs/concurrent-mode-suspense.html). You can use this
19
+ * hook to call any third-party APIs from a server component.
20
+ *
21
+ * \> Note:
22
+ * \> If you're making a simple fetch call on the server, then we recommend using the [`fetchSync`](https://shopify.dev/api/hydrogen/hooks/global/fetchsync) hook instead.
23
+ */
24
+ export declare function useQuery<T>(
25
+ /** A string or array to uniquely identify the current query. */
26
+ key: QueryKey,
27
+ /** An asynchronous query function like `fetch` which returns data. */
28
+ queryFn: () => Promise<T>,
29
+ /** The options to manage the cache behavior of the sub-request. */
30
+ queryOptions?: HydrogenUseQueryOptions): {
31
+ data?: undefined;
32
+ error: Error | Response;
33
+ } | {
34
+ data: T;
35
+ error?: undefined;
36
+ };