@shopify/hydrogen-react 0.0.0-next-80c454e → 0.0.0-next-992334e

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 (545) hide show
  1. package/dist/{dev → browser-dev}/AddToCartButton.mjs +0 -0
  2. package/dist/{dev → browser-dev}/AddToCartButton.mjs.map +0 -0
  3. package/dist/{dev → browser-dev}/BaseButton.mjs +0 -0
  4. package/dist/{dev → browser-dev}/BaseButton.mjs.map +0 -0
  5. package/dist/{dev → browser-dev}/BuyNowButton.mjs +0 -0
  6. package/dist/{dev → browser-dev}/BuyNowButton.mjs.map +0 -0
  7. package/dist/{dev → browser-dev}/CartCheckoutButton.mjs +0 -0
  8. package/dist/{dev → browser-dev}/CartCheckoutButton.mjs.map +0 -0
  9. package/dist/{dev → browser-dev}/CartProvider.mjs +0 -0
  10. package/dist/{dev → browser-dev}/CartProvider.mjs.map +0 -0
  11. package/dist/{dev → browser-dev}/ExternalVideo.mjs +0 -0
  12. package/dist/{dev → browser-dev}/ExternalVideo.mjs.map +0 -0
  13. package/dist/{dev → browser-dev}/Image.mjs +0 -0
  14. package/dist/{dev → browser-dev}/Image.mjs.map +0 -0
  15. package/dist/{dev → browser-dev}/MediaFile.mjs +0 -0
  16. package/dist/{dev → browser-dev}/MediaFile.mjs.map +0 -0
  17. package/dist/{dev → browser-dev}/Metafield.mjs +0 -0
  18. package/dist/{dev → browser-dev}/Metafield.mjs.map +0 -0
  19. package/dist/{dev → browser-dev}/ModelViewer.mjs +0 -0
  20. package/dist/{dev → browser-dev}/ModelViewer.mjs.map +0 -0
  21. package/dist/{dev → browser-dev}/Money.mjs +0 -0
  22. package/dist/{dev → browser-dev}/Money.mjs.map +0 -0
  23. package/dist/{dev → browser-dev}/ProductPrice.mjs +0 -0
  24. package/dist/{dev → browser-dev}/ProductPrice.mjs.map +0 -0
  25. package/dist/{dev → browser-dev}/ProductProvider.mjs +0 -0
  26. package/dist/{dev → browser-dev}/ProductProvider.mjs.map +0 -0
  27. package/dist/{dev → browser-dev}/ShopPayButton.mjs +0 -0
  28. package/dist/{dev → browser-dev}/ShopPayButton.mjs.map +0 -0
  29. package/dist/{dev → browser-dev}/ShopifyProvider.mjs +0 -0
  30. package/dist/{dev → browser-dev}/ShopifyProvider.mjs.map +0 -0
  31. package/dist/{dev → browser-dev}/Video.mjs +0 -0
  32. package/dist/{dev → browser-dev}/Video.mjs.map +0 -0
  33. package/dist/{dev → browser-dev}/_virtual/index.mjs +0 -0
  34. package/dist/{dev → browser-dev}/_virtual/index.mjs.map +0 -0
  35. package/dist/{dev → browser-dev}/_virtual/use-sync-external-store-shim.development.mjs +0 -0
  36. package/dist/{dev → browser-dev}/_virtual/use-sync-external-store-shim.development.mjs.map +0 -0
  37. package/dist/{dev → browser-dev}/_virtual/use-sync-external-store-shim.production.min.mjs +0 -0
  38. package/dist/{dev → browser-dev}/_virtual/use-sync-external-store-shim.production.min.mjs.map +0 -0
  39. package/dist/{dev → browser-dev}/_virtual/with-selector.development.mjs +0 -0
  40. package/dist/{dev → browser-dev}/_virtual/with-selector.development.mjs.map +0 -0
  41. package/dist/{dev → browser-dev}/_virtual/with-selector.mjs +0 -0
  42. package/dist/{dev → browser-dev}/_virtual/with-selector.mjs.map +0 -0
  43. package/dist/{dev → browser-dev}/_virtual/with-selector.production.min.mjs +0 -0
  44. package/dist/{dev → browser-dev}/_virtual/with-selector.production.min.mjs.map +0 -0
  45. package/dist/{dev → browser-dev}/cart-constants.mjs +0 -0
  46. package/dist/{dev → browser-dev}/cart-constants.mjs.map +0 -0
  47. package/dist/{dev → browser-dev}/cart-hooks.mjs +0 -0
  48. package/dist/{dev → browser-dev}/cart-hooks.mjs.map +0 -0
  49. package/dist/{dev → browser-dev}/cart-queries.mjs +0 -0
  50. package/dist/{dev → browser-dev}/cart-queries.mjs.map +0 -0
  51. package/dist/{dev → browser-dev}/flatten-connection.mjs +0 -0
  52. package/dist/{dev → browser-dev}/flatten-connection.mjs.map +0 -0
  53. package/dist/{dev → browser-dev}/image-size.mjs +0 -0
  54. package/dist/{dev → browser-dev}/image-size.mjs.map +0 -0
  55. package/dist/{dev → browser-dev}/index.mjs +0 -0
  56. package/dist/{dev → browser-dev}/index.mjs.map +0 -0
  57. package/dist/{dev → browser-dev}/load-script.mjs +0 -0
  58. package/dist/{dev → browser-dev}/load-script.mjs.map +0 -0
  59. package/dist/{dev → browser-dev}/metafield-parser.mjs +0 -0
  60. package/dist/{dev → browser-dev}/metafield-parser.mjs.map +0 -0
  61. package/dist/{dev → browser-dev}/node_modules/@xstate/fsm/es/index.mjs +0 -0
  62. package/dist/{dev → browser-dev}/node_modules/@xstate/fsm/es/index.mjs.map +0 -0
  63. package/dist/{dev → browser-dev}/node_modules/@xstate/react/es/fsm.mjs +0 -0
  64. package/dist/{dev → browser-dev}/node_modules/@xstate/react/es/fsm.mjs.map +0 -0
  65. package/dist/{dev → browser-dev}/node_modules/@xstate/react/es/useConstant.mjs +0 -0
  66. package/dist/{dev → browser-dev}/node_modules/@xstate/react/es/useConstant.mjs.map +0 -0
  67. package/dist/{dev → browser-dev}/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.mjs +0 -0
  68. package/dist/{dev → browser-dev}/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.mjs.map +0 -0
  69. package/dist/{dev → browser-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs +0 -0
  70. package/dist/{dev → browser-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs.map +0 -0
  71. package/dist/{dev → browser-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs +0 -0
  72. package/dist/{dev → browser-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs.map +0 -0
  73. package/dist/{dev → browser-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs +0 -0
  74. package/dist/{dev → browser-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs.map +0 -0
  75. package/dist/{dev → browser-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs +0 -0
  76. package/dist/{dev → browser-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs.map +0 -0
  77. package/dist/{dev → browser-dev}/node_modules/use-sync-external-store/shim/index.mjs +0 -0
  78. package/dist/{dev → browser-dev}/node_modules/use-sync-external-store/shim/index.mjs.map +0 -0
  79. package/dist/{dev → browser-dev}/node_modules/use-sync-external-store/shim/with-selector.mjs +0 -0
  80. package/dist/{dev → browser-dev}/node_modules/use-sync-external-store/shim/with-selector.mjs.map +0 -0
  81. package/dist/{dev → browser-dev}/storefront-api-constants.mjs +0 -0
  82. package/dist/{dev → browser-dev}/storefront-api-constants.mjs.map +0 -0
  83. package/dist/{dev → browser-dev}/storefront-client.mjs +0 -0
  84. package/dist/{dev → browser-dev}/storefront-client.mjs.map +0 -0
  85. package/dist/{dev → browser-dev}/useCartAPIStateMachine.mjs +0 -0
  86. package/dist/{dev → browser-dev}/useCartAPIStateMachine.mjs.map +0 -0
  87. package/dist/{dev → browser-dev}/useCartActions.mjs +0 -0
  88. package/dist/{dev → browser-dev}/useCartActions.mjs.map +0 -0
  89. package/dist/{dev → browser-dev}/useMoney.mjs +0 -0
  90. package/dist/{dev → browser-dev}/useMoney.mjs.map +0 -0
  91. package/dist/{prod → browser-prod}/AddToCartButton.mjs +0 -0
  92. package/dist/{prod → browser-prod}/AddToCartButton.mjs.map +0 -0
  93. package/dist/{prod → browser-prod}/BaseButton.mjs +0 -0
  94. package/dist/{prod → browser-prod}/BaseButton.mjs.map +0 -0
  95. package/dist/{prod → browser-prod}/BuyNowButton.mjs +0 -0
  96. package/dist/{prod → browser-prod}/BuyNowButton.mjs.map +0 -0
  97. package/dist/{prod → browser-prod}/CartCheckoutButton.mjs +0 -0
  98. package/dist/{prod → browser-prod}/CartCheckoutButton.mjs.map +0 -0
  99. package/dist/{prod → browser-prod}/CartProvider.mjs +0 -0
  100. package/dist/{prod → browser-prod}/CartProvider.mjs.map +0 -0
  101. package/dist/{prod → browser-prod}/ExternalVideo.mjs +0 -0
  102. package/dist/{prod → browser-prod}/ExternalVideo.mjs.map +0 -0
  103. package/dist/{prod → browser-prod}/Image.mjs +0 -0
  104. package/dist/{prod → browser-prod}/Image.mjs.map +0 -0
  105. package/dist/{prod → browser-prod}/MediaFile.mjs +0 -0
  106. package/dist/{prod → browser-prod}/MediaFile.mjs.map +0 -0
  107. package/dist/{prod → browser-prod}/Metafield.mjs +0 -0
  108. package/dist/{prod → browser-prod}/Metafield.mjs.map +0 -0
  109. package/dist/{prod → browser-prod}/ModelViewer.mjs +0 -0
  110. package/dist/{prod → browser-prod}/ModelViewer.mjs.map +0 -0
  111. package/dist/{prod → browser-prod}/Money.mjs +0 -0
  112. package/dist/{prod → browser-prod}/Money.mjs.map +0 -0
  113. package/dist/{prod → browser-prod}/ProductPrice.mjs +0 -0
  114. package/dist/{prod → browser-prod}/ProductPrice.mjs.map +0 -0
  115. package/dist/{prod → browser-prod}/ProductProvider.mjs +0 -0
  116. package/dist/{prod → browser-prod}/ProductProvider.mjs.map +0 -0
  117. package/dist/{prod → browser-prod}/ShopPayButton.mjs +0 -0
  118. package/dist/{prod → browser-prod}/ShopPayButton.mjs.map +0 -0
  119. package/dist/{prod → browser-prod}/ShopifyProvider.mjs +0 -0
  120. package/dist/{prod → browser-prod}/ShopifyProvider.mjs.map +0 -0
  121. package/dist/{prod → browser-prod}/Video.mjs +0 -0
  122. package/dist/{prod → browser-prod}/Video.mjs.map +0 -0
  123. package/dist/{prod → browser-prod}/_virtual/index.mjs +0 -0
  124. package/dist/{prod → browser-prod}/_virtual/index.mjs.map +0 -0
  125. package/dist/{prod → browser-prod}/_virtual/use-sync-external-store-shim.development.mjs +0 -0
  126. package/dist/{prod → browser-prod}/_virtual/use-sync-external-store-shim.development.mjs.map +0 -0
  127. package/dist/{prod → browser-prod}/_virtual/use-sync-external-store-shim.production.min.mjs +0 -0
  128. package/dist/{prod → browser-prod}/_virtual/use-sync-external-store-shim.production.min.mjs.map +0 -0
  129. package/dist/{prod → browser-prod}/_virtual/with-selector.development.mjs +0 -0
  130. package/dist/{prod → browser-prod}/_virtual/with-selector.development.mjs.map +0 -0
  131. package/dist/{prod → browser-prod}/_virtual/with-selector.mjs +0 -0
  132. package/dist/{prod → browser-prod}/_virtual/with-selector.mjs.map +0 -0
  133. package/dist/{prod → browser-prod}/_virtual/with-selector.production.min.mjs +0 -0
  134. package/dist/{prod → browser-prod}/_virtual/with-selector.production.min.mjs.map +0 -0
  135. package/dist/{prod → browser-prod}/cart-constants.mjs +0 -0
  136. package/dist/{prod → browser-prod}/cart-constants.mjs.map +0 -0
  137. package/dist/{prod → browser-prod}/cart-hooks.mjs +0 -0
  138. package/dist/{prod → browser-prod}/cart-hooks.mjs.map +0 -0
  139. package/dist/{prod → browser-prod}/cart-queries.mjs +0 -0
  140. package/dist/{prod → browser-prod}/cart-queries.mjs.map +0 -0
  141. package/dist/{prod → browser-prod}/flatten-connection.mjs +0 -0
  142. package/dist/{prod → browser-prod}/flatten-connection.mjs.map +0 -0
  143. package/dist/{prod → browser-prod}/image-size.mjs +0 -0
  144. package/dist/{prod → browser-prod}/image-size.mjs.map +0 -0
  145. package/dist/{prod → browser-prod}/index.mjs +0 -0
  146. package/dist/{prod → browser-prod}/index.mjs.map +0 -0
  147. package/dist/{prod → browser-prod}/load-script.mjs +0 -0
  148. package/dist/{prod → browser-prod}/load-script.mjs.map +0 -0
  149. package/dist/{prod → browser-prod}/metafield-parser.mjs +0 -0
  150. package/dist/{prod → browser-prod}/metafield-parser.mjs.map +0 -0
  151. package/dist/{prod → browser-prod}/node_modules/@xstate/fsm/es/index.mjs +0 -0
  152. package/dist/{prod → browser-prod}/node_modules/@xstate/fsm/es/index.mjs.map +0 -0
  153. package/dist/{prod → browser-prod}/node_modules/@xstate/react/es/fsm.mjs +0 -0
  154. package/dist/{prod → browser-prod}/node_modules/@xstate/react/es/fsm.mjs.map +0 -0
  155. package/dist/{prod → browser-prod}/node_modules/@xstate/react/es/useConstant.mjs +0 -0
  156. package/dist/{prod → browser-prod}/node_modules/@xstate/react/es/useConstant.mjs.map +0 -0
  157. package/dist/{prod → browser-prod}/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.mjs +0 -0
  158. package/dist/{prod → browser-prod}/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.mjs.map +0 -0
  159. package/dist/{prod → browser-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs +0 -0
  160. package/dist/{prod → browser-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs.map +0 -0
  161. package/dist/{prod → browser-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs +0 -0
  162. package/dist/{prod → browser-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs.map +0 -0
  163. package/dist/{prod → browser-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs +0 -0
  164. package/dist/{prod → browser-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs.map +0 -0
  165. package/dist/{prod → browser-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs +0 -0
  166. package/dist/{prod → browser-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs.map +0 -0
  167. package/dist/{prod → browser-prod}/node_modules/use-sync-external-store/shim/index.mjs +0 -0
  168. package/dist/{prod → browser-prod}/node_modules/use-sync-external-store/shim/index.mjs.map +0 -0
  169. package/dist/{prod → browser-prod}/node_modules/use-sync-external-store/shim/with-selector.mjs +0 -0
  170. package/dist/{prod → browser-prod}/node_modules/use-sync-external-store/shim/with-selector.mjs.map +0 -0
  171. package/dist/{prod → browser-prod}/storefront-api-constants.mjs +0 -0
  172. package/dist/{prod → browser-prod}/storefront-api-constants.mjs.map +0 -0
  173. package/dist/{prod → browser-prod}/storefront-client.mjs +0 -0
  174. package/dist/{prod → browser-prod}/storefront-client.mjs.map +0 -0
  175. package/dist/{prod → browser-prod}/useCartAPIStateMachine.mjs +0 -0
  176. package/dist/{prod → browser-prod}/useCartAPIStateMachine.mjs.map +0 -0
  177. package/dist/{prod → browser-prod}/useCartActions.mjs +0 -0
  178. package/dist/{prod → browser-prod}/useCartActions.mjs.map +0 -0
  179. package/dist/{prod → browser-prod}/useMoney.mjs +0 -0
  180. package/dist/{prod → browser-prod}/useMoney.mjs.map +0 -0
  181. package/dist/{dev → node-dev}/AddToCartButton.js +0 -0
  182. package/dist/{dev → node-dev}/AddToCartButton.js.map +0 -0
  183. package/dist/node-dev/AddToCartButton.mjs +70 -0
  184. package/dist/node-dev/AddToCartButton.mjs.map +1 -0
  185. package/dist/{dev → node-dev}/BaseButton.js +0 -0
  186. package/dist/{dev → node-dev}/BaseButton.js.map +0 -0
  187. package/dist/node-dev/BaseButton.mjs +31 -0
  188. package/dist/node-dev/BaseButton.mjs.map +1 -0
  189. package/dist/{dev → node-dev}/BuyNowButton.js +0 -0
  190. package/dist/{dev → node-dev}/BuyNowButton.js.map +0 -0
  191. package/dist/node-dev/BuyNowButton.mjs +45 -0
  192. package/dist/node-dev/BuyNowButton.mjs.map +1 -0
  193. package/dist/{dev → node-dev}/CartCheckoutButton.js +0 -0
  194. package/dist/{dev → node-dev}/CartCheckoutButton.js.map +0 -0
  195. package/dist/node-dev/CartCheckoutButton.mjs +30 -0
  196. package/dist/node-dev/CartCheckoutButton.mjs.map +1 -0
  197. package/dist/{dev → node-dev}/CartProvider.js +0 -0
  198. package/dist/{dev → node-dev}/CartProvider.js.map +0 -0
  199. package/dist/node-dev/CartProvider.mjs +485 -0
  200. package/dist/node-dev/CartProvider.mjs.map +1 -0
  201. package/dist/{dev → node-dev}/ExternalVideo.js +0 -0
  202. package/dist/{dev → node-dev}/ExternalVideo.js.map +0 -0
  203. package/dist/node-dev/ExternalVideo.mjs +39 -0
  204. package/dist/node-dev/ExternalVideo.mjs.map +1 -0
  205. package/dist/{dev → node-dev}/Image.js +0 -0
  206. package/dist/{dev → node-dev}/Image.js.map +0 -0
  207. package/dist/node-dev/Image.mjs +104 -0
  208. package/dist/node-dev/Image.mjs.map +1 -0
  209. package/dist/{dev → node-dev}/MediaFile.js +0 -0
  210. package/dist/{dev → node-dev}/MediaFile.js.map +0 -0
  211. package/dist/node-dev/MediaFile.mjs +57 -0
  212. package/dist/node-dev/MediaFile.mjs.map +1 -0
  213. package/dist/{dev → node-dev}/Metafield.js +0 -0
  214. package/dist/{dev → node-dev}/Metafield.js.map +0 -0
  215. package/dist/node-dev/Metafield.mjs +301 -0
  216. package/dist/node-dev/Metafield.mjs.map +1 -0
  217. package/dist/{dev → node-dev}/ModelViewer.js +0 -0
  218. package/dist/{dev → node-dev}/ModelViewer.js.map +0 -0
  219. package/dist/node-dev/ModelViewer.mjs +145 -0
  220. package/dist/node-dev/ModelViewer.mjs.map +1 -0
  221. package/dist/{dev → node-dev}/Money.js +0 -0
  222. package/dist/{dev → node-dev}/Money.js.map +0 -0
  223. package/dist/node-dev/Money.mjs +40 -0
  224. package/dist/node-dev/Money.mjs.map +1 -0
  225. package/dist/{dev → node-dev}/ProductPrice.js +0 -0
  226. package/dist/{dev → node-dev}/ProductPrice.js.map +0 -0
  227. package/dist/node-dev/ProductPrice.mjs +61 -0
  228. package/dist/node-dev/ProductPrice.mjs.map +1 -0
  229. package/dist/{dev → node-dev}/ProductProvider.js +0 -0
  230. package/dist/{dev → node-dev}/ProductProvider.js.map +0 -0
  231. package/dist/node-dev/ProductProvider.mjs +161 -0
  232. package/dist/node-dev/ProductProvider.mjs.map +1 -0
  233. package/dist/{dev → node-dev}/ShopPayButton.js +0 -0
  234. package/dist/{dev → node-dev}/ShopPayButton.js.map +0 -0
  235. package/dist/node-dev/ShopPayButton.mjs +64 -0
  236. package/dist/node-dev/ShopPayButton.mjs.map +1 -0
  237. package/dist/{dev → node-dev}/ShopifyProvider.js +0 -0
  238. package/dist/{dev → node-dev}/ShopifyProvider.js.map +0 -0
  239. package/dist/node-dev/ShopifyProvider.mjs +46 -0
  240. package/dist/node-dev/ShopifyProvider.mjs.map +1 -0
  241. package/dist/{dev → node-dev}/Video.js +0 -0
  242. package/dist/{dev → node-dev}/Video.js.map +0 -0
  243. package/dist/node-dev/Video.mjs +44 -0
  244. package/dist/node-dev/Video.mjs.map +1 -0
  245. package/dist/{dev → node-dev}/_virtual/index.js +0 -0
  246. package/dist/{dev → node-dev}/_virtual/index.js.map +0 -0
  247. package/dist/node-dev/_virtual/index.mjs +5 -0
  248. package/dist/node-dev/_virtual/index.mjs.map +1 -0
  249. package/dist/{dev → node-dev}/_virtual/use-sync-external-store-shim.development.js +0 -0
  250. package/dist/{dev → node-dev}/_virtual/use-sync-external-store-shim.development.js.map +0 -0
  251. package/dist/node-dev/_virtual/use-sync-external-store-shim.development.mjs +5 -0
  252. package/dist/node-dev/_virtual/use-sync-external-store-shim.development.mjs.map +1 -0
  253. package/dist/{dev → node-dev}/_virtual/use-sync-external-store-shim.production.min.js +0 -0
  254. package/dist/{dev → node-dev}/_virtual/use-sync-external-store-shim.production.min.js.map +0 -0
  255. package/dist/node-dev/_virtual/use-sync-external-store-shim.production.min.mjs +5 -0
  256. package/dist/node-dev/_virtual/use-sync-external-store-shim.production.min.mjs.map +1 -0
  257. package/dist/{dev → node-dev}/_virtual/with-selector.development.js +0 -0
  258. package/dist/{dev → node-dev}/_virtual/with-selector.development.js.map +0 -0
  259. package/dist/node-dev/_virtual/with-selector.development.mjs +5 -0
  260. package/dist/node-dev/_virtual/with-selector.development.mjs.map +1 -0
  261. package/dist/{dev → node-dev}/_virtual/with-selector.js +0 -0
  262. package/dist/{dev → node-dev}/_virtual/with-selector.js.map +0 -0
  263. package/dist/node-dev/_virtual/with-selector.mjs +5 -0
  264. package/dist/node-dev/_virtual/with-selector.mjs.map +1 -0
  265. package/dist/{dev → node-dev}/_virtual/with-selector.production.min.js +0 -0
  266. package/dist/{dev → node-dev}/_virtual/with-selector.production.min.js.map +0 -0
  267. package/dist/node-dev/_virtual/with-selector.production.min.mjs +5 -0
  268. package/dist/node-dev/_virtual/with-selector.production.min.mjs.map +1 -0
  269. package/dist/{dev → node-dev}/cart-constants.js +0 -0
  270. package/dist/{dev → node-dev}/cart-constants.js.map +0 -0
  271. package/dist/node-dev/cart-constants.mjs +17 -0
  272. package/dist/node-dev/cart-constants.mjs.map +1 -0
  273. package/dist/{dev → node-dev}/cart-hooks.js +0 -0
  274. package/dist/{dev → node-dev}/cart-hooks.js.map +0 -0
  275. package/dist/node-dev/cart-hooks.mjs +48 -0
  276. package/dist/node-dev/cart-hooks.mjs.map +1 -0
  277. package/dist/{dev → node-dev}/cart-queries.js +0 -0
  278. package/dist/{dev → node-dev}/cart-queries.js.map +0 -0
  279. package/dist/node-dev/cart-queries.mjs +114 -0
  280. package/dist/node-dev/cart-queries.mjs.map +1 -0
  281. package/dist/{dev → node-dev}/flatten-connection.js +0 -0
  282. package/dist/{dev → node-dev}/flatten-connection.js.map +0 -0
  283. package/dist/node-dev/flatten-connection.mjs +29 -0
  284. package/dist/node-dev/flatten-connection.mjs.map +1 -0
  285. package/dist/{dev → node-dev}/image-size.js +0 -0
  286. package/dist/{dev → node-dev}/image-size.js.map +0 -0
  287. package/dist/node-dev/image-size.mjs +80 -0
  288. package/dist/node-dev/image-size.mjs.map +1 -0
  289. package/dist/{dev → node-dev}/index.js +0 -0
  290. package/dist/{dev → node-dev}/index.js.map +0 -0
  291. package/dist/node-dev/index.mjs +46 -0
  292. package/dist/node-dev/index.mjs.map +1 -0
  293. package/dist/{dev → node-dev}/load-script.js +0 -0
  294. package/dist/{dev → node-dev}/load-script.js.map +0 -0
  295. package/dist/node-dev/load-script.mjs +52 -0
  296. package/dist/node-dev/load-script.mjs.map +1 -0
  297. package/dist/{dev → node-dev}/metafield-parser.js +0 -0
  298. package/dist/{dev → node-dev}/metafield-parser.js.map +0 -0
  299. package/dist/node-dev/metafield-parser.mjs +103 -0
  300. package/dist/node-dev/metafield-parser.mjs.map +1 -0
  301. package/dist/{dev → node-dev}/node_modules/@xstate/fsm/es/index.js +0 -0
  302. package/dist/{dev → node-dev}/node_modules/@xstate/fsm/es/index.js.map +0 -0
  303. package/dist/node-dev/node_modules/@xstate/fsm/es/index.mjs +159 -0
  304. package/dist/node-dev/node_modules/@xstate/fsm/es/index.mjs.map +1 -0
  305. package/dist/{dev → node-dev}/node_modules/@xstate/react/es/fsm.js +2 -2
  306. package/dist/{dev → node-dev}/node_modules/@xstate/react/es/fsm.js.map +1 -1
  307. package/dist/node-dev/node_modules/@xstate/react/es/fsm.mjs +94 -0
  308. package/dist/node-dev/node_modules/@xstate/react/es/fsm.mjs.map +1 -0
  309. package/dist/{dev → node-dev}/node_modules/@xstate/react/es/useConstant.js +0 -0
  310. package/dist/{dev → node-dev}/node_modules/@xstate/react/es/useConstant.js.map +0 -0
  311. package/dist/node-dev/node_modules/@xstate/react/es/useConstant.mjs +12 -0
  312. package/dist/node-dev/node_modules/@xstate/react/es/useConstant.mjs.map +1 -0
  313. package/dist/node-dev/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.esm.js +5 -0
  314. package/dist/node-dev/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.esm.js.map +1 -0
  315. package/dist/node-dev/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.esm.mjs +6 -0
  316. package/dist/node-dev/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.esm.mjs.map +1 -0
  317. package/dist/{dev → node-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js +0 -0
  318. package/dist/{dev → node-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js.map +0 -0
  319. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs +105 -0
  320. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs.map +1 -0
  321. package/dist/{dev → node-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js +0 -0
  322. package/dist/{dev → node-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js.map +0 -0
  323. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs +72 -0
  324. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs.map +1 -0
  325. package/dist/{dev → node-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +0 -0
  326. package/dist/{dev → node-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js.map +0 -0
  327. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs +136 -0
  328. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs.map +1 -0
  329. package/dist/{dev → node-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js +0 -0
  330. package/dist/{dev → node-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js.map +0 -0
  331. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs +58 -0
  332. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs.map +1 -0
  333. package/dist/{dev → node-dev}/node_modules/use-sync-external-store/shim/index.js +0 -0
  334. package/dist/{dev → node-dev}/node_modules/use-sync-external-store/shim/index.js.map +0 -0
  335. package/dist/node-dev/node_modules/use-sync-external-store/shim/index.mjs +21 -0
  336. package/dist/node-dev/node_modules/use-sync-external-store/shim/index.mjs.map +1 -0
  337. package/dist/{dev → node-dev}/node_modules/use-sync-external-store/shim/with-selector.js +0 -0
  338. package/dist/{dev → node-dev}/node_modules/use-sync-external-store/shim/with-selector.js.map +0 -0
  339. package/dist/node-dev/node_modules/use-sync-external-store/shim/with-selector.mjs +11 -0
  340. package/dist/node-dev/node_modules/use-sync-external-store/shim/with-selector.mjs.map +1 -0
  341. package/dist/{dev → node-dev}/storefront-api-constants.js +0 -0
  342. package/dist/{dev → node-dev}/storefront-api-constants.js.map +0 -0
  343. package/dist/node-dev/storefront-api-constants.mjs +5 -0
  344. package/dist/node-dev/storefront-api-constants.mjs.map +1 -0
  345. package/dist/{dev → node-dev}/storefront-client.js +0 -0
  346. package/dist/{dev → node-dev}/storefront-client.js.map +0 -0
  347. package/dist/node-dev/storefront-client.mjs +72 -0
  348. package/dist/node-dev/storefront-client.mjs.map +1 -0
  349. package/dist/{dev → node-dev}/useCartAPIStateMachine.js +0 -0
  350. package/dist/{dev → node-dev}/useCartAPIStateMachine.js.map +0 -0
  351. package/dist/node-dev/useCartAPIStateMachine.mjs +326 -0
  352. package/dist/node-dev/useCartAPIStateMachine.mjs.map +1 -0
  353. package/dist/{dev → node-dev}/useCartActions.js +0 -0
  354. package/dist/{dev → node-dev}/useCartActions.js.map +0 -0
  355. package/dist/node-dev/useCartActions.mjs +123 -0
  356. package/dist/node-dev/useCartActions.mjs.map +1 -0
  357. package/dist/{dev → node-dev}/useMoney.js +0 -0
  358. package/dist/{dev → node-dev}/useMoney.js.map +0 -0
  359. package/dist/node-dev/useMoney.mjs +72 -0
  360. package/dist/node-dev/useMoney.mjs.map +1 -0
  361. package/dist/{prod → node-prod}/AddToCartButton.js +0 -0
  362. package/dist/{prod → node-prod}/AddToCartButton.js.map +0 -0
  363. package/dist/node-prod/AddToCartButton.mjs +70 -0
  364. package/dist/node-prod/AddToCartButton.mjs.map +1 -0
  365. package/dist/{prod → node-prod}/BaseButton.js +0 -0
  366. package/dist/{prod → node-prod}/BaseButton.js.map +0 -0
  367. package/dist/node-prod/BaseButton.mjs +31 -0
  368. package/dist/node-prod/BaseButton.mjs.map +1 -0
  369. package/dist/{prod → node-prod}/BuyNowButton.js +0 -0
  370. package/dist/{prod → node-prod}/BuyNowButton.js.map +0 -0
  371. package/dist/node-prod/BuyNowButton.mjs +45 -0
  372. package/dist/node-prod/BuyNowButton.mjs.map +1 -0
  373. package/dist/{prod → node-prod}/CartCheckoutButton.js +0 -0
  374. package/dist/{prod → node-prod}/CartCheckoutButton.js.map +0 -0
  375. package/dist/node-prod/CartCheckoutButton.mjs +30 -0
  376. package/dist/node-prod/CartCheckoutButton.mjs.map +1 -0
  377. package/dist/{prod → node-prod}/CartProvider.js +0 -0
  378. package/dist/{prod → node-prod}/CartProvider.js.map +0 -0
  379. package/dist/node-prod/CartProvider.mjs +485 -0
  380. package/dist/node-prod/CartProvider.mjs.map +1 -0
  381. package/dist/{prod → node-prod}/ExternalVideo.js +0 -0
  382. package/dist/{prod → node-prod}/ExternalVideo.js.map +0 -0
  383. package/dist/node-prod/ExternalVideo.mjs +39 -0
  384. package/dist/node-prod/ExternalVideo.mjs.map +1 -0
  385. package/dist/{prod → node-prod}/Image.js +0 -0
  386. package/dist/{prod → node-prod}/Image.js.map +0 -0
  387. package/dist/node-prod/Image.mjs +99 -0
  388. package/dist/node-prod/Image.mjs.map +1 -0
  389. package/dist/{prod → node-prod}/MediaFile.js +0 -0
  390. package/dist/{prod → node-prod}/MediaFile.js.map +0 -0
  391. package/dist/node-prod/MediaFile.mjs +59 -0
  392. package/dist/node-prod/MediaFile.mjs.map +1 -0
  393. package/dist/{prod → node-prod}/Metafield.js +0 -0
  394. package/dist/{prod → node-prod}/Metafield.js.map +0 -0
  395. package/dist/node-prod/Metafield.mjs +288 -0
  396. package/dist/node-prod/Metafield.mjs.map +1 -0
  397. package/dist/{prod → node-prod}/ModelViewer.js +0 -0
  398. package/dist/{prod → node-prod}/ModelViewer.js.map +0 -0
  399. package/dist/node-prod/ModelViewer.mjs +143 -0
  400. package/dist/node-prod/ModelViewer.mjs.map +1 -0
  401. package/dist/{prod → node-prod}/Money.js +0 -0
  402. package/dist/{prod → node-prod}/Money.js.map +0 -0
  403. package/dist/node-prod/Money.mjs +40 -0
  404. package/dist/node-prod/Money.mjs.map +1 -0
  405. package/dist/{prod → node-prod}/ProductPrice.js +0 -0
  406. package/dist/{prod → node-prod}/ProductPrice.js.map +0 -0
  407. package/dist/node-prod/ProductPrice.mjs +61 -0
  408. package/dist/node-prod/ProductPrice.mjs.map +1 -0
  409. package/dist/{prod → node-prod}/ProductProvider.js +0 -0
  410. package/dist/{prod → node-prod}/ProductProvider.js.map +0 -0
  411. package/dist/node-prod/ProductProvider.mjs +161 -0
  412. package/dist/node-prod/ProductProvider.mjs.map +1 -0
  413. package/dist/{prod → node-prod}/ShopPayButton.js +0 -0
  414. package/dist/{prod → node-prod}/ShopPayButton.js.map +0 -0
  415. package/dist/node-prod/ShopPayButton.mjs +64 -0
  416. package/dist/node-prod/ShopPayButton.mjs.map +1 -0
  417. package/dist/{prod → node-prod}/ShopifyProvider.js +0 -0
  418. package/dist/{prod → node-prod}/ShopifyProvider.js.map +0 -0
  419. package/dist/node-prod/ShopifyProvider.mjs +46 -0
  420. package/dist/node-prod/ShopifyProvider.mjs.map +1 -0
  421. package/dist/{prod → node-prod}/Video.js +0 -0
  422. package/dist/{prod → node-prod}/Video.js.map +0 -0
  423. package/dist/node-prod/Video.mjs +44 -0
  424. package/dist/node-prod/Video.mjs.map +1 -0
  425. package/dist/{prod → node-prod}/_virtual/index.js +0 -0
  426. package/dist/{prod → node-prod}/_virtual/index.js.map +0 -0
  427. package/dist/node-prod/_virtual/index.mjs +5 -0
  428. package/dist/node-prod/_virtual/index.mjs.map +1 -0
  429. package/dist/{prod → node-prod}/_virtual/use-sync-external-store-shim.development.js +0 -0
  430. package/dist/{prod → node-prod}/_virtual/use-sync-external-store-shim.development.js.map +0 -0
  431. package/dist/node-prod/_virtual/use-sync-external-store-shim.development.mjs +5 -0
  432. package/dist/node-prod/_virtual/use-sync-external-store-shim.development.mjs.map +1 -0
  433. package/dist/{prod → node-prod}/_virtual/use-sync-external-store-shim.production.min.js +0 -0
  434. package/dist/{prod → node-prod}/_virtual/use-sync-external-store-shim.production.min.js.map +0 -0
  435. package/dist/node-prod/_virtual/use-sync-external-store-shim.production.min.mjs +5 -0
  436. package/dist/node-prod/_virtual/use-sync-external-store-shim.production.min.mjs.map +1 -0
  437. package/dist/{prod → node-prod}/_virtual/with-selector.development.js +0 -0
  438. package/dist/{prod → node-prod}/_virtual/with-selector.development.js.map +0 -0
  439. package/dist/node-prod/_virtual/with-selector.development.mjs +5 -0
  440. package/dist/node-prod/_virtual/with-selector.development.mjs.map +1 -0
  441. package/dist/{prod → node-prod}/_virtual/with-selector.js +0 -0
  442. package/dist/{prod → node-prod}/_virtual/with-selector.js.map +0 -0
  443. package/dist/node-prod/_virtual/with-selector.mjs +5 -0
  444. package/dist/node-prod/_virtual/with-selector.mjs.map +1 -0
  445. package/dist/{prod → node-prod}/_virtual/with-selector.production.min.js +0 -0
  446. package/dist/{prod → node-prod}/_virtual/with-selector.production.min.js.map +0 -0
  447. package/dist/node-prod/_virtual/with-selector.production.min.mjs +5 -0
  448. package/dist/node-prod/_virtual/with-selector.production.min.mjs.map +1 -0
  449. package/dist/{prod → node-prod}/cart-constants.js +0 -0
  450. package/dist/{prod → node-prod}/cart-constants.js.map +0 -0
  451. package/dist/node-prod/cart-constants.mjs +17 -0
  452. package/dist/node-prod/cart-constants.mjs.map +1 -0
  453. package/dist/{prod → node-prod}/cart-hooks.js +0 -0
  454. package/dist/{prod → node-prod}/cart-hooks.js.map +0 -0
  455. package/dist/node-prod/cart-hooks.mjs +48 -0
  456. package/dist/node-prod/cart-hooks.mjs.map +1 -0
  457. package/dist/{prod → node-prod}/cart-queries.js +0 -0
  458. package/dist/{prod → node-prod}/cart-queries.js.map +0 -0
  459. package/dist/node-prod/cart-queries.mjs +114 -0
  460. package/dist/node-prod/cart-queries.mjs.map +1 -0
  461. package/dist/{prod → node-prod}/flatten-connection.js +0 -0
  462. package/dist/{prod → node-prod}/flatten-connection.js.map +0 -0
  463. package/dist/node-prod/flatten-connection.mjs +25 -0
  464. package/dist/node-prod/flatten-connection.mjs.map +1 -0
  465. package/dist/{prod → node-prod}/image-size.js +0 -0
  466. package/dist/{prod → node-prod}/image-size.js.map +0 -0
  467. package/dist/node-prod/image-size.mjs +80 -0
  468. package/dist/node-prod/image-size.mjs.map +1 -0
  469. package/dist/{prod → node-prod}/index.js +0 -0
  470. package/dist/{prod → node-prod}/index.js.map +0 -0
  471. package/dist/node-prod/index.mjs +46 -0
  472. package/dist/node-prod/index.mjs.map +1 -0
  473. package/dist/{prod → node-prod}/load-script.js +0 -0
  474. package/dist/{prod → node-prod}/load-script.js.map +0 -0
  475. package/dist/node-prod/load-script.mjs +52 -0
  476. package/dist/node-prod/load-script.mjs.map +1 -0
  477. package/dist/{prod → node-prod}/metafield-parser.js +0 -0
  478. package/dist/{prod → node-prod}/metafield-parser.js.map +0 -0
  479. package/dist/node-prod/metafield-parser.mjs +114 -0
  480. package/dist/node-prod/metafield-parser.mjs.map +1 -0
  481. package/dist/{prod → node-prod}/node_modules/@xstate/fsm/es/index.js +0 -0
  482. package/dist/{prod → node-prod}/node_modules/@xstate/fsm/es/index.js.map +0 -0
  483. package/dist/node-prod/node_modules/@xstate/fsm/es/index.mjs +159 -0
  484. package/dist/node-prod/node_modules/@xstate/fsm/es/index.mjs.map +1 -0
  485. package/dist/{prod → node-prod}/node_modules/@xstate/react/es/fsm.js +2 -2
  486. package/dist/{prod → node-prod}/node_modules/@xstate/react/es/fsm.js.map +1 -1
  487. package/dist/node-prod/node_modules/@xstate/react/es/fsm.mjs +94 -0
  488. package/dist/node-prod/node_modules/@xstate/react/es/fsm.mjs.map +1 -0
  489. package/dist/{prod → node-prod}/node_modules/@xstate/react/es/useConstant.js +0 -0
  490. package/dist/{prod → node-prod}/node_modules/@xstate/react/es/useConstant.js.map +0 -0
  491. package/dist/node-prod/node_modules/@xstate/react/es/useConstant.mjs +12 -0
  492. package/dist/node-prod/node_modules/@xstate/react/es/useConstant.mjs.map +1 -0
  493. package/dist/node-prod/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.esm.js +5 -0
  494. package/dist/node-prod/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.esm.js.map +1 -0
  495. package/dist/node-prod/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.esm.mjs +6 -0
  496. package/dist/node-prod/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.esm.mjs.map +1 -0
  497. package/dist/{prod → node-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js +0 -0
  498. package/dist/{prod → node-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js.map +0 -0
  499. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs +105 -0
  500. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs.map +1 -0
  501. package/dist/{prod → node-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js +0 -0
  502. package/dist/{prod → node-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js.map +0 -0
  503. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs +72 -0
  504. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs.map +1 -0
  505. package/dist/{prod → node-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +0 -0
  506. package/dist/{prod → node-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js.map +0 -0
  507. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs +136 -0
  508. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs.map +1 -0
  509. package/dist/{prod → node-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js +0 -0
  510. package/dist/{prod → node-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js.map +0 -0
  511. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs +58 -0
  512. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs.map +1 -0
  513. package/dist/{prod → node-prod}/node_modules/use-sync-external-store/shim/index.js +0 -0
  514. package/dist/{prod → node-prod}/node_modules/use-sync-external-store/shim/index.js.map +0 -0
  515. package/dist/node-prod/node_modules/use-sync-external-store/shim/index.mjs +21 -0
  516. package/dist/node-prod/node_modules/use-sync-external-store/shim/index.mjs.map +1 -0
  517. package/dist/{prod → node-prod}/node_modules/use-sync-external-store/shim/with-selector.js +0 -0
  518. package/dist/{prod → node-prod}/node_modules/use-sync-external-store/shim/with-selector.js.map +0 -0
  519. package/dist/node-prod/node_modules/use-sync-external-store/shim/with-selector.mjs +11 -0
  520. package/dist/node-prod/node_modules/use-sync-external-store/shim/with-selector.mjs.map +1 -0
  521. package/dist/{prod → node-prod}/storefront-api-constants.js +0 -0
  522. package/dist/{prod → node-prod}/storefront-api-constants.js.map +0 -0
  523. package/dist/node-prod/storefront-api-constants.mjs +5 -0
  524. package/dist/node-prod/storefront-api-constants.mjs.map +1 -0
  525. package/dist/{prod → node-prod}/storefront-client.js +0 -0
  526. package/dist/{prod → node-prod}/storefront-client.js.map +0 -0
  527. package/dist/node-prod/storefront-client.mjs +57 -0
  528. package/dist/node-prod/storefront-client.mjs.map +1 -0
  529. package/dist/{prod → node-prod}/useCartAPIStateMachine.js +0 -0
  530. package/dist/{prod → node-prod}/useCartAPIStateMachine.js.map +0 -0
  531. package/dist/node-prod/useCartAPIStateMachine.mjs +326 -0
  532. package/dist/node-prod/useCartAPIStateMachine.mjs.map +1 -0
  533. package/dist/{prod → node-prod}/useCartActions.js +0 -0
  534. package/dist/{prod → node-prod}/useCartActions.js.map +0 -0
  535. package/dist/node-prod/useCartActions.mjs +123 -0
  536. package/dist/node-prod/useCartActions.mjs.map +1 -0
  537. package/dist/{prod → node-prod}/useMoney.js +0 -0
  538. package/dist/{prod → node-prod}/useMoney.js.map +0 -0
  539. package/dist/node-prod/useMoney.mjs +72 -0
  540. package/dist/node-prod/useMoney.mjs.map +1 -0
  541. package/package.json +34 -19
  542. package/dist/dev/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js +0 -5
  543. package/dist/dev/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js.map +0 -1
  544. package/dist/prod/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js +0 -5
  545. package/dist/prod/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js.map +0 -1
@@ -0,0 +1,46 @@
1
+ import { createContext, useMemo, useContext } from "react";
2
+ import { SFAPI_VERSION } from "./storefront-api-constants.mjs";
3
+ import { jsx } from "react/jsx-runtime";
4
+ const ShopifyContext = createContext({
5
+ storeDomain: "test.myshopify.com",
6
+ storefrontToken: "abc123",
7
+ storefrontApiVersion: SFAPI_VERSION,
8
+ country: {
9
+ isoCode: "US"
10
+ },
11
+ language: {
12
+ isoCode: "EN"
13
+ },
14
+ locale: "EN-US"
15
+ });
16
+ function ShopifyProvider({
17
+ children,
18
+ shopifyConfig
19
+ }) {
20
+ if (!shopifyConfig) {
21
+ throw new Error(`The 'shopifyConfig' prop must be passed to '<ShopifyProvider/>'`);
22
+ }
23
+ if (shopifyConfig.storefrontApiVersion !== SFAPI_VERSION) {
24
+ console.warn(`This version of Hydrogen-UI is built for Shopify's Storefront API version ${SFAPI_VERSION}, but it looks like you're using version ${shopifyConfig.storefrontApiVersion}. There may be issues or bugs if you use a mismatched version of Hydrogen-UI and the Storefront API.`);
25
+ }
26
+ const finalConfig = useMemo(() => ({
27
+ ...shopifyConfig,
28
+ storeDomain: shopifyConfig.storeDomain.replace(/^https?:\/\//, "")
29
+ }), [shopifyConfig]);
30
+ return /* @__PURE__ */ jsx(ShopifyContext.Provider, {
31
+ value: finalConfig,
32
+ children
33
+ });
34
+ }
35
+ function useShop() {
36
+ const shopContext = useContext(ShopifyContext);
37
+ if (!shopContext) {
38
+ throw new Error(`'useShop()' must be a descendent of <ShopifyProvider/>`);
39
+ }
40
+ return shopContext;
41
+ }
42
+ export {
43
+ ShopifyProvider,
44
+ useShop
45
+ };
46
+ //# sourceMappingURL=ShopifyProvider.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShopifyProvider.mjs","sources":["../../src/ShopifyProvider.tsx"],"sourcesContent":["import {createContext, useContext, useMemo, type ReactNode} from 'react';\nimport type {LanguageCode, CountryCode, Shop} from './storefront-api-types.js';\nimport {SFAPI_VERSION} from './storefront-api-constants.js';\n\nconst ShopifyContext = createContext<ShopifyContextValue>({\n storeDomain: 'test.myshopify.com',\n storefrontToken: 'abc123',\n storefrontApiVersion: SFAPI_VERSION,\n country: {\n isoCode: 'US',\n },\n language: {\n isoCode: 'EN',\n },\n locale: 'EN-US',\n});\n\n/**\n * The `<ShopifyProvider/>` component enables use of the `useShop()` hook. The component should wrap your app.\n */\nexport function ShopifyProvider({\n children,\n shopifyConfig,\n}: {\n children: ReactNode;\n shopifyConfig: ShopifyContextValue;\n}) {\n if (!shopifyConfig) {\n throw new Error(\n `The 'shopifyConfig' prop must be passed to '<ShopifyProvider/>'`\n );\n }\n\n if (shopifyConfig.storefrontApiVersion !== SFAPI_VERSION) {\n console.warn(\n `This version of Hydrogen-UI is built for Shopify's Storefront API version ${SFAPI_VERSION}, but it looks like you're using version ${shopifyConfig.storefrontApiVersion}. There may be issues or bugs if you use a mismatched version of Hydrogen-UI and the Storefront API.`\n );\n }\n\n const finalConfig = useMemo<ShopifyContextValue>(\n () => ({\n ...shopifyConfig,\n storeDomain: shopifyConfig.storeDomain.replace(/^https?:\\/\\//, ''),\n }),\n [shopifyConfig]\n );\n\n return (\n <ShopifyContext.Provider value={finalConfig}>\n {children}\n </ShopifyContext.Provider>\n );\n}\n\n/**\n * Provides access to the `shopifyConfig` prop of `<ShopifyProvider/>`. Must be a descendent of `<ShopifyProvider/>`.\n */\nexport function useShop() {\n const shopContext = useContext(ShopifyContext);\n if (!shopContext) {\n throw new Error(`'useShop()' must be a descendent of <ShopifyProvider/>`);\n }\n return shopContext;\n}\n\n/**\n * Shopify-specific values that are used in various Hydrogen-UI components and hooks.\n */\nexport type ShopifyContextValue = {\n /** The globally-unique identifier for the Shop */\n storefrontId?: string;\n /** The host name of the domain (eg: `{shop}.myshopify.com`). If a URL with a scheme (for example `https://`) is passed in, then the scheme is removed. */\n storeDomain: Shop['primaryDomain']['host'];\n /** The Storefront API public access token. Refer to the [authentication](https://shopify.dev/api/storefront#authentication) documentation for more details. */\n storefrontToken: string;\n /** The Storefront API version. This should almost always be the same as the version Hydrogen-UI was built for. Learn more about Shopify [API versioning](https://shopify.dev/api/usage/versioning) for more details. */\n storefrontApiVersion: string;\n country?: {\n /**\n * The code designating a country, which generally follows ISO 3166-1 alpha-2 guidelines. If a territory doesn't have a country code value in the `CountryCode` enum, it might be considered a subdivision of another country. For example, the territories associated with Spain are represented by the country code `ES`, and the territories associated with the United States of America are represented by the country code `US`.\n */\n isoCode: CountryCode;\n };\n language?: {\n /**\n * `ISO 369` language codes supported by Shopify.\n */\n isoCode: LanguageCode;\n };\n /**\n * The locale string based on `country` and `language`.\n */\n locale?: string;\n};\n"],"names":["ShopifyContext","createContext","storeDomain","storefrontToken","storefrontApiVersion","SFAPI_VERSION","country","isoCode","language","locale","ShopifyProvider","children","shopifyConfig","Error","console","warn","finalConfig","useMemo","replace","_jsx","useShop","shopContext","useContext"],"mappings":";;;AAIA,MAAMA,iBAAiBC,cAAmC;AAAA,EACxDC,aAAa;AAAA,EACbC,iBAAiB;AAAA,EACjBC,sBAAsBC;AAAAA,EACtBC,SAAS;AAAA,IACPC,SAAS;AAAA,EADF;AAAA,EAGTC,UAAU;AAAA,IACRD,SAAS;AAAA,EADD;AAAA,EAGVE,QAAQ;AAVgD,CAAtB;AAgB7B,SAASC,gBAAgB;AAAA,EAC9BC;AAAAA,EACAC;AAF8B,GAM7B;AACD,MAAI,CAACA,eAAe;AACZ,UAAA,IAAIC,MACP,iEADG;AAAA,EAGP;AAEGD,MAAAA,cAAcR,yBAAyBC,eAAe;AACxDS,YAAQC,KACL,6EAA4EV,yDAAyDO,cAAcR,0HADtJ;AAAA,EAGD;AAEKY,QAAAA,cAAcC,QAClB,OAAO;AAAA,IACL,GAAGL;AAAAA,IACHV,aAAaU,cAAcV,YAAYgB,QAAQ,gBAAgB,EAAlD;AAAA,EAAA,IAEf,CAACN,aAAD,CALyB;AASzB,SAAAO,oBAAC,eAAe,UAAhB;AAAA,IAAyB,OAAOH;AAAAA,IAAhC;AAAA,EAAA,CADF;AAKD;AAKM,SAASI,UAAU;AAClBC,QAAAA,cAAcC,WAAWtB,cAAD;AAC9B,MAAI,CAACqB,aAAa;AACV,UAAA,IAAIR,MAAO,wDAAX;AAAA,EACP;AACMQ,SAAAA;AACR;"}
File without changes
File without changes
@@ -0,0 +1,44 @@
1
+ import { shopifyImageLoader } from "./image-size.mjs";
2
+ import { createElement } from "react";
3
+ import { jsx } from "react/jsx-runtime";
4
+ function Video(props) {
5
+ var _a, _b;
6
+ const {
7
+ data,
8
+ previewImageOptions,
9
+ id = data.id,
10
+ playsInline = true,
11
+ controls = true,
12
+ sourceProps = {},
13
+ ...passthroughProps
14
+ } = props;
15
+ const posterUrl = shopifyImageLoader({
16
+ src: (_b = (_a = data.previewImage) == null ? void 0 : _a.url) != null ? _b : "",
17
+ ...previewImageOptions
18
+ });
19
+ if (!data.sources) {
20
+ throw new Error(`<Video/> requires a 'data.sources' array`);
21
+ }
22
+ return /* @__PURE__ */ jsx("video", {
23
+ ...passthroughProps,
24
+ id,
25
+ playsInline,
26
+ controls,
27
+ poster: posterUrl,
28
+ children: data.sources.map((source) => {
29
+ if (!((source == null ? void 0 : source.url) && (source == null ? void 0 : source.mimeType))) {
30
+ throw new Error(`<Video/> needs 'source.url' and 'source.mimeType'`);
31
+ }
32
+ return /* @__PURE__ */ createElement("source", {
33
+ ...sourceProps,
34
+ key: source.url,
35
+ src: source.url,
36
+ type: source.mimeType
37
+ });
38
+ })
39
+ });
40
+ }
41
+ export {
42
+ Video
43
+ };
44
+ //# sourceMappingURL=Video.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Video.mjs","sources":["../../src/Video.tsx"],"sourcesContent":["import {type HTMLAttributes} from 'react';\nimport {shopifyImageLoader} from './image-size.js';\nimport type {Video as VideoType} from './storefront-api-types.js';\nimport type {PartialDeep} from 'type-fest';\n\nexport interface VideoProps {\n /** An object with fields that correspond to the Storefront API's [Video object](https://shopify.dev/api/storefront/latest/objects/video). */\n data: PartialDeep<VideoType, {recurseIntoArrays: true}>;\n /** An object of image size options for the video's `previewImage`. Uses `shopifyImageLoader` to generate the `poster` URL. */\n previewImageOptions?: Parameters<typeof shopifyImageLoader>[0];\n /** Props that will be passed to the `video` element's `source` children elements. */\n sourceProps?: HTMLAttributes<HTMLSourceElement> & {\n 'data-testid'?: string;\n };\n}\n\n/**\n * The `Video` component renders a `video` for the Storefront API's [Video object](https://shopify.dev/api/storefront/reference/products/video).\n */\nexport function Video(props: JSX.IntrinsicElements['video'] & VideoProps) {\n const {\n data,\n previewImageOptions,\n id = data.id,\n playsInline = true,\n controls = true,\n sourceProps = {},\n ...passthroughProps\n } = props;\n\n const posterUrl = shopifyImageLoader({\n src: data.previewImage?.url ?? '',\n ...previewImageOptions,\n });\n\n if (!data.sources) {\n throw new Error(`<Video/> requires a 'data.sources' array`);\n }\n\n return (\n // eslint-disable-next-line jsx-a11y/media-has-caption\n <video\n {...passthroughProps}\n id={id}\n playsInline={playsInline}\n controls={controls}\n poster={posterUrl}\n >\n {data.sources.map((source) => {\n if (!(source?.url && source?.mimeType)) {\n throw new Error(`<Video/> needs 'source.url' and 'source.mimeType'`);\n }\n return (\n <source\n {...sourceProps}\n key={source.url}\n src={source.url}\n type={source.mimeType}\n />\n );\n })}\n </video>\n );\n}\n"],"names":["Video","props","data","previewImageOptions","id","playsInline","controls","sourceProps","passthroughProps","posterUrl","shopifyImageLoader","src","previewImage","url","sources","Error","map","source","mimeType"],"mappings":";;;AAmBO,SAASA,MAAMC,OAAoD;;AAClE,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC,KAAKF,KAAKE;AAAAA,IACVC,cAAc;AAAA,IACdC,WAAW;AAAA,IACXC,cAAc,CANV;AAAA,OAODC;AAAAA,EACDP,IAAAA;AAEJ,QAAMQ,YAAYC,mBAAmB;AAAA,IACnCC,MAAKT,gBAAKU,iBAALV,mBAAmBW,QAAnBX,YAA0B;AAAA,IAC/B,GAAGC;AAAAA,EAAAA,CAF+B;AAKhC,MAAA,CAACD,KAAKY,SAAS;AACX,UAAA,IAAIC,MAAO,0CAAX;AAAA,EACP;AAED,6BAEE,SAAA;AAAA,IAAA,GACMP;AAAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQC;AAAAA,IALV,UAOGP,KAAKY,QAAQE,IAAKC,CAAW,WAAA;AAC5B,UAAI,GAAEA,iCAAQJ,SAAOI,iCAAQC,YAAW;AAChC,cAAA,IAAIH,MAAO,mDAAX;AAAA,MACP;AACD;WAEQR;AAAAA,QACJ,KAAKU,OAAOJ;AAAAA,QACZ,KAAKI,OAAOJ;AAAAA,QACZ,MAAMI,OAAOC;AAAAA,MAAAA,CALjB;AAAA,IAAA,CAJD;AAAA,EAAA,CAPH;AAsBH;"}
File without changes
File without changes
@@ -0,0 +1,5 @@
1
+ var shim = { exports: {} };
2
+ export {
3
+ shim as s
4
+ };
5
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,5 @@
1
+ var useSyncExternalStoreShim_development = {};
2
+ export {
3
+ useSyncExternalStoreShim_development as __exports
4
+ };
5
+ //# sourceMappingURL=use-sync-external-store-shim.development.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-sync-external-store-shim.development.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,5 @@
1
+ var useSyncExternalStoreShim_production_min = {};
2
+ export {
3
+ useSyncExternalStoreShim_production_min as __exports
4
+ };
5
+ //# sourceMappingURL=use-sync-external-store-shim.production.min.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-sync-external-store-shim.production.min.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,5 @@
1
+ var withSelector_development = {};
2
+ export {
3
+ withSelector_development as __exports
4
+ };
5
+ //# sourceMappingURL=with-selector.development.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with-selector.development.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
File without changes
@@ -0,0 +1,5 @@
1
+ var withSelector = { exports: {} };
2
+ export {
3
+ withSelector as w
4
+ };
5
+ //# sourceMappingURL=with-selector.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with-selector.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,5 @@
1
+ var withSelector_production_min = {};
2
+ export {
3
+ withSelector_production_min as __exports
4
+ };
5
+ //# sourceMappingURL=with-selector.production.min.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with-selector.production.min.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
File without changes
File without changes
@@ -0,0 +1,17 @@
1
+ const CART_ID_STORAGE_KEY = "shopifyCartId";
2
+ const STOREFRONT_API_PUBLIC_TOKEN_HEADER = "X-Shopify-Storefront-Access-Token";
3
+ const SHOPIFY_STOREFRONT_ID_HEADER = "Shopify-Storefront-Id";
4
+ const SHOPIFY_STOREFRONT_Y_HEADER = "Shopify-Storefront-Y";
5
+ const SHOPIFY_STOREFRONT_S_HEADER = "Shopify-Storefront-S";
6
+ const SHOPIFY_Y = "_shopify_y";
7
+ const SHOPIFY_S = "_shopify_s";
8
+ export {
9
+ CART_ID_STORAGE_KEY,
10
+ SHOPIFY_S,
11
+ SHOPIFY_STOREFRONT_ID_HEADER,
12
+ SHOPIFY_STOREFRONT_S_HEADER,
13
+ SHOPIFY_STOREFRONT_Y_HEADER,
14
+ SHOPIFY_Y,
15
+ STOREFRONT_API_PUBLIC_TOKEN_HEADER
16
+ };
17
+ //# sourceMappingURL=cart-constants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cart-constants.mjs","sources":["../../src/cart-constants.ts"],"sourcesContent":["export const CART_ID_STORAGE_KEY = 'shopifyCartId';\nexport const CART_COOKIE_TTL_DAYS = 14;\n\n// Needed for cart analytics within Shopify\nexport const STOREFRONT_API_PUBLIC_TOKEN_HEADER =\n 'X-Shopify-Storefront-Access-Token';\nexport const SHOPIFY_STOREFRONT_ID_HEADER = 'Shopify-Storefront-Id';\nexport const SHOPIFY_STOREFRONT_Y_HEADER = 'Shopify-Storefront-Y';\nexport const SHOPIFY_STOREFRONT_S_HEADER = 'Shopify-Storefront-S';\nexport const SHOPIFY_Y = '_shopify_y';\nexport const SHOPIFY_S = '_shopify_s';\n"],"names":[],"mappings":"AAAO,MAAM,sBAAsB;AAI5B,MAAM,qCACX;AACK,MAAM,+BAA+B;AACrC,MAAM,8BAA8B;AACpC,MAAM,8BAA8B;AACpC,MAAM,YAAY;AAClB,MAAM,YAAY;"}
File without changes
File without changes
@@ -0,0 +1,48 @@
1
+ import { useCallback } from "react";
2
+ import { useShop } from "./ShopifyProvider.mjs";
3
+ import { SHOPIFY_Y, SHOPIFY_S, STOREFRONT_API_PUBLIC_TOKEN_HEADER, SHOPIFY_STOREFRONT_ID_HEADER, SHOPIFY_STOREFRONT_Y_HEADER, SHOPIFY_STOREFRONT_S_HEADER } from "./cart-constants.mjs";
4
+ import { parse } from "worktop/cookie";
5
+ function useCartFetch() {
6
+ const {
7
+ storeDomain,
8
+ storefrontApiVersion,
9
+ storefrontToken,
10
+ storefrontId
11
+ } = useShop();
12
+ return useCallback(({
13
+ query,
14
+ variables
15
+ }) => {
16
+ const headers = {
17
+ "Content-Type": "application/json",
18
+ "X-SDK-Variant": "hydrogen",
19
+ "X-SDK-Version": storefrontApiVersion,
20
+ [STOREFRONT_API_PUBLIC_TOKEN_HEADER]: storefrontToken
21
+ };
22
+ if (storefrontId) {
23
+ headers[SHOPIFY_STOREFRONT_ID_HEADER] = storefrontId;
24
+ }
25
+ const cookieData = parse(document.cookie);
26
+ if (cookieData[SHOPIFY_Y] && cookieData[SHOPIFY_S]) {
27
+ headers[SHOPIFY_STOREFRONT_Y_HEADER] = cookieData[SHOPIFY_Y];
28
+ headers[SHOPIFY_STOREFRONT_S_HEADER] = cookieData[SHOPIFY_S];
29
+ }
30
+ return fetch(`https://${storeDomain}/api/${storefrontApiVersion}/graphql.json`, {
31
+ method: "POST",
32
+ headers,
33
+ body: JSON.stringify({
34
+ query: query.toString(),
35
+ variables
36
+ })
37
+ }).then((res) => res.json()).catch((error) => {
38
+ return {
39
+ data: void 0,
40
+ errors: error.toString()
41
+ };
42
+ });
43
+ }, [storeDomain, storefrontApiVersion, storefrontToken, storefrontId]);
44
+ }
45
+ export {
46
+ useCartFetch
47
+ };
48
+ //# sourceMappingURL=cart-hooks.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cart-hooks.mjs","sources":["../../src/cart-hooks.tsx"],"sourcesContent":["import {useState, useCallback} from 'react';\nimport {useShop} from './ShopifyProvider.js';\nimport {flattenConnection} from './flatten-connection.js';\nimport {CartInput, Cart as CartType} from './storefront-api-types.js';\nimport {CartCreate, defaultCartFragment} from './cart-queries.js';\nimport {Cart} from './cart-types.js';\nimport {\n SHOPIFY_STOREFRONT_ID_HEADER,\n STOREFRONT_API_PUBLIC_TOKEN_HEADER,\n SHOPIFY_STOREFRONT_Y_HEADER,\n SHOPIFY_STOREFRONT_S_HEADER,\n SHOPIFY_Y,\n SHOPIFY_S,\n} from './cart-constants.js';\nimport {parse} from 'worktop/cookie';\nimport type {StorefrontApiResponseOkPartial} from './storefront-api-response.types.js';\n\nexport function useCartFetch() {\n const {storeDomain, storefrontApiVersion, storefrontToken, storefrontId} =\n useShop();\n\n return useCallback(\n <ReturnDataGeneric,>({\n query,\n variables,\n }: {\n query: string;\n variables: Record<string, unknown>;\n }): Promise<StorefrontApiResponseOkPartial<ReturnDataGeneric>> => {\n const headers: Record<string, string> = {\n 'Content-Type': 'application/json',\n 'X-SDK-Variant': 'hydrogen',\n 'X-SDK-Version': storefrontApiVersion,\n [STOREFRONT_API_PUBLIC_TOKEN_HEADER]: storefrontToken,\n };\n\n if (storefrontId) {\n headers[SHOPIFY_STOREFRONT_ID_HEADER] = storefrontId;\n }\n\n // Find Shopify cookies\n const cookieData = parse(document.cookie);\n if (cookieData[SHOPIFY_Y] && cookieData[SHOPIFY_S]) {\n headers[SHOPIFY_STOREFRONT_Y_HEADER] = cookieData[SHOPIFY_Y];\n headers[SHOPIFY_STOREFRONT_S_HEADER] = cookieData[SHOPIFY_S];\n }\n\n return fetch(\n `https://${storeDomain}/api/${storefrontApiVersion}/graphql.json`,\n {\n method: 'POST',\n headers,\n body: JSON.stringify({\n query: query.toString(),\n variables,\n }),\n }\n )\n .then((res) => res.json())\n .catch((error) => {\n return {\n data: undefined,\n errors: error.toString(),\n };\n });\n },\n [storeDomain, storefrontApiVersion, storefrontToken, storefrontId]\n );\n}\n\nexport function useInstantCheckout() {\n const [cart, updateCart] = useState<Cart | undefined>();\n const [checkoutUrl, updateCheckoutUrl] = useState<Cart['checkoutUrl']>();\n const [error, updateError] = useState<string | undefined>();\n\n const fetch = useCartFetch();\n\n const createInstantCheckout = useCallback(\n async (cartInput: CartInput) => {\n const {data, errors} = await fetch<{\n cartCreate: {cart: CartType};\n }>({\n query: CartCreate(defaultCartFragment),\n variables: {\n input: cartInput,\n },\n });\n\n if (errors) {\n updateError(errors.toString());\n updateCart(undefined);\n updateCheckoutUrl(undefined);\n }\n\n if (data?.cartCreate?.cart) {\n const dataCart = data.cartCreate.cart;\n updateCart({\n ...dataCart,\n lines: flattenConnection(dataCart.lines),\n note: dataCart.note ?? undefined,\n });\n updateCheckoutUrl(dataCart.checkoutUrl);\n }\n },\n [fetch]\n );\n\n return {cart, checkoutUrl, error, createInstantCheckout};\n}\n"],"names":["useCartFetch","storeDomain","storefrontApiVersion","storefrontToken","storefrontId","useShop","useCallback","query","variables","headers","STOREFRONT_API_PUBLIC_TOKEN_HEADER","SHOPIFY_STOREFRONT_ID_HEADER","cookieData","parse","document","cookie","SHOPIFY_Y","SHOPIFY_S","SHOPIFY_STOREFRONT_Y_HEADER","SHOPIFY_STOREFRONT_S_HEADER","fetch","method","body","JSON","stringify","toString","then","res","json","catch","error","data","undefined","errors"],"mappings":";;;;AAiBO,SAASA,eAAe;AACvB,QAAA;AAAA,IAACC;AAAAA,IAAaC;AAAAA,IAAsBC;AAAAA,IAAiBC;AAAAA,MACzDC,QADF;AAGA,SAAOC,YACL,CAAqB;AAAA,IACnBC;AAAAA,IACAC;AAAAA,EAAAA,MAIgE;AAChE,UAAMC,UAAkC;AAAA,MACtC,gBAAgB;AAAA,MAChB,iBAAiB;AAAA,MACjB,iBAAiBP;AAAAA,MACjB,CAACQ,qCAAqCP;AAAAA,IAAAA;AAGxC,QAAIC,cAAc;AAChBK,cAAQE,gCAAgCP;AAAAA,IACzC;AAGKQ,UAAAA,aAAaC,MAAMC,SAASC,MAAV;AACpBH,QAAAA,WAAWI,cAAcJ,WAAWK,YAAY;AAClDR,cAAQS,+BAA+BN,WAAWI;AAClDP,cAAQU,+BAA+BP,WAAWK;AAAAA,IACnD;AAEMG,WAAAA,MACJ,WAAUnB,mBAAmBC,qCAC9B;AAAA,MACEmB,QAAQ;AAAA,MACRZ;AAAAA,MACAa,MAAMC,KAAKC,UAAU;AAAA,QACnBjB,OAAOA,MAAMkB,SADM;AAAA,QAEnBjB;AAAAA,MAAAA,CAFI;AAAA,IAAA,CALE,EAWTkB,KAAMC,CAAAA,QAAQA,IAAIC,MAXd,EAYJC,MAAOC,CAAU,UAAA;AACT,aAAA;AAAA,QACLC,MAAMC;AAAAA,QACNC,QAAQH,MAAML,SAAN;AAAA,MAAA;AAAA,IAFH,CAbJ;AAAA,KAmBT,CAACxB,aAAaC,sBAAsBC,iBAAiBC,YAArD,CA7CgB;AA+CnB;"}
File without changes
File without changes
@@ -0,0 +1,114 @@
1
+ const CartLineAdd = (cartFragment) => `
2
+ mutation CartLineAdd($cartId: ID!, $lines: [CartLineInput!]!, $numCartLines: Int = 250, $country: CountryCode = ZZ) @inContext(country: $country) {
3
+ cartLinesAdd(cartId: $cartId, lines: $lines) {
4
+ cart {
5
+ ...CartFragment
6
+ }
7
+ }
8
+ }
9
+
10
+ ${cartFragment}
11
+ `;
12
+ const CartCreate = (cartFragment) => `
13
+ mutation CartCreate($input: CartInput!, $numCartLines: Int = 250, $country: CountryCode = ZZ) @inContext(country: $country) {
14
+ cartCreate(input: $input) {
15
+ cart {
16
+ ...CartFragment
17
+ }
18
+ }
19
+ }
20
+
21
+ ${cartFragment}
22
+ `;
23
+ const CartLineRemove = (cartFragment) => `
24
+ mutation CartLineRemove($cartId: ID!, $lines: [ID!]!, $numCartLines: Int = 250, $country: CountryCode = ZZ) @inContext(country: $country) {
25
+ cartLinesRemove(cartId: $cartId, lineIds: $lines) {
26
+ cart {
27
+ ...CartFragment
28
+ }
29
+ }
30
+ }
31
+
32
+ ${cartFragment}
33
+ `;
34
+ const CartLineUpdate = (cartFragment) => `
35
+ mutation CartLineUpdate($cartId: ID!, $lines: [CartLineUpdateInput!]!, $numCartLines: Int = 250, $country: CountryCode = ZZ) @inContext(country: $country) {
36
+ cartLinesUpdate(cartId: $cartId, lines: $lines) {
37
+ cart {
38
+ ...CartFragment
39
+ }
40
+ }
41
+ }
42
+
43
+ ${cartFragment}
44
+ `;
45
+ const CartNoteUpdate = (cartFragment) => `
46
+ mutation CartNoteUpdate($cartId: ID!, $note: String, $numCartLines: Int = 250, $country: CountryCode = ZZ) @inContext(country: $country) {
47
+ cartNoteUpdate(cartId: $cartId, note: $note) {
48
+ cart {
49
+ ...CartFragment
50
+ }
51
+ }
52
+ }
53
+
54
+ ${cartFragment}
55
+ `;
56
+ const CartBuyerIdentityUpdate = (cartFragment) => `
57
+ mutation CartBuyerIdentityUpdate(
58
+ $cartId: ID!
59
+ $buyerIdentity: CartBuyerIdentityInput!
60
+ $numCartLines: Int = 250
61
+ $country: CountryCode = ZZ
62
+ ) @inContext(country: $country) {
63
+ cartBuyerIdentityUpdate(cartId: $cartId, buyerIdentity: $buyerIdentity) {
64
+ cart {
65
+ ...CartFragment
66
+ }
67
+ }
68
+ }
69
+
70
+ ${cartFragment}
71
+ `;
72
+ const CartAttributesUpdate = (cartFragment) => `
73
+ mutation CartAttributesUpdate($attributes: [AttributeInput!]!, $cartId: ID!, $numCartLines: Int = 250, $country: CountryCode = ZZ) @inContext(country: $country) {
74
+ cartAttributesUpdate(attributes: $attributes, cartId: $cartId) {
75
+ cart {
76
+ ...CartFragment
77
+ }
78
+ }
79
+ }
80
+
81
+ ${cartFragment}
82
+ `;
83
+ const CartDiscountCodesUpdate = (cartFragment) => `
84
+ mutation CartDiscountCodesUpdate($cartId: ID!, $discountCodes: [String!], $numCartLines: Int = 250, $country: CountryCode = ZZ) @inContext(country: $country) {
85
+ cartDiscountCodesUpdate(cartId: $cartId, discountCodes: $discountCodes) {
86
+ cart {
87
+ ...CartFragment
88
+ }
89
+ }
90
+ }
91
+
92
+ ${cartFragment}
93
+ `;
94
+ const CartQuery = (cartFragment) => `
95
+ query CartQuery($id: ID!, $numCartLines: Int = 250, $country: CountryCode = ZZ) @inContext(country: $country) {
96
+ cart(id: $id) {
97
+ ...CartFragment
98
+ }
99
+ }
100
+
101
+ ${cartFragment}
102
+ `;
103
+ export {
104
+ CartAttributesUpdate,
105
+ CartBuyerIdentityUpdate,
106
+ CartCreate,
107
+ CartDiscountCodesUpdate,
108
+ CartLineAdd,
109
+ CartLineRemove,
110
+ CartLineUpdate,
111
+ CartNoteUpdate,
112
+ CartQuery
113
+ };
114
+ //# sourceMappingURL=cart-queries.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cart-queries.mjs","sources":["../../src/cart-queries.ts"],"sourcesContent":["export const CartLineAdd = (cartFragment: string) => `\nmutation CartLineAdd($cartId: ID!, $lines: [CartLineInput!]!, $numCartLines: Int = 250, $country: CountryCode = ZZ) @inContext(country: $country) {\n cartLinesAdd(cartId: $cartId, lines: $lines) {\n cart {\n ...CartFragment\n }\n }\n}\n\n${cartFragment}\n`;\n\nexport const CartCreate = (cartFragment: string) => `\nmutation CartCreate($input: CartInput!, $numCartLines: Int = 250, $country: CountryCode = ZZ) @inContext(country: $country) {\n cartCreate(input: $input) {\n cart {\n ...CartFragment\n }\n }\n}\n\n${cartFragment}\n`;\n\nexport const CartLineRemove = (cartFragment: string) => `\nmutation CartLineRemove($cartId: ID!, $lines: [ID!]!, $numCartLines: Int = 250, $country: CountryCode = ZZ) @inContext(country: $country) {\n cartLinesRemove(cartId: $cartId, lineIds: $lines) {\n cart {\n ...CartFragment\n }\n }\n}\n\n${cartFragment}\n`;\n\nexport const CartLineUpdate = (cartFragment: string) => `\nmutation CartLineUpdate($cartId: ID!, $lines: [CartLineUpdateInput!]!, $numCartLines: Int = 250, $country: CountryCode = ZZ) @inContext(country: $country) {\n cartLinesUpdate(cartId: $cartId, lines: $lines) {\n cart {\n ...CartFragment\n }\n }\n}\n\n${cartFragment}\n`;\n\nexport const CartNoteUpdate = (cartFragment: string) => `\nmutation CartNoteUpdate($cartId: ID!, $note: String, $numCartLines: Int = 250, $country: CountryCode = ZZ) @inContext(country: $country) {\n cartNoteUpdate(cartId: $cartId, note: $note) {\n cart {\n ...CartFragment\n }\n }\n}\n\n${cartFragment}\n`;\n\nexport const CartBuyerIdentityUpdate = (cartFragment: string) => `\nmutation CartBuyerIdentityUpdate(\n $cartId: ID!\n $buyerIdentity: CartBuyerIdentityInput!\n $numCartLines: Int = 250\n $country: CountryCode = ZZ\n) @inContext(country: $country) {\n cartBuyerIdentityUpdate(cartId: $cartId, buyerIdentity: $buyerIdentity) {\n cart {\n ...CartFragment\n }\n }\n}\n\n${cartFragment}\n`;\n\nexport const CartAttributesUpdate = (cartFragment: string) => `\nmutation CartAttributesUpdate($attributes: [AttributeInput!]!, $cartId: ID!, $numCartLines: Int = 250, $country: CountryCode = ZZ) @inContext(country: $country) {\n cartAttributesUpdate(attributes: $attributes, cartId: $cartId) {\n cart {\n ...CartFragment\n }\n }\n}\n\n${cartFragment}\n`;\n\nexport const CartDiscountCodesUpdate = (cartFragment: string) => `\nmutation CartDiscountCodesUpdate($cartId: ID!, $discountCodes: [String!], $numCartLines: Int = 250, $country: CountryCode = ZZ) @inContext(country: $country) {\n cartDiscountCodesUpdate(cartId: $cartId, discountCodes: $discountCodes) {\n cart {\n ...CartFragment\n }\n }\n}\n\n${cartFragment}\n`;\n\nexport const CartQuery = (cartFragment: string) => `\nquery CartQuery($id: ID!, $numCartLines: Int = 250, $country: CountryCode = ZZ) @inContext(country: $country) {\n cart(id: $id) {\n ...CartFragment\n }\n}\n\n${cartFragment}\n`;\n\nexport const defaultCartFragment = `\nfragment CartFragment on Cart {\n id\n checkoutUrl\n totalQuantity\n buyerIdentity {\n countryCode\n customer {\n id\n email\n firstName\n lastName\n displayName\n }\n email\n phone\n }\n lines(first: $numCartLines) {\n edges {\n node {\n id\n quantity\n attributes {\n key\n value\n }\n cost {\n totalAmount {\n amount\n currencyCode\n }\n compareAtAmountPerQuantity {\n amount\n currencyCode\n }\n }\n merchandise {\n ... on ProductVariant {\n id\n availableForSale\n compareAtPriceV2 {\n ...MoneyFragment\n }\n priceV2 {\n ...MoneyFragment\n }\n requiresShipping\n title\n image {\n ...ImageFragment\n }\n product {\n handle\n title\n id\n }\n selectedOptions {\n name\n value\n }\n }\n }\n }\n }\n }\n cost {\n subtotalAmount {\n ...MoneyFragment\n }\n totalAmount {\n ...MoneyFragment\n }\n totalDutyAmount {\n ...MoneyFragment\n }\n totalTaxAmount {\n ...MoneyFragment\n }\n }\n note\n attributes {\n key\n value\n }\n discountCodes {\n code\n }\n}\n\nfragment MoneyFragment on MoneyV2 {\n currencyCode\n amount\n}\nfragment ImageFragment on Image {\n id\n url\n altText\n width\n height\n}\n`;\n"],"names":[],"mappings":"AAAa,MAAA,cAAc,CAAC,iBAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASnD;AAAA;AAGW,MAAA,aAAa,CAAC,iBAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASlD;AAAA;AAGW,MAAA,iBAAiB,CAAC,iBAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAStD;AAAA;AAGW,MAAA,iBAAiB,CAAC,iBAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAStD;AAAA;AAGW,MAAA,iBAAiB,CAAC,iBAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAStD;AAAA;AAGW,MAAA,0BAA0B,CAAC,iBAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAc/D;AAAA;AAGW,MAAA,uBAAuB,CAAC,iBAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAS5D;AAAA;AAGW,MAAA,0BAA0B,CAAC,iBAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAS/D;AAAA;AAGW,MAAA,YAAY,CAAC,iBAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOjD;AAAA;"}
File without changes
File without changes
@@ -0,0 +1,29 @@
1
+ function flattenConnection(connection) {
2
+ if (!connection) {
3
+ const noConnectionErr = `flattenConnection(): needs a 'connection' to flatten, but received '${connection}' instead`;
4
+ {
5
+ throw new Error(noConnectionErr);
6
+ }
7
+ }
8
+ if (connection.nodes) {
9
+ return connection.nodes;
10
+ }
11
+ if (connection.edges) {
12
+ return connection.edges.map((edge) => {
13
+ if (!(edge == null ? void 0 : edge.node)) {
14
+ throw new Error("Connection edges must contain nodes");
15
+ }
16
+ return edge.node;
17
+ });
18
+ }
19
+ {
20
+ console.warn(
21
+ `The connection did not contain either "nodes" or "edges.node". A empty array will be returned in its place.`
22
+ );
23
+ }
24
+ return [];
25
+ }
26
+ export {
27
+ flattenConnection
28
+ };
29
+ //# sourceMappingURL=flatten-connection.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flatten-connection.mjs","sources":["../../src/flatten-connection.ts"],"sourcesContent":["import type {PartialDeep} from 'type-fest';\n\n/**\n * The `flattenConnection` utility transforms a connection object from the Storefront API (for example, [Product-related connections](https://shopify.dev/api/storefront/reference/products/product)) into a flat array of nodes.\n * The utility works with either `nodes` or `edges.node`.\n *\n * If `connection` is null or undefined, will return an empty array instead in production. In development, an error will be thrown.\n */\nexport function flattenConnection<T>(\n connection?: PartialDeep<GraphQLConnection<T>, {recurseIntoArrays: true}>\n): PartialDeep<T, {recurseIntoArrays: true}>[] {\n if (!connection) {\n const noConnectionErr = `flattenConnection(): needs a 'connection' to flatten, but received '${connection}' instead`;\n if (__HYDROGEN_DEV__) {\n throw new Error(noConnectionErr);\n } else {\n console.error(noConnectionErr);\n return [];\n }\n }\n\n if (connection.nodes) {\n return connection.nodes as PartialDeep<T, {recurseIntoArrays: true}>[];\n }\n\n if (connection.edges) {\n return connection.edges.map((edge) => {\n if (!edge?.node) {\n throw new Error('Connection edges must contain nodes');\n }\n return edge.node;\n });\n }\n\n if (__HYDROGEN_DEV__) {\n console.warn(\n `The connection did not contain either \"nodes\" or \"edges.node\". A empty array will be returned in its place.`\n );\n }\n\n return [];\n}\n\ninterface GraphQLConnection<T> {\n edges?: {node: T}[];\n nodes?: T[];\n}\n"],"names":[],"mappings":"AAQO,SAAS,kBACd,YAC6C;AAC7C,MAAI,CAAC,YAAY;AACf,UAAM,kBAAkB,uEAAuE;AACzE;AACd,YAAA,IAAI,MAAM,eAAe;AAAA,IAIjC;AAAA,EACF;AAEA,MAAI,WAAW,OAAO;AACpB,WAAO,WAAW;AAAA,EACpB;AAEA,MAAI,WAAW,OAAO;AACpB,WAAO,WAAW,MAAM,IAAI,CAAC,SAAS;AAChC,UAAA,EAAC,6BAAM,OAAM;AACT,cAAA,IAAI,MAAM,qCAAqC;AAAA,MACvD;AACA,aAAO,KAAK;AAAA,IAAA,CACb;AAAA,EACH;AAEsB;AACZ,YAAA;AAAA,MACN;AAAA,IAAA;AAAA,EAEJ;AAEA,SAAO;AACT;"}
File without changes
File without changes
@@ -0,0 +1,80 @@
1
+ const PRODUCTION_CDN_HOSTNAMES = [
2
+ "cdn.shopify.com",
3
+ "cdn.shopifycdn.net",
4
+ "shopify-assets.shopifycdn.com",
5
+ "shopify-assets.shopifycdn.net"
6
+ ];
7
+ const LOCAL_CDN_HOSTNAMES = ["spin.dev"];
8
+ const ALL_CDN_HOSTNAMES = [...PRODUCTION_CDN_HOSTNAMES, ...LOCAL_CDN_HOSTNAMES];
9
+ const IMG_SRC_SET_SIZES = [352, 832, 1200, 1920, 2560];
10
+ function addImageSizeParametersToUrl({
11
+ src,
12
+ width,
13
+ height,
14
+ crop,
15
+ scale
16
+ }) {
17
+ const newUrl = new URL(src);
18
+ const multipliedScale = scale != null ? scale : 1;
19
+ if (width) {
20
+ let finalWidth;
21
+ if (typeof width === "string") {
22
+ finalWidth = (IMG_SRC_SET_SIZES[0] * multipliedScale).toString();
23
+ } else {
24
+ finalWidth = (Number(width) * multipliedScale).toString();
25
+ }
26
+ newUrl.searchParams.append("width", finalWidth);
27
+ }
28
+ if (height && typeof height === "number") {
29
+ newUrl.searchParams.append("height", (height * multipliedScale).toString());
30
+ }
31
+ crop && newUrl.searchParams.append("crop", crop);
32
+ return newUrl.toString();
33
+ }
34
+ function shopifyImageLoader(params) {
35
+ const newSrc = new URL(params.src);
36
+ const isShopifyServedImage = ALL_CDN_HOSTNAMES.some(
37
+ (allowedHostname) => newSrc.hostname.endsWith(allowedHostname)
38
+ );
39
+ if (!isShopifyServedImage || !params.width && !params.height && !params.crop && !params.scale) {
40
+ return params.src;
41
+ }
42
+ return addImageSizeParametersToUrl(params);
43
+ }
44
+ function getShopifyImageDimensions({
45
+ data: sfapiImage,
46
+ loaderOptions,
47
+ elementProps
48
+ }) {
49
+ var _a, _b, _c, _d, _e, _f;
50
+ let aspectRatio = null;
51
+ if ((sfapiImage == null ? void 0 : sfapiImage.width) && (sfapiImage == null ? void 0 : sfapiImage.height)) {
52
+ aspectRatio = (sfapiImage == null ? void 0 : sfapiImage.width) / (sfapiImage == null ? void 0 : sfapiImage.height);
53
+ }
54
+ if ((loaderOptions == null ? void 0 : loaderOptions.width) || (loaderOptions == null ? void 0 : loaderOptions.height)) {
55
+ return {
56
+ width: (_a = loaderOptions == null ? void 0 : loaderOptions.width) != null ? _a : aspectRatio && typeof loaderOptions.height === "number" ? Math.round(aspectRatio * loaderOptions.height) : null,
57
+ height: (_b = loaderOptions == null ? void 0 : loaderOptions.height) != null ? _b : aspectRatio && typeof loaderOptions.width === "number" ? Math.round(aspectRatio * loaderOptions.width) : null
58
+ };
59
+ }
60
+ if ((elementProps == null ? void 0 : elementProps.width) || (elementProps == null ? void 0 : elementProps.height)) {
61
+ return {
62
+ width: (_c = elementProps == null ? void 0 : elementProps.width) != null ? _c : aspectRatio && typeof elementProps.height === "number" ? Math.round(aspectRatio * elementProps.height) : null,
63
+ height: (_d = elementProps == null ? void 0 : elementProps.height) != null ? _d : aspectRatio && typeof elementProps.width === "number" ? Math.round(aspectRatio * elementProps.width) : null
64
+ };
65
+ }
66
+ if ((sfapiImage == null ? void 0 : sfapiImage.width) || (sfapiImage == null ? void 0 : sfapiImage.height)) {
67
+ return {
68
+ width: (_e = sfapiImage == null ? void 0 : sfapiImage.width) != null ? _e : null,
69
+ height: (_f = sfapiImage == null ? void 0 : sfapiImage.height) != null ? _f : null
70
+ };
71
+ }
72
+ return { width: null, height: null };
73
+ }
74
+ export {
75
+ IMG_SRC_SET_SIZES,
76
+ addImageSizeParametersToUrl,
77
+ getShopifyImageDimensions,
78
+ shopifyImageLoader
79
+ };
80
+ //# sourceMappingURL=image-size.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-size.mjs","sources":["../../src/image-size.ts"],"sourcesContent":["import type {Image as ImageType} from './storefront-api-types.js';\nimport type {PartialDeep} from 'type-fest';\nimport type {ShopifyLoaderOptions, ShopifyLoaderParams} from './Image.js';\n\n// TODO: Are there other CDNs missing from here?\nconst PRODUCTION_CDN_HOSTNAMES = [\n 'cdn.shopify.com',\n 'cdn.shopifycdn.net',\n 'shopify-assets.shopifycdn.com',\n 'shopify-assets.shopifycdn.net',\n];\nconst LOCAL_CDN_HOSTNAMES = ['spin.dev'];\nconst ALL_CDN_HOSTNAMES = [...PRODUCTION_CDN_HOSTNAMES, ...LOCAL_CDN_HOSTNAMES];\n\n// based on the default width sizes used by the Shopify liquid HTML tag img_tag plus a 2560 width to account for 2k resolutions\n// reference: https://shopify.dev/api/liquid/filters/html-filters#image_tag\nexport const IMG_SRC_SET_SIZES = [352, 832, 1200, 1920, 2560];\n\n/**\n * Adds image size parameters to an image URL hosted by Shopify's CDN\n */\nexport function addImageSizeParametersToUrl({\n src,\n width,\n height,\n crop,\n scale,\n}: ShopifyLoaderParams) {\n const newUrl = new URL(src);\n\n const multipliedScale = scale ?? 1;\n\n if (width) {\n let finalWidth: string;\n\n if (typeof width === 'string') {\n finalWidth = (IMG_SRC_SET_SIZES[0] * multipliedScale).toString();\n } else {\n finalWidth = (Number(width) * multipliedScale).toString();\n }\n\n newUrl.searchParams.append('width', finalWidth);\n }\n\n if (height && typeof height === 'number') {\n newUrl.searchParams.append('height', (height * multipliedScale).toString());\n }\n\n crop && newUrl.searchParams.append('crop', crop);\n\n // for now we intentionally leave off the scale param, and instead multiple width & height by scale instead\n // scale && newUrl.searchParams.append('scale', scale.toString());\n\n return newUrl.toString();\n}\n\nexport function shopifyImageLoader(params: ShopifyLoaderParams) {\n const newSrc = new URL(params.src);\n const isShopifyServedImage = ALL_CDN_HOSTNAMES.some((allowedHostname) =>\n newSrc.hostname.endsWith(allowedHostname)\n );\n\n if (\n !isShopifyServedImage ||\n (!params.width && !params.height && !params.crop && !params.scale)\n ) {\n return params.src;\n }\n\n return addImageSizeParametersToUrl(params);\n}\n\ntype HtmlImageProps = React.ImgHTMLAttributes<HTMLImageElement>;\n\nexport type GetShopifyImageDimensionsProps = {\n data: Pick<\n PartialDeep<ImageType, {recurseIntoArrays: true}>,\n 'altText' | 'url' | 'id' | 'width' | 'height'\n >;\n loaderOptions?: ShopifyLoaderOptions;\n elementProps?: {\n width?: HtmlImageProps['width'];\n height?: HtmlImageProps['height'];\n };\n};\n\ntype GetShopifyImageDimensionsPropsReturn = {\n width: number | string | null;\n height: number | string | null;\n};\n\n/**\n * Width and height are determined using the followiing priority list:\n * 1. `loaderOptions`'s width/height\n * 2. `elementProps`'s width/height\n * 3. `data`'s width/height\n *\n * If only one of `width` or `height` are defined, then the other will attempt to be calculated based on the Image's aspect ratio,\n * provided that both `data.width` and `data.height` are available. If not, then the aspect ratio cannot be determined and the missing\n * value will reamin as `null`\n */\nexport function getShopifyImageDimensions({\n data: sfapiImage,\n loaderOptions,\n elementProps,\n}: GetShopifyImageDimensionsProps): GetShopifyImageDimensionsPropsReturn {\n let aspectRatio: number | null = null;\n\n if (sfapiImage?.width && sfapiImage?.height) {\n aspectRatio = sfapiImage?.width / sfapiImage?.height;\n }\n\n // * 1. `loaderOptions`'s width/height\n if (loaderOptions?.width || loaderOptions?.height) {\n return {\n width:\n loaderOptions?.width ??\n (aspectRatio && typeof loaderOptions.height === 'number'\n ? Math.round(aspectRatio * loaderOptions.height)\n : null),\n height:\n loaderOptions?.height ??\n (aspectRatio && typeof loaderOptions.width === 'number'\n ? Math.round(aspectRatio * loaderOptions.width)\n : null),\n };\n }\n\n // * 2. `elementProps`'s width/height\n if (elementProps?.width || elementProps?.height) {\n return {\n width:\n elementProps?.width ??\n (aspectRatio && typeof elementProps.height === 'number'\n ? Math.round(aspectRatio * elementProps.height)\n : null),\n height:\n elementProps?.height ??\n (aspectRatio && typeof elementProps.width === 'number'\n ? Math.round(aspectRatio * elementProps.width)\n : null),\n };\n }\n\n // * 3. `data`'s width/height\n if (sfapiImage?.width || sfapiImage?.height) {\n return {\n // can't calculate the aspect ratio here\n width: sfapiImage?.width ?? null,\n height: sfapiImage?.height ?? null,\n };\n }\n\n return {width: null, height: null};\n}\n"],"names":[],"mappings":"AAKA,MAAM,2BAA2B;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACA,MAAM,sBAAsB,CAAC,UAAU;AACvC,MAAM,oBAAoB,CAAC,GAAG,0BAA0B,GAAG,mBAAmB;AAIvE,MAAM,oBAAoB,CAAC,KAAK,KAAK,MAAM,MAAM,IAAI;AAKrD,SAAS,4BAA4B;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAwB;AAChB,QAAA,SAAS,IAAI,IAAI,GAAG;AAE1B,QAAM,kBAAkB,wBAAS;AAEjC,MAAI,OAAO;AACL,QAAA;AAEA,QAAA,OAAO,UAAU,UAAU;AACf,oBAAA,kBAAkB,KAAK,iBAAiB,SAAS;AAAA,IAAA,OAC1D;AACL,oBAAc,OAAO,KAAK,IAAI,iBAAiB,SAAS;AAAA,IAC1D;AAEO,WAAA,aAAa,OAAO,SAAS,UAAU;AAAA,EAChD;AAEI,MAAA,UAAU,OAAO,WAAW,UAAU;AACxC,WAAO,aAAa,OAAO,WAAW,SAAS,iBAAiB,UAAU;AAAA,EAC5E;AAEA,UAAQ,OAAO,aAAa,OAAO,QAAQ,IAAI;AAK/C,SAAO,OAAO;AAChB;AAEO,SAAS,mBAAmB,QAA6B;AAC9D,QAAM,SAAS,IAAI,IAAI,OAAO,GAAG;AACjC,QAAM,uBAAuB,kBAAkB;AAAA,IAAK,CAAC,oBACnD,OAAO,SAAS,SAAS,eAAe;AAAA,EAAA;AAG1C,MACE,CAAC,wBACA,CAAC,OAAO,SAAS,CAAC,OAAO,UAAU,CAAC,OAAO,QAAQ,CAAC,OAAO,OAC5D;AACA,WAAO,OAAO;AAAA,EAChB;AAEA,SAAO,4BAA4B,MAAM;AAC3C;AA+BO,SAAS,0BAA0B;AAAA,EACxC,MAAM;AAAA,EACN;AAAA,EACA;AACF,GAAyE;AApGzE;AAqGE,MAAI,cAA6B;AAE7B,OAAA,yCAAY,WAAS,yCAAY,SAAQ;AAC7B,mBAAA,yCAAY,UAAQ,yCAAY;AAAA,EAChD;AAGI,OAAA,+CAAe,WAAS,+CAAe,SAAQ;AAC1C,WAAA;AAAA,MACL,QACE,oDAAe,UAAf,YACC,eAAe,OAAO,cAAc,WAAW,WAC5C,KAAK,MAAM,cAAc,cAAc,MAAM,IAC7C;AAAA,MACN,SACE,oDAAe,WAAf,YACC,eAAe,OAAO,cAAc,UAAU,WAC3C,KAAK,MAAM,cAAc,cAAc,KAAK,IAC5C;AAAA,IAAA;AAAA,EAEV;AAGI,OAAA,6CAAc,WAAS,6CAAc,SAAQ;AACxC,WAAA;AAAA,MACL,QACE,kDAAc,UAAd,YACC,eAAe,OAAO,aAAa,WAAW,WAC3C,KAAK,MAAM,cAAc,aAAa,MAAM,IAC5C;AAAA,MACN,SACE,kDAAc,WAAd,YACC,eAAe,OAAO,aAAa,UAAU,WAC1C,KAAK,MAAM,cAAc,aAAa,KAAK,IAC3C;AAAA,IAAA;AAAA,EAEV;AAGI,OAAA,yCAAY,WAAS,yCAAY,SAAQ;AACpC,WAAA;AAAA,MAEL,QAAO,8CAAY,UAAZ,YAAqB;AAAA,MAC5B,SAAQ,8CAAY,WAAZ,YAAsB;AAAA,IAAA;AAAA,EAElC;AAEA,SAAO,EAAC,OAAO,MAAM,QAAQ,KAAI;AACnC;"}
File without changes
File without changes
@@ -0,0 +1,46 @@
1
+ import { AddToCartButton } from "./AddToCartButton.mjs";
2
+ import { BuyNowButton } from "./BuyNowButton.mjs";
3
+ import { CartCheckoutButton } from "./CartCheckoutButton.mjs";
4
+ import { CartProvider, useCart } from "./CartProvider.mjs";
5
+ import { ExternalVideo } from "./ExternalVideo.mjs";
6
+ import { flattenConnection } from "./flatten-connection.mjs";
7
+ import { Image } from "./Image.mjs";
8
+ import { MediaFile } from "./MediaFile.mjs";
9
+ import { metafieldParser } from "./metafield-parser.mjs";
10
+ import { Metafield, parseMetafield, parseMetafieldValue } from "./Metafield.mjs";
11
+ import { ModelViewer } from "./ModelViewer.mjs";
12
+ import { Money } from "./Money.mjs";
13
+ import { ProductPrice } from "./ProductPrice.mjs";
14
+ import { ProductProvider, useProduct } from "./ProductProvider.mjs";
15
+ import { ShopifyProvider, useShop } from "./ShopifyProvider.mjs";
16
+ import { ShopPayButton } from "./ShopPayButton.mjs";
17
+ import { createStorefrontClient } from "./storefront-client.mjs";
18
+ import { useMoney } from "./useMoney.mjs";
19
+ import { Video } from "./Video.mjs";
20
+ export {
21
+ AddToCartButton,
22
+ BuyNowButton,
23
+ CartCheckoutButton,
24
+ CartProvider,
25
+ ExternalVideo,
26
+ Image,
27
+ MediaFile,
28
+ Metafield,
29
+ ModelViewer,
30
+ Money,
31
+ ProductPrice,
32
+ ProductProvider,
33
+ ShopPayButton,
34
+ ShopifyProvider,
35
+ Video,
36
+ createStorefrontClient,
37
+ flattenConnection,
38
+ metafieldParser,
39
+ parseMetafield,
40
+ parseMetafieldValue,
41
+ useCart,
42
+ useMoney,
43
+ useProduct,
44
+ useShop
45
+ };
46
+ //# sourceMappingURL=index.mjs.map