@shopify/hydrogen 0.1.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 (454) hide show
  1. package/README.md +29 -0
  2. package/client.d.ts +1 -0
  3. package/client.js +1 -0
  4. package/dist/esnext/client.d.ts +7 -0
  5. package/dist/esnext/client.js +7 -0
  6. package/dist/esnext/components/AddToCartButton/AddToCartButton.client.d.ts +15 -0
  7. package/dist/esnext/components/AddToCartButton/AddToCartButton.client.js +44 -0
  8. package/dist/esnext/components/AddToCartButton/index.d.ts +1 -0
  9. package/dist/esnext/components/AddToCartButton/index.js +1 -0
  10. package/dist/esnext/components/BuyNowButton/BuyNowButton.d.ts +12 -0
  11. package/dist/esnext/components/BuyNowButton/BuyNowButton.js +29 -0
  12. package/dist/esnext/components/BuyNowButton/index.d.ts +1 -0
  13. package/dist/esnext/components/BuyNowButton/index.js +1 -0
  14. package/dist/esnext/components/CartCheckoutButton/CartCheckoutButton.client.d.ts +7 -0
  15. package/dist/esnext/components/CartCheckoutButton/CartCheckoutButton.client.js +14 -0
  16. package/dist/esnext/components/CartCheckoutButton/index.d.ts +1 -0
  17. package/dist/esnext/components/CartCheckoutButton/index.js +1 -0
  18. package/dist/esnext/components/CartContainer/CartContainer.client.d.ts +9 -0
  19. package/dist/esnext/components/CartContainer/CartContainer.client.js +24 -0
  20. package/dist/esnext/components/CartContainer/index.d.ts +1 -0
  21. package/dist/esnext/components/CartContainer/index.js +1 -0
  22. package/dist/esnext/components/CartLineAttributes/CartLineAttributes.client.d.ts +10 -0
  23. package/dist/esnext/components/CartLineAttributes/CartLineAttributes.client.js +9 -0
  24. package/dist/esnext/components/CartLineAttributes/index.d.ts +1 -0
  25. package/dist/esnext/components/CartLineAttributes/index.js +1 -0
  26. package/dist/esnext/components/CartLineImage/CartLineImage.client.d.ts +6 -0
  27. package/dist/esnext/components/CartLineImage/CartLineImage.client.js +8 -0
  28. package/dist/esnext/components/CartLineImage/index.d.ts +1 -0
  29. package/dist/esnext/components/CartLineImage/index.js +1 -0
  30. package/dist/esnext/components/CartLinePrice/CartLinePrice.client.d.ts +6 -0
  31. package/dist/esnext/components/CartLinePrice/CartLinePrice.client.js +17 -0
  32. package/dist/esnext/components/CartLinePrice/index.d.ts +1 -0
  33. package/dist/esnext/components/CartLinePrice/index.js +1 -0
  34. package/dist/esnext/components/CartLineProductTitle/CartLineProductTitle.client.d.ts +3 -0
  35. package/dist/esnext/components/CartLineProductTitle/CartLineProductTitle.client.js +8 -0
  36. package/dist/esnext/components/CartLineProductTitle/index.d.ts +1 -0
  37. package/dist/esnext/components/CartLineProductTitle/index.js +1 -0
  38. package/dist/esnext/components/CartLineProvider/CartLineProvider.client.d.ts +6 -0
  39. package/dist/esnext/components/CartLineProvider/CartLineProvider.client.js +5 -0
  40. package/dist/esnext/components/CartLineProvider/context.d.ts +26 -0
  41. package/dist/esnext/components/CartLineProvider/context.js +2 -0
  42. package/dist/esnext/components/CartLineProvider/hooks.d.ts +26 -0
  43. package/dist/esnext/components/CartLineProvider/hooks.js +9 -0
  44. package/dist/esnext/components/CartLineProvider/index.d.ts +2 -0
  45. package/dist/esnext/components/CartLineProvider/index.js +2 -0
  46. package/dist/esnext/components/CartLineQuantity/CartLineQuantity.client.d.ts +3 -0
  47. package/dist/esnext/components/CartLineQuantity/CartLineQuantity.client.js +8 -0
  48. package/dist/esnext/components/CartLineQuantity/index.d.ts +1 -0
  49. package/dist/esnext/components/CartLineQuantity/index.js +1 -0
  50. package/dist/esnext/components/CartLineQuantityAdjustButton/CartLineQuantityAdjustButton.d.ts +8 -0
  51. package/dist/esnext/components/CartLineQuantityAdjustButton/CartLineQuantityAdjustButton.js +17 -0
  52. package/dist/esnext/components/CartLineQuantityAdjustButton/index.d.ts +1 -0
  53. package/dist/esnext/components/CartLineQuantityAdjustButton/index.js +1 -0
  54. package/dist/esnext/components/CartLineSelectedOptions/CartLineSelectedOptions.client.d.ts +10 -0
  55. package/dist/esnext/components/CartLineSelectedOptions/CartLineSelectedOptions.client.js +9 -0
  56. package/dist/esnext/components/CartLineSelectedOptions/index.d.ts +1 -0
  57. package/dist/esnext/components/CartLineSelectedOptions/index.js +1 -0
  58. package/dist/esnext/components/CartLines/CartLines.d.ts +7 -0
  59. package/dist/esnext/components/CartLines/CartLines.js +15 -0
  60. package/dist/esnext/components/CartLines/index.d.ts +1 -0
  61. package/dist/esnext/components/CartLines/index.js +1 -0
  62. package/dist/esnext/components/CartProvider/CartProvider.client.d.ts +7 -0
  63. package/dist/esnext/components/CartProvider/CartProvider.client.js +422 -0
  64. package/dist/esnext/components/CartProvider/CartServerProvider.server.d.ts +11 -0
  65. package/dist/esnext/components/CartProvider/CartServerProvider.server.js +20 -0
  66. package/dist/esnext/components/CartProvider/constants.d.ts +2 -0
  67. package/dist/esnext/components/CartProvider/constants.js +2 -0
  68. package/dist/esnext/components/CartProvider/context.d.ts +2 -0
  69. package/dist/esnext/components/CartProvider/context.js +2 -0
  70. package/dist/esnext/components/CartProvider/graphql/CartAttributesUpdateMutation.d.ts +18 -0
  71. package/dist/esnext/components/CartProvider/graphql/CartAttributesUpdateMutation.js +1 -0
  72. package/dist/esnext/components/CartProvider/graphql/CartBuyerIdentityUpdateMutation.d.ts +18 -0
  73. package/dist/esnext/components/CartProvider/graphql/CartBuyerIdentityUpdateMutation.js +1 -0
  74. package/dist/esnext/components/CartProvider/graphql/CartCreateMutation.d.ts +17 -0
  75. package/dist/esnext/components/CartProvider/graphql/CartCreateMutation.js +1 -0
  76. package/dist/esnext/components/CartProvider/graphql/CartDiscountCodesUpdateMutation.d.ts +18 -0
  77. package/dist/esnext/components/CartProvider/graphql/CartDiscountCodesUpdateMutation.js +1 -0
  78. package/dist/esnext/components/CartProvider/graphql/CartFragment.d.ts +68 -0
  79. package/dist/esnext/components/CartProvider/graphql/CartFragment.js +1 -0
  80. package/dist/esnext/components/CartProvider/graphql/CartLineAddMutation.d.ts +18 -0
  81. package/dist/esnext/components/CartProvider/graphql/CartLineAddMutation.js +1 -0
  82. package/dist/esnext/components/CartProvider/graphql/CartLineRemoveMutation.d.ts +18 -0
  83. package/dist/esnext/components/CartProvider/graphql/CartLineRemoveMutation.js +1 -0
  84. package/dist/esnext/components/CartProvider/graphql/CartLineUpdateMutation.d.ts +18 -0
  85. package/dist/esnext/components/CartProvider/graphql/CartLineUpdateMutation.js +1 -0
  86. package/dist/esnext/components/CartProvider/graphql/CartNoteUpdateMutation.d.ts +18 -0
  87. package/dist/esnext/components/CartProvider/graphql/CartNoteUpdateMutation.js +1 -0
  88. package/dist/esnext/components/CartProvider/graphql/CartQuery.d.ts +13 -0
  89. package/dist/esnext/components/CartProvider/graphql/CartQuery.js +1 -0
  90. package/dist/esnext/components/CartProvider/hooks.d.ts +18 -0
  91. package/dist/esnext/components/CartProvider/hooks.js +79 -0
  92. package/dist/esnext/components/CartProvider/index.d.ts +4 -0
  93. package/dist/esnext/components/CartProvider/index.js +4 -0
  94. package/dist/esnext/components/CartProvider/types.d.ts +105 -0
  95. package/dist/esnext/components/CartProvider/types.js +1 -0
  96. package/dist/esnext/components/CartShopPayButton/CartShopPayButton.client.d.ts +2 -0
  97. package/dist/esnext/components/CartShopPayButton/CartShopPayButton.client.js +10 -0
  98. package/dist/esnext/components/CartShopPayButton/index.d.ts +1 -0
  99. package/dist/esnext/components/CartShopPayButton/index.js +1 -0
  100. package/dist/esnext/components/CartToggle/CartToggle.client.d.ts +8 -0
  101. package/dist/esnext/components/CartToggle/CartToggle.client.js +11 -0
  102. package/dist/esnext/components/CartToggle/index.d.ts +1 -0
  103. package/dist/esnext/components/CartToggle/index.js +1 -0
  104. package/dist/esnext/components/CartTotal/CartTotal.client.d.ts +3 -0
  105. package/dist/esnext/components/CartTotal/CartTotal.client.js +8 -0
  106. package/dist/esnext/components/CartTotal/index.d.ts +1 -0
  107. package/dist/esnext/components/CartTotal/index.js +1 -0
  108. package/dist/esnext/components/CartUIProvider/CartUIProvider.client.d.ts +5 -0
  109. package/dist/esnext/components/CartUIProvider/CartUIProvider.client.js +26 -0
  110. package/dist/esnext/components/CartUIProvider/context.d.ts +9 -0
  111. package/dist/esnext/components/CartUIProvider/context.js +2 -0
  112. package/dist/esnext/components/CartUIProvider/hooks.d.ts +1 -0
  113. package/dist/esnext/components/CartUIProvider/hooks.js +9 -0
  114. package/dist/esnext/components/CartUIProvider/index.d.ts +2 -0
  115. package/dist/esnext/components/CartUIProvider/index.js +2 -0
  116. package/dist/esnext/components/ExternalVideo/ExternalVideo.d.ts +14 -0
  117. package/dist/esnext/components/ExternalVideo/ExternalVideo.js +9 -0
  118. package/dist/esnext/components/ExternalVideo/ExternalVideoFragment.d.ts +4 -0
  119. package/dist/esnext/components/ExternalVideo/ExternalVideoFragment.js +1 -0
  120. package/dist/esnext/components/ExternalVideo/index.d.ts +1 -0
  121. package/dist/esnext/components/ExternalVideo/index.js +1 -0
  122. package/dist/esnext/components/Image/Image.d.ts +14 -0
  123. package/dist/esnext/components/Image/Image.js +10 -0
  124. package/dist/esnext/components/Image/ImageFragment.d.ts +4 -0
  125. package/dist/esnext/components/Image/ImageFragment.js +1 -0
  126. package/dist/esnext/components/Image/index.d.ts +1 -0
  127. package/dist/esnext/components/Image/index.js +1 -0
  128. package/dist/esnext/components/LocalizationProvider/LocalizationClientProvider.client.d.ts +6 -0
  129. package/dist/esnext/components/LocalizationProvider/LocalizationClientProvider.client.js +14 -0
  130. package/dist/esnext/components/LocalizationProvider/LocalizationContext.client.d.ts +8 -0
  131. package/dist/esnext/components/LocalizationProvider/LocalizationContext.client.js +2 -0
  132. package/dist/esnext/components/LocalizationProvider/LocalizationProvider.server.d.ts +4 -0
  133. package/dist/esnext/components/LocalizationProvider/LocalizationProvider.server.js +8 -0
  134. package/dist/esnext/components/LocalizationProvider/LocalizationQuery.d.ts +18 -0
  135. package/dist/esnext/components/LocalizationProvider/LocalizationQuery.js +1 -0
  136. package/dist/esnext/components/LocalizationProvider/hooks.d.ts +8 -0
  137. package/dist/esnext/components/LocalizationProvider/hooks.js +17 -0
  138. package/dist/esnext/components/LocalizationProvider/index.d.ts +2 -0
  139. package/dist/esnext/components/LocalizationProvider/index.js +2 -0
  140. package/dist/esnext/components/MediaFile/MediaFile.d.ts +19 -0
  141. package/dist/esnext/components/MediaFile/MediaFile.js +22 -0
  142. package/dist/esnext/components/MediaFile/MediaFileFragment.d.ts +22 -0
  143. package/dist/esnext/components/MediaFile/MediaFileFragment.js +1 -0
  144. package/dist/esnext/components/MediaFile/index.d.ts +1 -0
  145. package/dist/esnext/components/MediaFile/index.js +1 -0
  146. package/dist/esnext/components/Metafield/Metafield.client.d.ts +8 -0
  147. package/dist/esnext/components/Metafield/Metafield.client.js +50 -0
  148. package/dist/esnext/components/Metafield/MetafieldFragment.d.ts +4 -0
  149. package/dist/esnext/components/Metafield/MetafieldFragment.js +1 -0
  150. package/dist/esnext/components/Metafield/components/StarRating/StarRating.d.ts +12 -0
  151. package/dist/esnext/components/Metafield/components/StarRating/StarRating.js +48 -0
  152. package/dist/esnext/components/Metafield/components/StarRating/index.d.ts +1 -0
  153. package/dist/esnext/components/Metafield/components/StarRating/index.js +1 -0
  154. package/dist/esnext/components/Metafield/components/index.d.ts +1 -0
  155. package/dist/esnext/components/Metafield/components/index.js +1 -0
  156. package/dist/esnext/components/Metafield/index.d.ts +3 -0
  157. package/dist/esnext/components/Metafield/index.js +1 -0
  158. package/dist/esnext/components/Metafield/types.d.ts +4 -0
  159. package/dist/esnext/components/Metafield/types.js +1 -0
  160. package/dist/esnext/components/Model3D/Model3D.client.d.ts +25 -0
  161. package/dist/esnext/components/Model3D/Model3D.client.js +30 -0
  162. package/dist/esnext/components/Model3D/Model3DFragment.d.ts +11 -0
  163. package/dist/esnext/components/Model3D/Model3DFragment.js +1 -0
  164. package/dist/esnext/components/Model3D/index.d.ts +1 -0
  165. package/dist/esnext/components/Model3D/index.js +1 -0
  166. package/dist/esnext/components/Money/Money.client.d.ts +7 -0
  167. package/dist/esnext/components/Money/Money.client.js +10 -0
  168. package/dist/esnext/components/Money/index.d.ts +1 -0
  169. package/dist/esnext/components/Money/index.js +1 -0
  170. package/dist/esnext/components/ProductDescription/ProductDescription.client.d.ts +3 -0
  171. package/dist/esnext/components/ProductDescription/ProductDescription.client.js +10 -0
  172. package/dist/esnext/components/ProductDescription/index.d.ts +1 -0
  173. package/dist/esnext/components/ProductDescription/index.js +1 -0
  174. package/dist/esnext/components/ProductMetafield/ProductMetafield.client.d.ts +7 -0
  175. package/dist/esnext/components/ProductMetafield/ProductMetafield.client.js +16 -0
  176. package/dist/esnext/components/ProductMetafield/index.d.ts +1 -0
  177. package/dist/esnext/components/ProductMetafield/index.js +1 -0
  178. package/dist/esnext/components/ProductPrice/ProductPrice.client.d.ts +7 -0
  179. package/dist/esnext/components/ProductPrice/ProductPrice.client.js +32 -0
  180. package/dist/esnext/components/ProductPrice/index.d.ts +1 -0
  181. package/dist/esnext/components/ProductPrice/index.js +1 -0
  182. package/dist/esnext/components/ProductProvider/ProductProvider.client.d.ts +7 -0
  183. package/dist/esnext/components/ProductProvider/ProductProvider.client.js +35 -0
  184. package/dist/esnext/components/ProductProvider/ProductProviderFragment.d.ts +96 -0
  185. package/dist/esnext/components/ProductProvider/ProductProviderFragment.js +1 -0
  186. package/dist/esnext/components/ProductProvider/context.d.ts +13 -0
  187. package/dist/esnext/components/ProductProvider/context.js +2 -0
  188. package/dist/esnext/components/ProductProvider/hooks.d.ts +1 -0
  189. package/dist/esnext/components/ProductProvider/hooks.js +6 -0
  190. package/dist/esnext/components/ProductProvider/index.d.ts +2 -0
  191. package/dist/esnext/components/ProductProvider/index.js +2 -0
  192. package/dist/esnext/components/ProductProvider/types.d.ts +5 -0
  193. package/dist/esnext/components/ProductProvider/types.js +1 -0
  194. package/dist/esnext/components/ProductTitle/ProductTitle.client.d.ts +3 -0
  195. package/dist/esnext/components/ProductTitle/ProductTitle.client.js +11 -0
  196. package/dist/esnext/components/ProductTitle/index.d.ts +1 -0
  197. package/dist/esnext/components/ProductTitle/index.js +1 -0
  198. package/dist/esnext/components/RawHtml/RawHtml.d.ts +7 -0
  199. package/dist/esnext/components/RawHtml/RawHtml.js +13 -0
  200. package/dist/esnext/components/RawHtml/index.d.ts +1 -0
  201. package/dist/esnext/components/RawHtml/index.js +1 -0
  202. package/dist/esnext/components/SelectedVariantAddToCartButton/SelectedVariantAddToCartButton.client.d.ts +6 -0
  203. package/dist/esnext/components/SelectedVariantAddToCartButton/SelectedVariantAddToCartButton.client.js +12 -0
  204. package/dist/esnext/components/SelectedVariantAddToCartButton/index.d.ts +1 -0
  205. package/dist/esnext/components/SelectedVariantAddToCartButton/index.js +1 -0
  206. package/dist/esnext/components/SelectedVariantBuyNowButton/SelectedVariantBuyNowButton.d.ts +4 -0
  207. package/dist/esnext/components/SelectedVariantBuyNowButton/SelectedVariantBuyNowButton.js +12 -0
  208. package/dist/esnext/components/SelectedVariantBuyNowButton/index.d.ts +1 -0
  209. package/dist/esnext/components/SelectedVariantBuyNowButton/index.js +1 -0
  210. package/dist/esnext/components/SelectedVariantImage/SelectedVariantImage.client.d.ts +6 -0
  211. package/dist/esnext/components/SelectedVariantImage/SelectedVariantImage.client.js +12 -0
  212. package/dist/esnext/components/SelectedVariantImage/index.d.ts +1 -0
  213. package/dist/esnext/components/SelectedVariantImage/index.js +1 -0
  214. package/dist/esnext/components/SelectedVariantMetafield/SelectedVariantMetafield.client.d.ts +7 -0
  215. package/dist/esnext/components/SelectedVariantMetafield/SelectedVariantMetafield.client.js +15 -0
  216. package/dist/esnext/components/SelectedVariantMetafield/index.d.ts +1 -0
  217. package/dist/esnext/components/SelectedVariantMetafield/index.js +1 -0
  218. package/dist/esnext/components/SelectedVariantPrice/SelectedVariantPrice.client.d.ts +6 -0
  219. package/dist/esnext/components/SelectedVariantPrice/SelectedVariantPrice.client.js +18 -0
  220. package/dist/esnext/components/SelectedVariantPrice/index.d.ts +1 -0
  221. package/dist/esnext/components/SelectedVariantPrice/index.js +1 -0
  222. package/dist/esnext/components/SelectedVariantShopPayButton/SelectedVariantShopPayButton.client.d.ts +2 -0
  223. package/dist/esnext/components/SelectedVariantShopPayButton/SelectedVariantShopPayButton.client.js +12 -0
  224. package/dist/esnext/components/SelectedVariantShopPayButton/index.d.ts +1 -0
  225. package/dist/esnext/components/SelectedVariantShopPayButton/index.js +1 -0
  226. package/dist/esnext/components/SelectedVariantUnitPrice/SelectedVariantUnitPrice.client.d.ts +3 -0
  227. package/dist/esnext/components/SelectedVariantUnitPrice/SelectedVariantUnitPrice.client.js +12 -0
  228. package/dist/esnext/components/SelectedVariantUnitPrice/index.d.ts +1 -0
  229. package/dist/esnext/components/SelectedVariantUnitPrice/index.js +1 -0
  230. package/dist/esnext/components/ShopPayButton/ShopPayButton.client.d.ts +15 -0
  231. package/dist/esnext/components/ShopPayButton/ShopPayButton.client.js +32 -0
  232. package/dist/esnext/components/ShopPayButton/index.d.ts +1 -0
  233. package/dist/esnext/components/ShopPayButton/index.js +1 -0
  234. package/dist/esnext/components/UnitPrice/UnitPrice.client.d.ts +8 -0
  235. package/dist/esnext/components/UnitPrice/UnitPrice.client.js +16 -0
  236. package/dist/esnext/components/UnitPrice/index.d.ts +1 -0
  237. package/dist/esnext/components/UnitPrice/index.js +1 -0
  238. package/dist/esnext/components/Video/Video.d.ts +13 -0
  239. package/dist/esnext/components/Video/Video.js +8 -0
  240. package/dist/esnext/components/Video/VideoFragment.d.ts +11 -0
  241. package/dist/esnext/components/Video/VideoFragment.js +1 -0
  242. package/dist/esnext/components/Video/index.d.ts +1 -0
  243. package/dist/esnext/components/Video/index.js +1 -0
  244. package/dist/esnext/components/index.d.ts +41 -0
  245. package/dist/esnext/components/index.js +87 -0
  246. package/dist/esnext/components/types.d.ts +73 -0
  247. package/dist/esnext/components/types.js +10 -0
  248. package/dist/esnext/entry-client.d.ts +3 -0
  249. package/dist/esnext/entry-client.js +36 -0
  250. package/dist/esnext/entry-server.d.ts +3 -0
  251. package/dist/esnext/entry-server.js +286 -0
  252. package/dist/esnext/foundation/ClientMarker/ClientMarker.d.ts +10 -0
  253. package/dist/esnext/foundation/ClientMarker/ClientMarker.js +25 -0
  254. package/dist/esnext/foundation/ClientMarker/index.d.ts +1 -0
  255. package/dist/esnext/foundation/ClientMarker/index.js +1 -0
  256. package/dist/esnext/foundation/Hydration/Cache.client.d.ts +9 -0
  257. package/dist/esnext/foundation/Hydration/Cache.client.js +131 -0
  258. package/dist/esnext/foundation/Hydration/ClientComponents.server.d.ts +13 -0
  259. package/dist/esnext/foundation/Hydration/ClientComponents.server.js +18 -0
  260. package/dist/esnext/foundation/Hydration/Html.d.ts +5 -0
  261. package/dist/esnext/foundation/Hydration/Html.js +9 -0
  262. package/dist/esnext/foundation/Hydration/HydrationContext.server.d.ts +1 -0
  263. package/dist/esnext/foundation/Hydration/HydrationContext.server.js +2 -0
  264. package/dist/esnext/foundation/Hydration/ServerComponentRequest.server.d.ts +13 -0
  265. package/dist/esnext/foundation/Hydration/ServerComponentRequest.server.js +39 -0
  266. package/dist/esnext/foundation/Hydration/ServerComponentResponse.server.d.ts +18 -0
  267. package/dist/esnext/foundation/Hydration/ServerComponentResponse.server.js +35 -0
  268. package/dist/esnext/foundation/Hydration/react-utils.d.ts +5 -0
  269. package/dist/esnext/foundation/Hydration/react-utils.js +55 -0
  270. package/dist/esnext/foundation/Hydration/wire.server.d.ts +4 -0
  271. package/dist/esnext/foundation/Hydration/wire.server.js +75 -0
  272. package/dist/esnext/foundation/Hydration/writer.server.d.ts +14 -0
  273. package/dist/esnext/foundation/Hydration/writer.server.js +29 -0
  274. package/dist/esnext/foundation/Router/DefaultRoutes.d.ts +20 -0
  275. package/dist/esnext/foundation/Router/DefaultRoutes.js +54 -0
  276. package/dist/esnext/foundation/Router/ServerStateRouter.client.d.ts +6 -0
  277. package/dist/esnext/foundation/Router/ServerStateRouter.client.js +27 -0
  278. package/dist/esnext/foundation/Router/index.d.ts +1 -0
  279. package/dist/esnext/foundation/Router/index.js +1 -0
  280. package/dist/esnext/foundation/ServerStateProvider/ServerStateProvider.client.d.ts +11 -0
  281. package/dist/esnext/foundation/ServerStateProvider/ServerStateProvider.client.js +48 -0
  282. package/dist/esnext/foundation/ServerStateProvider/index.d.ts +1 -0
  283. package/dist/esnext/foundation/ServerStateProvider/index.js +1 -0
  284. package/dist/esnext/foundation/ShopifyProvider/ShopifyContext.d.ts +1 -0
  285. package/dist/esnext/foundation/ShopifyProvider/ShopifyContext.js +2 -0
  286. package/dist/esnext/foundation/ShopifyProvider/ShopifyProvider.d.ts +3 -0
  287. package/dist/esnext/foundation/ShopifyProvider/ShopifyProvider.js +11 -0
  288. package/dist/esnext/foundation/ShopifyProvider/ShopifyServerProvider.server.d.ts +8 -0
  289. package/dist/esnext/foundation/ShopifyProvider/ShopifyServerProvider.server.js +7 -0
  290. package/dist/esnext/foundation/ShopifyProvider/hooks.d.ts +2 -0
  291. package/dist/esnext/foundation/ShopifyProvider/hooks.js +9 -0
  292. package/dist/esnext/foundation/ShopifyProvider/index.d.ts +2 -0
  293. package/dist/esnext/foundation/ShopifyProvider/index.js +2 -0
  294. package/dist/esnext/foundation/ShopifyProvider/types.d.ts +12 -0
  295. package/dist/esnext/foundation/ShopifyProvider/types.js +1 -0
  296. package/dist/esnext/foundation/index.d.ts +4 -0
  297. package/dist/esnext/foundation/index.js +4 -0
  298. package/dist/esnext/framework/graphiql.d.ts +1 -0
  299. package/dist/esnext/framework/graphiql.js +39 -0
  300. package/dist/esnext/framework/middleware.d.ts +17 -0
  301. package/dist/esnext/framework/middleware.js +116 -0
  302. package/dist/esnext/framework/plugin.d.ts +3 -0
  303. package/dist/esnext/framework/plugin.js +14 -0
  304. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-config.d.ts +3 -0
  305. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-config.js +43 -0
  306. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-middleware.d.ts +4 -0
  307. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-middleware.js +28 -0
  308. package/dist/esnext/framework/plugins/vite-plugin-react-server-components-shim.d.ts +3 -0
  309. package/dist/esnext/framework/plugins/vite-plugin-react-server-components-shim.js +123 -0
  310. package/dist/esnext/framework/server-components.d.ts +12 -0
  311. package/dist/esnext/framework/server-components.js +72 -0
  312. package/dist/esnext/graphql/graphql-constants.d.ts +1295 -0
  313. package/dist/esnext/graphql/graphql-constants.js +2482 -0
  314. package/dist/esnext/graphql/types/types.d.ts +5583 -0
  315. package/dist/esnext/graphql/types/types.js +1414 -0
  316. package/dist/esnext/handle-event.d.ts +20 -0
  317. package/dist/esnext/handle-event.js +140 -0
  318. package/dist/esnext/handle-worker-event.d.ts +11 -0
  319. package/dist/esnext/handle-worker-event.js +14 -0
  320. package/dist/esnext/hooks/index.d.ts +5 -0
  321. package/dist/esnext/hooks/index.js +5 -0
  322. package/dist/esnext/hooks/useMeasurement/hooks.d.ts +9 -0
  323. package/dist/esnext/hooks/useMeasurement/hooks.js +13 -0
  324. package/dist/esnext/hooks/useMeasurement/index.d.ts +1 -0
  325. package/dist/esnext/hooks/useMeasurement/index.js +1 -0
  326. package/dist/esnext/hooks/useMoney/hooks.d.ts +11 -0
  327. package/dist/esnext/hooks/useMoney/hooks.js +33 -0
  328. package/dist/esnext/hooks/useMoney/index.d.ts +1 -0
  329. package/dist/esnext/hooks/useMoney/index.js +1 -0
  330. package/dist/esnext/hooks/useParsedMetafields/hooks.d.ts +3 -0
  331. package/dist/esnext/hooks/useParsedMetafields/hooks.js +15 -0
  332. package/dist/esnext/hooks/useParsedMetafields/index.d.ts +1 -0
  333. package/dist/esnext/hooks/useParsedMetafields/index.js +1 -0
  334. package/dist/esnext/hooks/useProductOptions/helpers.d.ts +4 -0
  335. package/dist/esnext/hooks/useProductOptions/helpers.js +33 -0
  336. package/dist/esnext/hooks/useProductOptions/index.d.ts +2 -0
  337. package/dist/esnext/hooks/useProductOptions/index.js +2 -0
  338. package/dist/esnext/hooks/useProductOptions/types.d.ts +50 -0
  339. package/dist/esnext/hooks/useProductOptions/types.js +1 -0
  340. package/dist/esnext/hooks/useProductOptions/useProductOptions.d.ts +23 -0
  341. package/dist/esnext/hooks/useProductOptions/useProductOptions.js +84 -0
  342. package/dist/esnext/hooks/useQuery/QueryProvider.d.ts +6 -0
  343. package/dist/esnext/hooks/useQuery/QueryProvider.js +13 -0
  344. package/dist/esnext/hooks/useQuery/hooks.d.ts +12 -0
  345. package/dist/esnext/hooks/useQuery/hooks.js +28 -0
  346. package/dist/esnext/hooks/useQuery/index.d.ts +2 -0
  347. package/dist/esnext/hooks/useQuery/index.js +2 -0
  348. package/dist/esnext/hooks/useShopQuery/hooks.d.ts +9 -0
  349. package/dist/esnext/hooks/useShopQuery/hooks.js +34 -0
  350. package/dist/esnext/hooks/useShopQuery/index.d.ts +1 -0
  351. package/dist/esnext/hooks/useShopQuery/index.js +1 -0
  352. package/dist/esnext/index.d.ts +9 -0
  353. package/dist/esnext/index.js +11 -0
  354. package/dist/esnext/types.d.ts +62 -0
  355. package/dist/esnext/types.js +1 -0
  356. package/dist/esnext/utilities/connections.d.ts +2 -0
  357. package/dist/esnext/utilities/connections.js +4 -0
  358. package/dist/esnext/utilities/environment.d.ts +2 -0
  359. package/dist/esnext/utilities/environment.js +2 -0
  360. package/dist/esnext/utilities/image_size.d.ts +17 -0
  361. package/dist/esnext/utilities/image_size.js +45 -0
  362. package/dist/esnext/utilities/index.d.ts +8 -0
  363. package/dist/esnext/utilities/index.js +8 -0
  364. package/dist/esnext/utilities/meaurement.d.ts +3 -0
  365. package/dist/esnext/utilities/meaurement.js +98 -0
  366. package/dist/esnext/utilities/metafields.d.ts +2 -0
  367. package/dist/esnext/utilities/metafields.js +32 -0
  368. package/dist/esnext/utilities/script_loader.d.ts +3 -0
  369. package/dist/esnext/utilities/script_loader.js +23 -0
  370. package/dist/esnext/utilities/suspense.d.ts +7 -0
  371. package/dist/esnext/utilities/suspense.js +32 -0
  372. package/dist/esnext/utilities/video_parameters.d.ts +47 -0
  373. package/dist/esnext/utilities/video_parameters.js +22 -0
  374. package/dist/esnext/version.d.ts +1 -0
  375. package/dist/esnext/version.js +1 -0
  376. package/dist/node/foundation/ClientMarker/ClientMarker.d.ts +10 -0
  377. package/dist/node/foundation/ClientMarker/ClientMarker.js +48 -0
  378. package/dist/node/foundation/ClientMarker/index.d.ts +1 -0
  379. package/dist/node/foundation/ClientMarker/index.js +13 -0
  380. package/dist/node/foundation/Hydration/HydrationContext.server.d.ts +1 -0
  381. package/dist/node/foundation/Hydration/HydrationContext.server.js +5 -0
  382. package/dist/node/foundation/Hydration/ServerComponentRequest.server.d.ts +13 -0
  383. package/dist/node/foundation/Hydration/ServerComponentRequest.server.js +43 -0
  384. package/dist/node/foundation/Hydration/ServerComponentResponse.server.d.ts +18 -0
  385. package/dist/node/foundation/Hydration/ServerComponentResponse.server.js +39 -0
  386. package/dist/node/foundation/Hydration/react-utils.d.ts +5 -0
  387. package/dist/node/foundation/Hydration/react-utils.js +63 -0
  388. package/dist/node/foundation/Router/DefaultRoutes.d.ts +20 -0
  389. package/dist/node/foundation/Router/DefaultRoutes.js +78 -0
  390. package/dist/node/foundation/Router/index.d.ts +1 -0
  391. package/dist/node/foundation/Router/index.js +5 -0
  392. package/dist/node/foundation/ShopifyProvider/ShopifyContext.d.ts +1 -0
  393. package/dist/node/foundation/ShopifyProvider/ShopifyContext.js +5 -0
  394. package/dist/node/foundation/ShopifyProvider/ShopifyProvider.d.ts +3 -0
  395. package/dist/node/foundation/ShopifyProvider/ShopifyProvider.js +34 -0
  396. package/dist/node/foundation/ShopifyProvider/ShopifyServerProvider.server.d.ts +8 -0
  397. package/dist/node/foundation/ShopifyProvider/ShopifyServerProvider.server.js +14 -0
  398. package/dist/node/foundation/ShopifyProvider/hooks.d.ts +2 -0
  399. package/dist/node/foundation/ShopifyProvider/hooks.js +13 -0
  400. package/dist/node/foundation/ShopifyProvider/index.d.ts +2 -0
  401. package/dist/node/foundation/ShopifyProvider/index.js +8 -0
  402. package/dist/node/foundation/ShopifyProvider/types.d.ts +12 -0
  403. package/dist/node/foundation/ShopifyProvider/types.js +2 -0
  404. package/dist/node/foundation/index.d.ts +4 -0
  405. package/dist/node/foundation/index.js +13 -0
  406. package/dist/node/framework/graphiql.d.ts +1 -0
  407. package/dist/node/framework/graphiql.js +43 -0
  408. package/dist/node/framework/middleware.d.ts +17 -0
  409. package/dist/node/framework/middleware.js +141 -0
  410. package/dist/node/framework/plugin.d.ts +3 -0
  411. package/dist/node/framework/plugin.js +19 -0
  412. package/dist/node/framework/plugins/vite-plugin-hydrogen-config.d.ts +3 -0
  413. package/dist/node/framework/plugins/vite-plugin-hydrogen-config.js +45 -0
  414. package/dist/node/framework/plugins/vite-plugin-hydrogen-middleware.d.ts +4 -0
  415. package/dist/node/framework/plugins/vite-plugin-hydrogen-middleware.js +33 -0
  416. package/dist/node/framework/plugins/vite-plugin-react-server-components-shim.d.ts +3 -0
  417. package/dist/node/framework/plugins/vite-plugin-react-server-components-shim.js +128 -0
  418. package/dist/node/framework/server-components.d.ts +12 -0
  419. package/dist/node/framework/server-components.js +77 -0
  420. package/dist/node/graphql/types/types.d.ts +5583 -0
  421. package/dist/node/graphql/types/types.js +1417 -0
  422. package/dist/node/handle-event.d.ts +20 -0
  423. package/dist/node/handle-event.js +143 -0
  424. package/dist/node/hooks/useQuery/QueryProvider.d.ts +6 -0
  425. package/dist/node/hooks/useQuery/QueryProvider.js +20 -0
  426. package/dist/node/hooks/useQuery/hooks.d.ts +12 -0
  427. package/dist/node/hooks/useQuery/hooks.js +32 -0
  428. package/dist/node/hooks/useQuery/index.d.ts +2 -0
  429. package/dist/node/hooks/useQuery/index.js +14 -0
  430. package/dist/node/types.d.ts +62 -0
  431. package/dist/node/types.js +2 -0
  432. package/dist/worker/foundation/Hydration/ServerComponentRequest.server.d.ts +13 -0
  433. package/dist/worker/foundation/Hydration/ServerComponentRequest.server.js +39 -0
  434. package/dist/worker/foundation/Hydration/ServerComponentResponse.server.d.ts +18 -0
  435. package/dist/worker/foundation/Hydration/ServerComponentResponse.server.js +35 -0
  436. package/dist/worker/graphql/types/types.d.ts +5583 -0
  437. package/dist/worker/graphql/types/types.js +1414 -0
  438. package/dist/worker/handle-event.d.ts +20 -0
  439. package/dist/worker/handle-event.js +140 -0
  440. package/dist/worker/handle-worker-event.d.ts +11 -0
  441. package/dist/worker/handle-worker-event.js +14 -0
  442. package/dist/worker/types.d.ts +62 -0
  443. package/dist/worker/types.js +1 -0
  444. package/entry-client.d.ts +1 -0
  445. package/entry-client.js +1 -0
  446. package/entry-server.d.ts +1 -0
  447. package/entry-server.js +1 -0
  448. package/marker.js +1 -0
  449. package/middleware.d.ts +1 -0
  450. package/middleware.js +1 -0
  451. package/package.json +98 -0
  452. package/plugin.d.ts +1 -0
  453. package/plugin.js +1 -0
  454. package/worker.js +1 -0
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ServerComponentResponse = void 0;
4
+ const server_1 = require("react-dom/server");
5
+ class ServerComponentResponse extends Response {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.wait = false;
9
+ /**
10
+ * Allow custom body to be a string or a Promise.
11
+ */
12
+ this.customBody = '';
13
+ }
14
+ /**
15
+ * Buffer the current response until all queries have resolved,
16
+ * and prevent it from streaming back early.
17
+ */
18
+ doNotStream() {
19
+ this.wait = true;
20
+ }
21
+ canStream() {
22
+ return !this.wait;
23
+ }
24
+ /**
25
+ * Send the response from a Server Component. Renders React components to string,
26
+ * and returns `null` to make React happy.
27
+ */
28
+ send(body) {
29
+ if (typeof body === 'object' &&
30
+ body.$$typeof === Symbol.for('react.element')) {
31
+ this.customBody = server_1.renderToString(body);
32
+ }
33
+ else {
34
+ this.customBody = body;
35
+ }
36
+ return null;
37
+ }
38
+ }
39
+ exports.ServerComponentResponse = ServerComponentResponse;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Iterate through each prop in an object and render it to an object.
3
+ */
4
+ export declare function renderReactProps(props: any): Record<string, any>;
5
+ export declare function parseReactFromString(input: string, options?: any): string | JSX.Element | JSX.Element[];
@@ -0,0 +1,63 @@
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
+ exports.parseReactFromString = exports.renderReactProps = void 0;
7
+ const server_1 = require("react-dom/server");
8
+ /**
9
+ * Load `domToReact` from within the library so it doesn't try to load `htmlToDom`
10
+ * which seems to always resolve to the client version, even though we want server.
11
+ */
12
+ const dom_to_react_1 = __importDefault(require("html-react-parser/lib/dom-to-react"));
13
+ const html_dom_parser_1 = __importDefault(require("html-dom-parser"));
14
+ /**
15
+ * Iterate through each prop in an object and render it to an object.
16
+ */
17
+ function renderReactProps(props) {
18
+ return Object.entries(props).reduce((memo, [key, prop]) => {
19
+ if (prop instanceof Array) {
20
+ memo[key] = prop.map((p) => renderReactProp(p));
21
+ }
22
+ else {
23
+ memo[key] = renderReactProp(prop);
24
+ }
25
+ return memo;
26
+ }, {});
27
+ }
28
+ exports.renderReactProps = renderReactProps;
29
+ /**
30
+ * If a prop is a React element (determined by the `$$typeof` property),
31
+ * check to see if it's a Function and call it. Otherwise, recursively
32
+ * render React props to support nested components.
33
+ */
34
+ function renderReactProp(prop) {
35
+ if (typeof prop === 'object' &&
36
+ prop['$$typeof'] === Symbol.for('react.element')) {
37
+ if (prop.type instanceof Function) {
38
+ /**
39
+ * We can't simply call prop.type(), since this does funky things
40
+ * with hooks, etc. Instead, we render it to string and convert
41
+ * it to a React object. This *still* isn't a perfect approach
42
+ * because the component isn't wrapped in the same context
43
+ * that the developer may have intended. However, we can
44
+ * set expectations as thus when passing components as
45
+ * props within Server Components.
46
+ */
47
+ return parseReactFromString(server_1.renderToString(prop));
48
+ }
49
+ else {
50
+ return {
51
+ ...prop,
52
+ props: renderReactProps(prop.props),
53
+ };
54
+ }
55
+ }
56
+ return prop;
57
+ }
58
+ function parseReactFromString(input, options = {}) {
59
+ return dom_to_react_1.default(
60
+ // @ts-ignore
61
+ html_dom_parser_1.default(input, { lowerCaseAttributeNames: false }), options);
62
+ }
63
+ exports.parseReactFromString = parseReactFromString;
@@ -0,0 +1,20 @@
1
+ import { ReactElement } from 'react';
2
+ export declare type ImportGlobEagerOutput = Record<string, Record<'default', any>>;
3
+ /**
4
+ * Build a set of default Hydrogen routes based on the output provided by Vite's
5
+ * import.meta.globEager method.
6
+ *
7
+ * @see https://vitejs.dev/guide/features.html#glob-import
8
+ */
9
+ export declare function DefaultRoutes({ pages, serverState, fallback, }: {
10
+ pages: ImportGlobEagerOutput;
11
+ serverState: Record<string, any>;
12
+ fallback?: ReactElement;
13
+ }): JSX.Element;
14
+ interface HydrogenRoute {
15
+ component: any;
16
+ path: string;
17
+ exact: boolean;
18
+ }
19
+ export declare function createRoutesFromPages(pages: ImportGlobEagerOutput, topLevelPath?: string): HydrogenRoute[];
20
+ export {};
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.createRoutesFromPages = exports.DefaultRoutes = void 0;
23
+ const react_1 = __importStar(require("react"));
24
+ const react_router_dom_1 = require("react-router-dom");
25
+ /**
26
+ * Build a set of default Hydrogen routes based on the output provided by Vite's
27
+ * import.meta.globEager method.
28
+ *
29
+ * @see https://vitejs.dev/guide/features.html#glob-import
30
+ */
31
+ function DefaultRoutes({ pages, serverState, fallback, }) {
32
+ const { path } = react_router_dom_1.useRouteMatch();
33
+ const routes = react_1.useMemo(() => createRoutesFromPages(pages, path), [pages, path]);
34
+ return (react_1.default.createElement(react_router_dom_1.Switch, null,
35
+ routes.map((route) => (react_1.default.createElement(react_router_dom_1.Route, { key: route.path, exact: route.exact, path: route.path },
36
+ react_1.default.createElement(route.component, { ...serverState })))),
37
+ fallback && react_1.default.createElement(react_router_dom_1.Route, { path: "*" }, fallback)));
38
+ }
39
+ exports.DefaultRoutes = DefaultRoutes;
40
+ function createRoutesFromPages(pages, topLevelPath = '*') {
41
+ const topLevelPrefix = topLevelPath.replace('*', '').replace(/\/$/, '');
42
+ const routes = Object.keys(pages).map((key) => {
43
+ const path = key
44
+ .replace('./pages', '')
45
+ .replace(/\.server\.(t|j)sx?$/, '')
46
+ /**
47
+ * Replace /index with /
48
+ */
49
+ .replace(/\/index$/i, '/')
50
+ /**
51
+ * Only lowercase the first letter. This allows the developer to use camelCase
52
+ * dynamic paths while ensuring their standard routes are normalized to lowercase.
53
+ */
54
+ .replace(/\b[A-Z]/, (firstLetter) => firstLetter.toLowerCase())
55
+ /**
56
+ * Convert /[handle].jsx and /[...handle].jsx to /:handle.jsx for react-router-dom
57
+ */
58
+ .replace(/\[(?:[.]{3})?(\w+?)\]/g, (_match, param) => `:${param}`);
59
+ /**
60
+ * Catch-all routes [...handle].jsx don't need an exact match
61
+ * https://reactrouter.com/core/api/Route/exact-bool
62
+ */
63
+ const exact = !/\[(?:[.]{3})(\w+?)\]/.test(key);
64
+ return {
65
+ path: topLevelPrefix + path,
66
+ component: pages[key].default,
67
+ exact,
68
+ };
69
+ });
70
+ /**
71
+ * Place static paths BEFORE dynamic paths to grant priority.
72
+ */
73
+ return [
74
+ ...routes.filter((route) => !route.path.includes(':')),
75
+ ...routes.filter((route) => route.path.includes(':')),
76
+ ];
77
+ }
78
+ exports.createRoutesFromPages = createRoutesFromPages;
@@ -0,0 +1 @@
1
+ export { DefaultRoutes } from './DefaultRoutes';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DefaultRoutes = void 0;
4
+ var DefaultRoutes_1 = require("./DefaultRoutes");
5
+ Object.defineProperty(exports, "DefaultRoutes", { enumerable: true, get: function () { return DefaultRoutes_1.DefaultRoutes; } });
@@ -0,0 +1 @@
1
+ export declare const ShopifyContext: import("react").Context<import("../../types").ShopifyConfig | null>;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ShopifyContext = void 0;
4
+ const react_1 = require("react");
5
+ exports.ShopifyContext = react_1.createContext(null);
@@ -0,0 +1,3 @@
1
+ import { ShopifyProviderProps } from './types';
2
+ export declare const DEFAULT_API_VERSION = "2021-10";
3
+ export declare function ShopifyProvider({ shopifyConfig, children, }: ShopifyProviderProps): JSX.Element;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.ShopifyProvider = exports.DEFAULT_API_VERSION = void 0;
23
+ const react_1 = __importStar(require("react"));
24
+ const ShopifyContext_1 = require("./ShopifyContext");
25
+ exports.DEFAULT_API_VERSION = '2021-10';
26
+ function ShopifyProvider({ shopifyConfig, children, }) {
27
+ const shopifyProviderValue = react_1.useMemo(() => ({
28
+ locale: 'en-us',
29
+ graphqlApiVersion: exports.DEFAULT_API_VERSION,
30
+ ...shopifyConfig,
31
+ }), [shopifyConfig]);
32
+ return (react_1.default.createElement(ShopifyContext_1.ShopifyContext.Provider, { value: shopifyProviderValue }, children));
33
+ }
34
+ exports.ShopifyProvider = ShopifyProvider;
@@ -0,0 +1,8 @@
1
+ import { ReactElement } from 'react';
2
+ import { ShopifyConfig } from '../../types';
3
+ import { ReactQueryHydrationContext } from './types';
4
+ export declare function ShopifyServerProvider({ children, shopifyConfig, hydrationContext, }: {
5
+ children: ReactElement;
6
+ shopifyConfig: ShopifyConfig;
7
+ hydrationContext: ReactQueryHydrationContext;
8
+ }): JSX.Element;
@@ -0,0 +1,14 @@
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
+ exports.ShopifyServerProvider = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const ShopifyProvider_1 = require("./ShopifyProvider");
9
+ const useQuery_1 = require("../../hooks/useQuery");
10
+ function ShopifyServerProvider({ children, shopifyConfig, hydrationContext, }) {
11
+ return (react_1.default.createElement(ShopifyProvider_1.ShopifyProvider, { shopifyConfig: shopifyConfig },
12
+ react_1.default.createElement(useQuery_1.QueryProvider, { hydrationContext: hydrationContext }, children)));
13
+ }
14
+ exports.ShopifyServerProvider = ShopifyServerProvider;
@@ -0,0 +1,2 @@
1
+ import { ShopifyProviderValue } from './types';
2
+ export declare function useShop(): ShopifyProviderValue;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useShop = void 0;
4
+ const react_1 = require("react");
5
+ const ShopifyContext_1 = require("./ShopifyContext");
6
+ function useShop() {
7
+ const context = react_1.useContext(ShopifyContext_1.ShopifyContext);
8
+ if (!context) {
9
+ throw new Error('No Shopify Context found');
10
+ }
11
+ return context;
12
+ }
13
+ exports.useShop = useShop;
@@ -0,0 +1,2 @@
1
+ export { ShopifyProvider, DEFAULT_API_VERSION } from './ShopifyProvider';
2
+ export { useShop } from './hooks';
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useShop = exports.DEFAULT_API_VERSION = exports.ShopifyProvider = void 0;
4
+ var ShopifyProvider_1 = require("./ShopifyProvider");
5
+ Object.defineProperty(exports, "ShopifyProvider", { enumerable: true, get: function () { return ShopifyProvider_1.ShopifyProvider; } });
6
+ Object.defineProperty(exports, "DEFAULT_API_VERSION", { enumerable: true, get: function () { return ShopifyProvider_1.DEFAULT_API_VERSION; } });
7
+ var hooks_1 = require("./hooks");
8
+ Object.defineProperty(exports, "useShop", { enumerable: true, get: function () { return hooks_1.useShop; } });
@@ -0,0 +1,12 @@
1
+ import type { QueryClient } from 'react-query';
2
+ import { ShopifyConfig } from '../../types';
3
+ export declare type ShopifyProviderValue = ShopifyConfig;
4
+ export declare type ShopifyProviderProps = {
5
+ shopifyConfig: ShopifyConfig;
6
+ children?: React.ReactNode;
7
+ manager?: any;
8
+ };
9
+ export interface ReactQueryHydrationContext {
10
+ queryClient?: QueryClient;
11
+ dehydratedState?: any;
12
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,4 @@
1
+ export { ShopifyProvider, useShop, DEFAULT_API_VERSION } from './ShopifyProvider';
2
+ export { ShopifyServerProvider } from './ShopifyProvider/ShopifyServerProvider.server';
3
+ export { DefaultRoutes } from './Router';
4
+ export { ClientMarker } from './ClientMarker';
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClientMarker = exports.DefaultRoutes = exports.ShopifyServerProvider = exports.DEFAULT_API_VERSION = exports.useShop = exports.ShopifyProvider = void 0;
4
+ var ShopifyProvider_1 = require("./ShopifyProvider");
5
+ Object.defineProperty(exports, "ShopifyProvider", { enumerable: true, get: function () { return ShopifyProvider_1.ShopifyProvider; } });
6
+ Object.defineProperty(exports, "useShop", { enumerable: true, get: function () { return ShopifyProvider_1.useShop; } });
7
+ Object.defineProperty(exports, "DEFAULT_API_VERSION", { enumerable: true, get: function () { return ShopifyProvider_1.DEFAULT_API_VERSION; } });
8
+ var ShopifyServerProvider_server_1 = require("./ShopifyProvider/ShopifyServerProvider.server");
9
+ Object.defineProperty(exports, "ShopifyServerProvider", { enumerable: true, get: function () { return ShopifyServerProvider_server_1.ShopifyServerProvider; } });
10
+ var Router_1 = require("./Router");
11
+ Object.defineProperty(exports, "DefaultRoutes", { enumerable: true, get: function () { return Router_1.DefaultRoutes; } });
12
+ var ClientMarker_1 = require("./ClientMarker");
13
+ Object.defineProperty(exports, "ClientMarker", { enumerable: true, get: function () { return ClientMarker_1.ClientMarker; } });
@@ -0,0 +1 @@
1
+ export declare function graphiqlHtml(shop: string, token: string, apiVersion?: string): string;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.graphiqlHtml = void 0;
4
+ const foundation_1 = require("../foundation");
5
+ function graphiqlHtml(shop, token, apiVersion = foundation_1.DEFAULT_API_VERSION) {
6
+ return `<html>
7
+ <head>
8
+ <title>Shopify Storefront API</title>
9
+ <link href="https://unpkg.com/graphiql/graphiql.min.css" rel="stylesheet" />
10
+ </head>
11
+ <body style="margin: 0;">
12
+ <div id="graphiql" style="height: 100vh;"></div>
13
+ <script
14
+ crossorigin
15
+ src="https://unpkg.com/react/umd/react.production.min.js"
16
+ ></script>
17
+ <script
18
+ crossorigin
19
+ src="https://unpkg.com/react-dom/umd/react-dom.production.min.js"
20
+ ></script>
21
+ <script
22
+ crossorigin
23
+ src="https://unpkg.com/graphiql/graphiql.min.js"
24
+ ></script>
25
+ <script>
26
+ const fetcher = GraphiQL.createFetcher({
27
+ url: 'https://${shop}/api/${apiVersion}/graphql.json',
28
+ headers: {
29
+ Accept: 'application/json',
30
+ 'Content-Type': 'application/graphql',
31
+ 'X-Shopify-Storefront-Access-Token': '${token}'
32
+ }
33
+ });
34
+ ReactDOM.render(
35
+ React.createElement(GraphiQL, { fetcher: fetcher }),
36
+ document.getElementById('graphiql'),
37
+ );
38
+ </script>
39
+ </body>
40
+ </html>
41
+ `;
42
+ }
43
+ exports.graphiqlHtml = graphiqlHtml;
@@ -0,0 +1,17 @@
1
+ import { IncomingMessage, NextFunction } from 'connect';
2
+ import http from 'http';
3
+ import { ViteDevServer } from 'vite';
4
+ import { ShopifyConfig } from '../types';
5
+ declare type HydrogenMiddlewareArgs = {
6
+ dev?: boolean;
7
+ shopifyConfig?: ShopifyConfig;
8
+ indexTemplate: string | ((url: string) => Promise<string>);
9
+ getServerEntrypoint: () => Record<string, any> | Promise<Record<string, any>>;
10
+ devServer?: ViteDevServer;
11
+ };
12
+ /**
13
+ * Provides middleware to Node.js Express-like servers. Used by the Hydrogen
14
+ * Vite dev server plugin as well as production Node.js implementation.
15
+ */
16
+ export default function hydrogenMiddleware({ dev, shopifyConfig, indexTemplate, getServerEntrypoint, devServer, }: HydrogenMiddlewareArgs): (request: IncomingMessage, response: http.ServerResponse, next: NextFunction) => Promise<void>;
17
+ export {};
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __importDefault = (this && this.__importDefault) || function (mod) {
22
+ return (mod && mod.__esModule) ? mod : { "default": mod };
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ const graphiql_1 = require("./graphiql");
26
+ const handle_event_1 = __importDefault(require("../handle-event"));
27
+ /**
28
+ * Provides middleware to Node.js Express-like servers. Used by the Hydrogen
29
+ * Vite dev server plugin as well as production Node.js implementation.
30
+ */
31
+ function hydrogenMiddleware({ dev, shopifyConfig, indexTemplate, getServerEntrypoint, devServer, }) {
32
+ return async function (request, response, next) {
33
+ const graphiqlRequest = dev && isGraphiqlRequest(request);
34
+ if (graphiqlRequest) {
35
+ return respondWithGraphiql(response, shopifyConfig);
36
+ }
37
+ const url = new URL('http://' + request.headers.host + request.originalUrl);
38
+ const isReactHydrationRequest = url.pathname === '/react';
39
+ /**
40
+ * If it's a dev environment, it's assumed that Vite's dev server is handling
41
+ * any static or JS requests, so we need to ensure that we don't try to handle them.
42
+ *
43
+ * If it's a product environment, it's assumed that the developer is handling
44
+ * static requests with e.g. static middleware.
45
+ */
46
+ if (dev && !shouldInterceptRequest(request, isReactHydrationRequest)) {
47
+ return next();
48
+ }
49
+ try {
50
+ /**
51
+ * We're running in the Node.js runtime without access to `fetch`,
52
+ * which is needed for proxy requests and server-side API requests.
53
+ */
54
+ if (!globalThis.fetch) {
55
+ const fetch = await Promise.resolve().then(() => __importStar(require('node-fetch')));
56
+ // @ts-ignore
57
+ globalThis.fetch = fetch.default;
58
+ // @ts-ignore
59
+ globalThis.Request = fetch.Request;
60
+ // @ts-ignore
61
+ globalThis.Response = fetch.Response;
62
+ // @ts-ignore
63
+ globalThis.Headers = fetch.Headers;
64
+ }
65
+ /**
66
+ * Dynamically import ServerComponentResponse after the `fetch`
67
+ * polyfill has loaded above.
68
+ */
69
+ const { ServerComponentRequest } = await Promise.resolve().then(() => __importStar(require('../foundation/Hydration/ServerComponentRequest.server')));
70
+ const eventResponse = await handle_event_1.default(
71
+ /**
72
+ * Mimic a `FetchEvent`
73
+ */
74
+ {}, {
75
+ request: new ServerComponentRequest(request),
76
+ entrypoint: await getServerEntrypoint(),
77
+ indexTemplate,
78
+ streamableResponse: response,
79
+ dev,
80
+ });
81
+ /**
82
+ * If a `Response` was returned, that means it was not streamed.
83
+ * Convert the response into a proper Node.js response.
84
+ */
85
+ if (eventResponse) {
86
+ eventResponse.headers.forEach((value, key) => {
87
+ response.setHeader(key, value);
88
+ });
89
+ response.statusCode = eventResponse.status;
90
+ response.end(eventResponse.body);
91
+ }
92
+ }
93
+ catch (e) {
94
+ if (dev && devServer)
95
+ devServer.ssrFixStacktrace(e);
96
+ console.log(e.stack);
97
+ response.statusCode = 500;
98
+ /**
99
+ * Attempt to print the error stack within the template.
100
+ * This allows the react-refresh plugin and other Vite runtime helpers
101
+ * to display the error and auto-refresh when the error is fixed, instead
102
+ * of a white screen that needs a manual refresh.
103
+ */
104
+ try {
105
+ const template = typeof indexTemplate === 'function'
106
+ ? await indexTemplate(url.toString())
107
+ : indexTemplate;
108
+ const html = template.replace(`<div id="root"></div>`, `<div id="root"><pre><code>${e.stack}</code></pre></div>`);
109
+ response.write(html);
110
+ next(e);
111
+ }
112
+ catch (_e) {
113
+ // If template loading is the culprit, give up and just return the error stack.
114
+ response.write(e.stack);
115
+ next(e);
116
+ }
117
+ }
118
+ };
119
+ }
120
+ exports.default = hydrogenMiddleware;
121
+ function shouldInterceptRequest(request, isReactHydrationRequest) {
122
+ var _a;
123
+ return ((((_a = request.headers['accept']) === null || _a === void 0 ? void 0 : _a.includes('text/html')) ||
124
+ isReactHydrationRequest) &&
125
+ request.method === 'GET' &&
126
+ request.url !== '/favicon.ico');
127
+ }
128
+ /**
129
+ * /graphiql and /___graphql are supported
130
+ */
131
+ function isGraphiqlRequest(request) {
132
+ return /^\/(?:_{3})?graphi?ql/.test(request.url || '');
133
+ }
134
+ async function respondWithGraphiql(response, shopifyConfig) {
135
+ if (!shopifyConfig) {
136
+ throw new Error("You must provide shopifyConfig to Hydrogen's Vite middleware");
137
+ }
138
+ const { storeDomain, storefrontToken, graphqlApiVersion } = shopifyConfig;
139
+ response.setHeader('Content-Type', 'text/html');
140
+ response.end(graphiql_1.graphiqlHtml(storeDomain, storefrontToken, graphqlApiVersion));
141
+ }
@@ -0,0 +1,3 @@
1
+ import { ShopifyConfig } from '../types';
2
+ declare const _default: (shopifyConfig: ShopifyConfig) => ("" | import("vite").Plugin | import("vite").PluginOption[] | undefined)[];
3
+ export default _default;
@@ -0,0 +1,19 @@
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 vite_plugin_hydrogen_config_1 = __importDefault(require("./plugins/vite-plugin-hydrogen-config"));
7
+ const vite_plugin_hydrogen_middleware_1 = __importDefault(require("./plugins/vite-plugin-hydrogen-middleware"));
8
+ const vite_plugin_react_server_components_shim_1 = __importDefault(require("./plugins/vite-plugin-react-server-components-shim"));
9
+ const vite_plugin_inspect_1 = __importDefault(require("vite-plugin-inspect"));
10
+ const plugin_react_1 = __importDefault(require("@vitejs/plugin-react"));
11
+ exports.default = (shopifyConfig) => {
12
+ return [
13
+ process.env.VITE_INSPECT && vite_plugin_inspect_1.default(),
14
+ vite_plugin_hydrogen_config_1.default(),
15
+ vite_plugin_hydrogen_middleware_1.default(shopifyConfig),
16
+ vite_plugin_react_server_components_shim_1.default(),
17
+ plugin_react_1.default(),
18
+ ];
19
+ };
@@ -0,0 +1,3 @@
1
+ import type { Plugin } from 'vite';
2
+ declare const _default: () => Plugin;
3
+ export default _default;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = () => {
4
+ return {
5
+ name: 'vite-plugin-hydrogen-config',
6
+ config: () => ({
7
+ resolve: {
8
+ alias: {
9
+ /**
10
+ * For some reason, when building in a worker, Vite always
11
+ * pulls the client version instead of the server version of these
12
+ * dependencies. We intentially force it to load the server versions.
13
+ */
14
+ 'html-dom-parser': process.env.WORKER
15
+ ? 'html-dom-parser/lib/server/html-to-dom'
16
+ : 'html-dom-parser',
17
+ },
18
+ },
19
+ build: {
20
+ sourcemap: true,
21
+ },
22
+ ssr: {
23
+ external: ['isomorphic-dompurify'],
24
+ /**
25
+ * Tell Vite to bundle everything when we're building for Workers.
26
+ */
27
+ noExternal: Boolean(process.env.WORKER),
28
+ target: process.env.WORKER ? 'webworker' : 'node',
29
+ },
30
+ optimizeDeps: {
31
+ /**
32
+ * Additionally, the following dependencies have trouble loading the
33
+ * correct version of the dependency (server vs client). This tells Vite to take the
34
+ * server versions and optimize them for ESM.
35
+ */
36
+ include: [
37
+ 'html-dom-parser',
38
+ 'html-react-parser',
39
+ 'focus-trap-react',
40
+ 'react-helmet-async',
41
+ ],
42
+ },
43
+ }),
44
+ };
45
+ };