@shopify/hydrogen 0.22.1 → 0.25.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 (445) hide show
  1. package/CHANGELOG.md +378 -0
  2. package/dist/esnext/components/AddToCartButton/AddToCartButton.client.d.ts +2 -5
  3. package/dist/esnext/components/AddToCartButton/AddToCartButton.client.js +18 -17
  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.js +4 -4
  11. package/dist/esnext/components/CartLinePrice/CartLinePrice.client.js +5 -8
  12. package/dist/esnext/components/CartLineProvider/context.d.ts +10 -0
  13. package/dist/esnext/components/CartLineQuantityAdjustButton/CartLineQuantityAdjustButton.d.ts +4 -5
  14. package/dist/esnext/components/CartLineQuantityAdjustButton/CartLineQuantityAdjustButton.js +16 -14
  15. package/dist/esnext/components/CartLines/{CartLines.d.ts → CartLines.client.d.ts} +0 -0
  16. package/dist/esnext/components/CartLines/{CartLines.js → CartLines.client.js} +1 -1
  17. package/dist/esnext/components/CartLines/index.d.ts +1 -1
  18. package/dist/esnext/components/CartLines/index.js +1 -1
  19. package/dist/esnext/components/CartProvider/CartProvider.client.js +31 -38
  20. package/dist/esnext/components/CartProvider/cart-queries.d.ts +1 -1
  21. package/dist/esnext/components/CartProvider/cart-queries.js +11 -0
  22. package/dist/esnext/components/CartProvider/graphql/CartAttributesUpdateMutation.d.ts +11 -1
  23. package/dist/esnext/components/CartProvider/graphql/CartBuyerIdentityUpdateMutation.d.ts +11 -1
  24. package/dist/esnext/components/CartProvider/graphql/CartCreateMutation.d.ts +11 -1
  25. package/dist/esnext/components/CartProvider/graphql/CartDiscountCodesUpdateMutation.d.ts +11 -1
  26. package/dist/esnext/components/CartProvider/graphql/CartFragment.d.ts +11 -1
  27. package/dist/esnext/components/CartProvider/graphql/CartLineAddMutation.d.ts +11 -1
  28. package/dist/esnext/components/CartProvider/graphql/CartLineRemoveMutation.d.ts +11 -1
  29. package/dist/esnext/components/CartProvider/graphql/CartLineUpdateMutation.d.ts +11 -1
  30. package/dist/esnext/components/CartProvider/graphql/CartNoteUpdateMutation.d.ts +11 -1
  31. package/dist/esnext/components/CartProvider/graphql/CartQuery.d.ts +11 -1
  32. package/dist/esnext/components/CartProvider/hooks.client.js +5 -8
  33. package/dist/esnext/components/CartProvider/types.d.ts +2 -0
  34. package/dist/esnext/components/ExternalVideo/ExternalVideo.js +1 -1
  35. package/dist/esnext/components/Image/Image.d.ts +21 -0
  36. package/dist/esnext/components/Image/Image.js +88 -14
  37. package/dist/esnext/components/Link/Link.client.d.ts +2 -0
  38. package/dist/esnext/components/Link/Link.client.js +8 -5
  39. package/dist/esnext/components/LocalizationProvider/LocalizationProvider.server.js +2 -2
  40. package/dist/esnext/components/Metafield/Metafield.client.d.ts +6 -10
  41. package/dist/esnext/components/Metafield/Metafield.client.js +67 -31
  42. package/dist/esnext/components/Metafield/components/StarRating/StarRating.js +1 -1
  43. package/dist/esnext/components/ModelViewer/ModelViewer.client.js +2 -3
  44. package/dist/esnext/components/Money/Money.client.js +1 -1
  45. package/dist/esnext/components/ProductOptionsProvider/ProductOptionsProvider.client.d.ts +21 -0
  46. package/dist/esnext/components/ProductOptionsProvider/ProductOptionsProvider.client.js +133 -0
  47. package/dist/esnext/components/ProductOptionsProvider/context.d.ts +2 -0
  48. package/dist/esnext/components/{ProductProvider → ProductOptionsProvider}/context.js +0 -1
  49. package/dist/esnext/components/ProductOptionsProvider/index.d.ts +2 -0
  50. package/dist/esnext/components/ProductOptionsProvider/index.js +2 -0
  51. package/dist/esnext/components/ProductPrice/ProductPrice.client.d.ts +5 -2
  52. package/dist/esnext/components/ProductPrice/ProductPrice.client.js +10 -12
  53. package/dist/esnext/components/Seo/CollectionSeo.client.js +2 -3
  54. package/dist/esnext/components/Seo/DefaultPageSeo.client.js +3 -3
  55. package/dist/esnext/components/Seo/NoIndexSeo.client.js +2 -2
  56. package/dist/esnext/components/Seo/PageSeo.client.js +2 -3
  57. package/dist/esnext/components/Seo/ProductSeo.client.js +9 -10
  58. package/dist/esnext/components/ShopPayButton/ShopPayButton.client.js +2 -3
  59. package/dist/esnext/components/Video/Video.js +2 -3
  60. package/dist/esnext/components/index.d.ts +1 -1
  61. package/dist/esnext/components/index.js +1 -1
  62. package/dist/esnext/config.d.ts +4 -0
  63. package/dist/esnext/config.js +4 -0
  64. package/dist/esnext/constants.d.ts +2 -0
  65. package/dist/esnext/constants.js +2 -0
  66. package/dist/esnext/entry-client.js +107 -21
  67. package/dist/esnext/entry-server.d.ts +2 -31
  68. package/dist/esnext/entry-server.js +400 -335
  69. package/dist/esnext/foundation/Analytics/Analytics.client.js +15 -13
  70. package/dist/esnext/foundation/Analytics/Analytics.server.js +27 -20
  71. package/dist/esnext/foundation/Analytics/ClientAnalytics.d.ts +4 -2
  72. package/dist/esnext/foundation/Analytics/ClientAnalytics.js +16 -14
  73. package/dist/esnext/foundation/Analytics/ServerAnalyticsRoute.d.ts +4 -0
  74. package/dist/esnext/foundation/Analytics/ServerAnalyticsRoute.js +36 -0
  75. package/dist/esnext/foundation/Analytics/connectors/PerformanceMetrics/ServerAnalyticsConnector.d.ts +3 -0
  76. package/dist/esnext/foundation/Analytics/connectors/PerformanceMetrics/ServerAnalyticsConnector.js +27 -0
  77. package/dist/esnext/foundation/Analytics/connectors/Shopify/ServerAnalyticsConnector.d.ts +3 -0
  78. package/dist/esnext/foundation/Analytics/connectors/Shopify/ServerAnalyticsConnector.js +21 -0
  79. package/dist/esnext/foundation/Analytics/connectors/Shopify/ShopifyAnalytics.client.d.ts +3 -0
  80. package/dist/esnext/foundation/Analytics/connectors/Shopify/ShopifyAnalytics.client.js +190 -0
  81. package/dist/esnext/foundation/Analytics/connectors/Shopify/ShopifyAnalytics.server.d.ts +3 -0
  82. package/dist/esnext/foundation/Analytics/connectors/Shopify/ShopifyAnalytics.server.js +23 -0
  83. package/dist/esnext/foundation/Analytics/connectors/Shopify/const.d.ts +28 -0
  84. package/dist/esnext/foundation/Analytics/connectors/Shopify/const.js +51 -0
  85. package/dist/esnext/foundation/Analytics/connectors/Shopify/utils.d.ts +3 -0
  86. package/dist/esnext/foundation/Analytics/connectors/Shopify/utils.js +56 -0
  87. package/dist/esnext/foundation/Analytics/hook.js +4 -2
  88. package/dist/esnext/foundation/Analytics/utils.d.ts +2 -0
  89. package/dist/esnext/foundation/Analytics/utils.js +21 -0
  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/{node/framework → esnext/foundation/Cache}/cache-sub-request.d.ts +1 -1
  95. package/dist/esnext/{framework → foundation/Cache}/cache-sub-request.js +4 -4
  96. package/dist/esnext/{framework → foundation/Cache}/cache.d.ts +1 -1
  97. package/dist/esnext/{framework → foundation/Cache}/cache.js +4 -4
  98. package/dist/esnext/foundation/Cache/strategies/index.d.ts +7 -0
  99. package/dist/esnext/foundation/Cache/strategies/index.js +54 -0
  100. package/dist/esnext/foundation/Cookie/Cookie.d.ts +3 -3
  101. package/dist/esnext/foundation/Cookie/Cookie.js +5 -0
  102. package/dist/esnext/foundation/DevTools/DevTools.client.d.ts +3 -0
  103. package/dist/esnext/foundation/DevTools/DevTools.client.js +17 -0
  104. package/dist/esnext/foundation/DevTools/DevTools.server.d.ts +1 -0
  105. package/dist/esnext/foundation/DevTools/DevTools.server.js +14 -0
  106. package/dist/esnext/foundation/DevTools/components/GraphQL.client.d.ts +1 -0
  107. package/dist/esnext/foundation/DevTools/components/GraphQL.client.js +25 -0
  108. package/dist/esnext/foundation/DevTools/components/Heading.d.ts +5 -0
  109. package/dist/esnext/foundation/DevTools/components/Heading.js +12 -0
  110. package/dist/esnext/foundation/DevTools/components/Interface.client.d.ts +11 -0
  111. package/dist/esnext/foundation/DevTools/components/Interface.client.js +47 -0
  112. package/dist/esnext/foundation/DevTools/components/Panels.d.ts +8 -0
  113. package/dist/esnext/foundation/DevTools/components/Panels.js +60 -0
  114. package/dist/esnext/foundation/DevTools/components/Performance.client.d.ts +14 -0
  115. package/dist/esnext/foundation/DevTools/components/Performance.client.js +26 -0
  116. package/dist/esnext/foundation/DevTools/components/Settings.client.d.ts +7 -0
  117. package/dist/esnext/foundation/DevTools/components/Settings.client.js +20 -0
  118. package/dist/esnext/foundation/DevTools/components/Table.d.ts +9 -0
  119. package/dist/esnext/foundation/DevTools/components/Table.js +7 -0
  120. package/dist/esnext/foundation/DevTools/components/icons.d.ts +2 -0
  121. package/dist/esnext/foundation/DevTools/components/icons.js +13 -0
  122. package/dist/esnext/foundation/DevTools/components/index.d.ts +2 -0
  123. package/dist/esnext/foundation/DevTools/components/index.js +2 -0
  124. package/dist/esnext/foundation/FileRoutes/FileRoutes.server.js +4 -4
  125. package/dist/{node/framework/Hydration → esnext/foundation/Html}/Html.d.ts +3 -1
  126. package/dist/esnext/{framework/Hydration → foundation/Html}/Html.js +15 -5
  127. package/dist/esnext/{framework/Hydration/ServerComponentRequest.server.d.ts → foundation/HydrogenRequest/HydrogenRequest.server.d.ts} +14 -4
  128. package/dist/esnext/{framework/Hydration/ServerComponentRequest.server.js → foundation/HydrogenRequest/HydrogenRequest.server.js} +70 -12
  129. package/dist/esnext/{framework/Hydration/ServerComponentResponse.server.d.ts → foundation/HydrogenResponse/HydrogenResponse.server.d.ts} +6 -11
  130. package/dist/esnext/foundation/HydrogenResponse/HydrogenResponse.server.js +48 -0
  131. package/dist/esnext/foundation/Router/BrowserRouter.client.js +15 -9
  132. package/dist/esnext/foundation/ServerPropsProvider/ServerPropsProvider.d.ts +2 -1
  133. package/dist/esnext/foundation/ServerPropsProvider/ServerPropsProvider.js +1 -1
  134. package/dist/esnext/foundation/ServerRequestProvider/ServerRequestProvider.d.ts +5 -6
  135. package/dist/esnext/foundation/ServerRequestProvider/ServerRequestProvider.js +19 -24
  136. package/dist/esnext/foundation/ServerStateProvider/ServerStateProvider.d.ts +1 -1
  137. package/dist/esnext/foundation/ServerStateProvider/ServerStateProvider.js +1 -1
  138. package/dist/esnext/foundation/ShopifyProvider/ShopifyProvider.server.js +4 -5
  139. package/dist/esnext/foundation/fetchSync/server/fetchSync.js +1 -1
  140. package/dist/esnext/foundation/index.d.ts +1 -1
  141. package/dist/esnext/foundation/index.js +1 -1
  142. package/dist/esnext/foundation/runtime.d.ts +2 -0
  143. package/dist/esnext/foundation/runtime.js +6 -0
  144. package/dist/esnext/foundation/session/session.d.ts +3 -3
  145. package/dist/esnext/foundation/ssr-interop.d.ts +2 -2
  146. package/dist/esnext/foundation/useNavigate/useNavigate.d.ts +2 -0
  147. package/dist/esnext/foundation/useNavigate/useNavigate.js +10 -4
  148. package/dist/esnext/foundation/useQuery/hooks.d.ts +1 -0
  149. package/dist/esnext/foundation/useQuery/hooks.js +29 -18
  150. package/dist/esnext/foundation/useRequestContext/index.d.ts +15 -0
  151. package/dist/esnext/foundation/useRequestContext/index.js +23 -0
  152. package/dist/esnext/foundation/useServerProps/use-server-props.js +2 -2
  153. package/dist/esnext/foundation/useSession/useSession.js +1 -2
  154. package/dist/esnext/foundation/useUrl/useUrl.js +1 -2
  155. package/dist/esnext/framework/cache/in-memory.js +3 -3
  156. package/dist/esnext/framework/middleware.d.ts +1 -1
  157. package/dist/esnext/framework/middleware.js +3 -4
  158. package/dist/esnext/framework/plugin.d.ts +7 -3
  159. package/dist/esnext/framework/plugin.js +4 -1
  160. package/dist/esnext/framework/plugins/vite-plugin-client-imports.js +1 -1
  161. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-config.js +70 -64
  162. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-middleware.d.ts +1 -1
  163. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-middleware.js +3 -4
  164. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-rsc.js +5 -13
  165. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-suppress-warnings.d.ts +3 -0
  166. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-suppress-warnings.js +19 -0
  167. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-virtual-files.d.ts +1 -1
  168. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-virtual-files.js +6 -4
  169. package/dist/esnext/framework/types.d.ts +5 -0
  170. package/dist/esnext/framework/types.js +1 -0
  171. package/dist/esnext/hooks/index.d.ts +0 -1
  172. package/dist/esnext/hooks/index.js +0 -1
  173. package/dist/esnext/hooks/useCartLine/useCartLine.d.ts +10 -0
  174. package/dist/esnext/hooks/useMoney/hooks.js +53 -39
  175. package/dist/esnext/hooks/useProductOptions/helpers.js +6 -10
  176. package/dist/esnext/hooks/useProductOptions/types.d.ts +17 -15
  177. package/dist/esnext/hooks/useProductOptions/useProductOptions.client.d.ts +1 -15
  178. package/dist/esnext/hooks/useProductOptions/useProductOptions.client.js +8 -107
  179. package/dist/esnext/hooks/useShopQuery/hooks.js +30 -18
  180. package/dist/esnext/index.d.ts +7 -5
  181. package/dist/esnext/index.js +5 -5
  182. package/dist/esnext/shared-types.d.ts +26 -0
  183. package/dist/esnext/shared-types.js +4 -0
  184. package/dist/esnext/storefront-api-types.d.ts +37 -443
  185. package/dist/esnext/streaming.server.d.ts +9 -19
  186. package/dist/esnext/streaming.server.js +2 -11
  187. package/dist/esnext/types.d.ts +40 -40
  188. package/dist/esnext/types.js +1 -1
  189. package/dist/esnext/utilities/apiRoutes.d.ts +8 -4
  190. package/dist/esnext/utilities/apiRoutes.js +6 -4
  191. package/dist/esnext/utilities/devtools.d.ts +1 -1
  192. package/dist/esnext/utilities/devtools.js +3 -3
  193. package/dist/esnext/utilities/flattenConnection/flattenConnection.d.ts +1 -0
  194. package/dist/esnext/utilities/flattenConnection/flattenConnection.js +13 -6
  195. package/dist/esnext/utilities/graphql-tracker.js +7 -9
  196. package/dist/esnext/utilities/hash.d.ts +2 -2
  197. package/dist/esnext/utilities/hash.js +29 -6
  198. package/dist/esnext/utilities/image_size.d.ts +24 -3
  199. package/dist/esnext/utilities/image_size.js +53 -31
  200. package/dist/esnext/utilities/index.d.ts +2 -2
  201. package/dist/esnext/utilities/index.js +2 -2
  202. package/dist/esnext/utilities/isBrowser/index.d.ts +1 -0
  203. package/dist/esnext/utilities/isBrowser/index.js +1 -0
  204. package/dist/esnext/utilities/isBrowser/isBrowser.d.ts +4 -0
  205. package/dist/esnext/utilities/isBrowser/isBrowser.js +6 -0
  206. package/dist/esnext/utilities/isServer/isServer.js +2 -2
  207. package/dist/esnext/utilities/load_script.js +1 -1
  208. package/dist/esnext/utilities/log/index.d.ts +1 -1
  209. package/dist/esnext/utilities/log/index.js +1 -1
  210. package/dist/esnext/utilities/log/log-cache-api-status.js +3 -2
  211. package/dist/esnext/utilities/log/log-cache-header.d.ts +4 -4
  212. package/dist/esnext/utilities/log/log-query-timeline.d.ts +3 -3
  213. package/dist/esnext/utilities/log/log-query-timeline.js +29 -10
  214. package/dist/esnext/utilities/log/log.d.ts +17 -11
  215. package/dist/esnext/utilities/log/log.js +28 -20
  216. package/dist/esnext/utilities/log/utils.js +1 -6
  217. package/dist/esnext/utilities/parseMetafield/index.d.ts +1 -0
  218. package/dist/esnext/utilities/parseMetafield/index.js +1 -0
  219. package/dist/esnext/utilities/parseMetafield/parseMetafield.d.ts +15 -0
  220. package/dist/esnext/utilities/{parseMetafieldValue/parseMetafieldValue.js → parseMetafield/parseMetafield.js} +28 -2
  221. package/dist/esnext/utilities/storefrontApi.js +9 -5
  222. package/dist/esnext/utilities/template.js +1 -2
  223. package/dist/esnext/utilities/web-api-polyfill.js +6 -0
  224. package/dist/esnext/version.d.ts +1 -1
  225. package/dist/esnext/version.js +1 -1
  226. package/dist/node/framework/cache/in-memory.js +3 -3
  227. package/dist/node/framework/middleware.d.ts +1 -1
  228. package/dist/node/framework/middleware.js +3 -4
  229. package/dist/node/framework/plugin.d.ts +4 -3
  230. package/dist/node/framework/plugin.js +5 -2
  231. package/dist/node/framework/plugins/vite-plugin-client-imports.js +1 -1
  232. package/dist/node/framework/plugins/vite-plugin-hydrogen-config.js +70 -64
  233. package/dist/node/framework/plugins/vite-plugin-hydrogen-middleware.d.ts +1 -1
  234. package/dist/node/framework/plugins/vite-plugin-hydrogen-middleware.js +3 -4
  235. package/dist/node/framework/plugins/vite-plugin-hydrogen-rsc.js +6 -14
  236. package/dist/node/framework/plugins/vite-plugin-hydrogen-suppress-warnings.d.ts +3 -0
  237. package/dist/node/framework/plugins/vite-plugin-hydrogen-suppress-warnings.js +21 -0
  238. package/dist/node/framework/plugins/vite-plugin-hydrogen-virtual-files.d.ts +1 -1
  239. package/dist/node/framework/plugins/vite-plugin-hydrogen-virtual-files.js +6 -4
  240. package/dist/node/framework/types.d.ts +5 -0
  241. package/dist/node/{foundation/Analytics → framework}/types.js +0 -0
  242. package/dist/node/shared-types.d.ts +26 -0
  243. package/dist/node/shared-types.js +5 -0
  244. package/dist/node/utilities/web-api-polyfill.js +6 -0
  245. package/package.json +34 -26
  246. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-plugin.js +275 -60
  247. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-writer.browser.development.server.js +119 -64
  248. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-writer.browser.production.min.server.js +33 -32
  249. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-writer.node.development.server.js +241 -75
  250. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite-writer.node.production.min.server.js +38 -35
  251. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite.development.js +9 -8
  252. package/vendor/react-server-dom-vite/cjs/react-server-dom-vite.production.min.js +3 -3
  253. package/vendor/react-server-dom-vite/esm/react-server-dom-vite-client-proxy.js +3 -9
  254. package/vendor/react-server-dom-vite/esm/react-server-dom-vite-plugin.js +276 -61
  255. package/vendor/react-server-dom-vite/esm/react-server-dom-vite-writer.browser.server.js +119 -64
  256. package/vendor/react-server-dom-vite/esm/react-server-dom-vite-writer.node.server.js +241 -75
  257. package/vendor/react-server-dom-vite/esm/react-server-dom-vite.js +9 -8
  258. package/vendor/react-server-dom-vite/package.json +1 -1
  259. package/client.d.ts +0 -1
  260. package/client.js +0 -1
  261. package/config.d.ts +0 -1
  262. package/config.js +0 -1
  263. package/dist/esnext/components/DevTools.client.d.ts +0 -1
  264. package/dist/esnext/components/DevTools.client.js +0 -129
  265. package/dist/esnext/components/ProductProvider/ProductOptionsProvider.client.d.ts +0 -8
  266. package/dist/esnext/components/ProductProvider/ProductOptionsProvider.client.js +0 -12
  267. package/dist/esnext/components/ProductProvider/ProductProvider.client.d.ts +0 -24
  268. package/dist/esnext/components/ProductProvider/ProductProvider.client.js +0 -34
  269. package/dist/esnext/components/ProductProvider/context.d.ts +0 -29
  270. package/dist/esnext/components/ProductProvider/index.d.ts +0 -2
  271. package/dist/esnext/components/ProductProvider/index.js +0 -2
  272. package/dist/esnext/foundation/Analytics/ServerAnalyticsRoute.server.d.ts +0 -2
  273. package/dist/esnext/foundation/Analytics/ServerAnalyticsRoute.server.js +0 -33
  274. package/dist/esnext/foundation/Analytics/connectors/PerformanceMetrics/PerformanceMetrics.server.d.ts +0 -1
  275. package/dist/esnext/foundation/Analytics/connectors/PerformanceMetrics/PerformanceMetrics.server.js +0 -24
  276. package/dist/esnext/framework/CachingStrategy/index.d.ts +0 -10
  277. package/dist/esnext/framework/CachingStrategy/index.js +0 -96
  278. package/dist/esnext/framework/Hydration/Html.d.ts +0 -11
  279. package/dist/esnext/framework/Hydration/ServerComponentResponse.server.js +0 -42
  280. package/dist/esnext/framework/Hydration/rsc.d.ts +0 -8
  281. package/dist/esnext/framework/Hydration/rsc.js +0 -100
  282. package/dist/esnext/framework/cache-sub-request.d.ts +0 -17
  283. package/dist/esnext/framework/config.d.ts +0 -6
  284. package/dist/esnext/framework/config.js +0 -6
  285. package/dist/esnext/framework/runtime.d.ts +0 -13
  286. package/dist/esnext/framework/runtime.js +0 -27
  287. package/dist/esnext/hooks/useParsedMetafields/index.d.ts +0 -1
  288. package/dist/esnext/hooks/useParsedMetafields/index.js +0 -1
  289. package/dist/esnext/hooks/useParsedMetafields/useParsedMetafields.d.ts +0 -21
  290. package/dist/esnext/hooks/useParsedMetafields/useParsedMetafields.js +0 -21
  291. package/dist/esnext/hooks/useProduct/index.d.ts +0 -1
  292. package/dist/esnext/hooks/useProduct/index.js +0 -1
  293. package/dist/esnext/hooks/useProduct/useProduct.d.ts +0 -52
  294. package/dist/esnext/hooks/useProduct/useProduct.js +0 -43
  295. package/dist/esnext/utilities/isClient/index.d.ts +0 -1
  296. package/dist/esnext/utilities/isClient/index.js +0 -1
  297. package/dist/esnext/utilities/isClient/isClient.d.ts +0 -4
  298. package/dist/esnext/utilities/isClient/isClient.js +0 -6
  299. package/dist/esnext/utilities/parseMetafieldValue/index.d.ts +0 -1
  300. package/dist/esnext/utilities/parseMetafieldValue/index.js +0 -1
  301. package/dist/esnext/utilities/parseMetafieldValue/parseMetafieldValue.d.ts +0 -6
  302. package/dist/node/components/Image/Image.d.ts +0 -84
  303. package/dist/node/components/Image/Image.js +0 -89
  304. package/dist/node/components/Image/index.d.ts +0 -2
  305. package/dist/node/components/Image/index.js +0 -5
  306. package/dist/node/constants.d.ts +0 -7
  307. package/dist/node/constants.js +0 -10
  308. package/dist/node/entry-server.d.ts +0 -35
  309. package/dist/node/entry-server.js +0 -571
  310. package/dist/node/foundation/Analytics/Analytics.client.d.ts +0 -3
  311. package/dist/node/foundation/Analytics/Analytics.client.js +0 -32
  312. package/dist/node/foundation/Analytics/Analytics.server.d.ts +0 -1
  313. package/dist/node/foundation/Analytics/Analytics.server.js +0 -70
  314. package/dist/node/foundation/Analytics/ClientAnalytics.d.ts +0 -25
  315. package/dist/node/foundation/Analytics/ClientAnalytics.js +0 -100
  316. package/dist/node/foundation/Analytics/ServerAnalyticsRoute.server.d.ts +0 -2
  317. package/dist/node/foundation/Analytics/ServerAnalyticsRoute.server.js +0 -37
  318. package/dist/node/foundation/Analytics/const.d.ts +0 -9
  319. package/dist/node/foundation/Analytics/const.js +0 -12
  320. package/dist/node/foundation/Analytics/hook.d.ts +0 -1
  321. package/dist/node/foundation/Analytics/hook.js +0 -11
  322. package/dist/node/foundation/Analytics/types.d.ts +0 -5
  323. package/dist/node/foundation/Analytics/utils.d.ts +0 -1
  324. package/dist/node/foundation/Analytics/utils.js +0 -12
  325. package/dist/node/foundation/AnalyticsErrorBoundary.client.d.ts +0 -4
  326. package/dist/node/foundation/AnalyticsErrorBoundary.client.js +0 -14
  327. package/dist/node/foundation/Redirect/Redirect.client.d.ts +0 -5
  328. package/dist/node/foundation/Redirect/Redirect.client.js +0 -18
  329. package/dist/node/foundation/Router/BrowserRouter.client.d.ts +0 -14
  330. package/dist/node/foundation/Router/BrowserRouter.client.js +0 -159
  331. package/dist/node/foundation/ServerPropsProvider/ServerPropsProvider.d.ts +0 -40
  332. package/dist/node/foundation/ServerPropsProvider/ServerPropsProvider.js +0 -90
  333. package/dist/node/foundation/ServerPropsProvider/index.d.ts +0 -2
  334. package/dist/node/foundation/ServerPropsProvider/index.js +0 -6
  335. package/dist/node/foundation/ServerRequestProvider/ServerRequestProvider.d.ts +0 -23
  336. package/dist/node/foundation/ServerRequestProvider/ServerRequestProvider.js +0 -158
  337. package/dist/node/foundation/ServerRequestProvider/index.d.ts +0 -1
  338. package/dist/node/foundation/ServerRequestProvider/index.js +0 -17
  339. package/dist/node/foundation/ShopifyProvider/types.d.ts +0 -13
  340. package/dist/node/foundation/ShopifyProvider/types.js +0 -2
  341. package/dist/node/foundation/session/session.d.ts +0 -27
  342. package/dist/node/foundation/session/session.js +0 -43
  343. package/dist/node/foundation/ssr-interop.d.ts +0 -29
  344. package/dist/node/foundation/ssr-interop.js +0 -39
  345. package/dist/node/foundation/useNavigate/useNavigate.d.ts +0 -13
  346. package/dist/node/foundation/useNavigate/useNavigate.js +0 -18
  347. package/dist/node/foundation/useServerProps/use-server-props.d.ts +0 -21
  348. package/dist/node/foundation/useServerProps/use-server-props.js +0 -40
  349. package/dist/node/framework/CachingStrategy/index.d.ts +0 -10
  350. package/dist/node/framework/CachingStrategy/index.js +0 -108
  351. package/dist/node/framework/Hydration/Html.js +0 -94
  352. package/dist/node/framework/Hydration/ServerComponentRequest.server.d.ts +0 -58
  353. package/dist/node/framework/Hydration/ServerComponentRequest.server.js +0 -150
  354. package/dist/node/framework/Hydration/ServerComponentResponse.server.d.ts +0 -26
  355. package/dist/node/framework/Hydration/ServerComponentResponse.server.js +0 -49
  356. package/dist/node/framework/Hydration/rsc.d.ts +0 -8
  357. package/dist/node/framework/Hydration/rsc.js +0 -103
  358. package/dist/node/framework/cache-sub-request.js +0 -95
  359. package/dist/node/framework/cache.d.ts +0 -17
  360. package/dist/node/framework/cache.js +0 -135
  361. package/dist/node/framework/config.d.ts +0 -6
  362. package/dist/node/framework/config.js +0 -11
  363. package/dist/node/framework/runtime.d.ts +0 -13
  364. package/dist/node/framework/runtime.js +0 -35
  365. package/dist/node/storefront-api-types.d.ts +0 -6405
  366. package/dist/node/storefront-api-types.js +0 -1766
  367. package/dist/node/streaming.server.d.ts +0 -26
  368. package/dist/node/streaming.server.js +0 -33
  369. package/dist/node/types.d.ts +0 -105
  370. package/dist/node/types.js +0 -2
  371. package/dist/node/utilities/apiRoutes.d.ts +0 -37
  372. package/dist/node/utilities/apiRoutes.js +0 -157
  373. package/dist/node/utilities/bot-ua.d.ts +0 -4
  374. package/dist/node/utilities/bot-ua.js +0 -65
  375. package/dist/node/utilities/defer.d.ts +0 -6
  376. package/dist/node/utilities/defer.js +0 -18
  377. package/dist/node/utilities/error.d.ts +0 -1
  378. package/dist/node/utilities/error.js +0 -10
  379. package/dist/node/utilities/fetch.d.ts +0 -9
  380. package/dist/node/utilities/fetch.js +0 -37
  381. package/dist/node/utilities/flattenConnection/flattenConnection.d.ts +0 -6
  382. package/dist/node/utilities/flattenConnection/flattenConnection.js +0 -15
  383. package/dist/node/utilities/flattenConnection/index.d.ts +0 -1
  384. package/dist/node/utilities/flattenConnection/index.js +0 -5
  385. package/dist/node/utilities/hash.d.ts +0 -2
  386. package/dist/node/utilities/hash.js +0 -11
  387. package/dist/node/utilities/html-encoding.d.ts +0 -1
  388. package/dist/node/utilities/html-encoding.js +0 -12
  389. package/dist/node/utilities/image_size.d.ts +0 -12
  390. package/dist/node/utilities/image_size.js +0 -68
  391. package/dist/node/utilities/index.d.ts +0 -12
  392. package/dist/node/utilities/index.js +0 -33
  393. package/dist/node/utilities/isClient/index.d.ts +0 -1
  394. package/dist/node/utilities/isClient/index.js +0 -5
  395. package/dist/node/utilities/isClient/isClient.d.ts +0 -4
  396. package/dist/node/utilities/isClient/isClient.js +0 -10
  397. package/dist/node/utilities/isServer/index.d.ts +0 -1
  398. package/dist/node/utilities/isServer/index.js +0 -5
  399. package/dist/node/utilities/isServer/isServer.d.ts +0 -4
  400. package/dist/node/utilities/isServer/isServer.js +0 -11
  401. package/dist/node/utilities/load_script.d.ts +0 -3
  402. package/dist/node/utilities/load_script.js +0 -27
  403. package/dist/node/utilities/log/index.d.ts +0 -4
  404. package/dist/node/utilities/log/index.js +0 -18
  405. package/dist/node/utilities/log/log-cache-api-status.d.ts +0 -1
  406. package/dist/node/utilities/log/log-cache-api-status.js +0 -17
  407. package/dist/node/utilities/log/log-cache-header.d.ts +0 -10
  408. package/dist/node/utilities/log/log-cache-header.js +0 -35
  409. package/dist/node/utilities/log/log-query-timeline.d.ts +0 -12
  410. package/dist/node/utilities/log/log-query-timeline.js +0 -88
  411. package/dist/node/utilities/log/log.d.ts +0 -22
  412. package/dist/node/utilities/log/log.js +0 -74
  413. package/dist/node/utilities/log/utils.d.ts +0 -3
  414. package/dist/node/utilities/log/utils.js +0 -21
  415. package/dist/node/utilities/matchPath.d.ts +0 -10
  416. package/dist/node/utilities/matchPath.js +0 -58
  417. package/dist/node/utilities/measurement.d.ts +0 -3
  418. package/dist/node/utilities/measurement.js +0 -103
  419. package/dist/node/utilities/parse.d.ts +0 -1
  420. package/dist/node/utilities/parse.js +0 -13
  421. package/dist/node/utilities/parseMetafieldValue/index.d.ts +0 -1
  422. package/dist/node/utilities/parseMetafieldValue/index.js +0 -5
  423. package/dist/node/utilities/parseMetafieldValue/parseMetafieldValue.d.ts +0 -6
  424. package/dist/node/utilities/parseMetafieldValue/parseMetafieldValue.js +0 -40
  425. package/dist/node/utilities/storefrontApi.d.ts +0 -4
  426. package/dist/node/utilities/storefrontApi.js +0 -26
  427. package/dist/node/utilities/suspense.d.ts +0 -12
  428. package/dist/node/utilities/suspense.js +0 -64
  429. package/dist/node/utilities/template.d.ts +0 -9
  430. package/dist/node/utilities/template.js +0 -27
  431. package/dist/node/utilities/timing.d.ts +0 -7
  432. package/dist/node/utilities/timing.js +0 -18
  433. package/dist/node/utilities/video_parameters.d.ts +0 -47
  434. package/dist/node/utilities/video_parameters.js +0 -27
  435. package/dist/node/version.d.ts +0 -1
  436. package/dist/node/version.js +0 -4
  437. package/entry-client.d.ts +0 -1
  438. package/entry-client.js +0 -1
  439. package/entry-server.d.ts +0 -1
  440. package/entry-server.js +0 -1
  441. package/middleware.d.ts +0 -1
  442. package/middleware.js +0 -1
  443. package/plugin.d.ts +0 -1
  444. package/plugin.js +0 -1
  445. package/web-polyfills.js +0 -1
@@ -1,25 +0,0 @@
1
- import type { Subscriber, SubscriberFunction } from './types';
2
- declare function pushToPageAnalyticsData(data: any, namespace?: string): void;
3
- declare function getPageAnalyticsData(): any;
4
- declare function resetPageAnalyticsData(): void;
5
- declare function publish(eventname: string, guardDup?: boolean, payload?: any): void;
6
- declare function subscribe(eventname: string, callbackFunction: SubscriberFunction): Subscriber;
7
- declare function pushToServer(init?: RequestInit, searchParam?: string): Promise<Response>;
8
- export declare const ClientAnalytics: {
9
- pushToPageAnalyticsData: typeof pushToPageAnalyticsData;
10
- getPageAnalyticsData: typeof getPageAnalyticsData;
11
- resetPageAnalyticsData: typeof resetPageAnalyticsData;
12
- publish: typeof publish;
13
- subscribe: typeof subscribe;
14
- pushToServer: typeof pushToServer;
15
- eventNames: {
16
- PAGE_VIEW: string;
17
- VIEWED_PRODUCT: string;
18
- ADD_TO_CART: string;
19
- REMOVE_FROM_CART: string;
20
- UPDATE_CART: string;
21
- DISCOUNT_CODE_UPDATED: string;
22
- PERFORMANCE: string;
23
- };
24
- };
25
- export {};
@@ -1,100 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ClientAnalytics = void 0;
4
- const utils_1 = require("./utils");
5
- const const_1 = require("./const");
6
- const constants_1 = require("../../constants");
7
- const ssr_interop_1 = require("../ssr-interop");
8
- const subscribers = {};
9
- let pageAnalyticsData = {};
10
- const guardDupEvents = {};
11
- const USAGE_ERROR = 'ClientAnalytics should only be used within the useEffect callback or event handlers';
12
- function isInvokedFromServer() {
13
- if (ssr_interop_1.META_ENV_SSR) {
14
- console.warn(USAGE_ERROR);
15
- return true;
16
- }
17
- return false;
18
- }
19
- function pushToPageAnalyticsData(data, namespace) {
20
- if (isInvokedFromServer())
21
- return;
22
- if (namespace) {
23
- pageAnalyticsData[namespace] = Object.assign({}, pageAnalyticsData[namespace] || {}, data);
24
- }
25
- else {
26
- pageAnalyticsData = Object.assign({}, pageAnalyticsData, data);
27
- }
28
- }
29
- function getPageAnalyticsData() {
30
- if (isInvokedFromServer())
31
- return;
32
- return pageAnalyticsData;
33
- }
34
- function resetPageAnalyticsData() {
35
- if (isInvokedFromServer())
36
- return;
37
- pageAnalyticsData = {};
38
- }
39
- function publish(eventname, guardDup = false, payload) {
40
- if (isInvokedFromServer())
41
- return;
42
- const namedspacedEventname = (0, utils_1.getNamedspacedEventname)(eventname);
43
- const subs = subscribers[namedspacedEventname];
44
- const combinedPayload = Object.assign({}, pageAnalyticsData, payload);
45
- // De-dup events due to re-renders
46
- if (guardDup) {
47
- const eventGuardTimeout = guardDupEvents[namedspacedEventname];
48
- if (eventGuardTimeout) {
49
- clearTimeout(eventGuardTimeout);
50
- }
51
- const namespacedTimeout = setTimeout(() => {
52
- publishEvent(subs, combinedPayload);
53
- }, 100);
54
- guardDupEvents[namedspacedEventname] = namespacedTimeout;
55
- }
56
- else {
57
- publishEvent(subs, combinedPayload);
58
- }
59
- }
60
- function publishEvent(subs, payload) {
61
- if (subs) {
62
- Object.keys(subs).forEach((key) => {
63
- subs[key](payload);
64
- });
65
- }
66
- }
67
- function subscribe(eventname, callbackFunction) {
68
- if (isInvokedFromServer())
69
- return { unsubscribe: () => { } };
70
- const namedspacedEventname = (0, utils_1.getNamedspacedEventname)(eventname);
71
- const subs = subscribers[namedspacedEventname];
72
- if (!subs) {
73
- subscribers[namedspacedEventname] = {};
74
- }
75
- const subscriberId = Date.now().toString();
76
- subscribers[namedspacedEventname][subscriberId] = callbackFunction;
77
- return {
78
- unsubscribe: () => {
79
- delete subscribers[namedspacedEventname][subscriberId];
80
- },
81
- };
82
- }
83
- function pushToServer(init, searchParam) {
84
- return fetch(`${constants_1.EVENT_PATHNAME}${searchParam ? `?${searchParam}` : ''}`, Object.assign({
85
- method: 'post',
86
- headers: {
87
- 'cache-control': 'no-cache',
88
- 'Content-Type': 'application/json',
89
- },
90
- }, init));
91
- }
92
- exports.ClientAnalytics = {
93
- pushToPageAnalyticsData,
94
- getPageAnalyticsData,
95
- resetPageAnalyticsData,
96
- publish,
97
- subscribe,
98
- pushToServer,
99
- eventNames: const_1.eventNames,
100
- };
@@ -1,2 +0,0 @@
1
- import type { ServerAnalyticsConnector } from '../../types';
2
- export declare function ServerAnalyticsRoute(request: Request, serverAnalyticsConnectors?: Array<ServerAnalyticsConnector>): Response;
@@ -1,37 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ServerAnalyticsRoute = void 0;
4
- const log_1 = require("../../utilities/log");
5
- function ServerAnalyticsRoute(request, serverAnalyticsConnectors) {
6
- if (request.headers.get('Content-Length') === '0') {
7
- serverAnalyticsConnectors === null || serverAnalyticsConnectors === void 0 ? void 0 : serverAnalyticsConnectors.forEach((connector) => {
8
- connector.request(request);
9
- });
10
- }
11
- else if (request.headers.get('Content-Type') === 'application/json') {
12
- Promise.resolve(request.json())
13
- .then((data) => {
14
- serverAnalyticsConnectors === null || serverAnalyticsConnectors === void 0 ? void 0 : serverAnalyticsConnectors.forEach((connector) => {
15
- connector.request(request, data, 'json');
16
- });
17
- })
18
- .catch((error) => {
19
- log_1.log.warn('Fail to resolve server analytics: ', error);
20
- });
21
- }
22
- else {
23
- Promise.resolve(request.text())
24
- .then((data) => {
25
- serverAnalyticsConnectors === null || serverAnalyticsConnectors === void 0 ? void 0 : serverAnalyticsConnectors.forEach((connector) => {
26
- connector.request(request, data, 'text');
27
- });
28
- })
29
- .catch((error) => {
30
- log_1.log.warn('Fail to resolve server analytics: ', error);
31
- });
32
- }
33
- return new Response(null, {
34
- status: 200,
35
- });
36
- }
37
- exports.ServerAnalyticsRoute = ServerAnalyticsRoute;
@@ -1,9 +0,0 @@
1
- export declare const eventNames: {
2
- PAGE_VIEW: string;
3
- VIEWED_PRODUCT: string;
4
- ADD_TO_CART: string;
5
- REMOVE_FROM_CART: string;
6
- UPDATE_CART: string;
7
- DISCOUNT_CODE_UPDATED: string;
8
- PERFORMANCE: string;
9
- };
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.eventNames = void 0;
4
- exports.eventNames = {
5
- PAGE_VIEW: 'page-view',
6
- VIEWED_PRODUCT: 'viewed-product',
7
- ADD_TO_CART: 'add-to-cart',
8
- REMOVE_FROM_CART: 'remove-from-cart',
9
- UPDATE_CART: 'update-cart',
10
- DISCOUNT_CODE_UPDATED: 'discount-code-updated',
11
- PERFORMANCE: 'performance',
12
- };
@@ -1 +0,0 @@
1
- export declare function useServerAnalytics(data?: any): any;
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useServerAnalytics = void 0;
4
- const ServerRequestProvider_1 = require("../ServerRequestProvider");
5
- function useServerAnalytics(data) {
6
- const request = (0, ServerRequestProvider_1.useServerRequest)();
7
- if (data)
8
- request.ctx.analyticsData = Object.assign({}, request.ctx.analyticsData, data);
9
- return request.ctx.analyticsData;
10
- }
11
- exports.useServerAnalytics = useServerAnalytics;
@@ -1,5 +0,0 @@
1
- export declare type Subscriber = {
2
- unsubscribe: () => void;
3
- };
4
- export declare type SubscriberFunction = (payload: any) => void;
5
- export declare type Subscribers = Record<string, Record<string, SubscriberFunction>>;
@@ -1 +0,0 @@
1
- export declare function getNamedspacedEventname(eventname: string): string;
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getNamedspacedEventname = void 0;
4
- const const_1 = require("./const");
5
- const RESERVED_EVENT_NAMES = Object.values(const_1.eventNames);
6
- function getNamedspacedEventname(eventname) {
7
- // Any event name that is not in the reserved space will be prefix with `c-`
8
- return RESERVED_EVENT_NAMES.indexOf(eventname) === -1
9
- ? `c-${eventname}`
10
- : eventname;
11
- }
12
- exports.getNamedspacedEventname = getNamedspacedEventname;
@@ -1,4 +0,0 @@
1
- import type { ReactNode } from 'react';
2
- export default function AnalyticsErrorBoundary({ children, }: {
3
- children: ReactNode;
4
- }): JSX.Element;
@@ -1,14 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
7
- const react_error_boundary_1 = require("react-error-boundary");
8
- function AnalyticsErrorBoundary({ children, }) {
9
- // Analytics fail to load, most likely due to an ad blocker
10
- return (react_1.default.createElement(react_error_boundary_1.ErrorBoundary, { fallbackRender: () => {
11
- return null;
12
- } }, children));
13
- }
14
- exports.default = AnalyticsErrorBoundary;
@@ -1,5 +0,0 @@
1
- declare type RedirectProps = {
2
- to: string;
3
- };
4
- export default function Redirect({ to }: RedirectProps): null;
5
- export {};
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const react_1 = require("react");
4
- const useNavigate_1 = require("../../foundation/useNavigate/useNavigate");
5
- function Redirect({ to }) {
6
- const navigate = (0, useNavigate_1.useNavigate)();
7
- (0, react_1.useEffect)(() => {
8
- if (to.startsWith('http')) {
9
- window.location.href = to;
10
- }
11
- else {
12
- navigate(to);
13
- }
14
- // eslint-disable-next-line react-hooks/exhaustive-deps
15
- }, []);
16
- return null;
17
- }
18
- exports.default = Redirect;
@@ -1,14 +0,0 @@
1
- import { BrowserHistory, Location } from 'history';
2
- import React, { FC, ReactNode } from 'react';
3
- declare type RouterContextValue = {
4
- history: BrowserHistory;
5
- location: Location;
6
- };
7
- export declare const RouterContext: React.Context<{} | RouterContextValue>;
8
- export declare const BrowserRouter: FC<{
9
- history?: BrowserHistory;
10
- children: ReactNode;
11
- }>;
12
- export declare function useRouter(): RouterContextValue;
13
- export declare function useLocation(): Location;
14
- export {};
@@ -1,159 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.useLocation = exports.useRouter = exports.BrowserRouter = exports.RouterContext = void 0;
27
- const history_1 = require("history");
28
- const react_1 = __importStar(require("react"));
29
- const ssr_interop_1 = require("../ssr-interop");
30
- const use_server_props_1 = require("../useServerProps/use-server-props");
31
- exports.RouterContext = (0, react_1.createContext)({});
32
- let isFirstLoad = true;
33
- const positions = {};
34
- const BrowserRouter = ({ history: pHistory, children }) => {
35
- if (ssr_interop_1.META_ENV_SSR)
36
- return react_1.default.createElement(react_1.default.Fragment, null, children);
37
- /* eslint-disable react-hooks/rules-of-hooks */
38
- const history = (0, react_1.useMemo)(() => pHistory || (0, history_1.createBrowserHistory)(), [pHistory]);
39
- const [location, setLocation] = (0, react_1.useState)(history.location);
40
- const [locationChanged, setLocationChanged] = (0, react_1.useState)(false);
41
- const { pending, locationServerProps, setLocationServerProps } = (0, use_server_props_1.useInternalServerProps)();
42
- useScrollRestoration({
43
- location,
44
- pending,
45
- serverProps: locationServerProps,
46
- locationChanged,
47
- onFinishNavigating: () => setLocationChanged(false),
48
- });
49
- (0, react_1.useLayoutEffect)(() => {
50
- const unlisten = history.listen(({ location: newLocation }) => {
51
- positions[location.key] = window.scrollY;
52
- setLocationServerProps({
53
- pathname: newLocation.pathname,
54
- search: newLocation.search,
55
- });
56
- setLocation(newLocation);
57
- setLocationChanged(true);
58
- });
59
- return () => unlisten();
60
- }, [
61
- history,
62
- location,
63
- setLocationChanged,
64
- setLocation,
65
- setLocationServerProps,
66
- ]);
67
- /* eslint-enable react-hooks/rules-of-hooks */
68
- return (react_1.default.createElement(exports.RouterContext.Provider, { value: {
69
- history,
70
- location,
71
- } }, children));
72
- };
73
- exports.BrowserRouter = BrowserRouter;
74
- function useRouter() {
75
- const router = (0, react_1.useContext)(exports.RouterContext);
76
- if (!router && ssr_interop_1.META_ENV_SSR) {
77
- throw new Error('useRouter must be used within a <Router> component');
78
- }
79
- return router;
80
- }
81
- exports.useRouter = useRouter;
82
- function useLocation() {
83
- return useRouter().location;
84
- }
85
- exports.useLocation = useLocation;
86
- /**
87
- * Run a callback before browser unload.
88
- */
89
- function useBeforeUnload(callback) {
90
- react_1.default.useEffect(() => {
91
- window.addEventListener('beforeunload', callback);
92
- return () => {
93
- window.removeEventListener('beforeunload', callback);
94
- };
95
- }, [callback]);
96
- }
97
- function useScrollRestoration({ location, pending, serverProps, locationChanged, onFinishNavigating, }) {
98
- /**
99
- * Browsers have an API for scroll restoration. We wait for the page to load first,
100
- * in case the browser is able to restore scroll position automatically, and then
101
- * set it to manual mode.
102
- */
103
- (0, react_1.useEffect)(() => {
104
- window.history.scrollRestoration = 'manual';
105
- }, []);
106
- /**
107
- * If the page is reloading, allow the browser to handle its own scroll restoration.
108
- */
109
- useBeforeUnload((0, react_1.useCallback)(() => {
110
- window.history.scrollRestoration = 'auto';
111
- }, []));
112
- (0, react_1.useLayoutEffect)(() => {
113
- // The app has just loaded
114
- if (isFirstLoad || !locationChanged) {
115
- isFirstLoad = false;
116
- return;
117
- }
118
- const position = positions[location.key];
119
- /**
120
- * When serverState gets updated, `pending` is true while the fetch is in progress.
121
- * When that resolves, the serverState is updated. We should wait until the internal
122
- * location pointer and serverState match, and pending is false, to do any scrolling.
123
- */
124
- const finishedNavigating = !pending &&
125
- location.pathname === serverProps.pathname &&
126
- location.search === serverProps.search;
127
- if (!finishedNavigating) {
128
- return;
129
- }
130
- // If there is a location hash, scroll to it
131
- if (location.hash) {
132
- const element = document.querySelector(location.hash);
133
- if (element) {
134
- element.scrollIntoView();
135
- onFinishNavigating();
136
- return;
137
- }
138
- }
139
- // If we have a matching position, scroll to it
140
- if (position) {
141
- window.scrollTo(0, position);
142
- onFinishNavigating();
143
- return;
144
- }
145
- // Scroll to the top of new pages
146
- window.scrollTo(0, 0);
147
- onFinishNavigating();
148
- }, [
149
- location.pathname,
150
- location.search,
151
- location.hash,
152
- location.key,
153
- pending,
154
- serverProps.pathname,
155
- serverProps.search,
156
- locationChanged,
157
- onFinishNavigating,
158
- ]);
159
- }
@@ -1,40 +0,0 @@
1
- import React, { ReactNode } from 'react';
2
- declare global {
3
- var __DEV__: boolean;
4
- }
5
- export interface LocationServerProps {
6
- pathname: string;
7
- search: string;
8
- }
9
- export interface ServerProps {
10
- [key: string]: any;
11
- }
12
- declare type ServerPropsSetterInput = ((prev: ServerProps) => Partial<ServerProps>) | Partial<ServerProps> | string;
13
- export interface ServerPropsSetter {
14
- (input: ServerPropsSetterInput, propValue?: any): void;
15
- }
16
- interface ProposedServerPropsSetter {
17
- (input: ServerPropsSetterInput, propValue?: any): LocationServerProps;
18
- }
19
- interface BaseServerPropsContextValue {
20
- pending: boolean;
21
- }
22
- export interface InternalServerPropsContextValue extends BaseServerPropsContextValue {
23
- setLocationServerProps: ServerPropsSetter;
24
- setServerProps: ServerPropsSetter;
25
- serverProps: ServerProps;
26
- locationServerProps: LocationServerProps;
27
- getProposedLocationServerProps: ProposedServerPropsSetter;
28
- }
29
- export interface ServerPropsContextValue extends BaseServerPropsContextValue {
30
- serverProps: ServerProps;
31
- setServerProps: ServerPropsSetter;
32
- }
33
- export declare const ServerPropsContext: React.Context<InternalServerPropsContextValue>;
34
- interface ServerPropsProviderProps {
35
- initialServerProps: LocationServerProps;
36
- setServerPropsForRsc: React.Dispatch<React.SetStateAction<LocationServerProps>>;
37
- children: ReactNode;
38
- }
39
- export declare function ServerPropsProvider({ initialServerProps, setServerPropsForRsc, children, }: ServerPropsProviderProps): JSX.Element;
40
- export {};
@@ -1,90 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.ServerPropsProvider = exports.ServerPropsContext = void 0;
27
- const react_1 = __importStar(require("react"));
28
- const PRIVATE_PROPS = ['request', 'response'];
29
- exports.ServerPropsContext = (0, react_1.createContext)(null);
30
- function ServerPropsProvider({ initialServerProps, setServerPropsForRsc, children, }) {
31
- const [locationServerProps, setLocationServerProps] = (0, react_1.useState)(initialServerProps);
32
- const [serverProps, setServerProps] = (0, react_1.useState)({});
33
- const [pending, startTransition] = (0, react_1.useTransition)();
34
- const setServerPropsCallback = (0, react_1.useCallback)((input, propValue) => {
35
- startTransition(() => {
36
- setServerProps((prev) => getNewValue(prev, input, propValue));
37
- setServerPropsForRsc((prev) => getNewValue(prev, input, propValue));
38
- });
39
- }, [setServerProps, setServerPropsForRsc]);
40
- const setLocationServerPropsCallback = (0, react_1.useCallback)((input, propValue) => {
41
- // Flush the existing user server state when location changes, leaving only the persisted state
42
- startTransition(() => {
43
- setServerPropsForRsc((prev) => getNewValue(prev, input, propValue));
44
- setServerProps({});
45
- setLocationServerProps((prev) => getNewValue(prev, input, propValue));
46
- });
47
- }, [setServerProps, setServerPropsForRsc, setLocationServerProps]);
48
- const getProposedLocationServerPropsCallback = (0, react_1.useCallback)((input, propValue) => {
49
- return getNewValue(locationServerProps, input, propValue);
50
- }, [locationServerProps]);
51
- function getNewValue(prev, input, propValue) {
52
- let newValue;
53
- if (typeof input === 'function') {
54
- newValue = input(prev);
55
- }
56
- else if (typeof input === 'string') {
57
- newValue = { [input]: propValue };
58
- }
59
- else {
60
- newValue = input;
61
- }
62
- if (__DEV__) {
63
- const privateProp = PRIVATE_PROPS.find((prop) => prop in newValue);
64
- if (privateProp) {
65
- console.warn(`Custom "${privateProp}" property in server state is ignored. Use a different name.`);
66
- }
67
- }
68
- return {
69
- ...prev,
70
- ...newValue,
71
- };
72
- }
73
- const value = (0, react_1.useMemo)(() => ({
74
- pending,
75
- locationServerProps,
76
- serverProps,
77
- setServerProps: setServerPropsCallback,
78
- setLocationServerProps: setLocationServerPropsCallback,
79
- getProposedLocationServerProps: getProposedLocationServerPropsCallback,
80
- }), [
81
- pending,
82
- locationServerProps,
83
- serverProps,
84
- setServerPropsCallback,
85
- setLocationServerPropsCallback,
86
- getProposedLocationServerPropsCallback,
87
- ]);
88
- return (react_1.default.createElement(exports.ServerPropsContext.Provider, { value: value }, children));
89
- }
90
- exports.ServerPropsProvider = ServerPropsProvider;
@@ -1,2 +0,0 @@
1
- export { ServerPropsProvider, ServerPropsContext } from './ServerPropsProvider';
2
- export type { ServerProps, ServerPropsContextValue } from './ServerPropsProvider';
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ServerPropsContext = exports.ServerPropsProvider = void 0;
4
- var ServerPropsProvider_1 = require("./ServerPropsProvider");
5
- Object.defineProperty(exports, "ServerPropsProvider", { enumerable: true, get: function () { return ServerPropsProvider_1.ServerPropsProvider; } });
6
- Object.defineProperty(exports, "ServerPropsContext", { enumerable: true, get: function () { return ServerPropsProvider_1.ServerPropsContext; } });
@@ -1,23 +0,0 @@
1
- import type { PreloadQueriesByURL, ServerComponentRequest } from '../../framework/Hydration/ServerComponentRequest.server';
2
- import type { QueryKey } from '../../types';
3
- declare type ServerRequestProviderProps = {
4
- isRSC: boolean;
5
- request: ServerComponentRequest;
6
- children: JSX.Element;
7
- };
8
- export declare function ServerRequestProvider({ isRSC, request, children, }: ServerRequestProviderProps): JSX.Element;
9
- export declare function useServerRequest(): ServerComponentRequest;
10
- declare type RequestCacheResult<T> = {
11
- data: T;
12
- error?: never;
13
- } | {
14
- data?: never;
15
- error: Response | Error;
16
- };
17
- /**
18
- * Returns data stored in the request cache.
19
- * It will throw the promise if data is not ready.
20
- */
21
- export declare function useRequestCacheData<T>(key: QueryKey, fetcher: () => T | Promise<T>): RequestCacheResult<T>;
22
- export declare function preloadRequestCacheData(request: ServerComponentRequest, preloadQueries?: PreloadQueriesByURL): void;
23
- export {};