@shopify/hydrogen-react 2022.10.8 → 2023.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (612) 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 +18 -0
  13. package/dist/browser-dev/CartLinePrice.mjs.map +1 -0
  14. package/dist/browser-dev/CartLineProvider.mjs +19 -0
  15. package/dist/browser-dev/CartLineProvider.mjs.map +1 -0
  16. package/dist/browser-dev/CartProvider.mjs +73 -67
  17. package/dist/browser-dev/CartProvider.mjs.map +1 -1
  18. package/dist/browser-dev/ExternalVideo.mjs +13 -11
  19. package/dist/browser-dev/ExternalVideo.mjs.map +1 -1
  20. package/dist/browser-dev/Image.mjs +41 -30
  21. package/dist/browser-dev/Image.mjs.map +1 -1
  22. package/dist/browser-dev/MediaFile.mjs +29 -21
  23. package/dist/browser-dev/MediaFile.mjs.map +1 -1
  24. package/dist/browser-dev/ModelViewer.mjs +138 -76
  25. package/dist/browser-dev/ModelViewer.mjs.map +1 -1
  26. package/dist/browser-dev/Money.mjs +12 -9
  27. package/dist/browser-dev/Money.mjs.map +1 -1
  28. package/dist/browser-dev/ProductPrice.mjs +12 -17
  29. package/dist/browser-dev/ProductPrice.mjs.map +1 -1
  30. package/dist/browser-dev/ProductProvider.mjs +102 -73
  31. package/dist/browser-dev/ProductProvider.mjs.map +1 -1
  32. package/dist/browser-dev/ShopPayButton.mjs +14 -24
  33. package/dist/browser-dev/ShopPayButton.mjs.map +1 -1
  34. package/dist/browser-dev/ShopifyProvider.mjs +22 -38
  35. package/dist/browser-dev/ShopifyProvider.mjs.map +1 -1
  36. package/dist/browser-dev/Video.mjs +30 -21
  37. package/dist/browser-dev/Video.mjs.map +1 -1
  38. package/dist/browser-dev/_virtual/index.mjs +11 -2
  39. package/dist/browser-dev/_virtual/index.mjs.map +1 -1
  40. package/dist/browser-dev/_virtual/with-selector.mjs +11 -2
  41. package/dist/browser-dev/_virtual/with-selector.mjs.map +1 -1
  42. package/dist/browser-dev/analytics-constants.mjs +43 -0
  43. package/dist/browser-dev/analytics-constants.mjs.map +1 -0
  44. package/dist/browser-dev/analytics-schema-custom-storefront-customer-tracking.mjs +145 -0
  45. package/dist/browser-dev/analytics-schema-custom-storefront-customer-tracking.mjs.map +1 -0
  46. package/dist/browser-dev/analytics-schema-trekkie-storefront-page-view.mjs +58 -0
  47. package/dist/browser-dev/analytics-schema-trekkie-storefront-page-view.mjs.map +1 -0
  48. package/dist/browser-dev/analytics-utils.mjs +49 -0
  49. package/dist/browser-dev/analytics-utils.mjs.map +1 -0
  50. package/dist/browser-dev/analytics.mjs +159 -0
  51. package/dist/browser-dev/analytics.mjs.map +1 -0
  52. package/dist/browser-dev/cart-hooks.mjs +29 -34
  53. package/dist/browser-dev/cart-hooks.mjs.map +1 -1
  54. package/dist/browser-dev/cart-queries.mjs +50 -28
  55. package/dist/browser-dev/cart-queries.mjs.map +1 -1
  56. package/dist/browser-dev/codegen.helpers.mjs +1 -0
  57. package/dist/browser-dev/codegen.helpers.mjs.map +1 -1
  58. package/dist/browser-dev/cookies-utils.mjs +50 -0
  59. package/dist/browser-dev/cookies-utils.mjs.map +1 -0
  60. package/dist/browser-dev/flatten-connection.mjs +7 -5
  61. package/dist/browser-dev/flatten-connection.mjs.map +1 -1
  62. package/dist/browser-dev/image-size.mjs +8 -8
  63. package/dist/browser-dev/image-size.mjs.map +1 -1
  64. package/dist/browser-dev/index.mjs +20 -6
  65. package/dist/browser-dev/index.mjs.map +1 -1
  66. package/dist/browser-dev/load-script.mjs.map +1 -1
  67. package/dist/browser-dev/node_modules/@xstate/fsm/es/index.mjs.map +1 -1
  68. package/dist/browser-dev/node_modules/@xstate/react/es/fsm.mjs +2 -2
  69. package/dist/browser-dev/node_modules/@xstate/react/es/fsm.mjs.map +1 -1
  70. package/dist/browser-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs.map +1 -1
  71. package/dist/browser-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs.map +1 -1
  72. package/dist/browser-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs.map +1 -1
  73. package/dist/browser-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs.map +1 -1
  74. package/dist/browser-dev/node_modules/use-sync-external-store/shim/index.mjs +3 -3
  75. package/dist/browser-dev/node_modules/use-sync-external-store/shim/with-selector.mjs +1 -1
  76. package/dist/browser-dev/{metafield-parser.mjs → parse-metafield.mjs} +20 -12
  77. package/dist/browser-dev/parse-metafield.mjs.map +1 -0
  78. package/dist/browser-dev/storefront-api-constants.mjs +1 -1
  79. package/dist/browser-dev/storefront-api-constants.mjs.map +1 -1
  80. package/dist/browser-dev/storefront-client.mjs +19 -20
  81. package/dist/browser-dev/storefront-client.mjs.map +1 -1
  82. package/dist/browser-dev/useCartAPIStateMachine.mjs +111 -80
  83. package/dist/browser-dev/useCartAPIStateMachine.mjs.map +1 -1
  84. package/dist/browser-dev/useCartActions.mjs +150 -109
  85. package/dist/browser-dev/useCartActions.mjs.map +1 -1
  86. package/dist/browser-dev/useMoney.mjs +62 -36
  87. package/dist/browser-dev/useMoney.mjs.map +1 -1
  88. package/dist/browser-dev/useShopifyCookies.mjs +41 -0
  89. package/dist/browser-dev/useShopifyCookies.mjs.map +1 -0
  90. package/dist/browser-prod/AddToCartButton.mjs +43 -40
  91. package/dist/browser-prod/AddToCartButton.mjs.map +1 -1
  92. package/dist/browser-prod/BaseButton.mjs +13 -15
  93. package/dist/browser-prod/BaseButton.mjs.map +1 -1
  94. package/dist/browser-prod/BuyNowButton.mjs +19 -17
  95. package/dist/browser-prod/BuyNowButton.mjs.map +1 -1
  96. package/dist/browser-prod/CartCheckoutButton.mjs +12 -15
  97. package/dist/browser-prod/CartCheckoutButton.mjs.map +1 -1
  98. package/dist/browser-prod/CartCost.mjs +25 -0
  99. package/dist/browser-prod/CartCost.mjs.map +1 -0
  100. package/dist/browser-prod/CartLinePrice.mjs +18 -0
  101. package/dist/browser-prod/CartLinePrice.mjs.map +1 -0
  102. package/dist/browser-prod/CartLineProvider.mjs +19 -0
  103. package/dist/browser-prod/CartLineProvider.mjs.map +1 -0
  104. package/dist/browser-prod/CartProvider.mjs +73 -67
  105. package/dist/browser-prod/CartProvider.mjs.map +1 -1
  106. package/dist/browser-prod/ExternalVideo.mjs +13 -11
  107. package/dist/browser-prod/ExternalVideo.mjs.map +1 -1
  108. package/dist/browser-prod/Image.mjs +35 -28
  109. package/dist/browser-prod/Image.mjs.map +1 -1
  110. package/dist/browser-prod/MediaFile.mjs +29 -21
  111. package/dist/browser-prod/MediaFile.mjs.map +1 -1
  112. package/dist/browser-prod/ModelViewer.mjs +135 -75
  113. package/dist/browser-prod/ModelViewer.mjs.map +1 -1
  114. package/dist/browser-prod/Money.mjs +12 -9
  115. package/dist/browser-prod/Money.mjs.map +1 -1
  116. package/dist/browser-prod/ProductPrice.mjs +12 -17
  117. package/dist/browser-prod/ProductPrice.mjs.map +1 -1
  118. package/dist/browser-prod/ProductProvider.mjs +102 -73
  119. package/dist/browser-prod/ProductProvider.mjs.map +1 -1
  120. package/dist/browser-prod/ShopPayButton.mjs +14 -24
  121. package/dist/browser-prod/ShopPayButton.mjs.map +1 -1
  122. package/dist/browser-prod/ShopifyProvider.mjs +22 -32
  123. package/dist/browser-prod/ShopifyProvider.mjs.map +1 -1
  124. package/dist/browser-prod/Video.mjs +30 -21
  125. package/dist/browser-prod/Video.mjs.map +1 -1
  126. package/dist/browser-prod/_virtual/index.mjs +11 -2
  127. package/dist/browser-prod/_virtual/index.mjs.map +1 -1
  128. package/dist/browser-prod/_virtual/with-selector.mjs +11 -2
  129. package/dist/browser-prod/_virtual/with-selector.mjs.map +1 -1
  130. package/dist/browser-prod/analytics-constants.mjs +43 -0
  131. package/dist/browser-prod/analytics-constants.mjs.map +1 -0
  132. package/dist/browser-prod/analytics-schema-custom-storefront-customer-tracking.mjs +145 -0
  133. package/dist/browser-prod/analytics-schema-custom-storefront-customer-tracking.mjs.map +1 -0
  134. package/dist/browser-prod/analytics-schema-trekkie-storefront-page-view.mjs +58 -0
  135. package/dist/browser-prod/analytics-schema-trekkie-storefront-page-view.mjs.map +1 -0
  136. package/dist/browser-prod/analytics-utils.mjs +49 -0
  137. package/dist/browser-prod/analytics-utils.mjs.map +1 -0
  138. package/dist/browser-prod/analytics.mjs +158 -0
  139. package/dist/browser-prod/analytics.mjs.map +1 -0
  140. package/dist/browser-prod/cart-hooks.mjs +29 -34
  141. package/dist/browser-prod/cart-hooks.mjs.map +1 -1
  142. package/dist/browser-prod/cart-queries.mjs +50 -28
  143. package/dist/browser-prod/cart-queries.mjs.map +1 -1
  144. package/dist/browser-prod/codegen.helpers.mjs +1 -0
  145. package/dist/browser-prod/codegen.helpers.mjs.map +1 -1
  146. package/dist/browser-prod/cookies-utils.mjs +50 -0
  147. package/dist/browser-prod/cookies-utils.mjs.map +1 -0
  148. package/dist/browser-prod/flatten-connection.mjs +7 -5
  149. package/dist/browser-prod/flatten-connection.mjs.map +1 -1
  150. package/dist/browser-prod/image-size.mjs +8 -8
  151. package/dist/browser-prod/image-size.mjs.map +1 -1
  152. package/dist/browser-prod/index.mjs +20 -6
  153. package/dist/browser-prod/index.mjs.map +1 -1
  154. package/dist/browser-prod/load-script.mjs.map +1 -1
  155. package/dist/browser-prod/node_modules/@xstate/fsm/es/index.mjs.map +1 -1
  156. package/dist/browser-prod/node_modules/@xstate/react/es/fsm.mjs +2 -2
  157. package/dist/browser-prod/node_modules/@xstate/react/es/fsm.mjs.map +1 -1
  158. package/dist/browser-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs.map +1 -1
  159. package/dist/browser-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs.map +1 -1
  160. package/dist/browser-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs.map +1 -1
  161. package/dist/browser-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs.map +1 -1
  162. package/dist/browser-prod/node_modules/use-sync-external-store/shim/index.mjs +3 -3
  163. package/dist/browser-prod/node_modules/use-sync-external-store/shim/with-selector.mjs +1 -1
  164. package/dist/browser-prod/{metafield-parser.mjs → parse-metafield.mjs} +20 -12
  165. package/dist/browser-prod/parse-metafield.mjs.map +1 -0
  166. package/dist/browser-prod/storefront-api-constants.mjs +1 -1
  167. package/dist/browser-prod/storefront-api-constants.mjs.map +1 -1
  168. package/dist/browser-prod/storefront-client.mjs +19 -20
  169. package/dist/browser-prod/storefront-client.mjs.map +1 -1
  170. package/dist/browser-prod/useCartAPIStateMachine.mjs +111 -80
  171. package/dist/browser-prod/useCartAPIStateMachine.mjs.map +1 -1
  172. package/dist/browser-prod/useCartActions.mjs +150 -109
  173. package/dist/browser-prod/useCartActions.mjs.map +1 -1
  174. package/dist/browser-prod/useMoney.mjs +62 -36
  175. package/dist/browser-prod/useMoney.mjs.map +1 -1
  176. package/dist/browser-prod/useShopifyCookies.mjs +41 -0
  177. package/dist/browser-prod/useShopifyCookies.mjs.map +1 -0
  178. package/dist/node-dev/AddToCartButton.js +44 -41
  179. package/dist/node-dev/AddToCartButton.js.map +1 -1
  180. package/dist/node-dev/AddToCartButton.mjs +43 -40
  181. package/dist/node-dev/AddToCartButton.mjs.map +1 -1
  182. package/dist/node-dev/BaseButton.js +14 -16
  183. package/dist/node-dev/BaseButton.js.map +1 -1
  184. package/dist/node-dev/BaseButton.mjs +13 -15
  185. package/dist/node-dev/BaseButton.mjs.map +1 -1
  186. package/dist/node-dev/BuyNowButton.js +20 -18
  187. package/dist/node-dev/BuyNowButton.js.map +1 -1
  188. package/dist/node-dev/BuyNowButton.mjs +19 -17
  189. package/dist/node-dev/BuyNowButton.mjs.map +1 -1
  190. package/dist/node-dev/CartCheckoutButton.js +13 -16
  191. package/dist/node-dev/CartCheckoutButton.js.map +1 -1
  192. package/dist/node-dev/CartCheckoutButton.mjs +12 -15
  193. package/dist/node-dev/CartCheckoutButton.mjs.map +1 -1
  194. package/dist/node-dev/CartCost.js +25 -0
  195. package/dist/node-dev/CartCost.js.map +1 -0
  196. package/dist/node-dev/CartCost.mjs +25 -0
  197. package/dist/node-dev/CartCost.mjs.map +1 -0
  198. package/dist/node-dev/CartLinePrice.js +18 -0
  199. package/dist/node-dev/CartLinePrice.js.map +1 -0
  200. package/dist/node-dev/CartLinePrice.mjs +18 -0
  201. package/dist/node-dev/CartLinePrice.mjs.map +1 -0
  202. package/dist/node-dev/CartLineProvider.js +19 -0
  203. package/dist/node-dev/CartLineProvider.js.map +1 -0
  204. package/dist/node-dev/CartLineProvider.mjs +19 -0
  205. package/dist/node-dev/CartLineProvider.mjs.map +1 -0
  206. package/dist/node-dev/CartProvider.js +74 -68
  207. package/dist/node-dev/CartProvider.js.map +1 -1
  208. package/dist/node-dev/CartProvider.mjs +73 -67
  209. package/dist/node-dev/CartProvider.mjs.map +1 -1
  210. package/dist/node-dev/ExternalVideo.js +14 -12
  211. package/dist/node-dev/ExternalVideo.js.map +1 -1
  212. package/dist/node-dev/ExternalVideo.mjs +13 -11
  213. package/dist/node-dev/ExternalVideo.mjs.map +1 -1
  214. package/dist/node-dev/Image.js +42 -31
  215. package/dist/node-dev/Image.js.map +1 -1
  216. package/dist/node-dev/Image.mjs +41 -30
  217. package/dist/node-dev/Image.mjs.map +1 -1
  218. package/dist/node-dev/MediaFile.js +30 -22
  219. package/dist/node-dev/MediaFile.js.map +1 -1
  220. package/dist/node-dev/MediaFile.mjs +29 -21
  221. package/dist/node-dev/MediaFile.mjs.map +1 -1
  222. package/dist/node-dev/ModelViewer.js +139 -77
  223. package/dist/node-dev/ModelViewer.js.map +1 -1
  224. package/dist/node-dev/ModelViewer.mjs +138 -76
  225. package/dist/node-dev/ModelViewer.mjs.map +1 -1
  226. package/dist/node-dev/Money.js +13 -10
  227. package/dist/node-dev/Money.js.map +1 -1
  228. package/dist/node-dev/Money.mjs +12 -9
  229. package/dist/node-dev/Money.mjs.map +1 -1
  230. package/dist/node-dev/ProductPrice.js +13 -18
  231. package/dist/node-dev/ProductPrice.js.map +1 -1
  232. package/dist/node-dev/ProductPrice.mjs +12 -17
  233. package/dist/node-dev/ProductPrice.mjs.map +1 -1
  234. package/dist/node-dev/ProductProvider.js +103 -74
  235. package/dist/node-dev/ProductProvider.js.map +1 -1
  236. package/dist/node-dev/ProductProvider.mjs +102 -73
  237. package/dist/node-dev/ProductProvider.mjs.map +1 -1
  238. package/dist/node-dev/ShopPayButton.js +14 -24
  239. package/dist/node-dev/ShopPayButton.js.map +1 -1
  240. package/dist/node-dev/ShopPayButton.mjs +14 -24
  241. package/dist/node-dev/ShopPayButton.mjs.map +1 -1
  242. package/dist/node-dev/ShopifyProvider.js +23 -39
  243. package/dist/node-dev/ShopifyProvider.js.map +1 -1
  244. package/dist/node-dev/ShopifyProvider.mjs +22 -38
  245. package/dist/node-dev/ShopifyProvider.mjs.map +1 -1
  246. package/dist/node-dev/Video.js +31 -22
  247. package/dist/node-dev/Video.js.map +1 -1
  248. package/dist/node-dev/Video.mjs +30 -21
  249. package/dist/node-dev/Video.mjs.map +1 -1
  250. package/dist/node-dev/_virtual/index.js +11 -3
  251. package/dist/node-dev/_virtual/index.js.map +1 -1
  252. package/dist/node-dev/_virtual/index.mjs +11 -2
  253. package/dist/node-dev/_virtual/index.mjs.map +1 -1
  254. package/dist/node-dev/_virtual/use-sync-external-store-shim.development.js +1 -1
  255. package/dist/node-dev/_virtual/use-sync-external-store-shim.production.min.js +1 -1
  256. package/dist/node-dev/_virtual/with-selector.development.js +1 -1
  257. package/dist/node-dev/_virtual/with-selector.js +11 -3
  258. package/dist/node-dev/_virtual/with-selector.js.map +1 -1
  259. package/dist/node-dev/_virtual/with-selector.mjs +11 -2
  260. package/dist/node-dev/_virtual/with-selector.mjs.map +1 -1
  261. package/dist/node-dev/_virtual/with-selector.production.min.js +1 -1
  262. package/dist/node-dev/analytics-constants.js +43 -0
  263. package/dist/node-dev/analytics-constants.js.map +1 -0
  264. package/dist/node-dev/analytics-constants.mjs +43 -0
  265. package/dist/node-dev/analytics-constants.mjs.map +1 -0
  266. package/dist/node-dev/analytics-schema-custom-storefront-customer-tracking.js +145 -0
  267. package/dist/node-dev/analytics-schema-custom-storefront-customer-tracking.js.map +1 -0
  268. package/dist/node-dev/analytics-schema-custom-storefront-customer-tracking.mjs +145 -0
  269. package/dist/node-dev/analytics-schema-custom-storefront-customer-tracking.mjs.map +1 -0
  270. package/dist/node-dev/analytics-schema-trekkie-storefront-page-view.js +58 -0
  271. package/dist/node-dev/analytics-schema-trekkie-storefront-page-view.js.map +1 -0
  272. package/dist/node-dev/analytics-schema-trekkie-storefront-page-view.mjs +58 -0
  273. package/dist/node-dev/analytics-schema-trekkie-storefront-page-view.mjs.map +1 -0
  274. package/dist/node-dev/analytics-utils.js +49 -0
  275. package/dist/node-dev/analytics-utils.js.map +1 -0
  276. package/dist/node-dev/analytics-utils.mjs +49 -0
  277. package/dist/node-dev/analytics-utils.mjs.map +1 -0
  278. package/dist/node-dev/analytics.js +159 -0
  279. package/dist/node-dev/analytics.js.map +1 -0
  280. package/dist/node-dev/analytics.mjs +159 -0
  281. package/dist/node-dev/analytics.mjs.map +1 -0
  282. package/dist/node-dev/cart-constants.js +1 -1
  283. package/dist/node-dev/cart-hooks.js +29 -34
  284. package/dist/node-dev/cart-hooks.js.map +1 -1
  285. package/dist/node-dev/cart-hooks.mjs +29 -34
  286. package/dist/node-dev/cart-hooks.mjs.map +1 -1
  287. package/dist/node-dev/cart-queries.js +51 -29
  288. package/dist/node-dev/cart-queries.js.map +1 -1
  289. package/dist/node-dev/cart-queries.mjs +50 -28
  290. package/dist/node-dev/cart-queries.mjs.map +1 -1
  291. package/dist/node-dev/codegen.helpers.js +2 -1
  292. package/dist/node-dev/codegen.helpers.js.map +1 -1
  293. package/dist/node-dev/codegen.helpers.mjs +1 -0
  294. package/dist/node-dev/codegen.helpers.mjs.map +1 -1
  295. package/dist/node-dev/cookies-utils.js +50 -0
  296. package/dist/node-dev/cookies-utils.js.map +1 -0
  297. package/dist/node-dev/cookies-utils.mjs +50 -0
  298. package/dist/node-dev/cookies-utils.mjs.map +1 -0
  299. package/dist/node-dev/flatten-connection.js +8 -6
  300. package/dist/node-dev/flatten-connection.js.map +1 -1
  301. package/dist/node-dev/flatten-connection.mjs +7 -5
  302. package/dist/node-dev/flatten-connection.mjs.map +1 -1
  303. package/dist/node-dev/image-size.js +9 -9
  304. package/dist/node-dev/image-size.js.map +1 -1
  305. package/dist/node-dev/image-size.mjs +8 -8
  306. package/dist/node-dev/image-size.mjs.map +1 -1
  307. package/dist/node-dev/index.js +21 -7
  308. package/dist/node-dev/index.js.map +1 -1
  309. package/dist/node-dev/index.mjs +20 -6
  310. package/dist/node-dev/index.mjs.map +1 -1
  311. package/dist/node-dev/load-script.js +1 -1
  312. package/dist/node-dev/load-script.js.map +1 -1
  313. package/dist/node-dev/load-script.mjs.map +1 -1
  314. package/dist/node-dev/node_modules/@xstate/fsm/es/index.js +1 -1
  315. package/dist/node-dev/node_modules/@xstate/fsm/es/index.js.map +1 -1
  316. package/dist/node-dev/node_modules/@xstate/fsm/es/index.mjs.map +1 -1
  317. package/dist/node-dev/node_modules/@xstate/react/es/fsm.js +2 -2
  318. package/dist/node-dev/node_modules/@xstate/react/es/fsm.js.map +1 -1
  319. package/dist/node-dev/node_modules/@xstate/react/es/fsm.mjs +2 -2
  320. package/dist/node-dev/node_modules/@xstate/react/es/fsm.mjs.map +1 -1
  321. package/dist/node-dev/node_modules/@xstate/react/es/useConstant.js +2 -4
  322. package/dist/node-dev/node_modules/@xstate/react/es/useConstant.js.map +1 -1
  323. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js +2 -4
  324. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js.map +1 -1
  325. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs.map +1 -1
  326. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js +2 -4
  327. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js.map +1 -1
  328. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs.map +1 -1
  329. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +2 -4
  330. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js.map +1 -1
  331. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs.map +1 -1
  332. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js +2 -4
  333. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js.map +1 -1
  334. package/dist/node-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs.map +1 -1
  335. package/dist/node-dev/node_modules/use-sync-external-store/shim/index.js +4 -4
  336. package/dist/node-dev/node_modules/use-sync-external-store/shim/index.mjs +3 -3
  337. package/dist/node-dev/node_modules/use-sync-external-store/shim/with-selector.js +1 -1
  338. package/dist/node-dev/node_modules/use-sync-external-store/shim/with-selector.mjs +1 -1
  339. package/dist/node-dev/{metafield-parser.js → parse-metafield.js} +21 -13
  340. package/dist/node-dev/parse-metafield.js.map +1 -0
  341. package/dist/node-dev/{metafield-parser.mjs → parse-metafield.mjs} +20 -12
  342. package/dist/node-dev/parse-metafield.mjs.map +1 -0
  343. package/dist/node-dev/storefront-api-constants.js +2 -2
  344. package/dist/node-dev/storefront-api-constants.js.map +1 -1
  345. package/dist/node-dev/storefront-api-constants.mjs +1 -1
  346. package/dist/node-dev/storefront-api-constants.mjs.map +1 -1
  347. package/dist/node-dev/storefront-client.js +20 -21
  348. package/dist/node-dev/storefront-client.js.map +1 -1
  349. package/dist/node-dev/storefront-client.mjs +19 -20
  350. package/dist/node-dev/storefront-client.mjs.map +1 -1
  351. package/dist/node-dev/useCartAPIStateMachine.js +112 -81
  352. package/dist/node-dev/useCartAPIStateMachine.js.map +1 -1
  353. package/dist/node-dev/useCartAPIStateMachine.mjs +111 -80
  354. package/dist/node-dev/useCartAPIStateMachine.mjs.map +1 -1
  355. package/dist/node-dev/useCartActions.js +151 -110
  356. package/dist/node-dev/useCartActions.js.map +1 -1
  357. package/dist/node-dev/useCartActions.mjs +150 -109
  358. package/dist/node-dev/useCartActions.mjs.map +1 -1
  359. package/dist/node-dev/useMoney.js +63 -37
  360. package/dist/node-dev/useMoney.js.map +1 -1
  361. package/dist/node-dev/useMoney.mjs +62 -36
  362. package/dist/node-dev/useMoney.mjs.map +1 -1
  363. package/dist/node-dev/useShopifyCookies.js +41 -0
  364. package/dist/node-dev/useShopifyCookies.js.map +1 -0
  365. package/dist/node-dev/useShopifyCookies.mjs +41 -0
  366. package/dist/node-dev/useShopifyCookies.mjs.map +1 -0
  367. package/dist/node-prod/AddToCartButton.js +44 -41
  368. package/dist/node-prod/AddToCartButton.js.map +1 -1
  369. package/dist/node-prod/AddToCartButton.mjs +43 -40
  370. package/dist/node-prod/AddToCartButton.mjs.map +1 -1
  371. package/dist/node-prod/BaseButton.js +14 -16
  372. package/dist/node-prod/BaseButton.js.map +1 -1
  373. package/dist/node-prod/BaseButton.mjs +13 -15
  374. package/dist/node-prod/BaseButton.mjs.map +1 -1
  375. package/dist/node-prod/BuyNowButton.js +20 -18
  376. package/dist/node-prod/BuyNowButton.js.map +1 -1
  377. package/dist/node-prod/BuyNowButton.mjs +19 -17
  378. package/dist/node-prod/BuyNowButton.mjs.map +1 -1
  379. package/dist/node-prod/CartCheckoutButton.js +13 -16
  380. package/dist/node-prod/CartCheckoutButton.js.map +1 -1
  381. package/dist/node-prod/CartCheckoutButton.mjs +12 -15
  382. package/dist/node-prod/CartCheckoutButton.mjs.map +1 -1
  383. package/dist/node-prod/CartCost.js +25 -0
  384. package/dist/node-prod/CartCost.js.map +1 -0
  385. package/dist/node-prod/CartCost.mjs +25 -0
  386. package/dist/node-prod/CartCost.mjs.map +1 -0
  387. package/dist/node-prod/CartLinePrice.js +18 -0
  388. package/dist/node-prod/CartLinePrice.js.map +1 -0
  389. package/dist/node-prod/CartLinePrice.mjs +18 -0
  390. package/dist/node-prod/CartLinePrice.mjs.map +1 -0
  391. package/dist/node-prod/CartLineProvider.js +19 -0
  392. package/dist/node-prod/CartLineProvider.js.map +1 -0
  393. package/dist/node-prod/CartLineProvider.mjs +19 -0
  394. package/dist/node-prod/CartLineProvider.mjs.map +1 -0
  395. package/dist/node-prod/CartProvider.js +74 -68
  396. package/dist/node-prod/CartProvider.js.map +1 -1
  397. package/dist/node-prod/CartProvider.mjs +73 -67
  398. package/dist/node-prod/CartProvider.mjs.map +1 -1
  399. package/dist/node-prod/ExternalVideo.js +14 -12
  400. package/dist/node-prod/ExternalVideo.js.map +1 -1
  401. package/dist/node-prod/ExternalVideo.mjs +13 -11
  402. package/dist/node-prod/ExternalVideo.mjs.map +1 -1
  403. package/dist/node-prod/Image.js +36 -29
  404. package/dist/node-prod/Image.js.map +1 -1
  405. package/dist/node-prod/Image.mjs +35 -28
  406. package/dist/node-prod/Image.mjs.map +1 -1
  407. package/dist/node-prod/MediaFile.js +30 -22
  408. package/dist/node-prod/MediaFile.js.map +1 -1
  409. package/dist/node-prod/MediaFile.mjs +29 -21
  410. package/dist/node-prod/MediaFile.mjs.map +1 -1
  411. package/dist/node-prod/ModelViewer.js +136 -76
  412. package/dist/node-prod/ModelViewer.js.map +1 -1
  413. package/dist/node-prod/ModelViewer.mjs +135 -75
  414. package/dist/node-prod/ModelViewer.mjs.map +1 -1
  415. package/dist/node-prod/Money.js +13 -10
  416. package/dist/node-prod/Money.js.map +1 -1
  417. package/dist/node-prod/Money.mjs +12 -9
  418. package/dist/node-prod/Money.mjs.map +1 -1
  419. package/dist/node-prod/ProductPrice.js +13 -18
  420. package/dist/node-prod/ProductPrice.js.map +1 -1
  421. package/dist/node-prod/ProductPrice.mjs +12 -17
  422. package/dist/node-prod/ProductPrice.mjs.map +1 -1
  423. package/dist/node-prod/ProductProvider.js +103 -74
  424. package/dist/node-prod/ProductProvider.js.map +1 -1
  425. package/dist/node-prod/ProductProvider.mjs +102 -73
  426. package/dist/node-prod/ProductProvider.mjs.map +1 -1
  427. package/dist/node-prod/ShopPayButton.js +14 -24
  428. package/dist/node-prod/ShopPayButton.js.map +1 -1
  429. package/dist/node-prod/ShopPayButton.mjs +14 -24
  430. package/dist/node-prod/ShopPayButton.mjs.map +1 -1
  431. package/dist/node-prod/ShopifyProvider.js +23 -33
  432. package/dist/node-prod/ShopifyProvider.js.map +1 -1
  433. package/dist/node-prod/ShopifyProvider.mjs +22 -32
  434. package/dist/node-prod/ShopifyProvider.mjs.map +1 -1
  435. package/dist/node-prod/Video.js +31 -22
  436. package/dist/node-prod/Video.js.map +1 -1
  437. package/dist/node-prod/Video.mjs +30 -21
  438. package/dist/node-prod/Video.mjs.map +1 -1
  439. package/dist/node-prod/_virtual/index.js +11 -3
  440. package/dist/node-prod/_virtual/index.js.map +1 -1
  441. package/dist/node-prod/_virtual/index.mjs +11 -2
  442. package/dist/node-prod/_virtual/index.mjs.map +1 -1
  443. package/dist/node-prod/_virtual/use-sync-external-store-shim.development.js +1 -1
  444. package/dist/node-prod/_virtual/use-sync-external-store-shim.production.min.js +1 -1
  445. package/dist/node-prod/_virtual/with-selector.development.js +1 -1
  446. package/dist/node-prod/_virtual/with-selector.js +11 -3
  447. package/dist/node-prod/_virtual/with-selector.js.map +1 -1
  448. package/dist/node-prod/_virtual/with-selector.mjs +11 -2
  449. package/dist/node-prod/_virtual/with-selector.mjs.map +1 -1
  450. package/dist/node-prod/_virtual/with-selector.production.min.js +1 -1
  451. package/dist/node-prod/analytics-constants.js +43 -0
  452. package/dist/node-prod/analytics-constants.js.map +1 -0
  453. package/dist/node-prod/analytics-constants.mjs +43 -0
  454. package/dist/node-prod/analytics-constants.mjs.map +1 -0
  455. package/dist/node-prod/analytics-schema-custom-storefront-customer-tracking.js +145 -0
  456. package/dist/node-prod/analytics-schema-custom-storefront-customer-tracking.js.map +1 -0
  457. package/dist/node-prod/analytics-schema-custom-storefront-customer-tracking.mjs +145 -0
  458. package/dist/node-prod/analytics-schema-custom-storefront-customer-tracking.mjs.map +1 -0
  459. package/dist/node-prod/analytics-schema-trekkie-storefront-page-view.js +58 -0
  460. package/dist/node-prod/analytics-schema-trekkie-storefront-page-view.js.map +1 -0
  461. package/dist/node-prod/analytics-schema-trekkie-storefront-page-view.mjs +58 -0
  462. package/dist/node-prod/analytics-schema-trekkie-storefront-page-view.mjs.map +1 -0
  463. package/dist/node-prod/analytics-utils.js +49 -0
  464. package/dist/node-prod/analytics-utils.js.map +1 -0
  465. package/dist/node-prod/analytics-utils.mjs +49 -0
  466. package/dist/node-prod/analytics-utils.mjs.map +1 -0
  467. package/dist/node-prod/analytics.js +158 -0
  468. package/dist/node-prod/analytics.js.map +1 -0
  469. package/dist/node-prod/analytics.mjs +158 -0
  470. package/dist/node-prod/analytics.mjs.map +1 -0
  471. package/dist/node-prod/cart-constants.js +1 -1
  472. package/dist/node-prod/cart-hooks.js +29 -34
  473. package/dist/node-prod/cart-hooks.js.map +1 -1
  474. package/dist/node-prod/cart-hooks.mjs +29 -34
  475. package/dist/node-prod/cart-hooks.mjs.map +1 -1
  476. package/dist/node-prod/cart-queries.js +51 -29
  477. package/dist/node-prod/cart-queries.js.map +1 -1
  478. package/dist/node-prod/cart-queries.mjs +50 -28
  479. package/dist/node-prod/cart-queries.mjs.map +1 -1
  480. package/dist/node-prod/codegen.helpers.js +2 -1
  481. package/dist/node-prod/codegen.helpers.js.map +1 -1
  482. package/dist/node-prod/codegen.helpers.mjs +1 -0
  483. package/dist/node-prod/codegen.helpers.mjs.map +1 -1
  484. package/dist/node-prod/cookies-utils.js +50 -0
  485. package/dist/node-prod/cookies-utils.js.map +1 -0
  486. package/dist/node-prod/cookies-utils.mjs +50 -0
  487. package/dist/node-prod/cookies-utils.mjs.map +1 -0
  488. package/dist/node-prod/flatten-connection.js +8 -6
  489. package/dist/node-prod/flatten-connection.js.map +1 -1
  490. package/dist/node-prod/flatten-connection.mjs +7 -5
  491. package/dist/node-prod/flatten-connection.mjs.map +1 -1
  492. package/dist/node-prod/image-size.js +9 -9
  493. package/dist/node-prod/image-size.js.map +1 -1
  494. package/dist/node-prod/image-size.mjs +8 -8
  495. package/dist/node-prod/image-size.mjs.map +1 -1
  496. package/dist/node-prod/index.js +21 -7
  497. package/dist/node-prod/index.js.map +1 -1
  498. package/dist/node-prod/index.mjs +20 -6
  499. package/dist/node-prod/index.mjs.map +1 -1
  500. package/dist/node-prod/load-script.js +1 -1
  501. package/dist/node-prod/load-script.js.map +1 -1
  502. package/dist/node-prod/load-script.mjs.map +1 -1
  503. package/dist/node-prod/node_modules/@xstate/fsm/es/index.js +1 -1
  504. package/dist/node-prod/node_modules/@xstate/fsm/es/index.js.map +1 -1
  505. package/dist/node-prod/node_modules/@xstate/fsm/es/index.mjs.map +1 -1
  506. package/dist/node-prod/node_modules/@xstate/react/es/fsm.js +2 -2
  507. package/dist/node-prod/node_modules/@xstate/react/es/fsm.js.map +1 -1
  508. package/dist/node-prod/node_modules/@xstate/react/es/fsm.mjs +2 -2
  509. package/dist/node-prod/node_modules/@xstate/react/es/fsm.mjs.map +1 -1
  510. package/dist/node-prod/node_modules/@xstate/react/es/useConstant.js +2 -4
  511. package/dist/node-prod/node_modules/@xstate/react/es/useConstant.js.map +1 -1
  512. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js +2 -4
  513. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js.map +1 -1
  514. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs.map +1 -1
  515. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js +2 -4
  516. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js.map +1 -1
  517. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs.map +1 -1
  518. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +2 -4
  519. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js.map +1 -1
  520. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs.map +1 -1
  521. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js +2 -4
  522. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js.map +1 -1
  523. package/dist/node-prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs.map +1 -1
  524. package/dist/node-prod/node_modules/use-sync-external-store/shim/index.js +4 -4
  525. package/dist/node-prod/node_modules/use-sync-external-store/shim/index.mjs +3 -3
  526. package/dist/node-prod/node_modules/use-sync-external-store/shim/with-selector.js +1 -1
  527. package/dist/node-prod/node_modules/use-sync-external-store/shim/with-selector.mjs +1 -1
  528. package/dist/node-prod/{metafield-parser.js → parse-metafield.js} +21 -13
  529. package/dist/node-prod/parse-metafield.js.map +1 -0
  530. package/dist/node-prod/{metafield-parser.mjs → parse-metafield.mjs} +20 -12
  531. package/dist/node-prod/parse-metafield.mjs.map +1 -0
  532. package/dist/node-prod/storefront-api-constants.js +2 -2
  533. package/dist/node-prod/storefront-api-constants.js.map +1 -1
  534. package/dist/node-prod/storefront-api-constants.mjs +1 -1
  535. package/dist/node-prod/storefront-api-constants.mjs.map +1 -1
  536. package/dist/node-prod/storefront-client.js +20 -21
  537. package/dist/node-prod/storefront-client.js.map +1 -1
  538. package/dist/node-prod/storefront-client.mjs +19 -20
  539. package/dist/node-prod/storefront-client.mjs.map +1 -1
  540. package/dist/node-prod/useCartAPIStateMachine.js +112 -81
  541. package/dist/node-prod/useCartAPIStateMachine.js.map +1 -1
  542. package/dist/node-prod/useCartAPIStateMachine.mjs +111 -80
  543. package/dist/node-prod/useCartAPIStateMachine.mjs.map +1 -1
  544. package/dist/node-prod/useCartActions.js +151 -110
  545. package/dist/node-prod/useCartActions.js.map +1 -1
  546. package/dist/node-prod/useCartActions.mjs +150 -109
  547. package/dist/node-prod/useCartActions.mjs.map +1 -1
  548. package/dist/node-prod/useMoney.js +63 -37
  549. package/dist/node-prod/useMoney.js.map +1 -1
  550. package/dist/node-prod/useMoney.mjs +62 -36
  551. package/dist/node-prod/useMoney.mjs.map +1 -1
  552. package/dist/node-prod/useShopifyCookies.js +41 -0
  553. package/dist/node-prod/useShopifyCookies.js.map +1 -0
  554. package/dist/node-prod/useShopifyCookies.mjs +41 -0
  555. package/dist/node-prod/useShopifyCookies.mjs.map +1 -0
  556. package/dist/types/AddToCartButton.d.ts +3 -2
  557. package/dist/types/BuyNowButton.d.ts +7 -3
  558. package/dist/types/CartCheckoutButton.d.ts +6 -5
  559. package/dist/types/CartCost.d.ts +7 -5
  560. package/dist/types/CartLinePrice.d.ts +4 -4
  561. package/dist/types/CartLineProvider.d.ts +8 -6
  562. package/dist/types/CartProvider.d.ts +12 -2
  563. package/dist/types/ExternalVideo.d.ts +1 -2
  564. package/dist/types/Image.d.ts +5 -3
  565. package/dist/types/MediaFile.d.ts +12 -11
  566. package/dist/types/ModelViewer.d.ts +2 -2
  567. package/dist/types/ProductPrice.d.ts +1 -1
  568. package/dist/types/ProductProvider.d.ts +1 -1
  569. package/dist/types/ShopPayButton.d.ts +10 -10
  570. package/dist/types/ShopifyProvider.d.ts +36 -40
  571. package/dist/types/analytics-constants.d.ts +48 -0
  572. package/dist/types/analytics-schema-custom-storefront-customer-tracking.d.ts +3 -0
  573. package/dist/types/analytics-schema-trekkie-storefront-page-view.d.ts +2 -0
  574. package/dist/types/analytics-types.d.ts +108 -0
  575. package/dist/types/analytics-utils.d.ts +36 -0
  576. package/dist/types/analytics.d.ts +9 -0
  577. package/dist/types/cart-queries.d.ts +1 -1
  578. package/dist/types/cookies-utils.d.ts +4 -0
  579. package/dist/types/flatten-connection.d.ts +29 -9
  580. package/dist/types/index.d.cts +11 -4
  581. package/dist/types/index.d.ts +11 -4
  582. package/dist/types/{metafield-parser.d.ts → parse-metafield.d.ts} +11 -9
  583. package/dist/types/storefront-api-constants.d.ts +1 -1
  584. package/dist/types/storefront-api-types.d.ts +121 -2
  585. package/dist/types/storefront-client.d.ts +14 -14
  586. package/dist/types/useCartActions.d.ts +1 -1
  587. package/dist/types/useShopifyCookies.d.ts +14 -0
  588. package/dist/umd/hydrogen-react.dev.js +1634 -1371
  589. package/dist/umd/hydrogen-react.dev.js.map +1 -1
  590. package/dist/umd/hydrogen-react.prod.js +18 -25
  591. package/dist/umd/hydrogen-react.prod.js.map +1 -1
  592. package/package.json +24 -19
  593. package/storefront.schema.json +1 -1
  594. package/dist/browser-dev/Metafield.mjs +0 -301
  595. package/dist/browser-dev/Metafield.mjs.map +0 -1
  596. package/dist/browser-dev/metafield-parser.mjs.map +0 -1
  597. package/dist/browser-prod/Metafield.mjs +0 -288
  598. package/dist/browser-prod/Metafield.mjs.map +0 -1
  599. package/dist/browser-prod/metafield-parser.mjs.map +0 -1
  600. package/dist/node-dev/Metafield.js +0 -301
  601. package/dist/node-dev/Metafield.js.map +0 -1
  602. package/dist/node-dev/Metafield.mjs +0 -301
  603. package/dist/node-dev/Metafield.mjs.map +0 -1
  604. package/dist/node-dev/metafield-parser.js.map +0 -1
  605. package/dist/node-dev/metafield-parser.mjs.map +0 -1
  606. package/dist/node-prod/Metafield.js +0 -288
  607. package/dist/node-prod/Metafield.js.map +0 -1
  608. package/dist/node-prod/Metafield.mjs +0 -288
  609. package/dist/node-prod/Metafield.mjs.map +0 -1
  610. package/dist/node-prod/metafield-parser.js.map +0 -1
  611. package/dist/node-prod/metafield-parser.mjs.map +0 -1
  612. package/dist/types/Metafield.d.ts +0 -61
@@ -0,0 +1,159 @@
1
+ import { SHOPIFY_Y, SHOPIFY_S } from "./cart-constants.mjs";
2
+ import { AnalyticsEventName } from "./analytics-constants.mjs";
3
+ import { errorIfServer } from "./analytics-utils.mjs";
4
+ import { getShopifyCookies } from "./cookies-utils.mjs";
5
+ import { pageView } from "./analytics-schema-trekkie-storefront-page-view.mjs";
6
+ import { pageView as pageView$1, addToCart } from "./analytics-schema-custom-storefront-customer-tracking.mjs";
7
+ function sendShopifyAnalytics(event, shopDomain) {
8
+ const { eventName, payload } = event;
9
+ if (!payload.hasUserConsent)
10
+ return Promise.resolve();
11
+ let events = [];
12
+ if (eventName === AnalyticsEventName.PAGE_VIEW) {
13
+ const pageViewPayload = payload;
14
+ events = events.concat(
15
+ pageView(pageViewPayload),
16
+ pageView$1(pageViewPayload)
17
+ );
18
+ } else if (eventName === AnalyticsEventName.ADD_TO_CART) {
19
+ events = events.concat(
20
+ addToCart(payload)
21
+ );
22
+ }
23
+ if (events.length) {
24
+ return sendToShopify(events, shopDomain);
25
+ } else {
26
+ return Promise.resolve();
27
+ }
28
+ }
29
+ const ERROR_MESSAGE = "sendShopifyAnalytics request is unsuccessful";
30
+ function sendToShopify(events, shopDomain) {
31
+ const eventsToBeSent = {
32
+ events,
33
+ metadata: {
34
+ event_sent_at_ms: Date.now()
35
+ }
36
+ };
37
+ try {
38
+ return fetch(
39
+ shopDomain ? `https://${shopDomain}/.well-known/shopify/monorail/unstable/produce_batch` : "https://monorail-edge.shopifysvc.com/unstable/produce_batch",
40
+ {
41
+ method: "post",
42
+ headers: {
43
+ "content-type": "text/plain"
44
+ },
45
+ body: JSON.stringify(eventsToBeSent)
46
+ }
47
+ ).then((response) => {
48
+ if (!response.ok) {
49
+ throw new Error("Response failed");
50
+ }
51
+ return response.text();
52
+ }).then((data) => {
53
+ if (data) {
54
+ const jsonResponse = JSON.parse(data);
55
+ jsonResponse.result.forEach((eventResponse) => {
56
+ if (eventResponse.status !== 200) {
57
+ console.error(ERROR_MESSAGE, "\n\n", eventResponse.message);
58
+ }
59
+ });
60
+ }
61
+ }).catch((err) => {
62
+ console.error(ERROR_MESSAGE, err);
63
+ if (true) {
64
+ throw new Error(ERROR_MESSAGE);
65
+ }
66
+ });
67
+ } catch (error) {
68
+ return Promise.resolve();
69
+ }
70
+ }
71
+ function getClientBrowserParameters() {
72
+ if (errorIfServer("getClientBrowserParameters")) {
73
+ return {
74
+ uniqueToken: "",
75
+ visitToken: "",
76
+ url: "",
77
+ path: "",
78
+ search: "",
79
+ referrer: "",
80
+ title: "",
81
+ userAgent: "",
82
+ navigationType: "",
83
+ navigationApi: ""
84
+ };
85
+ }
86
+ const [navigationType, navigationApi] = getNavigationType();
87
+ const cookies = getShopifyCookies(document.cookie);
88
+ return {
89
+ uniqueToken: cookies[SHOPIFY_Y],
90
+ visitToken: cookies[SHOPIFY_S],
91
+ url: location.href,
92
+ path: location.pathname,
93
+ search: location.search,
94
+ referrer: document.referrer,
95
+ title: document.title,
96
+ userAgent: navigator.userAgent,
97
+ navigationType,
98
+ navigationApi
99
+ };
100
+ }
101
+ function getNavigationTypeExperimental() {
102
+ try {
103
+ const navigationEntries = (performance == null ? void 0 : performance.getEntriesByType) && (performance == null ? void 0 : performance.getEntriesByType("navigation"));
104
+ if (navigationEntries && navigationEntries[0]) {
105
+ const rawType = window.performance.getEntriesByType(
106
+ "navigation"
107
+ )[0]["type"];
108
+ const navType = rawType && rawType.toString();
109
+ return navType;
110
+ }
111
+ } catch (err) {
112
+ }
113
+ return void 0;
114
+ }
115
+ function getNavigationTypeLegacy() {
116
+ var _a, _b;
117
+ try {
118
+ if (PerformanceNavigation && ((_a = performance == null ? void 0 : performance.navigation) == null ? void 0 : _a.type) !== null && ((_b = performance == null ? void 0 : performance.navigation) == null ? void 0 : _b.type) !== void 0) {
119
+ const rawType = performance.navigation.type;
120
+ switch (rawType) {
121
+ case PerformanceNavigation.TYPE_NAVIGATE:
122
+ return "navigate";
123
+ break;
124
+ case PerformanceNavigation.TYPE_RELOAD:
125
+ return "reload";
126
+ break;
127
+ case PerformanceNavigation.TYPE_BACK_FORWARD:
128
+ return "back_forward";
129
+ break;
130
+ default:
131
+ return `unknown: ${rawType}`;
132
+ }
133
+ }
134
+ } catch (err) {
135
+ }
136
+ return void 0;
137
+ }
138
+ function getNavigationType() {
139
+ try {
140
+ let navApi = "PerformanceNavigationTiming";
141
+ let navType = getNavigationTypeExperimental();
142
+ if (!navType) {
143
+ navType = getNavigationTypeLegacy();
144
+ navApi = "performance.navigation";
145
+ }
146
+ if (navType) {
147
+ return [navType, navApi];
148
+ } else {
149
+ return ["unknown", "unknown"];
150
+ }
151
+ } catch (err) {
152
+ }
153
+ return ["error", "error"];
154
+ }
155
+ export {
156
+ getClientBrowserParameters,
157
+ sendShopifyAnalytics
158
+ };
159
+ //# sourceMappingURL=analytics.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.mjs","sources":["../../src/analytics.ts"],"sourcesContent":["import {SHOPIFY_S, SHOPIFY_Y} from './cart-constants.js';\nimport type {\n ClientBrowserParameters,\n ShopifyAddToCartPayload,\n ShopifyAnalytics,\n ShopifyPageViewPayload,\n ShopifyMonorailEvent,\n} from './analytics-types.js';\nimport {AnalyticsEventName} from './analytics-constants.js';\nimport {errorIfServer} from './analytics-utils.js';\nimport {getShopifyCookies} from './cookies-utils.js';\n\nimport {pageView as trekkiePageView} from './analytics-schema-trekkie-storefront-page-view.js';\nimport {\n pageView as customerPageView,\n addToCart as customerAddToCart,\n} from './analytics-schema-custom-storefront-customer-tracking.js';\n\n/**\n * Set user and session cookies and refresh the expiry time\n * @param event - The analytics event.\n * @param shopDomain - The Online Store domain to sent Shopify analytics under the same\n * top level domain.\n */\nexport function sendShopifyAnalytics(\n event: ShopifyAnalytics,\n shopDomain?: string\n): Promise<void> {\n const {eventName, payload} = event;\n if (!payload.hasUserConsent) return Promise.resolve();\n\n let events: ShopifyMonorailEvent[] = [];\n\n if (eventName === AnalyticsEventName.PAGE_VIEW) {\n const pageViewPayload = payload as ShopifyPageViewPayload;\n events = events.concat(\n trekkiePageView(pageViewPayload),\n customerPageView(pageViewPayload)\n );\n } else if (eventName === AnalyticsEventName.ADD_TO_CART) {\n events = events.concat(\n customerAddToCart(payload as ShopifyAddToCartPayload)\n );\n }\n\n if (events.length) {\n return sendToShopify(events, shopDomain);\n } else {\n return Promise.resolve();\n }\n}\n\ntype MonorailResponse = {\n status: number;\n message: string;\n};\n\nconst ERROR_MESSAGE = 'sendShopifyAnalytics request is unsuccessful';\n\nfunction sendToShopify(\n events: ShopifyMonorailEvent[],\n shopDomain?: string\n): Promise<void> {\n const eventsToBeSent = {\n events,\n metadata: {\n event_sent_at_ms: Date.now(),\n },\n };\n\n try {\n return fetch(\n shopDomain\n ? `https://${shopDomain}/.well-known/shopify/monorail/unstable/produce_batch`\n : 'https://monorail-edge.shopifysvc.com/unstable/produce_batch',\n {\n method: 'post',\n headers: {\n 'content-type': 'text/plain',\n },\n body: JSON.stringify(eventsToBeSent),\n }\n )\n .then((response) => {\n if (!response.ok) {\n throw new Error('Response failed');\n }\n return response.text();\n })\n .then((data) => {\n if (data) {\n const jsonResponse = JSON.parse(data);\n jsonResponse.result.forEach((eventResponse: MonorailResponse) => {\n if (eventResponse.status !== 200) {\n console.error(ERROR_MESSAGE, '\\n\\n', eventResponse.message);\n }\n });\n }\n })\n .catch((err) => {\n console.error(ERROR_MESSAGE, err);\n if (__HYDROGEN_DEV__) {\n throw new Error(ERROR_MESSAGE);\n }\n });\n } catch (error) {\n // Do nothing\n return Promise.resolve();\n }\n}\n\nexport function getClientBrowserParameters(): ClientBrowserParameters {\n if (errorIfServer('getClientBrowserParameters')) {\n return {\n uniqueToken: '',\n visitToken: '',\n url: '',\n path: '',\n search: '',\n referrer: '',\n title: '',\n userAgent: '',\n navigationType: '',\n navigationApi: '',\n };\n }\n\n const [navigationType, navigationApi] = getNavigationType();\n const cookies = getShopifyCookies(document.cookie);\n\n return {\n uniqueToken: cookies[SHOPIFY_Y],\n visitToken: cookies[SHOPIFY_S],\n url: location.href,\n path: location.pathname,\n search: location.search,\n referrer: document.referrer,\n title: document.title,\n userAgent: navigator.userAgent,\n navigationType,\n navigationApi,\n };\n}\n\nfunction getNavigationTypeExperimental(): string | undefined {\n try {\n const navigationEntries =\n performance?.getEntriesByType &&\n performance?.getEntriesByType('navigation');\n\n if (navigationEntries && navigationEntries[0]) {\n // https://developer.mozilla.org/en-US/docs/Web/API/PerformanceNavigationTiming\n const rawType = (\n window.performance.getEntriesByType(\n 'navigation'\n )[0] as PerformanceNavigationTiming\n )['type'];\n const navType = rawType && rawType.toString();\n\n return navType;\n }\n } catch (err) {\n // Do nothing\n }\n return undefined;\n}\n\nfunction getNavigationTypeLegacy(): string | undefined {\n try {\n if (\n PerformanceNavigation &&\n performance?.navigation?.type !== null &&\n performance?.navigation?.type !== undefined\n ) {\n // https://developer.mozilla.org/en-US/docs/Web/API/Performance/navigation\n const rawType = performance.navigation.type;\n switch (rawType) {\n case PerformanceNavigation.TYPE_NAVIGATE:\n return 'navigate';\n break;\n case PerformanceNavigation.TYPE_RELOAD:\n return 'reload';\n break;\n case PerformanceNavigation.TYPE_BACK_FORWARD:\n return 'back_forward';\n break;\n default:\n return `unknown: ${rawType}`;\n }\n }\n } catch (err) {\n // do nothing\n }\n return undefined;\n}\n\nfunction getNavigationType(): [string, string] {\n try {\n let navApi = 'PerformanceNavigationTiming';\n let navType = getNavigationTypeExperimental();\n if (!navType) {\n navType = getNavigationTypeLegacy();\n navApi = 'performance.navigation';\n }\n if (navType) {\n return [navType, navApi];\n } else {\n return ['unknown', 'unknown'];\n }\n } catch (err) {\n // do nothing\n }\n return ['error', 'error'];\n}\n"],"names":["trekkiePageView","customerPageView","customerAddToCart"],"mappings":";;;;;;AAwBgB,SAAA,qBACd,OACA,YACe;AACT,QAAA,EAAC,WAAW,QAAW,IAAA;AAC7B,MAAI,CAAC,QAAQ;AAAgB,WAAO,QAAQ;AAE5C,MAAI,SAAiC,CAAA;AAEjC,MAAA,cAAc,mBAAmB,WAAW;AAC9C,UAAM,kBAAkB;AACxB,aAAS,OAAO;AAAA,MACdA,SAAgB,eAAe;AAAA,MAC/BC,WAAiB,eAAe;AAAA,IAAA;AAAA,EAClC,WACS,cAAc,mBAAmB,aAAa;AACvD,aAAS,OAAO;AAAA,MACdC,UAAkB,OAAkC;AAAA,IAAA;AAAA,EAExD;AAEA,MAAI,OAAO,QAAQ;AACV,WAAA,cAAc,QAAQ,UAAU;AAAA,EAAA,OAClC;AACL,WAAO,QAAQ;EACjB;AACF;AAOA,MAAM,gBAAgB;AAEtB,SAAS,cACP,QACA,YACe;AACf,QAAM,iBAAiB;AAAA,IACrB;AAAA,IACA,UAAU;AAAA,MACR,kBAAkB,KAAK,IAAI;AAAA,IAC7B;AAAA,EAAA;AAGE,MAAA;AACK,WAAA;AAAA,MACL,aACI,WAAW,mEACX;AAAA,MACJ;AAAA,QACE,QAAQ;AAAA,QACR,SAAS;AAAA,UACP,gBAAgB;AAAA,QAClB;AAAA,QACA,MAAM,KAAK,UAAU,cAAc;AAAA,MACrC;AAAA,IAAA,EAEC,KAAK,CAAC,aAAa;AACd,UAAA,CAAC,SAAS,IAAI;AACV,cAAA,IAAI,MAAM,iBAAiB;AAAA,MACnC;AACA,aAAO,SAAS;IAAK,CACtB,EACA,KAAK,CAAC,SAAS;AACd,UAAI,MAAM;AACF,cAAA,eAAe,KAAK,MAAM,IAAI;AACvB,qBAAA,OAAO,QAAQ,CAAC,kBAAoC;AAC3D,cAAA,cAAc,WAAW,KAAK;AAChC,oBAAQ,MAAM,eAAe,QAAQ,cAAc,OAAO;AAAA,UAC5D;AAAA,QAAA,CACD;AAAA,MACH;AAAA,IAAA,CACD,EACA,MAAM,CAAC,QAAQ;AACN,cAAA,MAAM,eAAe,GAAG;AAChC,UAAI,MAAkB;AACd,cAAA,IAAI,MAAM,aAAa;AAAA,MAC/B;AAAA,IAAA,CACD;AAAA,WACI;AAEP,WAAO,QAAQ;EACjB;AACF;AAEO,SAAS,6BAAsD;AAChE,MAAA,cAAc,4BAA4B,GAAG;AACxC,WAAA;AAAA,MACL,aAAa;AAAA,MACb,YAAY;AAAA,MACZ,KAAK;AAAA,MACL,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,OAAO;AAAA,MACP,WAAW;AAAA,MACX,gBAAgB;AAAA,MAChB,eAAe;AAAA,IAAA;AAAA,EAEnB;AAEA,QAAM,CAAC,gBAAgB,aAAa,IAAI,kBAAkB;AACpD,QAAA,UAAU,kBAAkB,SAAS,MAAM;AAE1C,SAAA;AAAA,IACL,aAAa,QAAQ,SAAS;AAAA,IAC9B,YAAY,QAAQ,SAAS;AAAA,IAC7B,KAAK,SAAS;AAAA,IACd,MAAM,SAAS;AAAA,IACf,QAAQ,SAAS;AAAA,IACjB,UAAU,SAAS;AAAA,IACnB,OAAO,SAAS;AAAA,IAChB,WAAW,UAAU;AAAA,IACrB;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,SAAS,gCAAoD;AACvD,MAAA;AACF,UAAM,qBACJ,2CAAa,sBACb,2CAAa,iBAAiB;AAE5B,QAAA,qBAAqB,kBAAkB,CAAC,GAAG;AAEvC,YAAA,UACJ,OAAO,YAAY;AAAA,QACjB;AAAA,MAAA,EACA,CAAC,EACH,MAAM;AACF,YAAA,UAAU,WAAW,QAAQ,SAAS;AAErC,aAAA;AAAA,IACT;AAAA,WACO;EAET;AACO,SAAA;AACT;AAEA,SAAS,0BAA8C;;AACjD,MAAA;AAEA,QAAA,2BACA,gDAAa,eAAb,mBAAyB,UAAS,UAClC,gDAAa,eAAb,mBAAyB,UAAS,QAClC;AAEM,YAAA,UAAU,YAAY,WAAW;AACvC,cAAQ,SAAS;AAAA,QACf,KAAK,sBAAsB;AAClB,iBAAA;AACP;AAAA,QACF,KAAK,sBAAsB;AAClB,iBAAA;AACP;AAAA,QACF,KAAK,sBAAsB;AAClB,iBAAA;AACP;AAAA,QACF;AACE,iBAAO,YAAY;AAAA,MACvB;AAAA,IACF;AAAA,WACO;EAET;AACO,SAAA;AACT;AAEA,SAAS,oBAAsC;AACzC,MAAA;AACF,QAAI,SAAS;AACb,QAAI,UAAU;AACd,QAAI,CAAC,SAAS;AACZ,gBAAU,wBAAwB;AACzB,eAAA;AAAA,IACX;AACA,QAAI,SAAS;AACJ,aAAA,CAAC,SAAS,MAAM;AAAA,IAAA,OAClB;AACE,aAAA,CAAC,WAAW,SAAS;AAAA,IAC9B;AAAA,WACO;EAET;AACO,SAAA,CAAC,SAAS,OAAO;AAC1B;"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const CART_ID_STORAGE_KEY = "shopifyCartId";
4
4
  const SHOPIFY_STOREFRONT_ID_HEADER = "Shopify-Storefront-Id";
5
5
  const SHOPIFY_STOREFRONT_Y_HEADER = "Shopify-Storefront-Y";
@@ -1,44 +1,39 @@
1
1
  "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const require$$0 = require("react");
4
4
  const ShopifyProvider = require("./ShopifyProvider.js");
5
5
  const cartConstants = require("./cart-constants.js");
6
- const cookie = require("worktop/cookie");
6
+ const cookiesUtils = require("./cookies-utils.js");
7
7
  function useCartFetch() {
8
- const {
9
- storefrontId,
10
- getPublicTokenHeaders,
11
- getStorefrontApiUrl
12
- } = ShopifyProvider.useShop();
13
- return require$$0.useCallback(({
14
- query,
15
- variables
16
- }) => {
17
- const headers = getPublicTokenHeaders({
18
- contentType: "json"
19
- });
20
- if (storefrontId) {
21
- headers[cartConstants.SHOPIFY_STOREFRONT_ID_HEADER] = storefrontId;
22
- }
23
- const cookieData = cookie.parse(document.cookie);
24
- if (cookieData[cartConstants.SHOPIFY_Y] && cookieData[cartConstants.SHOPIFY_S]) {
8
+ const { storefrontId, getPublicTokenHeaders, getStorefrontApiUrl } = ShopifyProvider.useShop();
9
+ return require$$0.useCallback(
10
+ ({
11
+ query,
12
+ variables
13
+ }) => {
14
+ const headers = getPublicTokenHeaders({ contentType: "json" });
15
+ if (storefrontId) {
16
+ headers[cartConstants.SHOPIFY_STOREFRONT_ID_HEADER] = storefrontId;
17
+ }
18
+ const cookieData = cookiesUtils.getShopifyCookies(document.cookie);
25
19
  headers[cartConstants.SHOPIFY_STOREFRONT_Y_HEADER] = cookieData[cartConstants.SHOPIFY_Y];
26
20
  headers[cartConstants.SHOPIFY_STOREFRONT_S_HEADER] = cookieData[cartConstants.SHOPIFY_S];
27
- }
28
- return fetch(getStorefrontApiUrl(), {
29
- method: "POST",
30
- headers,
31
- body: JSON.stringify({
32
- query: query.toString(),
33
- variables
34
- })
35
- }).then((res) => res.json()).catch((error) => {
36
- return {
37
- data: void 0,
38
- errors: error.toString()
39
- };
40
- });
41
- }, [getPublicTokenHeaders, storefrontId, getStorefrontApiUrl]);
21
+ return fetch(getStorefrontApiUrl(), {
22
+ method: "POST",
23
+ headers,
24
+ body: JSON.stringify({
25
+ query: query.toString(),
26
+ variables
27
+ })
28
+ }).then((res) => res.json()).catch((error) => {
29
+ return {
30
+ data: void 0,
31
+ errors: error.toString()
32
+ };
33
+ });
34
+ },
35
+ [getPublicTokenHeaders, storefrontId, getStorefrontApiUrl]
36
+ );
42
37
  }
43
38
  exports.useCartFetch = useCartFetch;
44
39
  //# sourceMappingURL=cart-hooks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cart-hooks.js","sources":["../../src/cart-hooks.tsx"],"sourcesContent":["import {useState, useCallback} from 'react';\nimport {useShop} from './ShopifyProvider.js';\nimport {flattenConnection} from './flatten-connection.js';\nimport {CartInput, Cart as CartType} from './storefront-api-types.js';\nimport {CartCreate, defaultCartFragment} from './cart-queries.js';\nimport {Cart} from './cart-types.js';\nimport {\n SHOPIFY_STOREFRONT_ID_HEADER,\n SHOPIFY_STOREFRONT_Y_HEADER,\n SHOPIFY_STOREFRONT_S_HEADER,\n SHOPIFY_Y,\n SHOPIFY_S,\n} from './cart-constants.js';\nimport {parse} from 'worktop/cookie';\nimport type {StorefrontApiResponseOkPartial} from './storefront-api-response.types.js';\n\nexport function useCartFetch() {\n const {storefrontId, getPublicTokenHeaders, getStorefrontApiUrl} = useShop();\n\n return useCallback(\n <ReturnDataGeneric,>({\n query,\n variables,\n }: {\n query: string;\n variables: Record<string, unknown>;\n }): Promise<StorefrontApiResponseOkPartial<ReturnDataGeneric>> => {\n const headers = getPublicTokenHeaders({contentType: 'json'});\n\n if (storefrontId) {\n headers[SHOPIFY_STOREFRONT_ID_HEADER] = storefrontId;\n }\n\n // Find Shopify cookies\n const cookieData = parse(document.cookie);\n if (cookieData[SHOPIFY_Y] && cookieData[SHOPIFY_S]) {\n headers[SHOPIFY_STOREFRONT_Y_HEADER] = cookieData[SHOPIFY_Y];\n headers[SHOPIFY_STOREFRONT_S_HEADER] = cookieData[SHOPIFY_S];\n }\n\n return fetch(getStorefrontApiUrl(), {\n method: 'POST',\n headers,\n body: JSON.stringify({\n query: query.toString(),\n variables,\n }),\n })\n .then((res) => res.json())\n .catch((error) => {\n return {\n data: undefined,\n errors: error.toString(),\n };\n });\n },\n [getPublicTokenHeaders, storefrontId, getStorefrontApiUrl]\n );\n}\n\nexport function useInstantCheckout() {\n const [cart, updateCart] = useState<Cart | undefined>();\n const [checkoutUrl, updateCheckoutUrl] = useState<Cart['checkoutUrl']>();\n const [error, updateError] = useState<string | undefined>();\n\n const fetch = useCartFetch();\n\n const createInstantCheckout = useCallback(\n async (cartInput: CartInput) => {\n const {data, errors} = await fetch<{\n cartCreate: {cart: CartType};\n }>({\n query: CartCreate(defaultCartFragment),\n variables: {\n input: cartInput,\n },\n });\n\n if (errors) {\n updateError(errors.toString());\n updateCart(undefined);\n updateCheckoutUrl(undefined);\n }\n\n if (data?.cartCreate?.cart) {\n const dataCart = data.cartCreate.cart;\n updateCart({\n ...dataCart,\n lines: flattenConnection(dataCart.lines),\n note: dataCart.note ?? undefined,\n });\n updateCheckoutUrl(dataCart.checkoutUrl);\n }\n },\n [fetch]\n );\n\n return {cart, checkoutUrl, error, createInstantCheckout};\n}\n"],"names":["useCartFetch","storefrontId","getPublicTokenHeaders","getStorefrontApiUrl","useShop","useCallback","query","variables","headers","contentType","SHOPIFY_STOREFRONT_ID_HEADER","cookieData","parse","document","cookie","SHOPIFY_Y","SHOPIFY_S","SHOPIFY_STOREFRONT_Y_HEADER","SHOPIFY_STOREFRONT_S_HEADER","fetch","method","body","JSON","stringify","toString","then","res","json","catch","error","data","undefined","errors"],"mappings":";;;;;;AAgBO,SAASA,eAAe;AACvB,QAAA;AAAA,IAACC;AAAAA,IAAcC;AAAAA,IAAuBC;AAAAA,MAAuBC,gBAAS,QAAA;AAE5E,SAAOC,uBACL,CAAqB;AAAA,IACnBC;AAAAA,IACAC;AAAAA,EAAAA,MAIgE;AAChE,UAAMC,UAAUN,sBAAsB;AAAA,MAACO,aAAa;AAAA,IAAA,CAAO;AAE3D,QAAIR,cAAc;AAChBO,cAAQE,cAAAA,gCAAgCT;AAAAA,IAC1C;AAGMU,UAAAA,aAAaC,OAAAA,MAAMC,SAASC,MAAM;AACpCH,QAAAA,WAAWI,cAAcJ,cAAAA,WAAWK,cAAY,YAAA;AAClDR,cAAQS,6CAA+BN,WAAWI,cAAAA;AAClDP,cAAQU,6CAA+BP,WAAWK,cAAAA;AAAAA,IACpD;AAEOG,WAAAA,MAAMhB,uBAAuB;AAAA,MAClCiB,QAAQ;AAAA,MACRZ;AAAAA,MACAa,MAAMC,KAAKC,UAAU;AAAA,QACnBjB,OAAOA,MAAMkB,SAAU;AAAA,QACvBjB;AAAAA,MAAAA,CACD;AAAA,IAAA,CACF,EACEkB,KAAMC,CAAAA,QAAQA,IAAIC,MAAM,EACxBC,MAAOC,CAAU,UAAA;AACT,aAAA;AAAA,QACLC,MAAMC;AAAAA,QACNC,QAAQH,MAAML,SAAQ;AAAA,MAAA;AAAA,IACxB,CACD;AAAA,EAEL,GAAA,CAACtB,uBAAuBD,cAAcE,mBAAmB,CAAC;AAE9D;;"}
1
+ {"version":3,"file":"cart-hooks.js","sources":["../../src/cart-hooks.tsx"],"sourcesContent":["import {useState, useCallback} from 'react';\nimport {useShop} from './ShopifyProvider.js';\nimport {flattenConnection} from './flatten-connection.js';\nimport {CartInput, Cart as CartType} from './storefront-api-types.js';\nimport {CartCreate, defaultCartFragment} from './cart-queries.js';\nimport {Cart} from './cart-types.js';\nimport {\n SHOPIFY_STOREFRONT_ID_HEADER,\n SHOPIFY_STOREFRONT_Y_HEADER,\n SHOPIFY_STOREFRONT_S_HEADER,\n SHOPIFY_Y,\n SHOPIFY_S,\n} from './cart-constants.js';\nimport type {StorefrontApiResponseOkPartial} from './storefront-api-response.types.js';\nimport {getShopifyCookies} from './cookies-utils.js';\n\nexport function useCartFetch() {\n const {storefrontId, getPublicTokenHeaders, getStorefrontApiUrl} = useShop();\n\n return useCallback(\n <ReturnDataGeneric,>({\n query,\n variables,\n }: {\n query: string;\n variables: Record<string, unknown>;\n }): Promise<StorefrontApiResponseOkPartial<ReturnDataGeneric>> => {\n const headers = getPublicTokenHeaders({contentType: 'json'});\n\n if (storefrontId) {\n headers[SHOPIFY_STOREFRONT_ID_HEADER] = storefrontId;\n }\n\n // Find Shopify cookies\n const cookieData = getShopifyCookies(document.cookie);\n headers[SHOPIFY_STOREFRONT_Y_HEADER] = cookieData[SHOPIFY_Y];\n headers[SHOPIFY_STOREFRONT_S_HEADER] = cookieData[SHOPIFY_S];\n\n return fetch(getStorefrontApiUrl(), {\n method: 'POST',\n headers,\n body: JSON.stringify({\n query: query.toString(),\n variables,\n }),\n })\n .then((res) => res.json())\n .catch((error) => {\n return {\n data: undefined,\n errors: error.toString(),\n };\n });\n },\n [getPublicTokenHeaders, storefrontId, getStorefrontApiUrl]\n );\n}\n\nexport function useInstantCheckout() {\n const [cart, updateCart] = useState<Cart | undefined>();\n const [checkoutUrl, updateCheckoutUrl] = useState<Cart['checkoutUrl']>();\n const [error, updateError] = useState<string | undefined>();\n\n const fetch = useCartFetch();\n\n const createInstantCheckout = useCallback(\n async (cartInput: CartInput) => {\n const {data, errors} = await fetch<{\n cartCreate: {cart: CartType};\n }>({\n query: CartCreate(defaultCartFragment),\n variables: {\n input: cartInput,\n },\n });\n\n if (errors) {\n updateError(errors.toString());\n updateCart(undefined);\n updateCheckoutUrl(undefined);\n }\n\n if (data?.cartCreate?.cart) {\n const dataCart = data.cartCreate.cart;\n updateCart({\n ...dataCart,\n lines: flattenConnection(dataCart.lines),\n note: dataCart.note ?? undefined,\n });\n updateCheckoutUrl(dataCart.checkoutUrl);\n }\n },\n [fetch]\n );\n\n return {cart, checkoutUrl, error, createInstantCheckout};\n}\n"],"names":["useShop","useCallback","SHOPIFY_STOREFRONT_ID_HEADER","getShopifyCookies","SHOPIFY_STOREFRONT_Y_HEADER","SHOPIFY_Y","SHOPIFY_STOREFRONT_S_HEADER","SHOPIFY_S"],"mappings":";;;;;;AAgBO,SAAS,eAAe;AAC7B,QAAM,EAAC,cAAc,uBAAuB,wBAAuBA,gBAAQ,QAAA;AAEpE,SAAAC,WAAA;AAAA,IACL,CAAqB;AAAA,MACnB;AAAA,MACA;AAAA,IAAA,MAIgE;AAChE,YAAM,UAAU,sBAAsB,EAAC,aAAa,OAAO,CAAA;AAE3D,UAAI,cAAc;AAChB,gBAAQC,cAAAA,4BAA4B,IAAI;AAAA,MAC1C;AAGM,YAAA,aAAaC,aAAAA,kBAAkB,SAAS,MAAM;AAC5C,cAAAC,cAA2B,2BAAA,IAAI,WAAWC,cAAS,SAAA;AACnD,cAAAC,cAA2B,2BAAA,IAAI,WAAWC,cAAS,SAAA;AAEpD,aAAA,MAAM,uBAAuB;AAAA,QAClC,QAAQ;AAAA,QACR;AAAA,QACA,MAAM,KAAK,UAAU;AAAA,UACnB,OAAO,MAAM,SAAS;AAAA,UACtB;AAAA,QAAA,CACD;AAAA,MAAA,CACF,EACE,KAAK,CAAC,QAAQ,IAAI,MAAM,EACxB,MAAM,CAAC,UAAU;AACT,eAAA;AAAA,UACL,MAAM;AAAA,UACN,QAAQ,MAAM,SAAS;AAAA,QAAA;AAAA,MACzB,CACD;AAAA,IACL;AAAA,IACA,CAAC,uBAAuB,cAAc,mBAAmB;AAAA,EAAA;AAE7D;;"}
@@ -1,42 +1,37 @@
1
1
  import { useCallback } from "react";
2
2
  import { useShop } from "./ShopifyProvider.mjs";
3
- import { SHOPIFY_STOREFRONT_ID_HEADER, SHOPIFY_Y, SHOPIFY_S, SHOPIFY_STOREFRONT_Y_HEADER, SHOPIFY_STOREFRONT_S_HEADER } from "./cart-constants.mjs";
4
- import { parse } from "worktop/cookie";
3
+ import { SHOPIFY_STOREFRONT_ID_HEADER, SHOPIFY_STOREFRONT_Y_HEADER, SHOPIFY_Y, SHOPIFY_STOREFRONT_S_HEADER, SHOPIFY_S } from "./cart-constants.mjs";
4
+ import { getShopifyCookies } from "./cookies-utils.mjs";
5
5
  function useCartFetch() {
6
- const {
7
- storefrontId,
8
- getPublicTokenHeaders,
9
- getStorefrontApiUrl
10
- } = useShop();
11
- return useCallback(({
12
- query,
13
- variables
14
- }) => {
15
- const headers = getPublicTokenHeaders({
16
- contentType: "json"
17
- });
18
- if (storefrontId) {
19
- headers[SHOPIFY_STOREFRONT_ID_HEADER] = storefrontId;
20
- }
21
- const cookieData = parse(document.cookie);
22
- if (cookieData[SHOPIFY_Y] && cookieData[SHOPIFY_S]) {
6
+ const { storefrontId, getPublicTokenHeaders, getStorefrontApiUrl } = useShop();
7
+ return useCallback(
8
+ ({
9
+ query,
10
+ variables
11
+ }) => {
12
+ const headers = getPublicTokenHeaders({ contentType: "json" });
13
+ if (storefrontId) {
14
+ headers[SHOPIFY_STOREFRONT_ID_HEADER] = storefrontId;
15
+ }
16
+ const cookieData = getShopifyCookies(document.cookie);
23
17
  headers[SHOPIFY_STOREFRONT_Y_HEADER] = cookieData[SHOPIFY_Y];
24
18
  headers[SHOPIFY_STOREFRONT_S_HEADER] = cookieData[SHOPIFY_S];
25
- }
26
- return fetch(getStorefrontApiUrl(), {
27
- method: "POST",
28
- headers,
29
- body: JSON.stringify({
30
- query: query.toString(),
31
- variables
32
- })
33
- }).then((res) => res.json()).catch((error) => {
34
- return {
35
- data: void 0,
36
- errors: error.toString()
37
- };
38
- });
39
- }, [getPublicTokenHeaders, storefrontId, getStorefrontApiUrl]);
19
+ return fetch(getStorefrontApiUrl(), {
20
+ method: "POST",
21
+ headers,
22
+ body: JSON.stringify({
23
+ query: query.toString(),
24
+ variables
25
+ })
26
+ }).then((res) => res.json()).catch((error) => {
27
+ return {
28
+ data: void 0,
29
+ errors: error.toString()
30
+ };
31
+ });
32
+ },
33
+ [getPublicTokenHeaders, storefrontId, getStorefrontApiUrl]
34
+ );
40
35
  }
41
36
  export {
42
37
  useCartFetch
@@ -1 +1 @@
1
- {"version":3,"file":"cart-hooks.mjs","sources":["../../src/cart-hooks.tsx"],"sourcesContent":["import {useState, useCallback} from 'react';\nimport {useShop} from './ShopifyProvider.js';\nimport {flattenConnection} from './flatten-connection.js';\nimport {CartInput, Cart as CartType} from './storefront-api-types.js';\nimport {CartCreate, defaultCartFragment} from './cart-queries.js';\nimport {Cart} from './cart-types.js';\nimport {\n SHOPIFY_STOREFRONT_ID_HEADER,\n SHOPIFY_STOREFRONT_Y_HEADER,\n SHOPIFY_STOREFRONT_S_HEADER,\n SHOPIFY_Y,\n SHOPIFY_S,\n} from './cart-constants.js';\nimport {parse} from 'worktop/cookie';\nimport type {StorefrontApiResponseOkPartial} from './storefront-api-response.types.js';\n\nexport function useCartFetch() {\n const {storefrontId, getPublicTokenHeaders, getStorefrontApiUrl} = useShop();\n\n return useCallback(\n <ReturnDataGeneric,>({\n query,\n variables,\n }: {\n query: string;\n variables: Record<string, unknown>;\n }): Promise<StorefrontApiResponseOkPartial<ReturnDataGeneric>> => {\n const headers = getPublicTokenHeaders({contentType: 'json'});\n\n if (storefrontId) {\n headers[SHOPIFY_STOREFRONT_ID_HEADER] = storefrontId;\n }\n\n // Find Shopify cookies\n const cookieData = parse(document.cookie);\n if (cookieData[SHOPIFY_Y] && cookieData[SHOPIFY_S]) {\n headers[SHOPIFY_STOREFRONT_Y_HEADER] = cookieData[SHOPIFY_Y];\n headers[SHOPIFY_STOREFRONT_S_HEADER] = cookieData[SHOPIFY_S];\n }\n\n return fetch(getStorefrontApiUrl(), {\n method: 'POST',\n headers,\n body: JSON.stringify({\n query: query.toString(),\n variables,\n }),\n })\n .then((res) => res.json())\n .catch((error) => {\n return {\n data: undefined,\n errors: error.toString(),\n };\n });\n },\n [getPublicTokenHeaders, storefrontId, getStorefrontApiUrl]\n );\n}\n\nexport function useInstantCheckout() {\n const [cart, updateCart] = useState<Cart | undefined>();\n const [checkoutUrl, updateCheckoutUrl] = useState<Cart['checkoutUrl']>();\n const [error, updateError] = useState<string | undefined>();\n\n const fetch = useCartFetch();\n\n const createInstantCheckout = useCallback(\n async (cartInput: CartInput) => {\n const {data, errors} = await fetch<{\n cartCreate: {cart: CartType};\n }>({\n query: CartCreate(defaultCartFragment),\n variables: {\n input: cartInput,\n },\n });\n\n if (errors) {\n updateError(errors.toString());\n updateCart(undefined);\n updateCheckoutUrl(undefined);\n }\n\n if (data?.cartCreate?.cart) {\n const dataCart = data.cartCreate.cart;\n updateCart({\n ...dataCart,\n lines: flattenConnection(dataCart.lines),\n note: dataCart.note ?? undefined,\n });\n updateCheckoutUrl(dataCart.checkoutUrl);\n }\n },\n [fetch]\n );\n\n return {cart, checkoutUrl, error, createInstantCheckout};\n}\n"],"names":["useCartFetch","storefrontId","getPublicTokenHeaders","getStorefrontApiUrl","useShop","useCallback","query","variables","headers","contentType","SHOPIFY_STOREFRONT_ID_HEADER","cookieData","parse","document","cookie","SHOPIFY_Y","SHOPIFY_S","SHOPIFY_STOREFRONT_Y_HEADER","SHOPIFY_STOREFRONT_S_HEADER","fetch","method","body","JSON","stringify","toString","then","res","json","catch","error","data","undefined","errors"],"mappings":";;;;AAgBO,SAASA,eAAe;AACvB,QAAA;AAAA,IAACC;AAAAA,IAAcC;AAAAA,IAAuBC;AAAAA,MAAuBC,QAAS;AAE5E,SAAOC,YACL,CAAqB;AAAA,IACnBC;AAAAA,IACAC;AAAAA,EAAAA,MAIgE;AAChE,UAAMC,UAAUN,sBAAsB;AAAA,MAACO,aAAa;AAAA,IAAA,CAAO;AAE3D,QAAIR,cAAc;AAChBO,cAAQE,gCAAgCT;AAAAA,IAC1C;AAGMU,UAAAA,aAAaC,MAAMC,SAASC,MAAM;AACpCH,QAAAA,WAAWI,cAAcJ,WAAWK,YAAY;AAClDR,cAAQS,+BAA+BN,WAAWI;AAClDP,cAAQU,+BAA+BP,WAAWK;AAAAA,IACpD;AAEOG,WAAAA,MAAMhB,uBAAuB;AAAA,MAClCiB,QAAQ;AAAA,MACRZ;AAAAA,MACAa,MAAMC,KAAKC,UAAU;AAAA,QACnBjB,OAAOA,MAAMkB,SAAU;AAAA,QACvBjB;AAAAA,MAAAA,CACD;AAAA,IAAA,CACF,EACEkB,KAAMC,CAAAA,QAAQA,IAAIC,MAAM,EACxBC,MAAOC,CAAU,UAAA;AACT,aAAA;AAAA,QACLC,MAAMC;AAAAA,QACNC,QAAQH,MAAML,SAAQ;AAAA,MAAA;AAAA,IACxB,CACD;AAAA,EAEL,GAAA,CAACtB,uBAAuBD,cAAcE,mBAAmB,CAAC;AAE9D;"}
1
+ {"version":3,"file":"cart-hooks.mjs","sources":["../../src/cart-hooks.tsx"],"sourcesContent":["import {useState, useCallback} from 'react';\nimport {useShop} from './ShopifyProvider.js';\nimport {flattenConnection} from './flatten-connection.js';\nimport {CartInput, Cart as CartType} from './storefront-api-types.js';\nimport {CartCreate, defaultCartFragment} from './cart-queries.js';\nimport {Cart} from './cart-types.js';\nimport {\n SHOPIFY_STOREFRONT_ID_HEADER,\n SHOPIFY_STOREFRONT_Y_HEADER,\n SHOPIFY_STOREFRONT_S_HEADER,\n SHOPIFY_Y,\n SHOPIFY_S,\n} from './cart-constants.js';\nimport type {StorefrontApiResponseOkPartial} from './storefront-api-response.types.js';\nimport {getShopifyCookies} from './cookies-utils.js';\n\nexport function useCartFetch() {\n const {storefrontId, getPublicTokenHeaders, getStorefrontApiUrl} = useShop();\n\n return useCallback(\n <ReturnDataGeneric,>({\n query,\n variables,\n }: {\n query: string;\n variables: Record<string, unknown>;\n }): Promise<StorefrontApiResponseOkPartial<ReturnDataGeneric>> => {\n const headers = getPublicTokenHeaders({contentType: 'json'});\n\n if (storefrontId) {\n headers[SHOPIFY_STOREFRONT_ID_HEADER] = storefrontId;\n }\n\n // Find Shopify cookies\n const cookieData = getShopifyCookies(document.cookie);\n headers[SHOPIFY_STOREFRONT_Y_HEADER] = cookieData[SHOPIFY_Y];\n headers[SHOPIFY_STOREFRONT_S_HEADER] = cookieData[SHOPIFY_S];\n\n return fetch(getStorefrontApiUrl(), {\n method: 'POST',\n headers,\n body: JSON.stringify({\n query: query.toString(),\n variables,\n }),\n })\n .then((res) => res.json())\n .catch((error) => {\n return {\n data: undefined,\n errors: error.toString(),\n };\n });\n },\n [getPublicTokenHeaders, storefrontId, getStorefrontApiUrl]\n );\n}\n\nexport function useInstantCheckout() {\n const [cart, updateCart] = useState<Cart | undefined>();\n const [checkoutUrl, updateCheckoutUrl] = useState<Cart['checkoutUrl']>();\n const [error, updateError] = useState<string | undefined>();\n\n const fetch = useCartFetch();\n\n const createInstantCheckout = useCallback(\n async (cartInput: CartInput) => {\n const {data, errors} = await fetch<{\n cartCreate: {cart: CartType};\n }>({\n query: CartCreate(defaultCartFragment),\n variables: {\n input: cartInput,\n },\n });\n\n if (errors) {\n updateError(errors.toString());\n updateCart(undefined);\n updateCheckoutUrl(undefined);\n }\n\n if (data?.cartCreate?.cart) {\n const dataCart = data.cartCreate.cart;\n updateCart({\n ...dataCart,\n lines: flattenConnection(dataCart.lines),\n note: dataCart.note ?? undefined,\n });\n updateCheckoutUrl(dataCart.checkoutUrl);\n }\n },\n [fetch]\n );\n\n return {cart, checkoutUrl, error, createInstantCheckout};\n}\n"],"names":[],"mappings":";;;;AAgBO,SAAS,eAAe;AAC7B,QAAM,EAAC,cAAc,uBAAuB,wBAAuB,QAAQ;AAEpE,SAAA;AAAA,IACL,CAAqB;AAAA,MACnB;AAAA,MACA;AAAA,IAAA,MAIgE;AAChE,YAAM,UAAU,sBAAsB,EAAC,aAAa,OAAO,CAAA;AAE3D,UAAI,cAAc;AAChB,gBAAQ,4BAA4B,IAAI;AAAA,MAC1C;AAGM,YAAA,aAAa,kBAAkB,SAAS,MAAM;AAC5C,cAAA,2BAA2B,IAAI,WAAW,SAAS;AACnD,cAAA,2BAA2B,IAAI,WAAW,SAAS;AAEpD,aAAA,MAAM,uBAAuB;AAAA,QAClC,QAAQ;AAAA,QACR;AAAA,QACA,MAAM,KAAK,UAAU;AAAA,UACnB,OAAO,MAAM,SAAS;AAAA,UACtB;AAAA,QAAA,CACD;AAAA,MAAA,CACF,EACE,KAAK,CAAC,QAAQ,IAAI,MAAM,EACxB,MAAM,CAAC,UAAU;AACT,eAAA;AAAA,UACL,MAAM;AAAA,UACN,QAAQ,MAAM,SAAS;AAAA,QAAA;AAAA,MACzB,CACD;AAAA,IACL;AAAA,IACA,CAAC,uBAAuB,cAAc,mBAAmB;AAAA,EAAA;AAE7D;"}
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const CartLineAdd = (cartFragment) => `
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const CartLineAdd = (cartFragment) => (
4
+ /* GraphQL */
5
+ `
4
6
  mutation CartLineAdd(
5
7
  $cartId: ID!
6
8
  $lines: [CartLineInput!]!
@@ -15,8 +17,11 @@ const CartLineAdd = (cartFragment) => `
15
17
  }
16
18
 
17
19
  ${cartFragment}
18
- `;
19
- const CartCreate = (cartFragment) => `
20
+ `
21
+ );
22
+ const CartCreate = (cartFragment) => (
23
+ /* GraphQL */
24
+ `
20
25
  mutation CartCreate(
21
26
  $input: CartInput!
22
27
  $numCartLines: Int = 250
@@ -30,8 +35,11 @@ const CartCreate = (cartFragment) => `
30
35
  }
31
36
 
32
37
  ${cartFragment}
33
- `;
34
- const CartLineRemove = (cartFragment) => `
38
+ `
39
+ );
40
+ const CartLineRemove = (cartFragment) => (
41
+ /* GraphQL */
42
+ `
35
43
  mutation CartLineRemove(
36
44
  $cartId: ID!
37
45
  $lines: [ID!]!
@@ -46,8 +54,11 @@ const CartLineRemove = (cartFragment) => `
46
54
  }
47
55
 
48
56
  ${cartFragment}
49
- `;
50
- const CartLineUpdate = (cartFragment) => `
57
+ `
58
+ );
59
+ const CartLineUpdate = (cartFragment) => (
60
+ /* GraphQL */
61
+ `
51
62
  mutation CartLineUpdate(
52
63
  $cartId: ID!
53
64
  $lines: [CartLineUpdateInput!]!
@@ -62,8 +73,11 @@ const CartLineUpdate = (cartFragment) => `
62
73
  }
63
74
 
64
75
  ${cartFragment}
65
- `;
66
- const CartNoteUpdate = (cartFragment) => `
76
+ `
77
+ );
78
+ const CartNoteUpdate = (cartFragment) => (
79
+ /* GraphQL */
80
+ `
67
81
  mutation CartNoteUpdate(
68
82
  $cartId: ID!
69
83
  $note: String
@@ -78,8 +92,11 @@ const CartNoteUpdate = (cartFragment) => `
78
92
  }
79
93
 
80
94
  ${cartFragment}
81
- `;
82
- const CartBuyerIdentityUpdate = (cartFragment) => `
95
+ `
96
+ );
97
+ const CartBuyerIdentityUpdate = (cartFragment) => (
98
+ /* GraphQL */
99
+ `
83
100
  mutation CartBuyerIdentityUpdate(
84
101
  $cartId: ID!
85
102
  $buyerIdentity: CartBuyerIdentityInput!
@@ -94,8 +111,11 @@ const CartBuyerIdentityUpdate = (cartFragment) => `
94
111
  }
95
112
 
96
113
  ${cartFragment}
97
- `;
98
- const CartAttributesUpdate = (cartFragment) => `
114
+ `
115
+ );
116
+ const CartAttributesUpdate = (cartFragment) => (
117
+ /* GraphQL */
118
+ `
99
119
  mutation CartAttributesUpdate(
100
120
  $attributes: [AttributeInput!]!
101
121
  $cartId: ID!
@@ -110,8 +130,11 @@ const CartAttributesUpdate = (cartFragment) => `
110
130
  }
111
131
 
112
132
  ${cartFragment}
113
- `;
114
- const CartDiscountCodesUpdate = (cartFragment) => `
133
+ `
134
+ );
135
+ const CartDiscountCodesUpdate = (cartFragment) => (
136
+ /* GraphQL */
137
+ `
115
138
  mutation CartDiscountCodesUpdate(
116
139
  $cartId: ID!
117
140
  $discountCodes: [String!]
@@ -126,8 +149,11 @@ const CartDiscountCodesUpdate = (cartFragment) => `
126
149
  }
127
150
 
128
151
  ${cartFragment}
129
- `;
130
- const CartQuery = (cartFragment) => `
152
+ `
153
+ );
154
+ const CartQuery = (cartFragment) => (
155
+ /* GraphQL */
156
+ `
131
157
  query CartQuery(
132
158
  $id: ID!
133
159
  $numCartLines: Int = 250
@@ -139,8 +165,11 @@ const CartQuery = (cartFragment) => `
139
165
  }
140
166
 
141
167
  ${cartFragment}
142
- `;
143
- const defaultCartFragment = `
168
+ `
169
+ );
170
+ const defaultCartFragment = (
171
+ /* GraphQL */
172
+ `
144
173
  fragment CartFragment on Cart {
145
174
  id
146
175
  checkoutUrl
@@ -183,17 +212,9 @@ const defaultCartFragment = `
183
212
  compareAtPrice {
184
213
  ...MoneyFragment
185
214
  }
186
- # @deprecated remove in next major
187
- compareAtPriceV2 {
188
- ...MoneyFragment
189
- }
190
215
  price {
191
216
  ...MoneyFragment
192
217
  }
193
- # @deprecated remove in next major
194
- priceV2 {
195
- ...MoneyFragment
196
- }
197
218
  requiresShipping
198
219
  title
199
220
  image {
@@ -248,7 +269,8 @@ const defaultCartFragment = `
248
269
  width
249
270
  height
250
271
  }
251
- `;
272
+ `
273
+ );
252
274
  exports.CartAttributesUpdate = CartAttributesUpdate;
253
275
  exports.CartBuyerIdentityUpdate = CartBuyerIdentityUpdate;
254
276
  exports.CartCreate = CartCreate;
@@ -1 +1 @@
1
- {"version":3,"file":"cart-queries.js","sources":["../../src/cart-queries.ts"],"sourcesContent":["export const CartLineAdd = (cartFragment: string) => /* GraphQL */ `\n mutation CartLineAdd(\n $cartId: ID!\n $lines: [CartLineInput!]!\n $numCartLines: Int = 250\n $country: CountryCode = ZZ\n ) @inContext(country: $country) {\n cartLinesAdd(cartId: $cartId, lines: $lines) {\n cart {\n ...CartFragment\n }\n }\n }\n\n ${cartFragment}\n`;\n\nexport const CartCreate = (cartFragment: string) => /* GraphQL */ `\n mutation CartCreate(\n $input: CartInput!\n $numCartLines: Int = 250\n $country: CountryCode = ZZ\n ) @inContext(country: $country) {\n cartCreate(input: $input) {\n cart {\n ...CartFragment\n }\n }\n }\n\n ${cartFragment}\n`;\n\nexport const CartLineRemove = (cartFragment: string) => /* GraphQL */ `\n mutation CartLineRemove(\n $cartId: ID!\n $lines: [ID!]!\n $numCartLines: Int = 250\n $country: CountryCode = ZZ\n ) @inContext(country: $country) {\n cartLinesRemove(cartId: $cartId, lineIds: $lines) {\n cart {\n ...CartFragment\n }\n }\n }\n\n ${cartFragment}\n`;\n\nexport const CartLineUpdate = (cartFragment: string) => /* GraphQL */ `\n mutation CartLineUpdate(\n $cartId: ID!\n $lines: [CartLineUpdateInput!]!\n $numCartLines: Int = 250\n $country: CountryCode = ZZ\n ) @inContext(country: $country) {\n cartLinesUpdate(cartId: $cartId, lines: $lines) {\n cart {\n ...CartFragment\n }\n }\n }\n\n ${cartFragment}\n`;\n\nexport const CartNoteUpdate = (cartFragment: string) => /* GraphQL */ `\n mutation CartNoteUpdate(\n $cartId: ID!\n $note: String\n $numCartLines: Int = 250\n $country: CountryCode = ZZ\n ) @inContext(country: $country) {\n cartNoteUpdate(cartId: $cartId, note: $note) {\n cart {\n ...CartFragment\n }\n }\n }\n\n ${cartFragment}\n`;\n\nexport const CartBuyerIdentityUpdate = (cartFragment: string) => /* GraphQL */ `\n mutation CartBuyerIdentityUpdate(\n $cartId: ID!\n $buyerIdentity: CartBuyerIdentityInput!\n $numCartLines: Int = 250\n $country: CountryCode = ZZ\n ) @inContext(country: $country) {\n cartBuyerIdentityUpdate(cartId: $cartId, buyerIdentity: $buyerIdentity) {\n cart {\n ...CartFragment\n }\n }\n }\n\n ${cartFragment}\n`;\n\nexport const CartAttributesUpdate = (cartFragment: string) => /* GraphQL */ `\n mutation CartAttributesUpdate(\n $attributes: [AttributeInput!]!\n $cartId: ID!\n $numCartLines: Int = 250\n $country: CountryCode = ZZ\n ) @inContext(country: $country) {\n cartAttributesUpdate(attributes: $attributes, cartId: $cartId) {\n cart {\n ...CartFragment\n }\n }\n }\n\n ${cartFragment}\n`;\n\nexport const CartDiscountCodesUpdate = (cartFragment: string) => /* GraphQL */ `\n mutation CartDiscountCodesUpdate(\n $cartId: ID!\n $discountCodes: [String!]\n $numCartLines: Int = 250\n $country: CountryCode = ZZ\n ) @inContext(country: $country) {\n cartDiscountCodesUpdate(cartId: $cartId, discountCodes: $discountCodes) {\n cart {\n ...CartFragment\n }\n }\n }\n\n ${cartFragment}\n`;\n\nexport const CartQuery = (cartFragment: string) => /* GraphQL */ `\n query CartQuery(\n $id: ID!\n $numCartLines: Int = 250\n $country: CountryCode = ZZ\n ) @inContext(country: $country) {\n cart(id: $id) {\n ...CartFragment\n }\n }\n\n ${cartFragment}\n`;\n\nexport const defaultCartFragment = /* GraphQL */ `\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`;\n"],"names":[],"mappings":";;AAAa,MAAA,cAAc,CAAC,iBAAuC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAc/D;AAAA;AAGS,MAAA,aAAa,CAAC,iBAAuC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAa9D;AAAA;AAGS,MAAA,iBAAiB,CAAC,iBAAuC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAclE;AAAA;AAGS,MAAA,iBAAiB,CAAC,iBAAuC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAclE;AAAA;AAGS,MAAA,iBAAiB,CAAC,iBAAuC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAclE;AAAA;AAGS,MAAA,0BAA0B,CAAC,iBAAuC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAc3E;AAAA;AAGS,MAAA,uBAAuB,CAAC,iBAAuC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAcxE;AAAA;AAGS,MAAA,0BAA0B,CAAC,iBAAuC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAc3E;AAAA;AAGS,MAAA,YAAY,CAAC,iBAAuC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAW7D;AAAA;AAGG,MAAM,sBAAoC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;"}
1
+ {"version":3,"file":"cart-queries.js","sources":["../../src/cart-queries.ts"],"sourcesContent":["export const CartLineAdd = (cartFragment: string) => /* GraphQL */ `\n mutation CartLineAdd(\n $cartId: ID!\n $lines: [CartLineInput!]!\n $numCartLines: Int = 250\n $country: CountryCode = ZZ\n ) @inContext(country: $country) {\n cartLinesAdd(cartId: $cartId, lines: $lines) {\n cart {\n ...CartFragment\n }\n }\n }\n\n ${cartFragment}\n`;\n\nexport const CartCreate = (cartFragment: string) => /* GraphQL */ `\n mutation CartCreate(\n $input: CartInput!\n $numCartLines: Int = 250\n $country: CountryCode = ZZ\n ) @inContext(country: $country) {\n cartCreate(input: $input) {\n cart {\n ...CartFragment\n }\n }\n }\n\n ${cartFragment}\n`;\n\nexport const CartLineRemove = (cartFragment: string) => /* GraphQL */ `\n mutation CartLineRemove(\n $cartId: ID!\n $lines: [ID!]!\n $numCartLines: Int = 250\n $country: CountryCode = ZZ\n ) @inContext(country: $country) {\n cartLinesRemove(cartId: $cartId, lineIds: $lines) {\n cart {\n ...CartFragment\n }\n }\n }\n\n ${cartFragment}\n`;\n\nexport const CartLineUpdate = (cartFragment: string) => /* GraphQL */ `\n mutation CartLineUpdate(\n $cartId: ID!\n $lines: [CartLineUpdateInput!]!\n $numCartLines: Int = 250\n $country: CountryCode = ZZ\n ) @inContext(country: $country) {\n cartLinesUpdate(cartId: $cartId, lines: $lines) {\n cart {\n ...CartFragment\n }\n }\n }\n\n ${cartFragment}\n`;\n\nexport const CartNoteUpdate = (cartFragment: string) => /* GraphQL */ `\n mutation CartNoteUpdate(\n $cartId: ID!\n $note: String\n $numCartLines: Int = 250\n $country: CountryCode = ZZ\n ) @inContext(country: $country) {\n cartNoteUpdate(cartId: $cartId, note: $note) {\n cart {\n ...CartFragment\n }\n }\n }\n\n ${cartFragment}\n`;\n\nexport const CartBuyerIdentityUpdate = (cartFragment: string) => /* GraphQL */ `\n mutation CartBuyerIdentityUpdate(\n $cartId: ID!\n $buyerIdentity: CartBuyerIdentityInput!\n $numCartLines: Int = 250\n $country: CountryCode = ZZ\n ) @inContext(country: $country) {\n cartBuyerIdentityUpdate(cartId: $cartId, buyerIdentity: $buyerIdentity) {\n cart {\n ...CartFragment\n }\n }\n }\n\n ${cartFragment}\n`;\n\nexport const CartAttributesUpdate = (cartFragment: string) => /* GraphQL */ `\n mutation CartAttributesUpdate(\n $attributes: [AttributeInput!]!\n $cartId: ID!\n $numCartLines: Int = 250\n $country: CountryCode = ZZ\n ) @inContext(country: $country) {\n cartAttributesUpdate(attributes: $attributes, cartId: $cartId) {\n cart {\n ...CartFragment\n }\n }\n }\n\n ${cartFragment}\n`;\n\nexport const CartDiscountCodesUpdate = (cartFragment: string) => /* GraphQL */ `\n mutation CartDiscountCodesUpdate(\n $cartId: ID!\n $discountCodes: [String!]\n $numCartLines: Int = 250\n $country: CountryCode = ZZ\n ) @inContext(country: $country) {\n cartDiscountCodesUpdate(cartId: $cartId, discountCodes: $discountCodes) {\n cart {\n ...CartFragment\n }\n }\n }\n\n ${cartFragment}\n`;\n\nexport const CartQuery = (cartFragment: string) => /* GraphQL */ `\n query CartQuery(\n $id: ID!\n $numCartLines: Int = 250\n $country: CountryCode = ZZ\n ) @inContext(country: $country) {\n cart(id: $id) {\n ...CartFragment\n }\n }\n\n ${cartFragment}\n`;\n\nexport const defaultCartFragment = /* GraphQL */ `\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`;\n"],"names":[],"mappings":";;AAAO,MAAM,cAAc,CAAC;AAAA;AAAA,EAAuC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAc/D;AAAA;AAAA;AAGG,MAAM,aAAa,CAAC;AAAA;AAAA,EAAuC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAa9D;AAAA;AAAA;AAGG,MAAM,iBAAiB,CAAC;AAAA;AAAA,EAAuC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAclE;AAAA;AAAA;AAGG,MAAM,iBAAiB,CAAC;AAAA;AAAA,EAAuC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAclE;AAAA;AAAA;AAGG,MAAM,iBAAiB,CAAC;AAAA;AAAA,EAAuC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAclE;AAAA;AAAA;AAGG,MAAM,0BAA0B,CAAC;AAAA;AAAA,EAAuC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAc3E;AAAA;AAAA;AAGG,MAAM,uBAAuB,CAAC;AAAA;AAAA,EAAuC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAcxE;AAAA;AAAA;AAGG,MAAM,0BAA0B,CAAC;AAAA;AAAA,EAAuC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAc3E;AAAA;AAAA;AAGG,MAAM,YAAY,CAAC;AAAA;AAAA,EAAuC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAW7D;AAAA;AAAA;AAGS,MAAA;AAAA;AAAA,EAAoC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;"}