@shopify/hydrogen-react 2022.10.8 → 2023.1.5

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 (646) hide show
  1. package/README.md +41 -47
  2. package/dist/browser-dev/AddToCartButton.mjs +43 -40
  3. package/dist/browser-dev/AddToCartButton.mjs.map +1 -1
  4. package/dist/browser-dev/BaseButton.mjs +13 -15
  5. package/dist/browser-dev/BaseButton.mjs.map +1 -1
  6. package/dist/browser-dev/BuyNowButton.mjs +19 -17
  7. package/dist/browser-dev/BuyNowButton.mjs.map +1 -1
  8. package/dist/browser-dev/CartCheckoutButton.mjs +12 -15
  9. package/dist/browser-dev/CartCheckoutButton.mjs.map +1 -1
  10. package/dist/browser-dev/CartCost.mjs +25 -0
  11. package/dist/browser-dev/CartCost.mjs.map +1 -0
  12. package/dist/browser-dev/CartLinePrice.mjs +21 -0
  13. package/dist/browser-dev/CartLinePrice.mjs.map +1 -0
  14. package/dist/browser-dev/CartLineProvider.mjs +22 -0
  15. package/dist/browser-dev/CartLineProvider.mjs.map +1 -0
  16. package/dist/browser-dev/CartLineQuantity.mjs +12 -0
  17. package/dist/browser-dev/CartLineQuantity.mjs.map +1 -0
  18. package/dist/browser-dev/CartLineQuantityAdjustButton.mjs +48 -0
  19. package/dist/browser-dev/CartLineQuantityAdjustButton.mjs.map +1 -0
  20. package/dist/browser-dev/CartProvider.mjs +74 -68
  21. package/dist/browser-dev/CartProvider.mjs.map +1 -1
  22. package/dist/browser-dev/ExternalVideo.mjs +13 -11
  23. package/dist/browser-dev/ExternalVideo.mjs.map +1 -1
  24. package/dist/browser-dev/Image.mjs +41 -30
  25. package/dist/browser-dev/Image.mjs.map +1 -1
  26. package/dist/browser-dev/MediaFile.mjs +29 -21
  27. package/dist/browser-dev/MediaFile.mjs.map +1 -1
  28. package/dist/browser-dev/ModelViewer.mjs +138 -76
  29. package/dist/browser-dev/ModelViewer.mjs.map +1 -1
  30. package/dist/browser-dev/Money.mjs +12 -9
  31. package/dist/browser-dev/Money.mjs.map +1 -1
  32. package/dist/browser-dev/ProductPrice.mjs +12 -17
  33. package/dist/browser-dev/ProductPrice.mjs.map +1 -1
  34. package/dist/browser-dev/ProductProvider.mjs +102 -73
  35. package/dist/browser-dev/ProductProvider.mjs.map +1 -1
  36. package/dist/browser-dev/ShopPayButton.mjs +14 -24
  37. package/dist/browser-dev/ShopPayButton.mjs.map +1 -1
  38. package/dist/browser-dev/ShopifyProvider.mjs +22 -38
  39. package/dist/browser-dev/ShopifyProvider.mjs.map +1 -1
  40. package/dist/browser-dev/Video.mjs +30 -21
  41. package/dist/browser-dev/Video.mjs.map +1 -1
  42. package/dist/browser-dev/_virtual/index.mjs +11 -2
  43. package/dist/browser-dev/_virtual/index.mjs.map +1 -1
  44. package/dist/browser-dev/_virtual/with-selector.mjs +11 -2
  45. package/dist/browser-dev/_virtual/with-selector.mjs.map +1 -1
  46. package/dist/browser-dev/analytics-constants.mjs +43 -0
  47. package/dist/browser-dev/analytics-constants.mjs.map +1 -0
  48. package/dist/browser-dev/analytics-schema-custom-storefront-customer-tracking.mjs +145 -0
  49. package/dist/browser-dev/analytics-schema-custom-storefront-customer-tracking.mjs.map +1 -0
  50. package/dist/browser-dev/analytics-schema-trekkie-storefront-page-view.mjs +58 -0
  51. package/dist/browser-dev/analytics-schema-trekkie-storefront-page-view.mjs.map +1 -0
  52. package/dist/browser-dev/analytics-utils.mjs +49 -0
  53. package/dist/browser-dev/analytics-utils.mjs.map +1 -0
  54. package/dist/browser-dev/analytics.mjs +159 -0
  55. package/dist/browser-dev/analytics.mjs.map +1 -0
  56. package/dist/browser-dev/cart-hooks.mjs +32 -34
  57. package/dist/browser-dev/cart-hooks.mjs.map +1 -1
  58. package/dist/browser-dev/cart-queries.mjs +50 -28
  59. package/dist/browser-dev/cart-queries.mjs.map +1 -1
  60. package/dist/browser-dev/codegen.helpers.mjs +1 -0
  61. package/dist/browser-dev/codegen.helpers.mjs.map +1 -1
  62. package/dist/browser-dev/cookies-utils.mjs +50 -0
  63. package/dist/browser-dev/cookies-utils.mjs.map +1 -0
  64. package/dist/browser-dev/flatten-connection.mjs +7 -5
  65. package/dist/browser-dev/flatten-connection.mjs.map +1 -1
  66. package/dist/browser-dev/image-size.mjs +8 -8
  67. package/dist/browser-dev/image-size.mjs.map +1 -1
  68. package/dist/browser-dev/index.mjs +24 -6
  69. package/dist/browser-dev/index.mjs.map +1 -1
  70. package/dist/browser-dev/load-script.mjs +3 -1
  71. package/dist/browser-dev/load-script.mjs.map +1 -1
  72. package/dist/browser-dev/node_modules/@xstate/fsm/es/index.mjs.map +1 -1
  73. package/dist/browser-dev/node_modules/@xstate/react/es/fsm.mjs +2 -2
  74. package/dist/browser-dev/node_modules/@xstate/react/es/fsm.mjs.map +1 -1
  75. package/dist/browser-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs.map +1 -1
  76. package/dist/browser-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs.map +1 -1
  77. package/dist/browser-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs.map +1 -1
  78. package/dist/browser-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs.map +1 -1
  79. package/dist/browser-dev/node_modules/use-sync-external-store/shim/index.mjs +3 -3
  80. package/dist/browser-dev/node_modules/use-sync-external-store/shim/with-selector.mjs +1 -1
  81. package/dist/browser-dev/{metafield-parser.mjs → parse-metafield.mjs} +20 -12
  82. package/dist/browser-dev/parse-metafield.mjs.map +1 -0
  83. package/dist/browser-dev/storefront-api-constants.mjs +1 -1
  84. package/dist/browser-dev/storefront-api-constants.mjs.map +1 -1
  85. package/dist/browser-dev/storefront-client.mjs +27 -27
  86. package/dist/browser-dev/storefront-client.mjs.map +1 -1
  87. package/dist/browser-dev/useCartAPIStateMachine.mjs +120 -80
  88. package/dist/browser-dev/useCartAPIStateMachine.mjs.map +1 -1
  89. package/dist/browser-dev/useCartActions.mjs +150 -109
  90. package/dist/browser-dev/useCartActions.mjs.map +1 -1
  91. package/dist/browser-dev/useMoney.mjs +63 -36
  92. package/dist/browser-dev/useMoney.mjs.map +1 -1
  93. package/dist/browser-dev/useShopifyCookies.mjs +41 -0
  94. package/dist/browser-dev/useShopifyCookies.mjs.map +1 -0
  95. package/dist/browser-prod/AddToCartButton.mjs +43 -40
  96. package/dist/browser-prod/AddToCartButton.mjs.map +1 -1
  97. package/dist/browser-prod/BaseButton.mjs +13 -15
  98. package/dist/browser-prod/BaseButton.mjs.map +1 -1
  99. package/dist/browser-prod/BuyNowButton.mjs +19 -17
  100. package/dist/browser-prod/BuyNowButton.mjs.map +1 -1
  101. package/dist/browser-prod/CartCheckoutButton.mjs +12 -15
  102. package/dist/browser-prod/CartCheckoutButton.mjs.map +1 -1
  103. package/dist/browser-prod/CartCost.mjs +25 -0
  104. package/dist/browser-prod/CartCost.mjs.map +1 -0
  105. package/dist/browser-prod/CartLinePrice.mjs +18 -0
  106. package/dist/browser-prod/CartLinePrice.mjs.map +1 -0
  107. package/dist/browser-prod/CartLineProvider.mjs +22 -0
  108. package/dist/browser-prod/CartLineProvider.mjs.map +1 -0
  109. package/dist/browser-prod/CartLineQuantity.mjs +12 -0
  110. package/dist/browser-prod/CartLineQuantity.mjs.map +1 -0
  111. package/dist/browser-prod/CartLineQuantityAdjustButton.mjs +48 -0
  112. package/dist/browser-prod/CartLineQuantityAdjustButton.mjs.map +1 -0
  113. package/dist/browser-prod/CartProvider.mjs +74 -68
  114. package/dist/browser-prod/CartProvider.mjs.map +1 -1
  115. package/dist/browser-prod/ExternalVideo.mjs +13 -11
  116. package/dist/browser-prod/ExternalVideo.mjs.map +1 -1
  117. package/dist/browser-prod/Image.mjs +35 -28
  118. package/dist/browser-prod/Image.mjs.map +1 -1
  119. package/dist/browser-prod/MediaFile.mjs +29 -21
  120. package/dist/browser-prod/MediaFile.mjs.map +1 -1
  121. package/dist/browser-prod/ModelViewer.mjs +135 -75
  122. package/dist/browser-prod/ModelViewer.mjs.map +1 -1
  123. package/dist/browser-prod/Money.mjs +12 -9
  124. package/dist/browser-prod/Money.mjs.map +1 -1
  125. package/dist/browser-prod/ProductPrice.mjs +12 -17
  126. package/dist/browser-prod/ProductPrice.mjs.map +1 -1
  127. package/dist/browser-prod/ProductProvider.mjs +102 -73
  128. package/dist/browser-prod/ProductProvider.mjs.map +1 -1
  129. package/dist/browser-prod/ShopPayButton.mjs +14 -24
  130. package/dist/browser-prod/ShopPayButton.mjs.map +1 -1
  131. package/dist/browser-prod/ShopifyProvider.mjs +22 -32
  132. package/dist/browser-prod/ShopifyProvider.mjs.map +1 -1
  133. package/dist/browser-prod/Video.mjs +30 -21
  134. package/dist/browser-prod/Video.mjs.map +1 -1
  135. package/dist/browser-prod/_virtual/index.mjs +11 -2
  136. package/dist/browser-prod/_virtual/index.mjs.map +1 -1
  137. package/dist/browser-prod/_virtual/with-selector.mjs +11 -2
  138. package/dist/browser-prod/_virtual/with-selector.mjs.map +1 -1
  139. package/dist/browser-prod/analytics-constants.mjs +43 -0
  140. package/dist/browser-prod/analytics-constants.mjs.map +1 -0
  141. package/dist/browser-prod/analytics-schema-custom-storefront-customer-tracking.mjs +145 -0
  142. package/dist/browser-prod/analytics-schema-custom-storefront-customer-tracking.mjs.map +1 -0
  143. package/dist/browser-prod/analytics-schema-trekkie-storefront-page-view.mjs +58 -0
  144. package/dist/browser-prod/analytics-schema-trekkie-storefront-page-view.mjs.map +1 -0
  145. package/dist/browser-prod/analytics-utils.mjs +49 -0
  146. package/dist/browser-prod/analytics-utils.mjs.map +1 -0
  147. package/dist/browser-prod/analytics.mjs +158 -0
  148. package/dist/browser-prod/analytics.mjs.map +1 -0
  149. package/dist/browser-prod/cart-hooks.mjs +32 -34
  150. package/dist/browser-prod/cart-hooks.mjs.map +1 -1
  151. package/dist/browser-prod/cart-queries.mjs +50 -28
  152. package/dist/browser-prod/cart-queries.mjs.map +1 -1
  153. package/dist/browser-prod/codegen.helpers.mjs +1 -0
  154. package/dist/browser-prod/codegen.helpers.mjs.map +1 -1
  155. package/dist/browser-prod/cookies-utils.mjs +50 -0
  156. package/dist/browser-prod/cookies-utils.mjs.map +1 -0
  157. package/dist/browser-prod/flatten-connection.mjs +7 -5
  158. package/dist/browser-prod/flatten-connection.mjs.map +1 -1
  159. package/dist/browser-prod/image-size.mjs +8 -8
  160. package/dist/browser-prod/image-size.mjs.map +1 -1
  161. package/dist/browser-prod/index.mjs +24 -6
  162. package/dist/browser-prod/index.mjs.map +1 -1
  163. package/dist/browser-prod/load-script.mjs +3 -1
  164. package/dist/browser-prod/load-script.mjs.map +1 -1
  165. package/dist/browser-prod/node_modules/@xstate/fsm/es/index.mjs.map +1 -1
  166. package/dist/browser-prod/node_modules/@xstate/react/es/fsm.mjs +2 -2
  167. package/dist/browser-prod/node_modules/@xstate/react/es/fsm.mjs.map +1 -1
  168. package/dist/browser-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs.map +1 -1
  169. package/dist/browser-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs.map +1 -1
  170. package/dist/browser-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs.map +1 -1
  171. package/dist/browser-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs.map +1 -1
  172. package/dist/browser-prod/node_modules/use-sync-external-store/shim/index.mjs +3 -3
  173. package/dist/browser-prod/node_modules/use-sync-external-store/shim/with-selector.mjs +1 -1
  174. package/dist/browser-prod/{metafield-parser.mjs → parse-metafield.mjs} +20 -12
  175. package/dist/browser-prod/parse-metafield.mjs.map +1 -0
  176. package/dist/browser-prod/storefront-api-constants.mjs +1 -1
  177. package/dist/browser-prod/storefront-api-constants.mjs.map +1 -1
  178. package/dist/browser-prod/storefront-client.mjs +27 -27
  179. package/dist/browser-prod/storefront-client.mjs.map +1 -1
  180. package/dist/browser-prod/useCartAPIStateMachine.mjs +120 -80
  181. package/dist/browser-prod/useCartAPIStateMachine.mjs.map +1 -1
  182. package/dist/browser-prod/useCartActions.mjs +150 -109
  183. package/dist/browser-prod/useCartActions.mjs.map +1 -1
  184. package/dist/browser-prod/useMoney.mjs +63 -36
  185. package/dist/browser-prod/useMoney.mjs.map +1 -1
  186. package/dist/browser-prod/useShopifyCookies.mjs +41 -0
  187. package/dist/browser-prod/useShopifyCookies.mjs.map +1 -0
  188. package/dist/node-dev/AddToCartButton.js +44 -41
  189. package/dist/node-dev/AddToCartButton.js.map +1 -1
  190. package/dist/node-dev/AddToCartButton.mjs +43 -40
  191. package/dist/node-dev/AddToCartButton.mjs.map +1 -1
  192. package/dist/node-dev/BaseButton.js +14 -16
  193. package/dist/node-dev/BaseButton.js.map +1 -1
  194. package/dist/node-dev/BaseButton.mjs +13 -15
  195. package/dist/node-dev/BaseButton.mjs.map +1 -1
  196. package/dist/node-dev/BuyNowButton.js +20 -18
  197. package/dist/node-dev/BuyNowButton.js.map +1 -1
  198. package/dist/node-dev/BuyNowButton.mjs +19 -17
  199. package/dist/node-dev/BuyNowButton.mjs.map +1 -1
  200. package/dist/node-dev/CartCheckoutButton.js +13 -16
  201. package/dist/node-dev/CartCheckoutButton.js.map +1 -1
  202. package/dist/node-dev/CartCheckoutButton.mjs +12 -15
  203. package/dist/node-dev/CartCheckoutButton.mjs.map +1 -1
  204. package/dist/node-dev/CartCost.js +25 -0
  205. package/dist/node-dev/CartCost.js.map +1 -0
  206. package/dist/node-dev/CartCost.mjs +25 -0
  207. package/dist/node-dev/CartCost.mjs.map +1 -0
  208. package/dist/node-dev/CartLinePrice.js +21 -0
  209. package/dist/node-dev/CartLinePrice.js.map +1 -0
  210. package/dist/node-dev/CartLinePrice.mjs +21 -0
  211. package/dist/node-dev/CartLinePrice.mjs.map +1 -0
  212. package/dist/node-dev/CartLineProvider.js +22 -0
  213. package/dist/node-dev/CartLineProvider.js.map +1 -0
  214. package/dist/node-dev/CartLineProvider.mjs +22 -0
  215. package/dist/node-dev/CartLineProvider.mjs.map +1 -0
  216. package/dist/node-dev/CartLineQuantity.js +12 -0
  217. package/dist/node-dev/CartLineQuantity.js.map +1 -0
  218. package/dist/node-dev/CartLineQuantity.mjs +12 -0
  219. package/dist/node-dev/CartLineQuantity.mjs.map +1 -0
  220. package/dist/node-dev/CartLineQuantityAdjustButton.js +48 -0
  221. package/dist/node-dev/CartLineQuantityAdjustButton.js.map +1 -0
  222. package/dist/node-dev/CartLineQuantityAdjustButton.mjs +48 -0
  223. package/dist/node-dev/CartLineQuantityAdjustButton.mjs.map +1 -0
  224. package/dist/node-dev/CartProvider.js +75 -69
  225. package/dist/node-dev/CartProvider.js.map +1 -1
  226. package/dist/node-dev/CartProvider.mjs +74 -68
  227. package/dist/node-dev/CartProvider.mjs.map +1 -1
  228. package/dist/node-dev/ExternalVideo.js +14 -12
  229. package/dist/node-dev/ExternalVideo.js.map +1 -1
  230. package/dist/node-dev/ExternalVideo.mjs +13 -11
  231. package/dist/node-dev/ExternalVideo.mjs.map +1 -1
  232. package/dist/node-dev/Image.js +42 -31
  233. package/dist/node-dev/Image.js.map +1 -1
  234. package/dist/node-dev/Image.mjs +41 -30
  235. package/dist/node-dev/Image.mjs.map +1 -1
  236. package/dist/node-dev/MediaFile.js +30 -22
  237. package/dist/node-dev/MediaFile.js.map +1 -1
  238. package/dist/node-dev/MediaFile.mjs +29 -21
  239. package/dist/node-dev/MediaFile.mjs.map +1 -1
  240. package/dist/node-dev/ModelViewer.js +139 -77
  241. package/dist/node-dev/ModelViewer.js.map +1 -1
  242. package/dist/node-dev/ModelViewer.mjs +138 -76
  243. package/dist/node-dev/ModelViewer.mjs.map +1 -1
  244. package/dist/node-dev/Money.js +13 -10
  245. package/dist/node-dev/Money.js.map +1 -1
  246. package/dist/node-dev/Money.mjs +12 -9
  247. package/dist/node-dev/Money.mjs.map +1 -1
  248. package/dist/node-dev/ProductPrice.js +13 -18
  249. package/dist/node-dev/ProductPrice.js.map +1 -1
  250. package/dist/node-dev/ProductPrice.mjs +12 -17
  251. package/dist/node-dev/ProductPrice.mjs.map +1 -1
  252. package/dist/node-dev/ProductProvider.js +103 -74
  253. package/dist/node-dev/ProductProvider.js.map +1 -1
  254. package/dist/node-dev/ProductProvider.mjs +102 -73
  255. package/dist/node-dev/ProductProvider.mjs.map +1 -1
  256. package/dist/node-dev/ShopPayButton.js +14 -24
  257. package/dist/node-dev/ShopPayButton.js.map +1 -1
  258. package/dist/node-dev/ShopPayButton.mjs +14 -24
  259. package/dist/node-dev/ShopPayButton.mjs.map +1 -1
  260. package/dist/node-dev/ShopifyProvider.js +23 -39
  261. package/dist/node-dev/ShopifyProvider.js.map +1 -1
  262. package/dist/node-dev/ShopifyProvider.mjs +22 -38
  263. package/dist/node-dev/ShopifyProvider.mjs.map +1 -1
  264. package/dist/node-dev/Video.js +31 -22
  265. package/dist/node-dev/Video.js.map +1 -1
  266. package/dist/node-dev/Video.mjs +30 -21
  267. package/dist/node-dev/Video.mjs.map +1 -1
  268. package/dist/node-dev/_virtual/index.js +11 -3
  269. package/dist/node-dev/_virtual/index.js.map +1 -1
  270. package/dist/node-dev/_virtual/index.mjs +11 -2
  271. package/dist/node-dev/_virtual/index.mjs.map +1 -1
  272. package/dist/node-dev/_virtual/use-sync-external-store-shim.development.js +1 -1
  273. package/dist/node-dev/_virtual/use-sync-external-store-shim.production.min.js +1 -1
  274. package/dist/node-dev/_virtual/with-selector.development.js +1 -1
  275. package/dist/node-dev/_virtual/with-selector.js +11 -3
  276. package/dist/node-dev/_virtual/with-selector.js.map +1 -1
  277. package/dist/node-dev/_virtual/with-selector.mjs +11 -2
  278. package/dist/node-dev/_virtual/with-selector.mjs.map +1 -1
  279. package/dist/node-dev/_virtual/with-selector.production.min.js +1 -1
  280. package/dist/node-dev/analytics-constants.js +43 -0
  281. package/dist/node-dev/analytics-constants.js.map +1 -0
  282. package/dist/node-dev/analytics-constants.mjs +43 -0
  283. package/dist/node-dev/analytics-constants.mjs.map +1 -0
  284. package/dist/node-dev/analytics-schema-custom-storefront-customer-tracking.js +145 -0
  285. package/dist/node-dev/analytics-schema-custom-storefront-customer-tracking.js.map +1 -0
  286. package/dist/node-dev/analytics-schema-custom-storefront-customer-tracking.mjs +145 -0
  287. package/dist/node-dev/analytics-schema-custom-storefront-customer-tracking.mjs.map +1 -0
  288. package/dist/node-dev/analytics-schema-trekkie-storefront-page-view.js +58 -0
  289. package/dist/node-dev/analytics-schema-trekkie-storefront-page-view.js.map +1 -0
  290. package/dist/node-dev/analytics-schema-trekkie-storefront-page-view.mjs +58 -0
  291. package/dist/node-dev/analytics-schema-trekkie-storefront-page-view.mjs.map +1 -0
  292. package/dist/node-dev/analytics-utils.js +49 -0
  293. package/dist/node-dev/analytics-utils.js.map +1 -0
  294. package/dist/node-dev/analytics-utils.mjs +49 -0
  295. package/dist/node-dev/analytics-utils.mjs.map +1 -0
  296. package/dist/node-dev/analytics.js +159 -0
  297. package/dist/node-dev/analytics.js.map +1 -0
  298. package/dist/node-dev/analytics.mjs +159 -0
  299. package/dist/node-dev/analytics.mjs.map +1 -0
  300. package/dist/node-dev/cart-constants.js +1 -1
  301. package/dist/node-dev/cart-hooks.js +32 -34
  302. package/dist/node-dev/cart-hooks.js.map +1 -1
  303. package/dist/node-dev/cart-hooks.mjs +32 -34
  304. package/dist/node-dev/cart-hooks.mjs.map +1 -1
  305. package/dist/node-dev/cart-queries.js +51 -29
  306. package/dist/node-dev/cart-queries.js.map +1 -1
  307. package/dist/node-dev/cart-queries.mjs +50 -28
  308. package/dist/node-dev/cart-queries.mjs.map +1 -1
  309. package/dist/node-dev/codegen.helpers.js +2 -1
  310. package/dist/node-dev/codegen.helpers.js.map +1 -1
  311. package/dist/node-dev/codegen.helpers.mjs +1 -0
  312. package/dist/node-dev/codegen.helpers.mjs.map +1 -1
  313. package/dist/node-dev/cookies-utils.js +50 -0
  314. package/dist/node-dev/cookies-utils.js.map +1 -0
  315. package/dist/node-dev/cookies-utils.mjs +50 -0
  316. package/dist/node-dev/cookies-utils.mjs.map +1 -0
  317. package/dist/node-dev/flatten-connection.js +8 -6
  318. package/dist/node-dev/flatten-connection.js.map +1 -1
  319. package/dist/node-dev/flatten-connection.mjs +7 -5
  320. package/dist/node-dev/flatten-connection.mjs.map +1 -1
  321. package/dist/node-dev/image-size.js +9 -9
  322. package/dist/node-dev/image-size.js.map +1 -1
  323. package/dist/node-dev/image-size.mjs +8 -8
  324. package/dist/node-dev/image-size.mjs.map +1 -1
  325. package/dist/node-dev/index.js +25 -7
  326. package/dist/node-dev/index.js.map +1 -1
  327. package/dist/node-dev/index.mjs +24 -6
  328. package/dist/node-dev/index.mjs.map +1 -1
  329. package/dist/node-dev/load-script.js +4 -2
  330. package/dist/node-dev/load-script.js.map +1 -1
  331. package/dist/node-dev/load-script.mjs +3 -1
  332. package/dist/node-dev/load-script.mjs.map +1 -1
  333. package/dist/node-dev/node_modules/@xstate/fsm/es/index.js +1 -1
  334. package/dist/node-dev/node_modules/@xstate/fsm/es/index.js.map +1 -1
  335. package/dist/node-dev/node_modules/@xstate/fsm/es/index.mjs.map +1 -1
  336. package/dist/node-dev/node_modules/@xstate/react/es/fsm.js +2 -2
  337. package/dist/node-dev/node_modules/@xstate/react/es/fsm.js.map +1 -1
  338. package/dist/node-dev/node_modules/@xstate/react/es/fsm.mjs +2 -2
  339. package/dist/node-dev/node_modules/@xstate/react/es/fsm.mjs.map +1 -1
  340. package/dist/node-dev/node_modules/@xstate/react/es/useConstant.js +2 -4
  341. package/dist/node-dev/node_modules/@xstate/react/es/useConstant.js.map +1 -1
  342. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js +2 -4
  343. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js.map +1 -1
  344. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs.map +1 -1
  345. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js +2 -4
  346. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js.map +1 -1
  347. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs.map +1 -1
  348. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +2 -4
  349. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js.map +1 -1
  350. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs.map +1 -1
  351. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js +2 -4
  352. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js.map +1 -1
  353. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs.map +1 -1
  354. package/dist/node-dev/node_modules/use-sync-external-store/shim/index.js +4 -4
  355. package/dist/node-dev/node_modules/use-sync-external-store/shim/index.mjs +3 -3
  356. package/dist/node-dev/node_modules/use-sync-external-store/shim/with-selector.js +1 -1
  357. package/dist/node-dev/node_modules/use-sync-external-store/shim/with-selector.mjs +1 -1
  358. package/dist/node-dev/{metafield-parser.js → parse-metafield.js} +21 -13
  359. package/dist/node-dev/parse-metafield.js.map +1 -0
  360. package/dist/node-dev/{metafield-parser.mjs → parse-metafield.mjs} +20 -12
  361. package/dist/node-dev/parse-metafield.mjs.map +1 -0
  362. package/dist/node-dev/storefront-api-constants.js +2 -2
  363. package/dist/node-dev/storefront-api-constants.js.map +1 -1
  364. package/dist/node-dev/storefront-api-constants.mjs +1 -1
  365. package/dist/node-dev/storefront-api-constants.mjs.map +1 -1
  366. package/dist/node-dev/storefront-client.js +28 -28
  367. package/dist/node-dev/storefront-client.js.map +1 -1
  368. package/dist/node-dev/storefront-client.mjs +27 -27
  369. package/dist/node-dev/storefront-client.mjs.map +1 -1
  370. package/dist/node-dev/useCartAPIStateMachine.js +121 -81
  371. package/dist/node-dev/useCartAPIStateMachine.js.map +1 -1
  372. package/dist/node-dev/useCartAPIStateMachine.mjs +120 -80
  373. package/dist/node-dev/useCartAPIStateMachine.mjs.map +1 -1
  374. package/dist/node-dev/useCartActions.js +151 -110
  375. package/dist/node-dev/useCartActions.js.map +1 -1
  376. package/dist/node-dev/useCartActions.mjs +150 -109
  377. package/dist/node-dev/useCartActions.mjs.map +1 -1
  378. package/dist/node-dev/useMoney.js +64 -37
  379. package/dist/node-dev/useMoney.js.map +1 -1
  380. package/dist/node-dev/useMoney.mjs +63 -36
  381. package/dist/node-dev/useMoney.mjs.map +1 -1
  382. package/dist/node-dev/useShopifyCookies.js +41 -0
  383. package/dist/node-dev/useShopifyCookies.js.map +1 -0
  384. package/dist/node-dev/useShopifyCookies.mjs +41 -0
  385. package/dist/node-dev/useShopifyCookies.mjs.map +1 -0
  386. package/dist/node-prod/AddToCartButton.js +44 -41
  387. package/dist/node-prod/AddToCartButton.js.map +1 -1
  388. package/dist/node-prod/AddToCartButton.mjs +43 -40
  389. package/dist/node-prod/AddToCartButton.mjs.map +1 -1
  390. package/dist/node-prod/BaseButton.js +14 -16
  391. package/dist/node-prod/BaseButton.js.map +1 -1
  392. package/dist/node-prod/BaseButton.mjs +13 -15
  393. package/dist/node-prod/BaseButton.mjs.map +1 -1
  394. package/dist/node-prod/BuyNowButton.js +20 -18
  395. package/dist/node-prod/BuyNowButton.js.map +1 -1
  396. package/dist/node-prod/BuyNowButton.mjs +19 -17
  397. package/dist/node-prod/BuyNowButton.mjs.map +1 -1
  398. package/dist/node-prod/CartCheckoutButton.js +13 -16
  399. package/dist/node-prod/CartCheckoutButton.js.map +1 -1
  400. package/dist/node-prod/CartCheckoutButton.mjs +12 -15
  401. package/dist/node-prod/CartCheckoutButton.mjs.map +1 -1
  402. package/dist/node-prod/CartCost.js +25 -0
  403. package/dist/node-prod/CartCost.js.map +1 -0
  404. package/dist/node-prod/CartCost.mjs +25 -0
  405. package/dist/node-prod/CartCost.mjs.map +1 -0
  406. package/dist/node-prod/CartLinePrice.js +18 -0
  407. package/dist/node-prod/CartLinePrice.js.map +1 -0
  408. package/dist/node-prod/CartLinePrice.mjs +18 -0
  409. package/dist/node-prod/CartLinePrice.mjs.map +1 -0
  410. package/dist/node-prod/CartLineProvider.js +22 -0
  411. package/dist/node-prod/CartLineProvider.js.map +1 -0
  412. package/dist/node-prod/CartLineProvider.mjs +22 -0
  413. package/dist/node-prod/CartLineProvider.mjs.map +1 -0
  414. package/dist/node-prod/CartLineQuantity.js +12 -0
  415. package/dist/node-prod/CartLineQuantity.js.map +1 -0
  416. package/dist/node-prod/CartLineQuantity.mjs +12 -0
  417. package/dist/node-prod/CartLineQuantity.mjs.map +1 -0
  418. package/dist/node-prod/CartLineQuantityAdjustButton.js +48 -0
  419. package/dist/node-prod/CartLineQuantityAdjustButton.js.map +1 -0
  420. package/dist/node-prod/CartLineQuantityAdjustButton.mjs +48 -0
  421. package/dist/node-prod/CartLineQuantityAdjustButton.mjs.map +1 -0
  422. package/dist/node-prod/CartProvider.js +75 -69
  423. package/dist/node-prod/CartProvider.js.map +1 -1
  424. package/dist/node-prod/CartProvider.mjs +74 -68
  425. package/dist/node-prod/CartProvider.mjs.map +1 -1
  426. package/dist/node-prod/ExternalVideo.js +14 -12
  427. package/dist/node-prod/ExternalVideo.js.map +1 -1
  428. package/dist/node-prod/ExternalVideo.mjs +13 -11
  429. package/dist/node-prod/ExternalVideo.mjs.map +1 -1
  430. package/dist/node-prod/Image.js +36 -29
  431. package/dist/node-prod/Image.js.map +1 -1
  432. package/dist/node-prod/Image.mjs +35 -28
  433. package/dist/node-prod/Image.mjs.map +1 -1
  434. package/dist/node-prod/MediaFile.js +30 -22
  435. package/dist/node-prod/MediaFile.js.map +1 -1
  436. package/dist/node-prod/MediaFile.mjs +29 -21
  437. package/dist/node-prod/MediaFile.mjs.map +1 -1
  438. package/dist/node-prod/ModelViewer.js +136 -76
  439. package/dist/node-prod/ModelViewer.js.map +1 -1
  440. package/dist/node-prod/ModelViewer.mjs +135 -75
  441. package/dist/node-prod/ModelViewer.mjs.map +1 -1
  442. package/dist/node-prod/Money.js +13 -10
  443. package/dist/node-prod/Money.js.map +1 -1
  444. package/dist/node-prod/Money.mjs +12 -9
  445. package/dist/node-prod/Money.mjs.map +1 -1
  446. package/dist/node-prod/ProductPrice.js +13 -18
  447. package/dist/node-prod/ProductPrice.js.map +1 -1
  448. package/dist/node-prod/ProductPrice.mjs +12 -17
  449. package/dist/node-prod/ProductPrice.mjs.map +1 -1
  450. package/dist/node-prod/ProductProvider.js +103 -74
  451. package/dist/node-prod/ProductProvider.js.map +1 -1
  452. package/dist/node-prod/ProductProvider.mjs +102 -73
  453. package/dist/node-prod/ProductProvider.mjs.map +1 -1
  454. package/dist/node-prod/ShopPayButton.js +14 -24
  455. package/dist/node-prod/ShopPayButton.js.map +1 -1
  456. package/dist/node-prod/ShopPayButton.mjs +14 -24
  457. package/dist/node-prod/ShopPayButton.mjs.map +1 -1
  458. package/dist/node-prod/ShopifyProvider.js +23 -33
  459. package/dist/node-prod/ShopifyProvider.js.map +1 -1
  460. package/dist/node-prod/ShopifyProvider.mjs +22 -32
  461. package/dist/node-prod/ShopifyProvider.mjs.map +1 -1
  462. package/dist/node-prod/Video.js +31 -22
  463. package/dist/node-prod/Video.js.map +1 -1
  464. package/dist/node-prod/Video.mjs +30 -21
  465. package/dist/node-prod/Video.mjs.map +1 -1
  466. package/dist/node-prod/_virtual/index.js +11 -3
  467. package/dist/node-prod/_virtual/index.js.map +1 -1
  468. package/dist/node-prod/_virtual/index.mjs +11 -2
  469. package/dist/node-prod/_virtual/index.mjs.map +1 -1
  470. package/dist/node-prod/_virtual/use-sync-external-store-shim.development.js +1 -1
  471. package/dist/node-prod/_virtual/use-sync-external-store-shim.production.min.js +1 -1
  472. package/dist/node-prod/_virtual/with-selector.development.js +1 -1
  473. package/dist/node-prod/_virtual/with-selector.js +11 -3
  474. package/dist/node-prod/_virtual/with-selector.js.map +1 -1
  475. package/dist/node-prod/_virtual/with-selector.mjs +11 -2
  476. package/dist/node-prod/_virtual/with-selector.mjs.map +1 -1
  477. package/dist/node-prod/_virtual/with-selector.production.min.js +1 -1
  478. package/dist/node-prod/analytics-constants.js +43 -0
  479. package/dist/node-prod/analytics-constants.js.map +1 -0
  480. package/dist/node-prod/analytics-constants.mjs +43 -0
  481. package/dist/node-prod/analytics-constants.mjs.map +1 -0
  482. package/dist/node-prod/analytics-schema-custom-storefront-customer-tracking.js +145 -0
  483. package/dist/node-prod/analytics-schema-custom-storefront-customer-tracking.js.map +1 -0
  484. package/dist/node-prod/analytics-schema-custom-storefront-customer-tracking.mjs +145 -0
  485. package/dist/node-prod/analytics-schema-custom-storefront-customer-tracking.mjs.map +1 -0
  486. package/dist/node-prod/analytics-schema-trekkie-storefront-page-view.js +58 -0
  487. package/dist/node-prod/analytics-schema-trekkie-storefront-page-view.js.map +1 -0
  488. package/dist/node-prod/analytics-schema-trekkie-storefront-page-view.mjs +58 -0
  489. package/dist/node-prod/analytics-schema-trekkie-storefront-page-view.mjs.map +1 -0
  490. package/dist/node-prod/analytics-utils.js +49 -0
  491. package/dist/node-prod/analytics-utils.js.map +1 -0
  492. package/dist/node-prod/analytics-utils.mjs +49 -0
  493. package/dist/node-prod/analytics-utils.mjs.map +1 -0
  494. package/dist/node-prod/analytics.js +158 -0
  495. package/dist/node-prod/analytics.js.map +1 -0
  496. package/dist/node-prod/analytics.mjs +158 -0
  497. package/dist/node-prod/analytics.mjs.map +1 -0
  498. package/dist/node-prod/cart-constants.js +1 -1
  499. package/dist/node-prod/cart-hooks.js +32 -34
  500. package/dist/node-prod/cart-hooks.js.map +1 -1
  501. package/dist/node-prod/cart-hooks.mjs +32 -34
  502. package/dist/node-prod/cart-hooks.mjs.map +1 -1
  503. package/dist/node-prod/cart-queries.js +51 -29
  504. package/dist/node-prod/cart-queries.js.map +1 -1
  505. package/dist/node-prod/cart-queries.mjs +50 -28
  506. package/dist/node-prod/cart-queries.mjs.map +1 -1
  507. package/dist/node-prod/codegen.helpers.js +2 -1
  508. package/dist/node-prod/codegen.helpers.js.map +1 -1
  509. package/dist/node-prod/codegen.helpers.mjs +1 -0
  510. package/dist/node-prod/codegen.helpers.mjs.map +1 -1
  511. package/dist/node-prod/cookies-utils.js +50 -0
  512. package/dist/node-prod/cookies-utils.js.map +1 -0
  513. package/dist/node-prod/cookies-utils.mjs +50 -0
  514. package/dist/node-prod/cookies-utils.mjs.map +1 -0
  515. package/dist/node-prod/flatten-connection.js +8 -6
  516. package/dist/node-prod/flatten-connection.js.map +1 -1
  517. package/dist/node-prod/flatten-connection.mjs +7 -5
  518. package/dist/node-prod/flatten-connection.mjs.map +1 -1
  519. package/dist/node-prod/image-size.js +9 -9
  520. package/dist/node-prod/image-size.js.map +1 -1
  521. package/dist/node-prod/image-size.mjs +8 -8
  522. package/dist/node-prod/image-size.mjs.map +1 -1
  523. package/dist/node-prod/index.js +25 -7
  524. package/dist/node-prod/index.js.map +1 -1
  525. package/dist/node-prod/index.mjs +24 -6
  526. package/dist/node-prod/index.mjs.map +1 -1
  527. package/dist/node-prod/load-script.js +4 -2
  528. package/dist/node-prod/load-script.js.map +1 -1
  529. package/dist/node-prod/load-script.mjs +3 -1
  530. package/dist/node-prod/load-script.mjs.map +1 -1
  531. package/dist/node-prod/node_modules/@xstate/fsm/es/index.js +1 -1
  532. package/dist/node-prod/node_modules/@xstate/fsm/es/index.js.map +1 -1
  533. package/dist/node-prod/node_modules/@xstate/fsm/es/index.mjs.map +1 -1
  534. package/dist/node-prod/node_modules/@xstate/react/es/fsm.js +2 -2
  535. package/dist/node-prod/node_modules/@xstate/react/es/fsm.js.map +1 -1
  536. package/dist/node-prod/node_modules/@xstate/react/es/fsm.mjs +2 -2
  537. package/dist/node-prod/node_modules/@xstate/react/es/fsm.mjs.map +1 -1
  538. package/dist/node-prod/node_modules/@xstate/react/es/useConstant.js +2 -4
  539. package/dist/node-prod/node_modules/@xstate/react/es/useConstant.js.map +1 -1
  540. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js +2 -4
  541. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js.map +1 -1
  542. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs.map +1 -1
  543. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js +2 -4
  544. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js.map +1 -1
  545. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs.map +1 -1
  546. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +2 -4
  547. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js.map +1 -1
  548. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs.map +1 -1
  549. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js +2 -4
  550. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js.map +1 -1
  551. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs.map +1 -1
  552. package/dist/node-prod/node_modules/use-sync-external-store/shim/index.js +4 -4
  553. package/dist/node-prod/node_modules/use-sync-external-store/shim/index.mjs +3 -3
  554. package/dist/node-prod/node_modules/use-sync-external-store/shim/with-selector.js +1 -1
  555. package/dist/node-prod/node_modules/use-sync-external-store/shim/with-selector.mjs +1 -1
  556. package/dist/node-prod/{metafield-parser.js → parse-metafield.js} +21 -13
  557. package/dist/node-prod/parse-metafield.js.map +1 -0
  558. package/dist/node-prod/{metafield-parser.mjs → parse-metafield.mjs} +20 -12
  559. package/dist/node-prod/parse-metafield.mjs.map +1 -0
  560. package/dist/node-prod/storefront-api-constants.js +2 -2
  561. package/dist/node-prod/storefront-api-constants.js.map +1 -1
  562. package/dist/node-prod/storefront-api-constants.mjs +1 -1
  563. package/dist/node-prod/storefront-api-constants.mjs.map +1 -1
  564. package/dist/node-prod/storefront-client.js +28 -28
  565. package/dist/node-prod/storefront-client.js.map +1 -1
  566. package/dist/node-prod/storefront-client.mjs +27 -27
  567. package/dist/node-prod/storefront-client.mjs.map +1 -1
  568. package/dist/node-prod/useCartAPIStateMachine.js +121 -81
  569. package/dist/node-prod/useCartAPIStateMachine.js.map +1 -1
  570. package/dist/node-prod/useCartAPIStateMachine.mjs +120 -80
  571. package/dist/node-prod/useCartAPIStateMachine.mjs.map +1 -1
  572. package/dist/node-prod/useCartActions.js +151 -110
  573. package/dist/node-prod/useCartActions.js.map +1 -1
  574. package/dist/node-prod/useCartActions.mjs +150 -109
  575. package/dist/node-prod/useCartActions.mjs.map +1 -1
  576. package/dist/node-prod/useMoney.js +64 -37
  577. package/dist/node-prod/useMoney.js.map +1 -1
  578. package/dist/node-prod/useMoney.mjs +63 -36
  579. package/dist/node-prod/useMoney.mjs.map +1 -1
  580. package/dist/node-prod/useShopifyCookies.js +41 -0
  581. package/dist/node-prod/useShopifyCookies.js.map +1 -0
  582. package/dist/node-prod/useShopifyCookies.mjs +41 -0
  583. package/dist/node-prod/useShopifyCookies.mjs.map +1 -0
  584. package/dist/types/AddToCartButton.d.ts +7 -3
  585. package/dist/types/BaseButton.d.ts +2 -2
  586. package/dist/types/BuyNowButton.d.ts +10 -4
  587. package/dist/types/CartCheckoutButton.d.ts +9 -6
  588. package/dist/types/CartCost.d.ts +10 -6
  589. package/dist/types/CartLinePrice.d.ts +19 -5
  590. package/dist/types/CartLineProvider.d.ts +18 -10
  591. package/dist/types/CartLineQuantity.d.ts +13 -0
  592. package/dist/types/CartLineQuantityAdjustButton.d.ts +13 -0
  593. package/dist/types/CartProvider.d.ts +13 -3
  594. package/dist/types/ExternalVideo.d.ts +2 -3
  595. package/dist/types/Image.d.ts +5 -3
  596. package/dist/types/MediaFile.d.ts +12 -11
  597. package/dist/types/ModelViewer.d.ts +2 -2
  598. package/dist/types/Money.d.ts +2 -3
  599. package/dist/types/ProductPrice.d.ts +4 -2
  600. package/dist/types/ProductProvider.d.ts +1 -1
  601. package/dist/types/ShopPayButton.d.ts +10 -10
  602. package/dist/types/ShopifyProvider.d.ts +42 -43
  603. package/dist/types/analytics-constants.d.ts +48 -0
  604. package/dist/types/analytics-schema-custom-storefront-customer-tracking.d.ts +3 -0
  605. package/dist/types/analytics-schema-trekkie-storefront-page-view.d.ts +2 -0
  606. package/dist/types/analytics-types.d.ts +157 -0
  607. package/dist/types/analytics-utils.d.ts +36 -0
  608. package/dist/types/analytics.d.ts +9 -0
  609. package/dist/types/cart-queries.d.ts +1 -1
  610. package/dist/types/cookies-utils.d.ts +4 -0
  611. package/dist/types/flatten-connection.d.ts +32 -8
  612. package/dist/types/image-size.d.ts +1 -1
  613. package/dist/types/index.d.cts +13 -4
  614. package/dist/types/index.d.ts +13 -4
  615. package/dist/types/{metafield-parser.d.ts → parse-metafield.d.ts} +11 -9
  616. package/dist/types/storefront-api-constants.d.ts +1 -1
  617. package/dist/types/storefront-api-response.types.d.ts +1 -1
  618. package/dist/types/storefront-api-types.d.ts +121 -2
  619. package/dist/types/storefront-client.d.ts +14 -14
  620. package/dist/types/useCartActions.d.ts +1 -1
  621. package/dist/types/useShopifyCookies.d.ts +14 -0
  622. package/dist/umd/hydrogen-react.dev.js +1714 -1382
  623. package/dist/umd/hydrogen-react.dev.js.map +1 -1
  624. package/dist/umd/hydrogen-react.prod.js +18 -25
  625. package/dist/umd/hydrogen-react.prod.js.map +1 -1
  626. package/package.json +34 -19
  627. package/storefront.schema.json +1 -1
  628. package/dist/browser-dev/Metafield.mjs +0 -301
  629. package/dist/browser-dev/Metafield.mjs.map +0 -1
  630. package/dist/browser-dev/metafield-parser.mjs.map +0 -1
  631. package/dist/browser-prod/Metafield.mjs +0 -288
  632. package/dist/browser-prod/Metafield.mjs.map +0 -1
  633. package/dist/browser-prod/metafield-parser.mjs.map +0 -1
  634. package/dist/node-dev/Metafield.js +0 -301
  635. package/dist/node-dev/Metafield.js.map +0 -1
  636. package/dist/node-dev/Metafield.mjs +0 -301
  637. package/dist/node-dev/Metafield.mjs.map +0 -1
  638. package/dist/node-dev/metafield-parser.js.map +0 -1
  639. package/dist/node-dev/metafield-parser.mjs.map +0 -1
  640. package/dist/node-prod/Metafield.js +0 -288
  641. package/dist/node-prod/Metafield.js.map +0 -1
  642. package/dist/node-prod/Metafield.mjs +0 -288
  643. package/dist/node-prod/Metafield.mjs.map +0 -1
  644. package/dist/node-prod/metafield-parser.js.map +0 -1
  645. package/dist/node-prod/metafield-parser.mjs.map +0 -1
  646. package/dist/types/Metafield.d.ts +0 -61
@@ -1,28 +1,25 @@
1
+ import { jsx } from "react/jsx-runtime";
1
2
  import { useState, useEffect } from "react";
2
3
  import { useCart } from "./CartProvider.mjs";
3
4
  import { BaseButton } from "./BaseButton.mjs";
4
- import { jsx } from "react/jsx-runtime";
5
5
  function CartCheckoutButton(props) {
6
6
  const [requestedCheckout, setRequestedCheckout] = useState(false);
7
- const {
8
- status,
9
- checkoutUrl
10
- } = useCart();
11
- const {
12
- children,
13
- ...passthroughProps
14
- } = props;
7
+ const { status, checkoutUrl } = useCart();
8
+ const { children, ...passthroughProps } = props;
15
9
  useEffect(() => {
16
10
  if (requestedCheckout && checkoutUrl && status === "idle") {
17
11
  window.location.href = checkoutUrl;
18
12
  }
19
13
  }, [requestedCheckout, status, checkoutUrl]);
20
- return /* @__PURE__ */ jsx(BaseButton, {
21
- ...passthroughProps,
22
- disabled: requestedCheckout || passthroughProps.disabled,
23
- onClick: () => setRequestedCheckout(true),
24
- children
25
- });
14
+ return /* @__PURE__ */ jsx(
15
+ BaseButton,
16
+ {
17
+ ...passthroughProps,
18
+ disabled: requestedCheckout || passthroughProps.disabled,
19
+ onClick: () => setRequestedCheckout(true),
20
+ children
21
+ }
22
+ );
26
23
  }
27
24
  export {
28
25
  CartCheckoutButton
@@ -1 +1 @@
1
- {"version":3,"file":"CartCheckoutButton.mjs","sources":["../../src/CartCheckoutButton.tsx"],"sourcesContent":["import {ReactNode, useEffect, useState} from 'react';\nimport {useCart} from './CartProvider.js';\nimport {BaseButton, BaseButtonProps} from './BaseButton.js';\n\ntype PropsWeControl = 'onClick';\n\n/**\n * The `CartCheckoutButton` component renders a button that redirects to the checkout URL for the cart.\n * It must be a descendent of a `CartProvider` component.\n */\nexport function CartCheckoutButton(\n props: Omit<BaseButtonProps<'button'>, PropsWeControl> & {\n /** A `ReactNode` element. */\n children: ReactNode;\n }\n) {\n const [requestedCheckout, setRequestedCheckout] = useState(false);\n const {status, checkoutUrl} = useCart();\n const {children, ...passthroughProps} = props;\n\n useEffect(() => {\n if (requestedCheckout && checkoutUrl && status === 'idle') {\n window.location.href = checkoutUrl;\n }\n }, [requestedCheckout, status, checkoutUrl]);\n\n return (\n <BaseButton\n {...passthroughProps}\n disabled={requestedCheckout || passthroughProps.disabled}\n onClick={() => setRequestedCheckout(true)}\n >\n {children}\n </BaseButton>\n );\n}\n"],"names":["CartCheckoutButton","props","requestedCheckout","setRequestedCheckout","useState","status","checkoutUrl","useCart","children","passthroughProps","useEffect","window","location","href","disabled"],"mappings":";;;;AAUO,SAASA,mBACdC,OAIA;AACA,QAAM,CAACC,mBAAmBC,oBAAoB,IAAIC,SAAS,KAAK;AAC1D,QAAA;AAAA,IAACC;AAAAA,IAAQC;AAAAA,MAAeC,QAAS;AACjC,QAAA;AAAA,IAACC;AAAAA,OAAaC;AAAAA,EAAoBR,IAAAA;AAExCS,YAAU,MAAM;AACVR,QAAAA,qBAAqBI,eAAeD,WAAW,QAAQ;AACzDM,aAAOC,SAASC,OAAOP;AAAAA,IACzB;AAAA,EACC,GAAA,CAACJ,mBAAmBG,QAAQC,WAAW,CAAC;AAE3C,6BACG,YAAU;AAAA,IAAA,GACLG;AAAAA,IACJ,UAAUP,qBAAqBO,iBAAiBK;AAAAA,IAChD,SAAS,MAAMX,qBAAqB,IAAI;AAAA,IAAE;AAAA,EAAA,CAG/B;AAEjB;"}
1
+ {"version":3,"file":"CartCheckoutButton.mjs","sources":["../../src/CartCheckoutButton.tsx"],"sourcesContent":["import {ReactNode, useEffect, useState} from 'react';\nimport {useCart} from './CartProvider.js';\nimport {\n BaseButton,\n type BaseButtonProps,\n type CustomBaseButtonProps,\n} from './BaseButton.js';\n\ntype ChildrenProps = {\n /** A `ReactNode` element. */\n children: ReactNode;\n};\ntype CartCheckoutButtonProps = Omit<BaseButtonProps<'button'>, 'onClick'> &\n ChildrenProps;\n\n/**\n * The `CartCheckoutButton` component renders a button that redirects to the checkout URL for the cart.\n * It must be a descendent of a `CartProvider` component.\n */\nexport function CartCheckoutButton(\n props: CartCheckoutButtonProps\n): JSX.Element {\n const [requestedCheckout, setRequestedCheckout] = useState(false);\n const {status, checkoutUrl} = useCart();\n const {children, ...passthroughProps} = props;\n\n useEffect(() => {\n if (requestedCheckout && checkoutUrl && status === 'idle') {\n window.location.href = checkoutUrl;\n }\n }, [requestedCheckout, status, checkoutUrl]);\n\n return (\n <BaseButton\n {...passthroughProps}\n disabled={requestedCheckout || passthroughProps.disabled}\n onClick={(): void => setRequestedCheckout(true)}\n >\n {children}\n </BaseButton>\n );\n}\n\n// This is only for documentation purposes, and it is not used in the code.\n// we ignore this issue because it makes the documentation look better than the equivalent `type` that it wants us to convert to\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface CartCheckoutButtonPropsForDocs<\n AsType extends React.ElementType = 'button'\n> extends Omit<CustomBaseButtonProps<AsType>, 'onClick'> {}\n"],"names":[],"mappings":";;;;AAmBO,SAAS,mBACd,OACa;AACb,QAAM,CAAC,mBAAmB,oBAAoB,IAAI,SAAS,KAAK;AAChE,QAAM,EAAC,QAAQ,YAAW,IAAI,QAAQ;AACtC,QAAM,EAAC,UAAU,GAAG,iBAAA,IAAoB;AAExC,YAAU,MAAM;AACV,QAAA,qBAAqB,eAAe,WAAW,QAAQ;AACzD,aAAO,SAAS,OAAO;AAAA,IACzB;AAAA,EACC,GAAA,CAAC,mBAAmB,QAAQ,WAAW,CAAC;AAGzC,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ,UAAU,qBAAqB,iBAAiB;AAAA,MAChD,SAAS,MAAY,qBAAqB,IAAI;AAAA,MAE7C;AAAA,IAAA;AAAA,EAAA;AAGP;"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const Money = require("./Money.js");
5
+ const CartProvider = require("./CartProvider.js");
6
+ function CartCost(props) {
7
+ const { cost } = CartProvider.useCart();
8
+ const { amountType = "total", children, ...passthroughProps } = props;
9
+ let amount;
10
+ if (amountType == "total") {
11
+ amount = cost == null ? void 0 : cost.totalAmount;
12
+ } else if (amountType == "subtotal") {
13
+ amount = cost == null ? void 0 : cost.subtotalAmount;
14
+ } else if (amountType == "tax") {
15
+ amount = cost == null ? void 0 : cost.totalTaxAmount;
16
+ } else if (amountType == "duty") {
17
+ amount = cost == null ? void 0 : cost.totalDutyAmount;
18
+ }
19
+ if (amount == null) {
20
+ return null;
21
+ }
22
+ return /* @__PURE__ */ jsxRuntime.jsx(Money.Money, { ...passthroughProps, data: amount, children });
23
+ }
24
+ exports.CartCost = CartCost;
25
+ //# sourceMappingURL=CartCost.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CartCost.js","sources":["../../src/CartCost.tsx"],"sourcesContent":["import {Money, type MoneyPropsBase} from './Money.js';\nimport {useCart} from './CartProvider.js';\n\ninterface CartCostPropsBase {\n /** A string type that defines the type of cost needed. Valid values: `total`, `subtotal`, `tax`, or `duty`. */\n amountType?: 'total' | 'subtotal' | 'tax' | 'duty';\n /** Any `ReactNode` elements. */\n children?: React.ReactNode;\n}\n\ntype CartCostProps = Omit<React.ComponentProps<typeof Money>, 'data'> &\n CartCostPropsBase;\n\n/**\n * The `CartCost` component renders a `Money` component with the cost associated with the `amountType` prop.\n * If no `amountType` prop is specified, then it defaults to `totalAmount`.\n * Depends on `useCart()` and must be a child of `<CartProvider/>`\n */\nexport function CartCost(props: CartCostProps): JSX.Element | null {\n const {cost} = useCart();\n const {amountType = 'total', children, ...passthroughProps} = props;\n let amount;\n\n if (amountType == 'total') {\n amount = cost?.totalAmount;\n } else if (amountType == 'subtotal') {\n amount = cost?.subtotalAmount;\n } else if (amountType == 'tax') {\n amount = cost?.totalTaxAmount;\n } else if (amountType == 'duty') {\n amount = cost?.totalDutyAmount;\n }\n\n if (amount == null) {\n return null;\n }\n\n return (\n <Money {...passthroughProps} data={amount}>\n {children}\n </Money>\n );\n}\n\n// This is only for documenation purposes, and it is not used in the code.\nexport interface CartCostPropsForDocs<AsType extends React.ElementType = 'div'>\n extends Omit<MoneyPropsBase<AsType>, 'data'>,\n CartCostPropsBase {}\n"],"names":["useCart","Money"],"mappings":";;;;;AAkBO,SAAS,SAAS,OAA0C;AAC3D,QAAA,EAAC,SAAQA,aAAAA;AACf,QAAM,EAAC,aAAa,SAAS,UAAU,GAAG,iBAAoB,IAAA;AAC1D,MAAA;AAEJ,MAAI,cAAc,SAAS;AACzB,aAAS,6BAAM;AAAA,EAAA,WACN,cAAc,YAAY;AACnC,aAAS,6BAAM;AAAA,EAAA,WACN,cAAc,OAAO;AAC9B,aAAS,6BAAM;AAAA,EAAA,WACN,cAAc,QAAQ;AAC/B,aAAS,6BAAM;AAAA,EACjB;AAEA,MAAI,UAAU,MAAM;AACX,WAAA;AAAA,EACT;AAEA,wCACGC,MAAO,OAAA,EAAA,GAAG,kBAAkB,MAAM,QAChC,SACH,CAAA;AAEJ;;"}
@@ -0,0 +1,25 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { Money } from "./Money.mjs";
3
+ import { useCart } from "./CartProvider.mjs";
4
+ function CartCost(props) {
5
+ const { cost } = useCart();
6
+ const { amountType = "total", children, ...passthroughProps } = props;
7
+ let amount;
8
+ if (amountType == "total") {
9
+ amount = cost == null ? void 0 : cost.totalAmount;
10
+ } else if (amountType == "subtotal") {
11
+ amount = cost == null ? void 0 : cost.subtotalAmount;
12
+ } else if (amountType == "tax") {
13
+ amount = cost == null ? void 0 : cost.totalTaxAmount;
14
+ } else if (amountType == "duty") {
15
+ amount = cost == null ? void 0 : cost.totalDutyAmount;
16
+ }
17
+ if (amount == null) {
18
+ return null;
19
+ }
20
+ return /* @__PURE__ */ jsx(Money, { ...passthroughProps, data: amount, children });
21
+ }
22
+ export {
23
+ CartCost
24
+ };
25
+ //# sourceMappingURL=CartCost.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CartCost.mjs","sources":["../../src/CartCost.tsx"],"sourcesContent":["import {Money, type MoneyPropsBase} from './Money.js';\nimport {useCart} from './CartProvider.js';\n\ninterface CartCostPropsBase {\n /** A string type that defines the type of cost needed. Valid values: `total`, `subtotal`, `tax`, or `duty`. */\n amountType?: 'total' | 'subtotal' | 'tax' | 'duty';\n /** Any `ReactNode` elements. */\n children?: React.ReactNode;\n}\n\ntype CartCostProps = Omit<React.ComponentProps<typeof Money>, 'data'> &\n CartCostPropsBase;\n\n/**\n * The `CartCost` component renders a `Money` component with the cost associated with the `amountType` prop.\n * If no `amountType` prop is specified, then it defaults to `totalAmount`.\n * Depends on `useCart()` and must be a child of `<CartProvider/>`\n */\nexport function CartCost(props: CartCostProps): JSX.Element | null {\n const {cost} = useCart();\n const {amountType = 'total', children, ...passthroughProps} = props;\n let amount;\n\n if (amountType == 'total') {\n amount = cost?.totalAmount;\n } else if (amountType == 'subtotal') {\n amount = cost?.subtotalAmount;\n } else if (amountType == 'tax') {\n amount = cost?.totalTaxAmount;\n } else if (amountType == 'duty') {\n amount = cost?.totalDutyAmount;\n }\n\n if (amount == null) {\n return null;\n }\n\n return (\n <Money {...passthroughProps} data={amount}>\n {children}\n </Money>\n );\n}\n\n// This is only for documenation purposes, and it is not used in the code.\nexport interface CartCostPropsForDocs<AsType extends React.ElementType = 'div'>\n extends Omit<MoneyPropsBase<AsType>, 'data'>,\n CartCostPropsBase {}\n"],"names":[],"mappings":";;;AAkBO,SAAS,SAAS,OAA0C;AAC3D,QAAA,EAAC,SAAQ;AACf,QAAM,EAAC,aAAa,SAAS,UAAU,GAAG,iBAAoB,IAAA;AAC1D,MAAA;AAEJ,MAAI,cAAc,SAAS;AACzB,aAAS,6BAAM;AAAA,EAAA,WACN,cAAc,YAAY;AACnC,aAAS,6BAAM;AAAA,EAAA,WACN,cAAc,OAAO;AAC9B,aAAS,6BAAM;AAAA,EAAA,WACN,cAAc,QAAQ;AAC/B,aAAS,6BAAM;AAAA,EACjB;AAEA,MAAI,UAAU,MAAM;AACX,WAAA;AAAA,EACT;AAEA,6BACG,OAAO,EAAA,GAAG,kBAAkB,MAAM,QAChC,SACH,CAAA;AAEJ;"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const Money = require("./Money.js");
5
+ function CartLinePrice(props) {
6
+ var _a, _b;
7
+ {
8
+ console.warn(`<CartLinePrice/> is deprecated; use <Money/> instead.`);
9
+ }
10
+ const { data: cartLine, priceType = "regular", ...passthroughProps } = props;
11
+ if (cartLine == null) {
12
+ throw new Error(`<CartLinePrice/> requires a cart line as the 'data' prop`);
13
+ }
14
+ const moneyV2 = priceType === "regular" ? (_a = cartLine.cost) == null ? void 0 : _a.totalAmount : (_b = cartLine.cost) == null ? void 0 : _b.compareAtAmountPerQuantity;
15
+ if (moneyV2 == null) {
16
+ return null;
17
+ }
18
+ return /* @__PURE__ */ jsxRuntime.jsx(Money.Money, { ...passthroughProps, data: moneyV2 });
19
+ }
20
+ exports.CartLinePrice = CartLinePrice;
21
+ //# sourceMappingURL=CartLinePrice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CartLinePrice.js","sources":["../../src/CartLinePrice.tsx"],"sourcesContent":["import {Money, type MoneyPropsBase} from './Money.js';\nimport {CartLine} from './storefront-api-types.js';\nimport {PartialDeep} from 'type-fest';\n\ninterface CartLinePricePropsBase {\n /** A [CartLine object](https://shopify.dev/api/storefront/reference/objects/CartLine). */\n data: PartialDeep<CartLine, {recurseIntoArrays: true}>;\n /** The type of price. Valid values:`regular` (default) or `compareAt`. */\n priceType?: 'regular' | 'compareAt';\n}\n\ntype CartLinePriceProps = Omit<React.ComponentProps<typeof Money>, 'data'> &\n CartLinePricePropsBase;\n\n/**\n * @deprecated Use `Money` instead. To migrate, use the `priceType` prop that matches the corresponding property on the `CartLine` object:\n * - `regular`: `cartLine.cost.totalAmount`\n * - `compareAt`: `cartLine.cost.compareAtAmountPerQuantity`\n *\n * For example:\n * ```\n * // before\n * <CartLinePrice data={cartLine} priceType=\"regular\" />\n * // after\n * <Money data={cartLine.cost.totalAmount} />\n * ```\n *\n * The `CartLinePrice` component renders a `Money` component for the cart line merchandise's price or compare at price.\n */\nexport function CartLinePrice(props: CartLinePriceProps): JSX.Element | null {\n if (__HYDROGEN_DEV__) {\n console.warn(`<CartLinePrice/> is deprecated; use <Money/> instead.`);\n }\n\n const {data: cartLine, priceType = 'regular', ...passthroughProps} = props;\n\n if (cartLine == null) {\n throw new Error(`<CartLinePrice/> requires a cart line as the 'data' prop`);\n }\n\n const moneyV2 =\n priceType === 'regular'\n ? cartLine.cost?.totalAmount\n : cartLine.cost?.compareAtAmountPerQuantity;\n\n if (moneyV2 == null) {\n return null;\n }\n\n return <Money {...passthroughProps} data={moneyV2} />;\n}\n\n// This is only for documenation purposes, and it is not used in the code.\nexport interface CartLinePricePropsForDocs<\n AsType extends React.ElementType = 'div'\n> extends Omit<MoneyPropsBase<AsType>, 'data'>,\n CartLinePricePropsBase {}\n"],"names":["jsx","Money"],"mappings":";;;;AA6BO,SAAS,cAAc,OAA+C;;AACrD;AACpB,YAAQ,KAAK,uDAAuD;AAAA,EACtE;AAEA,QAAM,EAAC,MAAM,UAAU,YAAY,WAAW,GAAG,iBAAoB,IAAA;AAErE,MAAI,YAAY,MAAM;AACd,UAAA,IAAI,MAAM,0DAA0D;AAAA,EAC5E;AAEA,QAAM,UACJ,cAAc,aACV,cAAS,SAAT,mBAAe,eACf,cAAS,SAAT,mBAAe;AAErB,MAAI,WAAW,MAAM;AACZ,WAAA;AAAA,EACT;AAEA,SAAQA,2BAAAA,IAAAC,MAAAA,OAAA,EAAO,GAAG,kBAAkB,MAAM,QAAS,CAAA;AACrD;;"}
@@ -0,0 +1,21 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { Money } from "./Money.mjs";
3
+ function CartLinePrice(props) {
4
+ var _a, _b;
5
+ {
6
+ console.warn(`<CartLinePrice/> is deprecated; use <Money/> instead.`);
7
+ }
8
+ const { data: cartLine, priceType = "regular", ...passthroughProps } = props;
9
+ if (cartLine == null) {
10
+ throw new Error(`<CartLinePrice/> requires a cart line as the 'data' prop`);
11
+ }
12
+ const moneyV2 = priceType === "regular" ? (_a = cartLine.cost) == null ? void 0 : _a.totalAmount : (_b = cartLine.cost) == null ? void 0 : _b.compareAtAmountPerQuantity;
13
+ if (moneyV2 == null) {
14
+ return null;
15
+ }
16
+ return /* @__PURE__ */ jsx(Money, { ...passthroughProps, data: moneyV2 });
17
+ }
18
+ export {
19
+ CartLinePrice
20
+ };
21
+ //# sourceMappingURL=CartLinePrice.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CartLinePrice.mjs","sources":["../../src/CartLinePrice.tsx"],"sourcesContent":["import {Money, type MoneyPropsBase} from './Money.js';\nimport {CartLine} from './storefront-api-types.js';\nimport {PartialDeep} from 'type-fest';\n\ninterface CartLinePricePropsBase {\n /** A [CartLine object](https://shopify.dev/api/storefront/reference/objects/CartLine). */\n data: PartialDeep<CartLine, {recurseIntoArrays: true}>;\n /** The type of price. Valid values:`regular` (default) or `compareAt`. */\n priceType?: 'regular' | 'compareAt';\n}\n\ntype CartLinePriceProps = Omit<React.ComponentProps<typeof Money>, 'data'> &\n CartLinePricePropsBase;\n\n/**\n * @deprecated Use `Money` instead. To migrate, use the `priceType` prop that matches the corresponding property on the `CartLine` object:\n * - `regular`: `cartLine.cost.totalAmount`\n * - `compareAt`: `cartLine.cost.compareAtAmountPerQuantity`\n *\n * For example:\n * ```\n * // before\n * <CartLinePrice data={cartLine} priceType=\"regular\" />\n * // after\n * <Money data={cartLine.cost.totalAmount} />\n * ```\n *\n * The `CartLinePrice` component renders a `Money` component for the cart line merchandise's price or compare at price.\n */\nexport function CartLinePrice(props: CartLinePriceProps): JSX.Element | null {\n if (__HYDROGEN_DEV__) {\n console.warn(`<CartLinePrice/> is deprecated; use <Money/> instead.`);\n }\n\n const {data: cartLine, priceType = 'regular', ...passthroughProps} = props;\n\n if (cartLine == null) {\n throw new Error(`<CartLinePrice/> requires a cart line as the 'data' prop`);\n }\n\n const moneyV2 =\n priceType === 'regular'\n ? cartLine.cost?.totalAmount\n : cartLine.cost?.compareAtAmountPerQuantity;\n\n if (moneyV2 == null) {\n return null;\n }\n\n return <Money {...passthroughProps} data={moneyV2} />;\n}\n\n// This is only for documenation purposes, and it is not used in the code.\nexport interface CartLinePricePropsForDocs<\n AsType extends React.ElementType = 'div'\n> extends Omit<MoneyPropsBase<AsType>, 'data'>,\n CartLinePricePropsBase {}\n"],"names":[],"mappings":";;AA6BO,SAAS,cAAc,OAA+C;;AACrD;AACpB,YAAQ,KAAK,uDAAuD;AAAA,EACtE;AAEA,QAAM,EAAC,MAAM,UAAU,YAAY,WAAW,GAAG,iBAAoB,IAAA;AAErE,MAAI,YAAY,MAAM;AACd,UAAA,IAAI,MAAM,0DAA0D;AAAA,EAC5E;AAEA,QAAM,UACJ,cAAc,aACV,cAAS,SAAT,mBAAe,eACf,cAAS,SAAT,mBAAe;AAErB,MAAI,WAAW,MAAM;AACZ,WAAA;AAAA,EACT;AAEA,SAAQ,oBAAA,OAAA,EAAO,GAAG,kBAAkB,MAAM,QAAS,CAAA;AACrD;"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const require$$0 = require("react");
5
+ const CartLineContext = require$$0.createContext(null);
6
+ function useCartLine() {
7
+ const context = require$$0.useContext(CartLineContext);
8
+ if (context == null) {
9
+ throw new Error("Expected a cart line context but none was found");
10
+ }
11
+ return context;
12
+ }
13
+ function CartLineProvider({
14
+ children,
15
+ line
16
+ }) {
17
+ return /* @__PURE__ */ jsxRuntime.jsx(CartLineContext.Provider, { value: line, children });
18
+ }
19
+ exports.CartLineContext = CartLineContext;
20
+ exports.CartLineProvider = CartLineProvider;
21
+ exports.useCartLine = useCartLine;
22
+ //# sourceMappingURL=CartLineProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CartLineProvider.js","sources":["../../src/CartLineProvider.tsx"],"sourcesContent":["import {useContext, createContext, type ReactNode} from 'react';\nimport type {CartLine} from './storefront-api-types.js';\nimport type {PartialDeep} from 'type-fest';\n\ntype CartLinePartialDeep = PartialDeep<CartLine, {recurseIntoArrays: true}>;\n\nexport const CartLineContext = createContext<CartLinePartialDeep | null>(null);\n\n/**\n * The `useCartLine` hook provides access to the [CartLine object](https://shopify.dev/api/storefront/unstable/objects/cartline) from the Storefront API. It must be a descendent of a `CartProvider` component.\n */\nexport function useCartLine(): CartLinePartialDeep {\n const context = useContext(CartLineContext);\n\n if (context == null) {\n throw new Error('Expected a cart line context but none was found');\n }\n\n return context;\n}\n\ntype CartLineProviderProps = {\n /** Any `ReactNode` elements. */\n children: ReactNode;\n /** A cart line object. */\n line: CartLinePartialDeep;\n};\n\n/**\n * The `CartLineProvider` component creates a context for using a cart line.\n */\nexport function CartLineProvider({\n children,\n line,\n}: CartLineProviderProps): JSX.Element {\n return (\n <CartLineContext.Provider value={line}>{children}</CartLineContext.Provider>\n );\n}\n"],"names":["createContext","useContext"],"mappings":";;;;AAMa,MAAA,kBAAkBA,yBAA0C,IAAI;AAKtE,SAAS,cAAmC;AAC3C,QAAA,UAAUC,sBAAW,eAAe;AAE1C,MAAI,WAAW,MAAM;AACb,UAAA,IAAI,MAAM,iDAAiD;AAAA,EACnE;AAEO,SAAA;AACT;AAYO,SAAS,iBAAiB;AAAA,EAC/B;AAAA,EACA;AACF,GAAuC;AACrC,wCACG,gBAAgB,UAAhB,EAAyB,OAAO,MAAO,SAAS,CAAA;AAErD;;;;"}
@@ -0,0 +1,22 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { createContext, useContext } from "react";
3
+ const CartLineContext = createContext(null);
4
+ function useCartLine() {
5
+ const context = useContext(CartLineContext);
6
+ if (context == null) {
7
+ throw new Error("Expected a cart line context but none was found");
8
+ }
9
+ return context;
10
+ }
11
+ function CartLineProvider({
12
+ children,
13
+ line
14
+ }) {
15
+ return /* @__PURE__ */ jsx(CartLineContext.Provider, { value: line, children });
16
+ }
17
+ export {
18
+ CartLineContext,
19
+ CartLineProvider,
20
+ useCartLine
21
+ };
22
+ //# sourceMappingURL=CartLineProvider.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CartLineProvider.mjs","sources":["../../src/CartLineProvider.tsx"],"sourcesContent":["import {useContext, createContext, type ReactNode} from 'react';\nimport type {CartLine} from './storefront-api-types.js';\nimport type {PartialDeep} from 'type-fest';\n\ntype CartLinePartialDeep = PartialDeep<CartLine, {recurseIntoArrays: true}>;\n\nexport const CartLineContext = createContext<CartLinePartialDeep | null>(null);\n\n/**\n * The `useCartLine` hook provides access to the [CartLine object](https://shopify.dev/api/storefront/unstable/objects/cartline) from the Storefront API. It must be a descendent of a `CartProvider` component.\n */\nexport function useCartLine(): CartLinePartialDeep {\n const context = useContext(CartLineContext);\n\n if (context == null) {\n throw new Error('Expected a cart line context but none was found');\n }\n\n return context;\n}\n\ntype CartLineProviderProps = {\n /** Any `ReactNode` elements. */\n children: ReactNode;\n /** A cart line object. */\n line: CartLinePartialDeep;\n};\n\n/**\n * The `CartLineProvider` component creates a context for using a cart line.\n */\nexport function CartLineProvider({\n children,\n line,\n}: CartLineProviderProps): JSX.Element {\n return (\n <CartLineContext.Provider value={line}>{children}</CartLineContext.Provider>\n );\n}\n"],"names":[],"mappings":";;AAMa,MAAA,kBAAkB,cAA0C,IAAI;AAKtE,SAAS,cAAmC;AAC3C,QAAA,UAAU,WAAW,eAAe;AAE1C,MAAI,WAAW,MAAM;AACb,UAAA,IAAI,MAAM,iDAAiD;AAAA,EACnE;AAEO,SAAA;AACT;AAYO,SAAS,iBAAiB;AAAA,EAC/B;AAAA,EACA;AACF,GAAuC;AACrC,6BACG,gBAAgB,UAAhB,EAAyB,OAAO,MAAO,SAAS,CAAA;AAErD;"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const CartLineProvider = require("./CartLineProvider.js");
5
+ function CartLineQuantity(props) {
6
+ const cartLine = CartLineProvider.useCartLine();
7
+ const { as, ...passthroughProps } = props;
8
+ const Wrapper = as ? as : "span";
9
+ return /* @__PURE__ */ jsxRuntime.jsx(Wrapper, { ...passthroughProps, children: cartLine.quantity });
10
+ }
11
+ exports.CartLineQuantity = CartLineQuantity;
12
+ //# sourceMappingURL=CartLineQuantity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CartLineQuantity.js","sources":["../../src/CartLineQuantity.tsx"],"sourcesContent":["import type {ComponentPropsWithoutRef, ElementType} from 'react';\nimport {useCartLine} from './CartLineProvider.js';\n\ninterface CartLineQuantityBaseProps<\n ComponentGeneric extends ElementType = 'span'\n> {\n /** An HTML tag or React Component to be rendered as the base element wrapper. The default is `span`. */\n as?: ComponentGeneric;\n}\n\nexport type CartLineQuantityProps<ComponentGeneric extends ElementType> =\n CartLineQuantityBaseProps<ComponentGeneric> &\n Omit<\n ComponentPropsWithoutRef<ComponentGeneric>,\n keyof CartLineQuantityBaseProps<ComponentGeneric>\n >;\n\n/**\n * The `<CartLineQuantity/>` component renders a `span` (or another element / component that can be customized by the `as` prop) with the cart line's quantity.\n *\n * It must be a descendent of a `<CartLineProvider/>` component, and uses the `useCartLine()` hook internally.\n */\nexport function CartLineQuantity<ComponentGeneric extends ElementType = 'span'>(\n props: CartLineQuantityProps<ComponentGeneric>\n): JSX.Element {\n const cartLine = useCartLine();\n const {as, ...passthroughProps} = props;\n\n const Wrapper = as ? as : 'span';\n\n return <Wrapper {...passthroughProps}>{cartLine.quantity}</Wrapper>;\n}\n"],"names":["useCartLine","jsx"],"mappings":";;;;AAsBO,SAAS,iBACd,OACa;AACb,QAAM,WAAWA,iBAAAA;AACjB,QAAM,EAAC,IAAI,GAAG,iBAAA,IAAoB;AAE5B,QAAA,UAAU,KAAK,KAAK;AAE1B,SAAQC,2BAAA,IAAA,SAAA,EAAS,GAAG,kBAAmB,mBAAS,SAAS,CAAA;AAC3D;;"}
@@ -0,0 +1,12 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useCartLine } from "./CartLineProvider.mjs";
3
+ function CartLineQuantity(props) {
4
+ const cartLine = useCartLine();
5
+ const { as, ...passthroughProps } = props;
6
+ const Wrapper = as ? as : "span";
7
+ return /* @__PURE__ */ jsx(Wrapper, { ...passthroughProps, children: cartLine.quantity });
8
+ }
9
+ export {
10
+ CartLineQuantity
11
+ };
12
+ //# sourceMappingURL=CartLineQuantity.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CartLineQuantity.mjs","sources":["../../src/CartLineQuantity.tsx"],"sourcesContent":["import type {ComponentPropsWithoutRef, ElementType} from 'react';\nimport {useCartLine} from './CartLineProvider.js';\n\ninterface CartLineQuantityBaseProps<\n ComponentGeneric extends ElementType = 'span'\n> {\n /** An HTML tag or React Component to be rendered as the base element wrapper. The default is `span`. */\n as?: ComponentGeneric;\n}\n\nexport type CartLineQuantityProps<ComponentGeneric extends ElementType> =\n CartLineQuantityBaseProps<ComponentGeneric> &\n Omit<\n ComponentPropsWithoutRef<ComponentGeneric>,\n keyof CartLineQuantityBaseProps<ComponentGeneric>\n >;\n\n/**\n * The `<CartLineQuantity/>` component renders a `span` (or another element / component that can be customized by the `as` prop) with the cart line's quantity.\n *\n * It must be a descendent of a `<CartLineProvider/>` component, and uses the `useCartLine()` hook internally.\n */\nexport function CartLineQuantity<ComponentGeneric extends ElementType = 'span'>(\n props: CartLineQuantityProps<ComponentGeneric>\n): JSX.Element {\n const cartLine = useCartLine();\n const {as, ...passthroughProps} = props;\n\n const Wrapper = as ? as : 'span';\n\n return <Wrapper {...passthroughProps}>{cartLine.quantity}</Wrapper>;\n}\n"],"names":[],"mappings":";;AAsBO,SAAS,iBACd,OACa;AACb,QAAM,WAAW;AACjB,QAAM,EAAC,IAAI,GAAG,iBAAA,IAAoB;AAE5B,QAAA,UAAU,KAAK,KAAK;AAE1B,SAAQ,oBAAA,SAAA,EAAS,GAAG,kBAAmB,mBAAS,SAAS,CAAA;AAC3D;"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const require$$0 = require("react");
5
+ const CartProvider = require("./CartProvider.js");
6
+ const CartLineProvider = require("./CartLineProvider.js");
7
+ const BaseButton = require("./BaseButton.js");
8
+ function CartLineQuantityAdjustButton(props) {
9
+ const { status, linesRemove, linesUpdate } = CartProvider.useCart();
10
+ const cartLine = CartLineProvider.useCartLine();
11
+ const { children, adjust, onClick, ...passthroughProps } = props;
12
+ const handleAdjust = require$$0.useCallback(() => {
13
+ if (adjust === "remove") {
14
+ linesRemove([(cartLine == null ? void 0 : cartLine.id) ?? ""]);
15
+ return;
16
+ }
17
+ const quantity = adjust === "decrease" ? ((cartLine == null ? void 0 : cartLine.quantity) ?? 0) - 1 : ((cartLine == null ? void 0 : cartLine.quantity) ?? 0) + 1;
18
+ if (quantity <= 0) {
19
+ linesRemove([(cartLine == null ? void 0 : cartLine.id) ?? ""]);
20
+ return;
21
+ }
22
+ const lineUpdate = {
23
+ id: (cartLine == null ? void 0 : cartLine.id) ?? "",
24
+ quantity,
25
+ attributes: (cartLine == null ? void 0 : cartLine.attributes) ?? []
26
+ };
27
+ linesUpdate([lineUpdate]);
28
+ }, [
29
+ adjust,
30
+ cartLine == null ? void 0 : cartLine.attributes,
31
+ cartLine == null ? void 0 : cartLine.id,
32
+ cartLine == null ? void 0 : cartLine.quantity,
33
+ linesRemove,
34
+ linesUpdate
35
+ ]);
36
+ return /* @__PURE__ */ jsxRuntime.jsx(
37
+ BaseButton.BaseButton,
38
+ {
39
+ onClick,
40
+ defaultOnClick: handleAdjust,
41
+ disabled: typeof passthroughProps.disabled !== "undefined" ? passthroughProps.disabled : status !== "idle",
42
+ ...passthroughProps,
43
+ children
44
+ }
45
+ );
46
+ }
47
+ exports.CartLineQuantityAdjustButton = CartLineQuantityAdjustButton;
48
+ //# sourceMappingURL=CartLineQuantityAdjustButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CartLineQuantityAdjustButton.js","sources":["../../src/CartLineQuantityAdjustButton.tsx"],"sourcesContent":["import {useCallback} from 'react';\nimport {useCart} from './CartProvider.js';\nimport {useCartLine} from './CartLineProvider.js';\nimport {BaseButton, type BaseButtonProps} from './BaseButton.js';\nimport type {CartLineUpdateInput} from './storefront-api-types.js';\n\ninterface CartLineQuantityAdjustButtonBaseProps {\n /** The adjustment for a cart line's quantity. Valid values: `increase` (default), `decrease`, or `remove`. */\n adjust?: 'increase' | 'decrease' | 'remove';\n}\n\ntype CartLineQuantityAdjustButtonProps<\n AsType extends React.ElementType = 'button'\n> = BaseButtonProps<AsType> & CartLineQuantityAdjustButtonBaseProps;\n\n/**\n * The `<CartLineQuantityAdjustButton />` component renders a button that adjusts the cart line's quantity when pressed.\n *\n * It must be a descendent of `<CartLineProvider/>` and `<CartProvider/>`.\n */\nexport function CartLineQuantityAdjustButton<\n AsType extends React.ElementType = 'button'\n>(props: CartLineQuantityAdjustButtonProps<AsType>): JSX.Element {\n const {status, linesRemove, linesUpdate} = useCart();\n const cartLine = useCartLine();\n const {children, adjust, onClick, ...passthroughProps} = props;\n\n const handleAdjust = useCallback(() => {\n if (adjust === 'remove') {\n linesRemove([cartLine?.id ?? '']);\n return;\n }\n\n const quantity =\n adjust === 'decrease'\n ? (cartLine?.quantity ?? 0) - 1\n : (cartLine?.quantity ?? 0) + 1;\n\n if (quantity <= 0) {\n linesRemove([cartLine?.id ?? '']);\n return;\n }\n\n const lineUpdate = {\n id: cartLine?.id ?? '',\n quantity,\n attributes: (cartLine?.attributes ??\n []) as CartLineUpdateInput['attributes'],\n } satisfies CartLineUpdateInput;\n\n linesUpdate([lineUpdate]);\n }, [\n adjust,\n cartLine?.attributes,\n cartLine?.id,\n cartLine?.quantity,\n linesRemove,\n linesUpdate,\n ]);\n\n return (\n <BaseButton\n onClick={onClick}\n defaultOnClick={handleAdjust}\n disabled={\n typeof passthroughProps.disabled !== 'undefined'\n ? passthroughProps.disabled\n : status !== 'idle'\n }\n {...passthroughProps}\n >\n {children}\n </BaseButton>\n );\n}\n"],"names":["useCart","useCartLine","useCallback","jsx","BaseButton"],"mappings":";;;;;;;AAoBO,SAAS,6BAEd,OAA+D;AAC/D,QAAM,EAAC,QAAQ,aAAa,gBAAeA,aAAQ,QAAA;AACnD,QAAM,WAAWC,iBAAAA;AACjB,QAAM,EAAC,UAAU,QAAQ,SAAS,GAAG,iBAAoB,IAAA;AAEnD,QAAA,eAAeC,WAAAA,YAAY,MAAM;AACrC,QAAI,WAAW,UAAU;AACvB,kBAAY,EAAC,qCAAU,OAAM,EAAE,CAAC;AAChC;AAAA,IACF;AAEM,UAAA,WACJ,WAAW,eACN,qCAAU,aAAY,KAAK,MAC3B,qCAAU,aAAY,KAAK;AAElC,QAAI,YAAY,GAAG;AACjB,kBAAY,EAAC,qCAAU,OAAM,EAAE,CAAC;AAChC;AAAA,IACF;AAEA,UAAM,aAAa;AAAA,MACjB,KAAI,qCAAU,OAAM;AAAA,MACpB;AAAA,MACA,aAAa,qCAAU,eACrB,CAAC;AAAA,IAAA;AAGO,gBAAA,CAAC,UAAU,CAAC;AAAA,EAAA,GACvB;AAAA,IACD;AAAA,IACA,qCAAU;AAAA,IACV,qCAAU;AAAA,IACV,qCAAU;AAAA,IACV;AAAA,IACA;AAAA,EAAA,CACD;AAGC,SAAAC,2BAAA;AAAA,IAACC,WAAA;AAAA,IAAA;AAAA,MACC;AAAA,MACA,gBAAgB;AAAA,MAChB,UACE,OAAO,iBAAiB,aAAa,cACjC,iBAAiB,WACjB,WAAW;AAAA,MAEhB,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EAAA;AAGP;;"}
@@ -0,0 +1,48 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useCallback } from "react";
3
+ import { useCart } from "./CartProvider.mjs";
4
+ import { useCartLine } from "./CartLineProvider.mjs";
5
+ import { BaseButton } from "./BaseButton.mjs";
6
+ function CartLineQuantityAdjustButton(props) {
7
+ const { status, linesRemove, linesUpdate } = useCart();
8
+ const cartLine = useCartLine();
9
+ const { children, adjust, onClick, ...passthroughProps } = props;
10
+ const handleAdjust = useCallback(() => {
11
+ if (adjust === "remove") {
12
+ linesRemove([(cartLine == null ? void 0 : cartLine.id) ?? ""]);
13
+ return;
14
+ }
15
+ const quantity = adjust === "decrease" ? ((cartLine == null ? void 0 : cartLine.quantity) ?? 0) - 1 : ((cartLine == null ? void 0 : cartLine.quantity) ?? 0) + 1;
16
+ if (quantity <= 0) {
17
+ linesRemove([(cartLine == null ? void 0 : cartLine.id) ?? ""]);
18
+ return;
19
+ }
20
+ const lineUpdate = {
21
+ id: (cartLine == null ? void 0 : cartLine.id) ?? "",
22
+ quantity,
23
+ attributes: (cartLine == null ? void 0 : cartLine.attributes) ?? []
24
+ };
25
+ linesUpdate([lineUpdate]);
26
+ }, [
27
+ adjust,
28
+ cartLine == null ? void 0 : cartLine.attributes,
29
+ cartLine == null ? void 0 : cartLine.id,
30
+ cartLine == null ? void 0 : cartLine.quantity,
31
+ linesRemove,
32
+ linesUpdate
33
+ ]);
34
+ return /* @__PURE__ */ jsx(
35
+ BaseButton,
36
+ {
37
+ onClick,
38
+ defaultOnClick: handleAdjust,
39
+ disabled: typeof passthroughProps.disabled !== "undefined" ? passthroughProps.disabled : status !== "idle",
40
+ ...passthroughProps,
41
+ children
42
+ }
43
+ );
44
+ }
45
+ export {
46
+ CartLineQuantityAdjustButton
47
+ };
48
+ //# sourceMappingURL=CartLineQuantityAdjustButton.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CartLineQuantityAdjustButton.mjs","sources":["../../src/CartLineQuantityAdjustButton.tsx"],"sourcesContent":["import {useCallback} from 'react';\nimport {useCart} from './CartProvider.js';\nimport {useCartLine} from './CartLineProvider.js';\nimport {BaseButton, type BaseButtonProps} from './BaseButton.js';\nimport type {CartLineUpdateInput} from './storefront-api-types.js';\n\ninterface CartLineQuantityAdjustButtonBaseProps {\n /** The adjustment for a cart line's quantity. Valid values: `increase` (default), `decrease`, or `remove`. */\n adjust?: 'increase' | 'decrease' | 'remove';\n}\n\ntype CartLineQuantityAdjustButtonProps<\n AsType extends React.ElementType = 'button'\n> = BaseButtonProps<AsType> & CartLineQuantityAdjustButtonBaseProps;\n\n/**\n * The `<CartLineQuantityAdjustButton />` component renders a button that adjusts the cart line's quantity when pressed.\n *\n * It must be a descendent of `<CartLineProvider/>` and `<CartProvider/>`.\n */\nexport function CartLineQuantityAdjustButton<\n AsType extends React.ElementType = 'button'\n>(props: CartLineQuantityAdjustButtonProps<AsType>): JSX.Element {\n const {status, linesRemove, linesUpdate} = useCart();\n const cartLine = useCartLine();\n const {children, adjust, onClick, ...passthroughProps} = props;\n\n const handleAdjust = useCallback(() => {\n if (adjust === 'remove') {\n linesRemove([cartLine?.id ?? '']);\n return;\n }\n\n const quantity =\n adjust === 'decrease'\n ? (cartLine?.quantity ?? 0) - 1\n : (cartLine?.quantity ?? 0) + 1;\n\n if (quantity <= 0) {\n linesRemove([cartLine?.id ?? '']);\n return;\n }\n\n const lineUpdate = {\n id: cartLine?.id ?? '',\n quantity,\n attributes: (cartLine?.attributes ??\n []) as CartLineUpdateInput['attributes'],\n } satisfies CartLineUpdateInput;\n\n linesUpdate([lineUpdate]);\n }, [\n adjust,\n cartLine?.attributes,\n cartLine?.id,\n cartLine?.quantity,\n linesRemove,\n linesUpdate,\n ]);\n\n return (\n <BaseButton\n onClick={onClick}\n defaultOnClick={handleAdjust}\n disabled={\n typeof passthroughProps.disabled !== 'undefined'\n ? passthroughProps.disabled\n : status !== 'idle'\n }\n {...passthroughProps}\n >\n {children}\n </BaseButton>\n );\n}\n"],"names":[],"mappings":";;;;;AAoBO,SAAS,6BAEd,OAA+D;AAC/D,QAAM,EAAC,QAAQ,aAAa,gBAAe,QAAQ;AACnD,QAAM,WAAW;AACjB,QAAM,EAAC,UAAU,QAAQ,SAAS,GAAG,iBAAoB,IAAA;AAEnD,QAAA,eAAe,YAAY,MAAM;AACrC,QAAI,WAAW,UAAU;AACvB,kBAAY,EAAC,qCAAU,OAAM,EAAE,CAAC;AAChC;AAAA,IACF;AAEM,UAAA,WACJ,WAAW,eACN,qCAAU,aAAY,KAAK,MAC3B,qCAAU,aAAY,KAAK;AAElC,QAAI,YAAY,GAAG;AACjB,kBAAY,EAAC,qCAAU,OAAM,EAAE,CAAC;AAChC;AAAA,IACF;AAEA,UAAM,aAAa;AAAA,MACjB,KAAI,qCAAU,OAAM;AAAA,MACpB;AAAA,MACA,aAAa,qCAAU,eACrB,CAAC;AAAA,IAAA;AAGO,gBAAA,CAAC,UAAU,CAAC;AAAA,EAAA,GACvB;AAAA,IACD;AAAA,IACA,qCAAU;AAAA,IACV,qCAAU;AAAA,IACV,qCAAU;AAAA,IACV;AAAA,IACA;AAAA,EAAA,CACD;AAGC,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,gBAAgB;AAAA,MAChB,UACE,OAAO,iBAAiB,aAAa,cACjC,iBAAiB,WACjB,WAAW;AAAA,MAEhB,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EAAA;AAGP;"}