@shopify/hydrogen 2026.10.0-preview.4 → 2026.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (437) hide show
  1. package/dist/cli/index.mjs +23 -12
  2. package/dist/client/client.d.mts +18 -15
  3. package/dist/client/client.mjs +8 -3
  4. package/dist/client/client.mjs.map +1 -1
  5. package/dist/client/errors.d.mts +35 -13
  6. package/dist/client/errors.mjs +23 -13
  7. package/dist/client/errors.mjs.map +1 -1
  8. package/dist/client/types.d.mts +140 -90
  9. package/dist/core/analytics/cart-tracker.d.mts +19 -10
  10. package/dist/core/analytics/cart-tracker.mjs +18 -10
  11. package/dist/core/analytics/cart-tracker.mjs.map +1 -1
  12. package/dist/core/analytics/events.d.mts +17 -11
  13. package/dist/core/analytics/events.mjs +13 -4
  14. package/dist/core/analytics/events.mjs.map +1 -1
  15. package/dist/core/analytics/types.d.mts +207 -118
  16. package/dist/core/analytics/utils/flatten-connection.d.mts +11 -9
  17. package/dist/core/analytics/utils/flatten-connection.mjs +7 -6
  18. package/dist/core/analytics/utils/flatten-connection.mjs.map +1 -1
  19. package/dist/core/cache/fetch-with-cache.d.mts +24 -4
  20. package/dist/core/cache/fetch-with-cache.mjs +17 -2
  21. package/dist/core/cache/fetch-with-cache.mjs.map +1 -1
  22. package/dist/core/cache/key.d.mts +2 -0
  23. package/dist/core/cache/key.mjs.map +1 -1
  24. package/dist/core/cache/run-with-cache.d.mts +56 -8
  25. package/dist/core/cache/run-with-cache.mjs +17 -6
  26. package/dist/core/cache/run-with-cache.mjs.map +1 -1
  27. package/dist/core/cache/store.d.mts +8 -6
  28. package/dist/core/cache/store.mjs.map +1 -1
  29. package/dist/core/cache/strategies.d.mts +27 -2
  30. package/dist/core/cache/strategies.mjs +6 -0
  31. package/dist/core/cache/strategies.mjs.map +1 -1
  32. package/dist/core/cart/actions.d.mts +37 -30
  33. package/dist/core/cart/actions.mjs +21 -9
  34. package/dist/core/cart/actions.mjs.map +1 -1
  35. package/dist/core/cart/attach-quantity-input.d.mts +8 -7
  36. package/dist/core/cart/attach-quantity-input.mjs +8 -7
  37. package/dist/core/cart/attach-quantity-input.mjs.map +1 -1
  38. package/dist/core/cart/buyer-identity-sync.d.mts +7 -6
  39. package/dist/core/cart/buyer-identity-sync.mjs.map +1 -1
  40. package/dist/core/cart/cart.d.mts +59 -46
  41. package/dist/core/cart/cart.mjs +46 -29
  42. package/dist/core/cart/cart.mjs.map +1 -1
  43. package/dist/core/cart/cookie.d.mts +8 -4
  44. package/dist/core/cart/cookie.mjs +8 -4
  45. package/dist/core/cart/cookie.mjs.map +1 -1
  46. package/dist/core/cart/form.d.mts +34 -20
  47. package/dist/core/cart/form.mjs +6 -4
  48. package/dist/core/cart/form.mjs.map +1 -1
  49. package/dist/core/cart/get-cart.d.mts +27 -15
  50. package/dist/core/cart/get-cart.mjs +13 -8
  51. package/dist/core/cart/get-cart.mjs.map +1 -1
  52. package/dist/core/cart/quantity.d.mts +16 -5
  53. package/dist/core/cart/quantity.mjs +16 -5
  54. package/dist/core/cart/quantity.mjs.map +1 -1
  55. package/dist/core/cart/queries.d.mts +25 -19
  56. package/dist/core/cart/queries.mjs +15 -1
  57. package/dist/core/cart/queries.mjs.map +1 -1
  58. package/dist/core/cart/server-handlers.d.mts +82 -45
  59. package/dist/core/cart/server-handlers.mjs +4 -0
  60. package/dist/core/cart/server-handlers.mjs.map +1 -1
  61. package/dist/core/cart/state.d.mts +110 -64
  62. package/dist/core/cart/state.mjs +24 -6
  63. package/dist/core/cart/state.mjs.map +1 -1
  64. package/dist/core/collection/collection.d.mts +52 -53
  65. package/dist/core/collection/collection.mjs +5 -3
  66. package/dist/core/collection/collection.mjs.map +1 -1
  67. package/dist/core/collection/reconciler.d.mts +23 -16
  68. package/dist/core/collection/reconciler.mjs +8 -4
  69. package/dist/core/collection/reconciler.mjs.map +1 -1
  70. package/dist/core/collection/state.d.mts +31 -26
  71. package/dist/core/collection/state.mjs +4 -3
  72. package/dist/core/collection/state.mjs.map +1 -1
  73. package/dist/core/collection/url.d.mts +70 -29
  74. package/dist/core/collection/url.mjs +63 -25
  75. package/dist/core/collection/url.mjs.map +1 -1
  76. package/dist/core/constants.d.mts +1 -0
  77. package/dist/core/constants.mjs +1 -0
  78. package/dist/core/constants.mjs.map +1 -1
  79. package/dist/core/logging/logging.d.mts +14 -8
  80. package/dist/core/logging/logging.mjs +15 -10
  81. package/dist/core/logging/logging.mjs.map +1 -1
  82. package/dist/core/logging/types.d.mts +28 -11
  83. package/dist/core/logging/types.mjs.map +1 -1
  84. package/dist/core/money/format.d.mts +6 -4
  85. package/dist/core/money/format.mjs +19 -9
  86. package/dist/core/money/format.mjs.map +1 -1
  87. package/dist/core/money/types.d.mts +41 -25
  88. package/dist/core/predictive-search/form.d.mts +37 -7
  89. package/dist/core/predictive-search/form.mjs +21 -3
  90. package/dist/core/predictive-search/form.mjs.map +1 -1
  91. package/dist/core/predictive-search/queries.d.mts +18 -30
  92. package/dist/core/predictive-search/queries.mjs +7 -3
  93. package/dist/core/predictive-search/queries.mjs.map +1 -1
  94. package/dist/core/predictive-search/search.d.mts +25 -27
  95. package/dist/core/predictive-search/search.mjs +20 -19
  96. package/dist/core/predictive-search/search.mjs.map +1 -1
  97. package/dist/core/predictive-search/server-handlers.d.mts +25 -26
  98. package/dist/core/predictive-search/server-handlers.mjs +4 -0
  99. package/dist/core/predictive-search/server-handlers.mjs.map +1 -1
  100. package/dist/core/predictive-search/store.d.mts +65 -24
  101. package/dist/core/predictive-search/store.mjs +12 -1
  102. package/dist/core/predictive-search/store.mjs.map +1 -1
  103. package/dist/core/predictive-search/url.d.mts +36 -37
  104. package/dist/core/predictive-search/url.mjs +14 -6
  105. package/dist/core/predictive-search/url.mjs.map +1 -1
  106. package/dist/core/product/form.d.mts +63 -16
  107. package/dist/core/product/form.mjs +8 -2
  108. package/dist/core/product/form.mjs.map +1 -1
  109. package/dist/core/product/options.d.mts +8 -10
  110. package/dist/core/product/options.mjs +8 -10
  111. package/dist/core/product/options.mjs.map +1 -1
  112. package/dist/core/product/product-form.d.mts +77 -29
  113. package/dist/core/product/product-form.mjs +32 -10
  114. package/dist/core/product/product-form.mjs.map +1 -1
  115. package/dist/core/product/state.d.mts +55 -32
  116. package/dist/core/product/url.d.mts +19 -13
  117. package/dist/core/product/url.mjs +10 -10
  118. package/dist/core/product/url.mjs.map +1 -1
  119. package/dist/core/request-context.d.mts +77 -19
  120. package/dist/core/request-context.mjs +5 -1
  121. package/dist/core/request-context.mjs.map +1 -1
  122. package/dist/core/request-routing/handle-shopify-redirects.d.mts +12 -4
  123. package/dist/core/request-routing/handle-shopify-redirects.mjs +9 -2
  124. package/dist/core/request-routing/handle-shopify-redirects.mjs.map +1 -1
  125. package/dist/core/request-routing/handle-shopify-routes.d.mts +5 -5
  126. package/dist/core/request-routing/handle-shopify-routes.mjs +7 -5
  127. package/dist/core/request-routing/handle-shopify-routes.mjs.map +1 -1
  128. package/dist/core/request-routing/interceptors/proxy.mjs +79 -43
  129. package/dist/core/request-routing/interceptors/proxy.mjs.map +1 -1
  130. package/dist/core/request-routing/interceptors/ucp-profile-proxy.mjs +69 -0
  131. package/dist/core/request-routing/interceptors/ucp-profile-proxy.mjs.map +1 -0
  132. package/dist/core/request-routing/interceptors/url-redirects.mjs +6 -1
  133. package/dist/core/request-routing/interceptors/url-redirects.mjs.map +1 -1
  134. package/dist/core/request-routing/interceptors/well-known.mjs +1 -1
  135. package/dist/core/request-routing/interceptors/well-known.mjs.map +1 -1
  136. package/dist/core/request-routing/registered-routes.d.mts +12 -0
  137. package/dist/core/request-routing/registered-routes.mjs +12 -0
  138. package/dist/core/request-routing/registered-routes.mjs.map +1 -1
  139. package/dist/core/request-routing/route-types.d.mts +43 -18
  140. package/dist/core/shop-pay/shop-pay.d.mts +71 -35
  141. package/dist/core/shop-pay/shop-pay.mjs +36 -10
  142. package/dist/core/shop-pay/shop-pay.mjs.map +1 -1
  143. package/dist/core/shopify-scripts/index.d.mts +15 -5
  144. package/dist/core/shopify-scripts/index.mjs +15 -5
  145. package/dist/core/shopify-scripts/index.mjs.map +1 -1
  146. package/dist/core/shopify-scripts/initialize.d.mts +12 -4
  147. package/dist/core/shopify-scripts/initialize.mjs +12 -4
  148. package/dist/core/shopify-scripts/initialize.mjs.map +1 -1
  149. package/dist/core/shopify-scripts/types.d.mts +58 -25
  150. package/dist/core/standard-routes/build.d.mts +11 -12
  151. package/dist/core/standard-routes/build.mjs +11 -12
  152. package/dist/core/standard-routes/build.mjs.map +1 -1
  153. package/dist/core/standard-routes/types.d.mts +30 -24
  154. package/dist/core/url.mjs +2 -1
  155. package/dist/core/url.mjs.map +1 -1
  156. package/dist/customer-account/client.d.mts +36 -69
  157. package/dist/customer-account/client.mjs +7 -8
  158. package/dist/customer-account/client.mjs.map +1 -1
  159. package/dist/customer-account/errors.d.mts +45 -36
  160. package/dist/customer-account/errors.mjs +21 -36
  161. package/dist/customer-account/errors.mjs.map +1 -1
  162. package/dist/customer-account/graphql.d.mts +11 -23
  163. package/dist/customer-account/graphql.mjs +3 -9
  164. package/dist/customer-account/graphql.mjs.map +1 -1
  165. package/dist/customer-account/session.d.mts +130 -100
  166. package/dist/customer-account/session.mjs +32 -10
  167. package/dist/customer-account/session.mjs.map +1 -1
  168. package/dist/customer-account/type-resolver.d.mts +7 -8
  169. package/dist/development/client/client.d.mts +18 -15
  170. package/dist/development/client/client.mjs +8 -3
  171. package/dist/development/client/client.mjs.map +1 -1
  172. package/dist/development/client/errors.d.mts +35 -13
  173. package/dist/development/client/errors.mjs +23 -13
  174. package/dist/development/client/errors.mjs.map +1 -1
  175. package/dist/development/client/types.d.mts +140 -90
  176. package/dist/development/core/analytics/cart-tracker.d.mts +19 -10
  177. package/dist/development/core/analytics/cart-tracker.mjs +18 -10
  178. package/dist/development/core/analytics/cart-tracker.mjs.map +1 -1
  179. package/dist/development/core/analytics/events.d.mts +17 -11
  180. package/dist/development/core/analytics/events.mjs +13 -4
  181. package/dist/development/core/analytics/events.mjs.map +1 -1
  182. package/dist/development/core/analytics/types.d.mts +207 -118
  183. package/dist/development/core/analytics/utils/flatten-connection.d.mts +11 -9
  184. package/dist/development/core/analytics/utils/flatten-connection.mjs +7 -6
  185. package/dist/development/core/analytics/utils/flatten-connection.mjs.map +1 -1
  186. package/dist/development/core/cache/fetch-with-cache.d.mts +24 -4
  187. package/dist/development/core/cache/fetch-with-cache.mjs +17 -2
  188. package/dist/development/core/cache/fetch-with-cache.mjs.map +1 -1
  189. package/dist/development/core/cache/key.d.mts +2 -0
  190. package/dist/development/core/cache/key.mjs.map +1 -1
  191. package/dist/development/core/cache/run-with-cache.d.mts +56 -8
  192. package/dist/development/core/cache/run-with-cache.mjs +17 -6
  193. package/dist/development/core/cache/run-with-cache.mjs.map +1 -1
  194. package/dist/development/core/cache/store.d.mts +8 -6
  195. package/dist/development/core/cache/store.mjs.map +1 -1
  196. package/dist/development/core/cache/strategies.d.mts +27 -2
  197. package/dist/development/core/cache/strategies.mjs +6 -0
  198. package/dist/development/core/cache/strategies.mjs.map +1 -1
  199. package/dist/development/core/cart/actions.d.mts +37 -30
  200. package/dist/development/core/cart/actions.mjs +21 -9
  201. package/dist/development/core/cart/actions.mjs.map +1 -1
  202. package/dist/development/core/cart/attach-quantity-input.d.mts +8 -7
  203. package/dist/development/core/cart/attach-quantity-input.mjs +8 -7
  204. package/dist/development/core/cart/attach-quantity-input.mjs.map +1 -1
  205. package/dist/development/core/cart/buyer-identity-sync.d.mts +6 -5
  206. package/dist/development/core/cart/buyer-identity-sync.mjs.map +1 -1
  207. package/dist/development/core/cart/cart.d.mts +59 -46
  208. package/dist/development/core/cart/cart.mjs +46 -29
  209. package/dist/development/core/cart/cart.mjs.map +1 -1
  210. package/dist/development/core/cart/cookie.d.mts +8 -4
  211. package/dist/development/core/cart/cookie.mjs +8 -4
  212. package/dist/development/core/cart/cookie.mjs.map +1 -1
  213. package/dist/development/core/cart/form.d.mts +34 -20
  214. package/dist/development/core/cart/form.mjs +6 -4
  215. package/dist/development/core/cart/form.mjs.map +1 -1
  216. package/dist/development/core/cart/get-cart.d.mts +27 -15
  217. package/dist/development/core/cart/get-cart.mjs +13 -8
  218. package/dist/development/core/cart/get-cart.mjs.map +1 -1
  219. package/dist/development/core/cart/quantity.d.mts +16 -5
  220. package/dist/development/core/cart/quantity.mjs +16 -5
  221. package/dist/development/core/cart/quantity.mjs.map +1 -1
  222. package/dist/development/core/cart/queries.d.mts +25 -19
  223. package/dist/development/core/cart/queries.mjs +15 -1
  224. package/dist/development/core/cart/queries.mjs.map +1 -1
  225. package/dist/development/core/cart/server-handlers.d.mts +82 -45
  226. package/dist/development/core/cart/server-handlers.mjs +4 -0
  227. package/dist/development/core/cart/server-handlers.mjs.map +1 -1
  228. package/dist/development/core/cart/state.d.mts +110 -64
  229. package/dist/development/core/cart/state.mjs +24 -6
  230. package/dist/development/core/cart/state.mjs.map +1 -1
  231. package/dist/development/core/collection/collection.d.mts +52 -53
  232. package/dist/development/core/collection/collection.mjs +5 -3
  233. package/dist/development/core/collection/collection.mjs.map +1 -1
  234. package/dist/development/core/collection/reconciler.d.mts +23 -16
  235. package/dist/development/core/collection/reconciler.mjs +8 -4
  236. package/dist/development/core/collection/reconciler.mjs.map +1 -1
  237. package/dist/development/core/collection/state.d.mts +31 -26
  238. package/dist/development/core/collection/state.mjs +4 -3
  239. package/dist/development/core/collection/state.mjs.map +1 -1
  240. package/dist/development/core/collection/url.d.mts +70 -29
  241. package/dist/development/core/collection/url.mjs +63 -25
  242. package/dist/development/core/collection/url.mjs.map +1 -1
  243. package/dist/development/core/constants.mjs.map +1 -1
  244. package/dist/development/core/logging/logging.d.mts +14 -8
  245. package/dist/development/core/logging/logging.mjs +15 -10
  246. package/dist/development/core/logging/logging.mjs.map +1 -1
  247. package/dist/development/core/logging/types.d.mts +28 -11
  248. package/dist/development/core/logging/types.mjs.map +1 -1
  249. package/dist/development/core/money/format.d.mts +6 -4
  250. package/dist/development/core/money/format.mjs +19 -9
  251. package/dist/development/core/money/format.mjs.map +1 -1
  252. package/dist/development/core/money/types.d.mts +41 -25
  253. package/dist/development/core/predictive-search/form.d.mts +37 -7
  254. package/dist/development/core/predictive-search/form.mjs +21 -3
  255. package/dist/development/core/predictive-search/form.mjs.map +1 -1
  256. package/dist/development/core/predictive-search/queries.d.mts +18 -30
  257. package/dist/development/core/predictive-search/queries.mjs +7 -3
  258. package/dist/development/core/predictive-search/queries.mjs.map +1 -1
  259. package/dist/development/core/predictive-search/search.d.mts +25 -27
  260. package/dist/development/core/predictive-search/search.mjs +20 -19
  261. package/dist/development/core/predictive-search/search.mjs.map +1 -1
  262. package/dist/development/core/predictive-search/server-handlers.d.mts +25 -26
  263. package/dist/development/core/predictive-search/server-handlers.mjs +4 -0
  264. package/dist/development/core/predictive-search/server-handlers.mjs.map +1 -1
  265. package/dist/development/core/predictive-search/store.d.mts +65 -24
  266. package/dist/development/core/predictive-search/store.mjs +12 -1
  267. package/dist/development/core/predictive-search/store.mjs.map +1 -1
  268. package/dist/development/core/predictive-search/url.d.mts +36 -37
  269. package/dist/development/core/predictive-search/url.mjs +14 -6
  270. package/dist/development/core/predictive-search/url.mjs.map +1 -1
  271. package/dist/development/core/product/form.d.mts +63 -16
  272. package/dist/development/core/product/form.mjs +8 -2
  273. package/dist/development/core/product/form.mjs.map +1 -1
  274. package/dist/development/core/product/options.d.mts +8 -10
  275. package/dist/development/core/product/options.mjs +8 -10
  276. package/dist/development/core/product/options.mjs.map +1 -1
  277. package/dist/development/core/product/product-form.d.mts +77 -29
  278. package/dist/development/core/product/product-form.mjs +32 -10
  279. package/dist/development/core/product/product-form.mjs.map +1 -1
  280. package/dist/development/core/product/state.d.mts +55 -32
  281. package/dist/development/core/product/url.d.mts +19 -13
  282. package/dist/development/core/product/url.mjs +10 -10
  283. package/dist/development/core/product/url.mjs.map +1 -1
  284. package/dist/development/core/request-context.d.mts +77 -19
  285. package/dist/development/core/request-context.mjs +5 -1
  286. package/dist/development/core/request-context.mjs.map +1 -1
  287. package/dist/development/core/request-routing/handle-shopify-redirects.d.mts +12 -4
  288. package/dist/development/core/request-routing/handle-shopify-redirects.mjs +9 -2
  289. package/dist/development/core/request-routing/handle-shopify-redirects.mjs.map +1 -1
  290. package/dist/development/core/request-routing/handle-shopify-routes.development.d.mts +9 -1
  291. package/dist/development/core/request-routing/handle-shopify-routes.development.mjs +7 -0
  292. package/dist/development/core/request-routing/handle-shopify-routes.development.mjs.map +1 -1
  293. package/dist/development/core/request-routing/handle-shopify-routes.mjs +7 -5
  294. package/dist/development/core/request-routing/handle-shopify-routes.mjs.map +1 -1
  295. package/dist/development/core/request-routing/interceptors/proxy.mjs +79 -43
  296. package/dist/development/core/request-routing/interceptors/proxy.mjs.map +1 -1
  297. package/dist/development/core/request-routing/interceptors/ucp-profile-proxy.mjs +69 -0
  298. package/dist/development/core/request-routing/interceptors/ucp-profile-proxy.mjs.map +1 -0
  299. package/dist/development/core/request-routing/interceptors/url-redirects.mjs +6 -1
  300. package/dist/development/core/request-routing/interceptors/url-redirects.mjs.map +1 -1
  301. package/dist/development/core/request-routing/interceptors/well-known.mjs +1 -1
  302. package/dist/development/core/request-routing/interceptors/well-known.mjs.map +1 -1
  303. package/dist/development/core/request-routing/registered-routes.d.mts +12 -0
  304. package/dist/development/core/request-routing/registered-routes.mjs +12 -0
  305. package/dist/development/core/request-routing/registered-routes.mjs.map +1 -1
  306. package/dist/development/core/request-routing/route-types.d.mts +43 -18
  307. package/dist/development/core/shop-pay/shop-pay.d.mts +71 -35
  308. package/dist/development/core/shop-pay/shop-pay.mjs +36 -10
  309. package/dist/development/core/shop-pay/shop-pay.mjs.map +1 -1
  310. package/dist/development/core/shopify-scripts/index.d.mts +15 -5
  311. package/dist/development/core/shopify-scripts/index.mjs +15 -5
  312. package/dist/development/core/shopify-scripts/index.mjs.map +1 -1
  313. package/dist/development/core/shopify-scripts/initialize.d.mts +12 -4
  314. package/dist/development/core/shopify-scripts/initialize.mjs +12 -4
  315. package/dist/development/core/shopify-scripts/initialize.mjs.map +1 -1
  316. package/dist/development/core/shopify-scripts/types.d.mts +58 -25
  317. package/dist/development/core/standard-routes/build.d.mts +11 -12
  318. package/dist/development/core/standard-routes/build.mjs +11 -12
  319. package/dist/development/core/standard-routes/build.mjs.map +1 -1
  320. package/dist/development/core/standard-routes/types.d.mts +30 -24
  321. package/dist/development/core/url.mjs +2 -1
  322. package/dist/development/core/url.mjs.map +1 -1
  323. package/dist/development/customer-account/session.d.mts +45 -54
  324. package/dist/development/customer-account/session.mjs +20 -4
  325. package/dist/development/customer-account/session.mjs.map +1 -1
  326. package/dist/development/globals.d.mts +20 -11
  327. package/dist/development/graphql/generated/storefront-api-types.d.mts +127 -1
  328. package/dist/development/graphql/graphql.d.mts +17 -16
  329. package/dist/development/graphql/graphql.mjs +7 -8
  330. package/dist/development/graphql/graphql.mjs.map +1 -1
  331. package/dist/development/graphql/type-resolver.d.mts +15 -8
  332. package/dist/development/react/cart.d.mts +78 -32
  333. package/dist/development/react/cart.mjs +56 -29
  334. package/dist/development/react/cart.mjs.map +1 -1
  335. package/dist/development/react/collection.d.mts +40 -22
  336. package/dist/development/react/collection.mjs +27 -7
  337. package/dist/development/react/collection.mjs.map +1 -1
  338. package/dist/development/react/predictive-search.d.mts +65 -50
  339. package/dist/development/react/predictive-search.mjs +23 -21
  340. package/dist/development/react/predictive-search.mjs.map +1 -1
  341. package/dist/development/react/product.d.mts +45 -16
  342. package/dist/development/react/product.mjs +13 -11
  343. package/dist/development/react/product.mjs.map +1 -1
  344. package/dist/development/react/shop-pay.d.mts +15 -0
  345. package/dist/development/react/shop-pay.mjs +9 -0
  346. package/dist/development/react/shop-pay.mjs.map +1 -1
  347. package/dist/development/react/shopify-scripts.d.mts +23 -2
  348. package/dist/development/react/shopify-scripts.mjs +9 -0
  349. package/dist/development/react/shopify-scripts.mjs.map +1 -1
  350. package/dist/development/vue/cart.d.mts +28 -23
  351. package/dist/development/vue/cart.mjs +42 -25
  352. package/dist/development/vue/cart.mjs.map +1 -1
  353. package/dist/development/vue/collection.d.mts +20 -12
  354. package/dist/development/vue/collection.mjs +15 -7
  355. package/dist/development/vue/collection.mjs.map +1 -1
  356. package/dist/development/vue/index.d.mts +2 -2
  357. package/dist/development/vue/index.mjs +2 -2
  358. package/dist/development/vue/predictive-search.d.mts +31 -36
  359. package/dist/development/vue/predictive-search.mjs +16 -22
  360. package/dist/development/vue/predictive-search.mjs.map +1 -1
  361. package/dist/development/vue/product.d.mts +16 -15
  362. package/dist/development/vue/product.mjs +11 -11
  363. package/dist/development/vue/product.mjs.map +1 -1
  364. package/dist/development/vue/shop-pay.d.mts +14 -17
  365. package/dist/development/vue/shop-pay.mjs +8 -0
  366. package/dist/development/vue/shop-pay.mjs.map +1 -1
  367. package/dist/development/vue/shopify-scripts.d.mts +11 -0
  368. package/dist/development/vue/shopify-scripts.mjs +6 -0
  369. package/dist/development/vue/shopify-scripts.mjs.map +1 -1
  370. package/dist/globals.d.mts +20 -11
  371. package/dist/graphql/generated/storefront-api-types.d.mts +127 -1
  372. package/dist/graphql/graphql.d.mts +17 -16
  373. package/dist/graphql/graphql.mjs +7 -8
  374. package/dist/graphql/graphql.mjs.map +1 -1
  375. package/dist/graphql/type-resolver.d.mts +15 -8
  376. package/dist/react/cart.d.mts +78 -32
  377. package/dist/react/cart.mjs +56 -29
  378. package/dist/react/cart.mjs.map +1 -1
  379. package/dist/react/collection.d.mts +40 -22
  380. package/dist/react/collection.mjs +27 -7
  381. package/dist/react/collection.mjs.map +1 -1
  382. package/dist/react/predictive-search.d.mts +65 -50
  383. package/dist/react/predictive-search.mjs +23 -21
  384. package/dist/react/predictive-search.mjs.map +1 -1
  385. package/dist/react/product.d.mts +45 -16
  386. package/dist/react/product.mjs +13 -11
  387. package/dist/react/product.mjs.map +1 -1
  388. package/dist/react/shop-pay.d.mts +15 -0
  389. package/dist/react/shop-pay.mjs +9 -0
  390. package/dist/react/shop-pay.mjs.map +1 -1
  391. package/dist/react/shopify-scripts.d.mts +23 -2
  392. package/dist/react/shopify-scripts.mjs +9 -0
  393. package/dist/react/shopify-scripts.mjs.map +1 -1
  394. package/dist/ts-plugin/index.cjs +6 -0
  395. package/dist/ts-plugin/index.cjs.map +1 -1
  396. package/dist/ts-plugin/index.d.cts +6 -0
  397. package/dist/vite/local-https.d.mts +51 -17
  398. package/dist/vite/local-https.mjs +26 -5
  399. package/dist/vite/local-https.mjs.map +1 -1
  400. package/dist/vue/cart.d.mts +28 -23
  401. package/dist/vue/cart.mjs +42 -25
  402. package/dist/vue/cart.mjs.map +1 -1
  403. package/dist/vue/collection.d.mts +20 -12
  404. package/dist/vue/collection.mjs +15 -7
  405. package/dist/vue/collection.mjs.map +1 -1
  406. package/dist/vue/index.d.mts +2 -2
  407. package/dist/vue/index.mjs +2 -2
  408. package/dist/vue/predictive-search.d.mts +31 -36
  409. package/dist/vue/predictive-search.mjs +16 -22
  410. package/dist/vue/predictive-search.mjs.map +1 -1
  411. package/dist/vue/product.d.mts +16 -15
  412. package/dist/vue/product.mjs +11 -11
  413. package/dist/vue/product.mjs.map +1 -1
  414. package/dist/vue/shop-pay.d.mts +14 -17
  415. package/dist/vue/shop-pay.mjs +8 -0
  416. package/dist/vue/shop-pay.mjs.map +1 -1
  417. package/dist/vue/shopify-scripts.d.mts +11 -0
  418. package/dist/vue/shopify-scripts.mjs +6 -0
  419. package/dist/vue/shopify-scripts.mjs.map +1 -1
  420. package/package.json +3 -1
  421. package/skills/hydrogen-analytics/SKILL.md +1 -1
  422. package/skills/hydrogen-cart-ui/SKILL.md +28 -2
  423. package/skills/hydrogen-collection-browser/SKILL.md +9 -1
  424. package/skills/hydrogen-collection-browser/references/nextjs.md +1 -1
  425. package/skills/hydrogen-collection-browser/references/nuxt.md +1 -1
  426. package/skills/hydrogen-collection-browser/references/react.md +151 -32
  427. package/skills/hydrogen-customer-account/SKILL.md +2 -0
  428. package/skills/hydrogen-request-handlers/SKILL.md +21 -11
  429. package/skills/hydrogen-setup/references/analytics.md +14 -8
  430. package/skills/hydrogen-setup/steps/1-inspect-app.md +2 -2
  431. package/skills/hydrogen-setup/steps/6-product-detail-page.md +21 -11
  432. package/skills/hydrogen-storefront-client/SKILL.md +1 -1
  433. package/skills/hydrogen-storefront-client/references/caching.md +2 -0
  434. package/skills/hydrogen-variant-form/SKILL.md +25 -7
  435. package/skills/hydrogen-variant-form/references/nextjs.md +39 -4
  436. package/skills/hydrogen-variant-form/references/nuxt.md +83 -42
  437. package/skills/hydrogen-variant-form/references/react.md +45 -9
@@ -1431,7 +1431,7 @@ declare const CUSTOM_CART_ATTRIBUTES_UPDATE_MUTATION: StorefrontQueryString<{
1431
1431
  cartId: string;
1432
1432
  }, "mutation CartAttributesUpdate($cartId: ID!, $attributes: [AttributeInput!]!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartAttributesUpdate(cartId: $cartId, attributes: $attributes) {\n cart {\n ...HydrogenCartFragment\n ...CartFragment\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }\n\n fragment HydrogenCartFragment on Cart {\n id\n updatedAt\n checkoutUrl\n totalQuantity\n note\n attributes {\n key\n value\n }\n cost {\n subtotalAmount {\n amount\n currencyCode\n }\n totalAmount {\n amount\n currencyCode\n }\n checkoutChargeAmount {\n amount\n currencyCode\n }\n }\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes {\n key\n value\n }\n cost {\n totalAmount {\n amount\n currencyCode\n }\n subtotalAmount {\n amount\n currencyCode\n }\n amountPerQuantity {\n amount\n currencyCode\n }\n compareAtAmountPerQuantity {\n amount\n currencyCode\n }\n }\n merchandise {\n ... on ProductVariant {\n id\n title\n sku\n image {\n id\n url\n altText\n width\n height\n }\n product {\n id\n title\n handle\n vendor\n productType\n }\n selectedOptions {\n name\n value\n }\n }\n }\n sellingPlanAllocation {\n sellingPlan {\n id\n }\n }\n ... on CartLine {\n parentRelationship {\n parent {\n id\n }\n }\n }\n }\n }\n discountCodes {\n applicable\n code\n }\n }\n">;
1433
1433
  declare const DEFAULT_CART_QUERIES: {
1434
- readonly cart: StorefrontQueryString<{
1434
+ /** Query that fetches a cart by ID. */readonly cart: StorefrontQueryString<{
1435
1435
  cart: {
1436
1436
  id: string;
1437
1437
  updatedAt: string;
@@ -1583,7 +1583,7 @@ declare const DEFAULT_CART_QUERIES: {
1583
1583
  language?: "ID" | "AF" | "DZ" | "AR" | "AM" | "AZ" | "BS" | "BE" | "BM" | "BO" | "BR" | "BN" | "BG" | "CA" | "KY" | "KM" | "HR" | "CU" | "CY" | "SV" | "EE" | "ET" | "FO" | "FI" | "FR" | "GA" | "DE" | "GL" | "GD" | "HU" | "IS" | "IT" | "KI" | "KW" | "LA" | "LV" | "LB" | "LT" | "LU" | "MO" | "MG" | "MY" | "ML" | "MT" | "MR" | "MN" | "MS" | "NL" | "NE" | "MK" | "NO" | "OM" | "PS" | "PA" | "PL" | "PT" | "RO" | "RU" | "RW" | "SH" | "KN" | "SA" | "SN" | "SC" | "SL" | "SG" | "SK" | "SI" | "SO" | "ES" | "SD" | "SR" | "SE" | "TH" | "TG" | "TK" | "TO" | "TT" | "TA" | "TR" | "UG" | "UZ" | "AK" | "AS" | "CE" | "CKB" | "CS" | "DA" | "EL" | "EN" | "EO" | "EU" | "FA" | "FF" | "FIL" | "FY" | "GU" | "GV" | "HA" | "HE" | "HI" | "HY" | "IA" | "IG" | "II" | "JA" | "JV" | "KA" | "KK" | "KL" | "KO" | "KS" | "KU" | "LG" | "LN" | "LO" | "MI" | "NB" | "ND" | "NN" | "OR" | "OS" | "PT_BR" | "PT_PT" | "QU" | "RM" | "RN" | "SQ" | "SU" | "SW" | "TE" | "TI" | "UK" | "UR" | "VI" | "WO" | "XH" | "YI" | "YO" | "ZH_CN" | "ZH_TW" | "ZU" | "ZH" | "VO" | null | undefined;
1584
1584
  country?: "ID" | "AF" | "AX" | "AL" | "DZ" | "AD" | "AO" | "AI" | "AG" | "AR" | "AM" | "AW" | "AC" | "AU" | "AT" | "AZ" | "BS" | "BH" | "BD" | "BB" | "BY" | "BE" | "BZ" | "BJ" | "BM" | "BT" | "BO" | "BA" | "BW" | "BV" | "BR" | "IO" | "BN" | "BG" | "BF" | "BI" | "KH" | "CA" | "CV" | "BQ" | "KY" | "CF" | "TD" | "CL" | "CN" | "CX" | "CC" | "CO" | "KM" | "CG" | "CD" | "CK" | "CR" | "HR" | "CU" | "CW" | "CY" | "CZ" | "CI" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "SV" | "GQ" | "ER" | "EE" | "SZ" | "ET" | "FK" | "FO" | "FJ" | "FI" | "FR" | "GF" | "PF" | "TF" | "GA" | "GM" | "GE" | "DE" | "GH" | "GI" | "GR" | "GL" | "GD" | "GP" | "GT" | "GG" | "GN" | "GW" | "GY" | "HT" | "HM" | "VA" | "HN" | "HK" | "HU" | "IS" | "IN" | "IR" | "IQ" | "IE" | "IM" | "IL" | "IT" | "JM" | "JP" | "JE" | "JO" | "KZ" | "KE" | "KI" | "KP" | "XK" | "KW" | "KG" | "LA" | "LV" | "LB" | "LS" | "LR" | "LY" | "LI" | "LT" | "LU" | "MO" | "MG" | "MW" | "MY" | "MV" | "ML" | "MT" | "MQ" | "MR" | "MU" | "YT" | "MX" | "MD" | "MC" | "MN" | "ME" | "MS" | "MA" | "MZ" | "MM" | "NA" | "NR" | "NP" | "NL" | "AN" | "NC" | "NZ" | "NI" | "NE" | "NG" | "NU" | "NF" | "MK" | "NO" | "OM" | "PK" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PN" | "PL" | "PT" | "QA" | "CM" | "RE" | "RO" | "RU" | "RW" | "BL" | "SH" | "KN" | "LC" | "MF" | "PM" | "WS" | "SM" | "ST" | "SA" | "SN" | "RS" | "SC" | "SL" | "SG" | "SX" | "SK" | "SI" | "SB" | "SO" | "ZA" | "GS" | "KR" | "SS" | "ES" | "LK" | "VC" | "SD" | "SR" | "SJ" | "SE" | "CH" | "SY" | "TW" | "TJ" | "TZ" | "TH" | "TL" | "TG" | "TK" | "TO" | "TT" | "TA" | "TN" | "TR" | "TM" | "TC" | "TV" | "UG" | "UA" | "AE" | "GB" | "US" | "UM" | "UY" | "UZ" | "VU" | "VE" | "VN" | "VG" | "WF" | "EH" | "YE" | "ZM" | "ZW" | "ZZ" | null | undefined;
1585
1585
  id: string;
1586
- }, "query Cart($id: ID!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cart(id: $id) {\n ...HydrogenCartFragment\n }\n }\n\n fragment HydrogenCartFragment on Cart {\n id\n updatedAt\n checkoutUrl\n totalQuantity\n note\n attributes {\n key\n value\n }\n cost {\n subtotalAmount {\n amount\n currencyCode\n }\n totalAmount {\n amount\n currencyCode\n }\n checkoutChargeAmount {\n amount\n currencyCode\n }\n }\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes {\n key\n value\n }\n cost {\n totalAmount {\n amount\n currencyCode\n }\n subtotalAmount {\n amount\n currencyCode\n }\n amountPerQuantity {\n amount\n currencyCode\n }\n compareAtAmountPerQuantity {\n amount\n currencyCode\n }\n }\n merchandise {\n ... on ProductVariant {\n id\n title\n sku\n image {\n id\n url\n altText\n width\n height\n }\n product {\n id\n title\n handle\n vendor\n productType\n }\n selectedOptions {\n name\n value\n }\n }\n }\n sellingPlanAllocation {\n sellingPlan {\n id\n }\n }\n ... on CartLine {\n parentRelationship {\n parent {\n id\n }\n }\n }\n }\n }\n discountCodes {\n applicable\n code\n }\n }\n">;
1586
+ }, "query Cart($id: ID!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cart(id: $id) {\n ...HydrogenCartFragment\n }\n }\n\n fragment HydrogenCartFragment on Cart {\n id\n updatedAt\n checkoutUrl\n totalQuantity\n note\n attributes {\n key\n value\n }\n cost {\n subtotalAmount {\n amount\n currencyCode\n }\n totalAmount {\n amount\n currencyCode\n }\n checkoutChargeAmount {\n amount\n currencyCode\n }\n }\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes {\n key\n value\n }\n cost {\n totalAmount {\n amount\n currencyCode\n }\n subtotalAmount {\n amount\n currencyCode\n }\n amountPerQuantity {\n amount\n currencyCode\n }\n compareAtAmountPerQuantity {\n amount\n currencyCode\n }\n }\n merchandise {\n ... on ProductVariant {\n id\n title\n sku\n image {\n id\n url\n altText\n width\n height\n }\n product {\n id\n title\n handle\n vendor\n productType\n }\n selectedOptions {\n name\n value\n }\n }\n }\n sellingPlanAllocation {\n sellingPlan {\n id\n }\n }\n ... on CartLine {\n parentRelationship {\n parent {\n id\n }\n }\n }\n }\n }\n discountCodes {\n applicable\n code\n }\n }\n">; /** Mutation that creates a cart from a cart input. */
1587
1587
  readonly cartCreate: StorefrontQueryString<{
1588
1588
  cartCreate: {
1589
1589
  cart: {
@@ -1835,7 +1835,7 @@ declare const DEFAULT_CART_QUERIES: {
1835
1835
  key: string;
1836
1836
  }[] | null | undefined;
1837
1837
  };
1838
- }, "mutation CartCreate($input: CartInput!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartCreate(input: $input) {\n cart {\n ...HydrogenCartFragment\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }\n\n fragment HydrogenCartFragment on Cart {\n id\n updatedAt\n checkoutUrl\n totalQuantity\n note\n attributes {\n key\n value\n }\n cost {\n subtotalAmount {\n amount\n currencyCode\n }\n totalAmount {\n amount\n currencyCode\n }\n checkoutChargeAmount {\n amount\n currencyCode\n }\n }\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes {\n key\n value\n }\n cost {\n totalAmount {\n amount\n currencyCode\n }\n subtotalAmount {\n amount\n currencyCode\n }\n amountPerQuantity {\n amount\n currencyCode\n }\n compareAtAmountPerQuantity {\n amount\n currencyCode\n }\n }\n merchandise {\n ... on ProductVariant {\n id\n title\n sku\n image {\n id\n url\n altText\n width\n height\n }\n product {\n id\n title\n handle\n vendor\n productType\n }\n selectedOptions {\n name\n value\n }\n }\n }\n sellingPlanAllocation {\n sellingPlan {\n id\n }\n }\n ... on CartLine {\n parentRelationship {\n parent {\n id\n }\n }\n }\n }\n }\n discountCodes {\n applicable\n code\n }\n }\n">;
1838
+ }, "mutation CartCreate($input: CartInput!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartCreate(input: $input) {\n cart {\n ...HydrogenCartFragment\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }\n\n fragment HydrogenCartFragment on Cart {\n id\n updatedAt\n checkoutUrl\n totalQuantity\n note\n attributes {\n key\n value\n }\n cost {\n subtotalAmount {\n amount\n currencyCode\n }\n totalAmount {\n amount\n currencyCode\n }\n checkoutChargeAmount {\n amount\n currencyCode\n }\n }\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes {\n key\n value\n }\n cost {\n totalAmount {\n amount\n currencyCode\n }\n subtotalAmount {\n amount\n currencyCode\n }\n amountPerQuantity {\n amount\n currencyCode\n }\n compareAtAmountPerQuantity {\n amount\n currencyCode\n }\n }\n merchandise {\n ... on ProductVariant {\n id\n title\n sku\n image {\n id\n url\n altText\n width\n height\n }\n product {\n id\n title\n handle\n vendor\n productType\n }\n selectedOptions {\n name\n value\n }\n }\n }\n sellingPlanAllocation {\n sellingPlan {\n id\n }\n }\n ... on CartLine {\n parentRelationship {\n parent {\n id\n }\n }\n }\n }\n }\n discountCodes {\n applicable\n code\n }\n }\n">; /** Mutation that adds merchandise lines to a cart. */
1839
1839
  readonly cartLinesAdd: StorefrontQueryString<{
1840
1840
  cartLinesAdd: {
1841
1841
  cart: {
@@ -2014,7 +2014,7 @@ declare const DEFAULT_CART_QUERIES: {
2014
2014
  }[] | null | undefined;
2015
2015
  }[];
2016
2016
  cartId: string;
2017
- }, "mutation CartLinesAdd($cartId: ID!, $lines: [CartLineInput!]!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartLinesAdd(cartId: $cartId, lines: $lines) {\n cart {\n ...HydrogenCartFragment\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }\n\n fragment HydrogenCartFragment on Cart {\n id\n updatedAt\n checkoutUrl\n totalQuantity\n note\n attributes {\n key\n value\n }\n cost {\n subtotalAmount {\n amount\n currencyCode\n }\n totalAmount {\n amount\n currencyCode\n }\n checkoutChargeAmount {\n amount\n currencyCode\n }\n }\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes {\n key\n value\n }\n cost {\n totalAmount {\n amount\n currencyCode\n }\n subtotalAmount {\n amount\n currencyCode\n }\n amountPerQuantity {\n amount\n currencyCode\n }\n compareAtAmountPerQuantity {\n amount\n currencyCode\n }\n }\n merchandise {\n ... on ProductVariant {\n id\n title\n sku\n image {\n id\n url\n altText\n width\n height\n }\n product {\n id\n title\n handle\n vendor\n productType\n }\n selectedOptions {\n name\n value\n }\n }\n }\n sellingPlanAllocation {\n sellingPlan {\n id\n }\n }\n ... on CartLine {\n parentRelationship {\n parent {\n id\n }\n }\n }\n }\n }\n discountCodes {\n applicable\n code\n }\n }\n">;
2017
+ }, "mutation CartLinesAdd($cartId: ID!, $lines: [CartLineInput!]!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartLinesAdd(cartId: $cartId, lines: $lines) {\n cart {\n ...HydrogenCartFragment\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }\n\n fragment HydrogenCartFragment on Cart {\n id\n updatedAt\n checkoutUrl\n totalQuantity\n note\n attributes {\n key\n value\n }\n cost {\n subtotalAmount {\n amount\n currencyCode\n }\n totalAmount {\n amount\n currencyCode\n }\n checkoutChargeAmount {\n amount\n currencyCode\n }\n }\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes {\n key\n value\n }\n cost {\n totalAmount {\n amount\n currencyCode\n }\n subtotalAmount {\n amount\n currencyCode\n }\n amountPerQuantity {\n amount\n currencyCode\n }\n compareAtAmountPerQuantity {\n amount\n currencyCode\n }\n }\n merchandise {\n ... on ProductVariant {\n id\n title\n sku\n image {\n id\n url\n altText\n width\n height\n }\n product {\n id\n title\n handle\n vendor\n productType\n }\n selectedOptions {\n name\n value\n }\n }\n }\n sellingPlanAllocation {\n sellingPlan {\n id\n }\n }\n ... on CartLine {\n parentRelationship {\n parent {\n id\n }\n }\n }\n }\n }\n discountCodes {\n applicable\n code\n }\n }\n">; /** Mutation that updates existing lines in a cart. */
2018
2018
  readonly cartLinesUpdate: StorefrontQueryString<{
2019
2019
  cartLinesUpdate: {
2020
2020
  cart: {
@@ -2190,7 +2190,7 @@ declare const DEFAULT_CART_QUERIES: {
2190
2190
  id?: string | null | undefined;
2191
2191
  }[];
2192
2192
  cartId: string;
2193
- }, "mutation CartLinesUpdate($cartId: ID!, $lines: [CartLineUpdateInput!]!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartLinesUpdate(cartId: $cartId, lines: $lines) {\n cart {\n ...HydrogenCartFragment\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }\n\n fragment HydrogenCartFragment on Cart {\n id\n updatedAt\n checkoutUrl\n totalQuantity\n note\n attributes {\n key\n value\n }\n cost {\n subtotalAmount {\n amount\n currencyCode\n }\n totalAmount {\n amount\n currencyCode\n }\n checkoutChargeAmount {\n amount\n currencyCode\n }\n }\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes {\n key\n value\n }\n cost {\n totalAmount {\n amount\n currencyCode\n }\n subtotalAmount {\n amount\n currencyCode\n }\n amountPerQuantity {\n amount\n currencyCode\n }\n compareAtAmountPerQuantity {\n amount\n currencyCode\n }\n }\n merchandise {\n ... on ProductVariant {\n id\n title\n sku\n image {\n id\n url\n altText\n width\n height\n }\n product {\n id\n title\n handle\n vendor\n productType\n }\n selectedOptions {\n name\n value\n }\n }\n }\n sellingPlanAllocation {\n sellingPlan {\n id\n }\n }\n ... on CartLine {\n parentRelationship {\n parent {\n id\n }\n }\n }\n }\n }\n discountCodes {\n applicable\n code\n }\n }\n">;
2193
+ }, "mutation CartLinesUpdate($cartId: ID!, $lines: [CartLineUpdateInput!]!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartLinesUpdate(cartId: $cartId, lines: $lines) {\n cart {\n ...HydrogenCartFragment\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }\n\n fragment HydrogenCartFragment on Cart {\n id\n updatedAt\n checkoutUrl\n totalQuantity\n note\n attributes {\n key\n value\n }\n cost {\n subtotalAmount {\n amount\n currencyCode\n }\n totalAmount {\n amount\n currencyCode\n }\n checkoutChargeAmount {\n amount\n currencyCode\n }\n }\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes {\n key\n value\n }\n cost {\n totalAmount {\n amount\n currencyCode\n }\n subtotalAmount {\n amount\n currencyCode\n }\n amountPerQuantity {\n amount\n currencyCode\n }\n compareAtAmountPerQuantity {\n amount\n currencyCode\n }\n }\n merchandise {\n ... on ProductVariant {\n id\n title\n sku\n image {\n id\n url\n altText\n width\n height\n }\n product {\n id\n title\n handle\n vendor\n productType\n }\n selectedOptions {\n name\n value\n }\n }\n }\n sellingPlanAllocation {\n sellingPlan {\n id\n }\n }\n ... on CartLine {\n parentRelationship {\n parent {\n id\n }\n }\n }\n }\n }\n discountCodes {\n applicable\n code\n }\n }\n">; /** Mutation that removes lines from a cart by line ID. */
2194
2194
  readonly cartLinesRemove: StorefrontQueryString<{
2195
2195
  cartLinesRemove: {
2196
2196
  cart: {
@@ -2356,7 +2356,7 @@ declare const DEFAULT_CART_QUERIES: {
2356
2356
  country?: "ID" | "AF" | "AX" | "AL" | "DZ" | "AD" | "AO" | "AI" | "AG" | "AR" | "AM" | "AW" | "AC" | "AU" | "AT" | "AZ" | "BS" | "BH" | "BD" | "BB" | "BY" | "BE" | "BZ" | "BJ" | "BM" | "BT" | "BO" | "BA" | "BW" | "BV" | "BR" | "IO" | "BN" | "BG" | "BF" | "BI" | "KH" | "CA" | "CV" | "BQ" | "KY" | "CF" | "TD" | "CL" | "CN" | "CX" | "CC" | "CO" | "KM" | "CG" | "CD" | "CK" | "CR" | "HR" | "CU" | "CW" | "CY" | "CZ" | "CI" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "SV" | "GQ" | "ER" | "EE" | "SZ" | "ET" | "FK" | "FO" | "FJ" | "FI" | "FR" | "GF" | "PF" | "TF" | "GA" | "GM" | "GE" | "DE" | "GH" | "GI" | "GR" | "GL" | "GD" | "GP" | "GT" | "GG" | "GN" | "GW" | "GY" | "HT" | "HM" | "VA" | "HN" | "HK" | "HU" | "IS" | "IN" | "IR" | "IQ" | "IE" | "IM" | "IL" | "IT" | "JM" | "JP" | "JE" | "JO" | "KZ" | "KE" | "KI" | "KP" | "XK" | "KW" | "KG" | "LA" | "LV" | "LB" | "LS" | "LR" | "LY" | "LI" | "LT" | "LU" | "MO" | "MG" | "MW" | "MY" | "MV" | "ML" | "MT" | "MQ" | "MR" | "MU" | "YT" | "MX" | "MD" | "MC" | "MN" | "ME" | "MS" | "MA" | "MZ" | "MM" | "NA" | "NR" | "NP" | "NL" | "AN" | "NC" | "NZ" | "NI" | "NE" | "NG" | "NU" | "NF" | "MK" | "NO" | "OM" | "PK" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PN" | "PL" | "PT" | "QA" | "CM" | "RE" | "RO" | "RU" | "RW" | "BL" | "SH" | "KN" | "LC" | "MF" | "PM" | "WS" | "SM" | "ST" | "SA" | "SN" | "RS" | "SC" | "SL" | "SG" | "SX" | "SK" | "SI" | "SB" | "SO" | "ZA" | "GS" | "KR" | "SS" | "ES" | "LK" | "VC" | "SD" | "SR" | "SJ" | "SE" | "CH" | "SY" | "TW" | "TJ" | "TZ" | "TH" | "TL" | "TG" | "TK" | "TO" | "TT" | "TA" | "TN" | "TR" | "TM" | "TC" | "TV" | "UG" | "UA" | "AE" | "GB" | "US" | "UM" | "UY" | "UZ" | "VU" | "VE" | "VN" | "VG" | "WF" | "EH" | "YE" | "ZM" | "ZW" | "ZZ" | null | undefined;
2357
2357
  lineIds: string[];
2358
2358
  cartId: string;
2359
- }, "mutation CartLinesRemove($cartId: ID!, $lineIds: [ID!]!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartLinesRemove(cartId: $cartId, lineIds: $lineIds) {\n cart {\n ...HydrogenCartFragment\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }\n\n fragment HydrogenCartFragment on Cart {\n id\n updatedAt\n checkoutUrl\n totalQuantity\n note\n attributes {\n key\n value\n }\n cost {\n subtotalAmount {\n amount\n currencyCode\n }\n totalAmount {\n amount\n currencyCode\n }\n checkoutChargeAmount {\n amount\n currencyCode\n }\n }\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes {\n key\n value\n }\n cost {\n totalAmount {\n amount\n currencyCode\n }\n subtotalAmount {\n amount\n currencyCode\n }\n amountPerQuantity {\n amount\n currencyCode\n }\n compareAtAmountPerQuantity {\n amount\n currencyCode\n }\n }\n merchandise {\n ... on ProductVariant {\n id\n title\n sku\n image {\n id\n url\n altText\n width\n height\n }\n product {\n id\n title\n handle\n vendor\n productType\n }\n selectedOptions {\n name\n value\n }\n }\n }\n sellingPlanAllocation {\n sellingPlan {\n id\n }\n }\n ... on CartLine {\n parentRelationship {\n parent {\n id\n }\n }\n }\n }\n }\n discountCodes {\n applicable\n code\n }\n }\n">;
2359
+ }, "mutation CartLinesRemove($cartId: ID!, $lineIds: [ID!]!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartLinesRemove(cartId: $cartId, lineIds: $lineIds) {\n cart {\n ...HydrogenCartFragment\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }\n\n fragment HydrogenCartFragment on Cart {\n id\n updatedAt\n checkoutUrl\n totalQuantity\n note\n attributes {\n key\n value\n }\n cost {\n subtotalAmount {\n amount\n currencyCode\n }\n totalAmount {\n amount\n currencyCode\n }\n checkoutChargeAmount {\n amount\n currencyCode\n }\n }\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes {\n key\n value\n }\n cost {\n totalAmount {\n amount\n currencyCode\n }\n subtotalAmount {\n amount\n currencyCode\n }\n amountPerQuantity {\n amount\n currencyCode\n }\n compareAtAmountPerQuantity {\n amount\n currencyCode\n }\n }\n merchandise {\n ... on ProductVariant {\n id\n title\n sku\n image {\n id\n url\n altText\n width\n height\n }\n product {\n id\n title\n handle\n vendor\n productType\n }\n selectedOptions {\n name\n value\n }\n }\n }\n sellingPlanAllocation {\n sellingPlan {\n id\n }\n }\n ... on CartLine {\n parentRelationship {\n parent {\n id\n }\n }\n }\n }\n }\n discountCodes {\n applicable\n code\n }\n }\n">; /** Mutation that replaces a cart's discount codes. */
2360
2360
  readonly cartDiscountCodesUpdate: StorefrontQueryString<{
2361
2361
  cartDiscountCodesUpdate: {
2362
2362
  cart: {
@@ -2522,7 +2522,7 @@ declare const DEFAULT_CART_QUERIES: {
2522
2522
  country?: "ID" | "AF" | "AX" | "AL" | "DZ" | "AD" | "AO" | "AI" | "AG" | "AR" | "AM" | "AW" | "AC" | "AU" | "AT" | "AZ" | "BS" | "BH" | "BD" | "BB" | "BY" | "BE" | "BZ" | "BJ" | "BM" | "BT" | "BO" | "BA" | "BW" | "BV" | "BR" | "IO" | "BN" | "BG" | "BF" | "BI" | "KH" | "CA" | "CV" | "BQ" | "KY" | "CF" | "TD" | "CL" | "CN" | "CX" | "CC" | "CO" | "KM" | "CG" | "CD" | "CK" | "CR" | "HR" | "CU" | "CW" | "CY" | "CZ" | "CI" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "SV" | "GQ" | "ER" | "EE" | "SZ" | "ET" | "FK" | "FO" | "FJ" | "FI" | "FR" | "GF" | "PF" | "TF" | "GA" | "GM" | "GE" | "DE" | "GH" | "GI" | "GR" | "GL" | "GD" | "GP" | "GT" | "GG" | "GN" | "GW" | "GY" | "HT" | "HM" | "VA" | "HN" | "HK" | "HU" | "IS" | "IN" | "IR" | "IQ" | "IE" | "IM" | "IL" | "IT" | "JM" | "JP" | "JE" | "JO" | "KZ" | "KE" | "KI" | "KP" | "XK" | "KW" | "KG" | "LA" | "LV" | "LB" | "LS" | "LR" | "LY" | "LI" | "LT" | "LU" | "MO" | "MG" | "MW" | "MY" | "MV" | "ML" | "MT" | "MQ" | "MR" | "MU" | "YT" | "MX" | "MD" | "MC" | "MN" | "ME" | "MS" | "MA" | "MZ" | "MM" | "NA" | "NR" | "NP" | "NL" | "AN" | "NC" | "NZ" | "NI" | "NE" | "NG" | "NU" | "NF" | "MK" | "NO" | "OM" | "PK" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PN" | "PL" | "PT" | "QA" | "CM" | "RE" | "RO" | "RU" | "RW" | "BL" | "SH" | "KN" | "LC" | "MF" | "PM" | "WS" | "SM" | "ST" | "SA" | "SN" | "RS" | "SC" | "SL" | "SG" | "SX" | "SK" | "SI" | "SB" | "SO" | "ZA" | "GS" | "KR" | "SS" | "ES" | "LK" | "VC" | "SD" | "SR" | "SJ" | "SE" | "CH" | "SY" | "TW" | "TJ" | "TZ" | "TH" | "TL" | "TG" | "TK" | "TO" | "TT" | "TA" | "TN" | "TR" | "TM" | "TC" | "TV" | "UG" | "UA" | "AE" | "GB" | "US" | "UM" | "UY" | "UZ" | "VU" | "VE" | "VN" | "VG" | "WF" | "EH" | "YE" | "ZM" | "ZW" | "ZZ" | null | undefined;
2523
2523
  discountCodes: string[];
2524
2524
  cartId: string;
2525
- }, "mutation CartDiscountCodesUpdate($cartId: ID!, $discountCodes: [String!]!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartDiscountCodesUpdate(cartId: $cartId, discountCodes: $discountCodes) {\n cart {\n ...HydrogenCartFragment\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }\n\n fragment HydrogenCartFragment on Cart {\n id\n updatedAt\n checkoutUrl\n totalQuantity\n note\n attributes {\n key\n value\n }\n cost {\n subtotalAmount {\n amount\n currencyCode\n }\n totalAmount {\n amount\n currencyCode\n }\n checkoutChargeAmount {\n amount\n currencyCode\n }\n }\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes {\n key\n value\n }\n cost {\n totalAmount {\n amount\n currencyCode\n }\n subtotalAmount {\n amount\n currencyCode\n }\n amountPerQuantity {\n amount\n currencyCode\n }\n compareAtAmountPerQuantity {\n amount\n currencyCode\n }\n }\n merchandise {\n ... on ProductVariant {\n id\n title\n sku\n image {\n id\n url\n altText\n width\n height\n }\n product {\n id\n title\n handle\n vendor\n productType\n }\n selectedOptions {\n name\n value\n }\n }\n }\n sellingPlanAllocation {\n sellingPlan {\n id\n }\n }\n ... on CartLine {\n parentRelationship {\n parent {\n id\n }\n }\n }\n }\n }\n discountCodes {\n applicable\n code\n }\n }\n">;
2525
+ }, "mutation CartDiscountCodesUpdate($cartId: ID!, $discountCodes: [String!]!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartDiscountCodesUpdate(cartId: $cartId, discountCodes: $discountCodes) {\n cart {\n ...HydrogenCartFragment\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }\n\n fragment HydrogenCartFragment on Cart {\n id\n updatedAt\n checkoutUrl\n totalQuantity\n note\n attributes {\n key\n value\n }\n cost {\n subtotalAmount {\n amount\n currencyCode\n }\n totalAmount {\n amount\n currencyCode\n }\n checkoutChargeAmount {\n amount\n currencyCode\n }\n }\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes {\n key\n value\n }\n cost {\n totalAmount {\n amount\n currencyCode\n }\n subtotalAmount {\n amount\n currencyCode\n }\n amountPerQuantity {\n amount\n currencyCode\n }\n compareAtAmountPerQuantity {\n amount\n currencyCode\n }\n }\n merchandise {\n ... on ProductVariant {\n id\n title\n sku\n image {\n id\n url\n altText\n width\n height\n }\n product {\n id\n title\n handle\n vendor\n productType\n }\n selectedOptions {\n name\n value\n }\n }\n }\n sellingPlanAllocation {\n sellingPlan {\n id\n }\n }\n ... on CartLine {\n parentRelationship {\n parent {\n id\n }\n }\n }\n }\n }\n discountCodes {\n applicable\n code\n }\n }\n">; /** Mutation that sets a cart's note. */
2526
2526
  readonly cartNoteUpdate: StorefrontQueryString<{
2527
2527
  cartNoteUpdate: {
2528
2528
  cart: {
@@ -2688,7 +2688,7 @@ declare const DEFAULT_CART_QUERIES: {
2688
2688
  country?: "ID" | "AF" | "AX" | "AL" | "DZ" | "AD" | "AO" | "AI" | "AG" | "AR" | "AM" | "AW" | "AC" | "AU" | "AT" | "AZ" | "BS" | "BH" | "BD" | "BB" | "BY" | "BE" | "BZ" | "BJ" | "BM" | "BT" | "BO" | "BA" | "BW" | "BV" | "BR" | "IO" | "BN" | "BG" | "BF" | "BI" | "KH" | "CA" | "CV" | "BQ" | "KY" | "CF" | "TD" | "CL" | "CN" | "CX" | "CC" | "CO" | "KM" | "CG" | "CD" | "CK" | "CR" | "HR" | "CU" | "CW" | "CY" | "CZ" | "CI" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "SV" | "GQ" | "ER" | "EE" | "SZ" | "ET" | "FK" | "FO" | "FJ" | "FI" | "FR" | "GF" | "PF" | "TF" | "GA" | "GM" | "GE" | "DE" | "GH" | "GI" | "GR" | "GL" | "GD" | "GP" | "GT" | "GG" | "GN" | "GW" | "GY" | "HT" | "HM" | "VA" | "HN" | "HK" | "HU" | "IS" | "IN" | "IR" | "IQ" | "IE" | "IM" | "IL" | "IT" | "JM" | "JP" | "JE" | "JO" | "KZ" | "KE" | "KI" | "KP" | "XK" | "KW" | "KG" | "LA" | "LV" | "LB" | "LS" | "LR" | "LY" | "LI" | "LT" | "LU" | "MO" | "MG" | "MW" | "MY" | "MV" | "ML" | "MT" | "MQ" | "MR" | "MU" | "YT" | "MX" | "MD" | "MC" | "MN" | "ME" | "MS" | "MA" | "MZ" | "MM" | "NA" | "NR" | "NP" | "NL" | "AN" | "NC" | "NZ" | "NI" | "NE" | "NG" | "NU" | "NF" | "MK" | "NO" | "OM" | "PK" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PN" | "PL" | "PT" | "QA" | "CM" | "RE" | "RO" | "RU" | "RW" | "BL" | "SH" | "KN" | "LC" | "MF" | "PM" | "WS" | "SM" | "ST" | "SA" | "SN" | "RS" | "SC" | "SL" | "SG" | "SX" | "SK" | "SI" | "SB" | "SO" | "ZA" | "GS" | "KR" | "SS" | "ES" | "LK" | "VC" | "SD" | "SR" | "SJ" | "SE" | "CH" | "SY" | "TW" | "TJ" | "TZ" | "TH" | "TL" | "TG" | "TK" | "TO" | "TT" | "TA" | "TN" | "TR" | "TM" | "TC" | "TV" | "UG" | "UA" | "AE" | "GB" | "US" | "UM" | "UY" | "UZ" | "VU" | "VE" | "VN" | "VG" | "WF" | "EH" | "YE" | "ZM" | "ZW" | "ZZ" | null | undefined;
2689
2689
  note: string;
2690
2690
  cartId: string;
2691
- }, "mutation CartNoteUpdate($cartId: ID!, $note: String!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartNoteUpdate(cartId: $cartId, note: $note) {\n cart {\n ...HydrogenCartFragment\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }\n\n fragment HydrogenCartFragment on Cart {\n id\n updatedAt\n checkoutUrl\n totalQuantity\n note\n attributes {\n key\n value\n }\n cost {\n subtotalAmount {\n amount\n currencyCode\n }\n totalAmount {\n amount\n currencyCode\n }\n checkoutChargeAmount {\n amount\n currencyCode\n }\n }\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes {\n key\n value\n }\n cost {\n totalAmount {\n amount\n currencyCode\n }\n subtotalAmount {\n amount\n currencyCode\n }\n amountPerQuantity {\n amount\n currencyCode\n }\n compareAtAmountPerQuantity {\n amount\n currencyCode\n }\n }\n merchandise {\n ... on ProductVariant {\n id\n title\n sku\n image {\n id\n url\n altText\n width\n height\n }\n product {\n id\n title\n handle\n vendor\n productType\n }\n selectedOptions {\n name\n value\n }\n }\n }\n sellingPlanAllocation {\n sellingPlan {\n id\n }\n }\n ... on CartLine {\n parentRelationship {\n parent {\n id\n }\n }\n }\n }\n }\n discountCodes {\n applicable\n code\n }\n }\n">;
2691
+ }, "mutation CartNoteUpdate($cartId: ID!, $note: String!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartNoteUpdate(cartId: $cartId, note: $note) {\n cart {\n ...HydrogenCartFragment\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }\n\n fragment HydrogenCartFragment on Cart {\n id\n updatedAt\n checkoutUrl\n totalQuantity\n note\n attributes {\n key\n value\n }\n cost {\n subtotalAmount {\n amount\n currencyCode\n }\n totalAmount {\n amount\n currencyCode\n }\n checkoutChargeAmount {\n amount\n currencyCode\n }\n }\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes {\n key\n value\n }\n cost {\n totalAmount {\n amount\n currencyCode\n }\n subtotalAmount {\n amount\n currencyCode\n }\n amountPerQuantity {\n amount\n currencyCode\n }\n compareAtAmountPerQuantity {\n amount\n currencyCode\n }\n }\n merchandise {\n ... on ProductVariant {\n id\n title\n sku\n image {\n id\n url\n altText\n width\n height\n }\n product {\n id\n title\n handle\n vendor\n productType\n }\n selectedOptions {\n name\n value\n }\n }\n }\n sellingPlanAllocation {\n sellingPlan {\n id\n }\n }\n ... on CartLine {\n parentRelationship {\n parent {\n id\n }\n }\n }\n }\n }\n discountCodes {\n applicable\n code\n }\n }\n">; /** Mutation that sets a cart's custom attributes. */
2692
2692
  readonly cartAttributesUpdate: StorefrontQueryString<{
2693
2693
  cartAttributesUpdate: {
2694
2694
  cart: {
@@ -2888,15 +2888,21 @@ type NormalizeCartLines<TLines> = TLines extends {
2888
2888
  nodes: Array<CartLineFromNodes<TNodes>>;
2889
2889
  } : TLines;
2890
2890
  type CartLineFromNodes<TNodes> = TNodes extends CartLineConnection["nodes"] ? TNodes[number] : TNodes extends ReadonlyArray<infer TLine> ? TLine : never;
2891
- /** Infers the {@link CartData} shape from `CreateCartServerHandlersOptions`. */
2891
+ /** Infers the cart data shape from cart server handler options. */
2892
2892
  type CartDataForOptions<TOptions> = CartDataFromCartQuery<CartQueriesForOptions<TOptions>["cart"]>;
2893
- /** Resolves the cart query set from handler options — custom queries when a fragment is provided, defaults otherwise. */
2893
+ /** Resolves the cart queries for handler options. A fragment produces custom queries, and no fragment produces the default queries. */
2894
2894
  type CartQueriesForOptions<TOptions> = TOptions extends {
2895
2895
  readonly fragment: infer TCartFragment extends AnyStorefrontQueryString;
2896
2896
  } ? CartQueriesForFragment<TCartFragment> : DefaultCartQueries;
2897
- /** Default cart GraphQL queries and mutations. */
2897
+ /**
2898
+ * The default cart query and mutations that createCartServerHandlers runs.
2899
+ *
2900
+ * Each document returns the cart in the request's country and language through the `@inContext` directive. The Storefront API client fills both values from the request context's locale. The default cart fragment leaves out the variant's available quantity, which needs the `unauthenticated_read_product_inventory` Storefront API scope. Select the field in a custom cart fragment to cap quantities at available stock.
2901
+ *
2902
+ * @publicDocs
2903
+ */
2898
2904
  declare const cartQueries: {
2899
- readonly cart: StorefrontQueryString<{
2905
+ /** Query that fetches a cart by ID. */readonly cart: StorefrontQueryString<{
2900
2906
  cart: {
2901
2907
  id: string;
2902
2908
  updatedAt: string;
@@ -3048,7 +3054,7 @@ declare const cartQueries: {
3048
3054
  language?: "ID" | "AF" | "DZ" | "AR" | "AM" | "AZ" | "BS" | "BE" | "BM" | "BO" | "BR" | "BN" | "BG" | "CA" | "KY" | "KM" | "HR" | "CU" | "CY" | "SV" | "EE" | "ET" | "FO" | "FI" | "FR" | "GA" | "DE" | "GL" | "GD" | "HU" | "IS" | "IT" | "KI" | "KW" | "LA" | "LV" | "LB" | "LT" | "LU" | "MO" | "MG" | "MY" | "ML" | "MT" | "MR" | "MN" | "MS" | "NL" | "NE" | "MK" | "NO" | "OM" | "PS" | "PA" | "PL" | "PT" | "RO" | "RU" | "RW" | "SH" | "KN" | "SA" | "SN" | "SC" | "SL" | "SG" | "SK" | "SI" | "SO" | "ES" | "SD" | "SR" | "SE" | "TH" | "TG" | "TK" | "TO" | "TT" | "TA" | "TR" | "UG" | "UZ" | "AK" | "AS" | "CE" | "CKB" | "CS" | "DA" | "EL" | "EN" | "EO" | "EU" | "FA" | "FF" | "FIL" | "FY" | "GU" | "GV" | "HA" | "HE" | "HI" | "HY" | "IA" | "IG" | "II" | "JA" | "JV" | "KA" | "KK" | "KL" | "KO" | "KS" | "KU" | "LG" | "LN" | "LO" | "MI" | "NB" | "ND" | "NN" | "OR" | "OS" | "PT_BR" | "PT_PT" | "QU" | "RM" | "RN" | "SQ" | "SU" | "SW" | "TE" | "TI" | "UK" | "UR" | "VI" | "WO" | "XH" | "YI" | "YO" | "ZH_CN" | "ZH_TW" | "ZU" | "ZH" | "VO" | null | undefined;
3049
3055
  country?: "ID" | "AF" | "AX" | "AL" | "DZ" | "AD" | "AO" | "AI" | "AG" | "AR" | "AM" | "AW" | "AC" | "AU" | "AT" | "AZ" | "BS" | "BH" | "BD" | "BB" | "BY" | "BE" | "BZ" | "BJ" | "BM" | "BT" | "BO" | "BA" | "BW" | "BV" | "BR" | "IO" | "BN" | "BG" | "BF" | "BI" | "KH" | "CA" | "CV" | "BQ" | "KY" | "CF" | "TD" | "CL" | "CN" | "CX" | "CC" | "CO" | "KM" | "CG" | "CD" | "CK" | "CR" | "HR" | "CU" | "CW" | "CY" | "CZ" | "CI" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "SV" | "GQ" | "ER" | "EE" | "SZ" | "ET" | "FK" | "FO" | "FJ" | "FI" | "FR" | "GF" | "PF" | "TF" | "GA" | "GM" | "GE" | "DE" | "GH" | "GI" | "GR" | "GL" | "GD" | "GP" | "GT" | "GG" | "GN" | "GW" | "GY" | "HT" | "HM" | "VA" | "HN" | "HK" | "HU" | "IS" | "IN" | "IR" | "IQ" | "IE" | "IM" | "IL" | "IT" | "JM" | "JP" | "JE" | "JO" | "KZ" | "KE" | "KI" | "KP" | "XK" | "KW" | "KG" | "LA" | "LV" | "LB" | "LS" | "LR" | "LY" | "LI" | "LT" | "LU" | "MO" | "MG" | "MW" | "MY" | "MV" | "ML" | "MT" | "MQ" | "MR" | "MU" | "YT" | "MX" | "MD" | "MC" | "MN" | "ME" | "MS" | "MA" | "MZ" | "MM" | "NA" | "NR" | "NP" | "NL" | "AN" | "NC" | "NZ" | "NI" | "NE" | "NG" | "NU" | "NF" | "MK" | "NO" | "OM" | "PK" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PN" | "PL" | "PT" | "QA" | "CM" | "RE" | "RO" | "RU" | "RW" | "BL" | "SH" | "KN" | "LC" | "MF" | "PM" | "WS" | "SM" | "ST" | "SA" | "SN" | "RS" | "SC" | "SL" | "SG" | "SX" | "SK" | "SI" | "SB" | "SO" | "ZA" | "GS" | "KR" | "SS" | "ES" | "LK" | "VC" | "SD" | "SR" | "SJ" | "SE" | "CH" | "SY" | "TW" | "TJ" | "TZ" | "TH" | "TL" | "TG" | "TK" | "TO" | "TT" | "TA" | "TN" | "TR" | "TM" | "TC" | "TV" | "UG" | "UA" | "AE" | "GB" | "US" | "UM" | "UY" | "UZ" | "VU" | "VE" | "VN" | "VG" | "WF" | "EH" | "YE" | "ZM" | "ZW" | "ZZ" | null | undefined;
3050
3056
  id: string;
3051
- }, "query Cart($id: ID!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cart(id: $id) {\n ...HydrogenCartFragment\n }\n }\n\n fragment HydrogenCartFragment on Cart {\n id\n updatedAt\n checkoutUrl\n totalQuantity\n note\n attributes {\n key\n value\n }\n cost {\n subtotalAmount {\n amount\n currencyCode\n }\n totalAmount {\n amount\n currencyCode\n }\n checkoutChargeAmount {\n amount\n currencyCode\n }\n }\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes {\n key\n value\n }\n cost {\n totalAmount {\n amount\n currencyCode\n }\n subtotalAmount {\n amount\n currencyCode\n }\n amountPerQuantity {\n amount\n currencyCode\n }\n compareAtAmountPerQuantity {\n amount\n currencyCode\n }\n }\n merchandise {\n ... on ProductVariant {\n id\n title\n sku\n image {\n id\n url\n altText\n width\n height\n }\n product {\n id\n title\n handle\n vendor\n productType\n }\n selectedOptions {\n name\n value\n }\n }\n }\n sellingPlanAllocation {\n sellingPlan {\n id\n }\n }\n ... on CartLine {\n parentRelationship {\n parent {\n id\n }\n }\n }\n }\n }\n discountCodes {\n applicable\n code\n }\n }\n">;
3057
+ }, "query Cart($id: ID!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cart(id: $id) {\n ...HydrogenCartFragment\n }\n }\n\n fragment HydrogenCartFragment on Cart {\n id\n updatedAt\n checkoutUrl\n totalQuantity\n note\n attributes {\n key\n value\n }\n cost {\n subtotalAmount {\n amount\n currencyCode\n }\n totalAmount {\n amount\n currencyCode\n }\n checkoutChargeAmount {\n amount\n currencyCode\n }\n }\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes {\n key\n value\n }\n cost {\n totalAmount {\n amount\n currencyCode\n }\n subtotalAmount {\n amount\n currencyCode\n }\n amountPerQuantity {\n amount\n currencyCode\n }\n compareAtAmountPerQuantity {\n amount\n currencyCode\n }\n }\n merchandise {\n ... on ProductVariant {\n id\n title\n sku\n image {\n id\n url\n altText\n width\n height\n }\n product {\n id\n title\n handle\n vendor\n productType\n }\n selectedOptions {\n name\n value\n }\n }\n }\n sellingPlanAllocation {\n sellingPlan {\n id\n }\n }\n ... on CartLine {\n parentRelationship {\n parent {\n id\n }\n }\n }\n }\n }\n discountCodes {\n applicable\n code\n }\n }\n">; /** Mutation that creates a cart from a cart input. */
3052
3058
  readonly cartCreate: StorefrontQueryString<{
3053
3059
  cartCreate: {
3054
3060
  cart: {
@@ -3300,7 +3306,7 @@ declare const cartQueries: {
3300
3306
  key: string;
3301
3307
  }[] | null | undefined;
3302
3308
  };
3303
- }, "mutation CartCreate($input: CartInput!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartCreate(input: $input) {\n cart {\n ...HydrogenCartFragment\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }\n\n fragment HydrogenCartFragment on Cart {\n id\n updatedAt\n checkoutUrl\n totalQuantity\n note\n attributes {\n key\n value\n }\n cost {\n subtotalAmount {\n amount\n currencyCode\n }\n totalAmount {\n amount\n currencyCode\n }\n checkoutChargeAmount {\n amount\n currencyCode\n }\n }\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes {\n key\n value\n }\n cost {\n totalAmount {\n amount\n currencyCode\n }\n subtotalAmount {\n amount\n currencyCode\n }\n amountPerQuantity {\n amount\n currencyCode\n }\n compareAtAmountPerQuantity {\n amount\n currencyCode\n }\n }\n merchandise {\n ... on ProductVariant {\n id\n title\n sku\n image {\n id\n url\n altText\n width\n height\n }\n product {\n id\n title\n handle\n vendor\n productType\n }\n selectedOptions {\n name\n value\n }\n }\n }\n sellingPlanAllocation {\n sellingPlan {\n id\n }\n }\n ... on CartLine {\n parentRelationship {\n parent {\n id\n }\n }\n }\n }\n }\n discountCodes {\n applicable\n code\n }\n }\n">;
3309
+ }, "mutation CartCreate($input: CartInput!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartCreate(input: $input) {\n cart {\n ...HydrogenCartFragment\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }\n\n fragment HydrogenCartFragment on Cart {\n id\n updatedAt\n checkoutUrl\n totalQuantity\n note\n attributes {\n key\n value\n }\n cost {\n subtotalAmount {\n amount\n currencyCode\n }\n totalAmount {\n amount\n currencyCode\n }\n checkoutChargeAmount {\n amount\n currencyCode\n }\n }\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes {\n key\n value\n }\n cost {\n totalAmount {\n amount\n currencyCode\n }\n subtotalAmount {\n amount\n currencyCode\n }\n amountPerQuantity {\n amount\n currencyCode\n }\n compareAtAmountPerQuantity {\n amount\n currencyCode\n }\n }\n merchandise {\n ... on ProductVariant {\n id\n title\n sku\n image {\n id\n url\n altText\n width\n height\n }\n product {\n id\n title\n handle\n vendor\n productType\n }\n selectedOptions {\n name\n value\n }\n }\n }\n sellingPlanAllocation {\n sellingPlan {\n id\n }\n }\n ... on CartLine {\n parentRelationship {\n parent {\n id\n }\n }\n }\n }\n }\n discountCodes {\n applicable\n code\n }\n }\n">; /** Mutation that adds merchandise lines to a cart. */
3304
3310
  readonly cartLinesAdd: StorefrontQueryString<{
3305
3311
  cartLinesAdd: {
3306
3312
  cart: {
@@ -3479,7 +3485,7 @@ declare const cartQueries: {
3479
3485
  }[] | null | undefined;
3480
3486
  }[];
3481
3487
  cartId: string;
3482
- }, "mutation CartLinesAdd($cartId: ID!, $lines: [CartLineInput!]!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartLinesAdd(cartId: $cartId, lines: $lines) {\n cart {\n ...HydrogenCartFragment\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }\n\n fragment HydrogenCartFragment on Cart {\n id\n updatedAt\n checkoutUrl\n totalQuantity\n note\n attributes {\n key\n value\n }\n cost {\n subtotalAmount {\n amount\n currencyCode\n }\n totalAmount {\n amount\n currencyCode\n }\n checkoutChargeAmount {\n amount\n currencyCode\n }\n }\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes {\n key\n value\n }\n cost {\n totalAmount {\n amount\n currencyCode\n }\n subtotalAmount {\n amount\n currencyCode\n }\n amountPerQuantity {\n amount\n currencyCode\n }\n compareAtAmountPerQuantity {\n amount\n currencyCode\n }\n }\n merchandise {\n ... on ProductVariant {\n id\n title\n sku\n image {\n id\n url\n altText\n width\n height\n }\n product {\n id\n title\n handle\n vendor\n productType\n }\n selectedOptions {\n name\n value\n }\n }\n }\n sellingPlanAllocation {\n sellingPlan {\n id\n }\n }\n ... on CartLine {\n parentRelationship {\n parent {\n id\n }\n }\n }\n }\n }\n discountCodes {\n applicable\n code\n }\n }\n">;
3488
+ }, "mutation CartLinesAdd($cartId: ID!, $lines: [CartLineInput!]!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartLinesAdd(cartId: $cartId, lines: $lines) {\n cart {\n ...HydrogenCartFragment\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }\n\n fragment HydrogenCartFragment on Cart {\n id\n updatedAt\n checkoutUrl\n totalQuantity\n note\n attributes {\n key\n value\n }\n cost {\n subtotalAmount {\n amount\n currencyCode\n }\n totalAmount {\n amount\n currencyCode\n }\n checkoutChargeAmount {\n amount\n currencyCode\n }\n }\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes {\n key\n value\n }\n cost {\n totalAmount {\n amount\n currencyCode\n }\n subtotalAmount {\n amount\n currencyCode\n }\n amountPerQuantity {\n amount\n currencyCode\n }\n compareAtAmountPerQuantity {\n amount\n currencyCode\n }\n }\n merchandise {\n ... on ProductVariant {\n id\n title\n sku\n image {\n id\n url\n altText\n width\n height\n }\n product {\n id\n title\n handle\n vendor\n productType\n }\n selectedOptions {\n name\n value\n }\n }\n }\n sellingPlanAllocation {\n sellingPlan {\n id\n }\n }\n ... on CartLine {\n parentRelationship {\n parent {\n id\n }\n }\n }\n }\n }\n discountCodes {\n applicable\n code\n }\n }\n">; /** Mutation that updates existing lines in a cart. */
3483
3489
  readonly cartLinesUpdate: StorefrontQueryString<{
3484
3490
  cartLinesUpdate: {
3485
3491
  cart: {
@@ -3655,7 +3661,7 @@ declare const cartQueries: {
3655
3661
  id?: string | null | undefined;
3656
3662
  }[];
3657
3663
  cartId: string;
3658
- }, "mutation CartLinesUpdate($cartId: ID!, $lines: [CartLineUpdateInput!]!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartLinesUpdate(cartId: $cartId, lines: $lines) {\n cart {\n ...HydrogenCartFragment\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }\n\n fragment HydrogenCartFragment on Cart {\n id\n updatedAt\n checkoutUrl\n totalQuantity\n note\n attributes {\n key\n value\n }\n cost {\n subtotalAmount {\n amount\n currencyCode\n }\n totalAmount {\n amount\n currencyCode\n }\n checkoutChargeAmount {\n amount\n currencyCode\n }\n }\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes {\n key\n value\n }\n cost {\n totalAmount {\n amount\n currencyCode\n }\n subtotalAmount {\n amount\n currencyCode\n }\n amountPerQuantity {\n amount\n currencyCode\n }\n compareAtAmountPerQuantity {\n amount\n currencyCode\n }\n }\n merchandise {\n ... on ProductVariant {\n id\n title\n sku\n image {\n id\n url\n altText\n width\n height\n }\n product {\n id\n title\n handle\n vendor\n productType\n }\n selectedOptions {\n name\n value\n }\n }\n }\n sellingPlanAllocation {\n sellingPlan {\n id\n }\n }\n ... on CartLine {\n parentRelationship {\n parent {\n id\n }\n }\n }\n }\n }\n discountCodes {\n applicable\n code\n }\n }\n">;
3664
+ }, "mutation CartLinesUpdate($cartId: ID!, $lines: [CartLineUpdateInput!]!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartLinesUpdate(cartId: $cartId, lines: $lines) {\n cart {\n ...HydrogenCartFragment\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }\n\n fragment HydrogenCartFragment on Cart {\n id\n updatedAt\n checkoutUrl\n totalQuantity\n note\n attributes {\n key\n value\n }\n cost {\n subtotalAmount {\n amount\n currencyCode\n }\n totalAmount {\n amount\n currencyCode\n }\n checkoutChargeAmount {\n amount\n currencyCode\n }\n }\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes {\n key\n value\n }\n cost {\n totalAmount {\n amount\n currencyCode\n }\n subtotalAmount {\n amount\n currencyCode\n }\n amountPerQuantity {\n amount\n currencyCode\n }\n compareAtAmountPerQuantity {\n amount\n currencyCode\n }\n }\n merchandise {\n ... on ProductVariant {\n id\n title\n sku\n image {\n id\n url\n altText\n width\n height\n }\n product {\n id\n title\n handle\n vendor\n productType\n }\n selectedOptions {\n name\n value\n }\n }\n }\n sellingPlanAllocation {\n sellingPlan {\n id\n }\n }\n ... on CartLine {\n parentRelationship {\n parent {\n id\n }\n }\n }\n }\n }\n discountCodes {\n applicable\n code\n }\n }\n">; /** Mutation that removes lines from a cart by line ID. */
3659
3665
  readonly cartLinesRemove: StorefrontQueryString<{
3660
3666
  cartLinesRemove: {
3661
3667
  cart: {
@@ -3821,7 +3827,7 @@ declare const cartQueries: {
3821
3827
  country?: "ID" | "AF" | "AX" | "AL" | "DZ" | "AD" | "AO" | "AI" | "AG" | "AR" | "AM" | "AW" | "AC" | "AU" | "AT" | "AZ" | "BS" | "BH" | "BD" | "BB" | "BY" | "BE" | "BZ" | "BJ" | "BM" | "BT" | "BO" | "BA" | "BW" | "BV" | "BR" | "IO" | "BN" | "BG" | "BF" | "BI" | "KH" | "CA" | "CV" | "BQ" | "KY" | "CF" | "TD" | "CL" | "CN" | "CX" | "CC" | "CO" | "KM" | "CG" | "CD" | "CK" | "CR" | "HR" | "CU" | "CW" | "CY" | "CZ" | "CI" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "SV" | "GQ" | "ER" | "EE" | "SZ" | "ET" | "FK" | "FO" | "FJ" | "FI" | "FR" | "GF" | "PF" | "TF" | "GA" | "GM" | "GE" | "DE" | "GH" | "GI" | "GR" | "GL" | "GD" | "GP" | "GT" | "GG" | "GN" | "GW" | "GY" | "HT" | "HM" | "VA" | "HN" | "HK" | "HU" | "IS" | "IN" | "IR" | "IQ" | "IE" | "IM" | "IL" | "IT" | "JM" | "JP" | "JE" | "JO" | "KZ" | "KE" | "KI" | "KP" | "XK" | "KW" | "KG" | "LA" | "LV" | "LB" | "LS" | "LR" | "LY" | "LI" | "LT" | "LU" | "MO" | "MG" | "MW" | "MY" | "MV" | "ML" | "MT" | "MQ" | "MR" | "MU" | "YT" | "MX" | "MD" | "MC" | "MN" | "ME" | "MS" | "MA" | "MZ" | "MM" | "NA" | "NR" | "NP" | "NL" | "AN" | "NC" | "NZ" | "NI" | "NE" | "NG" | "NU" | "NF" | "MK" | "NO" | "OM" | "PK" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PN" | "PL" | "PT" | "QA" | "CM" | "RE" | "RO" | "RU" | "RW" | "BL" | "SH" | "KN" | "LC" | "MF" | "PM" | "WS" | "SM" | "ST" | "SA" | "SN" | "RS" | "SC" | "SL" | "SG" | "SX" | "SK" | "SI" | "SB" | "SO" | "ZA" | "GS" | "KR" | "SS" | "ES" | "LK" | "VC" | "SD" | "SR" | "SJ" | "SE" | "CH" | "SY" | "TW" | "TJ" | "TZ" | "TH" | "TL" | "TG" | "TK" | "TO" | "TT" | "TA" | "TN" | "TR" | "TM" | "TC" | "TV" | "UG" | "UA" | "AE" | "GB" | "US" | "UM" | "UY" | "UZ" | "VU" | "VE" | "VN" | "VG" | "WF" | "EH" | "YE" | "ZM" | "ZW" | "ZZ" | null | undefined;
3822
3828
  lineIds: string[];
3823
3829
  cartId: string;
3824
- }, "mutation CartLinesRemove($cartId: ID!, $lineIds: [ID!]!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartLinesRemove(cartId: $cartId, lineIds: $lineIds) {\n cart {\n ...HydrogenCartFragment\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }\n\n fragment HydrogenCartFragment on Cart {\n id\n updatedAt\n checkoutUrl\n totalQuantity\n note\n attributes {\n key\n value\n }\n cost {\n subtotalAmount {\n amount\n currencyCode\n }\n totalAmount {\n amount\n currencyCode\n }\n checkoutChargeAmount {\n amount\n currencyCode\n }\n }\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes {\n key\n value\n }\n cost {\n totalAmount {\n amount\n currencyCode\n }\n subtotalAmount {\n amount\n currencyCode\n }\n amountPerQuantity {\n amount\n currencyCode\n }\n compareAtAmountPerQuantity {\n amount\n currencyCode\n }\n }\n merchandise {\n ... on ProductVariant {\n id\n title\n sku\n image {\n id\n url\n altText\n width\n height\n }\n product {\n id\n title\n handle\n vendor\n productType\n }\n selectedOptions {\n name\n value\n }\n }\n }\n sellingPlanAllocation {\n sellingPlan {\n id\n }\n }\n ... on CartLine {\n parentRelationship {\n parent {\n id\n }\n }\n }\n }\n }\n discountCodes {\n applicable\n code\n }\n }\n">;
3830
+ }, "mutation CartLinesRemove($cartId: ID!, $lineIds: [ID!]!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartLinesRemove(cartId: $cartId, lineIds: $lineIds) {\n cart {\n ...HydrogenCartFragment\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }\n\n fragment HydrogenCartFragment on Cart {\n id\n updatedAt\n checkoutUrl\n totalQuantity\n note\n attributes {\n key\n value\n }\n cost {\n subtotalAmount {\n amount\n currencyCode\n }\n totalAmount {\n amount\n currencyCode\n }\n checkoutChargeAmount {\n amount\n currencyCode\n }\n }\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes {\n key\n value\n }\n cost {\n totalAmount {\n amount\n currencyCode\n }\n subtotalAmount {\n amount\n currencyCode\n }\n amountPerQuantity {\n amount\n currencyCode\n }\n compareAtAmountPerQuantity {\n amount\n currencyCode\n }\n }\n merchandise {\n ... on ProductVariant {\n id\n title\n sku\n image {\n id\n url\n altText\n width\n height\n }\n product {\n id\n title\n handle\n vendor\n productType\n }\n selectedOptions {\n name\n value\n }\n }\n }\n sellingPlanAllocation {\n sellingPlan {\n id\n }\n }\n ... on CartLine {\n parentRelationship {\n parent {\n id\n }\n }\n }\n }\n }\n discountCodes {\n applicable\n code\n }\n }\n">; /** Mutation that replaces a cart's discount codes. */
3825
3831
  readonly cartDiscountCodesUpdate: StorefrontQueryString<{
3826
3832
  cartDiscountCodesUpdate: {
3827
3833
  cart: {
@@ -3987,7 +3993,7 @@ declare const cartQueries: {
3987
3993
  country?: "ID" | "AF" | "AX" | "AL" | "DZ" | "AD" | "AO" | "AI" | "AG" | "AR" | "AM" | "AW" | "AC" | "AU" | "AT" | "AZ" | "BS" | "BH" | "BD" | "BB" | "BY" | "BE" | "BZ" | "BJ" | "BM" | "BT" | "BO" | "BA" | "BW" | "BV" | "BR" | "IO" | "BN" | "BG" | "BF" | "BI" | "KH" | "CA" | "CV" | "BQ" | "KY" | "CF" | "TD" | "CL" | "CN" | "CX" | "CC" | "CO" | "KM" | "CG" | "CD" | "CK" | "CR" | "HR" | "CU" | "CW" | "CY" | "CZ" | "CI" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "SV" | "GQ" | "ER" | "EE" | "SZ" | "ET" | "FK" | "FO" | "FJ" | "FI" | "FR" | "GF" | "PF" | "TF" | "GA" | "GM" | "GE" | "DE" | "GH" | "GI" | "GR" | "GL" | "GD" | "GP" | "GT" | "GG" | "GN" | "GW" | "GY" | "HT" | "HM" | "VA" | "HN" | "HK" | "HU" | "IS" | "IN" | "IR" | "IQ" | "IE" | "IM" | "IL" | "IT" | "JM" | "JP" | "JE" | "JO" | "KZ" | "KE" | "KI" | "KP" | "XK" | "KW" | "KG" | "LA" | "LV" | "LB" | "LS" | "LR" | "LY" | "LI" | "LT" | "LU" | "MO" | "MG" | "MW" | "MY" | "MV" | "ML" | "MT" | "MQ" | "MR" | "MU" | "YT" | "MX" | "MD" | "MC" | "MN" | "ME" | "MS" | "MA" | "MZ" | "MM" | "NA" | "NR" | "NP" | "NL" | "AN" | "NC" | "NZ" | "NI" | "NE" | "NG" | "NU" | "NF" | "MK" | "NO" | "OM" | "PK" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PN" | "PL" | "PT" | "QA" | "CM" | "RE" | "RO" | "RU" | "RW" | "BL" | "SH" | "KN" | "LC" | "MF" | "PM" | "WS" | "SM" | "ST" | "SA" | "SN" | "RS" | "SC" | "SL" | "SG" | "SX" | "SK" | "SI" | "SB" | "SO" | "ZA" | "GS" | "KR" | "SS" | "ES" | "LK" | "VC" | "SD" | "SR" | "SJ" | "SE" | "CH" | "SY" | "TW" | "TJ" | "TZ" | "TH" | "TL" | "TG" | "TK" | "TO" | "TT" | "TA" | "TN" | "TR" | "TM" | "TC" | "TV" | "UG" | "UA" | "AE" | "GB" | "US" | "UM" | "UY" | "UZ" | "VU" | "VE" | "VN" | "VG" | "WF" | "EH" | "YE" | "ZM" | "ZW" | "ZZ" | null | undefined;
3988
3994
  discountCodes: string[];
3989
3995
  cartId: string;
3990
- }, "mutation CartDiscountCodesUpdate($cartId: ID!, $discountCodes: [String!]!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartDiscountCodesUpdate(cartId: $cartId, discountCodes: $discountCodes) {\n cart {\n ...HydrogenCartFragment\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }\n\n fragment HydrogenCartFragment on Cart {\n id\n updatedAt\n checkoutUrl\n totalQuantity\n note\n attributes {\n key\n value\n }\n cost {\n subtotalAmount {\n amount\n currencyCode\n }\n totalAmount {\n amount\n currencyCode\n }\n checkoutChargeAmount {\n amount\n currencyCode\n }\n }\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes {\n key\n value\n }\n cost {\n totalAmount {\n amount\n currencyCode\n }\n subtotalAmount {\n amount\n currencyCode\n }\n amountPerQuantity {\n amount\n currencyCode\n }\n compareAtAmountPerQuantity {\n amount\n currencyCode\n }\n }\n merchandise {\n ... on ProductVariant {\n id\n title\n sku\n image {\n id\n url\n altText\n width\n height\n }\n product {\n id\n title\n handle\n vendor\n productType\n }\n selectedOptions {\n name\n value\n }\n }\n }\n sellingPlanAllocation {\n sellingPlan {\n id\n }\n }\n ... on CartLine {\n parentRelationship {\n parent {\n id\n }\n }\n }\n }\n }\n discountCodes {\n applicable\n code\n }\n }\n">;
3996
+ }, "mutation CartDiscountCodesUpdate($cartId: ID!, $discountCodes: [String!]!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartDiscountCodesUpdate(cartId: $cartId, discountCodes: $discountCodes) {\n cart {\n ...HydrogenCartFragment\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }\n\n fragment HydrogenCartFragment on Cart {\n id\n updatedAt\n checkoutUrl\n totalQuantity\n note\n attributes {\n key\n value\n }\n cost {\n subtotalAmount {\n amount\n currencyCode\n }\n totalAmount {\n amount\n currencyCode\n }\n checkoutChargeAmount {\n amount\n currencyCode\n }\n }\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes {\n key\n value\n }\n cost {\n totalAmount {\n amount\n currencyCode\n }\n subtotalAmount {\n amount\n currencyCode\n }\n amountPerQuantity {\n amount\n currencyCode\n }\n compareAtAmountPerQuantity {\n amount\n currencyCode\n }\n }\n merchandise {\n ... on ProductVariant {\n id\n title\n sku\n image {\n id\n url\n altText\n width\n height\n }\n product {\n id\n title\n handle\n vendor\n productType\n }\n selectedOptions {\n name\n value\n }\n }\n }\n sellingPlanAllocation {\n sellingPlan {\n id\n }\n }\n ... on CartLine {\n parentRelationship {\n parent {\n id\n }\n }\n }\n }\n }\n discountCodes {\n applicable\n code\n }\n }\n">; /** Mutation that sets a cart's note. */
3991
3997
  readonly cartNoteUpdate: StorefrontQueryString<{
3992
3998
  cartNoteUpdate: {
3993
3999
  cart: {
@@ -4153,7 +4159,7 @@ declare const cartQueries: {
4153
4159
  country?: "ID" | "AF" | "AX" | "AL" | "DZ" | "AD" | "AO" | "AI" | "AG" | "AR" | "AM" | "AW" | "AC" | "AU" | "AT" | "AZ" | "BS" | "BH" | "BD" | "BB" | "BY" | "BE" | "BZ" | "BJ" | "BM" | "BT" | "BO" | "BA" | "BW" | "BV" | "BR" | "IO" | "BN" | "BG" | "BF" | "BI" | "KH" | "CA" | "CV" | "BQ" | "KY" | "CF" | "TD" | "CL" | "CN" | "CX" | "CC" | "CO" | "KM" | "CG" | "CD" | "CK" | "CR" | "HR" | "CU" | "CW" | "CY" | "CZ" | "CI" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "SV" | "GQ" | "ER" | "EE" | "SZ" | "ET" | "FK" | "FO" | "FJ" | "FI" | "FR" | "GF" | "PF" | "TF" | "GA" | "GM" | "GE" | "DE" | "GH" | "GI" | "GR" | "GL" | "GD" | "GP" | "GT" | "GG" | "GN" | "GW" | "GY" | "HT" | "HM" | "VA" | "HN" | "HK" | "HU" | "IS" | "IN" | "IR" | "IQ" | "IE" | "IM" | "IL" | "IT" | "JM" | "JP" | "JE" | "JO" | "KZ" | "KE" | "KI" | "KP" | "XK" | "KW" | "KG" | "LA" | "LV" | "LB" | "LS" | "LR" | "LY" | "LI" | "LT" | "LU" | "MO" | "MG" | "MW" | "MY" | "MV" | "ML" | "MT" | "MQ" | "MR" | "MU" | "YT" | "MX" | "MD" | "MC" | "MN" | "ME" | "MS" | "MA" | "MZ" | "MM" | "NA" | "NR" | "NP" | "NL" | "AN" | "NC" | "NZ" | "NI" | "NE" | "NG" | "NU" | "NF" | "MK" | "NO" | "OM" | "PK" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PN" | "PL" | "PT" | "QA" | "CM" | "RE" | "RO" | "RU" | "RW" | "BL" | "SH" | "KN" | "LC" | "MF" | "PM" | "WS" | "SM" | "ST" | "SA" | "SN" | "RS" | "SC" | "SL" | "SG" | "SX" | "SK" | "SI" | "SB" | "SO" | "ZA" | "GS" | "KR" | "SS" | "ES" | "LK" | "VC" | "SD" | "SR" | "SJ" | "SE" | "CH" | "SY" | "TW" | "TJ" | "TZ" | "TH" | "TL" | "TG" | "TK" | "TO" | "TT" | "TA" | "TN" | "TR" | "TM" | "TC" | "TV" | "UG" | "UA" | "AE" | "GB" | "US" | "UM" | "UY" | "UZ" | "VU" | "VE" | "VN" | "VG" | "WF" | "EH" | "YE" | "ZM" | "ZW" | "ZZ" | null | undefined;
4154
4160
  note: string;
4155
4161
  cartId: string;
4156
- }, "mutation CartNoteUpdate($cartId: ID!, $note: String!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartNoteUpdate(cartId: $cartId, note: $note) {\n cart {\n ...HydrogenCartFragment\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }\n\n fragment HydrogenCartFragment on Cart {\n id\n updatedAt\n checkoutUrl\n totalQuantity\n note\n attributes {\n key\n value\n }\n cost {\n subtotalAmount {\n amount\n currencyCode\n }\n totalAmount {\n amount\n currencyCode\n }\n checkoutChargeAmount {\n amount\n currencyCode\n }\n }\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes {\n key\n value\n }\n cost {\n totalAmount {\n amount\n currencyCode\n }\n subtotalAmount {\n amount\n currencyCode\n }\n amountPerQuantity {\n amount\n currencyCode\n }\n compareAtAmountPerQuantity {\n amount\n currencyCode\n }\n }\n merchandise {\n ... on ProductVariant {\n id\n title\n sku\n image {\n id\n url\n altText\n width\n height\n }\n product {\n id\n title\n handle\n vendor\n productType\n }\n selectedOptions {\n name\n value\n }\n }\n }\n sellingPlanAllocation {\n sellingPlan {\n id\n }\n }\n ... on CartLine {\n parentRelationship {\n parent {\n id\n }\n }\n }\n }\n }\n discountCodes {\n applicable\n code\n }\n }\n">;
4162
+ }, "mutation CartNoteUpdate($cartId: ID!, $note: String!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartNoteUpdate(cartId: $cartId, note: $note) {\n cart {\n ...HydrogenCartFragment\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }\n\n fragment HydrogenCartFragment on Cart {\n id\n updatedAt\n checkoutUrl\n totalQuantity\n note\n attributes {\n key\n value\n }\n cost {\n subtotalAmount {\n amount\n currencyCode\n }\n totalAmount {\n amount\n currencyCode\n }\n checkoutChargeAmount {\n amount\n currencyCode\n }\n }\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes {\n key\n value\n }\n cost {\n totalAmount {\n amount\n currencyCode\n }\n subtotalAmount {\n amount\n currencyCode\n }\n amountPerQuantity {\n amount\n currencyCode\n }\n compareAtAmountPerQuantity {\n amount\n currencyCode\n }\n }\n merchandise {\n ... on ProductVariant {\n id\n title\n sku\n image {\n id\n url\n altText\n width\n height\n }\n product {\n id\n title\n handle\n vendor\n productType\n }\n selectedOptions {\n name\n value\n }\n }\n }\n sellingPlanAllocation {\n sellingPlan {\n id\n }\n }\n ... on CartLine {\n parentRelationship {\n parent {\n id\n }\n }\n }\n }\n }\n discountCodes {\n applicable\n code\n }\n }\n">; /** Mutation that sets a cart's custom attributes. */
4157
4163
  readonly cartAttributesUpdate: StorefrontQueryString<{
4158
4164
  cartAttributesUpdate: {
4159
4165
  cart: {
@@ -26,13 +26,21 @@ const CUSTOM_CART_NOTE_UPDATE_MUTATION = gql(`mutation CartNoteUpdate($cartId:ID
26
26
  const CUSTOM_CART_ATTRIBUTES_UPDATE_MUTATION = gql(`mutation CartAttributesUpdate($cartId:ID!$attributes:[AttributeInput!]!$country:CountryCode$language:LanguageCode)@inContext(country:$country language:$language){cartAttributesUpdate(cartId:$cartId attributes:$attributes){cart{...HydrogenCartFragment ...${CART_FRAGMENT_NAME}}userErrors{code field message}warnings{code message target}}}`, [HYDROGEN_CART_FRAGMENT]);
27
27
  const CART_BUYER_IDENTITY_UPDATE_MUTATION_SOURCE = `mutation CartBuyerIdentityUpdate($cartId:ID!$buyerIdentity:CartBuyerIdentityInput!){cartBuyerIdentityUpdate(cartId:$cartId buyerIdentity:$buyerIdentity){cart{id}userErrors{code field message}}}`;
28
28
  const DEFAULT_CART_QUERIES = {
29
+ /** Query that fetches a cart by ID. */
29
30
  cart: CART_QUERY,
31
+ /** Mutation that creates a cart from a cart input. */
30
32
  cartCreate: CART_CREATE_MUTATION,
33
+ /** Mutation that adds merchandise lines to a cart. */
31
34
  cartLinesAdd: CART_LINES_ADD_MUTATION,
35
+ /** Mutation that updates existing lines in a cart. */
32
36
  cartLinesUpdate: CART_LINES_UPDATE_MUTATION,
37
+ /** Mutation that removes lines from a cart by line ID. */
33
38
  cartLinesRemove: CART_LINES_REMOVE_MUTATION,
39
+ /** Mutation that replaces a cart's discount codes. */
34
40
  cartDiscountCodesUpdate: CART_DISCOUNT_CODES_UPDATE_MUTATION,
41
+ /** Mutation that sets a cart's note. */
35
42
  cartNoteUpdate: CART_NOTE_UPDATE_MUTATION,
43
+ /** Mutation that sets a cart's custom attributes. */
36
44
  cartAttributesUpdate: CART_ATTRIBUTES_UPDATE_MUTATION
37
45
  };
38
46
  const cartBuyerIdentityUpdateMutation = gql(CART_BUYER_IDENTITY_UPDATE_MUTATION_SOURCE);
@@ -63,7 +71,13 @@ function makeCartQueries(options) {
63
71
  }
64
72
  return DEFAULT_CART_QUERIES;
65
73
  }
66
- /** Default cart GraphQL queries and mutations. */
74
+ /**
75
+ * The default cart query and mutations that createCartServerHandlers runs.
76
+ *
77
+ * Each document returns the cart in the request's country and language through the `@inContext` directive. The Storefront API client fills both values from the request context's locale. The default cart fragment leaves out the variant's available quantity, which needs the `unauthenticated_read_product_inventory` Storefront API scope. Select the field in a custom cart fragment to cap quantities at available stock.
78
+ *
79
+ * @publicDocs
80
+ */
67
81
  const cartQueries = makeCartQueries();
68
82
 
69
83
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"queries.mjs","names":[],"sources":["../../../src/core/cart/queries.ts"],"sourcesContent":["import {\n gql,\n type AnyStorefrontQueryString,\n type ComposedSource,\n type SourceOf,\n type StorefrontQueryString,\n} from \"../../graphql\";\nimport type { InferResult, InferVariables } from \"../../graphql\";\nimport type { CartData, CartLineConnection } from \"./state\";\n\nconst CART_FRAGMENT_NAME = \"CartFragment\";\nconst CART_FRAGMENT_TYPE = \"Cart\";\n\ntype FragmentContract = {\n readonly name: string;\n readonly typeName: string;\n};\n\nconst CART_FRAGMENT_CONTRACT = {\n name: CART_FRAGMENT_NAME,\n typeName: CART_FRAGMENT_TYPE,\n} as const satisfies FragmentContract;\n\nconst CART_FRAGMENT_PATTERN = createFragmentPattern(CART_FRAGMENT_CONTRACT);\n\nconst HYDROGEN_CART_FRAGMENT = gql(`\n fragment HydrogenCartFragment on Cart {\n id\n updatedAt\n checkoutUrl\n totalQuantity\n note\n attributes {\n key\n value\n }\n cost {\n subtotalAmount {\n amount\n currencyCode\n }\n totalAmount {\n amount\n currencyCode\n }\n checkoutChargeAmount {\n amount\n currencyCode\n }\n }\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes {\n key\n value\n }\n cost {\n totalAmount {\n amount\n currencyCode\n }\n subtotalAmount {\n amount\n currencyCode\n }\n amountPerQuantity {\n amount\n currencyCode\n }\n compareAtAmountPerQuantity {\n amount\n currencyCode\n }\n }\n merchandise {\n ... on ProductVariant {\n id\n title\n sku\n image {\n id\n url\n altText\n width\n height\n }\n product {\n id\n title\n handle\n vendor\n productType\n }\n selectedOptions {\n name\n value\n }\n }\n }\n sellingPlanAllocation {\n sellingPlan {\n id\n }\n }\n ... on CartLine {\n parentRelationship {\n parent {\n id\n }\n }\n }\n }\n }\n discountCodes {\n applicable\n code\n }\n }\n`);\n\nconst CART_QUERY = gql(\n `query Cart($id: ID!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cart(id: $id) {\n ...HydrogenCartFragment\n }\n }`,\n [HYDROGEN_CART_FRAGMENT],\n);\n\nconst CART_CREATE_MUTATION = gql(\n `mutation CartCreate($input: CartInput!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartCreate(input: $input) {\n cart {\n ...HydrogenCartFragment\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }`,\n [HYDROGEN_CART_FRAGMENT],\n);\n\nconst CART_LINES_ADD_MUTATION = gql(\n `mutation CartLinesAdd($cartId: ID!, $lines: [CartLineInput!]!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartLinesAdd(cartId: $cartId, lines: $lines) {\n cart {\n ...HydrogenCartFragment\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }`,\n [HYDROGEN_CART_FRAGMENT],\n);\n\nconst CART_LINES_UPDATE_MUTATION = gql(\n `mutation CartLinesUpdate($cartId: ID!, $lines: [CartLineUpdateInput!]!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartLinesUpdate(cartId: $cartId, lines: $lines) {\n cart {\n ...HydrogenCartFragment\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }`,\n [HYDROGEN_CART_FRAGMENT],\n);\n\nconst CART_LINES_REMOVE_MUTATION = gql(\n `mutation CartLinesRemove($cartId: ID!, $lineIds: [ID!]!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartLinesRemove(cartId: $cartId, lineIds: $lineIds) {\n cart {\n ...HydrogenCartFragment\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }`,\n [HYDROGEN_CART_FRAGMENT],\n);\n\nconst CART_DISCOUNT_CODES_UPDATE_MUTATION = gql(\n `mutation CartDiscountCodesUpdate($cartId: ID!, $discountCodes: [String!]!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartDiscountCodesUpdate(cartId: $cartId, discountCodes: $discountCodes) {\n cart {\n ...HydrogenCartFragment\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }`,\n [HYDROGEN_CART_FRAGMENT],\n);\n\nconst CART_NOTE_UPDATE_MUTATION = gql(\n `mutation CartNoteUpdate($cartId: ID!, $note: String!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartNoteUpdate(cartId: $cartId, note: $note) {\n cart {\n ...HydrogenCartFragment\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }`,\n [HYDROGEN_CART_FRAGMENT],\n);\n\nconst CART_ATTRIBUTES_UPDATE_MUTATION = gql(\n `mutation CartAttributesUpdate($cartId: ID!, $attributes: [AttributeInput!]!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartAttributesUpdate(cartId: $cartId, attributes: $attributes) {\n cart {\n ...HydrogenCartFragment\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }`,\n [HYDROGEN_CART_FRAGMENT],\n);\n\n// The custom variants spread the consumer's `CartFragment`, which only exists\n// at runtime. Its spread is interpolated on purpose: the gql.tada plugin skips\n// documents containing interpolations instead of flagging an unknown fragment,\n// while TypeScript still resolves the full literal source type. The consumer's\n// fragment is composed in at runtime by `createCartQueries`.\nconst CUSTOM_CART_QUERY = gql(\n `query Cart($id: ID!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cart(id: $id) {\n ...HydrogenCartFragment\n ...${CART_FRAGMENT_NAME}\n }\n }`,\n [HYDROGEN_CART_FRAGMENT],\n);\n\nconst CUSTOM_CART_CREATE_MUTATION = gql(\n `mutation CartCreate($input: CartInput!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartCreate(input: $input) {\n cart {\n ...HydrogenCartFragment\n ...${CART_FRAGMENT_NAME}\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }`,\n [HYDROGEN_CART_FRAGMENT],\n);\n\nconst CUSTOM_CART_LINES_ADD_MUTATION = gql(\n `mutation CartLinesAdd($cartId: ID!, $lines: [CartLineInput!]!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartLinesAdd(cartId: $cartId, lines: $lines) {\n cart {\n ...HydrogenCartFragment\n ...${CART_FRAGMENT_NAME}\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }`,\n [HYDROGEN_CART_FRAGMENT],\n);\n\nconst CUSTOM_CART_LINES_UPDATE_MUTATION = gql(\n `mutation CartLinesUpdate($cartId: ID!, $lines: [CartLineUpdateInput!]!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartLinesUpdate(cartId: $cartId, lines: $lines) {\n cart {\n ...HydrogenCartFragment\n ...${CART_FRAGMENT_NAME}\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }`,\n [HYDROGEN_CART_FRAGMENT],\n);\n\nconst CUSTOM_CART_LINES_REMOVE_MUTATION = gql(\n `mutation CartLinesRemove($cartId: ID!, $lineIds: [ID!]!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartLinesRemove(cartId: $cartId, lineIds: $lineIds) {\n cart {\n ...HydrogenCartFragment\n ...${CART_FRAGMENT_NAME}\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }`,\n [HYDROGEN_CART_FRAGMENT],\n);\n\nconst CUSTOM_CART_DISCOUNT_CODES_UPDATE_MUTATION = gql(\n `mutation CartDiscountCodesUpdate($cartId: ID!, $discountCodes: [String!]!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartDiscountCodesUpdate(cartId: $cartId, discountCodes: $discountCodes) {\n cart {\n ...HydrogenCartFragment\n ...${CART_FRAGMENT_NAME}\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }`,\n [HYDROGEN_CART_FRAGMENT],\n);\n\nconst CUSTOM_CART_NOTE_UPDATE_MUTATION = gql(\n `mutation CartNoteUpdate($cartId: ID!, $note: String!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartNoteUpdate(cartId: $cartId, note: $note) {\n cart {\n ...HydrogenCartFragment\n ...${CART_FRAGMENT_NAME}\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }`,\n [HYDROGEN_CART_FRAGMENT],\n);\n\nconst CUSTOM_CART_ATTRIBUTES_UPDATE_MUTATION = gql(\n `mutation CartAttributesUpdate($cartId: ID!, $attributes: [AttributeInput!]!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartAttributesUpdate(cartId: $cartId, attributes: $attributes) {\n cart {\n ...HydrogenCartFragment\n ...${CART_FRAGMENT_NAME}\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }`,\n [HYDROGEN_CART_FRAGMENT],\n);\n\n// Minimal payload on purpose: buyer identity sync callers only need success or\n// userErrors, never the cart body, so no custom-fragment variant exists.\nconst CART_BUYER_IDENTITY_UPDATE_MUTATION_SOURCE = /* GraphQL */ `\n mutation CartBuyerIdentityUpdate($cartId: ID!, $buyerIdentity: CartBuyerIdentityInput!) {\n cartBuyerIdentityUpdate(cartId: $cartId, buyerIdentity: $buyerIdentity) {\n cart {\n id\n }\n userErrors {\n code\n field\n message\n }\n }\n }\n`;\n\nconst DEFAULT_CART_QUERIES = {\n cart: CART_QUERY,\n cartCreate: CART_CREATE_MUTATION,\n cartLinesAdd: CART_LINES_ADD_MUTATION,\n cartLinesUpdate: CART_LINES_UPDATE_MUTATION,\n cartLinesRemove: CART_LINES_REMOVE_MUTATION,\n cartDiscountCodesUpdate: CART_DISCOUNT_CODES_UPDATE_MUTATION,\n cartNoteUpdate: CART_NOTE_UPDATE_MUTATION,\n cartAttributesUpdate: CART_ATTRIBUTES_UPDATE_MUTATION,\n} as const;\n\ntype DefaultCartQueries = typeof DEFAULT_CART_QUERIES;\n\nexport const cartBuyerIdentityUpdateMutation = gql(CART_BUYER_IDENTITY_UPDATE_MUTATION_SOURCE);\n\ntype QueryFor<\n Source extends string,\n Fragments extends readonly AnyStorefrontQueryString[],\n DocumentSource extends string = ComposedSource<Source, Fragments>,\n> = StorefrontQueryString<\n InferResult<DocumentSource>,\n InferVariables<DocumentSource>,\n DocumentSource\n>;\n\ntype CartFragmentDocument = AnyStorefrontQueryString;\n\ntype CustomQueryFor<\n Document extends AnyStorefrontQueryString,\n TCartFragment extends CartFragmentDocument,\n> = QueryFor<SourceOf<Document>, readonly [TCartFragment]>;\n\ntype CartQueriesForFragment<TCartFragment extends CartFragmentDocument> = {\n readonly cart: CustomQueryFor<typeof CUSTOM_CART_QUERY, TCartFragment>;\n readonly cartCreate: CustomQueryFor<typeof CUSTOM_CART_CREATE_MUTATION, TCartFragment>;\n readonly cartLinesAdd: CustomQueryFor<typeof CUSTOM_CART_LINES_ADD_MUTATION, TCartFragment>;\n readonly cartLinesUpdate: CustomQueryFor<typeof CUSTOM_CART_LINES_UPDATE_MUTATION, TCartFragment>;\n readonly cartLinesRemove: CustomQueryFor<typeof CUSTOM_CART_LINES_REMOVE_MUTATION, TCartFragment>;\n readonly cartDiscountCodesUpdate: CustomQueryFor<\n typeof CUSTOM_CART_DISCOUNT_CODES_UPDATE_MUTATION,\n TCartFragment\n >;\n readonly cartNoteUpdate: CustomQueryFor<typeof CUSTOM_CART_NOTE_UPDATE_MUTATION, TCartFragment>;\n readonly cartAttributesUpdate: CustomQueryFor<\n typeof CUSTOM_CART_ATTRIBUTES_UPDATE_MUTATION,\n TCartFragment\n >;\n};\n\ntype CartDataFromCartQuery<TQuery extends AnyStorefrontQueryString> =\n TQuery extends StorefrontQueryString<infer Result, infer _Variables, string>\n ? Result extends { cart?: (infer Cart) | null }\n ? MergeCartData<NormalizeCartData<NonNullable<Cart>>>\n : CartData\n : CartData;\n\ntype MergeCartData<TCart> = Omit<CartData, keyof TCart> & TCart;\n\ntype NormalizeCartData<TCart> = TCart extends { lines: infer TLines }\n ? Omit<TCart, \"lines\"> & { lines: NormalizeCartLines<TLines> }\n : TCart;\n\ntype NormalizeCartLines<TLines> = TLines extends { nodes: infer TNodes }\n ? Omit<TLines, \"nodes\"> & { nodes: Array<CartLineFromNodes<TNodes>> }\n : TLines;\n\ntype CartLineFromNodes<TNodes> = TNodes extends CartLineConnection[\"nodes\"]\n ? TNodes[number]\n : TNodes extends ReadonlyArray<infer TLine>\n ? TLine\n : never;\n\n/** Infers the {@link CartData} shape from `CreateCartServerHandlersOptions`. */\nexport type CartDataForOptions<TOptions> = CartDataFromCartQuery<\n CartQueriesForOptions<TOptions>[\"cart\"]\n>;\n\n/**\n * Options for {@link makeCartQueries} when providing a custom cart fragment.\n *\n * The fragment extends the default `HydrogenCartFragment` — your additional\n * fields are merged into every cart query and mutation response.\n */\nexport type CreateCartQueriesOptions<\n TCartFragment extends AnyStorefrontQueryString = AnyStorefrontQueryString,\n> = {\n /**\n * Cart fragment spread into every cart query and mutation response.\n *\n * The fragment must be named `CartFragment` and target `Cart`.\n */\n readonly fragment: TCartFragment;\n};\n\n/** Resolves the cart query set from handler options — custom queries when a fragment is provided, defaults otherwise. */\nexport type CartQueriesForOptions<TOptions> = TOptions extends {\n readonly fragment: infer TCartFragment extends AnyStorefrontQueryString;\n}\n ? CartQueriesForFragment<TCartFragment>\n : DefaultCartQueries;\n\nfunction assertCartFragmentName(fragment: string): void {\n if (CART_FRAGMENT_PATTERN.test(fragment)) return;\n\n throw new Error(\n `Cart fragment must be named ${CART_FRAGMENT_NAME} and target ${CART_FRAGMENT_CONTRACT.typeName}`,\n );\n}\n\nfunction createFragmentPattern({ name, typeName }: FragmentContract): RegExp {\n return new RegExp(`fragment\\\\s+${name}\\\\s+on\\\\s+${typeName}`);\n}\n\nfunction createCartQueries<const TCartFragment extends CartFragmentDocument>(\n cartFragment: TCartFragment,\n): CartQueriesForFragment<TCartFragment> {\n const fragments = [cartFragment] as const;\n\n const cart = gql(CUSTOM_CART_QUERY, fragments);\n\n const cartCreate = gql(CUSTOM_CART_CREATE_MUTATION, fragments);\n\n const cartLinesAdd = gql(CUSTOM_CART_LINES_ADD_MUTATION, fragments);\n\n const cartLinesUpdate = gql(CUSTOM_CART_LINES_UPDATE_MUTATION, fragments);\n\n const cartLinesRemove = gql(CUSTOM_CART_LINES_REMOVE_MUTATION, fragments);\n\n const cartDiscountCodesUpdate = gql(CUSTOM_CART_DISCOUNT_CODES_UPDATE_MUTATION, fragments);\n\n const cartNoteUpdate = gql(CUSTOM_CART_NOTE_UPDATE_MUTATION, fragments);\n\n const cartAttributesUpdate = gql(CUSTOM_CART_ATTRIBUTES_UPDATE_MUTATION, fragments);\n\n return {\n cart,\n cartCreate,\n cartLinesAdd,\n cartLinesUpdate,\n cartLinesRemove,\n cartDiscountCodesUpdate,\n cartNoteUpdate,\n cartAttributesUpdate,\n } as const;\n}\n\n/**\n * Builds a complete set of cart GraphQL query and mutation documents.\n *\n * Without options, returns the default Hydrogen cart queries. With a\n * {@link CreateCartQueriesOptions.fragment | custom fragment}, returns\n * queries that spread both `HydrogenCartFragment` and your fragment into\n * every response, so the result types include your additional fields.\n *\n * @example\n * ```ts\n * // Default queries\n * const queries = makeCartQueries();\n *\n * // With a custom fragment for metafields\n * const queries = makeCartQueries({\n * fragment: CART_FRAGMENT,\n * });\n * ```\n */\nexport function makeCartQueries<const TOptions extends CreateCartQueriesOptions>(\n options: TOptions,\n): CartQueriesForOptions<TOptions>;\nexport function makeCartQueries(): DefaultCartQueries;\nexport function makeCartQueries(options?: CreateCartQueriesOptions) {\n if (options) {\n assertCartFragmentName(options.fragment);\n return createCartQueries(options.fragment);\n }\n\n return DEFAULT_CART_QUERIES;\n}\n\n/** Default cart GraphQL queries and mutations. */\nexport const cartQueries = makeCartQueries();\n"],"mappings":";;;AAUA,MAAA,qBAAA;AAQA,MAAA,yBAAA;CACA,MAAA;CACA,UAAA;CACA;AAEA,MAAA,wBAAA,sBAAA,uBAAA;AAEA,MAAA,yBAAA,IAAA,+rBA+FA;AAEA,MAAA,aAAA,IACA,uJAMA,CAAA,uBAAA,CACA;AAEA,MAAA,uBAAA,IACA,uPAkBA,CAAA,uBAAA,CACA;AAEA,MAAA,0BAAA,IACA,4RAkBA,CAAA,uBAAA,CACA;AAEA,MAAA,6BAAA,IACA,wSAkBA,CAAA,uBAAA,CACA;AAEA,MAAA,6BAAA,IACA,6RAkBA,CAAA,uBAAA,CACA;AAEA,MAAA,sCAAA,IACA,mUAkBA,CAAA,uBAAA,CACA;AAEA,MAAA,4BAAA,IACA,mRAkBA,CAAA,uBAAA,CACA;AAEA,MAAA,kCAAA,IACA,4TAkBA,CAAA,uBAAA,CACA;AAOA,MAAA,oBAAA,IACA,wJAIS,mBAAqB,KAG9B,CAAA,uBAAA,CACA;AAEA,MAAA,8BAAA,IACA,4LAKW,mBAAqB,iEAchC,CAAA,uBAAA,CACA;AAEA,MAAA,iCAAA,IACA,iOAKW,mBAAqB,iEAchC,CAAA,uBAAA,CACA;AAEA,MAAA,oCAAA,IACA,6OAKW,mBAAqB,iEAchC,CAAA,uBAAA,CACA;AAEA,MAAA,oCAAA,IACA,kOAKW,mBAAqB,iEAchC,CAAA,uBAAA,CACA;AAEA,MAAA,6CAAA,IACA,wQAKW,mBAAqB,iEAchC,CAAA,uBAAA,CACA;AAEA,MAAA,mCAAA,IACA,wNAKW,mBAAqB,iEAchC,CAAA,uBAAA,CACA;AAEA,MAAA,yCAAA,IACA,iQAKW,mBAAqB,iEAchC,CAAA,uBAAA,CACA;AAIA,MAAA,6CAAA;AAeA,MAAA,uBAAA;CACA,MAAA;CACA,YAAA;CACA,cAAA;CACA,iBAAA;CACA,iBAAA;CACA,yBAAA;CACA,gBAAA;CACA,sBAAA;CACA;AAIA,MAAA,kCAAA,IAAA,2CAAA;AAwFA,SAAA,uBAAA,UAAA;AACA,KAAA,sBAAA,KAAA,SAAA,CAAA;AAEA,OAAA,IAAA,MACA,+BAAA,mBAAA,cAAA,uBAAA,WACA;;AAGA,SAAA,sBAAA,EAAA,MAAA,YAAA;AACA,QAAA,IAAA,OAAA,eAAA,KAAA,YAAA,WAAA;;AAGA,SAAA,kBACA,cACA;CACA,MAAA,YAAA,CAAA,aAAA;AAkBA,QAAA;EACA,MAjBA,IAAA,mBAAA,UAiBA;EACA,YAhBA,IAAA,6BAAA,UAgBA;EACA,cAfA,IAAA,gCAAA,UAeA;EACA,iBAdA,IAAA,mCAAA,UAcA;EACA,iBAbA,IAAA,mCAAA,UAaA;EACA,yBAZA,IAAA,4CAAA,UAYA;EACA,gBAXA,IAAA,kCAAA,UAWA;EACA,sBAVA,IAAA,wCAAA,UAUA;EACA;;AA0BA,SAAA,gBAAA,SAAA;AACA,KAAA,SAAA;AACA,yBAAA,QAAA,SAAA;AACA,SAAA,kBAAA,QAAA,SAAA;;AAGA,QAAA;;;AAIA,MAAA,cAAA,iBAAA"}
1
+ {"version":3,"file":"queries.mjs","names":[],"sources":["../../../src/core/cart/queries.ts"],"sourcesContent":["import {\n gql,\n type AnyStorefrontQueryString,\n type ComposedSource,\n type SourceOf,\n type StorefrontQueryString,\n} from \"../../graphql\";\nimport type { InferResult, InferVariables } from \"../../graphql\";\nimport type { CartData, CartLineConnection } from \"./state\";\n\nconst CART_FRAGMENT_NAME = \"CartFragment\";\nconst CART_FRAGMENT_TYPE = \"Cart\";\n\ntype FragmentContract = {\n readonly name: string;\n readonly typeName: string;\n};\n\nconst CART_FRAGMENT_CONTRACT = {\n name: CART_FRAGMENT_NAME,\n typeName: CART_FRAGMENT_TYPE,\n} as const satisfies FragmentContract;\n\nconst CART_FRAGMENT_PATTERN = createFragmentPattern(CART_FRAGMENT_CONTRACT);\n\nconst HYDROGEN_CART_FRAGMENT = gql(`\n fragment HydrogenCartFragment on Cart {\n id\n updatedAt\n checkoutUrl\n totalQuantity\n note\n attributes {\n key\n value\n }\n cost {\n subtotalAmount {\n amount\n currencyCode\n }\n totalAmount {\n amount\n currencyCode\n }\n checkoutChargeAmount {\n amount\n currencyCode\n }\n }\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes {\n key\n value\n }\n cost {\n totalAmount {\n amount\n currencyCode\n }\n subtotalAmount {\n amount\n currencyCode\n }\n amountPerQuantity {\n amount\n currencyCode\n }\n compareAtAmountPerQuantity {\n amount\n currencyCode\n }\n }\n merchandise {\n ... on ProductVariant {\n id\n title\n sku\n image {\n id\n url\n altText\n width\n height\n }\n product {\n id\n title\n handle\n vendor\n productType\n }\n selectedOptions {\n name\n value\n }\n }\n }\n sellingPlanAllocation {\n sellingPlan {\n id\n }\n }\n ... on CartLine {\n parentRelationship {\n parent {\n id\n }\n }\n }\n }\n }\n discountCodes {\n applicable\n code\n }\n }\n`);\n\nconst CART_QUERY = gql(\n `query Cart($id: ID!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cart(id: $id) {\n ...HydrogenCartFragment\n }\n }`,\n [HYDROGEN_CART_FRAGMENT],\n);\n\nconst CART_CREATE_MUTATION = gql(\n `mutation CartCreate($input: CartInput!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartCreate(input: $input) {\n cart {\n ...HydrogenCartFragment\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }`,\n [HYDROGEN_CART_FRAGMENT],\n);\n\nconst CART_LINES_ADD_MUTATION = gql(\n `mutation CartLinesAdd($cartId: ID!, $lines: [CartLineInput!]!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartLinesAdd(cartId: $cartId, lines: $lines) {\n cart {\n ...HydrogenCartFragment\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }`,\n [HYDROGEN_CART_FRAGMENT],\n);\n\nconst CART_LINES_UPDATE_MUTATION = gql(\n `mutation CartLinesUpdate($cartId: ID!, $lines: [CartLineUpdateInput!]!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartLinesUpdate(cartId: $cartId, lines: $lines) {\n cart {\n ...HydrogenCartFragment\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }`,\n [HYDROGEN_CART_FRAGMENT],\n);\n\nconst CART_LINES_REMOVE_MUTATION = gql(\n `mutation CartLinesRemove($cartId: ID!, $lineIds: [ID!]!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartLinesRemove(cartId: $cartId, lineIds: $lineIds) {\n cart {\n ...HydrogenCartFragment\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }`,\n [HYDROGEN_CART_FRAGMENT],\n);\n\nconst CART_DISCOUNT_CODES_UPDATE_MUTATION = gql(\n `mutation CartDiscountCodesUpdate($cartId: ID!, $discountCodes: [String!]!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartDiscountCodesUpdate(cartId: $cartId, discountCodes: $discountCodes) {\n cart {\n ...HydrogenCartFragment\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }`,\n [HYDROGEN_CART_FRAGMENT],\n);\n\nconst CART_NOTE_UPDATE_MUTATION = gql(\n `mutation CartNoteUpdate($cartId: ID!, $note: String!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartNoteUpdate(cartId: $cartId, note: $note) {\n cart {\n ...HydrogenCartFragment\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }`,\n [HYDROGEN_CART_FRAGMENT],\n);\n\nconst CART_ATTRIBUTES_UPDATE_MUTATION = gql(\n `mutation CartAttributesUpdate($cartId: ID!, $attributes: [AttributeInput!]!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartAttributesUpdate(cartId: $cartId, attributes: $attributes) {\n cart {\n ...HydrogenCartFragment\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }`,\n [HYDROGEN_CART_FRAGMENT],\n);\n\n// The custom variants spread the consumer's `CartFragment`, which only exists\n// at runtime. Its spread is interpolated on purpose: the gql.tada plugin skips\n// documents containing interpolations instead of flagging an unknown fragment,\n// while TypeScript still resolves the full literal source type. The consumer's\n// fragment is composed in at runtime by `createCartQueries`.\nconst CUSTOM_CART_QUERY = gql(\n `query Cart($id: ID!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cart(id: $id) {\n ...HydrogenCartFragment\n ...${CART_FRAGMENT_NAME}\n }\n }`,\n [HYDROGEN_CART_FRAGMENT],\n);\n\nconst CUSTOM_CART_CREATE_MUTATION = gql(\n `mutation CartCreate($input: CartInput!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartCreate(input: $input) {\n cart {\n ...HydrogenCartFragment\n ...${CART_FRAGMENT_NAME}\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }`,\n [HYDROGEN_CART_FRAGMENT],\n);\n\nconst CUSTOM_CART_LINES_ADD_MUTATION = gql(\n `mutation CartLinesAdd($cartId: ID!, $lines: [CartLineInput!]!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartLinesAdd(cartId: $cartId, lines: $lines) {\n cart {\n ...HydrogenCartFragment\n ...${CART_FRAGMENT_NAME}\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }`,\n [HYDROGEN_CART_FRAGMENT],\n);\n\nconst CUSTOM_CART_LINES_UPDATE_MUTATION = gql(\n `mutation CartLinesUpdate($cartId: ID!, $lines: [CartLineUpdateInput!]!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartLinesUpdate(cartId: $cartId, lines: $lines) {\n cart {\n ...HydrogenCartFragment\n ...${CART_FRAGMENT_NAME}\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }`,\n [HYDROGEN_CART_FRAGMENT],\n);\n\nconst CUSTOM_CART_LINES_REMOVE_MUTATION = gql(\n `mutation CartLinesRemove($cartId: ID!, $lineIds: [ID!]!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartLinesRemove(cartId: $cartId, lineIds: $lineIds) {\n cart {\n ...HydrogenCartFragment\n ...${CART_FRAGMENT_NAME}\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }`,\n [HYDROGEN_CART_FRAGMENT],\n);\n\nconst CUSTOM_CART_DISCOUNT_CODES_UPDATE_MUTATION = gql(\n `mutation CartDiscountCodesUpdate($cartId: ID!, $discountCodes: [String!]!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartDiscountCodesUpdate(cartId: $cartId, discountCodes: $discountCodes) {\n cart {\n ...HydrogenCartFragment\n ...${CART_FRAGMENT_NAME}\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }`,\n [HYDROGEN_CART_FRAGMENT],\n);\n\nconst CUSTOM_CART_NOTE_UPDATE_MUTATION = gql(\n `mutation CartNoteUpdate($cartId: ID!, $note: String!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartNoteUpdate(cartId: $cartId, note: $note) {\n cart {\n ...HydrogenCartFragment\n ...${CART_FRAGMENT_NAME}\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }`,\n [HYDROGEN_CART_FRAGMENT],\n);\n\nconst CUSTOM_CART_ATTRIBUTES_UPDATE_MUTATION = gql(\n `mutation CartAttributesUpdate($cartId: ID!, $attributes: [AttributeInput!]!, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartAttributesUpdate(cartId: $cartId, attributes: $attributes) {\n cart {\n ...HydrogenCartFragment\n ...${CART_FRAGMENT_NAME}\n }\n userErrors {\n code\n field\n message\n }\n warnings {\n code\n message\n target\n }\n }\n }`,\n [HYDROGEN_CART_FRAGMENT],\n);\n\n// Minimal payload on purpose: buyer identity sync callers only need success or\n// userErrors, never the cart body, so no custom-fragment variant exists.\nconst CART_BUYER_IDENTITY_UPDATE_MUTATION_SOURCE = /* GraphQL */ `\n mutation CartBuyerIdentityUpdate($cartId: ID!, $buyerIdentity: CartBuyerIdentityInput!) {\n cartBuyerIdentityUpdate(cartId: $cartId, buyerIdentity: $buyerIdentity) {\n cart {\n id\n }\n userErrors {\n code\n field\n message\n }\n }\n }\n`;\n\nconst DEFAULT_CART_QUERIES = {\n /** Query that fetches a cart by ID. */\n cart: CART_QUERY,\n /** Mutation that creates a cart from a cart input. */\n cartCreate: CART_CREATE_MUTATION,\n /** Mutation that adds merchandise lines to a cart. */\n cartLinesAdd: CART_LINES_ADD_MUTATION,\n /** Mutation that updates existing lines in a cart. */\n cartLinesUpdate: CART_LINES_UPDATE_MUTATION,\n /** Mutation that removes lines from a cart by line ID. */\n cartLinesRemove: CART_LINES_REMOVE_MUTATION,\n /** Mutation that replaces a cart's discount codes. */\n cartDiscountCodesUpdate: CART_DISCOUNT_CODES_UPDATE_MUTATION,\n /** Mutation that sets a cart's note. */\n cartNoteUpdate: CART_NOTE_UPDATE_MUTATION,\n /** Mutation that sets a cart's custom attributes. */\n cartAttributesUpdate: CART_ATTRIBUTES_UPDATE_MUTATION,\n} as const satisfies CartQueriesForDocs;\n\ntype DefaultCartQueries = typeof DEFAULT_CART_QUERIES;\n\nexport const cartBuyerIdentityUpdateMutation = gql(CART_BUYER_IDENTITY_UPDATE_MUTATION_SOURCE);\n\ntype QueryFor<\n Source extends string,\n Fragments extends readonly AnyStorefrontQueryString[],\n DocumentSource extends string = ComposedSource<Source, Fragments>,\n> = StorefrontQueryString<\n InferResult<DocumentSource>,\n InferVariables<DocumentSource>,\n DocumentSource\n>;\n\ntype CartFragmentDocument = AnyStorefrontQueryString;\n\ntype CustomQueryFor<\n Document extends AnyStorefrontQueryString,\n TCartFragment extends CartFragmentDocument,\n> = QueryFor<SourceOf<Document>, readonly [TCartFragment]>;\n\ntype CartQueriesForFragment<TCartFragment extends CartFragmentDocument> = {\n readonly cart: CustomQueryFor<typeof CUSTOM_CART_QUERY, TCartFragment>;\n readonly cartCreate: CustomQueryFor<typeof CUSTOM_CART_CREATE_MUTATION, TCartFragment>;\n readonly cartLinesAdd: CustomQueryFor<typeof CUSTOM_CART_LINES_ADD_MUTATION, TCartFragment>;\n readonly cartLinesUpdate: CustomQueryFor<typeof CUSTOM_CART_LINES_UPDATE_MUTATION, TCartFragment>;\n readonly cartLinesRemove: CustomQueryFor<typeof CUSTOM_CART_LINES_REMOVE_MUTATION, TCartFragment>;\n readonly cartDiscountCodesUpdate: CustomQueryFor<\n typeof CUSTOM_CART_DISCOUNT_CODES_UPDATE_MUTATION,\n TCartFragment\n >;\n readonly cartNoteUpdate: CustomQueryFor<typeof CUSTOM_CART_NOTE_UPDATE_MUTATION, TCartFragment>;\n readonly cartAttributesUpdate: CustomQueryFor<\n typeof CUSTOM_CART_ATTRIBUTES_UPDATE_MUTATION,\n TCartFragment\n >;\n};\n\ntype CartDataFromCartQuery<TQuery extends AnyStorefrontQueryString> =\n TQuery extends StorefrontQueryString<infer Result, infer _Variables, string>\n ? Result extends { cart?: (infer Cart) | null }\n ? MergeCartData<NormalizeCartData<NonNullable<Cart>>>\n : CartData\n : CartData;\n\ntype MergeCartData<TCart> = Omit<CartData, keyof TCart> & TCart;\n\ntype NormalizeCartData<TCart> = TCart extends { lines: infer TLines }\n ? Omit<TCart, \"lines\"> & { lines: NormalizeCartLines<TLines> }\n : TCart;\n\ntype NormalizeCartLines<TLines> = TLines extends { nodes: infer TNodes }\n ? Omit<TLines, \"nodes\"> & { nodes: Array<CartLineFromNodes<TNodes>> }\n : TLines;\n\ntype CartLineFromNodes<TNodes> = TNodes extends CartLineConnection[\"nodes\"]\n ? TNodes[number]\n : TNodes extends ReadonlyArray<infer TLine>\n ? TLine\n : never;\n\n/** Infers the cart data shape from cart server handler options. */\nexport type CartDataForOptions<TOptions> = CartDataFromCartQuery<\n CartQueriesForOptions<TOptions>[\"cart\"]\n>;\n\n/**\n * Options for building cart queries with a custom cart fragment.\n *\n * The fragment extends the default Hydrogen cart fragment. Every cart query and\n * mutation response includes your additional fields.\n */\nexport type CreateCartQueriesOptions<\n TCartFragment extends AnyStorefrontQueryString = AnyStorefrontQueryString,\n> = {\n /**\n * Cart fragment spread into every cart query and mutation response.\n *\n * Name the fragment `CartFragment` and target the `Cart` type.\n */\n readonly fragment: TCartFragment;\n};\n\n/** Resolves the cart queries for handler options. A fragment produces custom queries, and no fragment produces the default queries. */\nexport type CartQueriesForOptions<TOptions> = TOptions extends {\n readonly fragment: infer TCartFragment extends AnyStorefrontQueryString;\n}\n ? CartQueriesForFragment<TCartFragment>\n : DefaultCartQueries;\n\nfunction assertCartFragmentName(fragment: string): void {\n if (CART_FRAGMENT_PATTERN.test(fragment)) return;\n\n throw new Error(\n `Cart fragment must be named ${CART_FRAGMENT_NAME} and target ${CART_FRAGMENT_CONTRACT.typeName}`,\n );\n}\n\nfunction createFragmentPattern({ name, typeName }: FragmentContract): RegExp {\n return new RegExp(`fragment\\\\s+${name}\\\\s+on\\\\s+${typeName}`);\n}\n\nfunction createCartQueries<const TCartFragment extends CartFragmentDocument>(\n cartFragment: TCartFragment,\n): CartQueriesForFragment<TCartFragment> {\n const fragments = [cartFragment] as const;\n\n const cart = gql(CUSTOM_CART_QUERY, fragments);\n\n const cartCreate = gql(CUSTOM_CART_CREATE_MUTATION, fragments);\n\n const cartLinesAdd = gql(CUSTOM_CART_LINES_ADD_MUTATION, fragments);\n\n const cartLinesUpdate = gql(CUSTOM_CART_LINES_UPDATE_MUTATION, fragments);\n\n const cartLinesRemove = gql(CUSTOM_CART_LINES_REMOVE_MUTATION, fragments);\n\n const cartDiscountCodesUpdate = gql(CUSTOM_CART_DISCOUNT_CODES_UPDATE_MUTATION, fragments);\n\n const cartNoteUpdate = gql(CUSTOM_CART_NOTE_UPDATE_MUTATION, fragments);\n\n const cartAttributesUpdate = gql(CUSTOM_CART_ATTRIBUTES_UPDATE_MUTATION, fragments);\n\n return {\n cart,\n cartCreate,\n cartLinesAdd,\n cartLinesUpdate,\n cartLinesRemove,\n cartDiscountCodesUpdate,\n cartNoteUpdate,\n cartAttributesUpdate,\n } as const;\n}\n\n/**\n * Builds a complete set of cart GraphQL query and mutation documents.\n *\n * Without options, returns the default Hydrogen cart queries. With a custom\n * fragment, returns queries that spread the default Hydrogen cart fragment and\n * your fragment into every response. The result types include your additional fields.\n *\n * @example\n * ```ts\n * // Default queries\n * const queries = makeCartQueries();\n *\n * // With a custom fragment for metafields\n * const queries = makeCartQueries({\n * fragment: CART_FRAGMENT,\n * });\n * ```\n */\nexport function makeCartQueries<const TOptions extends CreateCartQueriesOptions>(\n options: TOptions,\n): CartQueriesForOptions<TOptions>;\nexport function makeCartQueries(): DefaultCartQueries;\nexport function makeCartQueries(options?: CreateCartQueriesOptions) {\n if (options) {\n assertCartFragmentName(options.fragment);\n return createCartQueries(options.fragment);\n }\n\n return DEFAULT_CART_QUERIES;\n}\n\n/**\n * The default cart query and mutations that createCartServerHandlers runs.\n *\n * Each document returns the cart in the request's country and language through the `@inContext` directive. The Storefront API client fills both values from the request context's locale. The default cart fragment leaves out the variant's available quantity, which needs the `unauthenticated_read_product_inventory` Storefront API scope. Select the field in a custom cart fragment to cap quantities at available stock.\n *\n * @publicDocs\n */\nexport const cartQueries = makeCartQueries();\n\n/**\n * The default cart query and mutation documents. Each mutation returns the cart, user errors, and warnings.\n *\n * @publicDocs\n */\nexport interface CartQueriesForDocs {\n /** Query that fetches a cart by ID. */\n readonly cart: StorefrontQueryString;\n /** Mutation that creates a cart from a cart input. */\n readonly cartCreate: StorefrontQueryString;\n /** Mutation that adds merchandise lines to a cart. */\n readonly cartLinesAdd: StorefrontQueryString;\n /** Mutation that updates existing lines in a cart. */\n readonly cartLinesUpdate: StorefrontQueryString;\n /** Mutation that removes lines from a cart by line ID. */\n readonly cartLinesRemove: StorefrontQueryString;\n /** Mutation that replaces a cart's discount codes. */\n readonly cartDiscountCodesUpdate: StorefrontQueryString;\n /** Mutation that sets a cart's note. */\n readonly cartNoteUpdate: StorefrontQueryString;\n /** Mutation that sets a cart's custom attributes. */\n readonly cartAttributesUpdate: StorefrontQueryString;\n}\n"],"mappings":";;;AAUA,MAAA,qBAAA;AAQA,MAAA,yBAAA;CACA,MAAA;CACA,UAAA;CACA;AAEA,MAAA,wBAAA,sBAAA,uBAAA;AAEA,MAAA,yBAAA,IAAA,+rBA+FA;AAEA,MAAA,aAAA,IACA,uJAMA,CAAA,uBAAA,CACA;AAEA,MAAA,uBAAA,IACA,uPAkBA,CAAA,uBAAA,CACA;AAEA,MAAA,0BAAA,IACA,4RAkBA,CAAA,uBAAA,CACA;AAEA,MAAA,6BAAA,IACA,wSAkBA,CAAA,uBAAA,CACA;AAEA,MAAA,6BAAA,IACA,6RAkBA,CAAA,uBAAA,CACA;AAEA,MAAA,sCAAA,IACA,mUAkBA,CAAA,uBAAA,CACA;AAEA,MAAA,4BAAA,IACA,mRAkBA,CAAA,uBAAA,CACA;AAEA,MAAA,kCAAA,IACA,4TAkBA,CAAA,uBAAA,CACA;AAOA,MAAA,oBAAA,IACA,wJAIS,mBAAqB,KAG9B,CAAA,uBAAA,CACA;AAEA,MAAA,8BAAA,IACA,4LAKW,mBAAqB,iEAchC,CAAA,uBAAA,CACA;AAEA,MAAA,iCAAA,IACA,iOAKW,mBAAqB,iEAchC,CAAA,uBAAA,CACA;AAEA,MAAA,oCAAA,IACA,6OAKW,mBAAqB,iEAchC,CAAA,uBAAA,CACA;AAEA,MAAA,oCAAA,IACA,kOAKW,mBAAqB,iEAchC,CAAA,uBAAA,CACA;AAEA,MAAA,6CAAA,IACA,wQAKW,mBAAqB,iEAchC,CAAA,uBAAA,CACA;AAEA,MAAA,mCAAA,IACA,wNAKW,mBAAqB,iEAchC,CAAA,uBAAA,CACA;AAEA,MAAA,yCAAA,IACA,iQAKW,mBAAqB,iEAchC,CAAA,uBAAA,CACA;AAIA,MAAA,6CAAA;AAeA,MAAA,uBAAA;;CAEA,MAAA;;CAEA,YAAA;;CAEA,cAAA;;CAEA,iBAAA;;CAEA,iBAAA;;CAEA,yBAAA;;CAEA,gBAAA;;CAEA,sBAAA;CACA;AAIA,MAAA,kCAAA,IAAA,2CAAA;AAwFA,SAAA,uBAAA,UAAA;AACA,KAAA,sBAAA,KAAA,SAAA,CAAA;AAEA,OAAA,IAAA,MACA,+BAAA,mBAAA,cAAA,uBAAA,WACA;;AAGA,SAAA,sBAAA,EAAA,MAAA,YAAA;AACA,QAAA,IAAA,OAAA,eAAA,KAAA,YAAA,WAAA;;AAGA,SAAA,kBACA,cACA;CACA,MAAA,YAAA,CAAA,aAAA;AAkBA,QAAA;EACA,MAjBA,IAAA,mBAAA,UAiBA;EACA,YAhBA,IAAA,6BAAA,UAgBA;EACA,cAfA,IAAA,gCAAA,UAeA;EACA,iBAdA,IAAA,mCAAA,UAcA;EACA,iBAbA,IAAA,mCAAA,UAaA;EACA,yBAZA,IAAA,4CAAA,UAYA;EACA,gBAXA,IAAA,kCAAA,UAWA;EACA,sBAVA,IAAA,wCAAA,UAUA;EACA;;AAyBA,SAAA,gBAAA,SAAA;AACA,KAAA,SAAA;AACA,yBAAA,QAAA,SAAA;AACA,SAAA,kBAAA,QAAA,SAAA;;AAGA,QAAA;;;;;;;;;AAUA,MAAA,cAAA,iBAAA"}