@shopify/hydrogen-react 2022.10.2 → 2022.10.4

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 (621) hide show
  1. package/README.md +49 -0
  2. package/dist/{dev → browser-dev}/AddToCartButton.mjs +0 -0
  3. package/dist/browser-dev/AddToCartButton.mjs.map +1 -0
  4. package/dist/{dev → browser-dev}/BaseButton.mjs +0 -0
  5. package/dist/{dev → browser-dev}/BaseButton.mjs.map +1 -1
  6. package/dist/{dev → browser-dev}/BuyNowButton.mjs +0 -0
  7. package/dist/{dev → browser-dev}/BuyNowButton.mjs.map +1 -1
  8. package/dist/{dev → browser-dev}/CartCheckoutButton.mjs +0 -0
  9. package/dist/{dev → browser-dev}/CartCheckoutButton.mjs.map +1 -1
  10. package/dist/{dev → browser-dev}/CartProvider.mjs +0 -0
  11. package/dist/{prod → browser-dev}/CartProvider.mjs.map +1 -1
  12. package/dist/{dev → browser-dev}/ExternalVideo.mjs +0 -0
  13. package/dist/{dev → browser-dev}/ExternalVideo.mjs.map +1 -1
  14. package/dist/{dev → browser-dev}/Image.mjs +0 -0
  15. package/dist/{dev → browser-dev}/Image.mjs.map +1 -1
  16. package/dist/{dev → browser-dev}/MediaFile.mjs +1 -1
  17. package/dist/browser-dev/MediaFile.mjs.map +1 -0
  18. package/dist/{dev → browser-dev}/Metafield.mjs +0 -0
  19. package/dist/{dev → browser-dev}/Metafield.mjs.map +1 -1
  20. package/dist/{dev → browser-dev}/ModelViewer.mjs +0 -0
  21. package/dist/{dev → browser-dev}/ModelViewer.mjs.map +1 -1
  22. package/dist/{dev → browser-dev}/Money.mjs +0 -0
  23. package/dist/{dev → browser-dev}/Money.mjs.map +1 -1
  24. package/dist/{dev → browser-dev}/ProductPrice.mjs +0 -0
  25. package/dist/{dev → browser-dev}/ProductPrice.mjs.map +1 -1
  26. package/dist/{dev → browser-dev}/ProductProvider.mjs +0 -0
  27. package/dist/{dev → browser-dev}/ProductProvider.mjs.map +1 -1
  28. package/dist/{dev → browser-dev}/ShopPayButton.mjs +0 -0
  29. package/dist/{prod → browser-dev}/ShopPayButton.mjs.map +1 -1
  30. package/dist/browser-dev/ShopifyProvider.mjs +86 -0
  31. package/dist/browser-dev/ShopifyProvider.mjs.map +1 -0
  32. package/dist/{dev → browser-dev}/Video.mjs +0 -0
  33. package/dist/{dev → browser-dev}/Video.mjs.map +1 -1
  34. package/dist/{dev → browser-dev}/_virtual/index.mjs +0 -0
  35. package/dist/{dev → browser-dev}/_virtual/index.mjs.map +0 -0
  36. package/dist/{dev → browser-dev}/_virtual/use-sync-external-store-shim.development.mjs +0 -0
  37. package/dist/{dev → browser-dev}/_virtual/use-sync-external-store-shim.development.mjs.map +0 -0
  38. package/dist/{dev → browser-dev}/_virtual/use-sync-external-store-shim.production.min.mjs +0 -0
  39. package/dist/{dev → browser-dev}/_virtual/use-sync-external-store-shim.production.min.mjs.map +0 -0
  40. package/dist/{dev → browser-dev}/_virtual/with-selector.development.mjs +0 -0
  41. package/dist/{dev → browser-dev}/_virtual/with-selector.development.mjs.map +0 -0
  42. package/dist/{dev → browser-dev}/_virtual/with-selector.mjs +0 -0
  43. package/dist/{dev → browser-dev}/_virtual/with-selector.mjs.map +0 -0
  44. package/dist/{dev → browser-dev}/_virtual/with-selector.production.min.mjs +0 -0
  45. package/dist/{dev → browser-dev}/_virtual/with-selector.production.min.mjs.map +0 -0
  46. package/dist/{prod → browser-dev}/cart-constants.mjs +1 -3
  47. package/dist/browser-dev/cart-constants.mjs.map +1 -0
  48. package/dist/{dev → browser-dev}/cart-hooks.mjs +9 -13
  49. package/dist/browser-dev/cart-hooks.mjs.map +1 -0
  50. package/dist/{dev → browser-dev}/cart-queries.mjs +0 -0
  51. package/dist/{dev → browser-dev}/cart-queries.mjs.map +0 -0
  52. package/dist/browser-dev/codegen.helpers.mjs +12 -0
  53. package/dist/browser-dev/codegen.helpers.mjs.map +1 -0
  54. package/dist/{dev → browser-dev}/flatten-connection.mjs +0 -0
  55. package/dist/{dev → browser-dev}/flatten-connection.mjs.map +0 -0
  56. package/dist/{dev → browser-dev}/image-size.mjs +0 -0
  57. package/dist/{dev → browser-dev}/image-size.mjs.map +0 -0
  58. package/dist/{prod → browser-dev}/index.mjs +2 -0
  59. package/dist/browser-dev/index.mjs.map +1 -0
  60. package/dist/{dev → browser-dev}/load-script.mjs +0 -0
  61. package/dist/{prod → browser-dev}/load-script.mjs.map +1 -1
  62. package/dist/{dev → browser-dev}/metafield-parser.mjs +0 -0
  63. package/dist/browser-dev/metafield-parser.mjs.map +1 -0
  64. package/dist/{dev → browser-dev}/node_modules/@xstate/fsm/es/index.mjs +0 -0
  65. package/dist/{dev → browser-dev}/node_modules/@xstate/fsm/es/index.mjs.map +0 -0
  66. package/dist/{dev → browser-dev}/node_modules/@xstate/react/es/fsm.mjs +0 -0
  67. package/dist/{dev → browser-dev}/node_modules/@xstate/react/es/fsm.mjs.map +0 -0
  68. package/dist/{dev → browser-dev}/node_modules/@xstate/react/es/useConstant.mjs +0 -0
  69. package/dist/{dev → browser-dev}/node_modules/@xstate/react/es/useConstant.mjs.map +0 -0
  70. package/dist/{dev → browser-dev}/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.mjs +0 -0
  71. package/dist/{dev → browser-dev}/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.mjs.map +0 -0
  72. package/dist/{dev → browser-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs +0 -0
  73. package/dist/{dev → browser-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs.map +0 -0
  74. package/dist/{dev → browser-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs +0 -0
  75. 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
  76. package/dist/{dev → browser-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs +0 -0
  77. package/dist/{dev → browser-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs.map +0 -0
  78. package/dist/{dev → browser-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs +0 -0
  79. package/dist/{dev → browser-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs.map +0 -0
  80. package/dist/{dev → browser-dev}/node_modules/use-sync-external-store/shim/index.mjs +0 -0
  81. package/dist/{dev → browser-dev}/node_modules/use-sync-external-store/shim/index.mjs.map +0 -0
  82. package/dist/{dev → browser-dev}/node_modules/use-sync-external-store/shim/with-selector.mjs +0 -0
  83. package/dist/{dev → browser-dev}/node_modules/use-sync-external-store/shim/with-selector.mjs.map +0 -0
  84. package/dist/{dev → browser-dev}/storefront-api-constants.mjs +0 -0
  85. package/dist/{dev → browser-dev}/storefront-api-constants.mjs.map +0 -0
  86. package/dist/{dev → browser-dev}/storefront-client.mjs +22 -10
  87. package/dist/browser-dev/storefront-client.mjs.map +1 -0
  88. package/dist/{dev → browser-dev}/useCartAPIStateMachine.mjs +0 -0
  89. package/dist/{dev → browser-dev}/useCartAPIStateMachine.mjs.map +1 -1
  90. package/dist/{dev → browser-dev}/useCartActions.mjs +0 -0
  91. package/dist/{dev → browser-dev}/useCartActions.mjs.map +1 -1
  92. package/dist/{dev → browser-dev}/useMoney.mjs +0 -0
  93. package/dist/{prod → browser-dev}/useMoney.mjs.map +1 -1
  94. package/dist/{prod → browser-prod}/AddToCartButton.mjs +0 -0
  95. package/dist/browser-prod/AddToCartButton.mjs.map +1 -0
  96. package/dist/{prod → browser-prod}/BaseButton.mjs +0 -0
  97. package/dist/{prod → browser-prod}/BaseButton.mjs.map +1 -1
  98. package/dist/{prod → browser-prod}/BuyNowButton.mjs +0 -0
  99. package/dist/{prod → browser-prod}/BuyNowButton.mjs.map +1 -1
  100. package/dist/{prod → browser-prod}/CartCheckoutButton.mjs +0 -0
  101. package/dist/{prod → browser-prod}/CartCheckoutButton.mjs.map +1 -1
  102. package/dist/{prod → browser-prod}/CartProvider.mjs +0 -0
  103. package/dist/{dev → browser-prod}/CartProvider.mjs.map +1 -1
  104. package/dist/{prod → browser-prod}/ExternalVideo.mjs +0 -0
  105. package/dist/{prod → browser-prod}/ExternalVideo.mjs.map +1 -1
  106. package/dist/{prod → browser-prod}/Image.mjs +0 -0
  107. package/dist/{prod → browser-prod}/Image.mjs.map +1 -1
  108. package/dist/{prod → browser-prod}/MediaFile.mjs +2 -2
  109. package/dist/browser-prod/MediaFile.mjs.map +1 -0
  110. package/dist/{prod → browser-prod}/Metafield.mjs +0 -0
  111. package/dist/{prod → browser-prod}/Metafield.mjs.map +1 -1
  112. package/dist/{prod → browser-prod}/ModelViewer.mjs +0 -0
  113. package/dist/{prod → browser-prod}/ModelViewer.mjs.map +1 -1
  114. package/dist/{prod → browser-prod}/Money.mjs +0 -0
  115. package/dist/{prod → browser-prod}/Money.mjs.map +1 -1
  116. package/dist/{prod → browser-prod}/ProductPrice.mjs +0 -0
  117. package/dist/{prod → browser-prod}/ProductPrice.mjs.map +1 -1
  118. package/dist/{prod → browser-prod}/ProductProvider.mjs +0 -0
  119. package/dist/{prod → browser-prod}/ProductProvider.mjs.map +1 -1
  120. package/dist/{prod → browser-prod}/ShopPayButton.mjs +0 -0
  121. package/dist/{dev → browser-prod}/ShopPayButton.mjs.map +1 -1
  122. package/dist/browser-prod/ShopifyProvider.mjs +80 -0
  123. package/dist/browser-prod/ShopifyProvider.mjs.map +1 -0
  124. package/dist/{prod → browser-prod}/Video.mjs +0 -0
  125. package/dist/{prod → browser-prod}/Video.mjs.map +1 -1
  126. package/dist/{prod → browser-prod}/_virtual/index.mjs +0 -0
  127. package/dist/{prod → browser-prod}/_virtual/index.mjs.map +0 -0
  128. package/dist/{prod → browser-prod}/_virtual/use-sync-external-store-shim.development.mjs +0 -0
  129. package/dist/{prod → browser-prod}/_virtual/use-sync-external-store-shim.development.mjs.map +0 -0
  130. package/dist/{prod → browser-prod}/_virtual/use-sync-external-store-shim.production.min.mjs +0 -0
  131. package/dist/{prod → browser-prod}/_virtual/use-sync-external-store-shim.production.min.mjs.map +0 -0
  132. package/dist/{prod → browser-prod}/_virtual/with-selector.development.mjs +0 -0
  133. package/dist/{prod → browser-prod}/_virtual/with-selector.development.mjs.map +0 -0
  134. package/dist/{prod → browser-prod}/_virtual/with-selector.mjs +0 -0
  135. package/dist/{prod → browser-prod}/_virtual/with-selector.mjs.map +0 -0
  136. package/dist/{prod → browser-prod}/_virtual/with-selector.production.min.mjs +0 -0
  137. package/dist/{prod → browser-prod}/_virtual/with-selector.production.min.mjs.map +0 -0
  138. package/dist/{dev → browser-prod}/cart-constants.mjs +1 -3
  139. package/dist/browser-prod/cart-constants.mjs.map +1 -0
  140. package/dist/{prod → browser-prod}/cart-hooks.mjs +9 -13
  141. package/dist/browser-prod/cart-hooks.mjs.map +1 -0
  142. package/dist/{prod → browser-prod}/cart-queries.mjs +0 -0
  143. package/dist/{prod → browser-prod}/cart-queries.mjs.map +0 -0
  144. package/dist/browser-prod/codegen.helpers.mjs +12 -0
  145. package/dist/browser-prod/codegen.helpers.mjs.map +1 -0
  146. package/dist/{prod → browser-prod}/flatten-connection.mjs +0 -0
  147. package/dist/{prod → browser-prod}/flatten-connection.mjs.map +0 -0
  148. package/dist/{prod → browser-prod}/image-size.mjs +0 -0
  149. package/dist/{prod → browser-prod}/image-size.mjs.map +0 -0
  150. package/dist/{dev → browser-prod}/index.mjs +2 -0
  151. package/dist/browser-prod/index.mjs.map +1 -0
  152. package/dist/{prod → browser-prod}/load-script.mjs +0 -0
  153. package/dist/{dev → browser-prod}/load-script.mjs.map +1 -1
  154. package/dist/{prod → browser-prod}/metafield-parser.mjs +0 -0
  155. package/dist/browser-prod/metafield-parser.mjs.map +1 -0
  156. package/dist/{prod → browser-prod}/node_modules/@xstate/fsm/es/index.mjs +0 -0
  157. package/dist/{prod → browser-prod}/node_modules/@xstate/fsm/es/index.mjs.map +0 -0
  158. package/dist/{prod → browser-prod}/node_modules/@xstate/react/es/fsm.mjs +0 -0
  159. package/dist/{prod → browser-prod}/node_modules/@xstate/react/es/fsm.mjs.map +0 -0
  160. package/dist/{prod → browser-prod}/node_modules/@xstate/react/es/useConstant.mjs +0 -0
  161. package/dist/{prod → browser-prod}/node_modules/@xstate/react/es/useConstant.mjs.map +0 -0
  162. package/dist/{prod → browser-prod}/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.mjs +0 -0
  163. package/dist/{prod → browser-prod}/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.mjs.map +0 -0
  164. package/dist/{prod → browser-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs +0 -0
  165. package/dist/{prod → browser-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs.map +0 -0
  166. package/dist/{prod → browser-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs +0 -0
  167. 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
  168. package/dist/{prod → browser-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs +0 -0
  169. package/dist/{prod → browser-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs.map +0 -0
  170. package/dist/{prod → browser-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs +0 -0
  171. package/dist/{prod → browser-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs.map +0 -0
  172. package/dist/{prod → browser-prod}/node_modules/use-sync-external-store/shim/index.mjs +0 -0
  173. package/dist/{prod → browser-prod}/node_modules/use-sync-external-store/shim/index.mjs.map +0 -0
  174. package/dist/{prod → browser-prod}/node_modules/use-sync-external-store/shim/with-selector.mjs +0 -0
  175. package/dist/{prod → browser-prod}/node_modules/use-sync-external-store/shim/with-selector.mjs.map +0 -0
  176. package/dist/{prod → browser-prod}/storefront-api-constants.mjs +0 -0
  177. package/dist/{prod → browser-prod}/storefront-api-constants.mjs.map +0 -0
  178. package/dist/{prod → browser-prod}/storefront-client.mjs +22 -10
  179. package/dist/browser-prod/storefront-client.mjs.map +1 -0
  180. package/dist/{prod → browser-prod}/useCartAPIStateMachine.mjs +0 -0
  181. package/dist/{prod → browser-prod}/useCartAPIStateMachine.mjs.map +1 -1
  182. package/dist/{prod → browser-prod}/useCartActions.mjs +0 -0
  183. package/dist/{prod → browser-prod}/useCartActions.mjs.map +1 -1
  184. package/dist/{prod → browser-prod}/useMoney.mjs +0 -0
  185. package/dist/{dev → browser-prod}/useMoney.mjs.map +1 -1
  186. package/dist/{dev → node-dev}/AddToCartButton.js +0 -0
  187. package/dist/node-dev/AddToCartButton.js.map +1 -0
  188. package/dist/node-dev/AddToCartButton.mjs +70 -0
  189. package/dist/node-dev/AddToCartButton.mjs.map +1 -0
  190. package/dist/{dev → node-dev}/BaseButton.js +0 -0
  191. package/dist/{dev → node-dev}/BaseButton.js.map +1 -1
  192. package/dist/node-dev/BaseButton.mjs +31 -0
  193. package/dist/node-dev/BaseButton.mjs.map +1 -0
  194. package/dist/{dev → node-dev}/BuyNowButton.js +0 -0
  195. package/dist/{dev → node-dev}/BuyNowButton.js.map +1 -1
  196. package/dist/node-dev/BuyNowButton.mjs +45 -0
  197. package/dist/node-dev/BuyNowButton.mjs.map +1 -0
  198. package/dist/{dev → node-dev}/CartCheckoutButton.js +0 -0
  199. package/dist/{dev → node-dev}/CartCheckoutButton.js.map +1 -1
  200. package/dist/node-dev/CartCheckoutButton.mjs +30 -0
  201. package/dist/node-dev/CartCheckoutButton.mjs.map +1 -0
  202. package/dist/{dev → node-dev}/CartProvider.js +0 -0
  203. package/dist/{prod → node-dev}/CartProvider.js.map +1 -1
  204. package/dist/node-dev/CartProvider.mjs +485 -0
  205. package/dist/node-dev/CartProvider.mjs.map +1 -0
  206. package/dist/{dev → node-dev}/ExternalVideo.js +0 -0
  207. package/dist/{dev → node-dev}/ExternalVideo.js.map +1 -1
  208. package/dist/node-dev/ExternalVideo.mjs +39 -0
  209. package/dist/node-dev/ExternalVideo.mjs.map +1 -0
  210. package/dist/{dev → node-dev}/Image.js +0 -0
  211. package/dist/{dev → node-dev}/Image.js.map +1 -1
  212. package/dist/node-dev/Image.mjs +104 -0
  213. package/dist/node-dev/Image.mjs.map +1 -0
  214. package/dist/{dev → node-dev}/MediaFile.js +1 -1
  215. package/dist/node-dev/MediaFile.js.map +1 -0
  216. package/dist/node-dev/MediaFile.mjs +57 -0
  217. package/dist/node-dev/MediaFile.mjs.map +1 -0
  218. package/dist/{dev → node-dev}/Metafield.js +0 -0
  219. package/dist/{dev → node-dev}/Metafield.js.map +1 -1
  220. package/dist/node-dev/Metafield.mjs +301 -0
  221. package/dist/node-dev/Metafield.mjs.map +1 -0
  222. package/dist/{dev → node-dev}/ModelViewer.js +0 -0
  223. package/dist/{dev → node-dev}/ModelViewer.js.map +1 -1
  224. package/dist/node-dev/ModelViewer.mjs +145 -0
  225. package/dist/node-dev/ModelViewer.mjs.map +1 -0
  226. package/dist/{dev → node-dev}/Money.js +0 -0
  227. package/dist/{dev → node-dev}/Money.js.map +1 -1
  228. package/dist/node-dev/Money.mjs +40 -0
  229. package/dist/node-dev/Money.mjs.map +1 -0
  230. package/dist/{dev → node-dev}/ProductPrice.js +0 -0
  231. package/dist/{dev → node-dev}/ProductPrice.js.map +1 -1
  232. package/dist/node-dev/ProductPrice.mjs +61 -0
  233. package/dist/node-dev/ProductPrice.mjs.map +1 -0
  234. package/dist/{dev → node-dev}/ProductProvider.js +0 -0
  235. package/dist/{prod → node-dev}/ProductProvider.js.map +1 -1
  236. package/dist/node-dev/ProductProvider.mjs +161 -0
  237. package/dist/node-dev/ProductProvider.mjs.map +1 -0
  238. package/dist/{dev → node-dev}/ShopPayButton.js +0 -0
  239. package/dist/{prod → node-dev}/ShopPayButton.js.map +1 -1
  240. package/dist/node-dev/ShopPayButton.mjs +64 -0
  241. package/dist/node-dev/ShopPayButton.mjs.map +1 -0
  242. package/dist/node-dev/ShopifyProvider.js +86 -0
  243. package/dist/node-dev/ShopifyProvider.js.map +1 -0
  244. package/dist/node-dev/ShopifyProvider.mjs +86 -0
  245. package/dist/node-dev/ShopifyProvider.mjs.map +1 -0
  246. package/dist/{dev → node-dev}/Video.js +0 -0
  247. package/dist/{dev → node-dev}/Video.js.map +1 -1
  248. package/dist/node-dev/Video.mjs +44 -0
  249. package/dist/node-dev/Video.mjs.map +1 -0
  250. package/dist/{dev → node-dev}/_virtual/index.js +0 -0
  251. package/dist/{dev → node-dev}/_virtual/index.js.map +0 -0
  252. package/dist/node-dev/_virtual/index.mjs +5 -0
  253. package/dist/{dev → node-dev/_virtual}/index.mjs.map +1 -1
  254. package/dist/{dev → node-dev}/_virtual/use-sync-external-store-shim.development.js +0 -0
  255. package/dist/{dev → node-dev}/_virtual/use-sync-external-store-shim.development.js.map +0 -0
  256. package/dist/node-dev/_virtual/use-sync-external-store-shim.development.mjs +5 -0
  257. package/dist/node-dev/_virtual/use-sync-external-store-shim.development.mjs.map +1 -0
  258. package/dist/{dev → node-dev}/_virtual/use-sync-external-store-shim.production.min.js +0 -0
  259. package/dist/{dev → node-dev}/_virtual/use-sync-external-store-shim.production.min.js.map +0 -0
  260. package/dist/node-dev/_virtual/use-sync-external-store-shim.production.min.mjs +5 -0
  261. package/dist/node-dev/_virtual/use-sync-external-store-shim.production.min.mjs.map +1 -0
  262. package/dist/{dev → node-dev}/_virtual/with-selector.development.js +0 -0
  263. package/dist/{dev → node-dev}/_virtual/with-selector.development.js.map +0 -0
  264. package/dist/node-dev/_virtual/with-selector.development.mjs +5 -0
  265. package/dist/node-dev/_virtual/with-selector.development.mjs.map +1 -0
  266. package/dist/{dev → node-dev}/_virtual/with-selector.js +0 -0
  267. package/dist/{dev → node-dev}/_virtual/with-selector.js.map +0 -0
  268. package/dist/node-dev/_virtual/with-selector.mjs +5 -0
  269. package/dist/node-dev/_virtual/with-selector.mjs.map +1 -0
  270. package/dist/{dev → node-dev}/_virtual/with-selector.production.min.js +0 -0
  271. package/dist/{dev → node-dev}/_virtual/with-selector.production.min.js.map +0 -0
  272. package/dist/node-dev/_virtual/with-selector.production.min.mjs +5 -0
  273. package/dist/node-dev/_virtual/with-selector.production.min.mjs.map +1 -0
  274. package/dist/{dev → node-dev}/cart-constants.js +0 -2
  275. package/dist/node-dev/cart-constants.js.map +1 -0
  276. package/dist/node-dev/cart-constants.mjs +15 -0
  277. package/dist/node-dev/cart-constants.mjs.map +1 -0
  278. package/dist/{dev → node-dev}/cart-hooks.js +8 -12
  279. package/dist/node-dev/cart-hooks.js.map +1 -0
  280. package/dist/node-dev/cart-hooks.mjs +44 -0
  281. package/dist/node-dev/cart-hooks.mjs.map +1 -0
  282. package/dist/{dev → node-dev}/cart-queries.js +0 -0
  283. package/dist/{dev → node-dev}/cart-queries.js.map +0 -0
  284. package/dist/node-dev/cart-queries.mjs +114 -0
  285. package/dist/node-dev/cart-queries.mjs.map +1 -0
  286. package/dist/node-dev/codegen.helpers.js +12 -0
  287. package/dist/node-dev/codegen.helpers.js.map +1 -0
  288. package/dist/node-dev/codegen.helpers.mjs +12 -0
  289. package/dist/node-dev/codegen.helpers.mjs.map +1 -0
  290. package/dist/{dev → node-dev}/flatten-connection.js +0 -0
  291. package/dist/{dev → node-dev}/flatten-connection.js.map +0 -0
  292. package/dist/node-dev/flatten-connection.mjs +29 -0
  293. package/dist/node-dev/flatten-connection.mjs.map +1 -0
  294. package/dist/{dev → node-dev}/image-size.js +0 -0
  295. package/dist/{dev → node-dev}/image-size.js.map +0 -0
  296. package/dist/node-dev/image-size.mjs +80 -0
  297. package/dist/node-dev/image-size.mjs.map +1 -0
  298. package/dist/{dev → node-dev}/index.js +2 -0
  299. package/dist/{dev → node-dev}/index.js.map +1 -1
  300. package/dist/node-dev/index.mjs +48 -0
  301. package/dist/node-dev/index.mjs.map +1 -0
  302. package/dist/{dev → node-dev}/load-script.js +0 -0
  303. package/dist/{dev → node-dev}/load-script.js.map +1 -1
  304. package/dist/node-dev/load-script.mjs +52 -0
  305. package/dist/node-dev/load-script.mjs.map +1 -0
  306. package/dist/{dev → node-dev}/metafield-parser.js +0 -0
  307. package/dist/node-dev/metafield-parser.js.map +1 -0
  308. package/dist/node-dev/metafield-parser.mjs +103 -0
  309. package/dist/node-dev/metafield-parser.mjs.map +1 -0
  310. package/dist/{dev → node-dev}/node_modules/@xstate/fsm/es/index.js +0 -0
  311. package/dist/{dev → node-dev}/node_modules/@xstate/fsm/es/index.js.map +0 -0
  312. package/dist/node-dev/node_modules/@xstate/fsm/es/index.mjs +159 -0
  313. package/dist/node-dev/node_modules/@xstate/fsm/es/index.mjs.map +1 -0
  314. package/dist/{dev → node-dev}/node_modules/@xstate/react/es/fsm.js +2 -2
  315. package/dist/{dev → node-dev}/node_modules/@xstate/react/es/fsm.js.map +1 -1
  316. package/dist/node-dev/node_modules/@xstate/react/es/fsm.mjs +94 -0
  317. package/dist/node-dev/node_modules/@xstate/react/es/fsm.mjs.map +1 -0
  318. package/dist/{dev → node-dev}/node_modules/@xstate/react/es/useConstant.js +0 -0
  319. package/dist/{dev → node-dev}/node_modules/@xstate/react/es/useConstant.js.map +0 -0
  320. package/dist/node-dev/node_modules/@xstate/react/es/useConstant.mjs +12 -0
  321. package/dist/node-dev/node_modules/@xstate/react/es/useConstant.mjs.map +1 -0
  322. package/dist/node-dev/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.esm.js +5 -0
  323. package/dist/node-dev/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.esm.js.map +1 -0
  324. package/dist/node-dev/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.esm.mjs +6 -0
  325. package/dist/node-dev/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.esm.mjs.map +1 -0
  326. package/dist/{dev → node-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js +0 -0
  327. package/dist/{dev → node-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js.map +0 -0
  328. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs +105 -0
  329. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs.map +1 -0
  330. package/dist/{dev → node-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js +0 -0
  331. 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
  332. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs +72 -0
  333. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs.map +1 -0
  334. package/dist/{dev → node-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +0 -0
  335. package/dist/{dev → node-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js.map +0 -0
  336. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs +136 -0
  337. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs.map +1 -0
  338. package/dist/{dev → node-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js +0 -0
  339. package/dist/{dev → node-dev}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js.map +0 -0
  340. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs +58 -0
  341. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs.map +1 -0
  342. package/dist/{dev → node-dev}/node_modules/use-sync-external-store/shim/index.js +0 -0
  343. package/dist/{dev → node-dev}/node_modules/use-sync-external-store/shim/index.js.map +0 -0
  344. package/dist/node-dev/node_modules/use-sync-external-store/shim/index.mjs +21 -0
  345. package/dist/node-dev/node_modules/use-sync-external-store/shim/index.mjs.map +1 -0
  346. package/dist/{dev → node-dev}/node_modules/use-sync-external-store/shim/with-selector.js +0 -0
  347. package/dist/{dev → node-dev}/node_modules/use-sync-external-store/shim/with-selector.js.map +0 -0
  348. package/dist/node-dev/node_modules/use-sync-external-store/shim/with-selector.mjs +11 -0
  349. package/dist/node-dev/node_modules/use-sync-external-store/shim/with-selector.mjs.map +1 -0
  350. package/dist/{dev → node-dev}/storefront-api-constants.js +0 -0
  351. package/dist/{dev → node-dev}/storefront-api-constants.js.map +0 -0
  352. package/dist/node-dev/storefront-api-constants.mjs +5 -0
  353. package/dist/node-dev/storefront-api-constants.mjs.map +1 -0
  354. package/dist/{dev → node-dev}/storefront-client.js +21 -9
  355. package/dist/node-dev/storefront-client.js.map +1 -0
  356. package/dist/node-dev/storefront-client.mjs +84 -0
  357. package/dist/node-dev/storefront-client.mjs.map +1 -0
  358. package/dist/{dev → node-dev}/useCartAPIStateMachine.js +0 -0
  359. package/dist/{dev → node-dev}/useCartAPIStateMachine.js.map +1 -1
  360. package/dist/node-dev/useCartAPIStateMachine.mjs +326 -0
  361. package/dist/node-dev/useCartAPIStateMachine.mjs.map +1 -0
  362. package/dist/{dev → node-dev}/useCartActions.js +0 -0
  363. package/dist/{prod → node-dev}/useCartActions.js.map +1 -1
  364. package/dist/node-dev/useCartActions.mjs +123 -0
  365. package/dist/node-dev/useCartActions.mjs.map +1 -0
  366. package/dist/{dev → node-dev}/useMoney.js +0 -0
  367. package/dist/{prod → node-dev}/useMoney.js.map +1 -1
  368. package/dist/node-dev/useMoney.mjs +72 -0
  369. package/dist/node-dev/useMoney.mjs.map +1 -0
  370. package/dist/{prod → node-prod}/AddToCartButton.js +0 -0
  371. package/dist/node-prod/AddToCartButton.js.map +1 -0
  372. package/dist/node-prod/AddToCartButton.mjs +70 -0
  373. package/dist/node-prod/AddToCartButton.mjs.map +1 -0
  374. package/dist/{prod → node-prod}/BaseButton.js +0 -0
  375. package/dist/{prod → node-prod}/BaseButton.js.map +1 -1
  376. package/dist/node-prod/BaseButton.mjs +31 -0
  377. package/dist/node-prod/BaseButton.mjs.map +1 -0
  378. package/dist/{prod → node-prod}/BuyNowButton.js +0 -0
  379. package/dist/{prod → node-prod}/BuyNowButton.js.map +1 -1
  380. package/dist/node-prod/BuyNowButton.mjs +45 -0
  381. package/dist/node-prod/BuyNowButton.mjs.map +1 -0
  382. package/dist/{prod → node-prod}/CartCheckoutButton.js +0 -0
  383. package/dist/{prod → node-prod}/CartCheckoutButton.js.map +1 -1
  384. package/dist/node-prod/CartCheckoutButton.mjs +30 -0
  385. package/dist/node-prod/CartCheckoutButton.mjs.map +1 -0
  386. package/dist/{prod → node-prod}/CartProvider.js +0 -0
  387. package/dist/{dev → node-prod}/CartProvider.js.map +1 -1
  388. package/dist/node-prod/CartProvider.mjs +485 -0
  389. package/dist/node-prod/CartProvider.mjs.map +1 -0
  390. package/dist/{prod → node-prod}/ExternalVideo.js +0 -0
  391. package/dist/{prod → node-prod}/ExternalVideo.js.map +1 -1
  392. package/dist/node-prod/ExternalVideo.mjs +39 -0
  393. package/dist/node-prod/ExternalVideo.mjs.map +1 -0
  394. package/dist/{prod → node-prod}/Image.js +0 -0
  395. package/dist/{prod → node-prod}/Image.js.map +1 -1
  396. package/dist/node-prod/Image.mjs +99 -0
  397. package/dist/node-prod/Image.mjs.map +1 -0
  398. package/dist/{prod → node-prod}/MediaFile.js +2 -2
  399. package/dist/node-prod/MediaFile.js.map +1 -0
  400. package/dist/node-prod/MediaFile.mjs +59 -0
  401. package/dist/node-prod/MediaFile.mjs.map +1 -0
  402. package/dist/{prod → node-prod}/Metafield.js +0 -0
  403. package/dist/{prod → node-prod}/Metafield.js.map +1 -1
  404. package/dist/node-prod/Metafield.mjs +288 -0
  405. package/dist/node-prod/Metafield.mjs.map +1 -0
  406. package/dist/{prod → node-prod}/ModelViewer.js +0 -0
  407. package/dist/{prod → node-prod}/ModelViewer.js.map +1 -1
  408. package/dist/node-prod/ModelViewer.mjs +143 -0
  409. package/dist/node-prod/ModelViewer.mjs.map +1 -0
  410. package/dist/{prod → node-prod}/Money.js +0 -0
  411. package/dist/{prod → node-prod}/Money.js.map +1 -1
  412. package/dist/node-prod/Money.mjs +40 -0
  413. package/dist/node-prod/Money.mjs.map +1 -0
  414. package/dist/{prod → node-prod}/ProductPrice.js +0 -0
  415. package/dist/{prod → node-prod}/ProductPrice.js.map +1 -1
  416. package/dist/node-prod/ProductPrice.mjs +61 -0
  417. package/dist/node-prod/ProductPrice.mjs.map +1 -0
  418. package/dist/{prod → node-prod}/ProductProvider.js +0 -0
  419. package/dist/{dev → node-prod}/ProductProvider.js.map +1 -1
  420. package/dist/node-prod/ProductProvider.mjs +161 -0
  421. package/dist/node-prod/ProductProvider.mjs.map +1 -0
  422. package/dist/{prod → node-prod}/ShopPayButton.js +0 -0
  423. package/dist/{dev → node-prod}/ShopPayButton.js.map +1 -1
  424. package/dist/node-prod/ShopPayButton.mjs +64 -0
  425. package/dist/node-prod/ShopPayButton.mjs.map +1 -0
  426. package/dist/node-prod/ShopifyProvider.js +80 -0
  427. package/dist/node-prod/ShopifyProvider.js.map +1 -0
  428. package/dist/node-prod/ShopifyProvider.mjs +80 -0
  429. package/dist/node-prod/ShopifyProvider.mjs.map +1 -0
  430. package/dist/{prod → node-prod}/Video.js +0 -0
  431. package/dist/{prod → node-prod}/Video.js.map +1 -1
  432. package/dist/node-prod/Video.mjs +44 -0
  433. package/dist/node-prod/Video.mjs.map +1 -0
  434. package/dist/{prod → node-prod}/_virtual/index.js +0 -0
  435. package/dist/{prod → node-prod}/_virtual/index.js.map +0 -0
  436. package/dist/node-prod/_virtual/index.mjs +5 -0
  437. package/dist/{prod → node-prod/_virtual}/index.mjs.map +1 -1
  438. package/dist/{prod → node-prod}/_virtual/use-sync-external-store-shim.development.js +0 -0
  439. package/dist/{prod → node-prod}/_virtual/use-sync-external-store-shim.development.js.map +0 -0
  440. package/dist/node-prod/_virtual/use-sync-external-store-shim.development.mjs +5 -0
  441. package/dist/node-prod/_virtual/use-sync-external-store-shim.development.mjs.map +1 -0
  442. package/dist/{prod → node-prod}/_virtual/use-sync-external-store-shim.production.min.js +0 -0
  443. package/dist/{prod → node-prod}/_virtual/use-sync-external-store-shim.production.min.js.map +0 -0
  444. package/dist/node-prod/_virtual/use-sync-external-store-shim.production.min.mjs +5 -0
  445. package/dist/node-prod/_virtual/use-sync-external-store-shim.production.min.mjs.map +1 -0
  446. package/dist/{prod → node-prod}/_virtual/with-selector.development.js +0 -0
  447. package/dist/{prod → node-prod}/_virtual/with-selector.development.js.map +0 -0
  448. package/dist/node-prod/_virtual/with-selector.development.mjs +5 -0
  449. package/dist/node-prod/_virtual/with-selector.development.mjs.map +1 -0
  450. package/dist/{prod → node-prod}/_virtual/with-selector.js +0 -0
  451. package/dist/{prod → node-prod}/_virtual/with-selector.js.map +0 -0
  452. package/dist/node-prod/_virtual/with-selector.mjs +5 -0
  453. package/dist/node-prod/_virtual/with-selector.mjs.map +1 -0
  454. package/dist/{prod → node-prod}/_virtual/with-selector.production.min.js +0 -0
  455. package/dist/{prod → node-prod}/_virtual/with-selector.production.min.js.map +0 -0
  456. package/dist/node-prod/_virtual/with-selector.production.min.mjs +5 -0
  457. package/dist/node-prod/_virtual/with-selector.production.min.mjs.map +1 -0
  458. package/dist/{prod → node-prod}/cart-constants.js +0 -2
  459. package/dist/node-prod/cart-constants.js.map +1 -0
  460. package/dist/node-prod/cart-constants.mjs +15 -0
  461. package/dist/node-prod/cart-constants.mjs.map +1 -0
  462. package/dist/{prod → node-prod}/cart-hooks.js +8 -12
  463. package/dist/node-prod/cart-hooks.js.map +1 -0
  464. package/dist/node-prod/cart-hooks.mjs +44 -0
  465. package/dist/node-prod/cart-hooks.mjs.map +1 -0
  466. package/dist/{prod → node-prod}/cart-queries.js +0 -0
  467. package/dist/{prod → node-prod}/cart-queries.js.map +0 -0
  468. package/dist/node-prod/cart-queries.mjs +114 -0
  469. package/dist/node-prod/cart-queries.mjs.map +1 -0
  470. package/dist/node-prod/codegen.helpers.js +12 -0
  471. package/dist/node-prod/codegen.helpers.js.map +1 -0
  472. package/dist/node-prod/codegen.helpers.mjs +12 -0
  473. package/dist/node-prod/codegen.helpers.mjs.map +1 -0
  474. package/dist/{prod → node-prod}/flatten-connection.js +0 -0
  475. package/dist/{prod → node-prod}/flatten-connection.js.map +0 -0
  476. package/dist/node-prod/flatten-connection.mjs +25 -0
  477. package/dist/node-prod/flatten-connection.mjs.map +1 -0
  478. package/dist/{prod → node-prod}/image-size.js +0 -0
  479. package/dist/{prod → node-prod}/image-size.js.map +0 -0
  480. package/dist/node-prod/image-size.mjs +80 -0
  481. package/dist/node-prod/image-size.mjs.map +1 -0
  482. package/dist/{prod → node-prod}/index.js +2 -0
  483. package/dist/{prod → node-prod}/index.js.map +1 -1
  484. package/dist/node-prod/index.mjs +48 -0
  485. package/dist/node-prod/index.mjs.map +1 -0
  486. package/dist/{prod → node-prod}/load-script.js +0 -0
  487. package/dist/{prod → node-prod}/load-script.js.map +1 -1
  488. package/dist/node-prod/load-script.mjs +52 -0
  489. package/dist/node-prod/load-script.mjs.map +1 -0
  490. package/dist/{prod → node-prod}/metafield-parser.js +0 -0
  491. package/dist/node-prod/metafield-parser.js.map +1 -0
  492. package/dist/node-prod/metafield-parser.mjs +114 -0
  493. package/dist/node-prod/metafield-parser.mjs.map +1 -0
  494. package/dist/{prod → node-prod}/node_modules/@xstate/fsm/es/index.js +0 -0
  495. package/dist/{prod → node-prod}/node_modules/@xstate/fsm/es/index.js.map +0 -0
  496. package/dist/node-prod/node_modules/@xstate/fsm/es/index.mjs +159 -0
  497. package/dist/node-prod/node_modules/@xstate/fsm/es/index.mjs.map +1 -0
  498. package/dist/{prod → node-prod}/node_modules/@xstate/react/es/fsm.js +2 -2
  499. package/dist/{prod → node-prod}/node_modules/@xstate/react/es/fsm.js.map +1 -1
  500. package/dist/node-prod/node_modules/@xstate/react/es/fsm.mjs +94 -0
  501. package/dist/node-prod/node_modules/@xstate/react/es/fsm.mjs.map +1 -0
  502. package/dist/{prod → node-prod}/node_modules/@xstate/react/es/useConstant.js +0 -0
  503. package/dist/{prod → node-prod}/node_modules/@xstate/react/es/useConstant.js.map +0 -0
  504. package/dist/node-prod/node_modules/@xstate/react/es/useConstant.mjs +12 -0
  505. package/dist/node-prod/node_modules/@xstate/react/es/useConstant.mjs.map +1 -0
  506. package/dist/node-prod/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.esm.js +5 -0
  507. package/dist/node-prod/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.esm.js.map +1 -0
  508. package/dist/node-prod/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.esm.mjs +6 -0
  509. package/dist/node-prod/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.esm.mjs.map +1 -0
  510. package/dist/{prod → node-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js +0 -0
  511. package/dist/{prod → node-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js.map +0 -0
  512. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs +105 -0
  513. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs.map +1 -0
  514. package/dist/{prod → node-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js +0 -0
  515. 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
  516. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs +72 -0
  517. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs.map +1 -0
  518. package/dist/{prod → node-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +0 -0
  519. package/dist/{prod → node-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js.map +0 -0
  520. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs +136 -0
  521. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs.map +1 -0
  522. package/dist/{prod → node-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js +0 -0
  523. package/dist/{prod → node-prod}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js.map +0 -0
  524. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs +58 -0
  525. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs.map +1 -0
  526. package/dist/{prod → node-prod}/node_modules/use-sync-external-store/shim/index.js +0 -0
  527. package/dist/{prod → node-prod}/node_modules/use-sync-external-store/shim/index.js.map +0 -0
  528. package/dist/node-prod/node_modules/use-sync-external-store/shim/index.mjs +21 -0
  529. package/dist/node-prod/node_modules/use-sync-external-store/shim/index.mjs.map +1 -0
  530. package/dist/{prod → node-prod}/node_modules/use-sync-external-store/shim/with-selector.js +0 -0
  531. package/dist/{prod → node-prod}/node_modules/use-sync-external-store/shim/with-selector.js.map +0 -0
  532. package/dist/node-prod/node_modules/use-sync-external-store/shim/with-selector.mjs +11 -0
  533. package/dist/node-prod/node_modules/use-sync-external-store/shim/with-selector.mjs.map +1 -0
  534. package/dist/{prod → node-prod}/storefront-api-constants.js +0 -0
  535. package/dist/{prod → node-prod}/storefront-api-constants.js.map +0 -0
  536. package/dist/node-prod/storefront-api-constants.mjs +5 -0
  537. package/dist/node-prod/storefront-api-constants.mjs.map +1 -0
  538. package/dist/{prod → node-prod}/storefront-client.js +21 -9
  539. package/dist/node-prod/storefront-client.js.map +1 -0
  540. package/dist/node-prod/storefront-client.mjs +69 -0
  541. package/dist/node-prod/storefront-client.mjs.map +1 -0
  542. package/dist/{prod → node-prod}/useCartAPIStateMachine.js +0 -0
  543. package/dist/{prod → node-prod}/useCartAPIStateMachine.js.map +1 -1
  544. package/dist/node-prod/useCartAPIStateMachine.mjs +326 -0
  545. package/dist/node-prod/useCartAPIStateMachine.mjs.map +1 -0
  546. package/dist/{prod → node-prod}/useCartActions.js +0 -0
  547. package/dist/{dev → node-prod}/useCartActions.js.map +1 -1
  548. package/dist/node-prod/useCartActions.mjs +123 -0
  549. package/dist/node-prod/useCartActions.mjs.map +1 -0
  550. package/dist/{prod → node-prod}/useMoney.js +0 -0
  551. package/dist/{dev → node-prod}/useMoney.js.map +1 -1
  552. package/dist/node-prod/useMoney.mjs +72 -0
  553. package/dist/node-prod/useMoney.mjs.map +1 -0
  554. package/dist/types/AddToCartButton.d.ts +1 -2
  555. package/dist/types/BaseButton.d.ts +1 -1
  556. package/dist/types/CartCheckoutButton.d.ts +1 -1
  557. package/dist/types/CartLinePrice.d.ts +17 -0
  558. package/dist/types/CartLineProvider.d.ts +16 -0
  559. package/dist/types/ExternalVideo.d.ts +3 -3
  560. package/dist/types/Image.d.ts +4 -4
  561. package/dist/types/MediaFile.d.ts +5 -5
  562. package/dist/types/Metafield.d.ts +2 -2
  563. package/dist/types/ModelViewer.d.ts +2 -2
  564. package/dist/types/Money.d.ts +1 -1
  565. package/dist/types/ProductProvider.d.ts +3 -3
  566. package/dist/types/ShopPayButton.d.ts +1 -1
  567. package/dist/types/ShopifyProvider.d.ts +48 -5
  568. package/dist/types/cart-constants.d.ts +0 -1
  569. package/dist/types/cart-types.d.ts +21 -21
  570. package/dist/types/codegen.helpers.d.ts +9 -0
  571. package/dist/types/image-size.d.ts +3 -3
  572. package/dist/types/index.d.cts +1 -0
  573. package/dist/types/index.d.ts +1 -0
  574. package/dist/types/load-script.d.ts +2 -2
  575. package/dist/types/metafield-parser.d.ts +27 -27
  576. package/dist/types/storefront-api-response.types.d.ts +6 -6
  577. package/dist/types/storefront-api-types.d.ts +1 -1
  578. package/dist/types/storefront-client.d.ts +20 -5
  579. package/dist/types/useCartActions.d.ts +1 -1
  580. package/dist/types/useMoney.d.ts +1 -1
  581. package/dist/umd/hydrogen-react.dev.js +143 -89
  582. package/dist/umd/hydrogen-react.dev.js.map +1 -1
  583. package/dist/umd/hydrogen-react.prod.js +16 -16
  584. package/dist/umd/hydrogen-react.prod.js.map +1 -1
  585. package/package.json +44 -29
  586. package/dist/dev/AddToCartButton.js.map +0 -1
  587. package/dist/dev/AddToCartButton.mjs.map +0 -1
  588. package/dist/dev/MediaFile.js.map +0 -1
  589. package/dist/dev/MediaFile.mjs.map +0 -1
  590. package/dist/dev/ShopifyProvider.js +0 -46
  591. package/dist/dev/ShopifyProvider.js.map +0 -1
  592. package/dist/dev/ShopifyProvider.mjs +0 -46
  593. package/dist/dev/ShopifyProvider.mjs.map +0 -1
  594. package/dist/dev/cart-constants.js.map +0 -1
  595. package/dist/dev/cart-constants.mjs.map +0 -1
  596. package/dist/dev/cart-hooks.js.map +0 -1
  597. package/dist/dev/cart-hooks.mjs.map +0 -1
  598. package/dist/dev/metafield-parser.js.map +0 -1
  599. package/dist/dev/metafield-parser.mjs.map +0 -1
  600. package/dist/dev/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js +0 -5
  601. package/dist/dev/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js.map +0 -1
  602. package/dist/dev/storefront-client.js.map +0 -1
  603. package/dist/dev/storefront-client.mjs.map +0 -1
  604. package/dist/prod/AddToCartButton.js.map +0 -1
  605. package/dist/prod/AddToCartButton.mjs.map +0 -1
  606. package/dist/prod/MediaFile.js.map +0 -1
  607. package/dist/prod/MediaFile.mjs.map +0 -1
  608. package/dist/prod/ShopifyProvider.js +0 -46
  609. package/dist/prod/ShopifyProvider.js.map +0 -1
  610. package/dist/prod/ShopifyProvider.mjs +0 -46
  611. package/dist/prod/ShopifyProvider.mjs.map +0 -1
  612. package/dist/prod/cart-constants.js.map +0 -1
  613. package/dist/prod/cart-constants.mjs.map +0 -1
  614. package/dist/prod/cart-hooks.js.map +0 -1
  615. package/dist/prod/cart-hooks.mjs.map +0 -1
  616. package/dist/prod/metafield-parser.js.map +0 -1
  617. package/dist/prod/metafield-parser.mjs.map +0 -1
  618. package/dist/prod/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js +0 -5
  619. package/dist/prod/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js.map +0 -1
  620. package/dist/prod/storefront-client.js.map +0 -1
  621. package/dist/prod/storefront-client.mjs.map +0 -1
@@ -1,4 +1,4 @@
1
- (function(L,g){typeof exports=="object"&&typeof module<"u"?g(exports,require("react")):typeof define=="function"&&define.amd?define(["exports","react"],g):(L=typeof globalThis<"u"?globalThis:L||self,g(L.hydrogenreact={},L.React))})(this,function(L,g){"use strict";const gr=e=>e&&typeof e=="object"&&"default"in e?e:{default:e};function pr(e){if(e&&e.__esModule)return e;const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const C=gr(g),Ce=pr(g);/*! *****************************************************************************
1
+ (function(O,g){typeof exports=="object"&&typeof module<"u"?g(exports,require("react")):typeof define=="function"&&define.amd?define(["exports","react"],g):(O=typeof globalThis<"u"?globalThis:O||self,g(O.hydrogenreact={},O.React))})(this,function(O,g){"use strict";const pr=e=>e&&typeof e=="object"&&"default"in e?e:{default:e};function Er(e){if(e&&e.__esModule)return e;const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const C=pr(g),Ce=Er(g);/*! *****************************************************************************
2
2
  Copyright (c) Microsoft Corporation.
3
3
 
4
4
  Permission to use, copy, modify, and/or distribute this software for any
@@ -11,7 +11,7 @@
11
11
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
12
12
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
13
13
  PERFORMANCE OF THIS SOFTWARE.
14
- ***************************************************************************** */function Te(e,r){var t=typeof Symbol=="function"&&e[Symbol.iterator];if(!t)return e;var n,o,i=t.call(e),u=[];try{for(;(r===void 0||r-- >0)&&!(n=i.next()).done;)u.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return u}var Y;(function(e){e[e.NotStarted=0]="NotStarted",e[e.Running=1]="Running",e[e.Stopped=2]="Stopped"})(Y||(Y={}));var Ne={type:"xstate.init"};function le(e){return e===void 0?[]:[].concat(e)}function Q(e){return{type:"xstate.assign",assignment:e}}function Ae(e,r){return typeof(e=typeof e=="string"&&r&&r[e]?r[e]:e)=="string"?{type:e}:typeof e=="function"?{type:e.name,exec:e}:e}function ae(e){return function(r){return e===r}}function we(e){return typeof e=="string"?{type:e}:e}function Ie(e,r){return{value:e,context:r,actions:[],changed:!1,matches:ae(e)}}function Oe(e,r,t){var n=r,o=!1;return[e.filter(function(i){if(i.type==="xstate.assign"){o=!0;var u=Object.assign({},n);return typeof i.assignment=="function"?u=i.assignment(n,t):Object.keys(i.assignment).forEach(function(a){u[a]=typeof i.assignment[a]=="function"?i.assignment[a](n,t):i.assignment[a]}),n=u,!1}return!0}),n,o]}function De(e,r){r===void 0&&(r={});var t=Te(Oe(le(e.states[e.initial].entry).map(function(u){return Ae(u,r.actions)}),e.context,Ne),2),n=t[0],o=t[1],i={config:e,_options:r,initialState:{value:e.initial,actions:n,context:o,matches:ae(e.initial)},transition:function(u,a){var l,s,m=typeof u=="string"?{value:u,context:e.context}:u,c=m.value,h=m.context,y=we(a),E=e.states[c];if(E.on){var T=le(E.on[y.type]);try{for(var f=function(D){var G=typeof Symbol=="function"&&Symbol.iterator,U=G&&D[G],se=0;if(U)return U.call(D);if(D&&typeof D.length=="number")return{next:function(){return D&&se>=D.length&&(D=void 0),{value:D&&D[se++],done:!D}}};throw new TypeError(G?"Object is not iterable.":"Symbol.iterator is not defined.")}(T),S=f.next();!S.done;S=f.next()){var v=S.value;if(v===void 0)return Ie(c,h);var b=typeof v=="string"?{target:v}:v,d=b.target,_=b.actions,p=_===void 0?[]:_,w=b.cond,I=w===void 0?function(){return!0}:w,A=d===void 0,O=d!=null?d:c,k=e.states[O];if(I(h,y)){var V=Te(Oe((A?le(p):[].concat(E.exit,p,k.entry).filter(function(D){return D})).map(function(D){return Ae(D,i._options.actions)}),h,y),3),F=V[0],W=V[1],K=V[2],q=d!=null?d:c;return{value:q,context:W,actions:F,changed:d!==c||F.length>0||K,matches:ae(q)}}}}catch(D){l={error:D}}finally{try{S&&!S.done&&(s=f.return)&&s.call(f)}finally{if(l)throw l.error}}}return Ie(c,h)}};return i}var Le=function(e,r){return e.actions.forEach(function(t){var n=t.exec;return n&&n(e.context,r)})};function Er(e){var r=e.initialState,t=Y.NotStarted,n=new Set,o={_machine:e,send:function(i){t===Y.Running&&(r=e.transition(r,i),Le(r,we(i)),n.forEach(function(u){return u(r)}))},subscribe:function(i){return n.add(i),i(r),{unsubscribe:function(){return n.delete(i)}}},start:function(i){if(i){var u=typeof i=="object"?i:{context:e.config.context,value:i};r={value:u.value,actions:[],context:u.context,matches:ae(u.value)}}else r=e.initialState;return t=Y.Running,Le(r,Ne),o},stop:function(){return t=Y.Stopped,n.clear(),o},get state(){return r},get status(){return t}};return o}var Sr=g.useLayoutEffect,Pe={exports:{}},de={},fe={exports:{}},me={};/**
14
+ ***************************************************************************** */function Te(e,r){var t=typeof Symbol=="function"&&e[Symbol.iterator];if(!t)return e;var n,u,a=t.call(e),o=[];try{for(;(r===void 0||r-- >0)&&!(n=a.next()).done;)o.push(n.value)}catch(i){u={error:i}}finally{try{n&&!n.done&&(t=a.return)&&t.call(a)}finally{if(u)throw u.error}}return o}var Y;(function(e){e[e.NotStarted=0]="NotStarted",e[e.Running=1]="Running",e[e.Stopped=2]="Stopped"})(Y||(Y={}));var Ne={type:"xstate.init"};function le(e){return e===void 0?[]:[].concat(e)}function Q(e){return{type:"xstate.assign",assignment:e}}function Ae(e,r){return typeof(e=typeof e=="string"&&r&&r[e]?r[e]:e)=="string"?{type:e}:typeof e=="function"?{type:e.name,exec:e}:e}function ae(e){return function(r){return e===r}}function we(e){return typeof e=="string"?{type:e}:e}function Ie(e,r){return{value:e,context:r,actions:[],changed:!1,matches:ae(e)}}function De(e,r,t){var n=r,u=!1;return[e.filter(function(a){if(a.type==="xstate.assign"){u=!0;var o=Object.assign({},n);return typeof a.assignment=="function"?o=a.assignment(n,t):Object.keys(a.assignment).forEach(function(i){o[i]=typeof a.assignment[i]=="function"?a.assignment[i](n,t):a.assignment[i]}),n=o,!1}return!0}),n,u]}function Oe(e,r){r===void 0&&(r={});var t=Te(De(le(e.states[e.initial].entry).map(function(o){return Ae(o,r.actions)}),e.context,Ne),2),n=t[0],u=t[1],a={config:e,_options:r,initialState:{value:e.initial,actions:n,context:u,matches:ae(e.initial)},transition:function(o,i){var l,s,m=typeof o=="string"?{value:o,context:e.context}:o,c=m.value,_=m.context,y=we(i),E=e.states[c];if(E.on){var T=le(E.on[y.type]);try{for(var f=function(L){var G=typeof Symbol=="function"&&Symbol.iterator,k=G&&L[G],se=0;if(k)return k.call(L);if(L&&typeof L.length=="number")return{next:function(){return L&&se>=L.length&&(L=void 0),{value:L&&L[se++],done:!L}}};throw new TypeError(G?"Object is not iterable.":"Symbol.iterator is not defined.")}(T),S=f.next();!S.done;S=f.next()){var b=S.value;if(b===void 0)return Ie(c,_);var v=typeof b=="string"?{target:b}:b,d=v.target,h=v.actions,p=h===void 0?[]:h,w=v.cond,I=w===void 0?function(){return!0}:w,A=d===void 0,D=d!=null?d:c,M=e.states[D];if(I(_,y)){var P=Te(De((A?le(p):[].concat(E.exit,p,M.entry).filter(function(L){return L})).map(function(L){return Ae(L,a._options.actions)}),_,y),3),F=P[0],W=P[1],z=P[2],q=d!=null?d:c;return{value:q,context:W,actions:F,changed:d!==c||F.length>0||z,matches:ae(q)}}}}catch(L){l={error:L}}finally{try{S&&!S.done&&(s=f.return)&&s.call(f)}finally{if(l)throw l.error}}}return Ie(c,_)}};return a}var Le=function(e,r){return e.actions.forEach(function(t){var n=t.exec;return n&&n(e.context,r)})};function Sr(e){var r=e.initialState,t=Y.NotStarted,n=new Set,u={_machine:e,send:function(a){t===Y.Running&&(r=e.transition(r,a),Le(r,we(a)),n.forEach(function(o){return o(r)}))},subscribe:function(a){return n.add(a),a(r),{unsubscribe:function(){return n.delete(a)}}},start:function(a){if(a){var o=typeof a=="object"?a:{context:e.config.context,value:a};r={value:o.value,actions:[],context:o.context,matches:ae(o.value)}}else r=e.initialState;return t=Y.Running,Le(r,Ne),u},stop:function(){return t=Y.Stopped,n.clear(),u},get state(){return r},get status(){return t}};return u}var br=g.useLayoutEffect,Ue={exports:{}},de={},fe={exports:{}},me={};/**
15
15
  * @license React
16
16
  * use-sync-external-store-shim.production.min.js
17
17
  *
@@ -19,7 +19,7 @@
19
19
  *
20
20
  * This source code is licensed under the MIT license found in the
21
21
  * LICENSE file in the root directory of this source tree.
22
- */var Ue;function vr(){if(Ue)return me;Ue=1;var e=C.default;function r(c,h){return c===h&&(c!==0||1/c===1/h)||c!==c&&h!==h}var t=typeof Object.is=="function"?Object.is:r,n=e.useState,o=e.useEffect,i=e.useLayoutEffect,u=e.useDebugValue;function a(c,h){var y=h(),E=n({inst:{value:y,getSnapshot:h}}),T=E[0].inst,f=E[1];return i(function(){T.value=y,T.getSnapshot=h,l(T)&&f({inst:T})},[c,y,h]),o(function(){return l(T)&&f({inst:T}),c(function(){l(T)&&f({inst:T})})},[c]),u(y),y}function l(c){var h=c.getSnapshot;c=c.value;try{var y=h();return!t(c,y)}catch{return!0}}function s(c,h){return h()}var m=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?s:a;return me.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:m,me}var ye={};/**
22
+ */var ke;function vr(){if(ke)return me;ke=1;var e=C.default;function r(c,_){return c===_&&(c!==0||1/c===1/_)||c!==c&&_!==_}var t=typeof Object.is=="function"?Object.is:r,n=e.useState,u=e.useEffect,a=e.useLayoutEffect,o=e.useDebugValue;function i(c,_){var y=_(),E=n({inst:{value:y,getSnapshot:_}}),T=E[0].inst,f=E[1];return a(function(){T.value=y,T.getSnapshot=_,l(T)&&f({inst:T})},[c,y,_]),u(function(){return l(T)&&f({inst:T}),c(function(){l(T)&&f({inst:T})})},[c]),o(y),y}function l(c){var _=c.getSnapshot;c=c.value;try{var y=_();return!t(c,y)}catch{return!0}}function s(c,_){return _()}var m=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?s:i;return me.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:m,me}var ye={};/**
23
23
  * @license React
24
24
  * use-sync-external-store-shim.development.js
25
25
  *
@@ -27,7 +27,7 @@
27
27
  *
28
28
  * This source code is licensed under the MIT license found in the
29
29
  * LICENSE file in the root directory of this source tree.
30
- */var ke;function br(){return ke||(ke=1,process.env.NODE_ENV!=="production"&&function(){typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var e=C.default,r=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function t(b){{for(var d=arguments.length,_=new Array(d>1?d-1:0),p=1;p<d;p++)_[p-1]=arguments[p];n("error",b,_)}}function n(b,d,_){{var p=r.ReactDebugCurrentFrame,w=p.getStackAddendum();w!==""&&(d+="%s",_=_.concat([w]));var I=_.map(function(A){return String(A)});I.unshift("Warning: "+d),Function.prototype.apply.call(console[b],console,I)}}function o(b,d){return b===d&&(b!==0||1/b===1/d)||b!==b&&d!==d}var i=typeof Object.is=="function"?Object.is:o,u=e.useState,a=e.useEffect,l=e.useLayoutEffect,s=e.useDebugValue,m=!1,c=!1;function h(b,d,_){m||e.startTransition!==void 0&&(m=!0,t("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."));var p=d();if(!c){var w=d();i(p,w)||(t("The result of getSnapshot should be cached to avoid an infinite loop"),c=!0)}var I=u({inst:{value:p,getSnapshot:d}}),A=I[0].inst,O=I[1];return l(function(){A.value=p,A.getSnapshot=d,y(A)&&O({inst:A})},[b,p,d]),a(function(){y(A)&&O({inst:A});var k=function(){y(A)&&O({inst:A})};return b(k)},[b]),s(p),p}function y(b){var d=b.getSnapshot,_=b.value;try{var p=d();return!i(_,p)}catch{return!0}}function E(b,d,_){return d()}var T=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",f=!T,S=f?E:h,v=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:S;ye.useSyncExternalStore=v,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error)}()),ye}var Re;function Me(){return Re||(Re=1,function(e){process.env.NODE_ENV==="production"?e.exports=vr():e.exports=br()}(fe)),fe.exports}/**
30
+ */var Me;function Cr(){return Me||(Me=1,process.env.NODE_ENV!=="production"&&function(){typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var e=C.default,r=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function t(v){{for(var d=arguments.length,h=new Array(d>1?d-1:0),p=1;p<d;p++)h[p-1]=arguments[p];n("error",v,h)}}function n(v,d,h){{var p=r.ReactDebugCurrentFrame,w=p.getStackAddendum();w!==""&&(d+="%s",h=h.concat([w]));var I=h.map(function(A){return String(A)});I.unshift("Warning: "+d),Function.prototype.apply.call(console[v],console,I)}}function u(v,d){return v===d&&(v!==0||1/v===1/d)||v!==v&&d!==d}var a=typeof Object.is=="function"?Object.is:u,o=e.useState,i=e.useEffect,l=e.useLayoutEffect,s=e.useDebugValue,m=!1,c=!1;function _(v,d,h){m||e.startTransition!==void 0&&(m=!0,t("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."));var p=d();if(!c){var w=d();a(p,w)||(t("The result of getSnapshot should be cached to avoid an infinite loop"),c=!0)}var I=o({inst:{value:p,getSnapshot:d}}),A=I[0].inst,D=I[1];return l(function(){A.value=p,A.getSnapshot=d,y(A)&&D({inst:A})},[v,p,d]),i(function(){y(A)&&D({inst:A});var M=function(){y(A)&&D({inst:A})};return v(M)},[v]),s(p),p}function y(v){var d=v.getSnapshot,h=v.value;try{var p=d();return!a(h,p)}catch{return!0}}function E(v,d,h){return d()}var T=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",f=!T,S=f?E:_,b=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:S;ye.useSyncExternalStore=b,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error)}()),ye}var Re;function $e(){return Re||(Re=1,function(e){process.env.NODE_ENV==="production"?e.exports=vr():e.exports=Cr()}(fe)),fe.exports}/**
31
31
  * @license React
32
32
  * use-sync-external-store-shim/with-selector.production.min.js
33
33
  *
@@ -35,7 +35,7 @@
35
35
  *
36
36
  * This source code is licensed under the MIT license found in the
37
37
  * LICENSE file in the root directory of this source tree.
38
- */var Ve;function Cr(){if(Ve)return de;Ve=1;var e=C.default,r=Me();function t(s,m){return s===m&&(s!==0||1/s===1/m)||s!==s&&m!==m}var n=typeof Object.is=="function"?Object.is:t,o=r.useSyncExternalStore,i=e.useRef,u=e.useEffect,a=e.useMemo,l=e.useDebugValue;return de.useSyncExternalStoreWithSelector=function(s,m,c,h,y){var E=i(null);if(E.current===null){var T={hasValue:!1,value:null};E.current=T}else T=E.current;E=a(function(){function S(p){if(!v){if(v=!0,b=p,p=h(p),y!==void 0&&T.hasValue){var w=T.value;if(y(w,p))return d=w}return d=p}if(w=d,n(b,p))return w;var I=h(p);return y!==void 0&&y(w,I)?w:(b=p,d=I)}var v=!1,b,d,_=c===void 0?null:c;return[function(){return S(m())},_===null?void 0:function(){return S(_())}]},[m,c,h,y]);var f=o(s,E[0],E[1]);return u(function(){T.hasValue=!0,T.value=f},[f]),l(f),f},de}var _e={};/**
38
+ */var Pe;function Tr(){if(Pe)return de;Pe=1;var e=C.default,r=$e();function t(s,m){return s===m&&(s!==0||1/s===1/m)||s!==s&&m!==m}var n=typeof Object.is=="function"?Object.is:t,u=r.useSyncExternalStore,a=e.useRef,o=e.useEffect,i=e.useMemo,l=e.useDebugValue;return de.useSyncExternalStoreWithSelector=function(s,m,c,_,y){var E=a(null);if(E.current===null){var T={hasValue:!1,value:null};E.current=T}else T=E.current;E=i(function(){function S(p){if(!b){if(b=!0,v=p,p=_(p),y!==void 0&&T.hasValue){var w=T.value;if(y(w,p))return d=w}return d=p}if(w=d,n(v,p))return w;var I=_(p);return y!==void 0&&y(w,I)?w:(v=p,d=I)}var b=!1,v,d,h=c===void 0?null:c;return[function(){return S(m())},h===null?void 0:function(){return S(h())}]},[m,c,_,y]);var f=u(s,E[0],E[1]);return o(function(){T.hasValue=!0,T.value=f},[f]),l(f),f},de}var he={};/**
39
39
  * @license React
40
40
  * use-sync-external-store-shim/with-selector.development.js
41
41
  *
@@ -43,7 +43,7 @@
43
43
  *
44
44
  * This source code is licensed under the MIT license found in the
45
45
  * LICENSE file in the root directory of this source tree.
46
- */var $e;function Tr(){return $e||($e=1,process.env.NODE_ENV!=="production"&&function(){typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var e=C.default,r=Me();function t(m,c){return m===c&&(m!==0||1/m===1/c)||m!==m&&c!==c}var n=typeof Object.is=="function"?Object.is:t,o=r.useSyncExternalStore,i=e.useRef,u=e.useEffect,a=e.useMemo,l=e.useDebugValue;function s(m,c,h,y,E){var T=i(null),f;T.current===null?(f={hasValue:!1,value:null},T.current=f):f=T.current;var S=a(function(){var _=!1,p,w,I=function(V){if(!_){_=!0,p=V;var F=y(V);if(E!==void 0&&f.hasValue){var W=f.value;if(E(W,F))return w=W,W}return w=F,F}var K=p,q=w;if(n(K,V))return q;var D=y(V);return E!==void 0&&E(q,D)?q:(p=V,w=D,D)},A=h===void 0?null:h,O=function(){return I(c())},k=A===null?void 0:function(){return I(A())};return[O,k]},[c,h,y,E]),v=S[0],b=S[1],d=o(m,v,b);return u(function(){f.hasValue=!0,f.value=d},[d]),l(d),d}_e.useSyncExternalStoreWithSelector=s,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error)}()),_e}(function(e){process.env.NODE_ENV==="production"?e.exports=Cr():e.exports=Tr()})(Pe);function Nr(e){var r=Ce.useRef();return r.current||(r.current={v:e()}),r.current.v}var Fe=globalThis&&globalThis.__read||function(e,r){var t=typeof Symbol=="function"&&e[Symbol.iterator];if(!t)return e;var n=t.call(e),o,i=[],u;try{for(;(r===void 0||r-- >0)&&!(o=n.next()).done;)i.push(o.value)}catch(a){u={error:a}}finally{try{o&&!o.done&&(t=n.return)&&t.call(n)}finally{if(u)throw u.error}}return i};function Ar(e){return e}var wr=function(e){var r;return e.subscribe(function(t){r=t}).unsubscribe(),r};function Ir(e,r){var t=g.useRef();if(process.env.NODE_ENV!=="production"){var n=Fe(g.useState(e),1),o=n[0];e!==o&&console.warn("Machine given to `useMachine` has changed between renders. This is not supported and might lead to unexpected results.\nPlease make sure that you pass the same Machine as argument each time.")}var i=Fe(Nr(function(){var s=[],m=Er(De(e.config,r||e._options)),c=m.send;return m.send=function(h){if(m.status===Y.NotStarted){s.push(h);return}c(h),t.current=m.state},[m,s]}),2),u=i[0],a=i[1];Sr(function(){r&&(u._machine._options=r)});var l=Dr(u);return g.useEffect(function(){return u.start(t.current),a.forEach(u.send),t.current=u.state,function(){u.stop()}},[]),l}var Or=function(e,r){return r.changed===!1};function Dr(e){var r=g.useCallback(function(){return wr(e)},[e]),t=g.useCallback(function(o){var i=e.subscribe(o).unsubscribe;return i},[e]),n=Pe.exports.useSyncExternalStoreWithSelector(t,r,r,Ar,Or);return[n,e.send,e]}function x(e){if(!e){const r=`flattenConnection(): needs a 'connection' to flatten, but received '${e}' instead`;return console.error(r),[]}return e.nodes?e.nodes:e.edges?e.edges.map(r=>{if(!(r!=null&&r.node))throw new Error("Connection edges must contain nodes");return r.node}):[]}const Lr=e=>`
46
+ */var Ve;function Nr(){return Ve||(Ve=1,process.env.NODE_ENV!=="production"&&function(){typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var e=C.default,r=$e();function t(m,c){return m===c&&(m!==0||1/m===1/c)||m!==m&&c!==c}var n=typeof Object.is=="function"?Object.is:t,u=r.useSyncExternalStore,a=e.useRef,o=e.useEffect,i=e.useMemo,l=e.useDebugValue;function s(m,c,_,y,E){var T=a(null),f;T.current===null?(f={hasValue:!1,value:null},T.current=f):f=T.current;var S=i(function(){var h=!1,p,w,I=function(P){if(!h){h=!0,p=P;var F=y(P);if(E!==void 0&&f.hasValue){var W=f.value;if(E(W,F))return w=W,W}return w=F,F}var z=p,q=w;if(n(z,P))return q;var L=y(P);return E!==void 0&&E(q,L)?q:(p=P,w=L,L)},A=_===void 0?null:_,D=function(){return I(c())},M=A===null?void 0:function(){return I(A())};return[D,M]},[c,_,y,E]),b=S[0],v=S[1],d=u(m,b,v);return o(function(){f.hasValue=!0,f.value=d},[d]),l(d),d}he.useSyncExternalStoreWithSelector=s,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error)}()),he}(function(e){process.env.NODE_ENV==="production"?e.exports=Tr():e.exports=Nr()})(Ue);function Ar(e){var r=Ce.useRef();return r.current||(r.current={v:e()}),r.current.v}var Fe=globalThis&&globalThis.__read||function(e,r){var t=typeof Symbol=="function"&&e[Symbol.iterator];if(!t)return e;var n=t.call(e),u,a=[],o;try{for(;(r===void 0||r-- >0)&&!(u=n.next()).done;)a.push(u.value)}catch(i){o={error:i}}finally{try{u&&!u.done&&(t=n.return)&&t.call(n)}finally{if(o)throw o.error}}return a};function wr(e){return e}var Ir=function(e){var r;return e.subscribe(function(t){r=t}).unsubscribe(),r};function Dr(e,r){var t=g.useRef();if(process.env.NODE_ENV!=="production"){var n=Fe(g.useState(e),1),u=n[0];e!==u&&console.warn("Machine given to `useMachine` has changed between renders. This is not supported and might lead to unexpected results.\nPlease make sure that you pass the same Machine as argument each time.")}var a=Fe(Ar(function(){var s=[],m=Sr(Oe(e.config,r||e._options)),c=m.send;return m.send=function(_){if(m.status===Y.NotStarted){s.push(_);return}c(_),t.current=m.state},[m,s]}),2),o=a[0],i=a[1];br(function(){r&&(o._machine._options=r)});var l=Lr(o);return g.useEffect(function(){return o.start(t.current),i.forEach(o.send),t.current=o.state,function(){o.stop()}},[]),l}var Or=function(e,r){return r.changed===!1};function Lr(e){var r=g.useCallback(function(){return Ir(e)},[e]),t=g.useCallback(function(u){var a=e.subscribe(u).unsubscribe;return a},[e]),n=Ue.exports.useSyncExternalStoreWithSelector(t,r,r,wr,Or);return[n,e.send,e]}function x(e){if(!e){const r=`flattenConnection(): needs a 'connection' to flatten, but received '${e}' instead`;return console.error(r),[]}return e.nodes?e.nodes:e.edges?e.edges.map(r=>{if(!(r!=null&&r.node))throw new Error("Connection edges must contain nodes");return r.node}):[]}const Ur=e=>`
47
47
  mutation CartLineAdd($cartId: ID!, $lines: [CartLineInput!]!, $numCartLines: Int = 250, $country: CountryCode = ZZ) @inContext(country: $country) {
48
48
  cartLinesAdd(cartId: $cartId, lines: $lines) {
49
49
  cart {
@@ -53,7 +53,7 @@ mutation CartLineAdd($cartId: ID!, $lines: [CartLineInput!]!, $numCartLines: Int
53
53
  }
54
54
 
55
55
  ${e}
56
- `,Pr=e=>`
56
+ `,kr=e=>`
57
57
  mutation CartCreate($input: CartInput!, $numCartLines: Int = 250, $country: CountryCode = ZZ) @inContext(country: $country) {
58
58
  cartCreate(input: $input) {
59
59
  cart {
@@ -63,7 +63,7 @@ mutation CartCreate($input: CartInput!, $numCartLines: Int = 250, $country: Coun
63
63
  }
64
64
 
65
65
  ${e}
66
- `,Ur=e=>`
66
+ `,Mr=e=>`
67
67
  mutation CartLineRemove($cartId: ID!, $lines: [ID!]!, $numCartLines: Int = 250, $country: CountryCode = ZZ) @inContext(country: $country) {
68
68
  cartLinesRemove(cartId: $cartId, lineIds: $lines) {
69
69
  cart {
@@ -73,7 +73,7 @@ mutation CartLineRemove($cartId: ID!, $lines: [ID!]!, $numCartLines: Int = 250,
73
73
  }
74
74
 
75
75
  ${e}
76
- `,kr=e=>`
76
+ `,Rr=e=>`
77
77
  mutation CartLineUpdate($cartId: ID!, $lines: [CartLineUpdateInput!]!, $numCartLines: Int = 250, $country: CountryCode = ZZ) @inContext(country: $country) {
78
78
  cartLinesUpdate(cartId: $cartId, lines: $lines) {
79
79
  cart {
@@ -83,7 +83,7 @@ mutation CartLineUpdate($cartId: ID!, $lines: [CartLineUpdateInput!]!, $numCartL
83
83
  }
84
84
 
85
85
  ${e}
86
- `,Rr=e=>`
86
+ `,$r=e=>`
87
87
  mutation CartNoteUpdate($cartId: ID!, $note: String, $numCartLines: Int = 250, $country: CountryCode = ZZ) @inContext(country: $country) {
88
88
  cartNoteUpdate(cartId: $cartId, note: $note) {
89
89
  cart {
@@ -93,7 +93,7 @@ mutation CartNoteUpdate($cartId: ID!, $note: String, $numCartLines: Int = 250, $
93
93
  }
94
94
 
95
95
  ${e}
96
- `,Mr=e=>`
96
+ `,Pr=e=>`
97
97
  mutation CartBuyerIdentityUpdate(
98
98
  $cartId: ID!
99
99
  $buyerIdentity: CartBuyerIdentityInput!
@@ -118,7 +118,7 @@ mutation CartAttributesUpdate($attributes: [AttributeInput!]!, $cartId: ID!, $nu
118
118
  }
119
119
 
120
120
  ${e}
121
- `,$r=e=>`
121
+ `,Fr=e=>`
122
122
  mutation CartDiscountCodesUpdate($cartId: ID!, $discountCodes: [String!], $numCartLines: Int = 250, $country: CountryCode = ZZ) @inContext(country: $country) {
123
123
  cartDiscountCodesUpdate(cartId: $cartId, discountCodes: $discountCodes) {
124
124
  cart {
@@ -128,7 +128,7 @@ mutation CartDiscountCodesUpdate($cartId: ID!, $discountCodes: [String!], $numCa
128
128
  }
129
129
 
130
130
  ${e}
131
- `,Fr=e=>`
131
+ `,xr=e=>`
132
132
  query CartQuery($id: ID!, $numCartLines: Int = 250, $country: CountryCode = ZZ) @inContext(country: $country) {
133
133
  cart(id: $id) {
134
134
  ...CartFragment
@@ -136,7 +136,7 @@ query CartQuery($id: ID!, $numCartLines: Int = 250, $country: CountryCode = ZZ)
136
136
  }
137
137
 
138
138
  ${e}
139
- `,X="2022-10";var xr="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ShopifyProvider.tsx";const xe=g.createContext({storeDomain:"test.myshopify.com",storefrontToken:"abc123",storefrontApiVersion:X,country:{isoCode:"US"},language:{isoCode:"EN"},locale:"EN-US"});function jr({children:e,shopifyConfig:r}){if(!r)throw new Error("The 'shopifyConfig' prop must be passed to '<ShopifyProvider/>'");r.storefrontApiVersion!==X&&console.warn(`This version of Hydrogen-UI is built for Shopify's Storefront API version ${X}, but it looks like you're using version ${r.storefrontApiVersion}. There may be issues or bugs if you use a mismatched version of Hydrogen-UI and the Storefront API.`);const t=g.useMemo(()=>({...r,storeDomain:r.storeDomain.replace(/^https?:\/\//,"")}),[r]);return C.default.createElement(xe.Provider,{value:t,__self:this,__source:{fileName:xr,lineNumber:49,columnNumber:5}},e)}function J(){const e=g.useContext(xe);if(!e)throw new Error("'useShop()' must be a descendent of <ShopifyProvider/>");return e}const he="shopifyCartId",Br="X-Shopify-Storefront-Access-Token",qr="Shopify-Storefront-Id",Hr="Shopify-Storefront-Y",Wr="Shopify-Storefront-S",je="_shopify_y",Be="_shopify_s";var Yr=new Set(["domain","path","max-age","expires","samesite","secure","httponly"]);function Gr(e){let r={},t,n,o=0,i=e.split(/;\s*/g),u,a;for(;o<i.length;o++)if(n=i[o],t=n.indexOf("="),~t){if(u=n.substring(0,t++).trim(),a=n.substring(t).trim(),a[0]==='"'&&(a=a.substring(1,a.length-1)),~a.indexOf("%"))try{a=decodeURIComponent(a)}catch{}Yr.has(n=u.toLowerCase())?n==="expires"?r.expires=new Date(a):n==="max-age"?r.maxage=+a:r[n]=a:r[u]=a}else(u=n.trim().toLowerCase())&&(u==="httponly"||u==="secure")&&(r[u]=!0);return r}function Zr(){const{storeDomain:e,storefrontApiVersion:r,storefrontToken:t,storefrontId:n}=J();return g.useCallback(({query:o,variables:i})=>{const u={"Content-Type":"application/json","X-SDK-Variant":"hydrogen","X-SDK-Version":r,[Br]:t};n&&(u[qr]=n);const a=Gr(document.cookie);return a[je]&&a[Be]&&(u[Hr]=a[je],u[Wr]=a[Be]),fetch(`https://${e}/api/${r}/graphql.json`,{method:"POST",headers:u,body:JSON.stringify({query:o.toString(),variables:i})}).then(l=>l.json()).catch(l=>({data:void 0,errors:l.toString()}))},[e,r,t,n])}function Kr({numCartLines:e,cartFragment:r,countryCode:t="US"}){const n=Zr(),o=g.useCallback(y=>n({query:Fr(r),variables:{id:y,numCartLines:e,country:t}}),[n,r,e,t]),i=g.useCallback(y=>n({query:Pr(r),variables:{input:y,numCartLines:e,country:t}}),[r,t,n,e]),u=g.useCallback((y,E)=>n({query:Lr(r),variables:{cartId:y,lines:E,numCartLines:e,country:t}}),[r,t,n,e]),a=g.useCallback((y,E)=>n({query:kr(r),variables:{cartId:y,lines:E,numCartLines:e,country:t}}),[r,t,n,e]),l=g.useCallback((y,E)=>n({query:Ur(r),variables:{cartId:y,lines:E,numCartLines:e,country:t}}),[r,t,n,e]),s=g.useCallback((y,E)=>n({query:Rr(r),variables:{cartId:y,note:E,numCartLines:e,country:t}}),[n,r,e,t]),m=g.useCallback((y,E)=>n({query:Mr(r),variables:{cartId:y,buyerIdentity:E,numCartLines:e,country:t}}),[r,t,n,e]),c=g.useCallback((y,E)=>n({query:Vr(r),variables:{cartId:y,attributes:E,numCartLines:e,country:t}}),[r,t,n,e]),h=g.useCallback((y,E)=>n({query:$r(r),variables:{cartId:y,discountCodes:E,numCartLines:e,country:t}}),[r,t,n,e]);return g.useMemo(()=>({cartFetch:o,cartCreate:i,cartLineAdd:u,cartLineUpdate:a,cartLineRemove:l,noteUpdate:s,buyerIdentityUpdate:m,cartAttributesUpdate:c,discountCodesUpdate:h,cartFragment:r}),[o,i,u,a,l,s,m,c,h,r])}function j(e,r){return{entry:[...(r==null?void 0:r.entryActions)||[],"onCartActionEntry","onCartActionOptimisticUI",e],on:{RESOLVE:{target:(r==null?void 0:r.resolveTarget)||"idle",actions:[Q({prevCart:t=>t==null?void 0:t.cart,cart:(t,n)=>{var o;return(o=n==null?void 0:n.payload)==null?void 0:o.cart},rawCartResult:(t,n)=>{var o;return(o=n==null?void 0:n.payload)==null?void 0:o.rawCartResult},errors:t=>{}})]},ERROR:{target:(r==null?void 0:r.errorTarget)||"error",actions:[Q({prevCart:t=>t==null?void 0:t.cart,cart:t=>t==null?void 0:t.lastValidCart,errors:(t,n)=>{var o;return(o=n==null?void 0:n.payload)==null?void 0:o.errors}})]},CART_COMPLETED:{target:"cartCompleted",actions:Q({prevCart:t=>{},cart:t=>{},lastValidCart:t=>{},errors:t=>{}})}},exit:["onCartActionComplete",...(r==null?void 0:r.exitActions)||[]]}}const ee={CART_FETCH:{target:"cartFetching"},CART_CREATE:{target:"cartCreating"},CART_SET:{target:"idle",actions:[Q({rawCartResult:(e,r)=>r.payload.cart,cart:(e,r)=>ge(r.payload.cart)})]}},qe={CARTLINE_ADD:{target:"cartLineAdding"},CARTLINE_UPDATE:{target:"cartLineUpdating"},CARTLINE_REMOVE:{target:"cartLineRemoving"},NOTE_UPDATE:{target:"noteUpdating"},BUYER_IDENTITY_UPDATE:{target:"buyerIdentityUpdating"},CART_ATTRIBUTES_UPDATE:{target:"cartAttributesUpdating"},DISCOUNT_CODES_UPDATE:{target:"discountCodesUpdating"}};function zr(e){return De({id:"Cart",initial:e?"idle":"uninitialized",context:{cart:e&&ge(e)},states:{uninitialized:{on:ee},cartCompleted:{on:ee},initializationError:{on:ee},idle:{on:{...ee,...qe}},error:{on:{...ee,...qe}},cartFetching:j("cartFetchAction",{errorTarget:"initializationError"}),cartCreating:j("cartCreateAction",{errorTarget:"initializationError"}),cartLineRemoving:j("cartLineRemoveAction"),cartLineUpdating:j("cartLineUpdateAction"),cartLineAdding:j("cartLineAddAction"),noteUpdating:j("noteUpdateAction"),buyerIdentityUpdating:j("buyerIdentityUpdateAction"),cartAttributesUpdating:j("cartAttributesUpdateAction"),discountCodesUpdating:j("discountCodesUpdateAction")}})}function Qr({numCartLines:e,onCartActionEntry:r,onCartActionOptimisticUI:t,onCartActionComplete:n,data:o,cartFragment:i,countryCode:u}){const{cartFetch:a,cartCreate:l,cartLineAdd:s,cartLineUpdate:m,cartLineRemove:c,noteUpdate:h,buyerIdentityUpdate:y,cartAttributesUpdate:E,discountCodesUpdate:T}=Kr({numCartLines:e,cartFragment:i,countryCode:u}),f=g.useMemo(()=>zr(o),[o]),[S,v,b]=Ir(f,{actions:{cartFetchAction:async(d,_)=>{var A;if(_.type!=="CART_FETCH")return;const{data:p,errors:w}=await a((A=_==null?void 0:_.payload)==null?void 0:A.cartId),I=B(_,p==null?void 0:p.cart,w);v(I)},cartCreateAction:async(d,_)=>{var A;if(_.type!=="CART_CREATE")return;const{data:p,errors:w}=await l(_==null?void 0:_.payload),I=B(_,(A=p==null?void 0:p.cartCreate)==null?void 0:A.cart,w);v(I)},cartLineAddAction:async(d,_)=>{var A,O;if(_.type!=="CARTLINE_ADD"||!((A=d==null?void 0:d.cart)!=null&&A.id))return;const{data:p,errors:w}=await s(d.cart.id,_.payload.lines),I=B(_,(O=p==null?void 0:p.cartLinesAdd)==null?void 0:O.cart,w);v(I)},cartLineUpdateAction:async(d,_)=>{var A,O;if(_.type!=="CARTLINE_UPDATE"||!((A=d==null?void 0:d.cart)!=null&&A.id))return;const{data:p,errors:w}=await m(d.cart.id,_.payload.lines),I=B(_,(O=p==null?void 0:p.cartLinesUpdate)==null?void 0:O.cart,w);v(I)},cartLineRemoveAction:async(d,_)=>{var A,O;if(_.type!=="CARTLINE_REMOVE"||!((A=d==null?void 0:d.cart)!=null&&A.id))return;const{data:p,errors:w}=await c(d.cart.id,_.payload.lines),I=B(_,(O=p==null?void 0:p.cartLinesRemove)==null?void 0:O.cart,w);v(I)},noteUpdateAction:async(d,_)=>{var A,O;if(_.type!=="NOTE_UPDATE"||!((A=d==null?void 0:d.cart)!=null&&A.id))return;const{data:p,errors:w}=await h(d.cart.id,_.payload.note),I=B(_,(O=p==null?void 0:p.cartNoteUpdate)==null?void 0:O.cart,w);v(I)},buyerIdentityUpdateAction:async(d,_)=>{var A,O;if(_.type!=="BUYER_IDENTITY_UPDATE"||!((A=d==null?void 0:d.cart)!=null&&A.id))return;const{data:p,errors:w}=await y(d.cart.id,_.payload.buyerIdentity),I=B(_,(O=p==null?void 0:p.cartBuyerIdentityUpdate)==null?void 0:O.cart,w);v(I)},cartAttributesUpdateAction:async(d,_)=>{var A,O;if(_.type!=="CART_ATTRIBUTES_UPDATE"||!((A=d==null?void 0:d.cart)!=null&&A.id))return;const{data:p,errors:w}=await E(d.cart.id,_.payload.attributes),I=B(_,(O=p==null?void 0:p.cartAttributesUpdate)==null?void 0:O.cart,w);v(I)},discountCodesUpdateAction:async(d,_)=>{var A,O;if(_.type!=="DISCOUNT_CODES_UPDATE"||!((A=d==null?void 0:d.cart)!=null&&A.id))return;const{data:p,errors:w}=await T(d.cart.id,_.payload.discountCodes),I=B(_,(O=p==null?void 0:p.cartDiscountCodesUpdate)==null?void 0:O.cart,w);v(I)},...r&&{onCartActionEntry:(d,_)=>{Xr(_)&&r(d,_)}},...t&&{onCartActionOptimisticUI:Q((d,_)=>t(d,_))},...n&&{onCartActionComplete:(d,_)=>{Jr(_)&&n(d,_)}}}});return g.useMemo(()=>[S,v,b],[S,v,b])}function ge(e){var r;return{...e,lines:x(e==null?void 0:e.lines),note:(r=e.note)!=null?r:void 0}}function B(e,r,t){return t?{type:"ERROR",payload:{errors:t,cartActionEvent:e}}:r?{type:"RESOLVE",payload:{cart:ge(r),rawCartResult:r,cartActionEvent:e}}:{type:"CART_COMPLETED",payload:{cartActionEvent:e}}}function Xr(e){return e.type==="CART_CREATE"||e.type==="CARTLINE_ADD"||e.type==="CARTLINE_UPDATE"||e.type==="CARTLINE_REMOVE"||e.type==="NOTE_UPDATE"||e.type==="BUYER_IDENTITY_UPDATE"||e.type==="CART_ATTRIBUTES_UPDATE"||e.type==="DISCOUNT_CODES_UPDATE"}function Jr(e){return e.type==="RESOLVE"||e.type==="ERROR"||e.type==="CART_COMPLETED"}var et="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/CartProvider.tsx";const He=g.createContext(null);function ie(){const e=g.useContext(He);if(!e)throw new Error("Expected a Cart Context, but no Cart Context was found");return e}function rt({children:e,numCartLines:r,onCreate:t,onLineAdd:n,onLineRemove:o,onLineUpdate:i,onNoteUpdate:u,onBuyerIdentityUpdate:a,onAttributesUpdate:l,onDiscountCodesUpdate:s,onCreateComplete:m,onLineAddComplete:c,onLineRemoveComplete:h,onLineUpdateComplete:y,onNoteUpdateComplete:E,onBuyerIdentityUpdateComplete:T,onAttributesUpdateComplete:f,onDiscountCodesUpdateComplete:S,data:v,cartFragment:b=it,customerAccessToken:d,countryCode:_="US"}){var lr,dr,fr,mr,yr,_r,hr;_&&(_=_.toUpperCase());const[p,w]=g.useState(_),[I,A]=g.useState(d),O=g.useRef(!1);(p!==_||I!==d)&&(w(_),A(d),O.current=!1);const[k,V]=Qr({numCartLines:r,data:v,cartFragment:b,countryCode:_,onCartActionEntry(N,R){try{switch(R.type){case"CART_CREATE":return t==null?void 0:t();case"CARTLINE_ADD":return n==null?void 0:n();case"CARTLINE_REMOVE":return o==null?void 0:o();case"CARTLINE_UPDATE":return i==null?void 0:i();case"NOTE_UPDATE":return u==null?void 0:u();case"BUYER_IDENTITY_UPDATE":return a==null?void 0:a();case"CART_ATTRIBUTES_UPDATE":return l==null?void 0:l();case"DISCOUNT_CODES_UPDATE":return s==null?void 0:s()}}catch($){console.error("Cart entry action failed",$)}},onCartActionOptimisticUI(N,R){var $,H,te,ne;if(!(N!=null&&N.cart))return{cart:void 0};switch(R.type){case"CARTLINE_REMOVE":return{...N,lastValidCart:N.cart,cart:{...N.cart,lines:(H=($=N==null?void 0:N.cart)==null?void 0:$.lines)==null?void 0:H.filter(P=>(P==null?void 0:P.id)&&!R.payload.lines.includes(P==null?void 0:P.id))}};case"CARTLINE_UPDATE":return{...N,lastValidCart:N.cart,cart:{...N.cart,lines:(ne=(te=N==null?void 0:N.cart)==null?void 0:te.lines)==null?void 0:ne.map(P=>{const z=R.payload.lines.find(({id:ce})=>ce===(P==null?void 0:P.id));return z&&z.quantity?{...P,quantity:z.quantity}:P})}}}return{cart:N.cart?{...N.cart}:void 0}},onCartActionComplete(N,R){const $=R.payload.cartActionEvent;try{switch(R.type){case"RESOLVE":switch($.type){case"CART_CREATE":return m==null?void 0:m();case"CARTLINE_ADD":return c==null?void 0:c();case"CARTLINE_REMOVE":return h==null?void 0:h();case"CARTLINE_UPDATE":return y==null?void 0:y();case"NOTE_UPDATE":return E==null?void 0:E();case"BUYER_IDENTITY_UPDATE":return at(N,$)&&(O.current=!0),T==null?void 0:T();case"CART_ATTRIBUTES_UPDATE":return f==null?void 0:f();case"DISCOUNT_CODES_UPDATE":return S==null?void 0:S()}}}catch(H){console.error("onCartActionComplete failed",H)}}}),F=g.useRef(!1),W=k.matches("cartCompleted"),K=(k.value==="idle"||k.value==="error"||k.value==="cartCompleted")&&_!==((fr=(dr=(lr=k==null?void 0:k.context)==null?void 0:lr.cart)==null?void 0:dr.buyerIdentity)==null?void 0:fr.countryCode)&&!k.context.errors,q=g.useRef(!1);g.useEffect(()=>{if(!F.current&&!q.current){if(!v&&pe("localStorage")){q.current=!0;try{const N=window.localStorage.getItem(he);N&&V({type:"CART_FETCH",payload:{cartId:N}})}catch(N){console.warn("error fetching cartId"),console.warn(N)}}F.current=!0}},[v,F,V]),g.useEffect(()=>{!K||O.current||V({type:"BUYER_IDENTITY_UPDATE",payload:{buyerIdentity:{countryCode:_,customerAccessToken:d}}})},[_,d,K,O,V]);const D=g.useCallback(N=>{if(!F.current)return console.warn("Cart isn't ready yet");V(N)},[V]);g.useEffect(()=>{var N,R,$;if(((R=(N=k==null?void 0:k.context)==null?void 0:N.cart)==null?void 0:R.id)&&pe("localStorage"))try{window.localStorage.setItem(he,($=k.context.cart)==null?void 0:$.id)}catch(H){console.warn("Failed to save cartId to localStorage",H)}},[(yr=(mr=k==null?void 0:k.context)==null?void 0:mr.cart)==null?void 0:yr.id]),g.useEffect(()=>{if(W&&pe("localStorage"))try{window.localStorage.removeItem(he)}catch(N){console.warn("Failed to delete cartId from localStorage",N)}},[W]);const G=g.useCallback(N=>{var R,$;_&&!((R=N.buyerIdentity)!=null&&R.countryCode)&&(N.buyerIdentity==null&&(N.buyerIdentity={}),N.buyerIdentity.countryCode=_),d&&!(($=N.buyerIdentity)!=null&&$.customerAccessToken)&&(N.buyerIdentity==null&&(N.buyerIdentity={}),N.buyerIdentity.customerAccessToken=d),D({type:"CART_CREATE",payload:N})},[_,d,D]),U=nt(k),se=g.useMemo(()=>{var N,R,$,H,te,ne;return{...(R=(N=U==null?void 0:U.context)==null?void 0:N.cart)!=null?R:{lines:[],attributes:[]},status:tt(U.value),error:($=U==null?void 0:U.context)==null?void 0:$.errors,totalQuantity:(ne=(te=(H=U==null?void 0:U.context)==null?void 0:H.cart)==null?void 0:te.totalQuantity)!=null?ne:0,cartCreate:G,linesAdd(P){var z,ce;(ce=(z=U==null?void 0:U.context)==null?void 0:z.cart)!=null&&ce.id?D({type:"CARTLINE_ADD",payload:{lines:P}}):G({lines:P})},linesRemove(P){D({type:"CARTLINE_REMOVE",payload:{lines:P}})},linesUpdate(P){D({type:"CARTLINE_UPDATE",payload:{lines:P}})},noteUpdate(P){D({type:"NOTE_UPDATE",payload:{note:P}})},buyerIdentityUpdate(P){D({type:"BUYER_IDENTITY_UPDATE",payload:{buyerIdentity:P}})},cartAttributesUpdate(P){D({type:"CART_ATTRIBUTES_UPDATE",payload:{attributes:P}})},discountCodesUpdate(P){D({type:"DISCOUNT_CODES_UPDATE",payload:{discountCodes:P}})},cartFragment:b}},[G,(_r=U==null?void 0:U.context)==null?void 0:_r.cart,(hr=U==null?void 0:U.context)==null?void 0:hr.errors,U.value,b,D]);return C.default.createElement(He.Provider,{value:se,__self:this,__source:{fileName:et,lineNumber:425,columnNumber:5}},e)}function tt(e){switch(e){case"uninitialized":case"initializationError":return"uninitialized";case"idle":case"cartCompleted":case"error":return"idle";case"cartFetching":return"fetching";case"cartCreating":return"creating";case"cartLineAdding":case"cartLineRemoving":case"cartLineUpdating":case"noteUpdating":case"buyerIdentityUpdating":case"cartAttributesUpdating":case"discountCodesUpdating":return"updating"}}function nt(e){const[r,t]=g.useTransition(),[n,o]=g.useState(e),i=g.useRef(!1);r&&(i.current=!0);const u=g.useRef(!1);return!r&&i.current&&(u.current=!0),g.useEffect(()=>{t(()=>{u.current||o(e)})},[e]),u.current?e:n}function pe(e){let r;try{r=window[e];const t="__storage_test__";return r.setItem(t,t),r.removeItem(t),!0}catch(t){return t instanceof DOMException&&(t.code===22||t.code===1014||t.name==="QuotaExceededError"||t.name==="NS_ERROR_DOM_QUOTA_REACHED")&&r&&r.length!==0}}function at(e,r){var t,n;return r.payload.buyerIdentity.countryCode&&((n=(t=e.cart)==null?void 0:t.buyerIdentity)==null?void 0:n.countryCode)!==r.payload.buyerIdentity.countryCode}const it=`
139
+ `,J="2022-10";function jr({storeDomain:e,privateStorefrontToken:r,publicStorefrontToken:t,storefrontApiVersion:n,contentType:u}){return n!==J&&console.warn(`StorefrontClient: The Storefront API version that you're using is different than the version this build of Hydrogen-UI is targeting. You may run into unexpected errors if these versions don't match. Received verion: "${n}"; expected version "${J}"`),{getShopifyDomain(a){var o;return`https://${(o=a==null?void 0:a.storeDomain)!=null?o:e}.myshopify.com`},getStorefrontApiUrl(a){var o,i;return`https://${(o=a==null?void 0:a.storeDomain)!=null?o:e}.myshopify.com/api/${(i=a==null?void 0:a.storefrontApiVersion)!=null?i:n}/graphql.json`},getPrivateTokenHeaders(a){var i,l,s;if(!r&&!(a!=null&&a.privateStorefrontToken))throw new Error("StorefrontClient: You did not pass in a 'privateStorefrontToken' while using 'getPrivateTokenHeaders()'");return{"content-type":((i=a==null?void 0:a.contentType)!=null?i:u)==="graphql"?"application/graphql":"application/json","X-SDK-Variant":"hydrogen-ui","X-SDK-Variant-Source":"react","X-SDK-Version":n,"Shopify-Storefront-Private-Token":(s=(l=a==null?void 0:a.privateStorefrontToken)!=null?l:r)!=null?s:"",...a!=null&&a.buyerIp?{"Shopify-Storefront-Buyer-IP":a.buyerIp}:{}}},getPublicTokenHeaders(a){var i,l,s,m;if(!t&&!(a!=null&&a.publicStorefrontToken))throw new Error("StorefrontClient: You did not pass in a 'publicStorefrontToken' while using 'getPublicTokenHeaders()'");const o=(l=(i=a==null?void 0:a.contentType)!=null?i:u)!=null?l:"json";return xe(o,n,(m=(s=a==null?void 0:a.publicStorefrontToken)!=null?s:t)!=null?m:"")}}}function xe(e,r,t){return{"content-type":e==="graphql"?"application/graphql":"application/json","X-SDK-Variant":"hydrogen-ui","X-SDK-Variant-Source":"react","X-SDK-Version":r,"X-Shopify-Storefront-Access-Token":t}}var Br="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ShopifyProvider.tsx";const je=g.createContext({storeDomain:"test",storefrontToken:"abc123",storefrontApiVersion:J,country:{isoCode:"US"},language:{isoCode:"EN"},locale:"EN-US",getStorefrontApiUrl(){return""},getPublicTokenHeaders(){return{}},getShopifyDomain(){return""}});function qr({children:e,shopifyConfig:r}){if(!r)throw new Error("The 'shopifyConfig' prop must be passed to '<ShopifyProvider/>'");r.storefrontApiVersion!==J&&console.warn(`<ShopifyProvider/>: This version of Hydrogen-UI is built for Shopify's Storefront API version ${J}, but it looks like you're using version ${r.storefrontApiVersion}. There may be issues or bugs if you use a mismatched version of Hydrogen-UI and the Storefront API.`);const t=g.useMemo(()=>{const n=r.storeDomain.replace(/^https?:\/\//,"");n.includes(".myshopify.com");function u(a){var i;let o=(i=a==null?void 0:a.storeDomain)!=null?i:n;return o=o.replace(".myshopify.com",""),`https://${o}.myshopify.com`}return{...r,storeDomain:n,getPublicTokenHeaders(a){var o;return xe(a.contentType,r.storefrontApiVersion,(o=a.storefrontToken)!=null?o:r.storefrontToken)},getShopifyDomain:u,getStorefrontApiUrl(a){var o,i,l;return(o=a==null?void 0:a.storeDomain)!=null&&o.includes(".myshopify.com"),`${u({storeDomain:(i=a==null?void 0:a.storeDomain)!=null?i:n})}/api/${(l=a==null?void 0:a.storefrontApiVersion)!=null?l:r.storefrontApiVersion}/graphql.json`}}},[r]);return C.default.createElement(je.Provider,{value:t,__self:this,__source:{fileName:Br,lineNumber:99,columnNumber:5}},e)}function X(){const e=g.useContext(je);if(!e)throw new Error("'useShop()' must be a descendent of <ShopifyProvider/>");return e}const _e="shopifyCartId",Hr="Shopify-Storefront-Id",Wr="Shopify-Storefront-Y",Yr="Shopify-Storefront-S",Be="_shopify_y",qe="_shopify_s";var Gr=new Set(["domain","path","max-age","expires","samesite","secure","httponly"]);function Zr(e){let r={},t,n,u=0,a=e.split(/;\s*/g),o,i;for(;u<a.length;u++)if(n=a[u],t=n.indexOf("="),~t){if(o=n.substring(0,t++).trim(),i=n.substring(t).trim(),i[0]==='"'&&(i=i.substring(1,i.length-1)),~i.indexOf("%"))try{i=decodeURIComponent(i)}catch{}Gr.has(n=o.toLowerCase())?n==="expires"?r.expires=new Date(i):n==="max-age"?r.maxage=+i:r[n]=i:r[o]=i}else(o=n.trim().toLowerCase())&&(o==="httponly"||o==="secure")&&(r[o]=!0);return r}function zr(){const{storefrontId:e,getPublicTokenHeaders:r,getStorefrontApiUrl:t}=X();return g.useCallback(({query:n,variables:u})=>{const a=r({contentType:"json"});e&&(a[Hr]=e);const o=Zr(document.cookie);return o[Be]&&o[qe]&&(a[Wr]=o[Be],a[Yr]=o[qe]),fetch(t(),{method:"POST",headers:a,body:JSON.stringify({query:n.toString(),variables:u})}).then(i=>i.json()).catch(i=>({data:void 0,errors:i.toString()}))},[r,e,t])}function Kr({numCartLines:e,cartFragment:r,countryCode:t="US"}){const n=zr(),u=g.useCallback(y=>n({query:xr(r),variables:{id:y,numCartLines:e,country:t}}),[n,r,e,t]),a=g.useCallback(y=>n({query:kr(r),variables:{input:y,numCartLines:e,country:t}}),[r,t,n,e]),o=g.useCallback((y,E)=>n({query:Ur(r),variables:{cartId:y,lines:E,numCartLines:e,country:t}}),[r,t,n,e]),i=g.useCallback((y,E)=>n({query:Rr(r),variables:{cartId:y,lines:E,numCartLines:e,country:t}}),[r,t,n,e]),l=g.useCallback((y,E)=>n({query:Mr(r),variables:{cartId:y,lines:E,numCartLines:e,country:t}}),[r,t,n,e]),s=g.useCallback((y,E)=>n({query:$r(r),variables:{cartId:y,note:E,numCartLines:e,country:t}}),[n,r,e,t]),m=g.useCallback((y,E)=>n({query:Pr(r),variables:{cartId:y,buyerIdentity:E,numCartLines:e,country:t}}),[r,t,n,e]),c=g.useCallback((y,E)=>n({query:Vr(r),variables:{cartId:y,attributes:E,numCartLines:e,country:t}}),[r,t,n,e]),_=g.useCallback((y,E)=>n({query:Fr(r),variables:{cartId:y,discountCodes:E,numCartLines:e,country:t}}),[r,t,n,e]);return g.useMemo(()=>({cartFetch:u,cartCreate:a,cartLineAdd:o,cartLineUpdate:i,cartLineRemove:l,noteUpdate:s,buyerIdentityUpdate:m,cartAttributesUpdate:c,discountCodesUpdate:_,cartFragment:r}),[u,a,o,i,l,s,m,c,_,r])}function j(e,r){return{entry:[...(r==null?void 0:r.entryActions)||[],"onCartActionEntry","onCartActionOptimisticUI",e],on:{RESOLVE:{target:(r==null?void 0:r.resolveTarget)||"idle",actions:[Q({prevCart:t=>t==null?void 0:t.cart,cart:(t,n)=>{var u;return(u=n==null?void 0:n.payload)==null?void 0:u.cart},rawCartResult:(t,n)=>{var u;return(u=n==null?void 0:n.payload)==null?void 0:u.rawCartResult},errors:t=>{}})]},ERROR:{target:(r==null?void 0:r.errorTarget)||"error",actions:[Q({prevCart:t=>t==null?void 0:t.cart,cart:t=>t==null?void 0:t.lastValidCart,errors:(t,n)=>{var u;return(u=n==null?void 0:n.payload)==null?void 0:u.errors}})]},CART_COMPLETED:{target:"cartCompleted",actions:Q({prevCart:t=>{},cart:t=>{},lastValidCart:t=>{},errors:t=>{}})}},exit:["onCartActionComplete",...(r==null?void 0:r.exitActions)||[]]}}const ee={CART_FETCH:{target:"cartFetching"},CART_CREATE:{target:"cartCreating"},CART_SET:{target:"idle",actions:[Q({rawCartResult:(e,r)=>r.payload.cart,cart:(e,r)=>ge(r.payload.cart)})]}},He={CARTLINE_ADD:{target:"cartLineAdding"},CARTLINE_UPDATE:{target:"cartLineUpdating"},CARTLINE_REMOVE:{target:"cartLineRemoving"},NOTE_UPDATE:{target:"noteUpdating"},BUYER_IDENTITY_UPDATE:{target:"buyerIdentityUpdating"},CART_ATTRIBUTES_UPDATE:{target:"cartAttributesUpdating"},DISCOUNT_CODES_UPDATE:{target:"discountCodesUpdating"}};function Qr(e){return Oe({id:"Cart",initial:e?"idle":"uninitialized",context:{cart:e&&ge(e)},states:{uninitialized:{on:ee},cartCompleted:{on:ee},initializationError:{on:ee},idle:{on:{...ee,...He}},error:{on:{...ee,...He}},cartFetching:j("cartFetchAction",{errorTarget:"initializationError"}),cartCreating:j("cartCreateAction",{errorTarget:"initializationError"}),cartLineRemoving:j("cartLineRemoveAction"),cartLineUpdating:j("cartLineUpdateAction"),cartLineAdding:j("cartLineAddAction"),noteUpdating:j("noteUpdateAction"),buyerIdentityUpdating:j("buyerIdentityUpdateAction"),cartAttributesUpdating:j("cartAttributesUpdateAction"),discountCodesUpdating:j("discountCodesUpdateAction")}})}function Jr({numCartLines:e,onCartActionEntry:r,onCartActionOptimisticUI:t,onCartActionComplete:n,data:u,cartFragment:a,countryCode:o}){const{cartFetch:i,cartCreate:l,cartLineAdd:s,cartLineUpdate:m,cartLineRemove:c,noteUpdate:_,buyerIdentityUpdate:y,cartAttributesUpdate:E,discountCodesUpdate:T}=Kr({numCartLines:e,cartFragment:a,countryCode:o}),f=g.useMemo(()=>Qr(u),[u]),[S,b,v]=Dr(f,{actions:{cartFetchAction:async(d,h)=>{var A;if(h.type!=="CART_FETCH")return;const{data:p,errors:w}=await i((A=h==null?void 0:h.payload)==null?void 0:A.cartId),I=B(h,p==null?void 0:p.cart,w);b(I)},cartCreateAction:async(d,h)=>{var A;if(h.type!=="CART_CREATE")return;const{data:p,errors:w}=await l(h==null?void 0:h.payload),I=B(h,(A=p==null?void 0:p.cartCreate)==null?void 0:A.cart,w);b(I)},cartLineAddAction:async(d,h)=>{var A,D;if(h.type!=="CARTLINE_ADD"||!((A=d==null?void 0:d.cart)!=null&&A.id))return;const{data:p,errors:w}=await s(d.cart.id,h.payload.lines),I=B(h,(D=p==null?void 0:p.cartLinesAdd)==null?void 0:D.cart,w);b(I)},cartLineUpdateAction:async(d,h)=>{var A,D;if(h.type!=="CARTLINE_UPDATE"||!((A=d==null?void 0:d.cart)!=null&&A.id))return;const{data:p,errors:w}=await m(d.cart.id,h.payload.lines),I=B(h,(D=p==null?void 0:p.cartLinesUpdate)==null?void 0:D.cart,w);b(I)},cartLineRemoveAction:async(d,h)=>{var A,D;if(h.type!=="CARTLINE_REMOVE"||!((A=d==null?void 0:d.cart)!=null&&A.id))return;const{data:p,errors:w}=await c(d.cart.id,h.payload.lines),I=B(h,(D=p==null?void 0:p.cartLinesRemove)==null?void 0:D.cart,w);b(I)},noteUpdateAction:async(d,h)=>{var A,D;if(h.type!=="NOTE_UPDATE"||!((A=d==null?void 0:d.cart)!=null&&A.id))return;const{data:p,errors:w}=await _(d.cart.id,h.payload.note),I=B(h,(D=p==null?void 0:p.cartNoteUpdate)==null?void 0:D.cart,w);b(I)},buyerIdentityUpdateAction:async(d,h)=>{var A,D;if(h.type!=="BUYER_IDENTITY_UPDATE"||!((A=d==null?void 0:d.cart)!=null&&A.id))return;const{data:p,errors:w}=await y(d.cart.id,h.payload.buyerIdentity),I=B(h,(D=p==null?void 0:p.cartBuyerIdentityUpdate)==null?void 0:D.cart,w);b(I)},cartAttributesUpdateAction:async(d,h)=>{var A,D;if(h.type!=="CART_ATTRIBUTES_UPDATE"||!((A=d==null?void 0:d.cart)!=null&&A.id))return;const{data:p,errors:w}=await E(d.cart.id,h.payload.attributes),I=B(h,(D=p==null?void 0:p.cartAttributesUpdate)==null?void 0:D.cart,w);b(I)},discountCodesUpdateAction:async(d,h)=>{var A,D;if(h.type!=="DISCOUNT_CODES_UPDATE"||!((A=d==null?void 0:d.cart)!=null&&A.id))return;const{data:p,errors:w}=await T(d.cart.id,h.payload.discountCodes),I=B(h,(D=p==null?void 0:p.cartDiscountCodesUpdate)==null?void 0:D.cart,w);b(I)},...r&&{onCartActionEntry:(d,h)=>{Xr(h)&&r(d,h)}},...t&&{onCartActionOptimisticUI:Q((d,h)=>t(d,h))},...n&&{onCartActionComplete:(d,h)=>{et(h)&&n(d,h)}}}});return g.useMemo(()=>[S,b,v],[S,b,v])}function ge(e){var r;return{...e,lines:x(e==null?void 0:e.lines),note:(r=e.note)!=null?r:void 0}}function B(e,r,t){return t?{type:"ERROR",payload:{errors:t,cartActionEvent:e}}:r?{type:"RESOLVE",payload:{cart:ge(r),rawCartResult:r,cartActionEvent:e}}:{type:"CART_COMPLETED",payload:{cartActionEvent:e}}}function Xr(e){return e.type==="CART_CREATE"||e.type==="CARTLINE_ADD"||e.type==="CARTLINE_UPDATE"||e.type==="CARTLINE_REMOVE"||e.type==="NOTE_UPDATE"||e.type==="BUYER_IDENTITY_UPDATE"||e.type==="CART_ATTRIBUTES_UPDATE"||e.type==="DISCOUNT_CODES_UPDATE"}function et(e){return e.type==="RESOLVE"||e.type==="ERROR"||e.type==="CART_COMPLETED"}var rt="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/CartProvider.tsx";const We=g.createContext(null);function ie(){const e=g.useContext(We);if(!e)throw new Error("Expected a Cart Context, but no Cart Context was found");return e}function tt({children:e,numCartLines:r,onCreate:t,onLineAdd:n,onLineRemove:u,onLineUpdate:a,onNoteUpdate:o,onBuyerIdentityUpdate:i,onAttributesUpdate:l,onDiscountCodesUpdate:s,onCreateComplete:m,onLineAddComplete:c,onLineRemoveComplete:_,onLineUpdateComplete:y,onNoteUpdateComplete:E,onBuyerIdentityUpdateComplete:T,onAttributesUpdateComplete:f,onDiscountCodesUpdateComplete:S,data:b,cartFragment:v=ot,customerAccessToken:d,countryCode:h="US"}){var dr,fr,mr,yr,hr,_r,gr;h&&(h=h.toUpperCase());const[p,w]=g.useState(h),[I,A]=g.useState(d),D=g.useRef(!1);(p!==h||I!==d)&&(w(h),A(d),D.current=!1);const[M,P]=Jr({numCartLines:r,data:b,cartFragment:v,countryCode:h,onCartActionEntry(N,R){try{switch(R.type){case"CART_CREATE":return t==null?void 0:t();case"CARTLINE_ADD":return n==null?void 0:n();case"CARTLINE_REMOVE":return u==null?void 0:u();case"CARTLINE_UPDATE":return a==null?void 0:a();case"NOTE_UPDATE":return o==null?void 0:o();case"BUYER_IDENTITY_UPDATE":return i==null?void 0:i();case"CART_ATTRIBUTES_UPDATE":return l==null?void 0:l();case"DISCOUNT_CODES_UPDATE":return s==null?void 0:s()}}catch(V){console.error("Cart entry action failed",V)}},onCartActionOptimisticUI(N,R){var V,H,te,ne;if(!(N!=null&&N.cart))return{cart:void 0};switch(R.type){case"CARTLINE_REMOVE":return{...N,lastValidCart:N.cart,cart:{...N.cart,lines:(H=(V=N==null?void 0:N.cart)==null?void 0:V.lines)==null?void 0:H.filter(U=>(U==null?void 0:U.id)&&!R.payload.lines.includes(U==null?void 0:U.id))}};case"CARTLINE_UPDATE":return{...N,lastValidCart:N.cart,cart:{...N.cart,lines:(ne=(te=N==null?void 0:N.cart)==null?void 0:te.lines)==null?void 0:ne.map(U=>{const K=R.payload.lines.find(({id:ce})=>ce===(U==null?void 0:U.id));return K&&K.quantity?{...U,quantity:K.quantity}:U})}}}return{cart:N.cart?{...N.cart}:void 0}},onCartActionComplete(N,R){const V=R.payload.cartActionEvent;try{switch(R.type){case"RESOLVE":switch(V.type){case"CART_CREATE":return m==null?void 0:m();case"CARTLINE_ADD":return c==null?void 0:c();case"CARTLINE_REMOVE":return _==null?void 0:_();case"CARTLINE_UPDATE":return y==null?void 0:y();case"NOTE_UPDATE":return E==null?void 0:E();case"BUYER_IDENTITY_UPDATE":return it(N,V)&&(D.current=!0),T==null?void 0:T();case"CART_ATTRIBUTES_UPDATE":return f==null?void 0:f();case"DISCOUNT_CODES_UPDATE":return S==null?void 0:S()}}}catch(H){console.error("onCartActionComplete failed",H)}}}),F=g.useRef(!1),W=M.matches("cartCompleted"),z=(M.value==="idle"||M.value==="error"||M.value==="cartCompleted")&&h!==((mr=(fr=(dr=M==null?void 0:M.context)==null?void 0:dr.cart)==null?void 0:fr.buyerIdentity)==null?void 0:mr.countryCode)&&!M.context.errors,q=g.useRef(!1);g.useEffect(()=>{if(!F.current&&!q.current){if(!b&&pe("localStorage")){q.current=!0;try{const N=window.localStorage.getItem(_e);N&&P({type:"CART_FETCH",payload:{cartId:N}})}catch(N){console.warn("error fetching cartId"),console.warn(N)}}F.current=!0}},[b,F,P]),g.useEffect(()=>{!z||D.current||P({type:"BUYER_IDENTITY_UPDATE",payload:{buyerIdentity:{countryCode:h,customerAccessToken:d}}})},[h,d,z,D,P]);const L=g.useCallback(N=>{if(!F.current)return console.warn("Cart isn't ready yet");P(N)},[P]);g.useEffect(()=>{var N,R,V;if(((R=(N=M==null?void 0:M.context)==null?void 0:N.cart)==null?void 0:R.id)&&pe("localStorage"))try{window.localStorage.setItem(_e,(V=M.context.cart)==null?void 0:V.id)}catch(H){console.warn("Failed to save cartId to localStorage",H)}},[(hr=(yr=M==null?void 0:M.context)==null?void 0:yr.cart)==null?void 0:hr.id]),g.useEffect(()=>{if(W&&pe("localStorage"))try{window.localStorage.removeItem(_e)}catch(N){console.warn("Failed to delete cartId from localStorage",N)}},[W]);const G=g.useCallback(N=>{var R,V;h&&!((R=N.buyerIdentity)!=null&&R.countryCode)&&(N.buyerIdentity==null&&(N.buyerIdentity={}),N.buyerIdentity.countryCode=h),d&&!((V=N.buyerIdentity)!=null&&V.customerAccessToken)&&(N.buyerIdentity==null&&(N.buyerIdentity={}),N.buyerIdentity.customerAccessToken=d),L({type:"CART_CREATE",payload:N})},[h,d,L]),k=at(M),se=g.useMemo(()=>{var N,R,V,H,te,ne;return{...(R=(N=k==null?void 0:k.context)==null?void 0:N.cart)!=null?R:{lines:[],attributes:[]},status:nt(k.value),error:(V=k==null?void 0:k.context)==null?void 0:V.errors,totalQuantity:(ne=(te=(H=k==null?void 0:k.context)==null?void 0:H.cart)==null?void 0:te.totalQuantity)!=null?ne:0,cartCreate:G,linesAdd(U){var K,ce;(ce=(K=k==null?void 0:k.context)==null?void 0:K.cart)!=null&&ce.id?L({type:"CARTLINE_ADD",payload:{lines:U}}):G({lines:U})},linesRemove(U){L({type:"CARTLINE_REMOVE",payload:{lines:U}})},linesUpdate(U){L({type:"CARTLINE_UPDATE",payload:{lines:U}})},noteUpdate(U){L({type:"NOTE_UPDATE",payload:{note:U}})},buyerIdentityUpdate(U){L({type:"BUYER_IDENTITY_UPDATE",payload:{buyerIdentity:U}})},cartAttributesUpdate(U){L({type:"CART_ATTRIBUTES_UPDATE",payload:{attributes:U}})},discountCodesUpdate(U){L({type:"DISCOUNT_CODES_UPDATE",payload:{discountCodes:U}})},cartFragment:v}},[G,(_r=k==null?void 0:k.context)==null?void 0:_r.cart,(gr=k==null?void 0:k.context)==null?void 0:gr.errors,k.value,v,L]);return C.default.createElement(We.Provider,{value:se,__self:this,__source:{fileName:rt,lineNumber:425,columnNumber:5}},e)}function nt(e){switch(e){case"uninitialized":case"initializationError":return"uninitialized";case"idle":case"cartCompleted":case"error":return"idle";case"cartFetching":return"fetching";case"cartCreating":return"creating";case"cartLineAdding":case"cartLineRemoving":case"cartLineUpdating":case"noteUpdating":case"buyerIdentityUpdating":case"cartAttributesUpdating":case"discountCodesUpdating":return"updating"}}function at(e){const[r,t]=g.useTransition(),[n,u]=g.useState(e),a=g.useRef(!1);r&&(a.current=!0);const o=g.useRef(!1);return!r&&a.current&&(o.current=!0),g.useEffect(()=>{t(()=>{o.current||u(e)})},[e]),o.current?e:n}function pe(e){let r;try{r=window[e];const t="__storage_test__";return r.setItem(t,t),r.removeItem(t),!0}catch(t){return t instanceof DOMException&&(t.code===22||t.code===1014||t.name==="QuotaExceededError"||t.name==="NS_ERROR_DOM_QUOTA_REACHED")&&r&&r.length!==0}}function it(e,r){var t,n;return r.payload.buyerIdentity.countryCode&&((n=(t=e.cart)==null?void 0:t.buyerIdentity)==null?void 0:n.countryCode)!==r.payload.buyerIdentity.countryCode}const ot=`
140
140
  fragment CartFragment on Cart {
141
141
  id
142
142
  checkoutUrl
@@ -235,6 +235,6 @@ fragment ImageFragment on Image {
235
235
  width
236
236
  height
237
237
  }
238
- `;var ot="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ProductProvider.tsx";const We=g.createContext(null);function ut({children:e,data:r,initialVariantId:t}){const n=g.useMemo(()=>{var f;return x((f=r.variants)!=null?f:{})},[r.variants]);if(!ct(n))throw new Error("<ProductProvider/> requires 'product.variants.nodes' or 'product.variants.edges'");const o=g.useMemo(()=>st(n),[n]),[i,u]=g.useState(()=>Ze(t,n)),[a,l]=g.useState(()=>Ke(i));g.useEffect(()=>{const f=Ze(t,n);u(f),l(Ke(f))},[t,n]);const s=g.useCallback((f,S)=>{l(v=>{const b={...v,[f]:S};return u(Ge(n,b)),b})},[l,n]),m=g.useCallback((f,S)=>{var b;const v=Ge(n,{...a,[f]:S});return(b=v==null?void 0:v.availableForSale)!=null?b:!0},[a,n]),c=g.useMemo(()=>{var f;return x((f=r.sellingPlanGroups)!=null?f:{}).map(S=>{var v;return{...S,sellingPlans:x((v=S==null?void 0:S.sellingPlans)!=null?v:{})}})},[r.sellingPlanGroups]),[h,y]=g.useState(void 0),E=g.useMemo(()=>{var f,S;if(!(!i||!h)){if(!((f=i.sellingPlanAllocations)!=null&&f.nodes)&&!((S=i.sellingPlanAllocations)!=null&&S.edges))throw new Error("<ProductProvider/>: You must include 'sellingPlanAllocations.nodes' or 'sellingPlanAllocations.edges' in your variants in order to calculate selectedSellingPlanAllocation");return x(i.sellingPlanAllocations).find(v=>{var b;return((b=v==null?void 0:v.sellingPlan)==null?void 0:b.id)===h.id})}},[i,h]),T=g.useMemo(()=>({variants:n,variantsConnection:r.variants,options:o,selectedVariant:i,setSelectedVariant:u,selectedOptions:a,setSelectedOption:s,setSelectedOptions:l,isOptionInStock:m,selectedSellingPlan:h,setSelectedSellingPlan:y,selectedSellingPlanAllocation:E,sellingPlanGroups:c,sellingPlanGroupsConnection:r.sellingPlanGroups}),[m,o,r.sellingPlanGroups,r.variants,a,h,E,i,c,s,n]);return C.default.createElement(We.Provider,{value:T,__self:this,__source:{fileName:ot,lineNumber:201,columnNumber:5}},e)}function Ye(){const e=g.useContext(We);if(!e)throw new Error("'useProduct' must be a child of <ProductProvider />");return e}function Ge(e,r){var t,n;if(!(!e.length||((n=(t=e==null?void 0:e[0])==null?void 0:t.selectedOptions)==null?void 0:n.length)!==Object.keys(r).length))return e==null?void 0:e.find(o=>Object.entries(r).every(([i,u])=>{var a;return(a=o==null?void 0:o.selectedOptions)==null?void 0:a.some(l=>(l==null?void 0:l.name)===i&&(l==null?void 0:l.value)===u)}))}function st(e){const r=e.reduce((t,n)=>{var o;if(!n.selectedOptions)throw new Error("'getOptions' requires 'variant.selectedOptions'");return(o=n==null?void 0:n.selectedOptions)==null||o.forEach(i=>{var u,a,l,s;t[(u=i==null?void 0:i.name)!=null?u:""]=t[(a=i==null?void 0:i.name)!=null?a:""]||new Set,t[(l=i==null?void 0:i.name)!=null?l:""].add((s=i==null?void 0:i.value)!=null?s:"")}),t},{});return Object.keys(r).map(t=>({name:t,values:Array.from(r[t])}))}function Ze(e,r){if(e){const t=r.find(n=>(n==null?void 0:n.id)===e);return t||console.warn("<ProductProvider/> received a 'initialVariantId' prop, but could not actually find a variant with that ID"),t}if(e===null)return null;if(e===void 0)return r.find(t=>t==null?void 0:t.availableForSale)||r[0]}function Ke(e){return e!=null&&e.selectedOptions?e.selectedOptions.reduce((r,t)=>{var n,o;return r[(n=t==null?void 0:t.name)!=null?n:""]=(o=t==null?void 0:t.value)!=null?o:"",r},{}):{}}function ct(e){return!(!e||!Array.isArray(e))}var lt="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/BaseButton.tsx";function Ee(e){const{as:r,onClick:t,defaultOnClick:n,children:o,buttonRef:i,...u}=e,a=g.useCallback(s=>{if(t){const m=t(s);if(typeof m=="boolean"&&m===!1||(s==null?void 0:s.defaultPrevented))return}n==null||n(s)},[n,t]),l=r||"button";return C.default.createElement(l,{ref:i,onClick:a,...u,__self:this,__source:{fileName:lt,lineNumber:59,columnNumber:5}},o)}var ze="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/AddToCartButton.tsx";function dt(e){var S;const[r,t]=g.useState(!1),{variantId:n,quantity:o=1,attributes:i,sellingPlanId:u,onClick:a,children:l,accessibleAddingToCartLabel:s,...m}=e,{status:c,linesAdd:h}=ie(),{selectedVariant:y}=Ye(),E=(S=n!=null?n:y==null?void 0:y.id)!=null?S:"",T=n===null||E===""||y===null||r||m.disabled;g.useEffect(()=>{r&&c==="idle"&&t(!1)},[c,r]);const f=g.useCallback(()=>{t(!0),h([{quantity:o,merchandiseId:E||"",attributes:i,sellingPlanId:u}])},[h,o,E,i,u]);return C.default.createElement(C.default.Fragment,null,C.default.createElement(Ee,{...m,disabled:T,onClick:a,defaultOnClick:f,__self:this,__source:{fileName:ze,lineNumber:71,columnNumber:7}},l),s?C.default.createElement("p",{style:{position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"},role:"alert","aria-live":"assertive",__self:this,__source:{fileName:ze,lineNumber:80,columnNumber:9}},r?s:null):null)}var ft="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/BuyNowButton.tsx";function mt(e){const{cartCreate:r,checkoutUrl:t}=ie(),[n,o]=g.useState(!1),{quantity:i,variantId:u,onClick:a,attributes:l,children:s,...m}=e;g.useEffect(()=>{t&&(window.location.href=t)},[t]);const c=g.useCallback(()=>{o(!0),r({lines:[{quantity:i!=null?i:1,merchandiseId:u,attributes:l}]})},[r,i,u,l]);return C.default.createElement(Ee,{disabled:n!=null?n:m.disabled,...m,onClick:a,defaultOnClick:c,__self:this,__source:{fileName:ft,lineNumber:53,columnNumber:5}},s)}var yt="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/CartCheckoutButton.tsx";function _t(e){const[r,t]=g.useState(!1),{status:n,checkoutUrl:o}=ie(),{children:i,...u}=e;return g.useEffect(()=>{r&&o&&n==="idle"&&(window.location.href=o)},[r,n,o]),C.default.createElement(Ee,{...u,disabled:r||u.disabled,onClick:()=>t(!0),__self:this,__source:{fileName:yt,lineNumber:28,columnNumber:5}},i)}var ht="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ExternalVideo.tsx";function Qe(e){var m,c;const{data:r,options:t,id:n=r.id,frameBorder:o="0",allow:i="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:u=!0,loading:a="lazy",...l}=e;if(!r.embedUrl)throw new Error("<ExternalVideo/> requires the 'embedUrl' property");let s=r.embedUrl;if(t){const h=new URL(r.embedUrl);for(const y of Object.keys(t))h.searchParams.set(y,t[y]);s=h.toString()}return C.default.createElement("iframe",{...l,id:n!=null?n:r.embedUrl,title:(c=(m=r.alt)!=null?m:r.id)!=null?c:"external video",frameBorder:o,allow:i,allowFullScreen:u,src:s,loading:a,__self:this,__source:{fileName:ht,lineNumber:56,columnNumber:5}})}const gt=["cdn.shopify.com","cdn.shopifycdn.net","shopify-assets.shopifycdn.com","shopify-assets.shopifycdn.net"],pt=["spin.dev"],Et=[...gt,...pt],re=[352,832,1200,1920,2560];function Xe({src:e,width:r,height:t,crop:n,scale:o}){const i=new URL(e),u=o!=null?o:1;if(r){let a;typeof r=="string"?a=(re[0]*u).toString():a=(Number(r)*u).toString(),i.searchParams.append("width",a)}return t&&typeof t=="number"&&i.searchParams.append("height",(t*u).toString()),n&&i.searchParams.append("crop",n),i.toString()}function Je(e){const r=new URL(e.src);return!Et.some(n=>r.hostname.endsWith(n))||!e.width&&!e.height&&!e.crop&&!e.scale?e.src:Xe(e)}function St({data:e,loaderOptions:r,elementProps:t}){var o,i,u,a,l,s;let n=null;return(e==null?void 0:e.width)&&(e==null?void 0:e.height)&&(n=(e==null?void 0:e.width)/(e==null?void 0:e.height)),(r==null?void 0:r.width)||(r==null?void 0:r.height)?{width:(o=r==null?void 0:r.width)!=null?o:n&&typeof r.height=="number"?Math.round(n*r.height):null,height:(i=r==null?void 0:r.height)!=null?i:n&&typeof r.width=="number"?Math.round(n*r.width):null}:(t==null?void 0:t.width)||(t==null?void 0:t.height)?{width:(u=t==null?void 0:t.width)!=null?u:n&&typeof t.height=="number"?Math.round(n*t.height):null,height:(a=t==null?void 0:t.height)!=null?a:n&&typeof t.width=="number"?Math.round(n*t.width):null}:(e==null?void 0:e.width)||(e==null?void 0:e.height)?{width:(l=e==null?void 0:e.width)!=null?l:null,height:(s=e==null?void 0:e.height)!=null?s:null}:{width:null,height:null}}var vt="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/Image.tsx";function oe({data:e,width:r,height:t,loading:n,loader:o=Je,loaderOptions:i,widths:u,decoding:a="async",...l}){var E,T,f,S,v,b;if(!e.url){const d=`<Image/>: the 'data' prop requires the 'url' property. Image: ${(E=e.id)!=null?E:"no ID provided"}`;return console.error(d),null}const{width:s,height:m}=St({data:e,loaderOptions:i,elementProps:{width:r,height:t}});let c=e.url;if(o&&(c=o({...i,src:e.url,width:s,height:m}),typeof c!="string"||!c))throw new Error(`<Image/>: 'loader' did not return a valid string. Image: ${(T=e.id)!=null?T:e.url}`);const h=r&&s&&r<s?r:s,y=(f=l.srcSet)!=null?f:bt({...i,widths:u,src:e.url,width:h,height:m,loader:o});return Ce.createElement("img",{id:(S=e.id)!=null?S:"",alt:(b=(v=e.altText)!=null?v:l.alt)!=null?b:"",loading:n!=null?n:"lazy",...l,src:c,width:s!=null?s:void 0,height:m!=null?m:void 0,srcSet:y,decoding:a,__self:this,__source:{fileName:vt,lineNumber:150,columnNumber:5}})}function bt({src:e,width:r,crop:t,scale:n,widths:o,loader:i,height:u}){const a=o&&Array.isArray(o);if(a&&o.some(c=>isNaN(c)))throw new Error(`<Image/>: the 'widths' must be an array of numbers. Image: ${e}`);let l=1;r&&u&&(l=Number(u)/Number(r));let s=a?o:re;!a&&r&&r<re[re.length-1]&&(s=re.filter(c=>c<=r));const m=i||Xe;return s.map(c=>`${m({src:e,width:c,height:t?Number(c)*l:void 0,crop:t,scale:n})} ${c}w`).join(", ")}var er="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/Video.tsx";function Se(e){var s,m;const{data:r,previewImageOptions:t,id:n=r.id,playsInline:o=!0,controls:i=!0,sourceProps:u={},...a}=e,l=Je({src:(m=(s=r.previewImage)==null?void 0:s.url)!=null?m:"",...t});if(!r.sources)throw new Error("<Video/> requires a 'data.sources' array");return C.default.createElement("video",{...a,id:n,playsInline:o,controls:i,poster:l,__self:this,__source:{fileName:er,lineNumber:42,columnNumber:5}},r.sources.map(c=>{if(!((c==null?void 0:c.url)&&(c==null?void 0:c.mimeType)))throw new Error("<Video/> needs 'source.url' and 'source.mimeType'");return C.default.createElement("source",{...u,key:c.url,src:c.url,type:c.mimeType,__self:this,__source:{fileName:er,lineNumber:54,columnNumber:11}})}))}const rr={};function Ct(e,r){const t=rr[e];if(t)return t;const n=new Promise((o,i)=>{const u=document.createElement("script");r!=null&&r.module?u.type="module":u.type="text/javascript",u.src=e,u.onload=()=>{o(!0)},u.onerror=()=>{i(!1)},(r==null?void 0:r.in)==="head"?document.head.appendChild(u):document.body.appendChild(u)});return rr[e]=n,n}function tr(e,r){const[t,n]=g.useState("loading"),o=JSON.stringify(r);return g.useEffect(()=>{async function i(){try{n("loading"),await Ct(e,r),n("done")}catch{n("error")}}i()},[e,o,r]),t}var Tt="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ModelViewer.tsx";function nr(e){var s,m,c,h,y,E,T,f,S,v,b;const[r,t]=g.useState(void 0),n=g.useCallback(d=>{t(d)},[]),{data:o,children:i,className:u,...a}=e,l=tr("https://unpkg.com/@google/model-viewer@v1.12.1/dist/model-viewer.min.js",{module:!0});return g.useEffect(()=>{if(!!r)return a.onError&&r.addEventListener("error",a.onError),a.onLoad&&r.addEventListener("load",a.onLoad),a.onPreload&&r.addEventListener("preload",a.onPreload),a.onModelVisibility&&r.addEventListener("model-visibility",a.onModelVisibility),a.onProgress&&r.addEventListener("progress",a.onProgress),a.onArStatus&&r.addEventListener("ar-status",a.onArStatus),a.onArTracking&&r.addEventListener("ar-tracking",a.onArTracking),a.onQuickLookButtonTapped&&r.addEventListener("quick-look-button-tapped",a.onQuickLookButtonTapped),a.onCameraChange&&r.addEventListener("camera-change",a.onCameraChange),a.onEnvironmentChange&&r.addEventListener("environment-change",a.onEnvironmentChange),a.onPlay&&r.addEventListener("play",a.onPlay),a.onPause&&r.addEventListener("ar-status",a.onPause),a.onSceneGraphReady&&r.addEventListener("scene-graph-ready",a.onSceneGraphReady),()=>{r!=null&&(a.onError&&r.removeEventListener("error",a.onError),a.onLoad&&r.removeEventListener("load",a.onLoad),a.onPreload&&r.removeEventListener("preload",a.onPreload),a.onModelVisibility&&r.removeEventListener("model-visibility",a.onModelVisibility),a.onProgress&&r.removeEventListener("progress",a.onProgress),a.onArStatus&&r.removeEventListener("ar-status",a.onArStatus),a.onArTracking&&r.removeEventListener("ar-tracking",a.onArTracking),a.onQuickLookButtonTapped&&r.removeEventListener("quick-look-button-tapped",a.onQuickLookButtonTapped),a.onCameraChange&&r.removeEventListener("camera-change",a.onCameraChange),a.onEnvironmentChange&&r.removeEventListener("environment-change",a.onEnvironmentChange),a.onPlay&&r.removeEventListener("play",a.onPlay),a.onPause&&r.removeEventListener("ar-status",a.onPause),a.onSceneGraphReady&&r.removeEventListener("scene-graph-ready",a.onSceneGraphReady))}},[r,a.onArStatus,a.onArTracking,a.onCameraChange,a.onEnvironmentChange,a.onError,a.onLoad,a.onModelVisibility,a.onPause,a.onPlay,a.onPreload,a.onProgress,a.onQuickLookButtonTapped,a.onSceneGraphReady]),l!=="done"?null:(m=(s=o.sources)==null?void 0:s[0])!=null&&m.url?C.default.createElement("model-viewer",{ref:n,...a,className:u,id:(c=a.id)!=null?c:o.id,src:o.sources[0].url,alt:(h=o.alt)!=null?h:null,"camera-controls":(y=a.cameraControls)!=null?y:!0,poster:(T=a.poster||((E=o.previewImage)==null?void 0:E.url))!=null?T:null,autoplay:(f=a.autoplay)!=null?f:!0,loading:a.loading,reveal:a.reveal,ar:a.ar,"ar-modes":a.arModes,"ar-scale":a.arScale,"ar-placement":a.arPlacement,"ios-src":a.iosSrc,"touch-action":a.touchAction,"disable-zoom":a.disableZoom,"orbit-sensitivity":a.orbitSensitivity,"auto-rotate":a.autoRotate,"auto-rotate-delay":a.autoRotateDelay,"rotation-per-second":a.rotationPerSecond,"interaction-policy":a.interactionPolicy,"interaction-prompt":a.interactionPrompt,"interaction-prompt-style":a.interactionPromptStyle,"interaction-prompt-threshold":a.interactionPromptThreshold,"camera-orbit":a.cameraOrbit,"camera-target":a.cameraTarget,"field-of-view":a.fieldOfView,"max-camera-orbit":a.maxCameraOrbit,"min-camera-orbit":a.minCameraOrbit,"max-field-of-view":a.maxFieldOfView,"min-field-of-view":a.minFieldOfView,bounds:a.bounds,"interpolation-decay":(S=a.interpolationDecay)!=null?S:100,"skybox-image":a.skyboxImage,"environment-image":a.environmentImage,exposure:a.exposure,"shadow-intensity":(v=a.shadowIntensity)!=null?v:0,"shadow-softness":(b=a.shadowSoftness)!=null?b:0,"animation-name":a.animationName,"animation-crossfade-duration":a.animationCrossfadeDuration,"variant-name":a.variantName,orientation:a.orientation,scale:a.scale,__self:this,__source:{fileName:Tt,lineNumber:222,columnNumber:5}},i):(console.error("<ModelViewer/> requires 'data.sources' prop to be an array, with an object that has a property 'url' on it. Rendering 'null'"),null)}var ue="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/MediaFile.tsx";function Nt({data:e,mediaOptions:r,...t}){switch(e.__typename){case"MediaImage":return e.image?C.default.createElement(oe,{...t,...r==null?void 0:r.image,data:e.image,__self:this,__source:{fileName:ue,lineNumber:54,columnNumber:9}}):(console.warn("<MediaFile/>: 'data.image' does not exist for __typename of 'MediaImage'; rendering 'null' by default."),null);case"Video":return C.default.createElement(Se,{...t,...r==null?void 0:r.video,data:e,__self:this,__source:{fileName:ue,lineNumber:63,columnNumber:9}});case"ExternalVideo":return C.default.createElement(Qe,{...t,...r==null?void 0:r.externalVideo,data:e,__self:this,__source:{fileName:ue,lineNumber:68,columnNumber:9}});case"Model3d":return C.default.createElement(nr,{...t,...r==null?void 0:r.modelViewer,data:e,__self:this,__source:{fileName:ue,lineNumber:78,columnNumber:9}});default:return console.error("<MediaFile /> requires the '__typename' property to exist on the 'data' prop in order to correctly render the correct component for this media. Rendering 'null' by default"),null}}var M="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/Metafield.tsx";function At(e){var a,l,s,m,c,h,y,E,T;const{data:r,as:t,...n}=e,{locale:o}=J(),i=g.useMemo(()=>ar(r),[r]);if(!i)return console.warn("<Metafield/>: nothing was passed to the data prop 'data'. Rendering 'null'"),null;if(i.value===null||i.value===void 0){const f=`<Metafield/>: No metafield value for metafield ${(a=i.id)!=null?a:i.key}. Rendering 'null'`;return console.warn(f),null}switch(i.type){case"date":{const f=t!=null?t:"time";return C.default.createElement(f,{...n,__self:this,__source:{fileName:M,lineNumber:68,columnNumber:9}},i.value.toLocaleDateString(o))}case"date_time":{const f=t!=null?t:"time";return C.default.createElement(f,{...n,__self:this,__source:{fileName:M,lineNumber:76,columnNumber:9}},i.value.toLocaleString(o))}case"weight":case"dimension":case"volume":{const f=t!=null?t:"span";return C.default.createElement(f,{...n,__self:this,__source:{fileName:M,lineNumber:86,columnNumber:9}},It(i.value,o))}case"rating":{const f=t!=null?t:"span";return C.default.createElement(f,{...n,__self:this,__source:{fileName:M,lineNumber:94,columnNumber:9}},i.value.value)}case"single_line_text_field":{const f=t!=null?t:"span";return C.default.createElement(f,{...n,dangerouslySetInnerHTML:{__html:i.value},__self:this,__source:{fileName:M,lineNumber:102,columnNumber:9}})}case"multi_line_text_field":{const f=t!=null?t:"div";return C.default.createElement(f,{...n,dangerouslySetInnerHTML:{__html:i.value.split(`
239
- `).join("<br/>")},__self:this,__source:{fileName:M,lineNumber:111,columnNumber:9}})}case"url":{const f=new URL(i.value);return C.default.createElement("a",{href:f.href.replace(f.protocol,""),...n,__self:this,__source:{fileName:M,lineNumber:122,columnNumber:9}},i.value)}case"json":{const f=t!=null?t:"span";return C.default.createElement(f,{...n,__self:this,__source:{fileName:M,lineNumber:133,columnNumber:9}},JSON.stringify(i.value))}case"product_reference":case"variant_reference":case"page_reference":{const f=t!=null?t:"span",S=i.reference;return C.default.createElement(f,{...n,__self:this,__source:{fileName:M,lineNumber:144,columnNumber:9}},(s=(l=S==null?void 0:S.title)!=null?l:S==null?void 0:S.id)!=null?s:"")}case"list.single_line_text_field":{const f=t!=null?t:"ul",S=i.references?x(i.references):[];return C.default.createElement(f,{...n,__self:this,__source:{fileName:M,lineNumber:154,columnNumber:9}},S.map((v,b)=>C.default.createElement("li",{key:`${v!=null?v:""}-${b}`,__self:this,__source:{fileName:M,lineNumber:158,columnNumber:13}},v)))}case"file_reference":if(((m=i.reference)==null?void 0:m.__typename)==="MediaImage"){const f=i.reference;return f.image?C.default.createElement(oe,{data:f.image,...n,__self:this,__source:{fileName:M,lineNumber:167,columnNumber:11}}):null}else if(((c=i.reference)==null?void 0:c.__typename)==="GenericFile"){const f=i.reference;return f.previewImage?C.default.createElement("a",{href:(y=(h=i.reference)==null?void 0:h.url)!=null?y:"",...n,__self:this,__source:{fileName:M,lineNumber:172,columnNumber:11}},C.default.createElement(oe,{data:f.previewImage,__self:this,__source:{fileName:M,lineNumber:173,columnNumber:13}})):null}else if(((E=i.reference)==null?void 0:E.__typename)==="Video"){const f=i.reference;return C.default.createElement(Se,{...n,data:f,__self:this,__source:{fileName:M,lineNumber:178,columnNumber:16}})}}const u=t!=null?t:"span";return C.default.createElement(u,{...n,__self:this,__source:{fileName:M,lineNumber:185,columnNumber:5}},(T=i.value)==null?void 0:T.toString())}function ar(e){return e?{...e,value:ir(e)}:null}function ir(e){if(!e)return null;if(e.value===null||e.value===void 0)return e.value;switch(e.type){case"boolean":return e.value==="true";case"number_integer":return parseInt(e.value);case"number_decimal":return parseFloat(e.value);case"date":case"date_time":return new Date(e.value);case"json":case"weight":case"dimension":case"volume":case"rating":return ve(e.value);case"color":case"single_line_text_field":case"multi_line_text_field":case"product_reference":case"page_reference":case"variant_reference":case"file_reference":case"url":default:return e.value}}function ve(e){return String(e).includes("__proto__")?JSON.parse(e,(r,t)=>{if(r!=="__proto__")return t}):JSON.parse(e)}const wt={mm:"millimeter",cm:"centimeter",m:"meter",in:"inch",ft:"foot",yd:"yard",ml:"milliliter",l:"liter",us_fl_oz:"fluid-ounce",us_gal:"gallon",kg:"kilogram",g:"gram",lb:"pound",oz:"ounce"};function It(e,r="en-us",t={}){let n={value:e.value,unit:wt[e.unit]};return n.unit==null&&(n=Ot(e.value,e.unit)),new Intl.NumberFormat(r,{...t,unit:n.unit,style:"unit"}).format(n.value)}function Ot(e,r){switch(r){case"cl":return{value:e/1e3,unit:"liter"};case"m3":return{value:e*1e3,unit:"liter"};case"us_pt":return{value:e*.125,unit:"gallon"};case"us_qt":return{value:e*.5,unit:"gallon"};case"us_oz":return{value:e/128,unit:"gallon"};case"imp_pt":return{value:e/6.661,unit:"gallon"};case"imp_qt":return{value:e/3.331,unit:"gallon"};case"imp_gal":return{value:e/1.201,unit:"gallon"};case"imp_fl_oz":return{value:e*.96076,unit:"fluid-ounce"};default:throw new Error(`Unit not supported: ${r}`)}}function Dt(e){var r,t,n,o;if(!e.type)return console.error("metafieldParser(): The 'type' field is required in order to parse the Metafield. Returning 'parsedValue' of 'null'"),{...e,parsedValue:null};switch(e.type){case"boolean":return{...e,parsedValue:e.value==="true"};case"collection_reference":case"file_reference":case"page_reference":case"product_reference":case"variant_reference":return{...e,parsedValue:e.reference};case"color":case"multi_line_text_field":case"single_line_text_field":case"url":return{...e,parsedValue:e.value};case"dimension":case"money":case"json":case"rating":case"volume":case"weight":case"list.color":case"list.dimension":case"list.number_integer":case"list.number_decimal":case"list.rating":case"list.single_line_text_field":case"list.url":case"list.volume":case"list.weight":{let i=null;try{i=ve((r=e.value)!=null?r:"")}catch{console.error("metafieldParser(): attempted to JSON.parse the 'metafield.value' property, but failed. Returning 'null' for 'parsedValue'"),i=null}return{...e,parsedValue:i}}case"date":case"date_time":return{...e,parsedValue:new Date((t=e.value)!=null?t:"")};case"list.date":case"list.date_time":{const i=ve((n=e==null?void 0:e.value)!=null?n:"");return{...e,parsedValue:i.map(u=>new Date(u))}}case"number_decimal":case"number_integer":return{...e,parsedValue:Number(e.value)};case"list.collection_reference":case"list.file_reference":case"list.page_reference":case"list.product_reference":case"list.variant_reference":return{...e,parsedValue:x((o=e.references)!=null?o:void 0)};default:{const i=`metafieldParser(): the 'metafield.type' you passed in is not supported. Your type: "${e.type}". If you believe this is an error, please open an issue on GitHub.`;return console.error(`${i} Returning 'parsedValue' of 'null'`),{...e,parsedValue:null}}}}function or(e){const{locale:r}=J();if(!r)throw new Error("useMoney(): Unable to get 'locale' from 'useShop()', which means that 'locale' was not passed to '<ShopifyProvider/>'. 'locale' is required for 'useMoney()' to work");const t=parseFloat(e.amount),n=g.useMemo(()=>({style:"currency",currency:e.currencyCode}),[e.currencyCode]),o=Z(r,n),i=Z(r,{...n,currencyDisplay:"name"}),u=Z(r,{...n,currencyDisplay:"narrowSymbol"}),a=Z(r,{...n,minimumFractionDigits:0,maximumFractionDigits:0}),l=Z(r),s=Z(r,{minimumFractionDigits:0,maximumFractionDigits:0}),m=h=>h.type==="currency",c=g.useMemo(()=>({original:()=>e,currencyCode:()=>e.currencyCode,localizedString:()=>o().format(t),parts:()=>o().formatToParts(t),withoutTrailingZeros:()=>t%1===0?a().format(t):o().format(t),withoutTrailingZerosAndCurrency:()=>t%1===0?s().format(t):l().format(t),currencyName:()=>{var h,y;return(y=(h=i().formatToParts(t).find(m))==null?void 0:h.value)!=null?y:e.currencyCode},currencySymbol:()=>{var h,y;return(y=(h=o().formatToParts(t).find(m))==null?void 0:h.value)!=null?y:e.currencyCode},currencyNarrowSymbol:()=>{var h,y;return(y=(h=u().formatToParts(t).find(m))==null?void 0:h.value)!=null?y:""},amount:()=>o().formatToParts(t).filter(h=>["decimal","fraction","group","integer","literal"].includes(h.type)).map(h=>h.value).join("")}),[e,t,i,o,u,l,a,s]);return g.useMemo(()=>new Proxy(c,{get:(h,y)=>{var E;return(E=Reflect.get(h,y))==null?void 0:E.call(null)}}),[c])}function Z(e,r){return g.useMemo(()=>{let t;return()=>t!=null?t:t=new Intl.NumberFormat(e,r)},[e,r])}var Lt="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/Money.tsx";function be({data:e,as:r,withoutCurrency:t,withoutTrailingZeros:n,measurement:o,measurementSeparator:i="/",...u}){if(!Pt(e))throw new Error("<Money/> needs a valid 'data' prop that has 'amount' and 'currencyCode'");const a=or(e),l=r!=null?r:"div";let s=a.localizedString;return(t||n)&&(t&&!n?s=a.amount:!t&&n?s=a.withoutTrailingZeros:s=a.withoutTrailingZerosAndCurrency),C.default.createElement(l,{...u,__self:this,__source:{fileName:Lt,lineNumber:65,columnNumber:5}},s,o&&o.referenceUnit&&C.default.createElement(C.default.Fragment,null,i,o.referenceUnit))}function Pt(e){return typeof e.amount=="string"&&!!e.amount&&typeof e.currencyCode=="string"&&!!e.currencyCode}var ur="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ProductPrice.tsx";function Ut(e){var s,m,c,h,y,E,T,f;const{priceType:r="regular",variantId:t,valueType:n="min",data:o,...i}=e;if(o==null)throw new Error("<ProductPrice/> requires a product as the 'data' prop");let u,a;const l=t&&(m=x((s=o==null?void 0:o.variants)!=null?s:{}).find(S=>(S==null?void 0:S.id)===t))!=null?m:null;if(r==="compareAt")if(t&&l){if(((c=l.compareAtPriceV2)==null?void 0:c.amount)===((h=l.priceV2)==null?void 0:h.amount))return null;u=l.compareAtPriceV2}else n==="max"?u=(y=o==null?void 0:o.compareAtPriceRange)==null?void 0:y.maxVariantPrice:u=(E=o==null?void 0:o.compareAtPriceRange)==null?void 0:E.minVariantPrice;else t&&l?(u=l.priceV2,n==="unit"&&(u=l.unitPrice,a=l.unitPriceMeasurement)):n==="max"?u=(T=o.priceRange)==null?void 0:T.maxVariantPrice:u=(f=o.priceRange)==null?void 0:f.minVariantPrice;return u?a?C.default.createElement(be,{...i,data:u,measurement:a,__self:this,__source:{fileName:ur,lineNumber:81,columnNumber:7}}):C.default.createElement(be,{...i,data:u,__self:this,__source:{fileName:ur,lineNumber:85,columnNumber:10}}):null}var sr="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ShopPayButton.tsx";const kt="https://cdn.shopify.com/shopifycloud/shop-js/v1.0/client.js";function Rt({variantIds:e,className:r,variantIdsAndQuantities:t,width:n}){const{storeDomain:o}=J(),i=tr(kt);let u;if(e&&t)throw new Error(Vt);if(e)u=e.reduce((l,s)=>{const m=cr(s);return m&&l.push(m),l},[]);else if(t)u=t.reduce((l,s)=>{var c;const m=cr(s==null?void 0:s.id);return m&&l.push(`${m}:${(c=s==null?void 0:s.quantity)!=null?c:1}`),l},[]);else throw new Error(Mt);const a=n?{"--shop-pay-button-width":n}:void 0;return C.default.createElement("div",{className:r,style:a,__self:this,__source:{fileName:sr,lineNumber:90,columnNumber:5}},i==="done"&&C.default.createElement("shop-pay-button",{"store-url":`https://${o}`,variants:u.join(","),__self:this,__source:{fileName:sr,lineNumber:92,columnNumber:9}}))}function cr(e){if(!!e)return e.split("/").pop()}const Mt='You must pass in either "variantIds" or "variantIdsAndQuantities" to ShopPayButton',Vt="You must provide either a variantIds or variantIdsAndQuantities prop, but not both in the ShopPayButton component";function $t({storeDomain:e,privateStorefrontToken:r,publicStorefrontToken:t,storefrontApiVersion:n,contentType:o}){return n!==X&&console.warn(`StorefrontClient: The Storefront API version that you're using is different than the version this build of Hydrogen-UI is targeting. You may run into unexpected errors if these versions don't match. Received verion: "${n}"; expected version "${X}"`),{getStorefrontApiUrl(i){var u,a;return`https://${(u=i==null?void 0:i.storeDomain)!=null?u:e}.myshopify.com/api/${(a=i==null?void 0:i.storefrontApiVersion)!=null?a:n}/graphql.json`},getPrivateTokenHeaders(i){var a,l,s;if(!r&&!(i!=null&&i.privateStorefrontToken))throw new Error("StorefrontClient: You did not pass in a 'privateStorefrontToken' while using 'getPrivateTokenHeaders()'");return{"content-type":((a=i==null?void 0:i.contentType)!=null?a:o)==="graphql"?"application/graphql":"application/json","X-SDK-Variant":"hydrogen-ui","X-SDK-Variant-Source":"react","X-SDK-Version":n,"Shopify-Storefront-Private-Token":(s=(l=i==null?void 0:i.privateStorefrontToken)!=null?l:r)!=null?s:"",...i!=null&&i.buyerIp?{"Shopify-Storefront-Buyer-IP":i.buyerIp}:{}}},getPublicTokenHeaders(i){var a,l,s;if(!t&&!(i!=null&&i.publicStorefrontToken))throw new Error("StorefrontClient: You did not pass in a 'publicStorefrontToken' while using 'getPublicTokenHeaders()'");return{"content-type":((a=i==null?void 0:i.contentType)!=null?a:o)==="graphql"?"application/graphql":"application/json","X-SDK-Variant":"hydrogen-ui","X-SDK-Variant-Source":"react","X-SDK-Version":n,"X-Shopify-Storefront-Access-Token":(s=(l=i==null?void 0:i.publicStorefrontToken)!=null?l:t)!=null?s:""}}}}L.AddToCartButton=dt,L.BuyNowButton=mt,L.CartCheckoutButton=_t,L.CartProvider=rt,L.ExternalVideo=Qe,L.Image=oe,L.MediaFile=Nt,L.Metafield=At,L.ModelViewer=nr,L.Money=be,L.ProductPrice=Ut,L.ProductProvider=ut,L.ShopPayButton=Rt,L.ShopifyProvider=jr,L.Video=Se,L.createStorefrontClient=$t,L.flattenConnection=x,L.metafieldParser=Dt,L.parseMetafield=ar,L.parseMetafieldValue=ir,L.useCart=ie,L.useMoney=or,L.useProduct=Ye,L.useShop=J,Object.defineProperties(L,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
238
+ `;var ut="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ProductProvider.tsx";const Ye=g.createContext(null);function st({children:e,data:r,initialVariantId:t}){const n=g.useMemo(()=>{var f;return x((f=r.variants)!=null?f:{})},[r.variants]);if(!lt(n))throw new Error("<ProductProvider/> requires 'product.variants.nodes' or 'product.variants.edges'");const u=g.useMemo(()=>ct(n),[n]),[a,o]=g.useState(()=>ze(t,n)),[i,l]=g.useState(()=>Ke(a));g.useEffect(()=>{const f=ze(t,n);o(f),l(Ke(f))},[t,n]);const s=g.useCallback((f,S)=>{l(b=>{const v={...b,[f]:S};return o(Ze(n,v)),v})},[l,n]),m=g.useCallback((f,S)=>{var v;const b=Ze(n,{...i,[f]:S});return(v=b==null?void 0:b.availableForSale)!=null?v:!0},[i,n]),c=g.useMemo(()=>{var f;return x((f=r.sellingPlanGroups)!=null?f:{}).map(S=>{var b;return{...S,sellingPlans:x((b=S==null?void 0:S.sellingPlans)!=null?b:{})}})},[r.sellingPlanGroups]),[_,y]=g.useState(void 0),E=g.useMemo(()=>{var f,S;if(!(!a||!_)){if(!((f=a.sellingPlanAllocations)!=null&&f.nodes)&&!((S=a.sellingPlanAllocations)!=null&&S.edges))throw new Error("<ProductProvider/>: You must include 'sellingPlanAllocations.nodes' or 'sellingPlanAllocations.edges' in your variants in order to calculate selectedSellingPlanAllocation");return x(a.sellingPlanAllocations).find(b=>{var v;return((v=b==null?void 0:b.sellingPlan)==null?void 0:v.id)===_.id})}},[a,_]),T=g.useMemo(()=>({variants:n,variantsConnection:r.variants,options:u,selectedVariant:a,setSelectedVariant:o,selectedOptions:i,setSelectedOption:s,setSelectedOptions:l,isOptionInStock:m,selectedSellingPlan:_,setSelectedSellingPlan:y,selectedSellingPlanAllocation:E,sellingPlanGroups:c,sellingPlanGroupsConnection:r.sellingPlanGroups}),[m,u,r.sellingPlanGroups,r.variants,i,_,E,a,c,s,n]);return C.default.createElement(Ye.Provider,{value:T,__self:this,__source:{fileName:ut,lineNumber:201,columnNumber:5}},e)}function Ge(){const e=g.useContext(Ye);if(!e)throw new Error("'useProduct' must be a child of <ProductProvider />");return e}function Ze(e,r){var t,n;if(!(!e.length||((n=(t=e==null?void 0:e[0])==null?void 0:t.selectedOptions)==null?void 0:n.length)!==Object.keys(r).length))return e==null?void 0:e.find(u=>Object.entries(r).every(([a,o])=>{var i;return(i=u==null?void 0:u.selectedOptions)==null?void 0:i.some(l=>(l==null?void 0:l.name)===a&&(l==null?void 0:l.value)===o)}))}function ct(e){const r=e.reduce((t,n)=>{var u;if(!n.selectedOptions)throw new Error("'getOptions' requires 'variant.selectedOptions'");return(u=n==null?void 0:n.selectedOptions)==null||u.forEach(a=>{var o,i,l,s;t[(o=a==null?void 0:a.name)!=null?o:""]=t[(i=a==null?void 0:a.name)!=null?i:""]||new Set,t[(l=a==null?void 0:a.name)!=null?l:""].add((s=a==null?void 0:a.value)!=null?s:"")}),t},{});return Object.keys(r).map(t=>({name:t,values:Array.from(r[t])}))}function ze(e,r){if(e){const t=r.find(n=>(n==null?void 0:n.id)===e);return t||console.warn("<ProductProvider/> received a 'initialVariantId' prop, but could not actually find a variant with that ID"),t}if(e===null)return null;if(e===void 0)return r.find(t=>t==null?void 0:t.availableForSale)||r[0]}function Ke(e){return e!=null&&e.selectedOptions?e.selectedOptions.reduce((r,t)=>{var n,u;return r[(n=t==null?void 0:t.name)!=null?n:""]=(u=t==null?void 0:t.value)!=null?u:"",r},{}):{}}function lt(e){return!(!e||!Array.isArray(e))}var dt="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/BaseButton.tsx";function Ee(e){const{as:r,onClick:t,defaultOnClick:n,children:u,buttonRef:a,...o}=e,i=g.useCallback(s=>{if(t){const m=t(s);if(typeof m=="boolean"&&m===!1||(s==null?void 0:s.defaultPrevented))return}n==null||n(s)},[n,t]),l=r||"button";return C.default.createElement(l,{ref:a,onClick:i,...o,__self:this,__source:{fileName:dt,lineNumber:59,columnNumber:5}},u)}var Qe="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/AddToCartButton.tsx";function ft(e){var S;const[r,t]=g.useState(!1),{variantId:n,quantity:u=1,attributes:a,sellingPlanId:o,onClick:i,children:l,accessibleAddingToCartLabel:s,...m}=e,{status:c,linesAdd:_}=ie(),{selectedVariant:y}=Ge(),E=(S=n!=null?n:y==null?void 0:y.id)!=null?S:"",T=n===null||E===""||y===null||r||m.disabled;g.useEffect(()=>{r&&c==="idle"&&t(!1)},[c,r]);const f=g.useCallback(()=>{t(!0),_([{quantity:u,merchandiseId:E||"",attributes:a,sellingPlanId:o}])},[_,u,E,a,o]);return C.default.createElement(C.default.Fragment,null,C.default.createElement(Ee,{...m,disabled:T,onClick:i,defaultOnClick:f,__self:this,__source:{fileName:Qe,lineNumber:71,columnNumber:7}},l),s?C.default.createElement("p",{style:{position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"},role:"alert","aria-live":"assertive",__self:this,__source:{fileName:Qe,lineNumber:80,columnNumber:9}},r?s:null):null)}var mt="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/BuyNowButton.tsx";function yt(e){const{cartCreate:r,checkoutUrl:t}=ie(),[n,u]=g.useState(!1),{quantity:a,variantId:o,onClick:i,attributes:l,children:s,...m}=e;g.useEffect(()=>{t&&(window.location.href=t)},[t]);const c=g.useCallback(()=>{u(!0),r({lines:[{quantity:a!=null?a:1,merchandiseId:o,attributes:l}]})},[r,a,o,l]);return C.default.createElement(Ee,{disabled:n!=null?n:m.disabled,...m,onClick:i,defaultOnClick:c,__self:this,__source:{fileName:mt,lineNumber:53,columnNumber:5}},s)}var ht="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/CartCheckoutButton.tsx";function _t(e){const[r,t]=g.useState(!1),{status:n,checkoutUrl:u}=ie(),{children:a,...o}=e;return g.useEffect(()=>{r&&u&&n==="idle"&&(window.location.href=u)},[r,n,u]),C.default.createElement(Ee,{...o,disabled:r||o.disabled,onClick:()=>t(!0),__self:this,__source:{fileName:ht,lineNumber:28,columnNumber:5}},a)}const gt={DateTime:"string",Decimal:"string",HTML:"string",URL:"string",Color:"string",UnsignedInt64:"string"};var pt="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ExternalVideo.tsx";function Je(e){var m,c;const{data:r,options:t,id:n=r.id,frameBorder:u="0",allow:a="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:o=!0,loading:i="lazy",...l}=e;if(!r.embedUrl)throw new Error("<ExternalVideo/> requires the 'embedUrl' property");let s=r.embedUrl;if(t){const _=new URL(r.embedUrl);for(const y of Object.keys(t))_.searchParams.set(y,t[y]);s=_.toString()}return C.default.createElement("iframe",{...l,id:n!=null?n:r.embedUrl,title:(c=(m=r.alt)!=null?m:r.id)!=null?c:"external video",frameBorder:u,allow:a,allowFullScreen:o,src:s,loading:i,__self:this,__source:{fileName:pt,lineNumber:56,columnNumber:5}})}const Et=["cdn.shopify.com","cdn.shopifycdn.net","shopify-assets.shopifycdn.com","shopify-assets.shopifycdn.net"],St=["spin.dev"],bt=[...Et,...St],re=[352,832,1200,1920,2560];function Xe({src:e,width:r,height:t,crop:n,scale:u}){const a=new URL(e),o=u!=null?u:1;if(r){let i;typeof r=="string"?i=(re[0]*o).toString():i=(Number(r)*o).toString(),a.searchParams.append("width",i)}return t&&typeof t=="number"&&a.searchParams.append("height",(t*o).toString()),n&&a.searchParams.append("crop",n),a.toString()}function er(e){const r=new URL(e.src);return!bt.some(n=>r.hostname.endsWith(n))||!e.width&&!e.height&&!e.crop&&!e.scale?e.src:Xe(e)}function vt({data:e,loaderOptions:r,elementProps:t}){var u,a,o,i,l,s;let n=null;return(e==null?void 0:e.width)&&(e==null?void 0:e.height)&&(n=(e==null?void 0:e.width)/(e==null?void 0:e.height)),(r==null?void 0:r.width)||(r==null?void 0:r.height)?{width:(u=r==null?void 0:r.width)!=null?u:n&&typeof r.height=="number"?Math.round(n*r.height):null,height:(a=r==null?void 0:r.height)!=null?a:n&&typeof r.width=="number"?Math.round(n*r.width):null}:(t==null?void 0:t.width)||(t==null?void 0:t.height)?{width:(o=t==null?void 0:t.width)!=null?o:n&&typeof t.height=="number"?Math.round(n*t.height):null,height:(i=t==null?void 0:t.height)!=null?i:n&&typeof t.width=="number"?Math.round(n*t.width):null}:(e==null?void 0:e.width)||(e==null?void 0:e.height)?{width:(l=e==null?void 0:e.width)!=null?l:null,height:(s=e==null?void 0:e.height)!=null?s:null}:{width:null,height:null}}var Ct="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/Image.tsx";function oe({data:e,width:r,height:t,loading:n,loader:u=er,loaderOptions:a,widths:o,decoding:i="async",...l}){var E,T,f,S,b,v;if(!e.url){const d=`<Image/>: the 'data' prop requires the 'url' property. Image: ${(E=e.id)!=null?E:"no ID provided"}`;return console.error(d),null}const{width:s,height:m}=vt({data:e,loaderOptions:a,elementProps:{width:r,height:t}});let c=e.url;if(u&&(c=u({...a,src:e.url,width:s,height:m}),typeof c!="string"||!c))throw new Error(`<Image/>: 'loader' did not return a valid string. Image: ${(T=e.id)!=null?T:e.url}`);const _=r&&s&&r<s?r:s,y=(f=l.srcSet)!=null?f:Tt({...a,widths:o,src:e.url,width:_,height:m,loader:u});return Ce.createElement("img",{id:(S=e.id)!=null?S:"",alt:(v=(b=e.altText)!=null?b:l.alt)!=null?v:"",loading:n!=null?n:"lazy",...l,src:c,width:s!=null?s:void 0,height:m!=null?m:void 0,srcSet:y,decoding:i,__self:this,__source:{fileName:Ct,lineNumber:150,columnNumber:5}})}function Tt({src:e,width:r,crop:t,scale:n,widths:u,loader:a,height:o}){const i=u&&Array.isArray(u);if(i&&u.some(c=>isNaN(c)))throw new Error(`<Image/>: the 'widths' must be an array of numbers. Image: ${e}`);let l=1;r&&o&&(l=Number(o)/Number(r));let s=i?u:re;!i&&r&&r<re[re.length-1]&&(s=re.filter(c=>c<=r));const m=a||Xe;return s.map(c=>`${m({src:e,width:c,height:t?Number(c)*l:void 0,crop:t,scale:n})} ${c}w`).join(", ")}var rr="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/Video.tsx";function Se(e){var s,m;const{data:r,previewImageOptions:t,id:n=r.id,playsInline:u=!0,controls:a=!0,sourceProps:o={},...i}=e,l=er({src:(m=(s=r.previewImage)==null?void 0:s.url)!=null?m:"",...t});if(!r.sources)throw new Error("<Video/> requires a 'data.sources' array");return C.default.createElement("video",{...i,id:n,playsInline:u,controls:a,poster:l,__self:this,__source:{fileName:rr,lineNumber:42,columnNumber:5}},r.sources.map(c=>{if(!((c==null?void 0:c.url)&&(c==null?void 0:c.mimeType)))throw new Error("<Video/> needs 'source.url' and 'source.mimeType'");return C.default.createElement("source",{...o,key:c.url,src:c.url,type:c.mimeType,__self:this,__source:{fileName:rr,lineNumber:54,columnNumber:11}})}))}const tr={};function Nt(e,r){const t=tr[e];if(t)return t;const n=new Promise((u,a)=>{const o=document.createElement("script");r!=null&&r.module?o.type="module":o.type="text/javascript",o.src=e,o.onload=()=>{u(!0)},o.onerror=()=>{a(!1)},(r==null?void 0:r.in)==="head"?document.head.appendChild(o):document.body.appendChild(o)});return tr[e]=n,n}function nr(e,r){const[t,n]=g.useState("loading"),u=JSON.stringify(r);return g.useEffect(()=>{async function a(){try{n("loading"),await Nt(e,r),n("done")}catch{n("error")}}a()},[e,u,r]),t}var At="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ModelViewer.tsx";function ar(e){var s,m,c,_,y,E,T,f,S,b,v;const[r,t]=g.useState(void 0),n=g.useCallback(d=>{t(d)},[]),{data:u,children:a,className:o,...i}=e,l=nr("https://unpkg.com/@google/model-viewer@v1.12.1/dist/model-viewer.min.js",{module:!0});return g.useEffect(()=>{if(!!r)return i.onError&&r.addEventListener("error",i.onError),i.onLoad&&r.addEventListener("load",i.onLoad),i.onPreload&&r.addEventListener("preload",i.onPreload),i.onModelVisibility&&r.addEventListener("model-visibility",i.onModelVisibility),i.onProgress&&r.addEventListener("progress",i.onProgress),i.onArStatus&&r.addEventListener("ar-status",i.onArStatus),i.onArTracking&&r.addEventListener("ar-tracking",i.onArTracking),i.onQuickLookButtonTapped&&r.addEventListener("quick-look-button-tapped",i.onQuickLookButtonTapped),i.onCameraChange&&r.addEventListener("camera-change",i.onCameraChange),i.onEnvironmentChange&&r.addEventListener("environment-change",i.onEnvironmentChange),i.onPlay&&r.addEventListener("play",i.onPlay),i.onPause&&r.addEventListener("ar-status",i.onPause),i.onSceneGraphReady&&r.addEventListener("scene-graph-ready",i.onSceneGraphReady),()=>{r!=null&&(i.onError&&r.removeEventListener("error",i.onError),i.onLoad&&r.removeEventListener("load",i.onLoad),i.onPreload&&r.removeEventListener("preload",i.onPreload),i.onModelVisibility&&r.removeEventListener("model-visibility",i.onModelVisibility),i.onProgress&&r.removeEventListener("progress",i.onProgress),i.onArStatus&&r.removeEventListener("ar-status",i.onArStatus),i.onArTracking&&r.removeEventListener("ar-tracking",i.onArTracking),i.onQuickLookButtonTapped&&r.removeEventListener("quick-look-button-tapped",i.onQuickLookButtonTapped),i.onCameraChange&&r.removeEventListener("camera-change",i.onCameraChange),i.onEnvironmentChange&&r.removeEventListener("environment-change",i.onEnvironmentChange),i.onPlay&&r.removeEventListener("play",i.onPlay),i.onPause&&r.removeEventListener("ar-status",i.onPause),i.onSceneGraphReady&&r.removeEventListener("scene-graph-ready",i.onSceneGraphReady))}},[r,i.onArStatus,i.onArTracking,i.onCameraChange,i.onEnvironmentChange,i.onError,i.onLoad,i.onModelVisibility,i.onPause,i.onPlay,i.onPreload,i.onProgress,i.onQuickLookButtonTapped,i.onSceneGraphReady]),l!=="done"?null:(m=(s=u.sources)==null?void 0:s[0])!=null&&m.url?C.default.createElement("model-viewer",{ref:n,...i,className:o,id:(c=i.id)!=null?c:u.id,src:u.sources[0].url,alt:(_=u.alt)!=null?_:null,"camera-controls":(y=i.cameraControls)!=null?y:!0,poster:(T=i.poster||((E=u.previewImage)==null?void 0:E.url))!=null?T:null,autoplay:(f=i.autoplay)!=null?f:!0,loading:i.loading,reveal:i.reveal,ar:i.ar,"ar-modes":i.arModes,"ar-scale":i.arScale,"ar-placement":i.arPlacement,"ios-src":i.iosSrc,"touch-action":i.touchAction,"disable-zoom":i.disableZoom,"orbit-sensitivity":i.orbitSensitivity,"auto-rotate":i.autoRotate,"auto-rotate-delay":i.autoRotateDelay,"rotation-per-second":i.rotationPerSecond,"interaction-policy":i.interactionPolicy,"interaction-prompt":i.interactionPrompt,"interaction-prompt-style":i.interactionPromptStyle,"interaction-prompt-threshold":i.interactionPromptThreshold,"camera-orbit":i.cameraOrbit,"camera-target":i.cameraTarget,"field-of-view":i.fieldOfView,"max-camera-orbit":i.maxCameraOrbit,"min-camera-orbit":i.minCameraOrbit,"max-field-of-view":i.maxFieldOfView,"min-field-of-view":i.minFieldOfView,bounds:i.bounds,"interpolation-decay":(S=i.interpolationDecay)!=null?S:100,"skybox-image":i.skyboxImage,"environment-image":i.environmentImage,exposure:i.exposure,"shadow-intensity":(b=i.shadowIntensity)!=null?b:0,"shadow-softness":(v=i.shadowSoftness)!=null?v:0,"animation-name":i.animationName,"animation-crossfade-duration":i.animationCrossfadeDuration,"variant-name":i.variantName,orientation:i.orientation,scale:i.scale,__self:this,__source:{fileName:At,lineNumber:222,columnNumber:5}},a):(console.error("<ModelViewer/> requires 'data.sources' prop to be an array, with an object that has a property 'url' on it. Rendering 'null'"),null)}var ue="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/MediaFile.tsx";function wt({data:e,mediaOptions:r,...t}){switch(e.__typename){case"MediaImage":return e.image?C.default.createElement(oe,{...t,...r==null?void 0:r.image,data:e.image,__self:this,__source:{fileName:ue,lineNumber:54,columnNumber:9}}):(console.warn("<MediaFile/>: 'data.image' does not exist for __typename of 'MediaImage'; rendering 'null' by default."),null);case"Video":return C.default.createElement(Se,{...t,...r==null?void 0:r.video,data:e,__self:this,__source:{fileName:ue,lineNumber:63,columnNumber:9}});case"ExternalVideo":return C.default.createElement(Je,{...t,...r==null?void 0:r.externalVideo,data:e,__self:this,__source:{fileName:ue,lineNumber:68,columnNumber:9}});case"Model3d":return C.default.createElement(ar,{...t,...r==null?void 0:r.modelViewer,data:e,__self:this,__source:{fileName:ue,lineNumber:78,columnNumber:9}});default:return console.error("<MediaFile /> requires the '__typename' property to exist on the 'data' prop in order to render the matching sub-component for this type of media. Rendering 'null' by default"),null}}var $="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/Metafield.tsx";function It(e){var i,l,s,m,c,_,y,E,T;const{data:r,as:t,...n}=e,{locale:u}=X(),a=g.useMemo(()=>ir(r),[r]);if(!a)return console.warn("<Metafield/>: nothing was passed to the data prop 'data'. Rendering 'null'"),null;if(a.value===null||a.value===void 0){const f=`<Metafield/>: No metafield value for metafield ${(i=a.id)!=null?i:a.key}. Rendering 'null'`;return console.warn(f),null}switch(a.type){case"date":{const f=t!=null?t:"time";return C.default.createElement(f,{...n,__self:this,__source:{fileName:$,lineNumber:68,columnNumber:9}},a.value.toLocaleDateString(u))}case"date_time":{const f=t!=null?t:"time";return C.default.createElement(f,{...n,__self:this,__source:{fileName:$,lineNumber:76,columnNumber:9}},a.value.toLocaleString(u))}case"weight":case"dimension":case"volume":{const f=t!=null?t:"span";return C.default.createElement(f,{...n,__self:this,__source:{fileName:$,lineNumber:86,columnNumber:9}},Ot(a.value,u))}case"rating":{const f=t!=null?t:"span";return C.default.createElement(f,{...n,__self:this,__source:{fileName:$,lineNumber:94,columnNumber:9}},a.value.value)}case"single_line_text_field":{const f=t!=null?t:"span";return C.default.createElement(f,{...n,dangerouslySetInnerHTML:{__html:a.value},__self:this,__source:{fileName:$,lineNumber:102,columnNumber:9}})}case"multi_line_text_field":{const f=t!=null?t:"div";return C.default.createElement(f,{...n,dangerouslySetInnerHTML:{__html:a.value.split(`
239
+ `).join("<br/>")},__self:this,__source:{fileName:$,lineNumber:111,columnNumber:9}})}case"url":{const f=new URL(a.value);return C.default.createElement("a",{href:f.href.replace(f.protocol,""),...n,__self:this,__source:{fileName:$,lineNumber:122,columnNumber:9}},a.value)}case"json":{const f=t!=null?t:"span";return C.default.createElement(f,{...n,__self:this,__source:{fileName:$,lineNumber:133,columnNumber:9}},JSON.stringify(a.value))}case"product_reference":case"variant_reference":case"page_reference":{const f=t!=null?t:"span",S=a.reference;return C.default.createElement(f,{...n,__self:this,__source:{fileName:$,lineNumber:144,columnNumber:9}},(s=(l=S==null?void 0:S.title)!=null?l:S==null?void 0:S.id)!=null?s:"")}case"list.single_line_text_field":{const f=t!=null?t:"ul",S=a.references?x(a.references):[];return C.default.createElement(f,{...n,__self:this,__source:{fileName:$,lineNumber:154,columnNumber:9}},S.map((b,v)=>C.default.createElement("li",{key:`${b!=null?b:""}-${v}`,__self:this,__source:{fileName:$,lineNumber:158,columnNumber:13}},b)))}case"file_reference":if(((m=a.reference)==null?void 0:m.__typename)==="MediaImage"){const f=a.reference;return f.image?C.default.createElement(oe,{data:f.image,...n,__self:this,__source:{fileName:$,lineNumber:167,columnNumber:11}}):null}else if(((c=a.reference)==null?void 0:c.__typename)==="GenericFile"){const f=a.reference;return f.previewImage?C.default.createElement("a",{href:(y=(_=a.reference)==null?void 0:_.url)!=null?y:"",...n,__self:this,__source:{fileName:$,lineNumber:172,columnNumber:11}},C.default.createElement(oe,{data:f.previewImage,__self:this,__source:{fileName:$,lineNumber:173,columnNumber:13}})):null}else if(((E=a.reference)==null?void 0:E.__typename)==="Video"){const f=a.reference;return C.default.createElement(Se,{...n,data:f,__self:this,__source:{fileName:$,lineNumber:178,columnNumber:16}})}}const o=t!=null?t:"span";return C.default.createElement(o,{...n,__self:this,__source:{fileName:$,lineNumber:185,columnNumber:5}},(T=a.value)==null?void 0:T.toString())}function ir(e){return e?{...e,value:or(e)}:null}function or(e){if(!e)return null;if(e.value===null||e.value===void 0)return e.value;switch(e.type){case"boolean":return e.value==="true";case"number_integer":return parseInt(e.value);case"number_decimal":return parseFloat(e.value);case"date":case"date_time":return new Date(e.value);case"json":case"weight":case"dimension":case"volume":case"rating":return be(e.value);case"color":case"single_line_text_field":case"multi_line_text_field":case"product_reference":case"page_reference":case"variant_reference":case"file_reference":case"url":default:return e.value}}function be(e){return String(e).includes("__proto__")?JSON.parse(e,(r,t)=>{if(r!=="__proto__")return t}):JSON.parse(e)}const Dt={mm:"millimeter",cm:"centimeter",m:"meter",in:"inch",ft:"foot",yd:"yard",ml:"milliliter",l:"liter",us_fl_oz:"fluid-ounce",us_gal:"gallon",kg:"kilogram",g:"gram",lb:"pound",oz:"ounce"};function Ot(e,r="en-us",t={}){let n={value:e.value,unit:Dt[e.unit]};return n.unit==null&&(n=Lt(e.value,e.unit)),new Intl.NumberFormat(r,{...t,unit:n.unit,style:"unit"}).format(n.value)}function Lt(e,r){switch(r){case"cl":return{value:e/1e3,unit:"liter"};case"m3":return{value:e*1e3,unit:"liter"};case"us_pt":return{value:e*.125,unit:"gallon"};case"us_qt":return{value:e*.5,unit:"gallon"};case"us_oz":return{value:e/128,unit:"gallon"};case"imp_pt":return{value:e/6.661,unit:"gallon"};case"imp_qt":return{value:e/3.331,unit:"gallon"};case"imp_gal":return{value:e/1.201,unit:"gallon"};case"imp_fl_oz":return{value:e*.96076,unit:"fluid-ounce"};default:throw new Error(`Unit not supported: ${r}`)}}function Ut(e){var r,t,n,u;if(!e.type)return console.error("metafieldParser(): The 'type' field is required in order to parse the Metafield. Returning 'parsedValue' of 'null'"),{...e,parsedValue:null};switch(e.type){case"boolean":return{...e,parsedValue:e.value==="true"};case"collection_reference":case"file_reference":case"page_reference":case"product_reference":case"variant_reference":return{...e,parsedValue:e.reference};case"color":case"multi_line_text_field":case"single_line_text_field":case"url":return{...e,parsedValue:e.value};case"dimension":case"money":case"json":case"rating":case"volume":case"weight":case"list.color":case"list.dimension":case"list.number_integer":case"list.number_decimal":case"list.rating":case"list.single_line_text_field":case"list.url":case"list.volume":case"list.weight":{let a=null;try{a=be((r=e.value)!=null?r:"")}catch{console.error("metafieldParser(): attempted to JSON.parse the 'metafield.value' property, but failed. Returning 'null' for 'parsedValue'"),a=null}return{...e,parsedValue:a}}case"date":case"date_time":return{...e,parsedValue:new Date((t=e.value)!=null?t:"")};case"list.date":case"list.date_time":{const a=be((n=e==null?void 0:e.value)!=null?n:"");return{...e,parsedValue:a.map(o=>new Date(o))}}case"number_decimal":case"number_integer":return{...e,parsedValue:Number(e.value)};case"list.collection_reference":case"list.file_reference":case"list.page_reference":case"list.product_reference":case"list.variant_reference":return{...e,parsedValue:x((u=e.references)!=null?u:void 0)};default:{const a=`metafieldParser(): the 'metafield.type' you passed in is not supported. Your type: "${e.type}". If you believe this is an error, please open an issue on GitHub.`;return console.error(`${a} Returning 'parsedValue' of 'null'`),{...e,parsedValue:null}}}}function ur(e){const{locale:r}=X();if(!r)throw new Error("useMoney(): Unable to get 'locale' from 'useShop()', which means that 'locale' was not passed to '<ShopifyProvider/>'. 'locale' is required for 'useMoney()' to work");const t=parseFloat(e.amount),n=g.useMemo(()=>({style:"currency",currency:e.currencyCode}),[e.currencyCode]),u=Z(r,n),a=Z(r,{...n,currencyDisplay:"name"}),o=Z(r,{...n,currencyDisplay:"narrowSymbol"}),i=Z(r,{...n,minimumFractionDigits:0,maximumFractionDigits:0}),l=Z(r),s=Z(r,{minimumFractionDigits:0,maximumFractionDigits:0}),m=_=>_.type==="currency",c=g.useMemo(()=>({original:()=>e,currencyCode:()=>e.currencyCode,localizedString:()=>u().format(t),parts:()=>u().formatToParts(t),withoutTrailingZeros:()=>t%1===0?i().format(t):u().format(t),withoutTrailingZerosAndCurrency:()=>t%1===0?s().format(t):l().format(t),currencyName:()=>{var _,y;return(y=(_=a().formatToParts(t).find(m))==null?void 0:_.value)!=null?y:e.currencyCode},currencySymbol:()=>{var _,y;return(y=(_=u().formatToParts(t).find(m))==null?void 0:_.value)!=null?y:e.currencyCode},currencyNarrowSymbol:()=>{var _,y;return(y=(_=o().formatToParts(t).find(m))==null?void 0:_.value)!=null?y:""},amount:()=>u().formatToParts(t).filter(_=>["decimal","fraction","group","integer","literal"].includes(_.type)).map(_=>_.value).join("")}),[e,t,a,u,o,l,i,s]);return g.useMemo(()=>new Proxy(c,{get:(_,y)=>{var E;return(E=Reflect.get(_,y))==null?void 0:E.call(null)}}),[c])}function Z(e,r){return g.useMemo(()=>{let t;return()=>t!=null?t:t=new Intl.NumberFormat(e,r)},[e,r])}var kt="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/Money.tsx";function ve({data:e,as:r,withoutCurrency:t,withoutTrailingZeros:n,measurement:u,measurementSeparator:a="/",...o}){if(!Mt(e))throw new Error("<Money/> needs a valid 'data' prop that has 'amount' and 'currencyCode'");const i=ur(e),l=r!=null?r:"div";let s=i.localizedString;return(t||n)&&(t&&!n?s=i.amount:!t&&n?s=i.withoutTrailingZeros:s=i.withoutTrailingZerosAndCurrency),C.default.createElement(l,{...o,__self:this,__source:{fileName:kt,lineNumber:65,columnNumber:5}},s,u&&u.referenceUnit&&C.default.createElement(C.default.Fragment,null,a,u.referenceUnit))}function Mt(e){return typeof e.amount=="string"&&!!e.amount&&typeof e.currencyCode=="string"&&!!e.currencyCode}var sr="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ProductPrice.tsx";function Rt(e){var s,m,c,_,y,E,T,f;const{priceType:r="regular",variantId:t,valueType:n="min",data:u,...a}=e;if(u==null)throw new Error("<ProductPrice/> requires a product as the 'data' prop");let o,i;const l=t&&(m=x((s=u==null?void 0:u.variants)!=null?s:{}).find(S=>(S==null?void 0:S.id)===t))!=null?m:null;if(r==="compareAt")if(t&&l){if(((c=l.compareAtPriceV2)==null?void 0:c.amount)===((_=l.priceV2)==null?void 0:_.amount))return null;o=l.compareAtPriceV2}else n==="max"?o=(y=u==null?void 0:u.compareAtPriceRange)==null?void 0:y.maxVariantPrice:o=(E=u==null?void 0:u.compareAtPriceRange)==null?void 0:E.minVariantPrice;else t&&l?(o=l.priceV2,n==="unit"&&(o=l.unitPrice,i=l.unitPriceMeasurement)):n==="max"?o=(T=u.priceRange)==null?void 0:T.maxVariantPrice:o=(f=u.priceRange)==null?void 0:f.minVariantPrice;return o?i?C.default.createElement(ve,{...a,data:o,measurement:i,__self:this,__source:{fileName:sr,lineNumber:81,columnNumber:7}}):C.default.createElement(ve,{...a,data:o,__self:this,__source:{fileName:sr,lineNumber:85,columnNumber:10}}):null}var cr="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ShopPayButton.tsx";const $t="https://cdn.shopify.com/shopifycloud/shop-js/v1.0/client.js";function Pt({variantIds:e,className:r,variantIdsAndQuantities:t,width:n}){const{storeDomain:u}=X(),a=nr($t);let o;if(e&&t)throw new Error(Ft);if(e)o=e.reduce((l,s)=>{const m=lr(s);return m&&l.push(m),l},[]);else if(t)o=t.reduce((l,s)=>{var c;const m=lr(s==null?void 0:s.id);return m&&l.push(`${m}:${(c=s==null?void 0:s.quantity)!=null?c:1}`),l},[]);else throw new Error(Vt);const i=n?{"--shop-pay-button-width":n}:void 0;return C.default.createElement("div",{className:r,style:i,__self:this,__source:{fileName:cr,lineNumber:90,columnNumber:5}},a==="done"&&C.default.createElement("shop-pay-button",{"store-url":`https://${u}`,variants:o.join(","),__self:this,__source:{fileName:cr,lineNumber:92,columnNumber:9}}))}function lr(e){if(!!e)return e.split("/").pop()}const Vt='You must pass in either "variantIds" or "variantIdsAndQuantities" to ShopPayButton',Ft="You must provide either a variantIds or variantIdsAndQuantities prop, but not both in the ShopPayButton component";O.AddToCartButton=ft,O.BuyNowButton=yt,O.CartCheckoutButton=_t,O.CartProvider=tt,O.ExternalVideo=Je,O.Image=oe,O.MediaFile=wt,O.Metafield=It,O.ModelViewer=ar,O.Money=ve,O.ProductPrice=Rt,O.ProductProvider=st,O.ShopPayButton=Pt,O.ShopifyProvider=qr,O.Video=Se,O.createStorefrontClient=jr,O.flattenConnection=x,O.metafieldParser=Ut,O.parseMetafield=ir,O.parseMetafieldValue=or,O.storefrontApiCustomScalars=gt,O.useCart=ie,O.useMoney=ur,O.useProduct=Ge,O.useShop=X,Object.defineProperties(O,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
240
240
  //# sourceMappingURL=hydrogen-react.prod.js.map