@shopify/hydrogen-react 2026.4.1 → 2026.4.2

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 (595) hide show
  1. package/dist/browser-dev/AddToCartButton.mjs +60 -71
  2. package/dist/browser-dev/AddToCartButton.mjs.map +1 -1
  3. package/dist/browser-dev/BaseButton.mjs +20 -26
  4. package/dist/browser-dev/BaseButton.mjs.map +1 -1
  5. package/dist/browser-dev/BuyNowButton.mjs +40 -45
  6. package/dist/browser-dev/BuyNowButton.mjs.map +1 -1
  7. package/dist/browser-dev/CartCheckoutButton.mjs +28 -23
  8. package/dist/browser-dev/CartCheckoutButton.mjs.map +1 -1
  9. package/dist/browser-dev/CartCost.mjs +26 -22
  10. package/dist/browser-dev/CartCost.mjs.map +1 -1
  11. package/dist/browser-dev/CartLineProvider.mjs +23 -18
  12. package/dist/browser-dev/CartLineProvider.mjs.map +1 -1
  13. package/dist/browser-dev/CartLineQuantity.mjs +18 -9
  14. package/dist/browser-dev/CartLineQuantity.mjs.map +1 -1
  15. package/dist/browser-dev/CartLineQuantityAdjustButton.mjs +48 -45
  16. package/dist/browser-dev/CartLineQuantityAdjustButton.mjs.map +1 -1
  17. package/dist/browser-dev/CartProvider.mjs +315 -385
  18. package/dist/browser-dev/CartProvider.mjs.map +1 -1
  19. package/dist/browser-dev/ExternalVideo.mjs +35 -47
  20. package/dist/browser-dev/ExternalVideo.mjs.map +1 -1
  21. package/dist/browser-dev/Image.mjs +335 -340
  22. package/dist/browser-dev/Image.mjs.map +1 -1
  23. package/dist/browser-dev/MediaFile.mjs +39 -61
  24. package/dist/browser-dev/MediaFile.mjs.map +1 -1
  25. package/dist/browser-dev/ModelViewer.mjs +115 -139
  26. package/dist/browser-dev/ModelViewer.mjs.map +1 -1
  27. package/dist/browser-dev/Money.mjs +53 -39
  28. package/dist/browser-dev/Money.mjs.map +1 -1
  29. package/dist/browser-dev/ProductPrice.mjs +44 -61
  30. package/dist/browser-dev/ProductPrice.mjs.map +1 -1
  31. package/dist/browser-dev/ProductProvider.mjs +147 -179
  32. package/dist/browser-dev/ProductProvider.mjs.map +1 -1
  33. package/dist/browser-dev/RichText.components.mjs +36 -46
  34. package/dist/browser-dev/RichText.components.mjs.map +1 -1
  35. package/dist/browser-dev/RichText.mjs +111 -154
  36. package/dist/browser-dev/RichText.mjs.map +1 -1
  37. package/dist/browser-dev/ShopPayButton.mjs +53 -81
  38. package/dist/browser-dev/ShopPayButton.mjs.map +1 -1
  39. package/dist/browser-dev/ShopifyProvider.mjs +71 -84
  40. package/dist/browser-dev/ShopifyProvider.mjs.map +1 -1
  41. package/dist/browser-dev/Video.mjs +35 -52
  42. package/dist/browser-dev/Video.mjs.map +1 -1
  43. package/dist/browser-dev/analytics-constants.mjs +41 -43
  44. package/dist/browser-dev/analytics-constants.mjs.map +1 -1
  45. package/dist/browser-dev/analytics-schema-custom-storefront-customer-tracking.mjs +127 -214
  46. package/dist/browser-dev/analytics-schema-custom-storefront-customer-tracking.mjs.map +1 -1
  47. package/dist/browser-dev/analytics-schema-trekkie-storefront-page-view.mjs +39 -50
  48. package/dist/browser-dev/analytics-schema-trekkie-storefront-page-view.mjs.map +1 -1
  49. package/dist/browser-dev/analytics-utils.mjs +78 -56
  50. package/dist/browser-dev/analytics-utils.mjs.map +1 -1
  51. package/dist/browser-dev/analytics.mjs +112 -155
  52. package/dist/browser-dev/analytics.mjs.map +1 -1
  53. package/dist/browser-dev/cart-constants.mjs +11 -15
  54. package/dist/browser-dev/cart-constants.mjs.map +1 -1
  55. package/dist/browser-dev/cart-hooks.mjs +42 -57
  56. package/dist/browser-dev/cart-hooks.mjs.map +1 -1
  57. package/dist/browser-dev/cart-queries.mjs +28 -66
  58. package/dist/browser-dev/cart-queries.mjs.map +1 -1
  59. package/dist/browser-dev/codegen.helpers.mjs +31 -20
  60. package/dist/browser-dev/codegen.helpers.mjs.map +1 -1
  61. package/dist/browser-dev/cookies-utils.mjs +44 -42
  62. package/dist/browser-dev/cookies-utils.mjs.map +1 -1
  63. package/dist/browser-dev/flatten-connection.mjs +23 -29
  64. package/dist/browser-dev/flatten-connection.mjs.map +1 -1
  65. package/dist/browser-dev/getProductOptions.mjs +248 -226
  66. package/dist/browser-dev/getProductOptions.mjs.map +1 -1
  67. package/dist/browser-dev/index.mjs +15 -70
  68. package/dist/browser-dev/load-script.mjs +38 -49
  69. package/dist/browser-dev/load-script.mjs.map +1 -1
  70. package/dist/browser-dev/node_modules/.pnpm/@xstate_fsm@2.0.0/node_modules/@xstate/fsm/es/index.mjs +175 -123
  71. package/dist/browser-dev/node_modules/.pnpm/@xstate_fsm@2.0.0/node_modules/@xstate/fsm/es/index.mjs.map +1 -1
  72. package/dist/browser-dev/optionValueDecoder.mjs +104 -86
  73. package/dist/browser-dev/optionValueDecoder.mjs.map +1 -1
  74. package/dist/browser-dev/packages/hydrogen-react/package.mjs +6 -0
  75. package/dist/browser-dev/packages/hydrogen-react/package.mjs.map +1 -0
  76. package/dist/browser-dev/parse-metafield.mjs +122 -134
  77. package/dist/browser-dev/parse-metafield.mjs.map +1 -1
  78. package/dist/browser-dev/storefront-api-constants.mjs +6 -5
  79. package/dist/browser-dev/storefront-api-constants.mjs.map +1 -1
  80. package/dist/browser-dev/storefront-client.mjs +62 -102
  81. package/dist/browser-dev/storefront-client.mjs.map +1 -1
  82. package/dist/browser-dev/tracking-utils.mjs +68 -88
  83. package/dist/browser-dev/tracking-utils.mjs.map +1 -1
  84. package/dist/browser-dev/useCartAPIStateMachine.mjs +188 -346
  85. package/dist/browser-dev/useCartAPIStateMachine.mjs.map +1 -1
  86. package/dist/browser-dev/useCartActions.mjs +197 -172
  87. package/dist/browser-dev/useCartActions.mjs.map +1 -1
  88. package/dist/browser-dev/useMachine.mjs +50 -62
  89. package/dist/browser-dev/useMachine.mjs.map +1 -1
  90. package/dist/browser-dev/useMoney.mjs +176 -154
  91. package/dist/browser-dev/useMoney.mjs.map +1 -1
  92. package/dist/browser-dev/useSelectedOptionInUrlParam.mjs +17 -27
  93. package/dist/browser-dev/useSelectedOptionInUrlParam.mjs.map +1 -1
  94. package/dist/browser-dev/useShopifyCookies.mjs +123 -138
  95. package/dist/browser-dev/useShopifyCookies.mjs.map +1 -1
  96. package/dist/browser-prod/AddToCartButton.mjs +60 -71
  97. package/dist/browser-prod/AddToCartButton.mjs.map +1 -1
  98. package/dist/browser-prod/BaseButton.mjs +20 -26
  99. package/dist/browser-prod/BaseButton.mjs.map +1 -1
  100. package/dist/browser-prod/BuyNowButton.mjs +40 -45
  101. package/dist/browser-prod/BuyNowButton.mjs.map +1 -1
  102. package/dist/browser-prod/CartCheckoutButton.mjs +28 -23
  103. package/dist/browser-prod/CartCheckoutButton.mjs.map +1 -1
  104. package/dist/browser-prod/CartCost.mjs +26 -22
  105. package/dist/browser-prod/CartCost.mjs.map +1 -1
  106. package/dist/browser-prod/CartLineProvider.mjs +23 -18
  107. package/dist/browser-prod/CartLineProvider.mjs.map +1 -1
  108. package/dist/browser-prod/CartLineQuantity.mjs +18 -9
  109. package/dist/browser-prod/CartLineQuantity.mjs.map +1 -1
  110. package/dist/browser-prod/CartLineQuantityAdjustButton.mjs +48 -45
  111. package/dist/browser-prod/CartLineQuantityAdjustButton.mjs.map +1 -1
  112. package/dist/browser-prod/CartProvider.mjs +315 -385
  113. package/dist/browser-prod/CartProvider.mjs.map +1 -1
  114. package/dist/browser-prod/ExternalVideo.mjs +35 -47
  115. package/dist/browser-prod/ExternalVideo.mjs.map +1 -1
  116. package/dist/browser-prod/Image.mjs +326 -325
  117. package/dist/browser-prod/Image.mjs.map +1 -1
  118. package/dist/browser-prod/MediaFile.mjs +44 -63
  119. package/dist/browser-prod/MediaFile.mjs.map +1 -1
  120. package/dist/browser-prod/ModelViewer.mjs +117 -135
  121. package/dist/browser-prod/ModelViewer.mjs.map +1 -1
  122. package/dist/browser-prod/Money.mjs +53 -39
  123. package/dist/browser-prod/Money.mjs.map +1 -1
  124. package/dist/browser-prod/ProductPrice.mjs +44 -61
  125. package/dist/browser-prod/ProductPrice.mjs.map +1 -1
  126. package/dist/browser-prod/ProductProvider.mjs +147 -179
  127. package/dist/browser-prod/ProductProvider.mjs.map +1 -1
  128. package/dist/browser-prod/RichText.components.mjs +36 -46
  129. package/dist/browser-prod/RichText.components.mjs.map +1 -1
  130. package/dist/browser-prod/RichText.mjs +111 -154
  131. package/dist/browser-prod/RichText.mjs.map +1 -1
  132. package/dist/browser-prod/ShopPayButton.mjs +53 -81
  133. package/dist/browser-prod/ShopPayButton.mjs.map +1 -1
  134. package/dist/browser-prod/ShopifyProvider.mjs +71 -84
  135. package/dist/browser-prod/ShopifyProvider.mjs.map +1 -1
  136. package/dist/browser-prod/Video.mjs +35 -52
  137. package/dist/browser-prod/Video.mjs.map +1 -1
  138. package/dist/browser-prod/analytics-constants.mjs +41 -43
  139. package/dist/browser-prod/analytics-constants.mjs.map +1 -1
  140. package/dist/browser-prod/analytics-schema-custom-storefront-customer-tracking.mjs +127 -214
  141. package/dist/browser-prod/analytics-schema-custom-storefront-customer-tracking.mjs.map +1 -1
  142. package/dist/browser-prod/analytics-schema-trekkie-storefront-page-view.mjs +39 -50
  143. package/dist/browser-prod/analytics-schema-trekkie-storefront-page-view.mjs.map +1 -1
  144. package/dist/browser-prod/analytics-utils.mjs +78 -56
  145. package/dist/browser-prod/analytics-utils.mjs.map +1 -1
  146. package/dist/browser-prod/analytics.mjs +111 -153
  147. package/dist/browser-prod/analytics.mjs.map +1 -1
  148. package/dist/browser-prod/cart-constants.mjs +11 -15
  149. package/dist/browser-prod/cart-constants.mjs.map +1 -1
  150. package/dist/browser-prod/cart-hooks.mjs +42 -57
  151. package/dist/browser-prod/cart-hooks.mjs.map +1 -1
  152. package/dist/browser-prod/cart-queries.mjs +28 -66
  153. package/dist/browser-prod/cart-queries.mjs.map +1 -1
  154. package/dist/browser-prod/codegen.helpers.mjs +31 -20
  155. package/dist/browser-prod/codegen.helpers.mjs.map +1 -1
  156. package/dist/browser-prod/cookies-utils.mjs +44 -42
  157. package/dist/browser-prod/cookies-utils.mjs.map +1 -1
  158. package/dist/browser-prod/flatten-connection.mjs +23 -25
  159. package/dist/browser-prod/flatten-connection.mjs.map +1 -1
  160. package/dist/browser-prod/getProductOptions.mjs +248 -226
  161. package/dist/browser-prod/getProductOptions.mjs.map +1 -1
  162. package/dist/browser-prod/index.mjs +15 -70
  163. package/dist/browser-prod/load-script.mjs +38 -49
  164. package/dist/browser-prod/load-script.mjs.map +1 -1
  165. package/dist/browser-prod/node_modules/.pnpm/@xstate_fsm@2.0.0/node_modules/@xstate/fsm/es/index.mjs +175 -123
  166. package/dist/browser-prod/node_modules/.pnpm/@xstate_fsm@2.0.0/node_modules/@xstate/fsm/es/index.mjs.map +1 -1
  167. package/dist/browser-prod/optionValueDecoder.mjs +104 -86
  168. package/dist/browser-prod/optionValueDecoder.mjs.map +1 -1
  169. package/dist/browser-prod/packages/hydrogen-react/package.mjs +6 -0
  170. package/dist/browser-prod/packages/hydrogen-react/package.mjs.map +1 -0
  171. package/dist/browser-prod/parse-metafield.mjs +134 -146
  172. package/dist/browser-prod/parse-metafield.mjs.map +1 -1
  173. package/dist/browser-prod/storefront-api-constants.mjs +6 -5
  174. package/dist/browser-prod/storefront-api-constants.mjs.map +1 -1
  175. package/dist/browser-prod/storefront-client.mjs +56 -84
  176. package/dist/browser-prod/storefront-client.mjs.map +1 -1
  177. package/dist/browser-prod/tracking-utils.mjs +68 -88
  178. package/dist/browser-prod/tracking-utils.mjs.map +1 -1
  179. package/dist/browser-prod/useCartAPIStateMachine.mjs +188 -346
  180. package/dist/browser-prod/useCartAPIStateMachine.mjs.map +1 -1
  181. package/dist/browser-prod/useCartActions.mjs +197 -172
  182. package/dist/browser-prod/useCartActions.mjs.map +1 -1
  183. package/dist/browser-prod/useMachine.mjs +50 -62
  184. package/dist/browser-prod/useMachine.mjs.map +1 -1
  185. package/dist/browser-prod/useMoney.mjs +176 -154
  186. package/dist/browser-prod/useMoney.mjs.map +1 -1
  187. package/dist/browser-prod/useSelectedOptionInUrlParam.mjs +17 -27
  188. package/dist/browser-prod/useSelectedOptionInUrlParam.mjs.map +1 -1
  189. package/dist/browser-prod/useShopifyCookies.mjs +123 -138
  190. package/dist/browser-prod/useShopifyCookies.mjs.map +1 -1
  191. package/dist/node-dev/AddToCartButton.js +64 -73
  192. package/dist/node-dev/AddToCartButton.js.map +1 -1
  193. package/dist/node-dev/AddToCartButton.mjs +60 -71
  194. package/dist/node-dev/AddToCartButton.mjs.map +1 -1
  195. package/dist/node-dev/BaseButton.js +21 -26
  196. package/dist/node-dev/BaseButton.js.map +1 -1
  197. package/dist/node-dev/BaseButton.mjs +20 -26
  198. package/dist/node-dev/BaseButton.mjs.map +1 -1
  199. package/dist/node-dev/BuyNowButton.js +42 -46
  200. package/dist/node-dev/BuyNowButton.js.map +1 -1
  201. package/dist/node-dev/BuyNowButton.mjs +40 -45
  202. package/dist/node-dev/BuyNowButton.mjs.map +1 -1
  203. package/dist/node-dev/CartCheckoutButton.js +30 -24
  204. package/dist/node-dev/CartCheckoutButton.js.map +1 -1
  205. package/dist/node-dev/CartCheckoutButton.mjs +28 -23
  206. package/dist/node-dev/CartCheckoutButton.mjs.map +1 -1
  207. package/dist/node-dev/CartCost.js +27 -22
  208. package/dist/node-dev/CartCost.js.map +1 -1
  209. package/dist/node-dev/CartCost.mjs +26 -22
  210. package/dist/node-dev/CartCost.mjs.map +1 -1
  211. package/dist/node-dev/CartLineProvider.js +24 -17
  212. package/dist/node-dev/CartLineProvider.js.map +1 -1
  213. package/dist/node-dev/CartLineProvider.mjs +23 -18
  214. package/dist/node-dev/CartLineProvider.mjs.map +1 -1
  215. package/dist/node-dev/CartLineQuantity.js +19 -9
  216. package/dist/node-dev/CartLineQuantity.js.map +1 -1
  217. package/dist/node-dev/CartLineQuantity.mjs +18 -9
  218. package/dist/node-dev/CartLineQuantity.mjs.map +1 -1
  219. package/dist/node-dev/CartLineQuantityAdjustButton.js +50 -46
  220. package/dist/node-dev/CartLineQuantityAdjustButton.js.map +1 -1
  221. package/dist/node-dev/CartLineQuantityAdjustButton.mjs +48 -45
  222. package/dist/node-dev/CartLineQuantityAdjustButton.mjs.map +1 -1
  223. package/dist/node-dev/CartProvider.js +317 -385
  224. package/dist/node-dev/CartProvider.js.map +1 -1
  225. package/dist/node-dev/CartProvider.mjs +315 -385
  226. package/dist/node-dev/CartProvider.mjs.map +1 -1
  227. package/dist/node-dev/ExternalVideo.js +36 -47
  228. package/dist/node-dev/ExternalVideo.js.map +1 -1
  229. package/dist/node-dev/ExternalVideo.mjs +35 -47
  230. package/dist/node-dev/ExternalVideo.mjs.map +1 -1
  231. package/dist/node-dev/Image.js +337 -355
  232. package/dist/node-dev/Image.js.map +1 -1
  233. package/dist/node-dev/Image.mjs +335 -340
  234. package/dist/node-dev/Image.mjs.map +1 -1
  235. package/dist/node-dev/MediaFile.js +42 -63
  236. package/dist/node-dev/MediaFile.js.map +1 -1
  237. package/dist/node-dev/MediaFile.mjs +39 -61
  238. package/dist/node-dev/MediaFile.mjs.map +1 -1
  239. package/dist/node-dev/ModelViewer.js +116 -139
  240. package/dist/node-dev/ModelViewer.js.map +1 -1
  241. package/dist/node-dev/ModelViewer.mjs +115 -139
  242. package/dist/node-dev/ModelViewer.mjs.map +1 -1
  243. package/dist/node-dev/Money.js +54 -39
  244. package/dist/node-dev/Money.js.map +1 -1
  245. package/dist/node-dev/Money.mjs +53 -39
  246. package/dist/node-dev/Money.mjs.map +1 -1
  247. package/dist/node-dev/ProductPrice.js +45 -61
  248. package/dist/node-dev/ProductPrice.js.map +1 -1
  249. package/dist/node-dev/ProductPrice.mjs +44 -61
  250. package/dist/node-dev/ProductPrice.mjs.map +1 -1
  251. package/dist/node-dev/ProductProvider.js +148 -178
  252. package/dist/node-dev/ProductProvider.js.map +1 -1
  253. package/dist/node-dev/ProductProvider.mjs +147 -179
  254. package/dist/node-dev/ProductProvider.mjs.map +1 -1
  255. package/dist/node-dev/RichText.components.js +37 -46
  256. package/dist/node-dev/RichText.components.js.map +1 -1
  257. package/dist/node-dev/RichText.components.mjs +36 -46
  258. package/dist/node-dev/RichText.components.mjs.map +1 -1
  259. package/dist/node-dev/RichText.js +112 -154
  260. package/dist/node-dev/RichText.js.map +1 -1
  261. package/dist/node-dev/RichText.mjs +111 -154
  262. package/dist/node-dev/RichText.mjs.map +1 -1
  263. package/dist/node-dev/ShopPayButton.js +54 -81
  264. package/dist/node-dev/ShopPayButton.js.map +1 -1
  265. package/dist/node-dev/ShopPayButton.mjs +53 -81
  266. package/dist/node-dev/ShopPayButton.mjs.map +1 -1
  267. package/dist/node-dev/ShopifyProvider.js +73 -83
  268. package/dist/node-dev/ShopifyProvider.js.map +1 -1
  269. package/dist/node-dev/ShopifyProvider.mjs +71 -84
  270. package/dist/node-dev/ShopifyProvider.mjs.map +1 -1
  271. package/dist/node-dev/Video.js +36 -52
  272. package/dist/node-dev/Video.js.map +1 -1
  273. package/dist/node-dev/Video.mjs +35 -52
  274. package/dist/node-dev/Video.mjs.map +1 -1
  275. package/dist/node-dev/_virtual/_rolldown/runtime.js +23 -0
  276. package/dist/node-dev/analytics-constants.js +40 -39
  277. package/dist/node-dev/analytics-constants.js.map +1 -1
  278. package/dist/node-dev/analytics-constants.mjs +41 -43
  279. package/dist/node-dev/analytics-constants.mjs.map +1 -1
  280. package/dist/node-dev/analytics-schema-custom-storefront-customer-tracking.js +128 -210
  281. package/dist/node-dev/analytics-schema-custom-storefront-customer-tracking.js.map +1 -1
  282. package/dist/node-dev/analytics-schema-custom-storefront-customer-tracking.mjs +127 -214
  283. package/dist/node-dev/analytics-schema-custom-storefront-customer-tracking.mjs.map +1 -1
  284. package/dist/node-dev/analytics-schema-trekkie-storefront-page-view.js +40 -51
  285. package/dist/node-dev/analytics-schema-trekkie-storefront-page-view.js.map +1 -1
  286. package/dist/node-dev/analytics-schema-trekkie-storefront-page-view.mjs +39 -50
  287. package/dist/node-dev/analytics-schema-trekkie-storefront-page-view.mjs.map +1 -1
  288. package/dist/node-dev/analytics-utils.js +77 -52
  289. package/dist/node-dev/analytics-utils.js.map +1 -1
  290. package/dist/node-dev/analytics-utils.mjs +78 -56
  291. package/dist/node-dev/analytics-utils.mjs.map +1 -1
  292. package/dist/node-dev/analytics.js +114 -156
  293. package/dist/node-dev/analytics.js.map +1 -1
  294. package/dist/node-dev/analytics.mjs +112 -155
  295. package/dist/node-dev/analytics.mjs.map +1 -1
  296. package/dist/node-dev/cart-constants.js +10 -9
  297. package/dist/node-dev/cart-constants.js.map +1 -1
  298. package/dist/node-dev/cart-constants.mjs +11 -15
  299. package/dist/node-dev/cart-constants.mjs.map +1 -1
  300. package/dist/node-dev/cart-hooks.js +43 -57
  301. package/dist/node-dev/cart-hooks.js.map +1 -1
  302. package/dist/node-dev/cart-hooks.mjs +42 -57
  303. package/dist/node-dev/cart-hooks.mjs.map +1 -1
  304. package/dist/node-dev/cart-queries.js +27 -56
  305. package/dist/node-dev/cart-queries.js.map +1 -1
  306. package/dist/node-dev/cart-queries.mjs +28 -66
  307. package/dist/node-dev/cart-queries.mjs.map +1 -1
  308. package/dist/node-dev/codegen.helpers.js +30 -18
  309. package/dist/node-dev/codegen.helpers.js.map +1 -1
  310. package/dist/node-dev/codegen.helpers.mjs +31 -20
  311. package/dist/node-dev/codegen.helpers.mjs.map +1 -1
  312. package/dist/node-dev/cookies-utils.js +45 -42
  313. package/dist/node-dev/cookies-utils.js.map +1 -1
  314. package/dist/node-dev/cookies-utils.mjs +44 -42
  315. package/dist/node-dev/cookies-utils.mjs.map +1 -1
  316. package/dist/node-dev/flatten-connection.js +22 -28
  317. package/dist/node-dev/flatten-connection.js.map +1 -1
  318. package/dist/node-dev/flatten-connection.mjs +23 -29
  319. package/dist/node-dev/flatten-connection.mjs.map +1 -1
  320. package/dist/node-dev/getProductOptions.js +248 -224
  321. package/dist/node-dev/getProductOptions.js.map +1 -1
  322. package/dist/node-dev/getProductOptions.mjs +248 -226
  323. package/dist/node-dev/getProductOptions.mjs.map +1 -1
  324. package/dist/node-dev/index.js +88 -90
  325. package/dist/node-dev/index.mjs +15 -70
  326. package/dist/node-dev/load-script.js +38 -48
  327. package/dist/node-dev/load-script.js.map +1 -1
  328. package/dist/node-dev/load-script.mjs +38 -49
  329. package/dist/node-dev/load-script.mjs.map +1 -1
  330. package/dist/node-dev/node_modules/.pnpm/@xstate_fsm@2.0.0/node_modules/@xstate/fsm/es/index.js +185 -124
  331. package/dist/node-dev/node_modules/.pnpm/@xstate_fsm@2.0.0/node_modules/@xstate/fsm/es/index.js.map +1 -1
  332. package/dist/node-dev/node_modules/.pnpm/@xstate_fsm@2.0.0/node_modules/@xstate/fsm/es/index.mjs +175 -123
  333. package/dist/node-dev/node_modules/.pnpm/@xstate_fsm@2.0.0/node_modules/@xstate/fsm/es/index.mjs.map +1 -1
  334. package/dist/node-dev/optionValueDecoder.js +103 -84
  335. package/dist/node-dev/optionValueDecoder.js.map +1 -1
  336. package/dist/node-dev/optionValueDecoder.mjs +104 -86
  337. package/dist/node-dev/optionValueDecoder.mjs.map +1 -1
  338. package/dist/node-dev/packages/hydrogen-react/package.js +6 -0
  339. package/dist/node-dev/packages/hydrogen-react/package.js.map +1 -0
  340. package/dist/node-dev/packages/hydrogen-react/package.mjs +6 -0
  341. package/dist/node-dev/packages/hydrogen-react/package.mjs.map +1 -0
  342. package/dist/node-dev/parse-metafield.js +122 -134
  343. package/dist/node-dev/parse-metafield.js.map +1 -1
  344. package/dist/node-dev/parse-metafield.mjs +122 -134
  345. package/dist/node-dev/parse-metafield.mjs.map +1 -1
  346. package/dist/node-dev/storefront-api-constants.js +5 -4
  347. package/dist/node-dev/storefront-api-constants.js.map +1 -1
  348. package/dist/node-dev/storefront-api-constants.mjs +6 -5
  349. package/dist/node-dev/storefront-api-constants.mjs.map +1 -1
  350. package/dist/node-dev/storefront-client.js +62 -101
  351. package/dist/node-dev/storefront-client.js.map +1 -1
  352. package/dist/node-dev/storefront-client.mjs +62 -102
  353. package/dist/node-dev/storefront-client.mjs.map +1 -1
  354. package/dist/node-dev/tracking-utils.js +67 -85
  355. package/dist/node-dev/tracking-utils.js.map +1 -1
  356. package/dist/node-dev/tracking-utils.mjs +68 -88
  357. package/dist/node-dev/tracking-utils.mjs.map +1 -1
  358. package/dist/node-dev/useCartAPIStateMachine.js +192 -349
  359. package/dist/node-dev/useCartAPIStateMachine.js.map +1 -1
  360. package/dist/node-dev/useCartAPIStateMachine.mjs +188 -346
  361. package/dist/node-dev/useCartAPIStateMachine.mjs.map +1 -1
  362. package/dist/node-dev/useCartActions.js +198 -172
  363. package/dist/node-dev/useCartActions.js.map +1 -1
  364. package/dist/node-dev/useCartActions.mjs +197 -172
  365. package/dist/node-dev/useCartActions.mjs.map +1 -1
  366. package/dist/node-dev/useMachine.js +50 -61
  367. package/dist/node-dev/useMachine.js.map +1 -1
  368. package/dist/node-dev/useMachine.mjs +50 -62
  369. package/dist/node-dev/useMachine.mjs.map +1 -1
  370. package/dist/node-dev/useMoney.js +177 -154
  371. package/dist/node-dev/useMoney.js.map +1 -1
  372. package/dist/node-dev/useMoney.mjs +176 -154
  373. package/dist/node-dev/useMoney.mjs.map +1 -1
  374. package/dist/node-dev/useSelectedOptionInUrlParam.js +18 -27
  375. package/dist/node-dev/useSelectedOptionInUrlParam.js.map +1 -1
  376. package/dist/node-dev/useSelectedOptionInUrlParam.mjs +17 -27
  377. package/dist/node-dev/useSelectedOptionInUrlParam.mjs.map +1 -1
  378. package/dist/node-dev/useShopifyCookies.js +124 -138
  379. package/dist/node-dev/useShopifyCookies.js.map +1 -1
  380. package/dist/node-dev/useShopifyCookies.mjs +123 -138
  381. package/dist/node-dev/useShopifyCookies.mjs.map +1 -1
  382. package/dist/node-prod/AddToCartButton.js +64 -73
  383. package/dist/node-prod/AddToCartButton.js.map +1 -1
  384. package/dist/node-prod/AddToCartButton.mjs +60 -71
  385. package/dist/node-prod/AddToCartButton.mjs.map +1 -1
  386. package/dist/node-prod/BaseButton.js +21 -26
  387. package/dist/node-prod/BaseButton.js.map +1 -1
  388. package/dist/node-prod/BaseButton.mjs +20 -26
  389. package/dist/node-prod/BaseButton.mjs.map +1 -1
  390. package/dist/node-prod/BuyNowButton.js +42 -46
  391. package/dist/node-prod/BuyNowButton.js.map +1 -1
  392. package/dist/node-prod/BuyNowButton.mjs +40 -45
  393. package/dist/node-prod/BuyNowButton.mjs.map +1 -1
  394. package/dist/node-prod/CartCheckoutButton.js +30 -24
  395. package/dist/node-prod/CartCheckoutButton.js.map +1 -1
  396. package/dist/node-prod/CartCheckoutButton.mjs +28 -23
  397. package/dist/node-prod/CartCheckoutButton.mjs.map +1 -1
  398. package/dist/node-prod/CartCost.js +27 -22
  399. package/dist/node-prod/CartCost.js.map +1 -1
  400. package/dist/node-prod/CartCost.mjs +26 -22
  401. package/dist/node-prod/CartCost.mjs.map +1 -1
  402. package/dist/node-prod/CartLineProvider.js +24 -17
  403. package/dist/node-prod/CartLineProvider.js.map +1 -1
  404. package/dist/node-prod/CartLineProvider.mjs +23 -18
  405. package/dist/node-prod/CartLineProvider.mjs.map +1 -1
  406. package/dist/node-prod/CartLineQuantity.js +19 -9
  407. package/dist/node-prod/CartLineQuantity.js.map +1 -1
  408. package/dist/node-prod/CartLineQuantity.mjs +18 -9
  409. package/dist/node-prod/CartLineQuantity.mjs.map +1 -1
  410. package/dist/node-prod/CartLineQuantityAdjustButton.js +50 -46
  411. package/dist/node-prod/CartLineQuantityAdjustButton.js.map +1 -1
  412. package/dist/node-prod/CartLineQuantityAdjustButton.mjs +48 -45
  413. package/dist/node-prod/CartLineQuantityAdjustButton.mjs.map +1 -1
  414. package/dist/node-prod/CartProvider.js +317 -385
  415. package/dist/node-prod/CartProvider.js.map +1 -1
  416. package/dist/node-prod/CartProvider.mjs +315 -385
  417. package/dist/node-prod/CartProvider.mjs.map +1 -1
  418. package/dist/node-prod/ExternalVideo.js +36 -47
  419. package/dist/node-prod/ExternalVideo.js.map +1 -1
  420. package/dist/node-prod/ExternalVideo.mjs +35 -47
  421. package/dist/node-prod/ExternalVideo.mjs.map +1 -1
  422. package/dist/node-prod/Image.js +328 -340
  423. package/dist/node-prod/Image.js.map +1 -1
  424. package/dist/node-prod/Image.mjs +326 -325
  425. package/dist/node-prod/Image.mjs.map +1 -1
  426. package/dist/node-prod/MediaFile.js +47 -65
  427. package/dist/node-prod/MediaFile.js.map +1 -1
  428. package/dist/node-prod/MediaFile.mjs +44 -63
  429. package/dist/node-prod/MediaFile.mjs.map +1 -1
  430. package/dist/node-prod/ModelViewer.js +118 -135
  431. package/dist/node-prod/ModelViewer.js.map +1 -1
  432. package/dist/node-prod/ModelViewer.mjs +117 -135
  433. package/dist/node-prod/ModelViewer.mjs.map +1 -1
  434. package/dist/node-prod/Money.js +54 -39
  435. package/dist/node-prod/Money.js.map +1 -1
  436. package/dist/node-prod/Money.mjs +53 -39
  437. package/dist/node-prod/Money.mjs.map +1 -1
  438. package/dist/node-prod/ProductPrice.js +45 -61
  439. package/dist/node-prod/ProductPrice.js.map +1 -1
  440. package/dist/node-prod/ProductPrice.mjs +44 -61
  441. package/dist/node-prod/ProductPrice.mjs.map +1 -1
  442. package/dist/node-prod/ProductProvider.js +148 -178
  443. package/dist/node-prod/ProductProvider.js.map +1 -1
  444. package/dist/node-prod/ProductProvider.mjs +147 -179
  445. package/dist/node-prod/ProductProvider.mjs.map +1 -1
  446. package/dist/node-prod/RichText.components.js +37 -46
  447. package/dist/node-prod/RichText.components.js.map +1 -1
  448. package/dist/node-prod/RichText.components.mjs +36 -46
  449. package/dist/node-prod/RichText.components.mjs.map +1 -1
  450. package/dist/node-prod/RichText.js +112 -154
  451. package/dist/node-prod/RichText.js.map +1 -1
  452. package/dist/node-prod/RichText.mjs +111 -154
  453. package/dist/node-prod/RichText.mjs.map +1 -1
  454. package/dist/node-prod/ShopPayButton.js +54 -81
  455. package/dist/node-prod/ShopPayButton.js.map +1 -1
  456. package/dist/node-prod/ShopPayButton.mjs +53 -81
  457. package/dist/node-prod/ShopPayButton.mjs.map +1 -1
  458. package/dist/node-prod/ShopifyProvider.js +73 -83
  459. package/dist/node-prod/ShopifyProvider.js.map +1 -1
  460. package/dist/node-prod/ShopifyProvider.mjs +71 -84
  461. package/dist/node-prod/ShopifyProvider.mjs.map +1 -1
  462. package/dist/node-prod/Video.js +36 -52
  463. package/dist/node-prod/Video.js.map +1 -1
  464. package/dist/node-prod/Video.mjs +35 -52
  465. package/dist/node-prod/Video.mjs.map +1 -1
  466. package/dist/node-prod/_virtual/_rolldown/runtime.js +23 -0
  467. package/dist/node-prod/analytics-constants.js +40 -39
  468. package/dist/node-prod/analytics-constants.js.map +1 -1
  469. package/dist/node-prod/analytics-constants.mjs +41 -43
  470. package/dist/node-prod/analytics-constants.mjs.map +1 -1
  471. package/dist/node-prod/analytics-schema-custom-storefront-customer-tracking.js +128 -210
  472. package/dist/node-prod/analytics-schema-custom-storefront-customer-tracking.js.map +1 -1
  473. package/dist/node-prod/analytics-schema-custom-storefront-customer-tracking.mjs +127 -214
  474. package/dist/node-prod/analytics-schema-custom-storefront-customer-tracking.mjs.map +1 -1
  475. package/dist/node-prod/analytics-schema-trekkie-storefront-page-view.js +40 -51
  476. package/dist/node-prod/analytics-schema-trekkie-storefront-page-view.js.map +1 -1
  477. package/dist/node-prod/analytics-schema-trekkie-storefront-page-view.mjs +39 -50
  478. package/dist/node-prod/analytics-schema-trekkie-storefront-page-view.mjs.map +1 -1
  479. package/dist/node-prod/analytics-utils.js +77 -52
  480. package/dist/node-prod/analytics-utils.js.map +1 -1
  481. package/dist/node-prod/analytics-utils.mjs +78 -56
  482. package/dist/node-prod/analytics-utils.mjs.map +1 -1
  483. package/dist/node-prod/analytics.js +113 -154
  484. package/dist/node-prod/analytics.js.map +1 -1
  485. package/dist/node-prod/analytics.mjs +111 -153
  486. package/dist/node-prod/analytics.mjs.map +1 -1
  487. package/dist/node-prod/cart-constants.js +10 -9
  488. package/dist/node-prod/cart-constants.js.map +1 -1
  489. package/dist/node-prod/cart-constants.mjs +11 -15
  490. package/dist/node-prod/cart-constants.mjs.map +1 -1
  491. package/dist/node-prod/cart-hooks.js +43 -57
  492. package/dist/node-prod/cart-hooks.js.map +1 -1
  493. package/dist/node-prod/cart-hooks.mjs +42 -57
  494. package/dist/node-prod/cart-hooks.mjs.map +1 -1
  495. package/dist/node-prod/cart-queries.js +27 -56
  496. package/dist/node-prod/cart-queries.js.map +1 -1
  497. package/dist/node-prod/cart-queries.mjs +28 -66
  498. package/dist/node-prod/cart-queries.mjs.map +1 -1
  499. package/dist/node-prod/codegen.helpers.js +30 -18
  500. package/dist/node-prod/codegen.helpers.js.map +1 -1
  501. package/dist/node-prod/codegen.helpers.mjs +31 -20
  502. package/dist/node-prod/codegen.helpers.mjs.map +1 -1
  503. package/dist/node-prod/cookies-utils.js +45 -42
  504. package/dist/node-prod/cookies-utils.js.map +1 -1
  505. package/dist/node-prod/cookies-utils.mjs +44 -42
  506. package/dist/node-prod/cookies-utils.mjs.map +1 -1
  507. package/dist/node-prod/flatten-connection.js +22 -24
  508. package/dist/node-prod/flatten-connection.js.map +1 -1
  509. package/dist/node-prod/flatten-connection.mjs +23 -25
  510. package/dist/node-prod/flatten-connection.mjs.map +1 -1
  511. package/dist/node-prod/getProductOptions.js +248 -224
  512. package/dist/node-prod/getProductOptions.js.map +1 -1
  513. package/dist/node-prod/getProductOptions.mjs +248 -226
  514. package/dist/node-prod/getProductOptions.mjs.map +1 -1
  515. package/dist/node-prod/index.js +88 -90
  516. package/dist/node-prod/index.mjs +15 -70
  517. package/dist/node-prod/load-script.js +38 -48
  518. package/dist/node-prod/load-script.js.map +1 -1
  519. package/dist/node-prod/load-script.mjs +38 -49
  520. package/dist/node-prod/load-script.mjs.map +1 -1
  521. package/dist/node-prod/node_modules/.pnpm/@xstate_fsm@2.0.0/node_modules/@xstate/fsm/es/index.js +185 -124
  522. package/dist/node-prod/node_modules/.pnpm/@xstate_fsm@2.0.0/node_modules/@xstate/fsm/es/index.js.map +1 -1
  523. package/dist/node-prod/node_modules/.pnpm/@xstate_fsm@2.0.0/node_modules/@xstate/fsm/es/index.mjs +175 -123
  524. package/dist/node-prod/node_modules/.pnpm/@xstate_fsm@2.0.0/node_modules/@xstate/fsm/es/index.mjs.map +1 -1
  525. package/dist/node-prod/optionValueDecoder.js +103 -84
  526. package/dist/node-prod/optionValueDecoder.js.map +1 -1
  527. package/dist/node-prod/optionValueDecoder.mjs +104 -86
  528. package/dist/node-prod/optionValueDecoder.mjs.map +1 -1
  529. package/dist/node-prod/packages/hydrogen-react/package.js +6 -0
  530. package/dist/node-prod/packages/hydrogen-react/package.js.map +1 -0
  531. package/dist/node-prod/packages/hydrogen-react/package.mjs +6 -0
  532. package/dist/node-prod/packages/hydrogen-react/package.mjs.map +1 -0
  533. package/dist/node-prod/parse-metafield.js +134 -146
  534. package/dist/node-prod/parse-metafield.js.map +1 -1
  535. package/dist/node-prod/parse-metafield.mjs +134 -146
  536. package/dist/node-prod/parse-metafield.mjs.map +1 -1
  537. package/dist/node-prod/storefront-api-constants.js +5 -4
  538. package/dist/node-prod/storefront-api-constants.js.map +1 -1
  539. package/dist/node-prod/storefront-api-constants.mjs +6 -5
  540. package/dist/node-prod/storefront-api-constants.mjs.map +1 -1
  541. package/dist/node-prod/storefront-client.js +56 -83
  542. package/dist/node-prod/storefront-client.js.map +1 -1
  543. package/dist/node-prod/storefront-client.mjs +56 -84
  544. package/dist/node-prod/storefront-client.mjs.map +1 -1
  545. package/dist/node-prod/tracking-utils.js +67 -85
  546. package/dist/node-prod/tracking-utils.js.map +1 -1
  547. package/dist/node-prod/tracking-utils.mjs +68 -88
  548. package/dist/node-prod/tracking-utils.mjs.map +1 -1
  549. package/dist/node-prod/useCartAPIStateMachine.js +192 -349
  550. package/dist/node-prod/useCartAPIStateMachine.js.map +1 -1
  551. package/dist/node-prod/useCartAPIStateMachine.mjs +188 -346
  552. package/dist/node-prod/useCartAPIStateMachine.mjs.map +1 -1
  553. package/dist/node-prod/useCartActions.js +198 -172
  554. package/dist/node-prod/useCartActions.js.map +1 -1
  555. package/dist/node-prod/useCartActions.mjs +197 -172
  556. package/dist/node-prod/useCartActions.mjs.map +1 -1
  557. package/dist/node-prod/useMachine.js +50 -61
  558. package/dist/node-prod/useMachine.js.map +1 -1
  559. package/dist/node-prod/useMachine.mjs +50 -62
  560. package/dist/node-prod/useMachine.mjs.map +1 -1
  561. package/dist/node-prod/useMoney.js +177 -154
  562. package/dist/node-prod/useMoney.js.map +1 -1
  563. package/dist/node-prod/useMoney.mjs +176 -154
  564. package/dist/node-prod/useMoney.mjs.map +1 -1
  565. package/dist/node-prod/useSelectedOptionInUrlParam.js +18 -27
  566. package/dist/node-prod/useSelectedOptionInUrlParam.js.map +1 -1
  567. package/dist/node-prod/useSelectedOptionInUrlParam.mjs +17 -27
  568. package/dist/node-prod/useSelectedOptionInUrlParam.mjs.map +1 -1
  569. package/dist/node-prod/useShopifyCookies.js +124 -138
  570. package/dist/node-prod/useShopifyCookies.js.map +1 -1
  571. package/dist/node-prod/useShopifyCookies.mjs +123 -138
  572. package/dist/node-prod/useShopifyCookies.mjs.map +1 -1
  573. package/dist/umd/hydrogen-react.dev.js +3930 -4418
  574. package/dist/umd/hydrogen-react.dev.js.map +1 -1
  575. package/dist/umd/hydrogen-react.prod.js +35 -49
  576. package/dist/umd/hydrogen-react.prod.js.map +1 -1
  577. package/package.json +5 -5
  578. package/dist/browser-dev/index.mjs.map +0 -1
  579. package/dist/browser-dev/packages/hydrogen-react/package.json.mjs +0 -5
  580. package/dist/browser-dev/packages/hydrogen-react/package.json.mjs.map +0 -1
  581. package/dist/browser-prod/index.mjs.map +0 -1
  582. package/dist/browser-prod/packages/hydrogen-react/package.json.mjs +0 -5
  583. package/dist/browser-prod/packages/hydrogen-react/package.json.mjs.map +0 -1
  584. package/dist/node-dev/index.js.map +0 -1
  585. package/dist/node-dev/index.mjs.map +0 -1
  586. package/dist/node-dev/packages/hydrogen-react/package.json.js +0 -5
  587. package/dist/node-dev/packages/hydrogen-react/package.json.js.map +0 -1
  588. package/dist/node-dev/packages/hydrogen-react/package.json.mjs +0 -5
  589. package/dist/node-dev/packages/hydrogen-react/package.json.mjs.map +0 -1
  590. package/dist/node-prod/index.js.map +0 -1
  591. package/dist/node-prod/index.mjs.map +0 -1
  592. package/dist/node-prod/packages/hydrogen-react/package.json.js +0 -5
  593. package/dist/node-prod/packages/hydrogen-react/package.json.js.map +0 -1
  594. package/dist/node-prod/packages/hydrogen-react/package.json.mjs +0 -5
  595. package/dist/node-prod/packages/hydrogen-react/package.json.mjs.map +0 -1
@@ -1,174 +1,199 @@
1
- import { useCallback, useMemo } from "react";
2
- import { CartQuery, CartCreate, CartLineAdd, CartLineUpdate, CartLineRemove, CartNoteUpdate, CartBuyerIdentityUpdate, CartAttributesUpdate, CartDiscountCodesUpdate } from "./cart-queries.mjs";
1
+ import { CartAttributesUpdate, CartBuyerIdentityUpdate, CartCreate, CartDiscountCodesUpdate, CartLineAdd, CartLineRemove, CartLineUpdate, CartNoteUpdate, CartQuery } from "./cart-queries.mjs";
3
2
  import { useCartFetch } from "./cart-hooks.mjs";
4
- function useCartActions({
5
- numCartLines,
6
- cartFragment,
7
- countryCode = "US",
8
- languageCode = "EN"
9
- }) {
10
- const fetchCart = useCartFetch();
11
- const cartFetch = useCallback(
12
- (cartId) => {
13
- return fetchCart({
14
- query: CartQuery(cartFragment),
15
- variables: {
16
- id: cartId,
17
- numCartLines,
18
- country: countryCode,
19
- language: languageCode
20
- }
21
- });
22
- },
23
- [fetchCart, cartFragment, numCartLines, countryCode, languageCode]
24
- );
25
- const cartCreate = useCallback(
26
- (cart) => {
27
- return fetchCart({
28
- query: CartCreate(cartFragment),
29
- variables: {
30
- input: cart,
31
- numCartLines,
32
- country: countryCode,
33
- language: languageCode
34
- }
35
- });
36
- },
37
- [cartFragment, countryCode, fetchCart, numCartLines, languageCode]
38
- );
39
- const cartLineAdd = useCallback(
40
- (cartId, lines) => {
41
- return fetchCart({
42
- query: CartLineAdd(cartFragment),
43
- variables: {
44
- cartId,
45
- lines,
46
- numCartLines,
47
- country: countryCode,
48
- language: languageCode
49
- }
50
- });
51
- },
52
- [cartFragment, countryCode, fetchCart, numCartLines, languageCode]
53
- );
54
- const cartLineUpdate = useCallback(
55
- (cartId, lines) => {
56
- return fetchCart({
57
- query: CartLineUpdate(cartFragment),
58
- variables: {
59
- cartId,
60
- lines,
61
- numCartLines,
62
- country: countryCode,
63
- language: languageCode
64
- }
65
- });
66
- },
67
- [cartFragment, countryCode, fetchCart, numCartLines, languageCode]
68
- );
69
- const cartLineRemove = useCallback(
70
- (cartId, lines) => {
71
- return fetchCart({
72
- query: CartLineRemove(cartFragment),
73
- variables: {
74
- cartId,
75
- lines,
76
- numCartLines,
77
- country: countryCode,
78
- language: languageCode
79
- }
80
- });
81
- },
82
- [cartFragment, countryCode, fetchCart, numCartLines, languageCode]
83
- );
84
- const noteUpdate = useCallback(
85
- (cartId, note) => {
86
- return fetchCart({
87
- query: CartNoteUpdate(cartFragment),
88
- variables: {
89
- cartId,
90
- note,
91
- numCartLines,
92
- country: countryCode,
93
- language: languageCode
94
- }
95
- });
96
- },
97
- [fetchCart, cartFragment, numCartLines, countryCode, languageCode]
98
- );
99
- const buyerIdentityUpdate = useCallback(
100
- (cartId, buyerIdentity) => {
101
- return fetchCart({
102
- query: CartBuyerIdentityUpdate(cartFragment),
103
- variables: {
104
- cartId,
105
- buyerIdentity,
106
- numCartLines,
107
- country: countryCode,
108
- language: languageCode
109
- }
110
- });
111
- },
112
- [cartFragment, countryCode, fetchCart, numCartLines, languageCode]
113
- );
114
- const cartAttributesUpdate = useCallback(
115
- (cartId, attributes) => {
116
- return fetchCart({
117
- query: CartAttributesUpdate(cartFragment),
118
- variables: {
119
- cartId,
120
- attributes,
121
- numCartLines,
122
- country: countryCode,
123
- language: languageCode
124
- }
125
- });
126
- },
127
- [cartFragment, countryCode, fetchCart, numCartLines, languageCode]
128
- );
129
- const discountCodesUpdate = useCallback(
130
- (cartId, discountCodes) => {
131
- return fetchCart({
132
- query: CartDiscountCodesUpdate(cartFragment),
133
- variables: {
134
- cartId,
135
- discountCodes,
136
- numCartLines,
137
- country: countryCode,
138
- language: languageCode
139
- }
140
- });
141
- },
142
- [cartFragment, countryCode, fetchCart, numCartLines, languageCode]
143
- );
144
- return useMemo(
145
- () => ({
146
- cartFetch,
147
- cartCreate,
148
- cartLineAdd,
149
- cartLineUpdate,
150
- cartLineRemove,
151
- noteUpdate,
152
- buyerIdentityUpdate,
153
- cartAttributesUpdate,
154
- discountCodesUpdate,
155
- cartFragment
156
- }),
157
- [
158
- cartFetch,
159
- cartCreate,
160
- cartLineAdd,
161
- cartLineUpdate,
162
- cartLineRemove,
163
- noteUpdate,
164
- buyerIdentityUpdate,
165
- cartAttributesUpdate,
166
- discountCodesUpdate,
167
- cartFragment
168
- ]
169
- );
3
+ import { useCallback, useMemo } from "react";
4
+ //#region src/useCartActions.tsx
5
+ /**
6
+ * The `useCartActions` hook returns helper graphql functions for Storefront Cart API
7
+ *
8
+ * See [cart API graphql mutations](https://shopify.dev/api/storefront/2026-04/objects/Cart)
9
+ */
10
+ function useCartActions({ numCartLines, cartFragment, countryCode = "US", languageCode = "EN" }) {
11
+ const fetchCart = useCartFetch();
12
+ const cartFetch = useCallback((cartId) => {
13
+ return fetchCart({
14
+ query: CartQuery(cartFragment),
15
+ variables: {
16
+ id: cartId,
17
+ numCartLines,
18
+ country: countryCode,
19
+ language: languageCode
20
+ }
21
+ });
22
+ }, [
23
+ fetchCart,
24
+ cartFragment,
25
+ numCartLines,
26
+ countryCode,
27
+ languageCode
28
+ ]);
29
+ const cartCreate = useCallback((cart) => {
30
+ return fetchCart({
31
+ query: CartCreate(cartFragment),
32
+ variables: {
33
+ input: cart,
34
+ numCartLines,
35
+ country: countryCode,
36
+ language: languageCode
37
+ }
38
+ });
39
+ }, [
40
+ cartFragment,
41
+ countryCode,
42
+ fetchCart,
43
+ numCartLines,
44
+ languageCode
45
+ ]);
46
+ const cartLineAdd = useCallback((cartId, lines) => {
47
+ return fetchCart({
48
+ query: CartLineAdd(cartFragment),
49
+ variables: {
50
+ cartId,
51
+ lines,
52
+ numCartLines,
53
+ country: countryCode,
54
+ language: languageCode
55
+ }
56
+ });
57
+ }, [
58
+ cartFragment,
59
+ countryCode,
60
+ fetchCart,
61
+ numCartLines,
62
+ languageCode
63
+ ]);
64
+ const cartLineUpdate = useCallback((cartId, lines) => {
65
+ return fetchCart({
66
+ query: CartLineUpdate(cartFragment),
67
+ variables: {
68
+ cartId,
69
+ lines,
70
+ numCartLines,
71
+ country: countryCode,
72
+ language: languageCode
73
+ }
74
+ });
75
+ }, [
76
+ cartFragment,
77
+ countryCode,
78
+ fetchCart,
79
+ numCartLines,
80
+ languageCode
81
+ ]);
82
+ const cartLineRemove = useCallback((cartId, lines) => {
83
+ return fetchCart({
84
+ query: CartLineRemove(cartFragment),
85
+ variables: {
86
+ cartId,
87
+ lines,
88
+ numCartLines,
89
+ country: countryCode,
90
+ language: languageCode
91
+ }
92
+ });
93
+ }, [
94
+ cartFragment,
95
+ countryCode,
96
+ fetchCart,
97
+ numCartLines,
98
+ languageCode
99
+ ]);
100
+ const noteUpdate = useCallback((cartId, note) => {
101
+ return fetchCart({
102
+ query: CartNoteUpdate(cartFragment),
103
+ variables: {
104
+ cartId,
105
+ note,
106
+ numCartLines,
107
+ country: countryCode,
108
+ language: languageCode
109
+ }
110
+ });
111
+ }, [
112
+ fetchCart,
113
+ cartFragment,
114
+ numCartLines,
115
+ countryCode,
116
+ languageCode
117
+ ]);
118
+ const buyerIdentityUpdate = useCallback((cartId, buyerIdentity) => {
119
+ return fetchCart({
120
+ query: CartBuyerIdentityUpdate(cartFragment),
121
+ variables: {
122
+ cartId,
123
+ buyerIdentity,
124
+ numCartLines,
125
+ country: countryCode,
126
+ language: languageCode
127
+ }
128
+ });
129
+ }, [
130
+ cartFragment,
131
+ countryCode,
132
+ fetchCart,
133
+ numCartLines,
134
+ languageCode
135
+ ]);
136
+ const cartAttributesUpdate = useCallback((cartId, attributes) => {
137
+ return fetchCart({
138
+ query: CartAttributesUpdate(cartFragment),
139
+ variables: {
140
+ cartId,
141
+ attributes,
142
+ numCartLines,
143
+ country: countryCode,
144
+ language: languageCode
145
+ }
146
+ });
147
+ }, [
148
+ cartFragment,
149
+ countryCode,
150
+ fetchCart,
151
+ numCartLines,
152
+ languageCode
153
+ ]);
154
+ const discountCodesUpdate = useCallback((cartId, discountCodes) => {
155
+ return fetchCart({
156
+ query: CartDiscountCodesUpdate(cartFragment),
157
+ variables: {
158
+ cartId,
159
+ discountCodes,
160
+ numCartLines,
161
+ country: countryCode,
162
+ language: languageCode
163
+ }
164
+ });
165
+ }, [
166
+ cartFragment,
167
+ countryCode,
168
+ fetchCart,
169
+ numCartLines,
170
+ languageCode
171
+ ]);
172
+ return useMemo(() => ({
173
+ cartFetch,
174
+ cartCreate,
175
+ cartLineAdd,
176
+ cartLineUpdate,
177
+ cartLineRemove,
178
+ noteUpdate,
179
+ buyerIdentityUpdate,
180
+ cartAttributesUpdate,
181
+ discountCodesUpdate,
182
+ cartFragment
183
+ }), [
184
+ cartFetch,
185
+ cartCreate,
186
+ cartLineAdd,
187
+ cartLineUpdate,
188
+ cartLineRemove,
189
+ noteUpdate,
190
+ buyerIdentityUpdate,
191
+ cartAttributesUpdate,
192
+ discountCodesUpdate,
193
+ cartFragment
194
+ ]);
170
195
  }
171
- export {
172
- useCartActions
173
- };
174
- //# sourceMappingURL=useCartActions.mjs.map
196
+ //#endregion
197
+ export { useCartActions };
198
+
199
+ //# sourceMappingURL=useCartActions.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCartActions.mjs","sources":["../../src/useCartActions.tsx"],"sourcesContent":["import {useCallback, useMemo} from 'react';\nimport {\n AttributeInput,\n CartBuyerIdentityInput,\n CartInput,\n CartLineInput,\n CartLineUpdateInput,\n CountryCode,\n LanguageCode,\n Cart as CartType,\n MutationCartDiscountCodesUpdateArgs,\n MutationCartNoteUpdateArgs,\n} from './storefront-api-types.js';\nimport {\n CartAttributesUpdate,\n CartBuyerIdentityUpdate,\n CartCreate,\n CartDiscountCodesUpdate,\n CartLineAdd,\n CartLineRemove,\n CartLineUpdate,\n CartNoteUpdate,\n CartQuery,\n} from './cart-queries.js';\nimport {useCartFetch} from './cart-hooks.js';\nimport {PartialDeep} from 'type-fest';\n\ntype CartResponse = PartialDeep<CartType, {recurseIntoArrays: true}>;\n\n/**\n * The `useCartActions` hook returns helper graphql functions for Storefront Cart API\n *\n * See [cart API graphql mutations](https://shopify.dev/api/storefront/2026-04/objects/Cart)\n */\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function useCartActions({\n numCartLines,\n cartFragment,\n countryCode = 'US',\n languageCode = 'EN',\n}: {\n /** Maximum number of cart lines to fetch. Defaults to 250 cart lines. */\n numCartLines?: number;\n /** A fragment used to query the Storefront API's [Cart object](https://shopify.dev/api/storefront/2026-04/objects/cart) for all queries and mutations. A default value is used if no argument is provided. */\n cartFragment: string;\n /** The ISO country code for i18n. Default to `US` */\n countryCode?: CountryCode;\n /** The ISO language code for i18n. Default to `EN` */\n languageCode?: LanguageCode;\n}) {\n const fetchCart = useCartFetch();\n\n const cartFetch = useCallback(\n (cartId: string) => {\n return fetchCart<{cart: CartResponse}>({\n query: CartQuery(cartFragment),\n variables: {\n id: cartId,\n numCartLines,\n country: countryCode,\n language: languageCode,\n },\n });\n },\n [fetchCart, cartFragment, numCartLines, countryCode, languageCode],\n );\n\n const cartCreate = useCallback(\n (cart: CartInput) => {\n return fetchCart<{cartCreate: {cart: CartResponse}}>({\n query: CartCreate(cartFragment),\n variables: {\n input: cart,\n numCartLines,\n country: countryCode,\n language: languageCode,\n },\n });\n },\n [cartFragment, countryCode, fetchCart, numCartLines, languageCode],\n );\n\n const cartLineAdd = useCallback(\n (cartId: string, lines: CartLineInput[]) => {\n return fetchCart<{cartLinesAdd: {cart: CartResponse}}>({\n query: CartLineAdd(cartFragment),\n variables: {\n cartId,\n lines,\n numCartLines,\n country: countryCode,\n language: languageCode,\n },\n });\n },\n [cartFragment, countryCode, fetchCart, numCartLines, languageCode],\n );\n\n const cartLineUpdate = useCallback(\n (cartId: string, lines: CartLineUpdateInput[]) => {\n return fetchCart<{cartLinesUpdate: {cart: CartResponse}}>({\n query: CartLineUpdate(cartFragment),\n variables: {\n cartId,\n lines,\n numCartLines,\n country: countryCode,\n language: languageCode,\n },\n });\n },\n [cartFragment, countryCode, fetchCart, numCartLines, languageCode],\n );\n\n const cartLineRemove = useCallback(\n (cartId: string, lines: string[]) => {\n return fetchCart<{cartLinesRemove: {cart: CartResponse}}>({\n query: CartLineRemove(cartFragment),\n variables: {\n cartId,\n lines,\n numCartLines,\n country: countryCode,\n language: languageCode,\n },\n });\n },\n [cartFragment, countryCode, fetchCart, numCartLines, languageCode],\n );\n\n const noteUpdate = useCallback(\n (cartId: string, note: MutationCartNoteUpdateArgs['note']) => {\n return fetchCart<{cartNoteUpdate: {cart: CartResponse}}>({\n query: CartNoteUpdate(cartFragment),\n variables: {\n cartId,\n note,\n numCartLines,\n country: countryCode,\n language: languageCode,\n },\n });\n },\n [fetchCart, cartFragment, numCartLines, countryCode, languageCode],\n );\n\n const buyerIdentityUpdate = useCallback(\n (cartId: string, buyerIdentity: CartBuyerIdentityInput) => {\n return fetchCart<{cartBuyerIdentityUpdate: {cart: CartResponse}}>({\n query: CartBuyerIdentityUpdate(cartFragment),\n variables: {\n cartId,\n buyerIdentity,\n numCartLines,\n country: countryCode,\n language: languageCode,\n },\n });\n },\n [cartFragment, countryCode, fetchCart, numCartLines, languageCode],\n );\n\n const cartAttributesUpdate = useCallback(\n (cartId: string, attributes: AttributeInput[]) => {\n return fetchCart<{cartAttributesUpdate: {cart: CartResponse}}>({\n query: CartAttributesUpdate(cartFragment),\n variables: {\n cartId,\n attributes,\n numCartLines,\n country: countryCode,\n language: languageCode,\n },\n });\n },\n [cartFragment, countryCode, fetchCart, numCartLines, languageCode],\n );\n\n const discountCodesUpdate = useCallback(\n (\n cartId: string,\n discountCodes: MutationCartDiscountCodesUpdateArgs['discountCodes'],\n ) => {\n return fetchCart<{cartDiscountCodesUpdate: {cart: CartResponse}}>({\n query: CartDiscountCodesUpdate(cartFragment),\n variables: {\n cartId,\n discountCodes,\n numCartLines,\n country: countryCode,\n language: languageCode,\n },\n });\n },\n [cartFragment, countryCode, fetchCart, numCartLines, languageCode],\n );\n\n return useMemo(\n () => ({\n cartFetch,\n cartCreate,\n cartLineAdd,\n cartLineUpdate,\n cartLineRemove,\n noteUpdate,\n buyerIdentityUpdate,\n cartAttributesUpdate,\n discountCodesUpdate,\n cartFragment,\n }),\n [\n cartFetch,\n cartCreate,\n cartLineAdd,\n cartLineUpdate,\n cartLineRemove,\n noteUpdate,\n buyerIdentityUpdate,\n cartAttributesUpdate,\n discountCodesUpdate,\n cartFragment,\n ],\n );\n}\n"],"names":[],"mappings":";;;AAmCO,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd,eAAe;AACjB,GASG;AACD,QAAM,YAAY,aAAA;AAElB,QAAM,YAAY;AAAA,IAChB,CAAC,WAAmB;AAClB,aAAO,UAAgC;AAAA,QACrC,OAAO,UAAU,YAAY;AAAA,QAC7B,WAAW;AAAA,UACT,IAAI;AAAA,UACJ;AAAA,UACA,SAAS;AAAA,UACT,UAAU;AAAA,QAAA;AAAA,MACZ,CACD;AAAA,IACH;AAAA,IACA,CAAC,WAAW,cAAc,cAAc,aAAa,YAAY;AAAA,EAAA;AAGnE,QAAM,aAAa;AAAA,IACjB,CAAC,SAAoB;AACnB,aAAO,UAA8C;AAAA,QACnD,OAAO,WAAW,YAAY;AAAA,QAC9B,WAAW;AAAA,UACT,OAAO;AAAA,UACP;AAAA,UACA,SAAS;AAAA,UACT,UAAU;AAAA,QAAA;AAAA,MACZ,CACD;AAAA,IACH;AAAA,IACA,CAAC,cAAc,aAAa,WAAW,cAAc,YAAY;AAAA,EAAA;AAGnE,QAAM,cAAc;AAAA,IAClB,CAAC,QAAgB,UAA2B;AAC1C,aAAO,UAAgD;AAAA,QACrD,OAAO,YAAY,YAAY;AAAA,QAC/B,WAAW;AAAA,UACT;AAAA,UACA;AAAA,UACA;AAAA,UACA,SAAS;AAAA,UACT,UAAU;AAAA,QAAA;AAAA,MACZ,CACD;AAAA,IACH;AAAA,IACA,CAAC,cAAc,aAAa,WAAW,cAAc,YAAY;AAAA,EAAA;AAGnE,QAAM,iBAAiB;AAAA,IACrB,CAAC,QAAgB,UAAiC;AAChD,aAAO,UAAmD;AAAA,QACxD,OAAO,eAAe,YAAY;AAAA,QAClC,WAAW;AAAA,UACT;AAAA,UACA;AAAA,UACA;AAAA,UACA,SAAS;AAAA,UACT,UAAU;AAAA,QAAA;AAAA,MACZ,CACD;AAAA,IACH;AAAA,IACA,CAAC,cAAc,aAAa,WAAW,cAAc,YAAY;AAAA,EAAA;AAGnE,QAAM,iBAAiB;AAAA,IACrB,CAAC,QAAgB,UAAoB;AACnC,aAAO,UAAmD;AAAA,QACxD,OAAO,eAAe,YAAY;AAAA,QAClC,WAAW;AAAA,UACT;AAAA,UACA;AAAA,UACA;AAAA,UACA,SAAS;AAAA,UACT,UAAU;AAAA,QAAA;AAAA,MACZ,CACD;AAAA,IACH;AAAA,IACA,CAAC,cAAc,aAAa,WAAW,cAAc,YAAY;AAAA,EAAA;AAGnE,QAAM,aAAa;AAAA,IACjB,CAAC,QAAgB,SAA6C;AAC5D,aAAO,UAAkD;AAAA,QACvD,OAAO,eAAe,YAAY;AAAA,QAClC,WAAW;AAAA,UACT;AAAA,UACA;AAAA,UACA;AAAA,UACA,SAAS;AAAA,UACT,UAAU;AAAA,QAAA;AAAA,MACZ,CACD;AAAA,IACH;AAAA,IACA,CAAC,WAAW,cAAc,cAAc,aAAa,YAAY;AAAA,EAAA;AAGnE,QAAM,sBAAsB;AAAA,IAC1B,CAAC,QAAgB,kBAA0C;AACzD,aAAO,UAA2D;AAAA,QAChE,OAAO,wBAAwB,YAAY;AAAA,QAC3C,WAAW;AAAA,UACT;AAAA,UACA;AAAA,UACA;AAAA,UACA,SAAS;AAAA,UACT,UAAU;AAAA,QAAA;AAAA,MACZ,CACD;AAAA,IACH;AAAA,IACA,CAAC,cAAc,aAAa,WAAW,cAAc,YAAY;AAAA,EAAA;AAGnE,QAAM,uBAAuB;AAAA,IAC3B,CAAC,QAAgB,eAAiC;AAChD,aAAO,UAAwD;AAAA,QAC7D,OAAO,qBAAqB,YAAY;AAAA,QACxC,WAAW;AAAA,UACT;AAAA,UACA;AAAA,UACA;AAAA,UACA,SAAS;AAAA,UACT,UAAU;AAAA,QAAA;AAAA,MACZ,CACD;AAAA,IACH;AAAA,IACA,CAAC,cAAc,aAAa,WAAW,cAAc,YAAY;AAAA,EAAA;AAGnE,QAAM,sBAAsB;AAAA,IAC1B,CACE,QACA,kBACG;AACH,aAAO,UAA2D;AAAA,QAChE,OAAO,wBAAwB,YAAY;AAAA,QAC3C,WAAW;AAAA,UACT;AAAA,UACA;AAAA,UACA;AAAA,UACA,SAAS;AAAA,UACT,UAAU;AAAA,QAAA;AAAA,MACZ,CACD;AAAA,IACH;AAAA,IACA,CAAC,cAAc,aAAa,WAAW,cAAc,YAAY;AAAA,EAAA;AAGnE,SAAO;AAAA,IACL,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EACF;AAEJ;"}
1
+ {"version":3,"file":"useCartActions.mjs","names":[],"sources":["../../src/useCartActions.tsx"],"sourcesContent":["import {useCallback, useMemo} from 'react';\nimport {\n AttributeInput,\n CartBuyerIdentityInput,\n CartInput,\n CartLineInput,\n CartLineUpdateInput,\n CountryCode,\n LanguageCode,\n Cart as CartType,\n MutationCartDiscountCodesUpdateArgs,\n MutationCartNoteUpdateArgs,\n} from './storefront-api-types.js';\nimport {\n CartAttributesUpdate,\n CartBuyerIdentityUpdate,\n CartCreate,\n CartDiscountCodesUpdate,\n CartLineAdd,\n CartLineRemove,\n CartLineUpdate,\n CartNoteUpdate,\n CartQuery,\n} from './cart-queries.js';\nimport {useCartFetch} from './cart-hooks.js';\nimport {PartialDeep} from 'type-fest';\n\ntype CartResponse = PartialDeep<CartType, {recurseIntoArrays: true}>;\n\n/**\n * The `useCartActions` hook returns helper graphql functions for Storefront Cart API\n *\n * See [cart API graphql mutations](https://shopify.dev/api/storefront/2026-04/objects/Cart)\n */\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function useCartActions({\n numCartLines,\n cartFragment,\n countryCode = 'US',\n languageCode = 'EN',\n}: {\n /** Maximum number of cart lines to fetch. Defaults to 250 cart lines. */\n numCartLines?: number;\n /** A fragment used to query the Storefront API's [Cart object](https://shopify.dev/api/storefront/2026-04/objects/cart) for all queries and mutations. A default value is used if no argument is provided. */\n cartFragment: string;\n /** The ISO country code for i18n. Default to `US` */\n countryCode?: CountryCode;\n /** The ISO language code for i18n. Default to `EN` */\n languageCode?: LanguageCode;\n}) {\n const fetchCart = useCartFetch();\n\n const cartFetch = useCallback(\n (cartId: string) => {\n return fetchCart<{cart: CartResponse}>({\n query: CartQuery(cartFragment),\n variables: {\n id: cartId,\n numCartLines,\n country: countryCode,\n language: languageCode,\n },\n });\n },\n [fetchCart, cartFragment, numCartLines, countryCode, languageCode],\n );\n\n const cartCreate = useCallback(\n (cart: CartInput) => {\n return fetchCart<{cartCreate: {cart: CartResponse}}>({\n query: CartCreate(cartFragment),\n variables: {\n input: cart,\n numCartLines,\n country: countryCode,\n language: languageCode,\n },\n });\n },\n [cartFragment, countryCode, fetchCart, numCartLines, languageCode],\n );\n\n const cartLineAdd = useCallback(\n (cartId: string, lines: CartLineInput[]) => {\n return fetchCart<{cartLinesAdd: {cart: CartResponse}}>({\n query: CartLineAdd(cartFragment),\n variables: {\n cartId,\n lines,\n numCartLines,\n country: countryCode,\n language: languageCode,\n },\n });\n },\n [cartFragment, countryCode, fetchCart, numCartLines, languageCode],\n );\n\n const cartLineUpdate = useCallback(\n (cartId: string, lines: CartLineUpdateInput[]) => {\n return fetchCart<{cartLinesUpdate: {cart: CartResponse}}>({\n query: CartLineUpdate(cartFragment),\n variables: {\n cartId,\n lines,\n numCartLines,\n country: countryCode,\n language: languageCode,\n },\n });\n },\n [cartFragment, countryCode, fetchCart, numCartLines, languageCode],\n );\n\n const cartLineRemove = useCallback(\n (cartId: string, lines: string[]) => {\n return fetchCart<{cartLinesRemove: {cart: CartResponse}}>({\n query: CartLineRemove(cartFragment),\n variables: {\n cartId,\n lines,\n numCartLines,\n country: countryCode,\n language: languageCode,\n },\n });\n },\n [cartFragment, countryCode, fetchCart, numCartLines, languageCode],\n );\n\n const noteUpdate = useCallback(\n (cartId: string, note: MutationCartNoteUpdateArgs['note']) => {\n return fetchCart<{cartNoteUpdate: {cart: CartResponse}}>({\n query: CartNoteUpdate(cartFragment),\n variables: {\n cartId,\n note,\n numCartLines,\n country: countryCode,\n language: languageCode,\n },\n });\n },\n [fetchCart, cartFragment, numCartLines, countryCode, languageCode],\n );\n\n const buyerIdentityUpdate = useCallback(\n (cartId: string, buyerIdentity: CartBuyerIdentityInput) => {\n return fetchCart<{cartBuyerIdentityUpdate: {cart: CartResponse}}>({\n query: CartBuyerIdentityUpdate(cartFragment),\n variables: {\n cartId,\n buyerIdentity,\n numCartLines,\n country: countryCode,\n language: languageCode,\n },\n });\n },\n [cartFragment, countryCode, fetchCart, numCartLines, languageCode],\n );\n\n const cartAttributesUpdate = useCallback(\n (cartId: string, attributes: AttributeInput[]) => {\n return fetchCart<{cartAttributesUpdate: {cart: CartResponse}}>({\n query: CartAttributesUpdate(cartFragment),\n variables: {\n cartId,\n attributes,\n numCartLines,\n country: countryCode,\n language: languageCode,\n },\n });\n },\n [cartFragment, countryCode, fetchCart, numCartLines, languageCode],\n );\n\n const discountCodesUpdate = useCallback(\n (\n cartId: string,\n discountCodes: MutationCartDiscountCodesUpdateArgs['discountCodes'],\n ) => {\n return fetchCart<{cartDiscountCodesUpdate: {cart: CartResponse}}>({\n query: CartDiscountCodesUpdate(cartFragment),\n variables: {\n cartId,\n discountCodes,\n numCartLines,\n country: countryCode,\n language: languageCode,\n },\n });\n },\n [cartFragment, countryCode, fetchCart, numCartLines, languageCode],\n );\n\n return useMemo(\n () => ({\n cartFetch,\n cartCreate,\n cartLineAdd,\n cartLineUpdate,\n cartLineRemove,\n noteUpdate,\n buyerIdentityUpdate,\n cartAttributesUpdate,\n discountCodesUpdate,\n cartFragment,\n }),\n [\n cartFetch,\n cartCreate,\n cartLineAdd,\n cartLineUpdate,\n cartLineRemove,\n noteUpdate,\n buyerIdentityUpdate,\n cartAttributesUpdate,\n discountCodesUpdate,\n cartFragment,\n ],\n );\n}\n"],"mappings":";;;;;;;;;AAmCA,SAAgB,eAAe,EAC7B,cACA,cACA,cAAc,MACd,eAAe,QAUd;CACD,MAAM,YAAY,cAAc;CAEhC,MAAM,YAAY,aACf,WAAmB;AAClB,SAAO,UAAgC;GACrC,OAAO,UAAU,aAAa;GAC9B,WAAW;IACT,IAAI;IACJ;IACA,SAAS;IACT,UAAU;IACX;GACF,CAAC;IAEJ;EAAC;EAAW;EAAc;EAAc;EAAa;EAAa,CACnE;CAED,MAAM,aAAa,aAChB,SAAoB;AACnB,SAAO,UAA8C;GACnD,OAAO,WAAW,aAAa;GAC/B,WAAW;IACT,OAAO;IACP;IACA,SAAS;IACT,UAAU;IACX;GACF,CAAC;IAEJ;EAAC;EAAc;EAAa;EAAW;EAAc;EAAa,CACnE;CAED,MAAM,cAAc,aACjB,QAAgB,UAA2B;AAC1C,SAAO,UAAgD;GACrD,OAAO,YAAY,aAAa;GAChC,WAAW;IACT;IACA;IACA;IACA,SAAS;IACT,UAAU;IACX;GACF,CAAC;IAEJ;EAAC;EAAc;EAAa;EAAW;EAAc;EAAa,CACnE;CAED,MAAM,iBAAiB,aACpB,QAAgB,UAAiC;AAChD,SAAO,UAAmD;GACxD,OAAO,eAAe,aAAa;GACnC,WAAW;IACT;IACA;IACA;IACA,SAAS;IACT,UAAU;IACX;GACF,CAAC;IAEJ;EAAC;EAAc;EAAa;EAAW;EAAc;EAAa,CACnE;CAED,MAAM,iBAAiB,aACpB,QAAgB,UAAoB;AACnC,SAAO,UAAmD;GACxD,OAAO,eAAe,aAAa;GACnC,WAAW;IACT;IACA;IACA;IACA,SAAS;IACT,UAAU;IACX;GACF,CAAC;IAEJ;EAAC;EAAc;EAAa;EAAW;EAAc;EAAa,CACnE;CAED,MAAM,aAAa,aAChB,QAAgB,SAA6C;AAC5D,SAAO,UAAkD;GACvD,OAAO,eAAe,aAAa;GACnC,WAAW;IACT;IACA;IACA;IACA,SAAS;IACT,UAAU;IACX;GACF,CAAC;IAEJ;EAAC;EAAW;EAAc;EAAc;EAAa;EAAa,CACnE;CAED,MAAM,sBAAsB,aACzB,QAAgB,kBAA0C;AACzD,SAAO,UAA2D;GAChE,OAAO,wBAAwB,aAAa;GAC5C,WAAW;IACT;IACA;IACA;IACA,SAAS;IACT,UAAU;IACX;GACF,CAAC;IAEJ;EAAC;EAAc;EAAa;EAAW;EAAc;EAAa,CACnE;CAED,MAAM,uBAAuB,aAC1B,QAAgB,eAAiC;AAChD,SAAO,UAAwD;GAC7D,OAAO,qBAAqB,aAAa;GACzC,WAAW;IACT;IACA;IACA;IACA,SAAS;IACT,UAAU;IACX;GACF,CAAC;IAEJ;EAAC;EAAc;EAAa;EAAW;EAAc;EAAa,CACnE;CAED,MAAM,sBAAsB,aAExB,QACA,kBACG;AACH,SAAO,UAA2D;GAChE,OAAO,wBAAwB,aAAa;GAC5C,WAAW;IACT;IACA;IACA;IACA,SAAS;IACT,UAAU;IACX;GACF,CAAC;IAEJ;EAAC;EAAc;EAAa;EAAW;EAAc;EAAa,CACnE;AAED,QAAO,eACE;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,GACD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF"}
@@ -1,68 +1,57 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const index = require("./node_modules/.pnpm/@xstate_fsm@2.0.0/node_modules/@xstate/fsm/es/index.js");
4
- const React = require("react");
5
- const useIsomorphicLayoutEffect = typeof window !== "undefined" ? React.useLayoutEffect : React.useEffect;
1
+ require("./_virtual/_rolldown/runtime.js");
2
+ const require_index = require("./node_modules/.pnpm/@xstate_fsm@2.0.0/node_modules/@xstate/fsm/es/index.js");
3
+ let react = require("react");
4
+ //#region src/useMachine.ts
5
+ var useIsomorphicLayoutEffect = typeof window !== "undefined" ? react.useLayoutEffect : react.useEffect;
6
6
  function useConstant(fn) {
7
- const ref = React.useRef();
8
- if (!ref.current) {
9
- ref.current = { v: fn() };
10
- }
11
- return ref.current.v;
7
+ const ref = (0, react.useRef)();
8
+ if (!ref.current) ref.current = { v: fn() };
9
+ return ref.current.v;
12
10
  }
13
11
  function getServiceState(service) {
14
- let currentValue;
15
- service.subscribe((state) => currentValue = state).unsubscribe();
16
- return currentValue;
12
+ let currentValue;
13
+ service.subscribe((state) => currentValue = state).unsubscribe();
14
+ return currentValue;
17
15
  }
18
16
  function useMachine(stateMachine, options) {
19
- const persistedStateRef = React.useRef();
20
- const [service, queue] = useConstant(() => {
21
- const eventQueue = [];
22
- const svc = index.interpret(
23
- index.createMachine(
24
- stateMachine.config,
25
- options ? options : stateMachine._options
26
- )
27
- );
28
- const originalSend = svc.send;
29
- svc.send = (event) => {
30
- if (svc.status === index.InterpreterStatus.NotStarted) {
31
- eventQueue.push(event);
32
- return;
33
- }
34
- originalSend(event);
35
- persistedStateRef.current = svc.state;
36
- };
37
- return [svc, eventQueue];
38
- });
39
- useIsomorphicLayoutEffect(() => {
40
- if (options) {
41
- service._machine._options = options;
42
- }
43
- });
44
- const getSnapshot = React.useCallback(() => getServiceState(service), [service]);
45
- const subscribe = React.useCallback(
46
- (handleStoreChange) => {
47
- const { unsubscribe } = service.subscribe(handleStoreChange);
48
- return unsubscribe;
49
- },
50
- [service]
51
- );
52
- const storeSnapshot = React.useSyncExternalStore(
53
- subscribe,
54
- getSnapshot,
55
- getSnapshot
56
- );
57
- React.useEffect(() => {
58
- service.start(persistedStateRef.current);
59
- queue.forEach(service.send);
60
- persistedStateRef.current = service.state;
61
- return () => {
62
- service.stop();
63
- };
64
- }, []);
65
- return [storeSnapshot, service.send, service];
17
+ const persistedStateRef = (0, react.useRef)();
18
+ const [service, queue] = useConstant(() => {
19
+ const eventQueue = [];
20
+ const svc = require_index.v(require_index.s(stateMachine.config, options ? options : stateMachine._options));
21
+ const originalSend = svc.send;
22
+ svc.send = (event) => {
23
+ if (svc.status === require_index.n.NotStarted) {
24
+ eventQueue.push(event);
25
+ return;
26
+ }
27
+ originalSend(event);
28
+ persistedStateRef.current = svc.state;
29
+ };
30
+ return [svc, eventQueue];
31
+ });
32
+ useIsomorphicLayoutEffect(() => {
33
+ if (options) service._machine._options = options;
34
+ });
35
+ const getSnapshot = (0, react.useCallback)(() => getServiceState(service), [service]);
36
+ const storeSnapshot = (0, react.useSyncExternalStore)((0, react.useCallback)((handleStoreChange) => {
37
+ const { unsubscribe } = service.subscribe(handleStoreChange);
38
+ return unsubscribe;
39
+ }, [service]), getSnapshot, getSnapshot);
40
+ (0, react.useEffect)(() => {
41
+ service.start(persistedStateRef.current);
42
+ queue.forEach(service.send);
43
+ persistedStateRef.current = service.state;
44
+ return () => {
45
+ service.stop();
46
+ };
47
+ }, []);
48
+ return [
49
+ storeSnapshot,
50
+ service.send,
51
+ service
52
+ ];
66
53
  }
54
+ //#endregion
67
55
  exports.useMachine = useMachine;
68
- //# sourceMappingURL=useMachine.js.map
56
+
57
+ //# sourceMappingURL=useMachine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMachine.js","sources":["../../src/useMachine.ts"],"sourcesContent":["// Inlined React binding for xstate/fsm's state machine interpreter.\n//\n// This replaces the xstate/react/fsm entrypoint, which had no official version\n// supporting both React 19 and xstate/fsm. By owning this hook, we eliminate\n// the xstate/react dependency (and its React version peer dep constraint)\n// while keeping xstate/fsm and the cart state machine definition unchanged.\n//\n// Adapted from xstate/react v3.2.1/fsm (MIT license, Stately/xstate).\n// Copyright (c) 2015 David Khourshid\nimport {\n createMachine,\n interpret,\n InterpreterStatus,\n StateMachine,\n EventObject,\n} from '@xstate/fsm';\nimport {\n useCallback,\n useEffect,\n useLayoutEffect,\n useRef,\n useSyncExternalStore,\n} from 'react';\n\n// useLayoutEffect in the browser (sync after DOM mutations, before paint),\n// useEffect on the server (where useLayoutEffect warns). The check runs once\n// at module evaluation time (not per-render). This matches the original\n// xstate/react behavior via use-isomorphic-layout-effect.\nconst useIsomorphicLayoutEffect =\n typeof window !== 'undefined' ? useLayoutEffect : useEffect;\n\nfunction useConstant<T>(fn: () => T): T {\n const ref = useRef<{v: T}>();\n if (!ref.current) {\n ref.current = {v: fn()};\n }\n return ref.current.v;\n}\n\nfunction getServiceState<\n TC extends object,\n TE extends EventObject,\n TS extends {value: any; context: TC},\n>(service: StateMachine.Service<TC, TE, TS>): StateMachine.State<TC, TE, TS> {\n let currentValue!: StateMachine.State<TC, TE, TS>;\n service.subscribe((state) => (currentValue = state)).unsubscribe();\n return currentValue;\n}\n\nexport function useMachine<\n TC extends object,\n TE extends EventObject,\n TS extends {value: any; context: TC},\n>(\n stateMachine: StateMachine.Machine<TC, TE, TS>,\n options?: {actions?: StateMachine.ActionMap<TC, TE>},\n): readonly [\n StateMachine.State<TC, TE, TS>,\n StateMachine.Service<TC, TE, TS>['send'],\n StateMachine.Service<TC, TE, TS>,\n] {\n const persistedStateRef = useRef<StateMachine.State<TC, TE, TS>>();\n\n const [service, queue] = useConstant(() => {\n const eventQueue: Array<TE | TE['type']> = [];\n const svc = interpret(\n createMachine(\n stateMachine.config,\n options ? options : (stateMachine as any)._options,\n ),\n );\n const originalSend = svc.send;\n svc.send = (event: TE | TE['type']) => {\n if (svc.status === InterpreterStatus.NotStarted) {\n eventQueue.push(event);\n return;\n }\n originalSend(event);\n persistedStateRef.current = svc.state;\n };\n return [svc, eventQueue] as const;\n });\n\n // Keep action implementations in sync without re-creating the service.\n // useIsomorphicLayoutEffect ensures this runs before child effects and paint,\n // preventing a window where stale action handlers could be invoked.\n useIsomorphicLayoutEffect(() => {\n if (options) {\n (service as any)._machine._options = options;\n }\n });\n\n const getSnapshot = useCallback(() => getServiceState(service), [service]);\n\n const subscribe = useCallback(\n (handleStoreChange: () => void) => {\n const {unsubscribe} = service.subscribe(handleStoreChange);\n return unsubscribe;\n },\n [service],\n );\n\n const storeSnapshot = useSyncExternalStore(\n subscribe,\n getSnapshot,\n getSnapshot,\n );\n\n useEffect(() => {\n service.start(persistedStateRef.current as any);\n queue.forEach(service.send);\n persistedStateRef.current = service.state;\n return () => {\n service.stop();\n };\n // service and queue are stable refs from useConstant\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return [storeSnapshot, service.send, service] as const;\n}\n"],"names":["useLayoutEffect","useEffect","useRef","interpret","createMachine","InterpreterStatus","useCallback","useSyncExternalStore"],"mappings":";;;;AA4BA,MAAM,4BACJ,OAAO,WAAW,cAAcA,MAAAA,kBAAkBC,MAAAA;AAEpD,SAAS,YAAe,IAAgB;AACtC,QAAM,MAAMC,MAAAA,OAAA;AACZ,MAAI,CAAC,IAAI,SAAS;AAChB,QAAI,UAAU,EAAC,GAAG,GAAA,EAAG;AAAA,EACvB;AACA,SAAO,IAAI,QAAQ;AACrB;AAEA,SAAS,gBAIP,SAA2E;AAC3E,MAAI;AACJ,UAAQ,UAAU,CAAC,UAAW,eAAe,KAAM,EAAE,YAAA;AACrD,SAAO;AACT;AAEO,SAAS,WAKd,cACA,SAKA;AACA,QAAM,oBAAoBA,MAAAA,OAAA;AAE1B,QAAM,CAAC,SAAS,KAAK,IAAI,YAAY,MAAM;AACzC,UAAM,aAAqC,CAAA;AAC3C,UAAM,MAAMC,MAAAA;AAAAA,MACVC,MAAAA;AAAAA,QACE,aAAa;AAAA,QACb,UAAU,UAAW,aAAqB;AAAA,MAAA;AAAA,IAC5C;AAEF,UAAM,eAAe,IAAI;AACzB,QAAI,OAAO,CAAC,UAA2B;AACrC,UAAI,IAAI,WAAWC,MAAAA,kBAAkB,YAAY;AAC/C,mBAAW,KAAK,KAAK;AACrB;AAAA,MACF;AACA,mBAAa,KAAK;AAClB,wBAAkB,UAAU,IAAI;AAAA,IAClC;AACA,WAAO,CAAC,KAAK,UAAU;AAAA,EACzB,CAAC;AAKD,4BAA0B,MAAM;AAC9B,QAAI,SAAS;AACV,cAAgB,SAAS,WAAW;AAAA,IACvC;AAAA,EACF,CAAC;AAED,QAAM,cAAcC,MAAAA,YAAY,MAAM,gBAAgB,OAAO,GAAG,CAAC,OAAO,CAAC;AAEzE,QAAM,YAAYA,MAAAA;AAAAA,IAChB,CAAC,sBAAkC;AACjC,YAAM,EAAC,YAAA,IAAe,QAAQ,UAAU,iBAAiB;AACzD,aAAO;AAAA,IACT;AAAA,IACA,CAAC,OAAO;AAAA,EAAA;AAGV,QAAM,gBAAgBC,MAAAA;AAAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGFN,QAAAA,UAAU,MAAM;AACd,YAAQ,MAAM,kBAAkB,OAAc;AAC9C,UAAM,QAAQ,QAAQ,IAAI;AAC1B,sBAAkB,UAAU,QAAQ;AACpC,WAAO,MAAM;AACX,cAAQ,KAAA;AAAA,IACV;AAAA,EAGF,GAAG,CAAA,CAAE;AAEL,SAAO,CAAC,eAAe,QAAQ,MAAM,OAAO;AAC9C;;"}
1
+ {"version":3,"file":"useMachine.js","names":[],"sources":["../../src/useMachine.ts"],"sourcesContent":["// Inlined React binding for xstate/fsm's state machine interpreter.\n//\n// This replaces the xstate/react/fsm entrypoint, which had no official version\n// supporting both React 19 and xstate/fsm. By owning this hook, we eliminate\n// the xstate/react dependency (and its React version peer dep constraint)\n// while keeping xstate/fsm and the cart state machine definition unchanged.\n//\n// Adapted from xstate/react v3.2.1/fsm (MIT license, Stately/xstate).\n// Copyright (c) 2015 David Khourshid\nimport {\n createMachine,\n interpret,\n InterpreterStatus,\n StateMachine,\n EventObject,\n} from '@xstate/fsm';\nimport {\n useCallback,\n useEffect,\n useLayoutEffect,\n useRef,\n useSyncExternalStore,\n} from 'react';\n\n// useLayoutEffect in the browser (sync after DOM mutations, before paint),\n// useEffect on the server (where useLayoutEffect warns). The check runs once\n// at module evaluation time (not per-render). This matches the original\n// xstate/react behavior via use-isomorphic-layout-effect.\nconst useIsomorphicLayoutEffect =\n typeof window !== 'undefined' ? useLayoutEffect : useEffect;\n\nfunction useConstant<T>(fn: () => T): T {\n const ref = useRef<{v: T}>();\n if (!ref.current) {\n ref.current = {v: fn()};\n }\n return ref.current.v;\n}\n\nfunction getServiceState<\n TC extends object,\n TE extends EventObject,\n TS extends {value: any; context: TC},\n>(service: StateMachine.Service<TC, TE, TS>): StateMachine.State<TC, TE, TS> {\n let currentValue!: StateMachine.State<TC, TE, TS>;\n service.subscribe((state) => (currentValue = state)).unsubscribe();\n return currentValue;\n}\n\nexport function useMachine<\n TC extends object,\n TE extends EventObject,\n TS extends {value: any; context: TC},\n>(\n stateMachine: StateMachine.Machine<TC, TE, TS>,\n options?: {actions?: StateMachine.ActionMap<TC, TE>},\n): readonly [\n StateMachine.State<TC, TE, TS>,\n StateMachine.Service<TC, TE, TS>['send'],\n StateMachine.Service<TC, TE, TS>,\n] {\n const persistedStateRef = useRef<StateMachine.State<TC, TE, TS>>();\n\n const [service, queue] = useConstant(() => {\n const eventQueue: Array<TE | TE['type']> = [];\n const svc = interpret(\n createMachine(\n stateMachine.config,\n options ? options : (stateMachine as any)._options,\n ),\n );\n const originalSend = svc.send;\n svc.send = (event: TE | TE['type']) => {\n if (svc.status === InterpreterStatus.NotStarted) {\n eventQueue.push(event);\n return;\n }\n originalSend(event);\n persistedStateRef.current = svc.state;\n };\n return [svc, eventQueue] as const;\n });\n\n // Keep action implementations in sync without re-creating the service.\n // useIsomorphicLayoutEffect ensures this runs before child effects and paint,\n // preventing a window where stale action handlers could be invoked.\n useIsomorphicLayoutEffect(() => {\n if (options) {\n (service as any)._machine._options = options;\n }\n });\n\n const getSnapshot = useCallback(() => getServiceState(service), [service]);\n\n const subscribe = useCallback(\n (handleStoreChange: () => void) => {\n const {unsubscribe} = service.subscribe(handleStoreChange);\n return unsubscribe;\n },\n [service],\n );\n\n const storeSnapshot = useSyncExternalStore(\n subscribe,\n getSnapshot,\n getSnapshot,\n );\n\n useEffect(() => {\n service.start(persistedStateRef.current as any);\n queue.forEach(service.send);\n persistedStateRef.current = service.state;\n return () => {\n service.stop();\n };\n // service and queue are stable refs from useConstant\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return [storeSnapshot, service.send, service] as const;\n}\n"],"mappings":";;;;AA4BA,IAAM,4BACJ,OAAO,WAAW,cAAc,MAAA,kBAAkB,MAAA;AAEpD,SAAS,YAAe,IAAgB;CACtC,MAAM,OAAA,GAAA,MAAA,SAAsB;AAC5B,KAAI,CAAC,IAAI,QACP,KAAI,UAAU,EAAC,GAAG,IAAI,EAAC;AAEzB,QAAO,IAAI,QAAQ;;AAGrB,SAAS,gBAIP,SAA2E;CAC3E,IAAI;AACJ,SAAQ,WAAW,UAAW,eAAe,MAAO,CAAC,aAAa;AAClE,QAAO;;AAGT,SAAgB,WAKd,cACA,SAKA;CACA,MAAM,qBAAA,GAAA,MAAA,SAA4D;CAElE,MAAM,CAAC,SAAS,SAAS,kBAAkB;EACzC,MAAM,aAAqC,EAAE;EAC7C,MAAM,MAAM,cAAA,EACV,cAAA,EACE,aAAa,QACb,UAAU,UAAW,aAAqB,SAC3C,CACF;EACD,MAAM,eAAe,IAAI;AACzB,MAAI,QAAQ,UAA2B;AACrC,OAAI,IAAI,WAAW,cAAA,EAAkB,YAAY;AAC/C,eAAW,KAAK,MAAM;AACtB;;AAEF,gBAAa,MAAM;AACnB,qBAAkB,UAAU,IAAI;;AAElC,SAAO,CAAC,KAAK,WAAW;GACxB;AAKF,iCAAgC;AAC9B,MAAI,QACD,SAAgB,SAAS,WAAW;GAEvC;CAEF,MAAM,eAAA,GAAA,MAAA,mBAAgC,gBAAgB,QAAQ,EAAE,CAAC,QAAQ,CAAC;CAU1E,MAAM,iBAAA,GAAA,MAAA,uBAAA,GAAA,MAAA,cAPH,sBAAkC;EACjC,MAAM,EAAC,gBAAe,QAAQ,UAAU,kBAAkB;AAC1D,SAAO;IAET,CAAC,QAAQ,CACV,EAIC,aACA,YACD;AAED,EAAA,GAAA,MAAA,iBAAgB;AACd,UAAQ,MAAM,kBAAkB,QAAe;AAC/C,QAAM,QAAQ,QAAQ,KAAK;AAC3B,oBAAkB,UAAU,QAAQ;AACpC,eAAa;AACX,WAAQ,MAAM;;IAIf,EAAE,CAAC;AAEN,QAAO;EAAC;EAAe,QAAQ;EAAM;EAAQ"}