@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
@@ -0,0 +1,157 @@
1
+ import type { CurrencyCode, LanguageCode, Product, ProductVariant } from './storefront-api-types.js';
2
+ import { AnalyticsEventName, ShopifySalesChannel } from './analytics-constants.js';
3
+ import { SHOPIFY_Y, SHOPIFY_S } from './cart-constants.js';
4
+ export type ClientBrowserParameters = {
5
+ /**
6
+ * Shopify unique user token: Value of `_shopify_y` cookie.
7
+ *
8
+ * Use `getClientBrowserParameters()` to collect this value.
9
+ **/
10
+ uniqueToken: string;
11
+ /**
12
+ * Shopify session token: Value of `_shopify_s` cookie.
13
+ *
14
+ * Use `getClientBrowserParameters()` to collect this value.
15
+ **/
16
+ visitToken: string;
17
+ /**
18
+ * Value of `window.location.href`.
19
+ *
20
+ * Use `getClientBrowserParameters()` to collect this value.
21
+ **/
22
+ url: string;
23
+ /**
24
+ * Value of `window.location.pathname`.
25
+ *
26
+ * Use `getClientBrowserParameters()` to collect this value.
27
+ **/
28
+ path: string;
29
+ /**
30
+ * Value of `window.location.search`.
31
+ *
32
+ * Use `getClientBrowserParameters()` to collect this value.
33
+ **/
34
+ search: string;
35
+ /**
36
+ * Value of `window.location.referrer`.
37
+ *
38
+ * Use `getClientBrowserParameters()` to collect this value.
39
+ **/
40
+ referrer: string;
41
+ /**
42
+ * Value of `document.title`.
43
+ *
44
+ * Use `getClientBrowserParameters()` to collect this value.
45
+ **/
46
+ title: string;
47
+ /**
48
+ * Value of `navigator.userAgent`.
49
+ *
50
+ * Use `getClientBrowserParameters()` to collect this value.
51
+ **/
52
+ userAgent: string;
53
+ /**
54
+ * Navigation type: `'navigate' | 'reload' | 'back_forward' | 'prerender' | 'unknown'`.
55
+ *
56
+ * Use `getClientBrowserParameters()` to collect this value.
57
+ **/
58
+ navigationType: string;
59
+ /**
60
+ * Navigation api: `'PerformanceNavigationTiming' | 'performance.navigation'`.
61
+ *
62
+ * Use `getClientBrowserParameters()` to collect this value.
63
+ **/
64
+ navigationApi: string;
65
+ };
66
+ export type ShopifyAnalyticsProduct = {
67
+ /** Product id in the form of `gid://shopify/Product/<id>`. */
68
+ productGid: Product['id'];
69
+ /** Variant id in the form of `gid://shopify/ProductVariant/<id>`. */
70
+ variantGid?: ProductVariant['id'];
71
+ /** Product name. */
72
+ name: Product['title'];
73
+ /** Variant name. */
74
+ variantName?: ProductVariant['title'];
75
+ /** Product brand or vendor. */
76
+ brand: Product['vendor'];
77
+ /** Product category or type. */
78
+ category?: Product['productType'];
79
+ /** Product price. */
80
+ price: ProductVariant['price']['amount'];
81
+ /** Product sku. */
82
+ sku?: ProductVariant['sku'];
83
+ /** Quantity of the product in this event. */
84
+ quantity?: number;
85
+ };
86
+ type ShopifyAnalyticsBase = {
87
+ /** If we have consent from buyer for data collection */
88
+ hasUserConsent: boolean;
89
+ /** Shopify shop id in the form of `gid://shopify/Shop/<id>`. */
90
+ shopId: string;
91
+ /** Currency code. */
92
+ currency: CurrencyCode;
93
+ /** Shopify storefront id generated by Hydrogen sales channel. */
94
+ storefrontId?: string;
95
+ /** Language displayed to buyer. */
96
+ acceptedLanguage?: LanguageCode;
97
+ /** Shopify sales channel. */
98
+ shopifySalesChannel?: ShopifySalesChannels;
99
+ /** Shopify customer id in the form of `gid://shopify/Customer/<id>`. */
100
+ customerId?: string;
101
+ /** Total value of products. */
102
+ totalValue?: number;
103
+ /** Product list. */
104
+ products?: ShopifyAnalyticsProduct[];
105
+ };
106
+ export type ShopifySalesChannels = keyof typeof ShopifySalesChannel;
107
+ export type AnalyticsEventNames = keyof typeof AnalyticsEventName;
108
+ export interface ShopifyPageViewPayload extends ShopifyAnalyticsBase, ClientBrowserParameters {
109
+ /** Canonical url. */
110
+ canonicalUrl?: string;
111
+ /** Shopify page type. */
112
+ pageType?: string;
113
+ /** Shopify resource id in the form of `gid://shopify/<type>/<id>`. */
114
+ resourceId?: string;
115
+ /** Shopify collection handle. */
116
+ collectionHandle?: string;
117
+ /** Search term used on a search results page. */
118
+ searchString?: string;
119
+ }
120
+ export type ShopifyPageView = {
121
+ /** Use `AnalyticsEventName.PAGE_VIEW` constant. */
122
+ eventName: string;
123
+ payload: ShopifyPageViewPayload;
124
+ };
125
+ export interface ShopifyAddToCartPayload extends ShopifyAnalyticsBase, ClientBrowserParameters {
126
+ /** Shopify cart id in the form of `gid://shopify/Cart/<id>`. */
127
+ cartId: string;
128
+ }
129
+ export type ShopifyAddToCart = {
130
+ /** Use `AnalyticsEventName.ADD_TO_CART` constant. */
131
+ eventName: string;
132
+ payload: ShopifyAddToCartPayload;
133
+ };
134
+ export type ShopifyMonorailPayload = {
135
+ products?: string[];
136
+ [key: string]: unknown;
137
+ };
138
+ export type ShopifyMonorailEvent = {
139
+ schema_id: string;
140
+ payload: ShopifyMonorailPayload;
141
+ metadata: {
142
+ event_created_at_ms: number;
143
+ };
144
+ };
145
+ export type ShopifyAnalyticsPayload = ShopifyPageViewPayload | ShopifyAddToCartPayload;
146
+ export type ShopifyAnalytics = ShopifyPageView | ShopifyAddToCart;
147
+ export type ShopifyCookies = {
148
+ /** Shopify unique user token: Value of `_shopify_y` cookie. */
149
+ [SHOPIFY_Y]: string;
150
+ /** Shopify session token: Value of `_shopify_s` cookie. */
151
+ [SHOPIFY_S]: string;
152
+ };
153
+ export type ShopifyGId = {
154
+ id: string;
155
+ resource: string | null;
156
+ };
157
+ export {};
@@ -0,0 +1,36 @@
1
+ import type { ShopifyMonorailPayload, ShopifyMonorailEvent, ShopifyGId } from './analytics-types.js';
2
+ /**
3
+ * Builds a Shopify Monorail event from a Shopify Monorail payload and a schema ID.
4
+ * @param payload - The Monorail payload
5
+ * @param schemaId - The schema ID to use
6
+ * @returns The formatted payload
7
+ **/
8
+ export declare function schemaWrapper(schemaId: string, payload: ShopifyMonorailPayload): ShopifyMonorailEvent;
9
+ /**
10
+ * Parses global id (gid) and returns the resource type and id.
11
+ * @see https://shopify.dev/api/usage/gids
12
+ * @param gid - A shopify GID (string)
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * const {id, resource} = parseGid('gid://shopify/Order/123')
17
+ * // => id = "123", resource = 'Order'
18
+ *
19
+ * * const {id, resource} = parseGid('gid://shopify/Cart/abc123')
20
+ * // => id = "abc123", resource = 'Cart'
21
+ * ```
22
+ **/
23
+ export declare function parseGid(gid: string | undefined): ShopifyGId;
24
+ /**
25
+ * Filters properties from an object and returns a new object with only the properties that have a truthy value.
26
+ * @param keyValuePairs - An object of key-value pairs
27
+ * @param formattedData - An object which will hold the truthy values
28
+ * @returns The formatted object
29
+ **/
30
+ export declare function addDataIf(keyValuePairs: ShopifyMonorailPayload, formattedData: ShopifyMonorailPayload): ShopifyMonorailPayload;
31
+ /**
32
+ * Utility that errors if a function is called on the server.
33
+ * @param fnName - The name of the function
34
+ * @returns A boolean
35
+ **/
36
+ export declare function errorIfServer(fnName: string): boolean;
@@ -0,0 +1,9 @@
1
+ import type { ClientBrowserParameters, ShopifyAnalytics } from './analytics-types.js';
2
+ /**
3
+ * Set user and session cookies and refresh the expiry time
4
+ * @param event - The analytics event.
5
+ * @param shopDomain - The Online Store domain to sent Shopify analytics under the same
6
+ * top level domain.
7
+ */
8
+ export declare function sendShopifyAnalytics(event: ShopifyAnalytics, shopDomain?: string): Promise<void>;
9
+ export declare function getClientBrowserParameters(): ClientBrowserParameters;
@@ -7,4 +7,4 @@ export declare const CartBuyerIdentityUpdate: (cartFragment: string) => string;
7
7
  export declare const CartAttributesUpdate: (cartFragment: string) => string;
8
8
  export declare const CartDiscountCodesUpdate: (cartFragment: string) => string;
9
9
  export declare const CartQuery: (cartFragment: string) => string;
10
- export declare const defaultCartFragment = "\n fragment CartFragment on Cart {\n id\n checkoutUrl\n totalQuantity\n buyerIdentity {\n countryCode\n customer {\n id\n email\n firstName\n lastName\n displayName\n }\n email\n phone\n }\n lines(first: $numCartLines) {\n edges {\n node {\n id\n quantity\n attributes {\n key\n value\n }\n cost {\n totalAmount {\n amount\n currencyCode\n }\n compareAtAmountPerQuantity {\n amount\n currencyCode\n }\n }\n merchandise {\n ... on ProductVariant {\n id\n availableForSale\n compareAtPrice {\n ...MoneyFragment\n }\n # @deprecated remove in next major\n compareAtPriceV2 {\n ...MoneyFragment\n }\n price {\n ...MoneyFragment\n }\n # @deprecated remove in next major\n priceV2 {\n ...MoneyFragment\n }\n requiresShipping\n title\n image {\n ...ImageFragment\n }\n product {\n handle\n title\n id\n }\n selectedOptions {\n name\n value\n }\n }\n }\n }\n }\n }\n cost {\n subtotalAmount {\n ...MoneyFragment\n }\n totalAmount {\n ...MoneyFragment\n }\n totalDutyAmount {\n ...MoneyFragment\n }\n totalTaxAmount {\n ...MoneyFragment\n }\n }\n note\n attributes {\n key\n value\n }\n discountCodes {\n code\n }\n }\n\n fragment MoneyFragment on MoneyV2 {\n currencyCode\n amount\n }\n fragment ImageFragment on Image {\n id\n url\n altText\n width\n height\n }\n";
10
+ export declare const defaultCartFragment = "\n fragment CartFragment on Cart {\n id\n checkoutUrl\n totalQuantity\n buyerIdentity {\n countryCode\n customer {\n id\n email\n firstName\n lastName\n displayName\n }\n email\n phone\n }\n lines(first: $numCartLines) {\n edges {\n node {\n id\n quantity\n attributes {\n key\n value\n }\n cost {\n totalAmount {\n amount\n currencyCode\n }\n compareAtAmountPerQuantity {\n amount\n currencyCode\n }\n }\n merchandise {\n ... on ProductVariant {\n id\n availableForSale\n compareAtPrice {\n ...MoneyFragment\n }\n price {\n ...MoneyFragment\n }\n requiresShipping\n title\n image {\n ...ImageFragment\n }\n product {\n handle\n title\n id\n }\n selectedOptions {\n name\n value\n }\n }\n }\n }\n }\n }\n cost {\n subtotalAmount {\n ...MoneyFragment\n }\n totalAmount {\n ...MoneyFragment\n }\n totalDutyAmount {\n ...MoneyFragment\n }\n totalTaxAmount {\n ...MoneyFragment\n }\n }\n note\n attributes {\n key\n value\n }\n discountCodes {\n code\n }\n }\n\n fragment MoneyFragment on MoneyV2 {\n currencyCode\n amount\n }\n fragment ImageFragment on Image {\n id\n url\n altText\n width\n height\n }\n";
@@ -0,0 +1,4 @@
1
+ import { ShopifyCookies } from './analytics-types.js';
2
+ export declare function buildUUID(): string;
3
+ export declare function hexTime(): string;
4
+ export declare function getShopifyCookies(cookies: string): ShopifyCookies;
@@ -5,15 +5,39 @@ import type { PartialDeep } from 'type-fest';
5
5
  *
6
6
  * If `connection` is null or undefined, will return an empty array instead in production. In development, an error will be thrown.
7
7
  */
8
- export declare function flattenConnection<T>(connection?: PartialDeep<GraphQLConnection<T>, {
8
+ export declare function flattenConnection<ConnectionGeneric extends PartialDeep<ConnectionEdges, {
9
9
  recurseIntoArrays: true;
10
- }>): PartialDeep<T, {
10
+ }> | PartialDeep<ConnectionNodes, {
11
11
  recurseIntoArrays: true;
12
- }>[];
13
- interface GraphQLConnection<T> {
14
- edges?: {
15
- node: T;
16
- }[];
17
- nodes?: T[];
12
+ }> | ConnectionEdges | ConnectionNodes>(connection?: ConnectionGeneric): ConnectionGeneric extends {
13
+ edges: {
14
+ node: Array<infer ConnectionBaseType>;
15
+ };
16
+ } | {
17
+ nodes: Array<infer ConnectionBaseType>;
18
+ } ? ConnectionBaseType[] : ConnectionGeneric extends PartialDeep<{
19
+ edges: {
20
+ node: Array<infer ConnectionBaseType>;
21
+ };
22
+ }, {
23
+ recurseIntoArrays: true;
24
+ }> | PartialDeep<{
25
+ nodes: Array<infer ConnectionBaseType>;
26
+ }, {
27
+ recurseIntoArrays: true;
28
+ }> ? PartialDeep<ConnectionBaseType[], {
29
+ recurseIntoArrays: true;
30
+ }> : never;
31
+ type ConnectionEdges = {
32
+ edges: {
33
+ node: Array<unknown>;
34
+ };
35
+ };
36
+ type ConnectionNodes = {
37
+ nodes: Array<unknown>;
38
+ };
39
+ export interface ConnectionGenericForDoc {
40
+ connection?: ConnectionEdges | ConnectionNodes;
18
41
  }
42
+ export type FlattenConnectionReturnForDoc = Array<unknown>;
19
43
  export {};
@@ -6,7 +6,7 @@ export declare const IMG_SRC_SET_SIZES: number[];
6
6
  * Adds image size parameters to an image URL hosted by Shopify's CDN
7
7
  */
8
8
  export declare function addImageSizeParametersToUrl({ src, width, height, crop, scale, }: ShopifyLoaderParams): string;
9
- export declare function shopifyImageLoader(params: ShopifyLoaderParams): string;
9
+ export declare function shopifyImageLoader(params: ShopifyLoaderParams): ReturnType<typeof addImageSizeParametersToUrl>;
10
10
  type HtmlImageProps = React.ImgHTMLAttributes<HTMLImageElement>;
11
11
  export type GetShopifyImageDimensionsProps = {
12
12
  data: Pick<PartialDeep<ImageType, {
@@ -1,22 +1,31 @@
1
1
  export { AddToCartButton } from './AddToCartButton.js';
2
+ export { getClientBrowserParameters, sendShopifyAnalytics } from './analytics.js';
3
+ export { AnalyticsEventName, AnalyticsPageType, ShopifySalesChannel, } from './analytics-constants.js';
4
+ export type { ClientBrowserParameters, ShopifyAddToCart, ShopifyAddToCartPayload, ShopifyAnalytics, ShopifyAnalyticsPayload, ShopifyAnalyticsProduct, ShopifyCookies, ShopifyPageView, ShopifyPageViewPayload, } from './analytics-types.js';
2
5
  export { BuyNowButton } from './BuyNowButton.js';
3
- export type { CartState, CartStatus, Cart, CartWithActions, CartAction, } from './cart-types.js';
6
+ export type { Cart, CartAction, CartState, CartStatus, CartWithActions, } from './cart-types.js';
4
7
  export { CartCheckoutButton } from './CartCheckoutButton.js';
8
+ export { CartCost } from './CartCost.js';
9
+ export { CartLinePrice } from './CartLinePrice.js';
10
+ export { CartLineProvider, useCartLine } from './CartLineProvider.js';
11
+ export { CartLineQuantity } from './CartLineQuantity.js';
12
+ export { CartLineQuantityAdjustButton } from './CartLineQuantityAdjustButton.js';
5
13
  export { CartProvider, useCart } from './CartProvider.js';
6
14
  export { storefrontApiCustomScalars } from './codegen.helpers.js';
15
+ export { getShopifyCookies } from './cookies-utils.js';
7
16
  export { ExternalVideo } from './ExternalVideo.js';
8
17
  export { flattenConnection } from './flatten-connection.js';
9
18
  export { Image } from './Image.js';
10
19
  export { MediaFile } from './MediaFile.js';
11
- export { metafieldParser, type ParsedMetafields } from './metafield-parser.js';
12
- export { Metafield, parseMetafield, parseMetafieldValue } from './Metafield.js';
13
20
  export { ModelViewer } from './ModelViewer.js';
14
21
  export { Money } from './Money.js';
22
+ export { type ParsedMetafields, parseMetafield } from './parse-metafield.js';
15
23
  export { ProductPrice } from './ProductPrice.js';
16
24
  export { ProductProvider, useProduct } from './ProductProvider.js';
17
25
  export { ShopifyProvider, useShop } from './ShopifyProvider.js';
18
26
  export { ShopPayButton } from './ShopPayButton.js';
19
- export type { StorefrontApiResponseOk, StorefrontApiResponseOkPartial, StorefrontApiResponseError, StorefrontApiResponse, StorefrontApiResponsePartial, } from './storefront-api-response.types.js';
27
+ export type { StorefrontApiResponse, StorefrontApiResponseError, StorefrontApiResponseOk, StorefrontApiResponseOkPartial, StorefrontApiResponsePartial, } from './storefront-api-response.types.js';
20
28
  export { createStorefrontClient } from './storefront-client.js';
21
29
  export { useMoney } from './useMoney.js';
30
+ export { useShopifyCookies } from './useShopifyCookies.js';
22
31
  export { Video } from './Video.js';
@@ -1,22 +1,31 @@
1
1
  export { AddToCartButton } from './AddToCartButton.js';
2
+ export { getClientBrowserParameters, sendShopifyAnalytics } from './analytics.js';
3
+ export { AnalyticsEventName, AnalyticsPageType, ShopifySalesChannel, } from './analytics-constants.js';
4
+ export type { ClientBrowserParameters, ShopifyAddToCart, ShopifyAddToCartPayload, ShopifyAnalytics, ShopifyAnalyticsPayload, ShopifyAnalyticsProduct, ShopifyCookies, ShopifyPageView, ShopifyPageViewPayload, } from './analytics-types.js';
2
5
  export { BuyNowButton } from './BuyNowButton.js';
3
- export type { CartState, CartStatus, Cart, CartWithActions, CartAction, } from './cart-types.js';
6
+ export type { Cart, CartAction, CartState, CartStatus, CartWithActions, } from './cart-types.js';
4
7
  export { CartCheckoutButton } from './CartCheckoutButton.js';
8
+ export { CartCost } from './CartCost.js';
9
+ export { CartLinePrice } from './CartLinePrice.js';
10
+ export { CartLineProvider, useCartLine } from './CartLineProvider.js';
11
+ export { CartLineQuantity } from './CartLineQuantity.js';
12
+ export { CartLineQuantityAdjustButton } from './CartLineQuantityAdjustButton.js';
5
13
  export { CartProvider, useCart } from './CartProvider.js';
6
14
  export { storefrontApiCustomScalars } from './codegen.helpers.js';
15
+ export { getShopifyCookies } from './cookies-utils.js';
7
16
  export { ExternalVideo } from './ExternalVideo.js';
8
17
  export { flattenConnection } from './flatten-connection.js';
9
18
  export { Image } from './Image.js';
10
19
  export { MediaFile } from './MediaFile.js';
11
- export { metafieldParser, type ParsedMetafields } from './metafield-parser.js';
12
- export { Metafield, parseMetafield, parseMetafieldValue } from './Metafield.js';
13
20
  export { ModelViewer } from './ModelViewer.js';
14
21
  export { Money } from './Money.js';
22
+ export { type ParsedMetafields, parseMetafield } from './parse-metafield.js';
15
23
  export { ProductPrice } from './ProductPrice.js';
16
24
  export { ProductProvider, useProduct } from './ProductProvider.js';
17
25
  export { ShopifyProvider, useShop } from './ShopifyProvider.js';
18
26
  export { ShopPayButton } from './ShopPayButton.js';
19
- export type { StorefrontApiResponseOk, StorefrontApiResponseOkPartial, StorefrontApiResponseError, StorefrontApiResponse, StorefrontApiResponsePartial, } from './storefront-api-response.types.js';
27
+ export type { StorefrontApiResponse, StorefrontApiResponseError, StorefrontApiResponseOk, StorefrontApiResponseOkPartial, StorefrontApiResponsePartial, } from './storefront-api-response.types.js';
20
28
  export { createStorefrontClient } from './storefront-client.js';
21
29
  export { useMoney } from './useMoney.js';
30
+ export { useShopifyCookies } from './useShopifyCookies.js';
22
31
  export { Video } from './Video.js';
@@ -1,28 +1,30 @@
1
1
  import type { Collection, GenericFile, Metafield as MetafieldBaseType, MoneyV2, Page, Product, ProductVariant } from './storefront-api-types.js';
2
2
  import type { PartialDeep, Simplify } from 'type-fest';
3
3
  /**
4
- * A temporary function that will be renamed to `parseMetafield()` in a future release.
5
- *
6
- * A function that uses `metafield.type` to parse the Metafield's `value` or `reference` or `references` (depending on the `type`) and put it in `metafield.parsedValue`
4
+ * A function that uses `metafield.type` to parse the Metafield's `value` or `reference` or `references` (depending on the `metafield.type`) and places the result in `metafield.parsedValue`
7
5
  *
8
6
  * TypeScript developers can use the type `ParsedMetafields` from this package to get the returned object's type correct. For example:
9
7
  *
10
8
  * ```
11
- * metafieldParser<ParsedMetafields['boolean']>({type: 'boolean', value: 'false'}
9
+ * parseMetafield<ParsedMetafields['boolean']>({type: 'boolean', value: 'false'}
12
10
  * ```
13
11
  */
14
- export declare function metafieldParser<ReturnGeneric>(metafield: PartialDeep<MetafieldBaseType, {
12
+ export declare function parseMetafield<ReturnGeneric>(metafield: PartialDeep<MetafieldBaseType, {
15
13
  recurseIntoArrays: true;
16
14
  }>): ReturnGeneric;
15
+ /**
16
+ * Parses a JSON string while preventing prototype injection attacks.
17
+ */
18
+ export declare function parseJSON(json: string): unknown;
17
19
  export declare const allMetafieldTypesArray: readonly ["boolean", "collection_reference", "color", "date", "date_time", "dimension", "file_reference", "json", "money", "multi_line_text_field", "number_decimal", "number_integer", "page_reference", "product_reference", "rating", "single_line_text_field", "url", "variant_reference", "volume", "weight", "list.collection_reference", "list.color", "list.date", "list.date_time", "list.dimension", "list.file_reference", "list.number_integer", "list.number_decimal", "list.page_reference", "list.product_reference", "list.rating", "list.single_line_text_field", "list.url", "list.variant_reference", "list.volume", "list.weight"];
18
20
  /** A union of all the supported `metafield.type`s */
19
- export type MetafieldTypeTypes = typeof allMetafieldTypesArray[number];
21
+ export type MetafieldTypeTypes = (typeof allMetafieldTypesArray)[number];
20
22
  /**
21
- * A mapping of a Metafield's `type` to the TypeScript type that is returned from `metafieldParser()`
22
- * For example, when using `metafieldParser()`, the type will be correctly returned when used like the following:
23
+ * A mapping of a Metafield's `type` to the TypeScript type that is returned from `parseMetafield()`
24
+ * For example, when using `parseMetafield()`, the type will be correctly returned when used like the following:
23
25
  *
24
26
  * ```
25
- * const parsedMetafield = metafieldParser<ParsedMetafields['boolean']>(metafield);`
27
+ * const parsedMetafield = parseMetafield<ParsedMetafields['boolean']>(metafield);`
26
28
  * ```
27
29
  * `parsedMetafield.parsedValue`'s type is now `boolean`
28
30
  */
@@ -1 +1 @@
1
- export declare const SFAPI_VERSION = "2022-10";
1
+ export declare const SFAPI_VERSION = "2023-01";
@@ -9,7 +9,7 @@ type StorefrontApiExtensions = {
9
9
  * Shows error codes common to Shopify. Additional error codes may also be shown.
10
10
  * https://shopify.dev/api/storefront#status_and_error_codes
11
11
  */
12
- code?: 'THROTTLED' | 'ACCESS_DENIED' | 'SHOP_INACTIVE' | 'INTERNAL_SERVER_ERROR' | string;
12
+ code?: 'THROTTLED' | 'ACCESS_DENIED' | 'SHOP_INACTIVE' | 'INTERNAL_SERVER_ERROR' | (string & {});
13
13
  };
14
14
  /**
15
15
  * The Storefront API can return a 200 OK response code when the query succeeds, and will populate the `data` property. The generic you pass in through type parameters will be the shape of the `data` object if successful. If you prefer a "deeply-partial" version of that generic object, consider using `StorefrontApiResponseOkPartial` instead.
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * THIS FILE IS AUTO-GENERATED, DO NOT EDIT
3
- * Based on Storefront API 2022-10
4
- * If changes need to happen to the types defined in this file, then generally the Storefront API needs to update, and then you can run `yarn graphql-types`
3
+ * Based on Storefront API 2023-01
4
+ * If changes need to happen to the types defined in this file, then generally the Storefront API needs to update. After it's updated, you can run `yarn graphql-types`.
5
5
  * Except custom Scalars, which are defined in the `codegen.ts` file
6
6
  */
7
7
  /* eslint-disable */
@@ -1312,6 +1312,8 @@ export type CheckoutErrorCode =
1312
1312
  | 'CUSTOMER_ALREADY_USED_ONCE_PER_CUSTOMER_DISCOUNT_NOTICE'
1313
1313
  /** Discount already applied. */
1314
1314
  | 'DISCOUNT_ALREADY_APPLIED'
1315
+ /** Discount code isn't working right now. Please contact us for help. */
1316
+ | 'DISCOUNT_CODE_APPLICATION_FAILED'
1315
1317
  /** Discount disabled. */
1316
1318
  | 'DISCOUNT_DISABLED'
1317
1319
  /** Discount expired. */
@@ -4331,6 +4333,7 @@ export type MetafieldReference =
4331
4333
  | Collection
4332
4334
  | GenericFile
4333
4335
  | MediaImage
4336
+ | Metaobject
4334
4337
  | Page
4335
4338
  | Product
4336
4339
  | ProductVariant
@@ -4362,6 +4365,93 @@ export type MetafieldReferenceEdge = {
4362
4365
  node: MetafieldReference;
4363
4366
  };
4364
4367
 
4368
+ /** An instance of a user-defined model based on a MetaobjectDefinition. */
4369
+ export type Metaobject = Node & {
4370
+ __typename?: 'Metaobject';
4371
+ /** Accesses a field of the object by key. */
4372
+ field?: Maybe<MetaobjectField>;
4373
+ /**
4374
+ * All object fields with defined values.
4375
+ * Omitted object keys can be assumed null, and no guarantees are made about field order.
4376
+ *
4377
+ */
4378
+ fields: Array<MetaobjectField>;
4379
+ /** The unique handle of the metaobject. Useful as a custom ID. */
4380
+ handle: Scalars['String'];
4381
+ /** A globally-unique identifier. */
4382
+ id: Scalars['ID'];
4383
+ /** The type of the metaobject. Defines the namespace of its associated metafields. */
4384
+ type: Scalars['String'];
4385
+ /** The date and time when the metaobject was last updated. */
4386
+ updatedAt: Scalars['DateTime'];
4387
+ };
4388
+
4389
+ /** An instance of a user-defined model based on a MetaobjectDefinition. */
4390
+ export type MetaobjectFieldArgs = {
4391
+ key: Scalars['String'];
4392
+ };
4393
+
4394
+ /**
4395
+ * An auto-generated type for paginating through multiple Metaobjects.
4396
+ *
4397
+ */
4398
+ export type MetaobjectConnection = {
4399
+ __typename?: 'MetaobjectConnection';
4400
+ /** A list of edges. */
4401
+ edges: Array<MetaobjectEdge>;
4402
+ /** A list of the nodes contained in MetaobjectEdge. */
4403
+ nodes: Array<Metaobject>;
4404
+ /** Information to aid in pagination. */
4405
+ pageInfo: PageInfo;
4406
+ };
4407
+
4408
+ /**
4409
+ * An auto-generated type which holds one Metaobject and a cursor during pagination.
4410
+ *
4411
+ */
4412
+ export type MetaobjectEdge = {
4413
+ __typename?: 'MetaobjectEdge';
4414
+ /** A cursor for use in pagination. */
4415
+ cursor: Scalars['String'];
4416
+ /** The item at the end of MetaobjectEdge. */
4417
+ node: Metaobject;
4418
+ };
4419
+
4420
+ /** Provides the value of a Metaobject field. */
4421
+ export type MetaobjectField = {
4422
+ __typename?: 'MetaobjectField';
4423
+ /** The field key. */
4424
+ key: Scalars['String'];
4425
+ /** A referenced object if the field type is a resource reference. */
4426
+ reference?: Maybe<MetafieldReference>;
4427
+ /** A list of referenced objects if the field type is a resource reference list. */
4428
+ references?: Maybe<MetafieldReferenceConnection>;
4429
+ /**
4430
+ * The type name of the field.
4431
+ * See the list of [supported types](https://shopify.dev/apps/metafields/definitions/types).
4432
+ *
4433
+ */
4434
+ type: Scalars['String'];
4435
+ /** The field value. */
4436
+ value?: Maybe<Scalars['String']>;
4437
+ };
4438
+
4439
+ /** Provides the value of a Metaobject field. */
4440
+ export type MetaobjectFieldReferencesArgs = {
4441
+ after?: InputMaybe<Scalars['String']>;
4442
+ before?: InputMaybe<Scalars['String']>;
4443
+ first?: InputMaybe<Scalars['Int']>;
4444
+ last?: InputMaybe<Scalars['Int']>;
4445
+ };
4446
+
4447
+ /** The input fields used to retrieve a metaobject by handle. */
4448
+ export type MetaobjectHandleInput = {
4449
+ /** The handle of the metaobject. */
4450
+ handle: Scalars['String'];
4451
+ /** The type of the metaobject. */
4452
+ type: Scalars['String'];
4453
+ };
4454
+
4365
4455
  /** Represents a Shopify hosted 3D model. */
4366
4456
  export type Model3d = Media &
4367
4457
  Node & {
@@ -4820,6 +4910,8 @@ export type Order = HasMetafields &
4820
4910
  currentTotalPrice: MoneyV2;
4821
4911
  /** The total of all taxes applied to the order, excluding taxes for returned line items. */
4822
4912
  currentTotalTax: MoneyV2;
4913
+ /** A list of the custom attributes added to the order. */
4914
+ customAttributes: Array<Attribute>;
4823
4915
  /** The locale code in which this specific order happened. */
4824
4916
  customerLocale?: Maybe<Scalars['String']>;
4825
4917
  /** The unique URL that the customer can use to access the order. */
@@ -5539,6 +5631,8 @@ export type ProductFilter = {
5539
5631
  productType?: InputMaybe<Scalars['String']>;
5540
5632
  /** The product vendor to filter on. */
5541
5633
  productVendor?: InputMaybe<Scalars['String']>;
5634
+ /** A product tag to filter on. */
5635
+ tag?: InputMaybe<Scalars['String']>;
5542
5636
  /** A variant metafield to filter on. */
5543
5637
  variantMetafield?: InputMaybe<MetafieldFilter>;
5544
5638
  /** A variant option to filter on. */
@@ -5713,6 +5807,7 @@ export type ProductVariantStoreAvailabilityArgs = {
5713
5807
  before?: InputMaybe<Scalars['String']>;
5714
5808
  first?: InputMaybe<Scalars['Int']>;
5715
5809
  last?: InputMaybe<Scalars['Int']>;
5810
+ near?: InputMaybe<GeoCoordinateInput>;
5716
5811
  reverse?: InputMaybe<Scalars['Boolean']>;
5717
5812
  };
5718
5813
 
@@ -5801,6 +5896,10 @@ export type QueryRoot = {
5801
5896
  locations: LocationConnection;
5802
5897
  /** A storefront menu. */
5803
5898
  menu?: Maybe<Menu>;
5899
+ /** Fetch a specific Metaobject by one of its unique identifiers. */
5900
+ metaobject?: Maybe<Metaobject>;
5901
+ /** All active metaobjects for the shop. */
5902
+ metaobjects: MetaobjectConnection;
5804
5903
  /** Returns a specific node by ID. */
5805
5904
  node?: Maybe<
5806
5905
  | AppliedGiftCard
@@ -5820,6 +5919,7 @@ export type QueryRoot = {
5820
5919
  | Menu
5821
5920
  | MenuItem
5822
5921
  | Metafield
5922
+ | Metaobject
5823
5923
  | Model3d
5824
5924
  | Order
5825
5925
  | Page
@@ -5852,6 +5952,7 @@ export type QueryRoot = {
5852
5952
  | Menu
5853
5953
  | MenuItem
5854
5954
  | Metafield
5955
+ | Metaobject
5855
5956
  | Model3d
5856
5957
  | Order
5857
5958
  | Page
@@ -5987,6 +6088,23 @@ export type QueryRootMenuArgs = {
5987
6088
  handle: Scalars['String'];
5988
6089
  };
5989
6090
 
6091
+ /** The schema’s entry-point for queries. This acts as the public, top-level API from which all queries must start. */
6092
+ export type QueryRootMetaobjectArgs = {
6093
+ handle?: InputMaybe<MetaobjectHandleInput>;
6094
+ id?: InputMaybe<Scalars['ID']>;
6095
+ };
6096
+
6097
+ /** The schema’s entry-point for queries. This acts as the public, top-level API from which all queries must start. */
6098
+ export type QueryRootMetaobjectsArgs = {
6099
+ after?: InputMaybe<Scalars['String']>;
6100
+ before?: InputMaybe<Scalars['String']>;
6101
+ first?: InputMaybe<Scalars['Int']>;
6102
+ last?: InputMaybe<Scalars['Int']>;
6103
+ reverse?: InputMaybe<Scalars['Boolean']>;
6104
+ sortKey?: InputMaybe<Scalars['String']>;
6105
+ type: Scalars['String'];
6106
+ };
6107
+
5990
6108
  /** The schema’s entry-point for queries. This acts as the public, top-level API from which all queries must start. */
5991
6109
  export type QueryRootNodeArgs = {
5992
6110
  id: Scalars['ID'];
@@ -6062,6 +6180,7 @@ export type QueryRootUrlRedirectsArgs = {
6062
6180
  before?: InputMaybe<Scalars['String']>;
6063
6181
  first?: InputMaybe<Scalars['Int']>;
6064
6182
  last?: InputMaybe<Scalars['Int']>;
6183
+ query?: InputMaybe<Scalars['String']>;
6065
6184
  reverse?: InputMaybe<Scalars['Boolean']>;
6066
6185
  };
6067
6186