@anker-in/lib 1.0.0 → 1.1.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1001) hide show
  1. package/.turbo/turbo-build.log +19 -26
  2. package/.turbo/turbo-test.log +2 -11
  3. package/README.md +162 -1
  4. package/dist/cjs/cart/const.d.ts +6 -0
  5. package/dist/cjs/cart/const.d.ts.map +1 -0
  6. package/dist/cjs/cart/const.js +2 -0
  7. package/dist/cjs/cart/const.js.map +7 -0
  8. package/dist/cjs/cart/context/index.d.ts +47 -0
  9. package/dist/cjs/cart/context/index.d.ts.map +1 -0
  10. package/dist/cjs/cart/context/index.js +2 -0
  11. package/dist/cjs/cart/context/index.js.map +7 -0
  12. package/dist/cjs/cart/hooks/basic/useAddToCart.d.ts +30 -0
  13. package/dist/cjs/cart/hooks/basic/useAddToCart.d.ts.map +1 -0
  14. package/dist/cjs/cart/hooks/basic/useAddToCart.js +2 -0
  15. package/dist/cjs/cart/hooks/basic/useAddToCart.js.map +7 -0
  16. package/dist/cjs/cart/hooks/basic/useApplyCartCodes.d.ts +11 -0
  17. package/dist/cjs/cart/hooks/basic/useApplyCartCodes.d.ts.map +1 -0
  18. package/dist/cjs/cart/hooks/basic/useApplyCartCodes.js +2 -0
  19. package/dist/cjs/cart/hooks/basic/useApplyCartCodes.js.map +7 -0
  20. package/dist/cjs/cart/hooks/basic/useBuyNow.d.ts +21 -0
  21. package/dist/cjs/cart/hooks/basic/useBuyNow.d.ts.map +1 -0
  22. package/dist/cjs/cart/hooks/basic/useBuyNow.js +2 -0
  23. package/dist/cjs/cart/hooks/basic/useBuyNow.js.map +7 -0
  24. package/dist/cjs/cart/hooks/basic/useCreateCart.d.ts +7 -0
  25. package/dist/cjs/cart/hooks/basic/useCreateCart.d.ts.map +1 -0
  26. package/dist/cjs/cart/hooks/basic/useCreateCart.js +2 -0
  27. package/dist/cjs/cart/hooks/basic/useCreateCart.js.map +7 -0
  28. package/dist/cjs/cart/hooks/basic/useRemoveCartCodes.d.ts +11 -0
  29. package/dist/cjs/cart/hooks/basic/useRemoveCartCodes.d.ts.map +1 -0
  30. package/dist/cjs/cart/hooks/basic/useRemoveCartCodes.js +2 -0
  31. package/dist/cjs/cart/hooks/basic/useRemoveCartCodes.js.map +7 -0
  32. package/dist/cjs/cart/hooks/basic/useRemoveCartLines.d.ts +11 -0
  33. package/dist/cjs/cart/hooks/basic/useRemoveCartLines.d.ts.map +1 -0
  34. package/dist/cjs/cart/hooks/basic/useRemoveCartLines.js +2 -0
  35. package/dist/cjs/cart/hooks/basic/useRemoveCartLines.js.map +7 -0
  36. package/dist/cjs/cart/hooks/basic/useUpdateCartAttributes.d.ts +8 -0
  37. package/dist/cjs/cart/hooks/basic/useUpdateCartAttributes.d.ts.map +1 -0
  38. package/dist/cjs/cart/hooks/basic/useUpdateCartAttributes.js +2 -0
  39. package/dist/cjs/cart/hooks/basic/useUpdateCartAttributes.js.map +7 -0
  40. package/dist/cjs/cart/hooks/basic/useUpdateCartBuyerIdentity.d.ts +8 -0
  41. package/dist/cjs/cart/hooks/basic/useUpdateCartBuyerIdentity.d.ts.map +1 -0
  42. package/dist/cjs/cart/hooks/basic/useUpdateCartBuyerIdentity.js +2 -0
  43. package/dist/cjs/cart/hooks/basic/useUpdateCartBuyerIdentity.js.map +7 -0
  44. package/dist/cjs/cart/hooks/basic/useUpdateCartLines.d.ts +8 -0
  45. package/dist/cjs/cart/hooks/basic/useUpdateCartLines.d.ts.map +1 -0
  46. package/dist/cjs/cart/hooks/basic/useUpdateCartLines.js +2 -0
  47. package/dist/cjs/cart/hooks/basic/useUpdateCartLines.js.map +7 -0
  48. package/dist/cjs/cart/hooks/feature/useCalcAutoFreeGift.d.ts +10 -0
  49. package/dist/cjs/cart/hooks/feature/useCalcAutoFreeGift.d.ts.map +1 -0
  50. package/dist/cjs/cart/hooks/feature/useCalcAutoFreeGift.js +2 -0
  51. package/dist/cjs/cart/hooks/feature/useCalcAutoFreeGift.js.map +7 -0
  52. package/dist/cjs/cart/hooks/feature/useCalcOrderDiscount.d.ts +21 -0
  53. package/dist/cjs/cart/hooks/feature/useCalcOrderDiscount.d.ts.map +1 -0
  54. package/dist/cjs/cart/hooks/feature/useCalcOrderDiscount.js +2 -0
  55. package/dist/cjs/cart/hooks/feature/useCalcOrderDiscount.js.map +7 -0
  56. package/dist/cjs/cart/hooks/feature/useCartAttributes.d.ts +10 -0
  57. package/dist/cjs/cart/hooks/feature/useCartAttributes.d.ts.map +1 -0
  58. package/dist/cjs/cart/hooks/feature/useCartAttributes.js +2 -0
  59. package/dist/cjs/cart/hooks/feature/useCartAttributes.js.map +7 -0
  60. package/dist/cjs/cart/hooks/feature/useCartItemQuantityLimit.d.ts +19 -0
  61. package/dist/cjs/cart/hooks/feature/useCartItemQuantityLimit.d.ts.map +1 -0
  62. package/dist/cjs/cart/hooks/feature/useCartItemQuantityLimit.js +2 -0
  63. package/dist/cjs/cart/hooks/feature/useCartItemQuantityLimit.js.map +7 -0
  64. package/dist/cjs/cart/hooks/feature/useScriptAutoFreeGift.d.ts +37 -0
  65. package/dist/cjs/cart/hooks/feature/useScriptAutoFreeGift.d.ts.map +1 -0
  66. package/dist/cjs/cart/hooks/feature/useScriptAutoFreeGift.js +2 -0
  67. package/dist/cjs/cart/hooks/feature/useScriptAutoFreeGift.js.map +7 -0
  68. package/dist/cjs/cart/hooks/feature/useUpdateLineCodeAmountAttributes.d.ts +9 -0
  69. package/dist/cjs/cart/hooks/feature/useUpdateLineCodeAmountAttributes.d.ts.map +1 -0
  70. package/dist/cjs/cart/hooks/feature/useUpdateLineCodeAmountAttributes.js +2 -0
  71. package/dist/cjs/cart/hooks/feature/useUpdateLineCodeAmountAttributes.js.map +7 -0
  72. package/dist/cjs/cart/index.d.ts +6 -0
  73. package/dist/cjs/cart/index.d.ts.map +1 -0
  74. package/dist/cjs/cart/index.js +2 -0
  75. package/dist/cjs/cart/index.js.map +7 -0
  76. package/dist/cjs/cart/track/fbq.d.ts +14 -0
  77. package/dist/cjs/cart/track/fbq.d.ts.map +1 -0
  78. package/dist/cjs/cart/track/fbq.js +2 -0
  79. package/dist/cjs/cart/track/fbq.js.map +7 -0
  80. package/dist/cjs/cart/track/gtm.d.ts +26 -0
  81. package/dist/cjs/cart/track/gtm.d.ts.map +1 -0
  82. package/dist/cjs/cart/track/gtm.js +2 -0
  83. package/dist/cjs/cart/track/gtm.js.map +7 -0
  84. package/dist/cjs/cart/types/autoFreeGift.d.ts +135 -0
  85. package/dist/cjs/cart/types/autoFreeGift.d.ts.map +1 -0
  86. package/dist/cjs/cart/types/autoFreeGift.js +2 -0
  87. package/dist/cjs/cart/types/autoFreeGift.js.map +7 -0
  88. package/dist/cjs/cart/types/index.d.ts +24 -0
  89. package/dist/cjs/cart/types/index.d.ts.map +1 -0
  90. package/dist/cjs/cart/types/index.js +2 -0
  91. package/dist/cjs/cart/types/index.js.map +7 -0
  92. package/dist/cjs/cart/types/orderDiscount.d.ts +35 -0
  93. package/dist/cjs/cart/types/orderDiscount.d.ts.map +1 -0
  94. package/dist/cjs/cart/types/orderDiscount.js +2 -0
  95. package/dist/cjs/cart/types/orderDiscount.js.map +7 -0
  96. package/dist/cjs/cart/types/priceDiscount.d.ts +20 -0
  97. package/dist/cjs/cart/types/priceDiscount.d.ts.map +1 -0
  98. package/dist/cjs/cart/types/priceDiscount.js +2 -0
  99. package/dist/cjs/cart/types/priceDiscount.js.map +7 -0
  100. package/dist/cjs/cart/utils/autoFreeGift.d.ts +21 -0
  101. package/dist/cjs/cart/utils/autoFreeGift.d.ts.map +1 -0
  102. package/dist/cjs/cart/utils/autoFreeGift.js +2 -0
  103. package/dist/cjs/cart/utils/autoFreeGift.js.map +7 -0
  104. package/dist/cjs/cart/utils/index.d.ts +4 -0
  105. package/dist/cjs/cart/utils/index.d.ts.map +1 -0
  106. package/dist/cjs/cart/utils/index.js +2 -0
  107. package/dist/cjs/cart/utils/index.js.map +7 -0
  108. package/dist/cjs/context/HeadlessProvider.d.ts +10 -0
  109. package/dist/cjs/context/HeadlessProvider.d.ts.map +1 -0
  110. package/dist/cjs/context/HeadlessProvider.js +2 -0
  111. package/dist/cjs/context/HeadlessProvider.js.map +7 -0
  112. package/dist/cjs/context/config.d.ts +11 -0
  113. package/dist/cjs/context/config.d.ts.map +1 -0
  114. package/dist/cjs/context/config.js +2 -0
  115. package/dist/cjs/context/config.js.map +7 -0
  116. package/dist/cjs/context/index.d.ts +3 -0
  117. package/dist/cjs/context/index.d.ts.map +1 -0
  118. package/dist/cjs/context/index.js +2 -0
  119. package/dist/cjs/context/index.js.map +7 -0
  120. package/dist/cjs/index.d.ts +6 -0
  121. package/dist/cjs/index.d.ts.map +1 -0
  122. package/dist/cjs/index.js +2 -0
  123. package/dist/cjs/index.js.map +7 -0
  124. package/dist/cjs/registration/hooks/index.d.ts +4 -0
  125. package/dist/cjs/registration/hooks/index.d.ts.map +1 -0
  126. package/dist/cjs/registration/hooks/index.js +2 -0
  127. package/dist/cjs/registration/hooks/index.js.map +7 -0
  128. package/dist/cjs/registration/hooks/useEmailValidation.d.ts +17 -0
  129. package/dist/cjs/registration/hooks/useEmailValidation.d.ts.map +1 -0
  130. package/dist/cjs/registration/hooks/useEmailValidation.js +2 -0
  131. package/dist/cjs/registration/hooks/useEmailValidation.js.map +7 -0
  132. package/dist/cjs/registration/hooks/useSendEmailValidation.d.ts +9 -0
  133. package/dist/cjs/registration/hooks/useSendEmailValidation.d.ts.map +1 -0
  134. package/dist/cjs/registration/hooks/useSendEmailValidation.js +2 -0
  135. package/dist/cjs/registration/hooks/useSendEmailValidation.js.map +7 -0
  136. package/dist/cjs/registration/hooks/useSubscriptions.d.ts +15 -0
  137. package/dist/cjs/registration/hooks/useSubscriptions.d.ts.map +1 -0
  138. package/dist/cjs/registration/hooks/useSubscriptions.js +2 -0
  139. package/dist/cjs/registration/hooks/useSubscriptions.js.map +7 -0
  140. package/dist/cjs/registration/index.d.ts +2 -0
  141. package/dist/cjs/registration/index.d.ts.map +1 -0
  142. package/dist/cjs/registration/index.js +2 -0
  143. package/dist/cjs/registration/index.js.map +7 -0
  144. package/dist/cjs/shopify/fetchers/add-cart-lines.d.ts +12 -0
  145. package/dist/cjs/shopify/fetchers/add-cart-lines.d.ts.map +1 -0
  146. package/dist/cjs/shopify/fetchers/add-cart-lines.js +2 -0
  147. package/dist/cjs/shopify/fetchers/add-cart-lines.js.map +7 -0
  148. package/dist/cjs/shopify/fetchers/create-cart.d.ts +13 -0
  149. package/dist/cjs/shopify/fetchers/create-cart.d.ts.map +1 -0
  150. package/dist/cjs/shopify/fetchers/create-cart.js +2 -0
  151. package/dist/cjs/shopify/fetchers/create-cart.js.map +7 -0
  152. package/dist/cjs/shopify/fetchers/get-cart.d.ts +16 -0
  153. package/dist/cjs/shopify/fetchers/get-cart.d.ts.map +1 -0
  154. package/dist/cjs/shopify/fetchers/get-cart.js +2 -0
  155. package/dist/cjs/shopify/fetchers/get-cart.js.map +7 -0
  156. package/dist/cjs/shopify/fetchers/get-products-by-handles.d.ts +15 -0
  157. package/dist/cjs/shopify/fetchers/get-products-by-handles.d.ts.map +1 -0
  158. package/dist/cjs/shopify/fetchers/get-products-by-handles.js +2 -0
  159. package/dist/cjs/shopify/fetchers/get-products-by-handles.js.map +7 -0
  160. package/dist/cjs/shopify/fetchers/index.d.ts +12 -0
  161. package/dist/cjs/shopify/fetchers/index.d.ts.map +1 -0
  162. package/dist/cjs/shopify/fetchers/index.js +2 -0
  163. package/dist/cjs/shopify/fetchers/index.js.map +7 -0
  164. package/dist/cjs/shopify/fetchers/remove-cart-lines.d.ts +12 -0
  165. package/dist/cjs/shopify/fetchers/remove-cart-lines.d.ts.map +1 -0
  166. package/dist/cjs/shopify/fetchers/remove-cart-lines.js +2 -0
  167. package/dist/cjs/shopify/fetchers/remove-cart-lines.js.map +7 -0
  168. package/dist/cjs/shopify/fetchers/update-cart-attributes.d.ts +12 -0
  169. package/dist/cjs/shopify/fetchers/update-cart-attributes.d.ts.map +1 -0
  170. package/dist/cjs/shopify/fetchers/update-cart-attributes.js +2 -0
  171. package/dist/cjs/shopify/fetchers/update-cart-attributes.js.map +7 -0
  172. package/dist/cjs/shopify/fetchers/update-cart-buyer-identity.d.ts +12 -0
  173. package/dist/cjs/shopify/fetchers/update-cart-buyer-identity.d.ts.map +1 -0
  174. package/dist/cjs/shopify/fetchers/update-cart-buyer-identity.js +2 -0
  175. package/dist/cjs/shopify/fetchers/update-cart-buyer-identity.js.map +7 -0
  176. package/dist/cjs/shopify/fetchers/update-cart-codes.d.ts +12 -0
  177. package/dist/cjs/shopify/fetchers/update-cart-codes.d.ts.map +1 -0
  178. package/dist/cjs/shopify/fetchers/update-cart-codes.js +2 -0
  179. package/dist/cjs/shopify/fetchers/update-cart-codes.js.map +7 -0
  180. package/dist/cjs/shopify/fetchers/update-cart-lines.d.ts +12 -0
  181. package/dist/cjs/shopify/fetchers/update-cart-lines.d.ts.map +1 -0
  182. package/dist/cjs/shopify/fetchers/update-cart-lines.js +2 -0
  183. package/dist/cjs/shopify/fetchers/update-cart-lines.js.map +7 -0
  184. package/dist/cjs/shopify/fragments/article.d.ts +3 -0
  185. package/dist/cjs/shopify/fragments/article.d.ts.map +1 -0
  186. package/dist/cjs/shopify/fragments/article.js +50 -0
  187. package/dist/cjs/shopify/fragments/article.js.map +7 -0
  188. package/dist/cjs/shopify/fragments/blog.d.ts +2 -0
  189. package/dist/cjs/shopify/fragments/blog.d.ts.map +1 -0
  190. package/dist/cjs/shopify/fragments/blog.js +11 -0
  191. package/dist/cjs/shopify/fragments/blog.js.map +7 -0
  192. package/dist/cjs/shopify/fragments/cart.d.ts +2 -0
  193. package/dist/cjs/shopify/fragments/cart.d.ts.map +1 -0
  194. package/dist/cjs/shopify/fragments/cart.js +189 -0
  195. package/dist/cjs/shopify/fragments/cart.js.map +7 -0
  196. package/dist/cjs/shopify/fragments/collection.d.ts +2 -0
  197. package/dist/cjs/shopify/fragments/collection.d.ts.map +1 -0
  198. package/dist/cjs/shopify/fragments/collection.js +16 -0
  199. package/dist/cjs/shopify/fragments/collection.js.map +7 -0
  200. package/dist/cjs/shopify/fragments/image.d.ts +2 -0
  201. package/dist/cjs/shopify/fragments/image.d.ts.map +1 -0
  202. package/dist/cjs/shopify/fragments/image.js +9 -0
  203. package/dist/cjs/shopify/fragments/image.js.map +7 -0
  204. package/dist/cjs/shopify/fragments/index.d.ts +12 -0
  205. package/dist/cjs/shopify/fragments/index.d.ts.map +1 -0
  206. package/dist/cjs/shopify/fragments/index.js +2 -0
  207. package/dist/cjs/shopify/fragments/index.js.map +7 -0
  208. package/dist/cjs/shopify/fragments/metafields.d.ts +3 -0
  209. package/dist/cjs/shopify/fragments/metafields.d.ts.map +1 -0
  210. package/dist/cjs/shopify/fragments/metafields.js +16 -0
  211. package/dist/cjs/shopify/fragments/metafields.js.map +7 -0
  212. package/dist/cjs/shopify/fragments/page-info.d.ts +2 -0
  213. package/dist/cjs/shopify/fragments/page-info.d.ts.map +1 -0
  214. package/dist/cjs/shopify/fragments/page-info.js +9 -0
  215. package/dist/cjs/shopify/fragments/page-info.js.map +7 -0
  216. package/dist/cjs/shopify/fragments/page.d.ts +2 -0
  217. package/dist/cjs/shopify/fragments/page.d.ts.map +1 -0
  218. package/dist/cjs/shopify/fragments/page.js +13 -0
  219. package/dist/cjs/shopify/fragments/page.js.map +7 -0
  220. package/dist/cjs/shopify/fragments/product.d.ts +2 -0
  221. package/dist/cjs/shopify/fragments/product.d.ts.map +1 -0
  222. package/dist/cjs/shopify/fragments/product.js +72 -0
  223. package/dist/cjs/shopify/fragments/product.js.map +7 -0
  224. package/dist/cjs/shopify/fragments/seo.d.ts +2 -0
  225. package/dist/cjs/shopify/fragments/seo.d.ts.map +1 -0
  226. package/dist/cjs/shopify/fragments/seo.js +7 -0
  227. package/dist/cjs/shopify/fragments/seo.js.map +7 -0
  228. package/dist/cjs/shopify/fragments/variant.d.ts +2 -0
  229. package/dist/cjs/shopify/fragments/variant.d.ts.map +1 -0
  230. package/dist/cjs/shopify/fragments/variant.js +30 -0
  231. package/dist/cjs/shopify/fragments/variant.js.map +7 -0
  232. package/dist/cjs/shopify/gql/fragment-masking.d.ts +16 -0
  233. package/dist/cjs/shopify/gql/fragment-masking.d.ts.map +1 -0
  234. package/dist/cjs/shopify/gql/fragment-masking.js +2 -0
  235. package/dist/cjs/shopify/gql/fragment-masking.js.map +7 -0
  236. package/dist/cjs/shopify/gql/gql.d.ts +88 -0
  237. package/dist/cjs/shopify/gql/gql.d.ts.map +1 -0
  238. package/dist/cjs/shopify/gql/gql.js +2 -0
  239. package/dist/cjs/shopify/gql/gql.js.map +7 -0
  240. package/dist/cjs/shopify/gql/graphql.d.ts +7670 -0
  241. package/dist/cjs/shopify/gql/graphql.d.ts.map +1 -0
  242. package/dist/cjs/shopify/gql/graphql.js +2 -0
  243. package/dist/cjs/shopify/gql/graphql.js.map +7 -0
  244. package/dist/cjs/shopify/gql/index.d.ts +4 -0
  245. package/dist/cjs/shopify/gql/index.d.ts.map +1 -0
  246. package/dist/cjs/shopify/gql/index.js +2 -0
  247. package/dist/cjs/shopify/gql/index.js.map +7 -0
  248. package/dist/cjs/shopify/hooks/index.d.ts +2 -0
  249. package/dist/cjs/shopify/hooks/index.d.ts.map +1 -0
  250. package/dist/cjs/shopify/hooks/index.js +2 -0
  251. package/dist/cjs/shopify/hooks/index.js.map +7 -0
  252. package/dist/cjs/shopify/hooks/useProductsByHandles.d.ts +5 -0
  253. package/dist/cjs/shopify/hooks/useProductsByHandles.d.ts.map +1 -0
  254. package/dist/cjs/shopify/hooks/useProductsByHandles.js +2 -0
  255. package/dist/cjs/shopify/hooks/useProductsByHandles.js.map +7 -0
  256. package/dist/cjs/shopify/index.d.ts +6 -0
  257. package/dist/cjs/shopify/index.d.ts.map +1 -0
  258. package/dist/cjs/shopify/index.js +2 -0
  259. package/dist/cjs/shopify/index.js.map +7 -0
  260. package/dist/cjs/shopify/mutations/add-cart-lines.d.ts +2 -0
  261. package/dist/cjs/shopify/mutations/add-cart-lines.d.ts.map +1 -0
  262. package/dist/cjs/shopify/mutations/add-cart-lines.js +15 -0
  263. package/dist/cjs/shopify/mutations/add-cart-lines.js.map +7 -0
  264. package/dist/cjs/shopify/mutations/create-cart.d.ts +2 -0
  265. package/dist/cjs/shopify/mutations/create-cart.d.ts.map +1 -0
  266. package/dist/cjs/shopify/mutations/create-cart.js +21 -0
  267. package/dist/cjs/shopify/mutations/create-cart.js.map +7 -0
  268. package/dist/cjs/shopify/mutations/remove-cart-items.d.ts +2 -0
  269. package/dist/cjs/shopify/mutations/remove-cart-items.d.ts.map +1 -0
  270. package/dist/cjs/shopify/mutations/remove-cart-items.js +15 -0
  271. package/dist/cjs/shopify/mutations/remove-cart-items.js.map +7 -0
  272. package/dist/cjs/shopify/mutations/update-cart-attributes.d.ts +2 -0
  273. package/dist/cjs/shopify/mutations/update-cart-attributes.d.ts.map +1 -0
  274. package/dist/cjs/shopify/mutations/update-cart-attributes.js +15 -0
  275. package/dist/cjs/shopify/mutations/update-cart-attributes.js.map +7 -0
  276. package/dist/cjs/shopify/mutations/update-cart-buyer-identity.d.ts +2 -0
  277. package/dist/cjs/shopify/mutations/update-cart-buyer-identity.d.ts.map +1 -0
  278. package/dist/cjs/shopify/mutations/update-cart-buyer-identity.js +15 -0
  279. package/dist/cjs/shopify/mutations/update-cart-buyer-identity.js.map +7 -0
  280. package/dist/cjs/shopify/mutations/update-cart-discount-code.d.ts +2 -0
  281. package/dist/cjs/shopify/mutations/update-cart-discount-code.d.ts.map +1 -0
  282. package/dist/cjs/shopify/mutations/update-cart-discount-code.js +15 -0
  283. package/dist/cjs/shopify/mutations/update-cart-discount-code.js.map +7 -0
  284. package/dist/cjs/shopify/mutations/update-cart-items.d.ts +2 -0
  285. package/dist/cjs/shopify/mutations/update-cart-items.d.ts.map +1 -0
  286. package/dist/cjs/shopify/mutations/update-cart-items.js +15 -0
  287. package/dist/cjs/shopify/mutations/update-cart-items.js.map +7 -0
  288. package/dist/cjs/shopify/queries/get-cart.d.ts +2 -0
  289. package/dist/cjs/shopify/queries/get-cart.d.ts.map +1 -0
  290. package/dist/cjs/shopify/queries/get-cart.js +13 -0
  291. package/dist/cjs/shopify/queries/get-cart.js.map +7 -0
  292. package/dist/cjs/shopify/queries/get-product-by-handles.d.ts +2 -0
  293. package/dist/cjs/shopify/queries/get-product-by-handles.d.ts.map +1 -0
  294. package/dist/cjs/shopify/queries/get-product-by-handles.js +29 -0
  295. package/dist/cjs/shopify/queries/get-product-by-handles.js.map +7 -0
  296. package/dist/cjs/shopify/queries/index.d.ts +2 -0
  297. package/dist/cjs/shopify/queries/index.d.ts.map +1 -0
  298. package/dist/cjs/shopify/queries/index.js +2 -0
  299. package/dist/cjs/shopify/queries/index.js.map +7 -0
  300. package/dist/cjs/shopify/types/article.d.ts +49 -0
  301. package/dist/cjs/shopify/types/article.d.ts.map +1 -0
  302. package/dist/cjs/shopify/types/article.js +2 -0
  303. package/dist/cjs/shopify/types/article.js.map +7 -0
  304. package/dist/cjs/shopify/types/cart.d.ts +175 -0
  305. package/dist/cjs/shopify/types/cart.d.ts.map +1 -0
  306. package/dist/cjs/shopify/types/cart.js +2 -0
  307. package/dist/cjs/shopify/types/cart.js.map +7 -0
  308. package/dist/cjs/shopify/types/checkout.d.ts +43 -0
  309. package/dist/cjs/shopify/types/checkout.d.ts.map +1 -0
  310. package/dist/cjs/shopify/types/checkout.js +2 -0
  311. package/dist/cjs/shopify/types/checkout.js.map +7 -0
  312. package/dist/cjs/shopify/types/collection.d.ts +123 -0
  313. package/dist/cjs/shopify/types/collection.d.ts.map +1 -0
  314. package/dist/cjs/shopify/types/collection.js +2 -0
  315. package/dist/cjs/shopify/types/collection.js.map +7 -0
  316. package/dist/cjs/shopify/types/common.d.ts +43 -0
  317. package/dist/cjs/shopify/types/common.d.ts.map +1 -0
  318. package/dist/cjs/shopify/types/common.js +2 -0
  319. package/dist/cjs/shopify/types/common.js.map +7 -0
  320. package/dist/cjs/shopify/types/config.d.ts +13 -0
  321. package/dist/cjs/shopify/types/config.d.ts.map +1 -0
  322. package/dist/cjs/shopify/types/config.js +2 -0
  323. package/dist/cjs/shopify/types/config.js.map +7 -0
  324. package/dist/cjs/shopify/types/customer.d.ts +31 -0
  325. package/dist/cjs/shopify/types/customer.d.ts.map +1 -0
  326. package/dist/cjs/shopify/types/customer.js +2 -0
  327. package/dist/cjs/shopify/types/customer.js.map +7 -0
  328. package/dist/cjs/shopify/types/fetcher.d.ts +44 -0
  329. package/dist/cjs/shopify/types/fetcher.d.ts.map +1 -0
  330. package/dist/cjs/shopify/types/fetcher.js +2 -0
  331. package/dist/cjs/shopify/types/fetcher.js.map +7 -0
  332. package/dist/cjs/shopify/types/index.d.ts +12 -0
  333. package/dist/cjs/shopify/types/index.d.ts.map +1 -0
  334. package/dist/cjs/shopify/types/index.js +2 -0
  335. package/dist/cjs/shopify/types/index.js.map +7 -0
  336. package/dist/cjs/shopify/types/page.d.ts +34 -0
  337. package/dist/cjs/shopify/types/page.d.ts.map +1 -0
  338. package/dist/cjs/shopify/types/page.js +2 -0
  339. package/dist/cjs/shopify/types/page.js.map +7 -0
  340. package/dist/cjs/shopify/types/product.d.ts +175 -0
  341. package/dist/cjs/shopify/types/product.d.ts.map +1 -0
  342. package/dist/cjs/shopify/types/product.js +2 -0
  343. package/dist/cjs/shopify/types/product.js.map +7 -0
  344. package/dist/cjs/shopify/types/search.d.ts +55 -0
  345. package/dist/cjs/shopify/types/search.d.ts.map +1 -0
  346. package/dist/cjs/shopify/types/search.js +2 -0
  347. package/dist/cjs/shopify/types/search.js.map +7 -0
  348. package/dist/cjs/shopify/types/site.d.ts +34 -0
  349. package/dist/cjs/shopify/types/site.d.ts.map +1 -0
  350. package/dist/cjs/shopify/types/site.js +2 -0
  351. package/dist/cjs/shopify/types/site.js.map +7 -0
  352. package/dist/cjs/shopify/types/type-helper.d.ts +6 -0
  353. package/dist/cjs/shopify/types/type-helper.d.ts.map +1 -0
  354. package/dist/cjs/shopify/types/type-helper.js +2 -0
  355. package/dist/cjs/shopify/types/type-helper.js.map +7 -0
  356. package/dist/cjs/shopify/utils/colors.d.ts +4 -0
  357. package/dist/cjs/shopify/utils/colors.d.ts.map +1 -0
  358. package/dist/cjs/shopify/utils/colors.js +2 -0
  359. package/dist/cjs/shopify/utils/colors.js.map +7 -0
  360. package/dist/cjs/shopify/utils/const.d.ts +77 -0
  361. package/dist/cjs/shopify/utils/const.d.ts.map +1 -0
  362. package/dist/cjs/shopify/utils/const.js +2 -0
  363. package/dist/cjs/shopify/utils/const.js.map +7 -0
  364. package/dist/cjs/shopify/utils/cookie.d.ts +16 -0
  365. package/dist/cjs/shopify/utils/cookie.d.ts.map +1 -0
  366. package/dist/cjs/shopify/utils/cookie.js +2 -0
  367. package/dist/cjs/shopify/utils/cookie.js.map +7 -0
  368. package/dist/cjs/shopify/utils/errors.d.ts +39 -0
  369. package/dist/cjs/shopify/utils/errors.d.ts.map +1 -0
  370. package/dist/cjs/shopify/utils/errors.js +3 -0
  371. package/dist/cjs/shopify/utils/errors.js.map +7 -0
  372. package/dist/cjs/shopify/utils/fetch-graphql-api.d.ts +20 -0
  373. package/dist/cjs/shopify/utils/fetch-graphql-api.d.ts.map +1 -0
  374. package/dist/cjs/shopify/utils/fetch-graphql-api.js +3 -0
  375. package/dist/cjs/shopify/utils/fetch-graphql-api.js.map +7 -0
  376. package/dist/cjs/shopify/utils/handle-fetch-response.d.ts +6 -0
  377. package/dist/cjs/shopify/utils/handle-fetch-response.d.ts.map +1 -0
  378. package/dist/cjs/shopify/utils/handle-fetch-response.js +2 -0
  379. package/dist/cjs/shopify/utils/handle-fetch-response.js.map +7 -0
  380. package/dist/cjs/shopify/utils/helper.d.ts +29 -0
  381. package/dist/cjs/shopify/utils/helper.d.ts.map +1 -0
  382. package/dist/cjs/shopify/utils/helper.js +2 -0
  383. package/dist/cjs/shopify/utils/helper.js.map +7 -0
  384. package/dist/cjs/shopify/utils/normalize/cart.d.ts +8 -0
  385. package/dist/cjs/shopify/utils/normalize/cart.d.ts.map +1 -0
  386. package/dist/cjs/shopify/utils/normalize/cart.js +2 -0
  387. package/dist/cjs/shopify/utils/normalize/cart.js.map +7 -0
  388. package/dist/cjs/shopify/utils/normalize/customer.d.ts +4 -0
  389. package/dist/cjs/shopify/utils/normalize/customer.d.ts.map +1 -0
  390. package/dist/cjs/shopify/utils/normalize/customer.js +2 -0
  391. package/dist/cjs/shopify/utils/normalize/customer.js.map +7 -0
  392. package/dist/cjs/shopify/utils/normalize/index.d.ts +3 -0
  393. package/dist/cjs/shopify/utils/normalize/index.d.ts.map +1 -0
  394. package/dist/cjs/shopify/utils/normalize/index.js +2 -0
  395. package/dist/cjs/shopify/utils/normalize/index.js.map +7 -0
  396. package/dist/cjs/shopify/utils/normalize/metafield.d.ts +6 -0
  397. package/dist/cjs/shopify/utils/normalize/metafield.d.ts.map +1 -0
  398. package/dist/cjs/shopify/utils/normalize/metafield.js +2 -0
  399. package/dist/cjs/shopify/utils/normalize/metafield.js.map +7 -0
  400. package/dist/cjs/shopify/utils/normalize/product.d.ts +17 -0
  401. package/dist/cjs/shopify/utils/normalize/product.d.ts.map +1 -0
  402. package/dist/cjs/shopify/utils/normalize/product.js +2 -0
  403. package/dist/cjs/shopify/utils/normalize/product.js.map +7 -0
  404. package/dist/cjs/shopify/utils/store.d.ts +3 -0
  405. package/dist/cjs/shopify/utils/store.d.ts.map +1 -0
  406. package/dist/cjs/shopify/utils/store.js +2 -0
  407. package/dist/cjs/shopify/utils/store.js.map +7 -0
  408. package/dist/cjs/shopify/utils/type-helper.d.ts +6 -0
  409. package/dist/cjs/shopify/utils/type-helper.d.ts.map +1 -0
  410. package/dist/cjs/shopify/utils/type-helper.js +2 -0
  411. package/dist/cjs/shopify/utils/type-helper.js.map +7 -0
  412. package/dist/cjs/utils/classnames.d.ts +3 -0
  413. package/dist/cjs/utils/classnames.d.ts.map +1 -0
  414. package/dist/cjs/utils/classnames.js +2 -0
  415. package/dist/cjs/utils/classnames.js.map +7 -0
  416. package/dist/cjs/utils/fetcher/fetchResponse.d.ts +14 -0
  417. package/dist/cjs/utils/fetcher/fetchResponse.d.ts.map +1 -0
  418. package/dist/cjs/utils/fetcher/fetchResponse.js +2 -0
  419. package/dist/cjs/utils/fetcher/fetchResponse.js.map +7 -0
  420. package/dist/cjs/utils/fetcher/fetcher.d.ts +2 -0
  421. package/dist/cjs/utils/fetcher/fetcher.d.ts.map +1 -0
  422. package/dist/cjs/utils/fetcher/fetcher.js +2 -0
  423. package/dist/cjs/utils/fetcher/fetcher.js.map +7 -0
  424. package/dist/cjs/utils/fetcher/index.d.ts +3 -0
  425. package/dist/cjs/utils/fetcher/index.d.ts.map +1 -0
  426. package/dist/cjs/utils/fetcher/index.js +2 -0
  427. package/dist/cjs/utils/fetcher/index.js.map +7 -0
  428. package/dist/cjs/utils/index.d.ts +5 -0
  429. package/dist/cjs/utils/index.d.ts.map +1 -0
  430. package/dist/cjs/utils/index.js +2 -0
  431. package/dist/cjs/utils/index.js.map +7 -0
  432. package/dist/cjs/utils/track.d.ts +16 -0
  433. package/dist/cjs/utils/track.d.ts.map +1 -0
  434. package/dist/cjs/utils/track.js +2 -0
  435. package/dist/cjs/utils/track.js.map +7 -0
  436. package/dist/cjs/utils/useCountDown.d.ts +6 -0
  437. package/dist/cjs/utils/useCountDown.d.ts.map +1 -0
  438. package/dist/cjs/utils/useCountDown.js +2 -0
  439. package/dist/cjs/utils/useCountDown.js.map +7 -0
  440. package/dist/esm/cart/const.d.ts +6 -0
  441. package/dist/esm/cart/const.d.ts.map +1 -0
  442. package/dist/esm/cart/const.js +2 -0
  443. package/dist/esm/cart/const.js.map +7 -0
  444. package/dist/esm/cart/context/index.d.ts +47 -0
  445. package/dist/esm/cart/context/index.d.ts.map +1 -0
  446. package/dist/esm/cart/context/index.js +2 -0
  447. package/dist/esm/cart/context/index.js.map +7 -0
  448. package/dist/esm/cart/hooks/basic/useAddToCart.d.ts +30 -0
  449. package/dist/esm/cart/hooks/basic/useAddToCart.d.ts.map +1 -0
  450. package/dist/esm/cart/hooks/basic/useAddToCart.js +2 -0
  451. package/dist/esm/cart/hooks/basic/useAddToCart.js.map +7 -0
  452. package/dist/esm/cart/hooks/basic/useApplyCartCodes.d.ts +11 -0
  453. package/dist/esm/cart/hooks/basic/useApplyCartCodes.d.ts.map +1 -0
  454. package/dist/esm/cart/hooks/basic/useApplyCartCodes.js +2 -0
  455. package/dist/esm/cart/hooks/basic/useApplyCartCodes.js.map +7 -0
  456. package/dist/esm/cart/hooks/basic/useBuyNow.d.ts +21 -0
  457. package/dist/esm/cart/hooks/basic/useBuyNow.d.ts.map +1 -0
  458. package/dist/esm/cart/hooks/basic/useBuyNow.js +2 -0
  459. package/dist/esm/cart/hooks/basic/useBuyNow.js.map +7 -0
  460. package/dist/esm/cart/hooks/basic/useCreateCart.d.ts +7 -0
  461. package/dist/esm/cart/hooks/basic/useCreateCart.d.ts.map +1 -0
  462. package/dist/esm/cart/hooks/basic/useCreateCart.js +2 -0
  463. package/dist/esm/cart/hooks/basic/useCreateCart.js.map +7 -0
  464. package/dist/esm/cart/hooks/basic/useRemoveCartCodes.d.ts +11 -0
  465. package/dist/esm/cart/hooks/basic/useRemoveCartCodes.d.ts.map +1 -0
  466. package/dist/esm/cart/hooks/basic/useRemoveCartCodes.js +2 -0
  467. package/dist/esm/cart/hooks/basic/useRemoveCartCodes.js.map +7 -0
  468. package/dist/esm/cart/hooks/basic/useRemoveCartLines.d.ts +11 -0
  469. package/dist/esm/cart/hooks/basic/useRemoveCartLines.d.ts.map +1 -0
  470. package/dist/esm/cart/hooks/basic/useRemoveCartLines.js +2 -0
  471. package/dist/esm/cart/hooks/basic/useRemoveCartLines.js.map +7 -0
  472. package/dist/esm/cart/hooks/basic/useUpdateCartAttributes.d.ts +8 -0
  473. package/dist/esm/cart/hooks/basic/useUpdateCartAttributes.d.ts.map +1 -0
  474. package/dist/esm/cart/hooks/basic/useUpdateCartAttributes.js +2 -0
  475. package/dist/esm/cart/hooks/basic/useUpdateCartAttributes.js.map +7 -0
  476. package/dist/esm/cart/hooks/basic/useUpdateCartBuyerIdentity.d.ts +8 -0
  477. package/dist/esm/cart/hooks/basic/useUpdateCartBuyerIdentity.d.ts.map +1 -0
  478. package/dist/esm/cart/hooks/basic/useUpdateCartBuyerIdentity.js +2 -0
  479. package/dist/esm/cart/hooks/basic/useUpdateCartBuyerIdentity.js.map +7 -0
  480. package/dist/esm/cart/hooks/basic/useUpdateCartLines.d.ts +8 -0
  481. package/dist/esm/cart/hooks/basic/useUpdateCartLines.d.ts.map +1 -0
  482. package/dist/esm/cart/hooks/basic/useUpdateCartLines.js +2 -0
  483. package/dist/esm/cart/hooks/basic/useUpdateCartLines.js.map +7 -0
  484. package/dist/esm/cart/hooks/feature/useCalcAutoFreeGift.d.ts +10 -0
  485. package/dist/esm/cart/hooks/feature/useCalcAutoFreeGift.d.ts.map +1 -0
  486. package/dist/esm/cart/hooks/feature/useCalcAutoFreeGift.js +2 -0
  487. package/dist/esm/cart/hooks/feature/useCalcAutoFreeGift.js.map +7 -0
  488. package/dist/esm/cart/hooks/feature/useCalcOrderDiscount.d.ts +21 -0
  489. package/dist/esm/cart/hooks/feature/useCalcOrderDiscount.d.ts.map +1 -0
  490. package/dist/esm/cart/hooks/feature/useCalcOrderDiscount.js +2 -0
  491. package/dist/esm/cart/hooks/feature/useCalcOrderDiscount.js.map +7 -0
  492. package/dist/esm/cart/hooks/feature/useCartAttributes.d.ts +10 -0
  493. package/dist/esm/cart/hooks/feature/useCartAttributes.d.ts.map +1 -0
  494. package/dist/esm/cart/hooks/feature/useCartAttributes.js +2 -0
  495. package/dist/esm/cart/hooks/feature/useCartAttributes.js.map +7 -0
  496. package/dist/esm/cart/hooks/feature/useCartItemQuantityLimit.d.ts +19 -0
  497. package/dist/esm/cart/hooks/feature/useCartItemQuantityLimit.d.ts.map +1 -0
  498. package/dist/esm/cart/hooks/feature/useCartItemQuantityLimit.js +2 -0
  499. package/dist/esm/cart/hooks/feature/useCartItemQuantityLimit.js.map +7 -0
  500. package/dist/esm/cart/hooks/feature/useScriptAutoFreeGift.d.ts +37 -0
  501. package/dist/esm/cart/hooks/feature/useScriptAutoFreeGift.d.ts.map +1 -0
  502. package/dist/esm/cart/hooks/feature/useScriptAutoFreeGift.js +2 -0
  503. package/dist/esm/cart/hooks/feature/useScriptAutoFreeGift.js.map +7 -0
  504. package/dist/esm/cart/hooks/feature/useUpdateLineCodeAmountAttributes.d.ts +9 -0
  505. package/dist/esm/cart/hooks/feature/useUpdateLineCodeAmountAttributes.d.ts.map +1 -0
  506. package/dist/esm/cart/hooks/feature/useUpdateLineCodeAmountAttributes.js +2 -0
  507. package/dist/esm/cart/hooks/feature/useUpdateLineCodeAmountAttributes.js.map +7 -0
  508. package/dist/esm/cart/index.d.ts +6 -0
  509. package/dist/esm/cart/index.d.ts.map +1 -0
  510. package/dist/esm/cart/index.js +2 -0
  511. package/dist/esm/cart/index.js.map +7 -0
  512. package/dist/esm/cart/track/fbq.d.ts +14 -0
  513. package/dist/esm/cart/track/fbq.d.ts.map +1 -0
  514. package/dist/esm/cart/track/fbq.js +2 -0
  515. package/dist/esm/cart/track/fbq.js.map +7 -0
  516. package/dist/esm/cart/track/gtm.d.ts +26 -0
  517. package/dist/esm/cart/track/gtm.d.ts.map +1 -0
  518. package/dist/esm/cart/track/gtm.js +2 -0
  519. package/dist/esm/cart/track/gtm.js.map +7 -0
  520. package/dist/esm/cart/types/autoFreeGift.d.ts +135 -0
  521. package/dist/esm/cart/types/autoFreeGift.d.ts.map +1 -0
  522. package/dist/esm/cart/types/autoFreeGift.js +2 -0
  523. package/dist/esm/cart/types/autoFreeGift.js.map +7 -0
  524. package/dist/esm/cart/types/index.d.ts +24 -0
  525. package/dist/esm/cart/types/index.d.ts.map +1 -0
  526. package/dist/esm/cart/types/index.js +1 -0
  527. package/dist/esm/cart/types/index.js.map +7 -0
  528. package/dist/esm/cart/types/orderDiscount.d.ts +35 -0
  529. package/dist/esm/cart/types/orderDiscount.d.ts.map +1 -0
  530. package/dist/esm/cart/types/orderDiscount.js +2 -0
  531. package/dist/esm/cart/types/orderDiscount.js.map +7 -0
  532. package/dist/esm/cart/types/priceDiscount.d.ts +20 -0
  533. package/dist/esm/cart/types/priceDiscount.d.ts.map +1 -0
  534. package/dist/esm/cart/types/priceDiscount.js +2 -0
  535. package/dist/esm/cart/types/priceDiscount.js.map +7 -0
  536. package/dist/esm/cart/utils/autoFreeGift.d.ts +21 -0
  537. package/dist/esm/cart/utils/autoFreeGift.d.ts.map +1 -0
  538. package/dist/esm/cart/utils/autoFreeGift.js +2 -0
  539. package/dist/esm/cart/utils/autoFreeGift.js.map +7 -0
  540. package/dist/esm/cart/utils/index.d.ts +4 -0
  541. package/dist/esm/cart/utils/index.d.ts.map +1 -0
  542. package/dist/esm/cart/utils/index.js +2 -0
  543. package/dist/esm/cart/utils/index.js.map +7 -0
  544. package/dist/esm/context/HeadlessProvider.d.ts +10 -0
  545. package/dist/esm/context/HeadlessProvider.d.ts.map +1 -0
  546. package/dist/esm/context/HeadlessProvider.js +2 -0
  547. package/dist/esm/context/HeadlessProvider.js.map +7 -0
  548. package/dist/esm/context/config.d.ts +11 -0
  549. package/dist/esm/context/config.d.ts.map +1 -0
  550. package/dist/esm/context/config.js +1 -0
  551. package/dist/esm/context/config.js.map +7 -0
  552. package/dist/esm/context/index.d.ts +3 -0
  553. package/dist/esm/context/index.d.ts.map +1 -0
  554. package/dist/esm/context/index.js +2 -0
  555. package/dist/esm/context/index.js.map +7 -0
  556. package/dist/esm/index.d.ts +6 -0
  557. package/dist/esm/index.d.ts.map +1 -0
  558. package/dist/esm/index.js +2 -0
  559. package/dist/esm/index.js.map +7 -0
  560. package/dist/esm/package.json +3 -0
  561. package/dist/esm/registration/hooks/index.d.ts +4 -0
  562. package/dist/esm/registration/hooks/index.d.ts.map +1 -0
  563. package/dist/esm/registration/hooks/index.js +2 -0
  564. package/dist/esm/registration/hooks/index.js.map +7 -0
  565. package/dist/esm/registration/hooks/useEmailValidation.d.ts +17 -0
  566. package/dist/esm/registration/hooks/useEmailValidation.d.ts.map +1 -0
  567. package/dist/esm/registration/hooks/useEmailValidation.js +2 -0
  568. package/dist/esm/registration/hooks/useEmailValidation.js.map +7 -0
  569. package/dist/esm/registration/hooks/useSendEmailValidation.d.ts +9 -0
  570. package/dist/esm/registration/hooks/useSendEmailValidation.d.ts.map +1 -0
  571. package/dist/esm/registration/hooks/useSendEmailValidation.js +2 -0
  572. package/dist/esm/registration/hooks/useSendEmailValidation.js.map +7 -0
  573. package/dist/esm/registration/hooks/useSubscriptions.d.ts +15 -0
  574. package/dist/esm/registration/hooks/useSubscriptions.d.ts.map +1 -0
  575. package/dist/esm/registration/hooks/useSubscriptions.js +2 -0
  576. package/dist/esm/registration/hooks/useSubscriptions.js.map +7 -0
  577. package/dist/esm/registration/index.d.ts +2 -0
  578. package/dist/esm/registration/index.d.ts.map +1 -0
  579. package/dist/esm/registration/index.js +2 -0
  580. package/dist/esm/registration/index.js.map +7 -0
  581. package/dist/esm/shopify/fetchers/add-cart-lines.d.ts +12 -0
  582. package/dist/esm/shopify/fetchers/add-cart-lines.d.ts.map +1 -0
  583. package/dist/esm/shopify/fetchers/add-cart-lines.js +2 -0
  584. package/dist/esm/shopify/fetchers/add-cart-lines.js.map +7 -0
  585. package/dist/esm/shopify/fetchers/create-cart.d.ts +13 -0
  586. package/dist/esm/shopify/fetchers/create-cart.d.ts.map +1 -0
  587. package/dist/esm/shopify/fetchers/create-cart.js +2 -0
  588. package/dist/esm/shopify/fetchers/create-cart.js.map +7 -0
  589. package/dist/esm/shopify/fetchers/get-cart.d.ts +16 -0
  590. package/dist/esm/shopify/fetchers/get-cart.d.ts.map +1 -0
  591. package/dist/esm/shopify/fetchers/get-cart.js +2 -0
  592. package/dist/esm/shopify/fetchers/get-cart.js.map +7 -0
  593. package/dist/esm/shopify/fetchers/get-products-by-handles.d.ts +15 -0
  594. package/dist/esm/shopify/fetchers/get-products-by-handles.d.ts.map +1 -0
  595. package/dist/esm/shopify/fetchers/get-products-by-handles.js +2 -0
  596. package/dist/esm/shopify/fetchers/get-products-by-handles.js.map +7 -0
  597. package/dist/esm/shopify/fetchers/index.d.ts +12 -0
  598. package/dist/esm/shopify/fetchers/index.d.ts.map +1 -0
  599. package/dist/esm/shopify/fetchers/index.js +2 -0
  600. package/dist/esm/shopify/fetchers/index.js.map +7 -0
  601. package/dist/esm/shopify/fetchers/remove-cart-lines.d.ts +12 -0
  602. package/dist/esm/shopify/fetchers/remove-cart-lines.d.ts.map +1 -0
  603. package/dist/esm/shopify/fetchers/remove-cart-lines.js +2 -0
  604. package/dist/esm/shopify/fetchers/remove-cart-lines.js.map +7 -0
  605. package/dist/esm/shopify/fetchers/update-cart-attributes.d.ts +12 -0
  606. package/dist/esm/shopify/fetchers/update-cart-attributes.d.ts.map +1 -0
  607. package/dist/esm/shopify/fetchers/update-cart-attributes.js +2 -0
  608. package/dist/esm/shopify/fetchers/update-cart-attributes.js.map +7 -0
  609. package/dist/esm/shopify/fetchers/update-cart-buyer-identity.d.ts +12 -0
  610. package/dist/esm/shopify/fetchers/update-cart-buyer-identity.d.ts.map +1 -0
  611. package/dist/esm/shopify/fetchers/update-cart-buyer-identity.js +2 -0
  612. package/dist/esm/shopify/fetchers/update-cart-buyer-identity.js.map +7 -0
  613. package/dist/esm/shopify/fetchers/update-cart-codes.d.ts +12 -0
  614. package/dist/esm/shopify/fetchers/update-cart-codes.d.ts.map +1 -0
  615. package/dist/esm/shopify/fetchers/update-cart-codes.js +2 -0
  616. package/dist/esm/shopify/fetchers/update-cart-codes.js.map +7 -0
  617. package/dist/esm/shopify/fetchers/update-cart-lines.d.ts +12 -0
  618. package/dist/esm/shopify/fetchers/update-cart-lines.d.ts.map +1 -0
  619. package/dist/esm/shopify/fetchers/update-cart-lines.js +2 -0
  620. package/dist/esm/shopify/fetchers/update-cart-lines.js.map +7 -0
  621. package/dist/esm/shopify/fragments/article.d.ts +3 -0
  622. package/dist/esm/shopify/fragments/article.d.ts.map +1 -0
  623. package/dist/esm/shopify/fragments/article.js +50 -0
  624. package/dist/esm/shopify/fragments/article.js.map +7 -0
  625. package/dist/esm/shopify/fragments/blog.d.ts +2 -0
  626. package/dist/esm/shopify/fragments/blog.d.ts.map +1 -0
  627. package/dist/esm/shopify/fragments/blog.js +11 -0
  628. package/dist/esm/shopify/fragments/blog.js.map +7 -0
  629. package/dist/esm/shopify/fragments/cart.d.ts +2 -0
  630. package/dist/esm/shopify/fragments/cart.d.ts.map +1 -0
  631. package/dist/esm/shopify/fragments/cart.js +189 -0
  632. package/dist/esm/shopify/fragments/cart.js.map +7 -0
  633. package/dist/esm/shopify/fragments/collection.d.ts +2 -0
  634. package/dist/esm/shopify/fragments/collection.d.ts.map +1 -0
  635. package/dist/esm/shopify/fragments/collection.js +16 -0
  636. package/dist/esm/shopify/fragments/collection.js.map +7 -0
  637. package/dist/esm/shopify/fragments/image.d.ts +2 -0
  638. package/dist/esm/shopify/fragments/image.d.ts.map +1 -0
  639. package/dist/esm/shopify/fragments/image.js +9 -0
  640. package/dist/esm/shopify/fragments/image.js.map +7 -0
  641. package/dist/esm/shopify/fragments/index.d.ts +12 -0
  642. package/dist/esm/shopify/fragments/index.d.ts.map +1 -0
  643. package/dist/esm/shopify/fragments/index.js +2 -0
  644. package/dist/esm/shopify/fragments/index.js.map +7 -0
  645. package/dist/esm/shopify/fragments/metafields.d.ts +3 -0
  646. package/dist/esm/shopify/fragments/metafields.d.ts.map +1 -0
  647. package/dist/esm/shopify/fragments/metafields.js +16 -0
  648. package/dist/esm/shopify/fragments/metafields.js.map +7 -0
  649. package/dist/esm/shopify/fragments/page-info.d.ts +2 -0
  650. package/dist/esm/shopify/fragments/page-info.d.ts.map +1 -0
  651. package/dist/esm/shopify/fragments/page-info.js +9 -0
  652. package/dist/esm/shopify/fragments/page-info.js.map +7 -0
  653. package/dist/esm/shopify/fragments/page.d.ts +2 -0
  654. package/dist/esm/shopify/fragments/page.d.ts.map +1 -0
  655. package/dist/esm/shopify/fragments/page.js +13 -0
  656. package/dist/esm/shopify/fragments/page.js.map +7 -0
  657. package/dist/esm/shopify/fragments/product.d.ts +2 -0
  658. package/dist/esm/shopify/fragments/product.d.ts.map +1 -0
  659. package/dist/esm/shopify/fragments/product.js +72 -0
  660. package/dist/esm/shopify/fragments/product.js.map +7 -0
  661. package/dist/esm/shopify/fragments/seo.d.ts +2 -0
  662. package/dist/esm/shopify/fragments/seo.d.ts.map +1 -0
  663. package/dist/esm/shopify/fragments/seo.js +7 -0
  664. package/dist/esm/shopify/fragments/seo.js.map +7 -0
  665. package/dist/esm/shopify/fragments/variant.d.ts +2 -0
  666. package/dist/esm/shopify/fragments/variant.d.ts.map +1 -0
  667. package/dist/esm/shopify/fragments/variant.js +30 -0
  668. package/dist/esm/shopify/fragments/variant.js.map +7 -0
  669. package/dist/esm/shopify/gql/fragment-masking.d.ts +16 -0
  670. package/dist/esm/shopify/gql/fragment-masking.d.ts.map +1 -0
  671. package/dist/esm/shopify/gql/fragment-masking.js +2 -0
  672. package/dist/esm/shopify/gql/fragment-masking.js.map +7 -0
  673. package/dist/esm/shopify/gql/gql.d.ts +88 -0
  674. package/dist/esm/shopify/gql/gql.d.ts.map +1 -0
  675. package/dist/esm/shopify/gql/gql.js +2 -0
  676. package/dist/esm/shopify/gql/gql.js.map +7 -0
  677. package/dist/esm/shopify/gql/graphql.d.ts +7670 -0
  678. package/dist/esm/shopify/gql/graphql.d.ts.map +1 -0
  679. package/dist/esm/shopify/gql/graphql.js +2 -0
  680. package/dist/esm/shopify/gql/graphql.js.map +7 -0
  681. package/dist/esm/shopify/gql/index.d.ts +4 -0
  682. package/dist/esm/shopify/gql/index.d.ts.map +1 -0
  683. package/dist/esm/shopify/gql/index.js +2 -0
  684. package/dist/esm/shopify/gql/index.js.map +7 -0
  685. package/dist/esm/shopify/hooks/index.d.ts +2 -0
  686. package/dist/esm/shopify/hooks/index.d.ts.map +1 -0
  687. package/dist/esm/shopify/hooks/index.js +2 -0
  688. package/dist/esm/shopify/hooks/index.js.map +7 -0
  689. package/dist/esm/shopify/hooks/useProductsByHandles.d.ts +5 -0
  690. package/dist/esm/shopify/hooks/useProductsByHandles.d.ts.map +1 -0
  691. package/dist/esm/shopify/hooks/useProductsByHandles.js +2 -0
  692. package/dist/esm/shopify/hooks/useProductsByHandles.js.map +7 -0
  693. package/dist/esm/shopify/index.d.ts +6 -0
  694. package/dist/esm/shopify/index.d.ts.map +1 -0
  695. package/dist/esm/shopify/index.js +2 -0
  696. package/dist/esm/shopify/index.js.map +7 -0
  697. package/dist/esm/shopify/mutations/add-cart-lines.d.ts +2 -0
  698. package/dist/esm/shopify/mutations/add-cart-lines.d.ts.map +1 -0
  699. package/dist/esm/shopify/mutations/add-cart-lines.js +15 -0
  700. package/dist/esm/shopify/mutations/add-cart-lines.js.map +7 -0
  701. package/dist/esm/shopify/mutations/create-cart.d.ts +2 -0
  702. package/dist/esm/shopify/mutations/create-cart.d.ts.map +1 -0
  703. package/dist/esm/shopify/mutations/create-cart.js +21 -0
  704. package/dist/esm/shopify/mutations/create-cart.js.map +7 -0
  705. package/dist/esm/shopify/mutations/remove-cart-items.d.ts +2 -0
  706. package/dist/esm/shopify/mutations/remove-cart-items.d.ts.map +1 -0
  707. package/dist/esm/shopify/mutations/remove-cart-items.js +15 -0
  708. package/dist/esm/shopify/mutations/remove-cart-items.js.map +7 -0
  709. package/dist/esm/shopify/mutations/update-cart-attributes.d.ts +2 -0
  710. package/dist/esm/shopify/mutations/update-cart-attributes.d.ts.map +1 -0
  711. package/dist/esm/shopify/mutations/update-cart-attributes.js +15 -0
  712. package/dist/esm/shopify/mutations/update-cart-attributes.js.map +7 -0
  713. package/dist/esm/shopify/mutations/update-cart-buyer-identity.d.ts +2 -0
  714. package/dist/esm/shopify/mutations/update-cart-buyer-identity.d.ts.map +1 -0
  715. package/dist/esm/shopify/mutations/update-cart-buyer-identity.js +15 -0
  716. package/dist/esm/shopify/mutations/update-cart-buyer-identity.js.map +7 -0
  717. package/dist/esm/shopify/mutations/update-cart-discount-code.d.ts +2 -0
  718. package/dist/esm/shopify/mutations/update-cart-discount-code.d.ts.map +1 -0
  719. package/dist/esm/shopify/mutations/update-cart-discount-code.js +15 -0
  720. package/dist/esm/shopify/mutations/update-cart-discount-code.js.map +7 -0
  721. package/dist/esm/shopify/mutations/update-cart-items.d.ts +2 -0
  722. package/dist/esm/shopify/mutations/update-cart-items.d.ts.map +1 -0
  723. package/dist/esm/shopify/mutations/update-cart-items.js +15 -0
  724. package/dist/esm/shopify/mutations/update-cart-items.js.map +7 -0
  725. package/dist/esm/shopify/queries/get-cart.d.ts +2 -0
  726. package/dist/esm/shopify/queries/get-cart.d.ts.map +1 -0
  727. package/dist/esm/shopify/queries/get-cart.js +13 -0
  728. package/dist/esm/shopify/queries/get-cart.js.map +7 -0
  729. package/dist/esm/shopify/queries/get-product-by-handles.d.ts +2 -0
  730. package/dist/esm/shopify/queries/get-product-by-handles.d.ts.map +1 -0
  731. package/dist/esm/shopify/queries/get-product-by-handles.js +29 -0
  732. package/dist/esm/shopify/queries/get-product-by-handles.js.map +7 -0
  733. package/dist/esm/shopify/queries/index.d.ts +2 -0
  734. package/dist/esm/shopify/queries/index.d.ts.map +1 -0
  735. package/dist/esm/shopify/queries/index.js +2 -0
  736. package/dist/esm/shopify/queries/index.js.map +7 -0
  737. package/dist/esm/shopify/types/article.d.ts +49 -0
  738. package/dist/esm/shopify/types/article.d.ts.map +1 -0
  739. package/dist/esm/shopify/types/article.js +1 -0
  740. package/dist/esm/shopify/types/article.js.map +7 -0
  741. package/dist/esm/shopify/types/cart.d.ts +175 -0
  742. package/dist/esm/shopify/types/cart.d.ts.map +1 -0
  743. package/dist/esm/shopify/types/cart.js +1 -0
  744. package/dist/esm/shopify/types/cart.js.map +7 -0
  745. package/dist/esm/shopify/types/checkout.d.ts +43 -0
  746. package/dist/esm/shopify/types/checkout.d.ts.map +1 -0
  747. package/dist/esm/shopify/types/checkout.js +1 -0
  748. package/dist/esm/shopify/types/checkout.js.map +7 -0
  749. package/dist/esm/shopify/types/collection.d.ts +123 -0
  750. package/dist/esm/shopify/types/collection.d.ts.map +1 -0
  751. package/dist/esm/shopify/types/collection.js +1 -0
  752. package/dist/esm/shopify/types/collection.js.map +7 -0
  753. package/dist/esm/shopify/types/common.d.ts +43 -0
  754. package/dist/esm/shopify/types/common.d.ts.map +1 -0
  755. package/dist/esm/shopify/types/common.js +1 -0
  756. package/dist/esm/shopify/types/common.js.map +7 -0
  757. package/dist/esm/shopify/types/config.d.ts +13 -0
  758. package/dist/esm/shopify/types/config.d.ts.map +1 -0
  759. package/dist/esm/shopify/types/config.js +1 -0
  760. package/dist/esm/shopify/types/config.js.map +7 -0
  761. package/dist/esm/shopify/types/customer.d.ts +31 -0
  762. package/dist/esm/shopify/types/customer.d.ts.map +1 -0
  763. package/dist/esm/shopify/types/customer.js +1 -0
  764. package/dist/esm/shopify/types/customer.js.map +7 -0
  765. package/dist/esm/shopify/types/fetcher.d.ts +44 -0
  766. package/dist/esm/shopify/types/fetcher.d.ts.map +1 -0
  767. package/dist/esm/shopify/types/fetcher.js +2 -0
  768. package/dist/esm/shopify/types/fetcher.js.map +7 -0
  769. package/dist/esm/shopify/types/index.d.ts +12 -0
  770. package/dist/esm/shopify/types/index.d.ts.map +1 -0
  771. package/dist/esm/shopify/types/index.js +2 -0
  772. package/dist/esm/shopify/types/index.js.map +7 -0
  773. package/dist/esm/shopify/types/page.d.ts +34 -0
  774. package/dist/esm/shopify/types/page.d.ts.map +1 -0
  775. package/dist/esm/shopify/types/page.js +1 -0
  776. package/dist/esm/shopify/types/page.js.map +7 -0
  777. package/dist/esm/shopify/types/product.d.ts +175 -0
  778. package/dist/esm/shopify/types/product.d.ts.map +1 -0
  779. package/dist/esm/shopify/types/product.js +1 -0
  780. package/dist/esm/shopify/types/product.js.map +7 -0
  781. package/dist/esm/shopify/types/search.d.ts +55 -0
  782. package/dist/esm/shopify/types/search.d.ts.map +1 -0
  783. package/dist/esm/shopify/types/search.js +1 -0
  784. package/dist/esm/shopify/types/search.js.map +7 -0
  785. package/dist/esm/shopify/types/site.d.ts +34 -0
  786. package/dist/esm/shopify/types/site.d.ts.map +1 -0
  787. package/dist/esm/shopify/types/site.js +1 -0
  788. package/dist/esm/shopify/types/site.js.map +7 -0
  789. package/dist/esm/shopify/types/type-helper.d.ts +6 -0
  790. package/dist/esm/shopify/types/type-helper.d.ts.map +1 -0
  791. package/dist/esm/shopify/types/type-helper.js +1 -0
  792. package/dist/esm/shopify/types/type-helper.js.map +7 -0
  793. package/dist/esm/shopify/utils/colors.d.ts +4 -0
  794. package/dist/esm/shopify/utils/colors.d.ts.map +1 -0
  795. package/dist/esm/shopify/utils/colors.js +2 -0
  796. package/dist/esm/shopify/utils/colors.js.map +7 -0
  797. package/dist/esm/shopify/utils/const.d.ts +77 -0
  798. package/dist/esm/shopify/utils/const.d.ts.map +1 -0
  799. package/dist/esm/shopify/utils/const.js +2 -0
  800. package/dist/esm/shopify/utils/const.js.map +7 -0
  801. package/dist/esm/shopify/utils/cookie.d.ts +16 -0
  802. package/dist/esm/shopify/utils/cookie.d.ts.map +1 -0
  803. package/dist/esm/shopify/utils/cookie.js +2 -0
  804. package/dist/esm/shopify/utils/cookie.js.map +7 -0
  805. package/dist/esm/shopify/utils/errors.d.ts +39 -0
  806. package/dist/esm/shopify/utils/errors.d.ts.map +1 -0
  807. package/dist/esm/shopify/utils/errors.js +3 -0
  808. package/dist/esm/shopify/utils/errors.js.map +7 -0
  809. package/dist/esm/shopify/utils/fetch-graphql-api.d.ts +20 -0
  810. package/dist/esm/shopify/utils/fetch-graphql-api.d.ts.map +1 -0
  811. package/dist/esm/shopify/utils/fetch-graphql-api.js +3 -0
  812. package/dist/esm/shopify/utils/fetch-graphql-api.js.map +7 -0
  813. package/dist/esm/shopify/utils/handle-fetch-response.d.ts +6 -0
  814. package/dist/esm/shopify/utils/handle-fetch-response.d.ts.map +1 -0
  815. package/dist/esm/shopify/utils/handle-fetch-response.js +2 -0
  816. package/dist/esm/shopify/utils/handle-fetch-response.js.map +7 -0
  817. package/dist/esm/shopify/utils/helper.d.ts +29 -0
  818. package/dist/esm/shopify/utils/helper.d.ts.map +1 -0
  819. package/dist/esm/shopify/utils/helper.js +2 -0
  820. package/dist/esm/shopify/utils/helper.js.map +7 -0
  821. package/dist/esm/shopify/utils/normalize/cart.d.ts +8 -0
  822. package/dist/esm/shopify/utils/normalize/cart.d.ts.map +1 -0
  823. package/dist/esm/shopify/utils/normalize/cart.js +2 -0
  824. package/dist/esm/shopify/utils/normalize/cart.js.map +7 -0
  825. package/dist/esm/shopify/utils/normalize/customer.d.ts +4 -0
  826. package/dist/esm/shopify/utils/normalize/customer.d.ts.map +1 -0
  827. package/dist/esm/shopify/utils/normalize/customer.js +2 -0
  828. package/dist/esm/shopify/utils/normalize/customer.js.map +7 -0
  829. package/dist/esm/shopify/utils/normalize/index.d.ts +3 -0
  830. package/dist/esm/shopify/utils/normalize/index.d.ts.map +1 -0
  831. package/dist/esm/shopify/utils/normalize/index.js +2 -0
  832. package/dist/esm/shopify/utils/normalize/index.js.map +7 -0
  833. package/dist/esm/shopify/utils/normalize/metafield.d.ts +6 -0
  834. package/dist/esm/shopify/utils/normalize/metafield.d.ts.map +1 -0
  835. package/dist/esm/shopify/utils/normalize/metafield.js +2 -0
  836. package/dist/esm/shopify/utils/normalize/metafield.js.map +7 -0
  837. package/dist/esm/shopify/utils/normalize/product.d.ts +17 -0
  838. package/dist/esm/shopify/utils/normalize/product.d.ts.map +1 -0
  839. package/dist/esm/shopify/utils/normalize/product.js +2 -0
  840. package/dist/esm/shopify/utils/normalize/product.js.map +7 -0
  841. package/dist/esm/shopify/utils/store.d.ts +3 -0
  842. package/dist/esm/shopify/utils/store.d.ts.map +1 -0
  843. package/dist/esm/shopify/utils/store.js +2 -0
  844. package/dist/esm/shopify/utils/store.js.map +7 -0
  845. package/dist/esm/shopify/utils/type-helper.d.ts +6 -0
  846. package/dist/esm/shopify/utils/type-helper.d.ts.map +1 -0
  847. package/dist/esm/shopify/utils/type-helper.js +1 -0
  848. package/dist/esm/shopify/utils/type-helper.js.map +7 -0
  849. package/dist/esm/utils/classnames.d.ts +3 -0
  850. package/dist/esm/utils/classnames.d.ts.map +1 -0
  851. package/dist/esm/utils/classnames.js +2 -0
  852. package/dist/esm/utils/classnames.js.map +7 -0
  853. package/dist/esm/utils/fetcher/fetchResponse.d.ts +14 -0
  854. package/dist/esm/utils/fetcher/fetchResponse.d.ts.map +1 -0
  855. package/dist/esm/utils/fetcher/fetchResponse.js +2 -0
  856. package/dist/esm/utils/fetcher/fetchResponse.js.map +7 -0
  857. package/dist/esm/utils/fetcher/fetcher.d.ts +2 -0
  858. package/dist/esm/utils/fetcher/fetcher.d.ts.map +1 -0
  859. package/dist/esm/utils/fetcher/fetcher.js +2 -0
  860. package/dist/esm/utils/fetcher/fetcher.js.map +7 -0
  861. package/dist/esm/utils/fetcher/index.d.ts +3 -0
  862. package/dist/esm/utils/fetcher/index.d.ts.map +1 -0
  863. package/dist/esm/utils/fetcher/index.js +2 -0
  864. package/dist/esm/utils/fetcher/index.js.map +7 -0
  865. package/dist/esm/utils/index.d.ts +5 -0
  866. package/dist/esm/utils/index.d.ts.map +1 -0
  867. package/dist/esm/utils/index.js +2 -0
  868. package/dist/esm/utils/index.js.map +7 -0
  869. package/dist/esm/utils/track.d.ts +16 -0
  870. package/dist/esm/utils/track.d.ts.map +1 -0
  871. package/dist/esm/utils/track.js +2 -0
  872. package/dist/esm/utils/track.js.map +7 -0
  873. package/dist/esm/utils/useCountDown.d.ts +6 -0
  874. package/dist/esm/utils/useCountDown.d.ts.map +1 -0
  875. package/dist/esm/utils/useCountDown.js +2 -0
  876. package/dist/esm/utils/useCountDown.js.map +7 -0
  877. package/esbuild-cjs.mjs +23 -0
  878. package/esbuild-esm.mjs +31 -0
  879. package/jest.config.ts +3 -0
  880. package/package.json +51 -4
  881. package/src/cart/const.ts +23 -0
  882. package/src/cart/context/index.tsx +310 -0
  883. package/src/cart/hooks/basic/useAddToCart.ts +161 -0
  884. package/src/cart/hooks/basic/useApplyCartCodes.ts +72 -0
  885. package/src/cart/hooks/basic/useBuyNow.ts +107 -0
  886. package/src/cart/hooks/basic/useCreateCart.ts +32 -0
  887. package/src/cart/hooks/basic/useRemoveCartCodes.ts +55 -0
  888. package/src/cart/hooks/basic/useRemoveCartLines.ts +51 -0
  889. package/src/cart/hooks/basic/useUpdateCartAttributes.ts +42 -0
  890. package/src/cart/hooks/basic/useUpdateCartBuyerIdentity.ts +34 -0
  891. package/src/cart/hooks/basic/useUpdateCartLines.ts +34 -0
  892. package/src/cart/hooks/feature/useCalcAutoFreeGift.tsx +178 -0
  893. package/src/cart/hooks/feature/useCalcOrderDiscount.tsx +127 -0
  894. package/src/cart/hooks/feature/useCartAttributes.tsx +133 -0
  895. package/src/cart/hooks/feature/useCartItemQuantityLimit.tsx +59 -0
  896. package/src/cart/hooks/feature/useScriptAutoFreeGift.tsx +256 -0
  897. package/src/cart/hooks/feature/useUpdateLineCodeAmountAttributes.tsx +184 -0
  898. package/src/cart/index.ts +19 -0
  899. package/src/cart/track/fbq.ts +38 -0
  900. package/src/cart/track/gtm.ts +159 -0
  901. package/src/cart/types/autoFreeGift.ts +169 -0
  902. package/src/cart/types/index.ts +26 -0
  903. package/src/cart/types/orderDiscount.ts +38 -0
  904. package/src/cart/types/priceDiscount.ts +21 -0
  905. package/src/cart/utils/autoFreeGift.ts +297 -0
  906. package/src/cart/utils/index.ts +35 -0
  907. package/src/context/HeadlessProvider.tsx +30 -0
  908. package/src/context/config.ts +10 -0
  909. package/src/context/index.ts +2 -0
  910. package/src/index.ts +9 -1
  911. package/src/registration/hooks/index.ts +3 -0
  912. package/src/registration/hooks/useEmailValidation.ts +28 -0
  913. package/src/registration/hooks/useSendEmailValidation.ts +21 -0
  914. package/src/registration/hooks/useSubscriptions.ts +36 -0
  915. package/src/registration/index.ts +2 -0
  916. package/src/shopify/fetchers/add-cart-lines.ts +53 -0
  917. package/src/shopify/fetchers/create-cart.ts +43 -0
  918. package/src/shopify/fetchers/get-cart.ts +48 -0
  919. package/src/shopify/fetchers/get-products-by-handles.ts +48 -0
  920. package/src/shopify/fetchers/index.ts +12 -0
  921. package/src/shopify/fetchers/remove-cart-lines.ts +31 -0
  922. package/src/shopify/fetchers/update-cart-attributes.ts +29 -0
  923. package/src/shopify/fetchers/update-cart-buyer-identity.ts +32 -0
  924. package/src/shopify/fetchers/update-cart-codes.ts +32 -0
  925. package/src/shopify/fetchers/update-cart-lines.ts +42 -0
  926. package/src/shopify/fragments/article.ts +51 -0
  927. package/src/shopify/fragments/blog.ts +10 -0
  928. package/src/shopify/fragments/cart.ts +193 -0
  929. package/src/shopify/fragments/collection.ts +15 -0
  930. package/src/shopify/fragments/image.ts +8 -0
  931. package/src/shopify/fragments/index.ts +11 -0
  932. package/src/shopify/fragments/metafields.ts +17 -0
  933. package/src/shopify/fragments/page-info.ts +8 -0
  934. package/src/shopify/fragments/page.ts +12 -0
  935. package/src/shopify/fragments/product.ts +71 -0
  936. package/src/shopify/fragments/seo.ts +6 -0
  937. package/src/shopify/fragments/variant.ts +29 -0
  938. package/src/shopify/gql/fragment-masking.ts +85 -0
  939. package/src/shopify/gql/gql.ts +110 -0
  940. package/src/shopify/gql/graphql.ts +11780 -0
  941. package/src/shopify/gql/index.ts +4 -0
  942. package/src/shopify/hooks/index.ts +1 -0
  943. package/src/shopify/hooks/useProductsByHandles.ts +24 -0
  944. package/src/shopify/index.ts +5 -0
  945. package/src/shopify/mutations/add-cart-lines.ts +16 -0
  946. package/src/shopify/mutations/create-cart.ts +22 -0
  947. package/src/shopify/mutations/remove-cart-items.ts +16 -0
  948. package/src/shopify/mutations/update-cart-attributes.ts +16 -0
  949. package/src/shopify/mutations/update-cart-buyer-identity.ts +16 -0
  950. package/src/shopify/mutations/update-cart-discount-code.ts +16 -0
  951. package/src/shopify/mutations/update-cart-items.ts +16 -0
  952. package/src/shopify/queries/get-cart.ts +14 -0
  953. package/src/shopify/queries/get-product-by-handles.ts +32 -0
  954. package/src/shopify/queries/index.ts +2 -0
  955. package/src/shopify/types/article.ts +46 -0
  956. package/src/shopify/types/cart.ts +204 -0
  957. package/src/shopify/types/checkout.ts +44 -0
  958. package/src/shopify/types/collection.ts +104 -0
  959. package/src/shopify/types/common.ts +53 -0
  960. package/src/shopify/types/config.ts +14 -0
  961. package/src/shopify/types/customer.ts +31 -0
  962. package/src/shopify/types/fetcher.ts +67 -0
  963. package/src/shopify/types/index.ts +11 -0
  964. package/src/shopify/types/page.ts +45 -0
  965. package/src/shopify/types/product.ts +176 -0
  966. package/src/shopify/types/search.ts +62 -0
  967. package/src/shopify/types/site.ts +38 -0
  968. package/src/shopify/types/type-helper.ts +5 -0
  969. package/src/shopify/utils/colors.ts +206 -0
  970. package/src/shopify/utils/const.ts +115 -0
  971. package/src/shopify/utils/cookie.ts +28 -0
  972. package/src/shopify/utils/errors.ts +65 -0
  973. package/src/shopify/utils/fetch-graphql-api.ts +67 -0
  974. package/src/shopify/utils/handle-fetch-response.ts +60 -0
  975. package/src/shopify/utils/helper.ts +89 -0
  976. package/src/shopify/utils/normalize/cart.ts +106 -0
  977. package/src/shopify/utils/normalize/customer.ts +18 -0
  978. package/src/shopify/utils/normalize/index.ts +2 -0
  979. package/src/shopify/utils/normalize/metafield.ts +69 -0
  980. package/src/shopify/utils/normalize/product.ts +193 -0
  981. package/src/shopify/utils/store.ts +5 -0
  982. package/src/shopify/utils/type-helper.ts +7 -0
  983. package/src/utils/classnames.ts +6 -0
  984. package/src/utils/fetcher/fetchResponse.ts +33 -0
  985. package/src/utils/fetcher/fetcher.ts +38 -0
  986. package/src/utils/fetcher/index.ts +2 -0
  987. package/src/utils/index.ts +4 -0
  988. package/src/utils/track.ts +57 -0
  989. package/src/utils/useCountDown.tsx +41 -0
  990. package/tsconfig.json +11 -2
  991. package/tsup.config.ts +10 -8
  992. package/dist/index.d.mts +0 -7
  993. package/dist/index.d.ts +0 -7
  994. package/dist/index.global.js +0 -2
  995. package/dist/index.global.js.map +0 -1
  996. package/dist/index.js +0 -2
  997. package/dist/index.js.map +0 -1
  998. package/dist/index.mjs +0 -2
  999. package/dist/index.mjs.map +0 -1
  1000. package/src/__tests__/math.test.ts +0 -15
  1001. package/src/math.ts +0 -5
@@ -0,0 +1,11 @@
1
+ import { Cart } from '../../../shopify';
2
+ import { MutationCartLinesRemoveArgs } from '../../../shopify/gql';
3
+ import { SWRMutationConfiguration } from 'swr/mutation';
4
+ export type RemoveCartLinesArgs = MutationCartLinesRemoveArgs & {
5
+ autoRemoveInvalidCodes?: boolean;
6
+ onCodesRemoved?: (updatedCart: Cart, removedCodes: string[]) => Promise<Cart | undefined>;
7
+ };
8
+ export declare const useRemoveCartLines: (swrOptions?: SWRMutationConfiguration<Cart | undefined, Error, string, RemoveCartLinesArgs> & {
9
+ throwOnError?: boolean;
10
+ }) => import("swr/mutation").SWRMutationResponse<Cart | undefined, Error, "remove-cart-lines", RemoveCartLinesArgs>;
11
+ //# sourceMappingURL=useRemoveCartLines.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRemoveCartLines.d.ts","sourceRoot":"","sources":["../../../../../src/cart/hooks/basic/useRemoveCartLines.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAA;AAElE,OAAuB,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAA;AAKvE,MAAM,MAAM,mBAAmB,GAAG,2BAA2B,GAAG;IAC9D,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAAA;CAC1F,CAAA;AAED,eAAO,MAAM,kBAAkB,GAC7B,aAAY,wBAAwB,CAAC,IAAI,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,CAAC,GAAG;IAC3F,YAAY,CAAC,EAAE,OAAO,CAAA;CACW,kHAkCpC,CAAA"}
@@ -0,0 +1,2 @@
1
+ "use strict";var L=Object.create;var i=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var M=Object.getOwnPropertyNames;var b=Object.getPrototypeOf,S=Object.prototype.hasOwnProperty;var W=(e,o)=>{for(var t in o)i(e,t,{get:o[t],enumerable:!0})},u=(e,o,t,a)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of M(o))!S.call(e,r)&&r!==t&&i(e,r,{get:()=>o[r],enumerable:!(a=A(o,r))||a.enumerable});return e};var h=(e,o,t)=>(t=e!=null?L(b(e)):{},u(o||!e||!e.__esModule?i(t,"default",{value:e,enumerable:!0}):t,e)),w=e=>u(i({},"__esModule",{value:!0}),e);var y={};W(y,{useRemoveCartLines:()=>x});module.exports=w(y);var d=require("react"),f=h(require("swr/mutation")),p=require("../../../shopify"),v=require("../../../context"),g=require("../../const");const x=(e=g.defaultSWRMutationConfiguration)=>{const{storefrontToken:o,storeDomain:t}=(0,v.useHeadlessContext)(),a=(0,d.useCallback)(async(r,{arg:l})=>{const{autoRemoveInvalidCodes:c=!0,onCodesRemoved:m,...R}=l;let n=await(0,p.removeCartLines)({options:R,config:{storefrontToken:o,storeDomain:t}});if(n&&c){const C=n.discountCodes?.filter(s=>!s.applicable).map(s=>s.code);C?.length&&m&&(n=await m(n,C)||n)}return n},[o,t]);return(0,f.default)("remove-cart-lines",a,e)};
2
+ //# sourceMappingURL=useRemoveCartLines.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/cart/hooks/basic/useRemoveCartLines.ts"],
4
+ "sourcesContent": ["import { Cart } from '../../../shopify'\nimport { MutationCartLinesRemoveArgs } from '../../../shopify/gql'\nimport { useCallback } from 'react'\nimport useSWRMutation, { SWRMutationConfiguration } from 'swr/mutation'\nimport { removeCartLines as removeCartLinesFetcher } from '../../../shopify'\nimport { useHeadlessContext } from '../../../context'\nimport { defaultSWRMutationConfiguration } from '../../const'\n\nexport type RemoveCartLinesArgs = MutationCartLinesRemoveArgs & {\n autoRemoveInvalidCodes?: boolean // \u662F\u5426\u81EA\u52A8\u79FB\u9664\u4E0D\u53EF\u7528\u7684\u6298\u6263\u7801\n onCodesRemoved?: (updatedCart: Cart, removedCodes: string[]) => Promise<Cart | undefined> // \u79FB\u9664\u6298\u6263\u7801\u7684\u56DE\u8C03\n}\n\nexport const useRemoveCartLines = (\n swrOptions: SWRMutationConfiguration<Cart | undefined, Error, string, RemoveCartLinesArgs> & {\n throwOnError?: boolean\n } = defaultSWRMutationConfiguration\n) => {\n const { storefrontToken, storeDomain } = useHeadlessContext()\n\n const trigger = useCallback(\n async (_: any, { arg }: { arg: RemoveCartLinesArgs }) => {\n const { autoRemoveInvalidCodes = true, onCodesRemoved, ...removeArgs } = arg\n\n let updatedCart = await removeCartLinesFetcher({\n options: removeArgs,\n config: {\n storefrontToken,\n storeDomain,\n },\n })\n\n // \u81EA\u52A8\u79FB\u9664\u4E0D\u53EF\u7528\u7684\u6298\u6263\u7801\n if (updatedCart && autoRemoveInvalidCodes) {\n const unApplicableCodes = updatedCart.discountCodes\n ?.filter((item) => !item.applicable)\n .map((item) => item.code)\n\n if (unApplicableCodes?.length && onCodesRemoved) {\n // \u5982\u679C\u63D0\u4F9B\u4E86\u56DE\u8C03\u51FD\u6570\uFF0C\u4F7F\u7528\u56DE\u8C03\u5904\u7406\n updatedCart = (await onCodesRemoved(updatedCart, unApplicableCodes)) || updatedCart\n }\n }\n\n return updatedCart\n },\n [storefrontToken, storeDomain]\n )\n\n return useSWRMutation('remove-cart-lines', trigger, swrOptions)\n}\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,wBAAAE,IAAA,eAAAC,EAAAH,GAEA,IAAAI,EAA4B,iBAC5BC,EAAyD,2BACzDC,EAA0D,4BAC1DC,EAAmC,4BACnCC,EAAgD,uBAOzC,MAAMN,EAAqB,CAChCO,EAEI,oCACD,CACH,KAAM,CAAE,gBAAAC,EAAiB,YAAAC,CAAY,KAAI,sBAAmB,EAEtDC,KAAU,eACd,MAAOC,EAAQ,CAAE,IAAAC,CAAI,IAAoC,CACvD,KAAM,CAAE,uBAAAC,EAAyB,GAAM,eAAAC,EAAgB,GAAGC,CAAW,EAAIH,EAEzE,IAAII,EAAc,QAAM,EAAAC,iBAAuB,CAC7C,QAASF,EACT,OAAQ,CACN,gBAAAP,EACA,YAAAC,CACF,CACF,CAAC,EAGD,GAAIO,GAAeH,EAAwB,CACzC,MAAMK,EAAoBF,EAAY,eAClC,OAAQG,GAAS,CAACA,EAAK,UAAU,EAClC,IAAKA,GAASA,EAAK,IAAI,EAEtBD,GAAmB,QAAUJ,IAE/BE,EAAe,MAAMF,EAAeE,EAAaE,CAAiB,GAAMF,EAE5E,CAEA,OAAOA,CACT,EACA,CAACR,EAAiBC,CAAW,CAC/B,EAEA,SAAO,EAAAW,SAAe,oBAAqBV,EAASH,CAAU,CAChE",
6
+ "names": ["useRemoveCartLines_exports", "__export", "useRemoveCartLines", "__toCommonJS", "import_react", "import_mutation", "import_shopify", "import_context", "import_const", "swrOptions", "storefrontToken", "storeDomain", "trigger", "_", "arg", "autoRemoveInvalidCodes", "onCodesRemoved", "removeArgs", "updatedCart", "removeCartLinesFetcher", "unApplicableCodes", "item", "useSWRMutation"]
7
+ }
@@ -0,0 +1,8 @@
1
+ import { Cart } from '../../../shopify';
2
+ import { MutationCartAttributesUpdateArgs } from '../../../shopify/gql';
3
+ import { SWRMutationConfiguration } from 'swr/mutation';
4
+ export type UpdateCartAttributesArgs = MutationCartAttributesUpdateArgs;
5
+ export declare const useUpdateCartAttributes: (swrOptions?: SWRMutationConfiguration<Cart | undefined, Error, string, UpdateCartAttributesArgs> & {
6
+ throwOnError?: boolean;
7
+ }) => import("swr/mutation").SWRMutationResponse<Cart | undefined, Error, "update-cart-attributes", MutationCartAttributesUpdateArgs>;
8
+ //# sourceMappingURL=useUpdateCartAttributes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUpdateCartAttributes.d.ts","sourceRoot":"","sources":["../../../../../src/cart/hooks/basic/useUpdateCartAttributes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAE,gCAAgC,EAAE,MAAM,sBAAsB,CAAA;AAEvE,OAAuB,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAA;AAMvE,MAAM,MAAM,wBAAwB,GAAG,gCAAgC,CAAA;AAEvE,eAAO,MAAM,uBAAuB,GAClC,aAAY,wBAAwB,CAAC,IAAI,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,wBAAwB,CAAC,GAAG;IAChG,YAAY,CAAC,EAAE,OAAO,CAAA;CACW,oIA2BpC,CAAA"}
@@ -0,0 +1,2 @@
1
+ "use strict";var f=Object.create;var i=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var b=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty;var M=(t,r)=>{for(var a in r)i(t,a,{get:r[a],enumerable:!0})},n=(t,r,a,e)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of A(r))!c.call(t,o)&&o!==a&&i(t,o,{get:()=>r[o],enumerable:!(e=g(r,o))||e.enumerable});return t};var U=(t,r,a)=>(a=t!=null?f(b(t)):{},n(r||!t||!t.__esModule?i(a,"default",{value:t,enumerable:!0}):a,t)),l=t=>n(i({},"__esModule",{value:!0}),t);var S={};M(S,{useUpdateCartAttributes:()=>R});module.exports=l(S);var u=require("react"),s=U(require("swr/mutation")),p=require("../../../shopify"),d=require("../../../context"),C=require("../../const");const R=(t=C.defaultSWRMutationConfiguration)=>{const{storefrontToken:r,storeDomain:a}=(0,d.useHeadlessContext)(),e=(0,u.useCallback)(async(o,{arg:m})=>await(0,p.updateCartAttributes)({options:m,config:{storefrontToken:r,storeDomain:a}}),[r,a]);return(0,s.default)("update-cart-attributes",e,t)};
2
+ //# sourceMappingURL=useUpdateCartAttributes.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/cart/hooks/basic/useUpdateCartAttributes.ts"],
4
+ "sourcesContent": ["import { Cart } from '../../../shopify'\nimport { MutationCartAttributesUpdateArgs } from '../../../shopify/gql'\nimport { useCallback } from 'react'\nimport useSWRMutation, { SWRMutationConfiguration } from 'swr/mutation'\nimport { updateCartAttributes as updateCartAttributesFetcher } from '../../../shopify'\nimport { useHeadlessContext } from '../../../context'\n// import { startInactiveSpan } from '@sentry/nextjs'\nimport { defaultSWRMutationConfiguration } from '../../const'\n\nexport type UpdateCartAttributesArgs = MutationCartAttributesUpdateArgs\n\nexport const useUpdateCartAttributes = (\n swrOptions: SWRMutationConfiguration<Cart | undefined, Error, string, UpdateCartAttributesArgs> & {\n throwOnError?: boolean\n } = defaultSWRMutationConfiguration\n) => {\n const { storefrontToken, storeDomain } = useHeadlessContext()\n\n const trigger = useCallback(\n async (_: any, { arg }: { arg: UpdateCartAttributesArgs }) => {\n // const updateCartAttributesApiSpan = startInactiveSpan({\n // name: 'updateCartAttributesAPI',\n // op: 'business',\n // })\n\n const updatedCart = await updateCartAttributesFetcher({\n options: arg,\n config: {\n storefrontToken,\n storeDomain,\n },\n })\n\n // updateCartAttributesApiSpan.end()\n\n return updatedCart\n },\n [storefrontToken, storeDomain]\n )\n\n return useSWRMutation('update-cart-attributes', trigger, swrOptions)\n}\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,IAAA,eAAAC,EAAAH,GAEA,IAAAI,EAA4B,iBAC5BC,EAAyD,2BACzDC,EAAoE,4BACpEC,EAAmC,4BAEnCC,EAAgD,uBAIzC,MAAMN,EAA0B,CACrCO,EAEI,oCACD,CACH,KAAM,CAAE,gBAAAC,EAAiB,YAAAC,CAAY,KAAI,sBAAmB,EAEtDC,KAAU,eACd,MAAOC,EAAQ,CAAE,IAAAC,CAAI,IAMC,QAAM,EAAAC,sBAA4B,CACpD,QAASD,EACT,OAAQ,CACN,gBAAAJ,EACA,YAAAC,CACF,CACF,CAAC,EAMH,CAACD,EAAiBC,CAAW,CAC/B,EAEA,SAAO,EAAAK,SAAe,yBAA0BJ,EAASH,CAAU,CACrE",
6
+ "names": ["useUpdateCartAttributes_exports", "__export", "useUpdateCartAttributes", "__toCommonJS", "import_react", "import_mutation", "import_shopify", "import_context", "import_const", "swrOptions", "storefrontToken", "storeDomain", "trigger", "_", "arg", "updateCartAttributesFetcher", "useSWRMutation"]
7
+ }
@@ -0,0 +1,8 @@
1
+ import { Cart } from '../../../shopify';
2
+ import { MutationCartBuyerIdentityUpdateArgs } from '../../../shopify/gql';
3
+ import { SWRMutationConfiguration } from 'swr/mutation';
4
+ export type UpdateCartBuyerIdentityArgs = MutationCartBuyerIdentityUpdateArgs;
5
+ export declare const useUpdateCartBuyerIdentity: (swrOptions?: SWRMutationConfiguration<Cart | undefined, Error, string, UpdateCartBuyerIdentityArgs> & {
6
+ throwOnError?: boolean;
7
+ }) => import("swr/mutation").SWRMutationResponse<Cart | undefined, Error, "update-cart-buyer-identity", MutationCartBuyerIdentityUpdateArgs>;
8
+ //# sourceMappingURL=useUpdateCartBuyerIdentity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUpdateCartBuyerIdentity.d.ts","sourceRoot":"","sources":["../../../../../src/cart/hooks/basic/useUpdateCartBuyerIdentity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAE,mCAAmC,EAAE,MAAM,sBAAsB,CAAA;AAE1E,OAAuB,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAA;AAKvE,MAAM,MAAM,2BAA2B,GAAG,mCAAmC,CAAA;AAE7E,eAAO,MAAM,0BAA0B,GACrC,aAAY,wBAAwB,CAAC,IAAI,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,2BAA2B,CAAC,GAAG;IACnG,YAAY,CAAC,EAAE,OAAO,CAAA;CACW,2IAoBpC,CAAA"}
@@ -0,0 +1,2 @@
1
+ "use strict";var m=Object.create;var n=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var c=Object.getPrototypeOf,B=Object.prototype.hasOwnProperty;var I=(t,r)=>{for(var e in r)n(t,e,{get:r[e],enumerable:!0})},i=(t,r,e,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of g(r))!B.call(t,o)&&o!==e&&n(t,o,{get:()=>r[o],enumerable:!(a=f(r,o))||a.enumerable});return t};var M=(t,r,e)=>(e=t!=null?m(c(t)):{},i(r||!t||!t.__esModule?n(e,"default",{value:t,enumerable:!0}):e,t)),U=t=>i(n({},"__esModule",{value:!0}),t);var A={};I(A,{useUpdateCartBuyerIdentity:()=>l});module.exports=U(A);var u=require("react"),d=M(require("swr/mutation")),p=require("../../../shopify"),s=require("../../../context"),y=require("../../const");const l=(t=y.defaultSWRMutationConfiguration)=>{const{storefrontToken:r,storeDomain:e}=(0,s.useHeadlessContext)(),a=(0,u.useCallback)(async(o,{arg:C})=>await(0,p.updateCartBuyerIdentity)({options:C,config:{storefrontToken:r,storeDomain:e}}),[r,e]);return(0,d.default)("update-cart-buyer-identity",a,t)};
2
+ //# sourceMappingURL=useUpdateCartBuyerIdentity.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/cart/hooks/basic/useUpdateCartBuyerIdentity.ts"],
4
+ "sourcesContent": ["import { Cart } from '../../../shopify'\nimport { MutationCartBuyerIdentityUpdateArgs } from '../../../shopify/gql'\nimport { useCallback } from 'react'\nimport useSWRMutation, { SWRMutationConfiguration } from 'swr/mutation'\nimport { updateCartBuyerIdentity as updateCartBuyerIdentityFetcher } from '../../../shopify'\nimport { useHeadlessContext } from '../../../context'\nimport { defaultSWRMutationConfiguration } from '../../const'\n\nexport type UpdateCartBuyerIdentityArgs = MutationCartBuyerIdentityUpdateArgs\n\nexport const useUpdateCartBuyerIdentity = (\n swrOptions: SWRMutationConfiguration<Cart | undefined, Error, string, UpdateCartBuyerIdentityArgs> & {\n throwOnError?: boolean\n } = defaultSWRMutationConfiguration\n) => {\n const { storefrontToken, storeDomain } = useHeadlessContext()\n\n const trigger = useCallback(\n async (_: any, { arg }: { arg: UpdateCartBuyerIdentityArgs }) => {\n const updatedCart = await updateCartBuyerIdentityFetcher({\n options: arg,\n config: {\n storefrontToken,\n storeDomain,\n },\n })\n\n return updatedCart\n },\n [storefrontToken, storeDomain]\n )\n\n return useSWRMutation('update-cart-buyer-identity', trigger, swrOptions)\n}\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,gCAAAE,IAAA,eAAAC,EAAAH,GAEA,IAAAI,EAA4B,iBAC5BC,EAAyD,2BACzDC,EAA0E,4BAC1EC,EAAmC,4BACnCC,EAAgD,uBAIzC,MAAMN,EAA6B,CACxCO,EAEI,oCACD,CACH,KAAM,CAAE,gBAAAC,EAAiB,YAAAC,CAAY,KAAI,sBAAmB,EAEtDC,KAAU,eACd,MAAOC,EAAQ,CAAE,IAAAC,CAAI,IACC,QAAM,EAAAC,yBAA+B,CACvD,QAASD,EACT,OAAQ,CACN,gBAAAJ,EACA,YAAAC,CACF,CACF,CAAC,EAIH,CAACD,EAAiBC,CAAW,CAC/B,EAEA,SAAO,EAAAK,SAAe,6BAA8BJ,EAASH,CAAU,CACzE",
6
+ "names": ["useUpdateCartBuyerIdentity_exports", "__export", "useUpdateCartBuyerIdentity", "__toCommonJS", "import_react", "import_mutation", "import_shopify", "import_context", "import_const", "swrOptions", "storefrontToken", "storeDomain", "trigger", "_", "arg", "updateCartBuyerIdentityFetcher", "useSWRMutation"]
7
+ }
@@ -0,0 +1,8 @@
1
+ import { Cart } from '../../../shopify';
2
+ import { MutationCartLinesUpdateArgs } from '../../../shopify/gql';
3
+ import { SWRMutationConfiguration } from 'swr/mutation';
4
+ export type UpdateCartLinesArgs = MutationCartLinesUpdateArgs;
5
+ export declare const useUpdateCartLines: (swrOptions?: SWRMutationConfiguration<Cart | undefined, Error, string, UpdateCartLinesArgs> & {
6
+ throwOnError?: boolean;
7
+ }) => import("swr/mutation").SWRMutationResponse<Cart | undefined, Error, "update-cart-lines", MutationCartLinesUpdateArgs>;
8
+ //# sourceMappingURL=useUpdateCartLines.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUpdateCartLines.d.ts","sourceRoot":"","sources":["../../../../../src/cart/hooks/basic/useUpdateCartLines.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAA;AAElE,OAAuB,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAA;AAKvE,MAAM,MAAM,mBAAmB,GAAG,2BAA2B,CAAA;AAE7D,eAAO,MAAM,kBAAkB,GAC7B,aAAY,wBAAwB,CAAC,IAAI,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,CAAC,GAAG;IAC3F,YAAY,CAAC,EAAE,OAAO,CAAA;CACW,0HAoBpC,CAAA"}
@@ -0,0 +1,2 @@
1
+ "use strict";var f=Object.create;var n=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var L=Object.getPrototypeOf,l=Object.prototype.hasOwnProperty;var M=(t,r)=>{for(var o in r)n(t,o,{get:r[o],enumerable:!0})},i=(t,r,o,e)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of c(r))!l.call(t,a)&&a!==o&&n(t,a,{get:()=>r[a],enumerable:!(e=g(r,a))||e.enumerable});return t};var U=(t,r,o)=>(o=t!=null?f(L(t)):{},i(r||!t||!t.__esModule?n(o,"default",{value:t,enumerable:!0}):o,t)),A=t=>i(n({},"__esModule",{value:!0}),t);var S={};M(S,{useUpdateCartLines:()=>R});module.exports=A(S);var s=require("react"),p=U(require("swr/mutation")),u=require("../../../shopify"),d=require("../../../context"),C=require("../../const");const R=(t=C.defaultSWRMutationConfiguration)=>{const{storefrontToken:r,storeDomain:o}=(0,d.useHeadlessContext)(),e=(0,s.useCallback)(async(a,{arg:m})=>await(0,u.updateCartLines)({options:m,config:{storefrontToken:r,storeDomain:o}}),[r,o]);return(0,p.default)("update-cart-lines",e,t)};
2
+ //# sourceMappingURL=useUpdateCartLines.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/cart/hooks/basic/useUpdateCartLines.ts"],
4
+ "sourcesContent": ["import { Cart } from '../../../shopify'\nimport { MutationCartLinesUpdateArgs } from '../../../shopify/gql'\nimport { useCallback } from 'react'\nimport useSWRMutation, { SWRMutationConfiguration } from 'swr/mutation'\nimport { updateCartLines as updateCartLinesFetcher } from '../../../shopify'\nimport { useHeadlessContext } from '../../../context'\nimport { defaultSWRMutationConfiguration } from '../../const'\n\nexport type UpdateCartLinesArgs = MutationCartLinesUpdateArgs\n\nexport const useUpdateCartLines = (\n swrOptions: SWRMutationConfiguration<Cart | undefined, Error, string, UpdateCartLinesArgs> & {\n throwOnError?: boolean\n } = defaultSWRMutationConfiguration\n) => {\n const { storefrontToken, storeDomain } = useHeadlessContext()\n\n const trigger = useCallback(\n async (_: any, { arg }: { arg: UpdateCartLinesArgs }) => {\n const updatedCart = await updateCartLinesFetcher({\n options: arg,\n config: {\n storefrontToken,\n storeDomain,\n },\n })\n\n return updatedCart\n },\n [storefrontToken, storeDomain]\n )\n\n return useSWRMutation('update-cart-lines', trigger, swrOptions)\n}\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,wBAAAE,IAAA,eAAAC,EAAAH,GAEA,IAAAI,EAA4B,iBAC5BC,EAAyD,2BACzDC,EAA0D,4BAC1DC,EAAmC,4BACnCC,EAAgD,uBAIzC,MAAMN,EAAqB,CAChCO,EAEI,oCACD,CACH,KAAM,CAAE,gBAAAC,EAAiB,YAAAC,CAAY,KAAI,sBAAmB,EAEtDC,KAAU,eACd,MAAOC,EAAQ,CAAE,IAAAC,CAAI,IACC,QAAM,EAAAC,iBAAuB,CAC/C,QAASD,EACT,OAAQ,CACN,gBAAAJ,EACA,YAAAC,CACF,CACF,CAAC,EAIH,CAACD,EAAiBC,CAAW,CAC/B,EAEA,SAAO,EAAAK,SAAe,oBAAqBJ,EAASH,CAAU,CAChE",
6
+ "names": ["useUpdateCartLines_exports", "__export", "useUpdateCartLines", "__toCommonJS", "import_react", "import_mutation", "import_shopify", "import_context", "import_const", "swrOptions", "storefrontToken", "storeDomain", "trigger", "_", "arg", "updateCartLinesFetcher", "useSWRMutation"]
7
+ }
@@ -0,0 +1,10 @@
1
+ import { FunctionGiftResult, AutoFreeGiftConfig } from '../../types/autoFreeGift';
2
+ /**
3
+ * [计算型 Hook]
4
+ * 根据购物车、活动配置和用户信息,计算出应得的赠品和下一个目标。
5
+ * 此 Hook 不产生任何副作用。
6
+ * 使用示例:
7
+ * const { qualifyingGift, nextTierGoal, activeCampaign, isLoading } = useCalcAutoFreeGift(cart, autoFreeGiftConfig);
8
+ */
9
+ export declare const useCalcAutoFreeGift: (cart: any, autoFreeGiftConfig: AutoFreeGiftConfig, customer: any) => FunctionGiftResult;
10
+ //# sourceMappingURL=useCalcAutoFreeGift.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCalcAutoFreeGift.d.ts","sourceRoot":"","sources":["../../../../../src/cart/hooks/feature/useCalcAutoFreeGift.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAgC,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAS/G;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,GAC9B,MAAM,GAAG,EACT,oBAAoB,kBAAkB,EACtC,UAAU,GAAG,KACZ,kBA4JF,CAAA"}
@@ -0,0 +1,2 @@
1
+ "use strict";var L=Object.create;var p=Object.defineProperty;var N=Object.getOwnPropertyDescriptor;var I=Object.getOwnPropertyNames;var M=Object.getPrototypeOf,O=Object.prototype.hasOwnProperty;var D=(t,n)=>{for(var e in n)p(t,e,{get:n[e],enumerable:!0})},h=(t,n,e,m)=>{if(n&&typeof n=="object"||typeof n=="function")for(let u of I(n))!O.call(t,u)&&u!==e&&p(t,u,{get:()=>n[u],enumerable:!(m=N(n,u))||m.enumerable});return t};var E=(t,n,e)=>(e=t!=null?L(M(t)):{},h(n||!t||!t.__esModule?p(e,"default",{value:t,enumerable:!0}):e,t)),J=t=>h(p({},"__esModule",{value:!0}),t);var U={};D(U,{useCalcAutoFreeGift:()=>B});module.exports=J(U);var a=require("react"),C=require("../../utils/autoFreeGift"),P=require("../../utils/autoFreeGift"),b=require("../../../shopify/utils/const"),R=require("../../../shopify/utils/helper"),k=require("../../../shopify/fetchers"),x=E(require("swr")),A=require("../../../context");const B=(t,n,e)=>{const m=(0,a.useMemo)(()=>e?.tags||[],[e?.tags]),u=(0,a.useMemo)(()=>!e,[e]),g="",{storefrontToken:S,storeDomain:q}=(0,A.useHeadlessContext)(),_=(0,a.useRef)(null),{activeCampaign:f,subtotal:y}=(0,a.useMemo)(()=>{for(const s of n){const{rule_conditions:r=[],rule_result:c}=s,{spend_get_reward:o}=c||{};if((0,C.preCheck)(r,m,g?[g]:[])&&o){const l=(0,P.getMatchedMainProductSubTotal)(t,o.main_product?.variant_list?.map(v=>v.variant_id)||[],{spend_money_type:o.main_product?.spend_money_type||1,variant_id_list:o.main_product?.variant_list?.map(v=>v.variant_id)||[],all_store_variant:o.main_product?.all_store_variant||!1});if(l>0)return{activeCampaign:s,subtotal:l}}}return{activeCampaign:null,subtotal:0}},[n,t,m,g]),{qualifyingGift:w,nextTierGoal:H}=(0,a.useMemo)(()=>{if(!f||!f.rule_result?.spend_get_reward?.gift_product)return{qualifyingGift:null,nextTierGoal:null};const s=f.rule_result.spend_get_reward.gift_product,r=s.findLast(i=>y>=Number(i.spend_sum_money)),c=s.find(i=>y<Number(i.spend_sum_money));return r?{qualifyingGift:{tier:r,itemsToAdd:r.reward_list?.map(i=>{const l=i?.variant_list?.[0];return l?{variant:{id:(0,R.btoaID)(l.variant_id),handle:l.handle,sku:l.sku},quantity:i?.get_unit||1,attributes:[{key:b.CUSTOMER_ATTRIBUTE_KEY,value:JSON.stringify({is_gift:!0,rule_id:f.rule_id,spend_sum_money:r.spend_sum_money})}]}:null}).filter(i=>i!==null)},nextTierGoal:c||null}:{qualifyingGift:null,nextTierGoal:c||null}},[f,y]),d=(0,a.useMemo)(()=>n.map(r=>r.rule_result?.spend_get_reward?.gift_product?.map(c=>c.reward_list.map(o=>o.variant_list.map(i=>i.handle))).flat()).flat().flat(2),[n]),G=(0,a.useMemo)(()=>!(!d.length||_.current&&JSON.stringify(_.current.giftHandles)===JSON.stringify(d)),[d]),{data:T}=(0,x.default)(G?d:null,async()=>{const s=await(0,k.getProductsByHandles)({options:{handles:d},config:{storefrontToken:S,storeDomain:q}}),r=Array.isArray(s)?s:[];return _.current={data:r,giftHandles:[...d]},r}),F=(0,a.useMemo)(()=>_.current&&!G?_.current.data||void 0:T,[T,G]);return{qualifyingGift:w,nextTierGoal:H,activeCampaign:f,isLoading:u,giftProductsResult:F}};
2
+ //# sourceMappingURL=useCalcAutoFreeGift.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/cart/hooks/feature/useCalcAutoFreeGift.tsx"],
4
+ "sourcesContent": ["import { useMemo, useRef } from 'react'\nimport { FunctionGiftResult, FormattedGift, CartLineInput, AutoFreeGiftConfig } from '../../types/autoFreeGift'\nimport { preCheck } from '../../utils/autoFreeGift'\nimport { getMatchedMainProductSubTotal } from '../../utils/autoFreeGift'\nimport { CUSTOMER_ATTRIBUTE_KEY } from '../../../shopify/utils/const'\nimport { btoaID } from '../../../shopify/utils/helper'\nimport { getProductsByHandles } from '../../../shopify/fetchers'\nimport useSWR from 'swr'\nimport { useHeadlessContext } from '../../../context'\n\n/**\n * [\u8BA1\u7B97\u578B Hook]\n * \u6839\u636E\u8D2D\u7269\u8F66\u3001\u6D3B\u52A8\u914D\u7F6E\u548C\u7528\u6237\u4FE1\u606F\uFF0C\u8BA1\u7B97\u51FA\u5E94\u5F97\u7684\u8D60\u54C1\u548C\u4E0B\u4E00\u4E2A\u76EE\u6807\u3002\n * \u6B64 Hook \u4E0D\u4EA7\u751F\u4EFB\u4F55\u526F\u4F5C\u7528\u3002\n * \u4F7F\u7528\u793A\u4F8B\uFF1A\n * const { qualifyingGift, nextTierGoal, activeCampaign, isLoading } = useCalcAutoFreeGift(cart, autoFreeGiftConfig);\n */\nexport const useCalcAutoFreeGift = (\n cart: any,\n autoFreeGiftConfig: AutoFreeGiftConfig,\n customer: any\n): FunctionGiftResult => {\n const tags = useMemo(() => customer?.tags || [], [customer?.tags])\n const isCustomerLoading = useMemo(() => (!customer ? true : false), [customer])\n const dealsType: string = '' // \u53EF\u4ECEURL\u6216Context\u83B7\u53D6\n const { storefrontToken, storeDomain } = useHeadlessContext()\n\n // \u4F7F\u7528 useRef \u7F13\u5B58 giftProductsResult\uFF0C\u786E\u4FDD\u53EA\u6267\u884C\u4E00\u6B21\n const giftProductsCache = useRef<{\n data: any[] | null\n giftHandles: string[]\n } | null>(null)\n\n // 1. \u627E\u5230\u5F53\u524D\u751F\u6548\u7684\u6D3B\u52A8\u548C\u7528\u4E8E\u8BA1\u7B97\u7684\u5B50\u603B\u4EF7\n const { activeCampaign, subtotal } = useMemo(() => {\n // \u904D\u5386\u6240\u6709\u6D3B\u52A8\u914D\u7F6E\n for (const campaign of autoFreeGiftConfig) {\n const { rule_conditions = [], rule_result } = campaign\n const { spend_get_reward } = rule_result || {}\n\n // \u524D\u7F6E\u68C0\u67E5\uFF0C\u5224\u65AD\u7528\u6237\u548C\u73AF\u5883\u662F\u5426\u6EE1\u8DB3\u6D3B\u52A8\u6761\u4EF6\n const isPreCheckPassed = preCheck(rule_conditions, tags, dealsType ? [dealsType] : [])\n\n if (isPreCheckPassed && spend_get_reward) {\n // \u8BA1\u7B97\u53C2\u4E0E\u6D3B\u52A8\u7684\u4E3B\u5546\u54C1\u7684\u603B\u4EF7\n const matchedSubtotal = getMatchedMainProductSubTotal(\n cart,\n spend_get_reward.main_product?.variant_list?.map((v: any) => v.variant_id) || [],\n {\n spend_money_type: spend_get_reward.main_product?.spend_money_type || 1,\n variant_id_list: spend_get_reward.main_product?.variant_list?.map((v: any) => v.variant_id) || [],\n all_store_variant: spend_get_reward.main_product?.all_store_variant || false,\n }\n )\n\n // \u5982\u679C\u6709\u4E3B\u5546\u54C1\u5728\u8D2D\u7269\u8F66\u4E2D\uFF0C\u5219\u6B64\u6D3B\u52A8\u4E3A\u5F53\u524D\u751F\u6548\u7684\u6D3B\u52A8\n if (matchedSubtotal > 0) {\n return { activeCampaign: campaign, subtotal: matchedSubtotal }\n }\n }\n }\n // \u6CA1\u6709\u627E\u5230\u751F\u6548\u7684\u6D3B\u52A8\n return { activeCampaign: null, subtotal: 0 }\n }, [autoFreeGiftConfig, cart, tags, dealsType])\n\n // 2. \u6839\u636E\u5B50\u603B\u4EF7\uFF0C\u8BA1\u7B97\u5E94\u5F97\u8D60\u54C1\u548C\u4E0B\u4E00\u4E2A\u76EE\u6807\n const { qualifyingGift, nextTierGoal } = useMemo(() => {\n if (!activeCampaign || !activeCampaign.rule_result?.spend_get_reward?.gift_product) {\n return { qualifyingGift: null, nextTierGoal: null }\n }\n\n const giftTiers = activeCampaign.rule_result.spend_get_reward.gift_product\n\n // a. \u627E\u5230\u5F53\u524D\u6EE1\u8DB3\u6761\u4EF6\u7684\u6700\u9AD8\u9636\u68AF (findLast)\n const qualifyingTier = giftTiers.findLast(tier => subtotal >= Number(tier.spend_sum_money))\n\n // b. \u627E\u5230\u4E0B\u4E00\u4E2A\u76EE\u6807\u9636\u68AF (\u7B2C\u4E00\u4E2A\u95E8\u69DB\u6BD4\u5F53\u524Dsubtotal\u9AD8\u7684)\n const nextGoal = giftTiers.find(tier => subtotal < Number(tier.spend_sum_money))\n\n if (!qualifyingTier) {\n return { qualifyingGift: null, nextTierGoal: nextGoal || null }\n }\n\n // c. \u5C06\u5E94\u5F97\u7684\u8D60\u54C1\u9636\u68AF\u683C\u5F0F\u5316\u4E3A\u5F85\u6DFB\u52A0\u8D2D\u7269\u8F66\u7684\u7ED3\u6784\n const formattedGift: FormattedGift = {\n tier: qualifyingTier,\n itemsToAdd: qualifyingTier.reward_list\n ?.map(reward => {\n const giftProduct = reward?.variant_list?.[0]\n if (!giftProduct) return null\n return {\n variant: {\n id: btoaID(giftProduct.variant_id),\n handle: giftProduct.handle,\n sku: giftProduct.sku,\n },\n quantity: reward?.get_unit || 1,\n attributes: [\n {\n key: CUSTOMER_ATTRIBUTE_KEY,\n value: JSON.stringify({\n is_gift: true,\n rule_id: activeCampaign.rule_id,\n spend_sum_money: qualifyingTier.spend_sum_money,\n }),\n },\n ],\n }\n })\n .filter((item): item is CartLineInput => item !== null),\n }\n\n return { qualifyingGift: formattedGift, nextTierGoal: nextGoal || null }\n }, [activeCampaign, subtotal])\n\n const giftHandles = useMemo(() => {\n const giftVariant = autoFreeGiftConfig\n .map(item =>\n item.rule_result?.spend_get_reward?.gift_product\n ?.map(v => v.reward_list.map(reward => reward.variant_list.map(variant => variant.handle)))\n .flat()\n )\n .flat()\n return giftVariant.flat(2)\n }, [autoFreeGiftConfig])\n\n // \u68C0\u67E5\u662F\u5426\u9700\u8981\u91CD\u65B0\u83B7\u53D6\u6570\u636E\n const shouldFetch = useMemo(() => {\n if (!giftHandles.length) return false\n\n // \u5982\u679C\u7F13\u5B58\u5B58\u5728\u4E14 handles \u76F8\u540C\uFF0C\u76F4\u63A5\u4F7F\u7528\u7F13\u5B58\n if (\n giftProductsCache.current &&\n JSON.stringify(giftProductsCache.current.giftHandles) === JSON.stringify(giftHandles)\n ) {\n return false\n }\n\n return true\n }, [giftHandles])\n\n const { data: giftProductsResult } = useSWR(shouldFetch ? giftHandles : null, async () => {\n const res = await getProductsByHandles({\n options: {\n handles: giftHandles,\n },\n config: {\n storefrontToken: storefrontToken,\n storeDomain: storeDomain,\n },\n })\n const result = Array.isArray(res) ? res : []\n\n // \u7F13\u5B58\u7ED3\u679C\n giftProductsCache.current = {\n data: result,\n giftHandles: [...giftHandles],\n }\n\n return result\n })\n\n // \u4F7F\u7528\u7F13\u5B58\u7684\u6570\u636E\u6216\u65B0\u83B7\u53D6\u7684\u6570\u636E\n const finalGiftProductsResult = useMemo(() => {\n if (giftProductsCache.current && !shouldFetch) {\n return giftProductsCache.current.data || undefined\n }\n return giftProductsResult\n }, [giftProductsResult, shouldFetch])\n\n return {\n qualifyingGift,\n nextTierGoal,\n activeCampaign,\n isLoading: isCustomerLoading,\n giftProductsResult: finalGiftProductsResult,\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["useCalcAutoFreeGift_exports", "__export", "useCalcAutoFreeGift", "__toCommonJS", "import_react", "import_autoFreeGift", "import_const", "import_helper", "import_fetchers", "import_swr", "import_context", "cart", "autoFreeGiftConfig", "customer", "tags", "isCustomerLoading", "dealsType", "storefrontToken", "storeDomain", "giftProductsCache", "activeCampaign", "subtotal", "campaign", "rule_conditions", "rule_result", "spend_get_reward", "matchedSubtotal", "qualifyingGift", "nextTierGoal", "giftTiers", "qualifyingTier", "tier", "nextGoal", "reward", "giftProduct", "item", "giftHandles", "v", "variant", "shouldFetch", "giftProductsResult", "useSWR", "res", "result", "finalGiftProductsResult"]
7
+ }
@@ -0,0 +1,21 @@
1
+ import { OrderDiscountConfig, TieredDiscount } from '../../types/orderDiscount';
2
+ export interface OrderDiscountResult {
3
+ qualifyingDiscount: TieredDiscount | null;
4
+ nextTierGoal: TieredDiscount | null;
5
+ activeCampaign: OrderDiscountConfig | null;
6
+ discountAmount: number;
7
+ cartTotalForDiscount: number;
8
+ isLoading: boolean;
9
+ }
10
+ /**
11
+ * [计算型 Hook]
12
+ * 根据购物车、活动配置和用户信息,计算出应得的订单折扣和下一个目标。
13
+ * 此 Hook 不产生任何副作用。
14
+ * 使用示例:
15
+ * const { qualifyingDiscount, nextTierGoal, activeCampaign, discountAmount, isLoading } = useCalcOrderDiscount(cart, orderDiscountConfig);
16
+ * @param cart - 购物车
17
+ * @param orderDiscountConfig - 订单折扣配置
18
+ * @returns { OrderDiscountResult }
19
+ */
20
+ export declare const useCalcOrderDiscount: (cart: any, orderDiscountConfig: OrderDiscountConfig[], customer: any) => OrderDiscountResult;
21
+ //# sourceMappingURL=useCalcOrderDiscount.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCalcOrderDiscount.d.ts","sourceRoot":"","sources":["../../../../../src/cart/hooks/feature/useCalcOrderDiscount.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAA+B,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAG5G,MAAM,WAAW,mBAAmB;IAClC,kBAAkB,EAAE,cAAc,GAAG,IAAI,CAAA;IACzC,YAAY,EAAE,cAAc,GAAG,IAAI,CAAA;IACnC,cAAc,EAAE,mBAAmB,GAAG,IAAI,CAAA;IAC1C,cAAc,EAAE,MAAM,CAAA;IACtB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,SAAS,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,GAC/B,MAAM,GAAG,EACT,qBAAqB,mBAAmB,EAAE,EAC1C,UAAU,GAAG,KACZ,mBAiGF,CAAA"}
@@ -0,0 +1,2 @@
1
+ "use strict";var D=Object.defineProperty;var E=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var x=Object.prototype.hasOwnProperty;var O=(n,t)=>{for(var e in t)D(n,e,{get:t[e],enumerable:!0})},h=(n,t,e,c)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of P(t))!x.call(n,a)&&a!==e&&D(n,a,{get:()=>t[a],enumerable:!(c=E(t,a))||c.enumerable});return n};var A=n=>h(D({},"__esModule",{value:!0}),n);var k={};O(k,{useCalcOrderDiscount:()=>G});module.exports=A(k);var _=require("react"),T=require("../../utils/autoFreeGift"),C=require("../../utils/autoFreeGift"),u=require("../../types/orderDiscount");const G=(n,t,e)=>{const c=(0,_.useMemo)(()=>e?.tags||[],[e?.tags]),a=(0,_.useMemo)(()=>!e,[e]),f="",{activeCampaign:l,subtotal:s}=(0,_.useMemo)(()=>{for(const d of t){const{rule_conditions:o=[],result_detail:m}=d,{main_product:i,order_discount_conf:r}=m||{};if((0,T.preCheck)(o,c,f?[f]:[])&&i&&r){const g=(0,C.getMatchedMainProductSubTotal)(n,i?.variant_list?.map(p=>p.variant_id)||[],{spend_money_type:r.base_price===u.BasePriceType.MIN_DISCOUNTED_PRICE?2:1,variant_id_list:i?.variant_list?.map(p=>p.variant_id)||[],all_store_variant:i?.all_store_variant||!1});if(g>0)return{activeCampaign:d,subtotal:g}}}return{activeCampaign:null,subtotal:0}},[t,n,c,f]),{qualifyingDiscount:b,nextTierGoal:y,discountAmount:v}=(0,_.useMemo)(()=>{if(!l||!l.result_detail?.order_discount_conf?.tiered_discounts)return{qualifyingDiscount:null,nextTierGoal:null,discountAmount:0};const d=l.result_detail.order_discount_conf.tiered_discounts,o=d.findLast(r=>s>=Number(r.amount)),m=d.find(r=>s<Number(r.amount));if(!o)return{qualifyingDiscount:null,nextTierGoal:m||null,discountAmount:0};let i=0;switch(o.discount_type){case u.DiscountType.PERCENTAGE:i=s*o.discount/100;break;case u.DiscountType.FIXED_AMOUNT:i=o.discount;break;case u.DiscountType.REDUCE_PRICE:i=Math.min(s,o.discount);break;default:i=0}return{qualifyingDiscount:o,nextTierGoal:m||null,discountAmount:i}},[l,s]);return{qualifyingDiscount:b,nextTierGoal:y,activeCampaign:l,discountAmount:v,cartTotalForDiscount:s,isLoading:a}};
2
+ //# sourceMappingURL=useCalcOrderDiscount.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/cart/hooks/feature/useCalcOrderDiscount.tsx"],
4
+ "sourcesContent": ["import { useMemo } from 'react'\nimport { preCheck } from '../../utils/autoFreeGift'\nimport { getMatchedMainProductSubTotal } from '../../utils/autoFreeGift'\nimport { OrderDiscountConfig, DiscountType, BasePriceType, TieredDiscount } from '../../types/orderDiscount'\n\n// \u8FD4\u56DE\u7ED3\u679C\u7C7B\u578B\nexport interface OrderDiscountResult {\n qualifyingDiscount: TieredDiscount | null // \u5F53\u524D\u5E94\u5F97\u7684\u6298\u6263\n nextTierGoal: TieredDiscount | null // \u4E0B\u4E00\u4E2A\u76EE\u6807\u9636\u68AF\n activeCampaign: OrderDiscountConfig | null // \u5F53\u524D\u751F\u6548\u7684\u6D3B\u52A8\u914D\u7F6E\n discountAmount: number // \u6298\u6263\u91D1\u989D\n cartTotalForDiscount: number // \u7528\u4E8E\u8BA1\u7B97\u6298\u6263\u7684\u8D2D\u7269\u8F66\u603B\u989D\n isLoading: boolean // \u4F9D\u8D56\u6570\u636E\u662F\u5426\u52A0\u8F7D\u4E2D\n}\n\n/**\n * [\u8BA1\u7B97\u578B Hook]\n * \u6839\u636E\u8D2D\u7269\u8F66\u3001\u6D3B\u52A8\u914D\u7F6E\u548C\u7528\u6237\u4FE1\u606F\uFF0C\u8BA1\u7B97\u51FA\u5E94\u5F97\u7684\u8BA2\u5355\u6298\u6263\u548C\u4E0B\u4E00\u4E2A\u76EE\u6807\u3002\n * \u6B64 Hook \u4E0D\u4EA7\u751F\u4EFB\u4F55\u526F\u4F5C\u7528\u3002\n * \u4F7F\u7528\u793A\u4F8B\uFF1A\n * const { qualifyingDiscount, nextTierGoal, activeCampaign, discountAmount, isLoading } = useCalcOrderDiscount(cart, orderDiscountConfig);\n * @param cart - \u8D2D\u7269\u8F66\n * @param orderDiscountConfig - \u8BA2\u5355\u6298\u6263\u914D\u7F6E\n * @returns { OrderDiscountResult }\n */\nexport const useCalcOrderDiscount = (\n cart: any,\n orderDiscountConfig: OrderDiscountConfig[],\n customer: any\n): OrderDiscountResult => {\n const tags = useMemo(() => customer?.tags || [], [customer?.tags])\n const isCustomerLoading = useMemo(() => (!customer ? true : false), [customer])\n const dealsType: string = '' // \u53EF\u4ECEURL\u6216Context\u83B7\u53D6\n\n // 1. \u627E\u5230\u5F53\u524D\u751F\u6548\u7684\u6D3B\u52A8\u548C\u7528\u4E8E\u8BA1\u7B97\u7684\u5B50\u603B\u4EF7\n const { activeCampaign, subtotal } = useMemo(() => {\n // \u904D\u5386\u6240\u6709\u6D3B\u52A8\u914D\u7F6E\n for (const campaign of orderDiscountConfig) {\n const { rule_conditions = [], result_detail } = campaign\n const { main_product, order_discount_conf } = result_detail || {}\n\n // \u524D\u7F6E\u68C0\u67E5\uFF0C\u5224\u65AD\u7528\u6237\u548C\u73AF\u5883\u662F\u5426\u6EE1\u8DB3\u6D3B\u52A8\u6761\u4EF6\n const isPreCheckPassed = preCheck(rule_conditions, tags, dealsType ? [dealsType] : [])\n\n if (isPreCheckPassed && main_product && order_discount_conf) {\n // \u8BA1\u7B97\u53C2\u4E0E\u6D3B\u52A8\u7684\u4E3B\u5546\u54C1\u7684\u603B\u4EF7\n const matchedSubtotal = getMatchedMainProductSubTotal(\n cart,\n main_product?.variant_list?.map(v => v.variant_id) || [],\n {\n spend_money_type: order_discount_conf.base_price === BasePriceType.MIN_DISCOUNTED_PRICE ? 2 : 1, // \u6839\u636E\u57FA\u7840\u4EF7\u683C\u7C7B\u578B\u8BBE\u7F6E\n variant_id_list: main_product?.variant_list?.map(v => v.variant_id) || [],\n all_store_variant: main_product?.all_store_variant || false,\n }\n )\n\n // \u5982\u679C\u6709\u4E3B\u5546\u54C1\u5728\u8D2D\u7269\u8F66\u4E2D\uFF0C\u5219\u6B64\u6D3B\u52A8\u4E3A\u5F53\u524D\u751F\u6548\u7684\u6D3B\u52A8\n if (matchedSubtotal > 0) {\n return { activeCampaign: campaign, subtotal: matchedSubtotal }\n }\n }\n }\n // \u6CA1\u6709\u627E\u5230\u751F\u6548\u7684\u6D3B\u52A8\n return { activeCampaign: null, subtotal: 0 }\n }, [orderDiscountConfig, cart, tags, dealsType])\n\n // 2. \u6839\u636E\u5B50\u603B\u4EF7\uFF0C\u8BA1\u7B97\u5E94\u5F97\u6298\u6263\u548C\u4E0B\u4E00\u4E2A\u76EE\u6807\n const { qualifyingDiscount, nextTierGoal, discountAmount } = useMemo(() => {\n if (!activeCampaign || !activeCampaign.result_detail?.order_discount_conf?.tiered_discounts) {\n return {\n qualifyingDiscount: null,\n nextTierGoal: null,\n discountAmount: 0,\n }\n }\n\n const tieredDiscounts = activeCampaign.result_detail.order_discount_conf.tiered_discounts\n\n // a. \u627E\u5230\u5F53\u524D\u6EE1\u8DB3\u6761\u4EF6\u7684\u6700\u9AD8\u9636\u68AF (findLast)\n const qualifyingTier = tieredDiscounts.findLast(tier => subtotal >= Number(tier.amount))\n\n // b. \u627E\u5230\u4E0B\u4E00\u4E2A\u76EE\u6807\u9636\u68AF (\u7B2C\u4E00\u4E2A\u95E8\u69DB\u6BD4\u5F53\u524Dsubtotal\u9AD8\u7684)\n const nextGoal = tieredDiscounts.find(tier => subtotal < Number(tier.amount))\n\n if (!qualifyingTier) {\n return {\n qualifyingDiscount: null,\n nextTierGoal: nextGoal || null,\n discountAmount: 0,\n }\n }\n\n // c. \u8BA1\u7B97\u6298\u6263\u91D1\u989D\n let calculatedDiscount = 0\n switch (qualifyingTier.discount_type) {\n case DiscountType.PERCENTAGE:\n // \u767E\u5206\u6BD4\u6298\u6263\n calculatedDiscount = (subtotal * qualifyingTier.discount) / 100\n break\n case DiscountType.FIXED_AMOUNT:\n // \u56FA\u5B9A\u91D1\u989D\u6298\u6263\n calculatedDiscount = qualifyingTier.discount\n break\n case DiscountType.REDUCE_PRICE:\n // \u964D\u4F4E\u6307\u5B9A\u4EF7\u683C\n calculatedDiscount = Math.min(subtotal, qualifyingTier.discount)\n break\n default:\n calculatedDiscount = 0\n }\n\n return {\n qualifyingDiscount: qualifyingTier,\n nextTierGoal: nextGoal || null,\n discountAmount: calculatedDiscount,\n }\n }, [activeCampaign, subtotal])\n\n return {\n qualifyingDiscount,\n nextTierGoal,\n activeCampaign,\n discountAmount,\n cartTotalForDiscount: subtotal,\n isLoading: isCustomerLoading,\n }\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,0BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAwB,iBACxBC,EAAyB,oCACzBA,EAA8C,oCAC9CC,EAAiF,qCAsB1E,MAAMJ,EAAuB,CAClCK,EACAC,EACAC,IACwB,CACxB,MAAMC,KAAO,WAAQ,IAAMD,GAAU,MAAQ,CAAC,EAAG,CAACA,GAAU,IAAI,CAAC,EAC3DE,KAAoB,WAAQ,IAAQ,CAAAF,EAA0B,CAACA,CAAQ,CAAC,EACxEG,EAAoB,GAGpB,CAAE,eAAAC,EAAgB,SAAAC,CAAS,KAAI,WAAQ,IAAM,CAEjD,UAAWC,KAAYP,EAAqB,CAC1C,KAAM,CAAE,gBAAAQ,EAAkB,CAAC,EAAG,cAAAC,CAAc,EAAIF,EAC1C,CAAE,aAAAG,EAAc,oBAAAC,CAAoB,EAAIF,GAAiB,CAAC,EAKhE,MAFyB,YAASD,EAAiBN,EAAME,EAAY,CAACA,CAAS,EAAI,CAAC,CAAC,GAE7DM,GAAgBC,EAAqB,CAE3D,MAAMC,KAAkB,iCACtBb,EACAW,GAAc,cAAc,IAAIG,GAAKA,EAAE,UAAU,GAAK,CAAC,EACvD,CACE,iBAAkBF,EAAoB,aAAe,gBAAc,qBAAuB,EAAI,EAC9F,gBAAiBD,GAAc,cAAc,IAAIG,GAAKA,EAAE,UAAU,GAAK,CAAC,EACxE,kBAAmBH,GAAc,mBAAqB,EACxD,CACF,EAGA,GAAIE,EAAkB,EACpB,MAAO,CAAE,eAAgBL,EAAU,SAAUK,CAAgB,CAEjE,CACF,CAEA,MAAO,CAAE,eAAgB,KAAM,SAAU,CAAE,CAC7C,EAAG,CAACZ,EAAqBD,EAAMG,EAAME,CAAS,CAAC,EAGzC,CAAE,mBAAAU,EAAoB,aAAAC,EAAc,eAAAC,CAAe,KAAI,WAAQ,IAAM,CACzE,GAAI,CAACX,GAAkB,CAACA,EAAe,eAAe,qBAAqB,iBACzE,MAAO,CACL,mBAAoB,KACpB,aAAc,KACd,eAAgB,CAClB,EAGF,MAAMY,EAAkBZ,EAAe,cAAc,oBAAoB,iBAGnEa,EAAiBD,EAAgB,SAASE,GAAQb,GAAY,OAAOa,EAAK,MAAM,CAAC,EAGjFC,EAAWH,EAAgB,KAAKE,GAAQb,EAAW,OAAOa,EAAK,MAAM,CAAC,EAE5E,GAAI,CAACD,EACH,MAAO,CACL,mBAAoB,KACpB,aAAcE,GAAY,KAC1B,eAAgB,CAClB,EAIF,IAAIC,EAAqB,EACzB,OAAQH,EAAe,cAAe,CACpC,KAAK,eAAa,WAEhBG,EAAsBf,EAAWY,EAAe,SAAY,IAC5D,MACF,KAAK,eAAa,aAEhBG,EAAqBH,EAAe,SACpC,MACF,KAAK,eAAa,aAEhBG,EAAqB,KAAK,IAAIf,EAAUY,EAAe,QAAQ,EAC/D,MACF,QACEG,EAAqB,CACzB,CAEA,MAAO,CACL,mBAAoBH,EACpB,aAAcE,GAAY,KAC1B,eAAgBC,CAClB,CACF,EAAG,CAAChB,EAAgBC,CAAQ,CAAC,EAE7B,MAAO,CACL,mBAAAQ,EACA,aAAAC,EACA,eAAAV,EACA,eAAAW,EACA,qBAAsBV,EACtB,UAAWH,CACb,CACF",
6
+ "names": ["useCalcOrderDiscount_exports", "__export", "useCalcOrderDiscount", "__toCommonJS", "import_react", "import_autoFreeGift", "import_orderDiscount", "cart", "orderDiscountConfig", "customer", "tags", "isCustomerLoading", "dealsType", "activeCampaign", "subtotal", "campaign", "rule_conditions", "result_detail", "main_product", "order_discount_conf", "matchedSubtotal", "v", "qualifyingDiscount", "nextTierGoal", "discountAmount", "tieredDiscounts", "qualifyingTier", "tier", "nextGoal", "calculatedDiscount"]
7
+ }
@@ -0,0 +1,10 @@
1
+ import { AttributeInput } from '../../../shopify/gql';
2
+ import { Cart } from '../../../shopify/types/cart';
3
+ export declare const useCartAttributes: ({ profile, customer, cart, }: {
4
+ profile: any;
5
+ customer: any;
6
+ cart?: Cart;
7
+ }) => {
8
+ attributes: AttributeInput[];
9
+ };
10
+ //# sourceMappingURL=useCartAttributes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCartAttributes.d.ts","sourceRoot":"","sources":["../../../../../src/cart/hooks/feature/useCartAttributes.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAA;AAGlD,eAAO,MAAM,iBAAiB,GAAI,8BAI/B;IACD,OAAO,EAAE,GAAG,CAAA;IACZ,QAAQ,EAAE,GAAG,CAAA;IACb,IAAI,CAAC,EAAE,IAAI,CAAA;CACZ,KAAG;IAAE,UAAU,EAAE,cAAc,EAAE,CAAA;CAsHjC,CAAA"}
@@ -0,0 +1,2 @@
1
+ "use strict";var v=Object.create;var l=Object.defineProperty;var I=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var A=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty;var C=(e,t)=>{for(var r in t)l(e,r,{get:t[r],enumerable:!0})},y=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let u of w(t))!h.call(e,u)&&u!==r&&l(e,u,{get:()=>t[u],enumerable:!(o=I(t,u))||o.enumerable});return e};var b=(e,t,r)=>(r=e!=null?v(A(e)):{},y(t||!e||!e.__esModule?l(r,"default",{value:e,enumerable:!0}):r,e)),N=e=>y(l({},"__esModule",{value:!0}),e);var T={};C(T,{useCartAttributes:()=>S});module.exports=N(T);var g=b(require("js-cookie")),s=require("react"),k=b(require("decimal.js"));const S=({profile:e,customer:t,cart:r})=>{const[o,u]=(0,s.useState)("");(0,s.useEffect)(()=>{u(window.location.href)},[]);const a=(0,s.useMemo)(()=>{let n=g.default.get("userInfo");if(n){n=JSON.parse(n);let i=typeof n?.id=="string"&&n?.id.split("/");n.setId=i[i.length-1]}if(!(n||t))return"new_user_unlogin";if(t){const{orders:i={}}=t;if(i?.edges?.length===1)return"old_user_orders_once";if(i?.edges?.length>1)return"old_user_orders_twice"}return"new_user_login"},[t]),m=(0,s.useMemo)(()=>[{key:"_token",value:e?.token},{key:"_member_type",value:e?.memberType},{key:"_user_type",value:a},{key:"_is_login",value:e?.token?"true":"false"}],[e?.memberType,e?.token,a]),_=(0,s.useMemo)(()=>[r?.discountCodes&&{key:"_discounts_function_env",value:JSON.stringify({discount_code:r?.discountCodes.map(n=>n.code),user_tags:t?.tags||[]})}],[r]),p=(0,s.useMemo)(()=>[{key:"_presale",value:r?.lineItems.some(n=>n?.variant?.metafields?.presell==="presell")}],[r]),c=(0,s.useMemo)(()=>[{key:"_weight",value:r?.lineItems.reduce((n,f)=>new k.default(n).plus(f.variant.weight?.value??0).toNumber(),0)},{key:"_app_source_name",value:"dtc"}],[r]),d=(0,s.useMemo)(()=>[{key:"utm_params",value:o}],[o]);return(0,s.useMemo)(()=>({attributes:[...m,..._,...p,...c,...d].filter(n=>n?.value)}),[m,_,p,c,d])};
2
+ //# sourceMappingURL=useCartAttributes.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/cart/hooks/feature/useCartAttributes.tsx"],
4
+ "sourcesContent": ["import Cookies from 'js-cookie'\nimport { AttributeInput } from '../../../shopify/gql'\nimport { useEffect, useMemo, useState } from 'react'\nimport { Cart } from '../../../shopify/types/cart'\nimport Decimal from 'decimal.js'\n\nexport const useCartAttributes = ({\n profile,\n customer,\n cart,\n}: {\n profile: any\n customer: any\n cart?: Cart\n}): { attributes: AttributeInput[] } => {\n const [currentUrl, setCurrentUrl] = useState('')\n\n useEffect(() => {\n setCurrentUrl(window.location.href)\n }, [])\n\n const userType = useMemo(() => {\n let userInfo: any = Cookies.get('userInfo')\n if (userInfo) {\n userInfo = JSON.parse(userInfo)\n let arr = typeof userInfo?.id == 'string' && userInfo?.id.split('/')\n userInfo.setId = arr[arr.length - 1]\n }\n const customerInfo = userInfo || customer\n if (!customerInfo) {\n return 'new_user_unlogin'\n }\n if (customer) {\n const { orders = {} } = customer\n if (orders?.edges?.length === 1) {\n return 'old_user_orders_once'\n } else if (orders?.edges?.length > 1) {\n return 'old_user_orders_twice'\n }\n }\n return 'new_user_login'\n }, [customer])\n\n // \u7528\u6237\u76F8\u5173\n const memberAttributes = useMemo(() => {\n return [\n {\n key: '_token',\n value: profile?.token, //\u662F\u5426\u767B\u5F55\n },\n {\n key: '_member_type',\n value: profile?.memberType, //\uFF1A0(\u6E38\u5BA2)\uFF0C1(\u666E\u901A\u4F1A\u5458)\uFF0C2(\u4ED8\u8D39\u4F1A\u5458)\n },\n {\n key: '_user_type',\n value: userType, // n\n },\n {\n key: '_is_login',\n value: profile?.token ? 'true' : 'false',\n },\n ]\n }, [profile?.memberType, profile?.token, userType])\n\n const functionAttributes = useMemo(() => {\n return [\n cart?.discountCodes && {\n key: '_discounts_function_env',\n value: JSON.stringify({\n discount_code: cart?.discountCodes.map((item) => item.code),\n user_tags: customer?.tags || [],\n }),\n },\n ]\n }, [cart])\n\n const presellAttributes = useMemo(() => {\n return [\n {\n key: '_presale',\n value: cart?.lineItems.some(\n (item) => item?.variant?.metafields?.presell === 'presell'\n ),\n },\n ]\n }, [cart])\n\n const weightAttributes = useMemo(() => {\n return [\n {\n key: '_weight',\n value: cart?.lineItems.reduce<number>((acc, item) => {\n return new Decimal(acc)\n .plus(item.variant.weight?.value ?? 0)\n .toNumber()\n }, 0),\n },\n {\n key: '_app_source_name',\n value: 'dtc',\n },\n ]\n }, [cart])\n\n const trackingAttributes = useMemo(() => {\n return [\n {\n key: 'utm_params',\n value: currentUrl,\n },\n ]\n }, [currentUrl])\n\n return useMemo(\n () => ({\n attributes: [\n ...memberAttributes,\n ...functionAttributes,\n ...presellAttributes,\n ...weightAttributes,\n ...trackingAttributes,\n ].filter((item) => item?.value) as AttributeInput[],\n }),\n [\n memberAttributes,\n functionAttributes,\n presellAttributes,\n weightAttributes,\n trackingAttributes,\n ]\n )\n}\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,uBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAoB,wBAEpBC,EAA6C,iBAE7CC,EAAoB,yBAEb,MAAMJ,EAAoB,CAAC,CAChC,QAAAK,EACA,SAAAC,EACA,KAAAC,CACF,IAIwC,CACtC,KAAM,CAACC,EAAYC,CAAa,KAAI,YAAS,EAAE,KAE/C,aAAU,IAAM,CACdA,EAAc,OAAO,SAAS,IAAI,CACpC,EAAG,CAAC,CAAC,EAEL,MAAMC,KAAW,WAAQ,IAAM,CAC7B,IAAIC,EAAgB,EAAAC,QAAQ,IAAI,UAAU,EAC1C,GAAID,EAAU,CACZA,EAAW,KAAK,MAAMA,CAAQ,EAC9B,IAAIE,EAAM,OAAOF,GAAU,IAAM,UAAYA,GAAU,GAAG,MAAM,GAAG,EACnEA,EAAS,MAAQE,EAAIA,EAAI,OAAS,CAAC,CACrC,CAEA,GAAI,EADiBF,GAAYL,GAE/B,MAAO,mBAET,GAAIA,EAAU,CACZ,KAAM,CAAE,OAAAQ,EAAS,CAAC,CAAE,EAAIR,EACxB,GAAIQ,GAAQ,OAAO,SAAW,EAC5B,MAAO,uBACF,GAAIA,GAAQ,OAAO,OAAS,EACjC,MAAO,uBAEX,CACA,MAAO,gBACT,EAAG,CAACR,CAAQ,CAAC,EAGPS,KAAmB,WAAQ,IACxB,CACL,CACE,IAAK,SACL,MAAOV,GAAS,KAClB,EACA,CACE,IAAK,eACL,MAAOA,GAAS,UAClB,EACA,CACE,IAAK,aACL,MAAOK,CACT,EACA,CACE,IAAK,YACL,MAAOL,GAAS,MAAQ,OAAS,OACnC,CACF,EACC,CAACA,GAAS,WAAYA,GAAS,MAAOK,CAAQ,CAAC,EAE5CM,KAAqB,WAAQ,IAC1B,CACLT,GAAM,eAAiB,CACrB,IAAK,0BACL,MAAO,KAAK,UAAU,CACpB,cAAeA,GAAM,cAAc,IAAKU,GAASA,EAAK,IAAI,EAC1D,UAAWX,GAAU,MAAQ,CAAC,CAChC,CAAC,CACH,CACF,EACC,CAACC,CAAI,CAAC,EAEHW,KAAoB,WAAQ,IACzB,CACL,CACE,IAAK,WACL,MAAOX,GAAM,UAAU,KACpBU,GAASA,GAAM,SAAS,YAAY,UAAY,SACnD,CACF,CACF,EACC,CAACV,CAAI,CAAC,EAEHY,KAAmB,WAAQ,IACxB,CACL,CACE,IAAK,UACL,MAAOZ,GAAM,UAAU,OAAe,CAACa,EAAKH,IACnC,IAAI,EAAAI,QAAQD,CAAG,EACnB,KAAKH,EAAK,QAAQ,QAAQ,OAAS,CAAC,EACpC,SAAS,EACX,CAAC,CACN,EACA,CACE,IAAK,mBACL,MAAO,KACT,CACF,EACC,CAACV,CAAI,CAAC,EAEHe,KAAqB,WAAQ,IAC1B,CACL,CACE,IAAK,aACL,MAAOd,CACT,CACF,EACC,CAACA,CAAU,CAAC,EAEf,SAAO,WACL,KAAO,CACL,WAAY,CACV,GAAGO,EACH,GAAGC,EACH,GAAGE,EACH,GAAGC,EACH,GAAGG,CACL,EAAE,OAAQL,GAASA,GAAM,KAAK,CAChC,GACA,CACEF,EACAC,EACAE,EACAC,EACAG,CACF,CACF,CACF",
6
+ "names": ["useCartAttributes_exports", "__export", "useCartAttributes", "__toCommonJS", "import_js_cookie", "import_react", "import_decimal", "profile", "customer", "cart", "currentUrl", "setCurrentUrl", "userType", "userInfo", "Cookies", "arr", "orders", "memberAttributes", "functionAttributes", "item", "presellAttributes", "weightAttributes", "acc", "Decimal", "trackingAttributes"]
7
+ }
@@ -0,0 +1,19 @@
1
+ import { LineItem, Cart } from '../../../shopify/types/cart';
2
+ export declare const useCartItemQuantityLimit: ({ cart, cartItem, config, }: {
3
+ cart?: Cart;
4
+ cartItem: LineItem;
5
+ config: {
6
+ handle: Record<string, {
7
+ min: number;
8
+ max: number;
9
+ }>;
10
+ sku: Record<string, {
11
+ min: number;
12
+ max: number;
13
+ }>;
14
+ };
15
+ }) => {
16
+ min: number;
17
+ max: number;
18
+ };
19
+ //# sourceMappingURL=useCartItemQuantityLimit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCartItemQuantityLimit.d.ts","sourceRoot":"","sources":["../../../../../src/cart/hooks/feature/useCartItemQuantityLimit.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAA;AAK5D,eAAO,MAAM,wBAAwB,GAAI,6BAItC;IACD,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,QAAQ,EAAE,QAAQ,CAAA;IAClB,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;QACpD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAClD,CAAA;CACF;;;CAwCA,CAAA"}
@@ -0,0 +1,2 @@
1
+ "use strict";var m=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var L=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var y=(i,t)=>{for(var r in t)m(i,r,{get:t[r],enumerable:!0})},h=(i,t,r,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of L(t))!c.call(i,n)&&n!==r&&m(i,n,{get:()=>t[n],enumerable:!(a=x(t,n))||a.enumerable});return i};var k=i=>h(m({},"__esModule",{value:!0}),i);var b={};y(b,{useCartItemQuantityLimit:()=>p});module.exports=k(b);var d=require("react");const u=1,s=999,p=({cart:i,cartItem:t,config:r})=>(0,d.useMemo)(()=>{if(r?.handle){const n=r?.handle?.[t?.product?.handle||""],l=i?.lineItems.reduce((o,e)=>(e.product?.handle===t?.product?.handle&&e.variant.sku!==t.variant.sku&&(o+=e.quantity),o),0)||0;return{min:n?.min||u,max:n?.max?n?.max-l:s}}else if(r?.sku){const n=r?.sku?.[t?.variant?.sku];return{min:n?.min||u,max:n?.max||s}}return{min:u,max:s}},[t,i]);
2
+ //# sourceMappingURL=useCartItemQuantityLimit.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/cart/hooks/feature/useCartItemQuantityLimit.tsx"],
4
+ "sourcesContent": ["import { useMemo } from 'react'\n\nimport { LineItem, Cart } from '../../../shopify/types/cart'\n\nconst DEFAULT_MIN = 1\nconst DEFAULT_MAX = 999\n\nexport const useCartItemQuantityLimit = ({\n cart,\n cartItem,\n config,\n}: {\n cart?: Cart\n cartItem: LineItem\n config: {\n handle: Record<string, { min: number; max: number }>\n sku: Record<string, { min: number; max: number }>\n }\n}) => {\n const quantityLimit = useMemo(() => {\n if (config?.handle) {\n // \u6309handle\u7EF4\u5EA6\u9650\u5236\n const cartItemQuantityLimit =\n config?.handle?.[cartItem?.product?.handle || '']\n\n const sameHandleTotalQuantity =\n cart?.lineItems.reduce((acc, item) => {\n if (\n item.product?.handle === cartItem?.product?.handle &&\n item.variant.sku !== cartItem.variant.sku\n ) {\n acc += item.quantity\n }\n return acc\n }, 0) || 0\n\n return {\n min: cartItemQuantityLimit?.min || DEFAULT_MIN,\n max: cartItemQuantityLimit?.max\n ? cartItemQuantityLimit?.max - sameHandleTotalQuantity\n : DEFAULT_MAX,\n }\n } else if (config?.sku) {\n const cartItemQuantityLimit = config?.sku?.[cartItem?.variant?.sku]\n\n return {\n min: cartItemQuantityLimit?.min || DEFAULT_MIN,\n max: cartItemQuantityLimit?.max || DEFAULT_MAX,\n }\n }\n\n return {\n min: DEFAULT_MIN,\n max: DEFAULT_MAX,\n }\n }, [cartItem, cart])\n\n return quantityLimit\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,8BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAwB,iBAIxB,MAAMC,EAAc,EACdC,EAAc,IAEPJ,EAA2B,CAAC,CACvC,KAAAK,EACA,SAAAC,EACA,OAAAC,CACF,OAQwB,WAAQ,IAAM,CAClC,GAAIA,GAAQ,OAAQ,CAElB,MAAMC,EACJD,GAAQ,SAASD,GAAU,SAAS,QAAU,EAAE,EAE5CG,EACJJ,GAAM,UAAU,OAAO,CAACK,EAAKC,KAEzBA,EAAK,SAAS,SAAWL,GAAU,SAAS,QAC5CK,EAAK,QAAQ,MAAQL,EAAS,QAAQ,MAEtCI,GAAOC,EAAK,UAEPD,GACN,CAAC,GAAK,EAEX,MAAO,CACL,IAAKF,GAAuB,KAAOL,EACnC,IAAKK,GAAuB,IACxBA,GAAuB,IAAMC,EAC7BL,CACN,CACF,SAAWG,GAAQ,IAAK,CACtB,MAAMC,EAAwBD,GAAQ,MAAMD,GAAU,SAAS,GAAG,EAElE,MAAO,CACL,IAAKE,GAAuB,KAAOL,EACnC,IAAKK,GAAuB,KAAOJ,CACrC,CACF,CAEA,MAAO,CACL,IAAKD,EACL,IAAKC,CACP,CACF,EAAG,CAACE,EAAUD,CAAI,CAAC",
6
+ "names": ["useCartItemQuantityLimit_exports", "__export", "useCartItemQuantityLimit", "__toCommonJS", "import_react", "DEFAULT_MIN", "DEFAULT_MAX", "cart", "cartItem", "config", "cartItemQuantityLimit", "sameHandleTotalQuantity", "acc", "item"]
7
+ }
@@ -0,0 +1,37 @@
1
+ import Decimal from 'decimal.js';
2
+ import { Cart, LineItem } from '../../../shopify/types/cart';
3
+ import { Product } from '../../../shopify/types';
4
+ interface GiveawayProduct {
5
+ handle: string;
6
+ sku: string;
7
+ }
8
+ interface Breakpoint {
9
+ breakpoint: string;
10
+ giveawayProducts: GiveawayProduct[];
11
+ }
12
+ interface Campaign {
13
+ activityAvailableQuery?: string;
14
+ activityQroperty?: string;
15
+ breakpoints?: Array<{
16
+ breakpoint: string;
17
+ giveawayProducts: GiveawayProduct[];
18
+ }>;
19
+ includeTags?: string[];
20
+ useTotalAmount?: boolean;
21
+ }
22
+ export interface UseScriptAutoFreeGiftResult {
23
+ involvedLines: LineItem[];
24
+ reorder: (a: LineItem, b: LineItem) => number;
25
+ disableCodeRemove: boolean;
26
+ nextFreeGiftLevel: Breakpoint | null;
27
+ freeGiftLevel: Breakpoint | null;
28
+ involvedSubTotal: Decimal;
29
+ giftProductsResult?: Product[];
30
+ }
31
+ declare const useScriptAutoFreeGift: ({ campaign, _giveaway, cart, }: {
32
+ campaign: Campaign | null;
33
+ _giveaway: string;
34
+ cart: Cart | undefined;
35
+ }) => UseScriptAutoFreeGiftResult;
36
+ export default useScriptAutoFreeGift;
37
+ //# sourceMappingURL=useScriptAutoFreeGift.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useScriptAutoFreeGift.d.ts","sourceRoot":"","sources":["../../../../../src/cart/hooks/feature/useScriptAutoFreeGift.tsx"],"names":[],"mappings":"AAGA,OAAO,OAAO,MAAM,YAAY,CAAA;AAEhC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAG5D,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAIhD,UAAU,eAAe;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,UAAU,UAAU;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,eAAe,EAAE,CAAA;CACpC;AAED,UAAU,QAAQ;IAChB,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,WAAW,CAAC,EAAE,KAAK,CAAC;QAClB,UAAU,EAAE,MAAM,CAAA;QAClB,gBAAgB,EAAE,eAAe,EAAE,CAAA;KACpC,CAAC,CAAA;IACF,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AACD,MAAM,WAAW,2BAA2B;IAC1C,aAAa,EAAE,QAAQ,EAAE,CAAA;IACzB,OAAO,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,KAAK,MAAM,CAAA;IAC7C,iBAAiB,EAAE,OAAO,CAAA;IAC1B,iBAAiB,EAAE,UAAU,GAAG,IAAI,CAAA;IACpC,aAAa,EAAE,UAAU,GAAG,IAAI,CAAA;IAChC,gBAAgB,EAAE,OAAO,CAAA;IACzB,kBAAkB,CAAC,EAAE,OAAO,EAAE,CAAA;CAC/B;AAGD,QAAA,MAAM,qBAAqB,GAAI,gCAI5B;IACD,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,IAAI,GAAG,SAAS,CAAA;CACvB,KAAG,2BA0MH,CAAA;AAED,eAAe,qBAAqB,CAAA"}
@@ -0,0 +1,2 @@
1
+ "use strict";var H=Object.create;var b=Object.defineProperty;var O=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var U=Object.getPrototypeOf,J=Object.prototype.hasOwnProperty;var M=(t,o)=>{for(var i in o)b(t,i,{get:o[i],enumerable:!0})},h=(t,o,i,m)=>{if(o&&typeof o=="object"||typeof o=="function")for(let c of E(o))!J.call(t,c)&&c!==i&&b(t,c,{get:()=>o[c],enumerable:!(m=O(o,c))||m.enumerable});return t};var y=(t,o,i)=>(i=t!=null?H(U(t)):{},h(o||!t||!t.__esModule?b(i,"default",{value:t,enumerable:!0}):i,t)),Q=t=>h(b({},"__esModule",{value:!0}),t);var q={};M(q,{default:()=>j});module.exports=Q(q);var A=require("next/router"),n=require("react"),a=y(require("decimal.js")),I=y(require("js-cookie")),_=y(require("swr")),G=require("../../../shopify/fetchers"),R=require("../../../context");const W=({campaign:t,_giveaway:o,cart:i})=>{const{locale:m}=(0,A.useRouter)(),[c,S]=(0,n.useState)(!1),{storefrontToken:C,storeDomain:T}=(0,R.useHeadlessContext)(),g=(0,n.useRef)(null);(0,n.useEffect)(()=>{if(m==="au"){const e=I.default.get("points_subscribe");S(!!e)}},[m]);const[P,L]=(0,n.useMemo)(()=>{let e=1,r=0;return c&&(e=1.2,r=40),i?.lineItems?.forEach(({customAttributes:u})=>{u?.forEach(({key:s,value:l})=>{s==="_amount_upgrade_multiple"&&(e=Number(l)||1),s==="_amount_upgrade_value"&&(r=Number(l)||0)})}),[e,r]},[i?.lineItems,c]),p=(0,n.useMemo)(()=>t?(t.breakpoints||[]).map(e=>({breakpoint:new a.default(e.breakpoint).minus(new a.default(L)).dividedBy(new a.default(P)).toFixed(2,a.default.ROUND_DOWN),giveawayProducts:e.giveawayProducts||[]})):[],[t,P,L]),d=(0,n.useMemo)(()=>[...new Set(p.flatMap(e=>e.giveawayProducts.map(r=>r.handle)).filter(Boolean))],[p]),v=(0,n.useMemo)(()=>!(!d.length||g.current&&JSON.stringify(g.current.giftHandles)===JSON.stringify(d)),[d]),f=(0,n.useMemo)(()=>t?(i?.lineItems||[]).filter(e=>{const r=e?.totalAmount&&Number(e.totalAmount)>0&&e.customAttributes?.every(s=>s.key!==o),u=e.product?.tags?.some(s=>t.includeTags?.includes(s.trim())&&e.variant?.availableForSale);return r&&u}):[],[i?.lineItems,t,o]),k=(0,n.useMemo)(()=>t?f.reduce((e,r)=>{const u=t.useTotalAmount?r.totalAmount:r.subtotalAmount;return new a.default(e).plus(new a.default(u||0))},new a.default(0)):new a.default(0),[f,t]),[N,x]=(0,n.useMemo)(()=>{const e=[...p].sort((l,D)=>Number(D.breakpoint)-Number(l.breakpoint)),r=e.findIndex(l=>k.gte(new a.default(l.breakpoint))&&f.length>0);if(r===-1)return[null,e.length>0?e[e.length-1]:null];const u=e[r],s=r>0?e[r-1]:null;return[u,s]},[p,k,f.length]),{data:w}=(0,_.default)(v?d:null,async()=>{const e=await(0,G.getProductsByHandles)({options:{handles:d},config:{storefrontToken:C,storeDomain:T}}),r=Array.isArray(e)?e:[];return g.current={data:r,giftHandles:[...d]},r}),B=(0,n.useMemo)(()=>g.current&&!v?g.current.data||void 0:w,[w,v]),F=(0,n.useCallback)((e,r)=>{const u=s=>s.customAttributes?.some(l=>l.key===o)?0:s.product?.tags?.some(l=>t?.includeTags?.includes(l))?1:2;return u(r)-u(e)},[t?.includeTags,o]);return{involvedLines:f,reorder:F,disableCodeRemove:f.length>0,nextFreeGiftLevel:x,freeGiftLevel:N,involvedSubTotal:k,giftProductsResult:B}};var j=W;
2
+ //# sourceMappingURL=useScriptAutoFreeGift.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/cart/hooks/feature/useScriptAutoFreeGift.tsx"],
4
+ "sourcesContent": ["\nimport { useRouter } from 'next/router'\nimport { useEffect, useMemo, useCallback, useState, useRef } from 'react'\nimport Decimal from 'decimal.js'\nimport Cookies from 'js-cookie'\nimport { Cart, LineItem } from '../../../shopify/types/cart'\nimport useSWR from 'swr'\nimport { getProductsByHandles } from '../../../shopify/fetchers'\nimport { Product } from '../../../shopify/types'\nimport { useHeadlessContext } from '../../../context'\n\n// \u517C\u5BB9\u8001script\u6EE1\u8D60 ----- \u5F85\u62C6\u89E3\u4F18\u5316\ninterface GiveawayProduct {\n handle: string\n sku: string\n}\n\ninterface Breakpoint {\n breakpoint: string\n giveawayProducts: GiveawayProduct[]\n}\n\ninterface Campaign {\n activityAvailableQuery?: string\n activityQroperty?: string\n breakpoints?: Array<{\n breakpoint: string\n giveawayProducts: GiveawayProduct[]\n }>\n includeTags?: string[]\n useTotalAmount?: boolean\n}\nexport interface UseScriptAutoFreeGiftResult {\n involvedLines: LineItem[]\n reorder: (a: LineItem, b: LineItem) => number\n disableCodeRemove: boolean\n nextFreeGiftLevel: Breakpoint | null\n freeGiftLevel: Breakpoint | null\n involvedSubTotal: Decimal\n giftProductsResult?: Product[]\n}\n\n// --- 3. \u4F18\u5316\u540E\u7684 Hook \u4E3B\u4F53 ---\nconst useScriptAutoFreeGift = ({\n campaign,\n _giveaway,\n cart,\n}: {\n campaign: Campaign | null\n _giveaway: string\n cart: Cart | undefined\n}): UseScriptAutoFreeGiftResult => {\n // const { cart } = useCartContext()\n const { locale } = useRouter()\n\n // --- \u72B6\u6001\u7BA1\u7406 ---\n const [points_subscribe, set_points_subscribe] = useState<boolean>(false)\n const { storefrontToken, storeDomain } = useHeadlessContext()\n\n // \u4F7F\u7528 useRef \u7F13\u5B58 giftProductsResult\uFF0C\u786E\u4FDD\u53EA\u6267\u884C\u4E00\u6B21\n const giftProductsCache = useRef<{\n data: any[] | null\n giftHandles: string[]\n } | null>(null)\n\n useEffect(() => {\n if (locale === 'au') {\n const isPointsSubscribe = Cookies.get('points_subscribe')\n set_points_subscribe(!!isPointsSubscribe)\n }\n }, [locale])\n\n // --- \u8BA1\u7B97\u5C42 ---\n // \u4F7F\u7528 useMemo \u8FDB\u884C\u6027\u80FD\u4F18\u5316\uFF0C\u5904\u7406\u6240\u6709\u7EAF\u8BA1\u7B97\u903B\u8F91\u3002\n\n const [upgrade_multiple, upgrade_value] = useMemo((): [number, number] => {\n let upgrade_multiple = 1\n let upgrade_value = 0\n if (points_subscribe) {\n upgrade_multiple = 1.2\n upgrade_value = 40\n }\n cart?.lineItems?.forEach(({ customAttributes }) => {\n customAttributes?.forEach(({ key, value }: { key: string; value: string }) => {\n if (key === '_amount_upgrade_multiple')\n upgrade_multiple = Number(value) || 1\n if (key === '_amount_upgrade_value') upgrade_value = Number(value) || 0\n })\n })\n return [upgrade_multiple, upgrade_value]\n }, [cart?.lineItems, points_subscribe])\n\n const breakpoints = useMemo((): Breakpoint[] => {\n if (!campaign) return []\n return (campaign.breakpoints || []).map((item) => ({\n breakpoint: new Decimal(item.breakpoint)\n .minus(new Decimal(upgrade_value))\n .dividedBy(new Decimal(upgrade_multiple))\n .toFixed(2, Decimal.ROUND_DOWN),\n giveawayProducts: item.giveawayProducts || [],\n }))\n }, [campaign, upgrade_multiple, upgrade_value])\n\n const giftHandles = useMemo(\n (): string[] =>\n // \u4F7F\u7528 Set \u53BB\u91CD\uFF0C\u7136\u540E\u62FC\u63A5\u5B57\u7B26\u4E32\n [\n ...new Set(\n breakpoints\n .flatMap((b) => b.giveawayProducts.map((p) => p.handle))\n .filter(Boolean)\n ),\n ],\n [breakpoints]\n )\n\n // \u68C0\u67E5\u662F\u5426\u9700\u8981\u91CD\u65B0\u83B7\u53D6\u6570\u636E\n const shouldFetch = useMemo(() => {\n if (!giftHandles.length) return false\n\n // \u5982\u679C\u7F13\u5B58\u5B58\u5728\u4E14 handles \u76F8\u540C\uFF0C\u76F4\u63A5\u4F7F\u7528\u7F13\u5B58\n if (\n giftProductsCache.current &&\n JSON.stringify(giftProductsCache.current.giftHandles) ===\n JSON.stringify(giftHandles)\n ) {\n return false\n }\n\n return true\n }, [giftHandles])\n\n const involvedLines = useMemo((): LineItem[] => {\n if (!campaign) return []\n return (cart?.lineItems || []).filter((line) => {\n const isNotGift =\n line?.totalAmount &&\n Number(line.totalAmount) > 0 &&\n line.customAttributes?.every((item: { key: string; value: string }) => item.key !== _giveaway)\n const hasCampaignTag = line.product?.tags?.some(\n (tag) =>\n campaign.includeTags?.includes(tag.trim()) &&\n line.variant?.availableForSale\n )\n return isNotGift && hasCampaignTag\n })\n }, [cart?.lineItems, campaign, _giveaway])\n\n const involvedSubTotal = useMemo((): Decimal => {\n if (!campaign) return new Decimal(0)\n return involvedLines.reduce((prev, item) => {\n const amount = campaign.useTotalAmount\n ? item.totalAmount\n : item.subtotalAmount\n return new Decimal(prev).plus(new Decimal(amount || 0))\n }, new Decimal(0))\n }, [involvedLines, campaign])\n\n const [freeGiftLevel, nextFreeGiftLevel] = useMemo((): [\n Breakpoint | null,\n Breakpoint | null\n ] => {\n const sortedLevels = [...breakpoints].sort(\n (a, b) => Number(b.breakpoint) - Number(a.breakpoint)\n )\n const levelIndex = sortedLevels.findIndex(\n (level) =>\n involvedSubTotal.gte(new Decimal(level.breakpoint)) &&\n involvedLines.length > 0\n )\n\n if (levelIndex === -1) {\n return [\n null,\n sortedLevels.length > 0 ? sortedLevels[sortedLevels.length - 1] : null,\n ]\n }\n\n const currentLevel = sortedLevels[levelIndex]\n const nextLevel = levelIndex > 0 ? sortedLevels[levelIndex - 1] : null\n return [currentLevel, nextLevel]\n }, [breakpoints, involvedSubTotal, involvedLines.length])\n\n // --- \u6570\u636E\u83B7\u53D6\u5C42 ---\n const { data: giftProductsResult } = useSWR(\n shouldFetch ? giftHandles : null,\n async () => {\n const res = await getProductsByHandles({\n options: {\n handles: giftHandles,\n },\n config: {\n storefrontToken: storefrontToken,\n storeDomain: storeDomain,\n },\n })\n const result = Array.isArray(res) ? res : []\n\n // \u7F13\u5B58\u7ED3\u679C\n giftProductsCache.current = {\n data: result,\n giftHandles: [...giftHandles],\n }\n\n return result\n }\n )\n\n // \u4F7F\u7528\u7F13\u5B58\u7684\u6570\u636E\u6216\u65B0\u83B7\u53D6\u7684\u6570\u636E\n const finalGiftProductsResult = useMemo(() => {\n if (giftProductsCache.current && !shouldFetch) {\n return giftProductsCache.current.data || undefined\n }\n return giftProductsResult\n }, [giftProductsResult, shouldFetch])\n\n // \u4F7F\u7528 useCallback \u521B\u5EFA\u4E00\u4E2A\u7A33\u5B9A\u7684\u6392\u5E8F\u51FD\u6570\uFF0C\u7528\u4E8E\u4F18\u5316\u6E32\u67D3\u3002\n // \u5B83\u4F1A\u6839\u636E\u5546\u54C1\u7C7B\u578B\uFF08\u8D60\u54C1\u3001\u6D3B\u52A8\u5546\u54C1\u3001\u666E\u901A\u5546\u54C1\uFF09\u8FDB\u884C\u6392\u5E8F\u3002\n const reorder = useCallback(\n (a: LineItem, b: LineItem): number => {\n const getPriority = (item: LineItem): number => {\n // \u4F18\u5148\u7EA7 0: \u8D60\u54C1 (\u6392\u5728\u6700\u540E)\n if (\n item.customAttributes?.some(\n (attribute: { key: string; value: string }) => attribute.key === _giveaway\n )\n )\n return 0\n // \u4F18\u5148\u7EA7 1: \u53C2\u4E0E\u6D3B\u52A8\u7684\u5546\u54C1 (BUG\u4FEE\u590D\uFF1A\u5E94\u68C0\u67E5 product.tags)\n if (\n item.product?.tags?.some((tag) =>\n campaign?.includeTags?.includes(tag)\n )\n )\n return 1\n // \u4F18\u5148\u7EA7 2: \u5176\u4ED6\u666E\u901A\u5546\u54C1 (\u6392\u5728\u6700\u524D)\n return 2\n }\n // b \u7684\u4F18\u5148\u7EA7\u51CF a \u7684\u4F18\u5148\u7EA7\uFF0C\u5B9E\u73B0\u964D\u5E8F\u6392\u5217\n return getPriority(b) - getPriority(a)\n },\n [campaign?.includeTags, _giveaway]\n )\n\n return {\n involvedLines,\n reorder,\n disableCodeRemove: involvedLines.length > 0,\n nextFreeGiftLevel,\n freeGiftLevel,\n involvedSubTotal,\n giftProductsResult: finalGiftProductsResult,\n }\n}\n\nexport default useScriptAutoFreeGift\n"],
5
+ "mappings": "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",
6
+ "names": ["useScriptAutoFreeGift_exports", "__export", "useScriptAutoFreeGift_default", "__toCommonJS", "import_router", "import_react", "import_decimal", "import_js_cookie", "import_swr", "import_fetchers", "import_context", "useScriptAutoFreeGift", "campaign", "_giveaway", "cart", "locale", "points_subscribe", "set_points_subscribe", "storefrontToken", "storeDomain", "giftProductsCache", "isPointsSubscribe", "Cookies", "upgrade_multiple", "upgrade_value", "customAttributes", "key", "value", "breakpoints", "item", "Decimal", "giftHandles", "b", "p", "shouldFetch", "involvedLines", "line", "isNotGift", "hasCampaignTag", "tag", "involvedSubTotal", "prev", "amount", "freeGiftLevel", "nextFreeGiftLevel", "sortedLevels", "a", "levelIndex", "level", "currentLevel", "nextLevel", "giftProductsResult", "useSWR", "res", "result", "finalGiftProductsResult", "reorder", "getPriority", "attribute"]
7
+ }
@@ -0,0 +1,9 @@
1
+ import { Cart } from '../../../shopify/types/cart';
2
+ import { LoadingState } from '../../context';
3
+ export declare const useUpdateLineCodeAmountAttributes: ({ cart, mutateCart, isCartLoading, setLoadingState, }: {
4
+ cart?: Cart;
5
+ mutateCart: (cart: Cart) => void;
6
+ isCartLoading: boolean;
7
+ setLoadingState: React.Dispatch<React.SetStateAction<LoadingState>>;
8
+ }) => void;
9
+ //# sourceMappingURL=useUpdateLineCodeAmountAttributes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUpdateLineCodeAmountAttributes.d.ts","sourceRoot":"","sources":["../../../../../src/cart/hooks/feature/useUpdateLineCodeAmountAttributes.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAA;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAK5C,eAAO,MAAM,iCAAiC,GAAI,uDAK/C;IACD,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;IAChC,aAAa,EAAE,OAAO,CAAA;IACtB,eAAe,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAA;CACpE,SA8JA,CAAA"}
@@ -0,0 +1,2 @@
1
+ "use strict";var l=Object.defineProperty;var _=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var I=Object.prototype.hasOwnProperty;var O=(s,n)=>{for(var r in n)l(s,r,{get:n[r],enumerable:!0})},L=(s,n,r,c)=>{if(n&&typeof n=="object"||typeof n=="function")for(let a of T(n))!I.call(s,a)&&a!==r&&l(s,a,{get:()=>n[a],enumerable:!(c=_(n,a))||c.enumerable});return s};var N=s=>L(l({},"__esModule",{value:!0}),s);var U={};O(U,{useUpdateLineCodeAmountAttributes:()=>R});module.exports=N(U);var d=require("react"),e=require("../../../shopify/utils/const"),y=require("../../../shopify/fetchers/update-cart-lines"),C=require("ahooks"),k=require("../../utils/autoFreeGift"),v=require("../../../context");const R=({cart:s,mutateCart:n,isCartLoading:r,setLoadingState:c})=>{const{storefrontToken:a,storeDomain:E}=(0,v.useHeadlessContext)(),p=(0,d.useMemo)(()=>s?.discountCodes.filter(({code:t,applicable:o})=>o&&e.MAIN_PRODUCT_CODE.some(u=>t.startsWith(u))).map(({code:t})=>t),[s]),A=(0,d.useMemo)(()=>s?.lineItems.map(t=>{const o=[],u=[],m=t.discountAllocations?.find(i=>p?.includes(i.code)),g=t.customAttributes?.find(i=>i.key===e.CUSTOMER_ATTRIBUTE_KEY),h=(0,k.getDiscountEnvAttributeValue)(t.customAttributes);!(Number(h.discounted_amount)===Number(t.totalAmount))&&g&&o.push({key:e.CUSTOMER_ATTRIBUTE_KEY,value:JSON.stringify({...h,discounted_amount:Number(t.totalAmount)})});const f=m?.amount||0,S=t.customAttributes?.find(i=>i.key===e.CODE_AMOUNT_KEY||i.key===e.SCRIPT_CODE_AMOUNT_KEY),D=t.customAttributes?.find(i=>i.key===e.CODE_AMOUNT_KEY&&i.value===String(f))&&t.customAttributes?.find(i=>i.key===e.SCRIPT_CODE_AMOUNT_KEY&&i.value===String(f));return m&&!D?(o.push({key:e.CODE_AMOUNT_KEY,value:String(f)}),o.push({key:e.SCRIPT_CODE_AMOUNT_KEY,value:String(f)})):!m&&S&&(u.push(e.CODE_AMOUNT_KEY),u.push(e.SCRIPT_CODE_AMOUNT_KEY)),{line:t,attrNeedUpdate:o,attrNeedDelete:u}}).filter(({attrNeedUpdate:t,attrNeedDelete:o})=>t.length||o.length).map(({line:t,attrNeedUpdate:o,attrNeedDelete:u})=>o.length?{id:t.id,attributes:[...t.customAttributes?.filter(m=>!o.some(g=>g.key===m.key))||[],...o]}:u.length?{id:t.id,attributes:t.customAttributes?.filter(m=>!u.includes(m.key))||[]}:{id:t.id,attributes:t.customAttributes||[]}),[s?.lineItems,p]),{loading:b}=(0,C.useRequest)(async()=>{if(A?.length&&!r){const t=await(0,y.updateCartLines)({options:{cartId:s?.id||"",lines:A},config:{storefrontToken:a,storeDomain:E}});t&&n(t)}},{throttleWait:3e3,throttleTrailing:!0,refreshDeps:[A,r]});(0,d.useEffect)(()=>{c(t=>({...t,editLineCodeAmountLoading:b}))},[b,c])};
2
+ //# sourceMappingURL=useUpdateLineCodeAmountAttributes.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/cart/hooks/feature/useUpdateLineCodeAmountAttributes.tsx"],
4
+ "sourcesContent": ["import { useEffect, useMemo } from 'react'\nimport {\n CODE_AMOUNT_KEY,\n CUSTOMER_ATTRIBUTE_KEY,\n MAIN_PRODUCT_CODE,\n SCRIPT_CODE_AMOUNT_KEY,\n} from '../../../shopify/utils/const'\nimport { updateCartLines as updateCartLinesFetcher } from '../../../shopify/fetchers/update-cart-lines'\nimport { Cart } from '../../../shopify/types/cart'\nimport { useRequest } from 'ahooks'\nimport { LoadingState } from '../../context'\nimport { getDiscountEnvAttributeValue } from '../../utils/autoFreeGift'\nimport { AttributeInput } from '../../../shopify/gql'\nimport { useHeadlessContext } from '../../../context'\n\nexport const useUpdateLineCodeAmountAttributes = ({\n cart,\n mutateCart,\n isCartLoading,\n setLoadingState,\n}: {\n cart?: Cart\n mutateCart: (cart: Cart) => void\n isCartLoading: boolean\n setLoadingState: React.Dispatch<React.SetStateAction<LoadingState>>\n}) => {\n const { storefrontToken, storeDomain } = useHeadlessContext()\n \n const mainProductDiscountCodes = useMemo(\n () =>\n cart?.discountCodes\n .filter(\n ({ code, applicable }) =>\n applicable &&\n MAIN_PRODUCT_CODE.some((codePrefix) => code.startsWith(codePrefix))\n )\n .map(({ code }) => code),\n [cart]\n )\n\n const linesNeedUpdate = useMemo(\n () =>\n cart?.lineItems\n .map((line) => {\n const attrNeedUpdate: AttributeInput[] = []\n const attrNeedDelete = []\n\n const codeDiscount = line.discountAllocations?.find((allocation) =>\n mainProductDiscountCodes?.includes(allocation.code)\n )\n\n // \u662F\u5426\u6709 _discounts_function_env \u5C5E\u6027\n const hasFunctionEnvAttribute = line.customAttributes?.find(\n (attr: { key: string; value: string }) => attr.key === CUSTOMER_ATTRIBUTE_KEY\n )\n const functionEnvValue = getDiscountEnvAttributeValue(\n line.customAttributes\n )\n // lineItem \u6298\u540E\u603B\u4EF7\u4E0Eattr\u4E2D\u7684\u4E0D\u4E00\u81F4\u7684\u60C5\u51B5\n const hasSameFunctionEnvAttribute =\n Number(functionEnvValue.discounted_amount) ===\n Number(line.totalAmount)\n\n if (!hasSameFunctionEnvAttribute && hasFunctionEnvAttribute) {\n attrNeedUpdate.push({\n key: CUSTOMER_ATTRIBUTE_KEY,\n value: JSON.stringify({\n ...functionEnvValue,\n discounted_amount: Number(line.totalAmount),\n }),\n })\n }\n\n const codeDiscountAmount = codeDiscount?.amount || 0\n // \u662F\u5426\u6709 code_money \u5C5E\u6027\n const hasCodeAmountAttribute = line.customAttributes?.find(\n (attr: { key: string; value: string }) =>\n attr.key === CODE_AMOUNT_KEY ||\n attr.key === SCRIPT_CODE_AMOUNT_KEY\n )\n // \u4E24\u4E2A\u5C5E\u6027\u90FD\u5B58\u5728\u4E14\u503C\u76F8\u540C\uFF0C\u5219\u4E0D\u66F4\u65B0\n const hasSameCodeAmountAttribute =\n line.customAttributes?.find(\n (attr: { key: string; value: string }) =>\n attr.key === CODE_AMOUNT_KEY &&\n attr.value === String(codeDiscountAmount)\n ) &&\n line.customAttributes?.find(\n (attr: { key: string; value: string }) =>\n attr.key === SCRIPT_CODE_AMOUNT_KEY &&\n attr.value === String(codeDiscountAmount)\n )\n\n if (codeDiscount && !hasSameCodeAmountAttribute) {\n attrNeedUpdate.push({\n key: CODE_AMOUNT_KEY,\n value: String(codeDiscountAmount),\n })\n attrNeedUpdate.push({\n key: SCRIPT_CODE_AMOUNT_KEY,\n value: String(codeDiscountAmount),\n })\n } else if (!codeDiscount && hasCodeAmountAttribute) {\n // \u6CA1\u6709 code \u9700\u8981\u5220\u9664\u7684\u60C5\u51B5\n attrNeedDelete.push(CODE_AMOUNT_KEY)\n attrNeedDelete.push(SCRIPT_CODE_AMOUNT_KEY)\n }\n\n return {\n line,\n attrNeedUpdate,\n attrNeedDelete,\n }\n })\n .filter(\n ({ attrNeedUpdate, attrNeedDelete }) =>\n attrNeedUpdate.length || attrNeedDelete.length\n )\n .map(({ line, attrNeedUpdate, attrNeedDelete }) => {\n if (attrNeedUpdate.length) {\n return {\n id: line.id,\n attributes: [\n ...(line.customAttributes?.filter(\n (attr: { key: string; value: string }) =>\n !attrNeedUpdate.some(\n (updateAttr) => updateAttr.key === attr.key\n )\n ) || []),\n ...attrNeedUpdate,\n ],\n }\n } else if (attrNeedDelete.length) {\n return {\n id: line.id,\n attributes:\n line.customAttributes?.filter(\n (attr: { key: string; value: string }) => !attrNeedDelete.includes(attr.key)\n ) || [],\n }\n } else {\n return {\n id: line.id,\n attributes: line.customAttributes || [],\n }\n }\n }),\n [cart?.lineItems, mainProductDiscountCodes]\n )\n\n const { loading } = useRequest(\n async () => {\n if (linesNeedUpdate?.length && !isCartLoading) {\n const result = await updateCartLinesFetcher({\n options: {\n cartId: cart?.id || '',\n lines: linesNeedUpdate,\n },\n config: {\n storefrontToken,\n storeDomain,\n },\n })\n if (result) {\n mutateCart(result)\n }\n }\n },\n {\n throttleWait: 3000, // 3 \u79D2\u5185\u53EA\u89E6\u53D1\u6700\u540E\u4E00\u6B21\u66F4\u65B0\n throttleTrailing: true,\n refreshDeps: [linesNeedUpdate, isCartLoading],\n }\n )\n\n useEffect(() => {\n setLoadingState((prev) => {\n return {\n ...prev,\n editLineCodeAmountLoading: loading,\n }\n })\n }, [loading, setLoadingState])\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["useUpdateLineCodeAmountAttributes_exports", "__export", "useUpdateLineCodeAmountAttributes", "__toCommonJS", "import_react", "import_const", "import_update_cart_lines", "import_ahooks", "import_autoFreeGift", "import_context", "cart", "mutateCart", "isCartLoading", "setLoadingState", "storefrontToken", "storeDomain", "mainProductDiscountCodes", "code", "applicable", "codePrefix", "linesNeedUpdate", "line", "attrNeedUpdate", "attrNeedDelete", "codeDiscount", "allocation", "hasFunctionEnvAttribute", "attr", "functionEnvValue", "codeDiscountAmount", "hasCodeAmountAttribute", "hasSameCodeAmountAttribute", "updateAttr", "loading", "result", "updateCartLinesFetcher", "prev"]
7
+ }
@@ -0,0 +1,6 @@
1
+ export * from './hooks/basic/useBuyNow';
2
+ export * from './types';
3
+ export * from './utils';
4
+ export * from './const';
5
+ export * from './track/fbq';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cart/index.ts"],"names":[],"mappings":"AAIA,cAAc,yBAAyB,CAAA;AAKvC,cAAc,SAAS,CAAA;AAGvB,cAAc,SAAS,CAAA;AAGvB,cAAc,SAAS,CAAA;AAGvB,cAAc,aAAa,CAAA"}
@@ -0,0 +1,2 @@
1
+ "use strict";var a=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var t=(f,e,p,x)=>{if(e&&typeof e=="object"||typeof e=="function")for(let m of c(e))!d.call(f,m)&&m!==p&&a(f,m,{get:()=>e[m],enumerable:!(x=b(e,m))||x.enumerable});return f},r=(f,e,p)=>(t(f,e,"default"),p&&t(p,e,"default"));var g=f=>t(a({},"__esModule",{value:!0}),f);var o={};module.exports=g(o);r(o,require("./hooks/basic/useBuyNow"),module.exports);r(o,require("./types"),module.exports);r(o,require("./utils"),module.exports);r(o,require("./const"),module.exports);r(o,require("./track/fbq"),module.exports);
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/cart/index.ts"],
4
+ "sourcesContent": ["// Context\n\n// Basic Hooks\n\nexport * from './hooks/basic/useBuyNow'\n\n// Feature Hooks\n\n// Types\nexport * from './types'\n\n// Utils\nexport * from './utils'\n\n// Constants\nexport * from './const'\n\n// Tracking\nexport * from './track/fbq'\n"],
5
+ "mappings": "iaAAA,IAAAA,EAAA,kBAAAC,EAAAD,GAIAE,EAAAF,EAAc,mCAJd,gBASAE,EAAAF,EAAc,mBATd,gBAYAE,EAAAF,EAAc,mBAZd,gBAeAE,EAAAF,EAAc,mBAfd,gBAkBAE,EAAAF,EAAc,uBAlBd",
6
+ "names": ["cart_exports", "__toCommonJS", "__reExport"]
7
+ }
@@ -0,0 +1,14 @@
1
+ import { AddToCartLineItems } from '../types';
2
+ export declare const addToCartFbq: ({ lineItems }: {
3
+ lineItems: AddToCartLineItems;
4
+ }) => void;
5
+ export type FbqBuyNowTrackConfig = {
6
+ gtagId: string;
7
+ fbqBuyNowEvent: string;
8
+ gtagBuyNowLabel: string;
9
+ gtagBuyNowConversion: string;
10
+ };
11
+ export declare const buyNowFbq: ({ trackConfig }: {
12
+ trackConfig: FbqBuyNowTrackConfig;
13
+ }) => void;
14
+ //# sourceMappingURL=fbq.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fbq.d.ts","sourceRoot":"","sources":["../../../../src/cart/track/fbq.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAE7C,eAAO,MAAM,YAAY,GAAI,eAAoB;IAAE,SAAS,EAAE,kBAAkB,CAAA;CAAE,SAajF,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;IACvB,oBAAoB,EAAE,MAAM,CAAA;CAC7B,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,iBAAiB;IAAE,WAAW,EAAE,oBAAoB,CAAA;CAAE,SAY/E,CAAA"}
@@ -0,0 +1,2 @@
1
+ "use strict";var i=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var y=(t,o)=>{for(var e in o)i(t,e,{get:o[e],enumerable:!0})},d=(t,o,e,a)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of c(o))!g.call(t,r)&&r!==e&&i(t,r,{get:()=>o[r],enumerable:!(a=u(o,r))||a.enumerable});return t};var s=t=>d(i({},"__esModule",{value:!0}),t);var m={};y(m,{addToCartFbq:()=>p,buyNowFbq:()=>b});module.exports=s(m);var n=require("../../utils/track");const p=({lineItems:t=[]})=>{if(t.length&&t[0].variant){const{variant:o,quantity:e,finalPrice:a}=t[0];(0,n.fbq)("track","AddToCart",{value:a?.amount||o?.price?.amount,num_items:e,currency:o?.price?.currencyCode,content_name:o?.product?.title,content_type:"product_group",content_ids:String(o?.id),content_category:o?.product?.metafields?.global?.trafficType||"public"})}},b=({trackConfig:t})=>{try{t?.fbqBuyNowEvent&&(0,n.fbq)("trackCustom",t?.fbqBuyNowEvent),t?.gtagBuyNowLabel&&(0,n.gtag)("event",t?.gtagBuyNowConversion||"conversion",{send_to:`${t?.gtagId}/${t?.gtagBuyNowLabel}`})}catch{}};
2
+ //# sourceMappingURL=fbq.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/cart/track/fbq.ts"],
4
+ "sourcesContent": ["import { fbq, gtag } from '../../utils/track'\nimport { AddToCartLineItems } from '../types'\n\nexport const addToCartFbq = ({ lineItems = [] }: { lineItems: AddToCartLineItems }) => {\n if (lineItems.length && lineItems[0].variant) {\n const { variant, quantity, finalPrice } = lineItems[0]\n fbq('track', 'AddToCart', {\n value: finalPrice?.amount || variant?.price?.amount,\n num_items: quantity,\n currency: variant?.price?.currencyCode,\n content_name: variant?.product?.title, // \u4EA7\u54C1\u5185\u5BB9\u7684\u540D\u5B57\n content_type: 'product_group',\n content_ids: String(variant?.id), // \u4EA7\u54C1\u7684varaint id\n content_category: variant?.product?.metafields?.global?.trafficType || 'public', // \u4EA7\u54C1\u5206\u7C7B\n })\n }\n}\n\nexport type FbqBuyNowTrackConfig = {\n gtagId: string\n fbqBuyNowEvent: string\n gtagBuyNowLabel: string\n gtagBuyNowConversion: string\n}\n\nexport const buyNowFbq = ({ trackConfig }: { trackConfig: FbqBuyNowTrackConfig }) => {\n try {\n if (trackConfig?.fbqBuyNowEvent) {\n fbq('trackCustom', trackConfig?.fbqBuyNowEvent)\n }\n\n if (trackConfig?.gtagBuyNowLabel) {\n gtag('event', trackConfig?.gtagBuyNowConversion || 'conversion', {\n send_to: `${trackConfig?.gtagId}/${trackConfig?.gtagBuyNowLabel}`,\n })\n }\n } catch (error) {}\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,kBAAAE,EAAA,cAAAC,IAAA,eAAAC,EAAAJ,GAAA,IAAAK,EAA0B,6BAGnB,MAAMH,EAAe,CAAC,CAAE,UAAAI,EAAY,CAAC,CAAE,IAAyC,CACrF,GAAIA,EAAU,QAAUA,EAAU,CAAC,EAAE,QAAS,CAC5C,KAAM,CAAE,QAAAC,EAAS,SAAAC,EAAU,WAAAC,CAAW,EAAIH,EAAU,CAAC,KACrD,OAAI,QAAS,YAAa,CACxB,MAAOG,GAAY,QAAUF,GAAS,OAAO,OAC7C,UAAWC,EACX,SAAUD,GAAS,OAAO,aAC1B,aAAcA,GAAS,SAAS,MAChC,aAAc,gBACd,YAAa,OAAOA,GAAS,EAAE,EAC/B,iBAAkBA,GAAS,SAAS,YAAY,QAAQ,aAAe,QACzE,CAAC,CACH,CACF,EASaJ,EAAY,CAAC,CAAE,YAAAO,CAAY,IAA6C,CACnF,GAAI,CACEA,GAAa,mBACf,OAAI,cAAeA,GAAa,cAAc,EAG5CA,GAAa,oBACf,QAAK,QAASA,GAAa,sBAAwB,aAAc,CAC/D,QAAS,GAAGA,GAAa,MAAM,IAAIA,GAAa,eAAe,EACjE,CAAC,CAEL,MAAgB,CAAC,CACnB",
6
+ "names": ["fbq_exports", "__export", "addToCartFbq", "buyNowFbq", "__toCommonJS", "import_track", "lineItems", "variant", "quantity", "finalPrice", "trackConfig"]
7
+ }