@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":";"}
@@ -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
@@ -0,0 +1,25 @@
1
+ function flattenConnection(connection) {
2
+ if (!connection) {
3
+ const noConnectionErr = `flattenConnection(): needs a 'connection' to flatten, but received '${connection}' instead`;
4
+ {
5
+ console.error(noConnectionErr);
6
+ return [];
7
+ }
8
+ }
9
+ if (connection.nodes) {
10
+ return connection.nodes;
11
+ }
12
+ if (connection.edges) {
13
+ return connection.edges.map((edge) => {
14
+ if (!(edge == null ? void 0 : edge.node)) {
15
+ throw new Error("Connection edges must contain nodes");
16
+ }
17
+ return edge.node;
18
+ });
19
+ }
20
+ return [];
21
+ }
22
+ export {
23
+ flattenConnection
24
+ };
25
+ //# 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;AAGxF;AACL,cAAQ,MAAM,eAAe;AAC7B,aAAO;IACT;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;AAQA,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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;"}