@anker-in/headless-ui 1.3.37 → 1.3.39-alpha.1784616869310

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 (405) hide show
  1. package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoriesProductGrid/index.d.ts +11 -0
  2. package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoriesProductGrid/index.js +2 -0
  3. package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoriesProductGrid/index.js.map +7 -0
  4. package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoryShelf/ProductCard.d.ts +23 -0
  5. package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoryShelf/ProductCard.js +2 -0
  6. package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoryShelf/ProductCard.js.map +7 -0
  7. package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoryShelf/index.d.ts +40 -0
  8. package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoryShelf/index.js +2 -0
  9. package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoryShelf/index.js.map +7 -0
  10. package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoryShelf/types.d.ts +107 -0
  11. package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoryShelf/types.js +2 -0
  12. package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoryShelf/types.js.map +7 -0
  13. package/dist/cjs/biz-components/AccessoriesShelf/components/MainProductArea/index.d.ts +22 -0
  14. package/dist/cjs/biz-components/AccessoriesShelf/components/MainProductArea/index.js +2 -0
  15. package/dist/cjs/biz-components/AccessoriesShelf/components/MainProductArea/index.js.map +7 -0
  16. package/dist/cjs/biz-components/AccessoriesShelf/components/PromoBanner/index.d.ts +10 -0
  17. package/dist/cjs/biz-components/AccessoriesShelf/components/PromoBanner/index.js +2 -0
  18. package/dist/cjs/biz-components/AccessoriesShelf/components/PromoBanner/index.js.map +7 -0
  19. package/dist/cjs/biz-components/AccessoriesShelf/components/SectionHeader/index.d.ts +9 -0
  20. package/dist/cjs/biz-components/AccessoriesShelf/components/SectionHeader/index.js +2 -0
  21. package/dist/cjs/biz-components/AccessoriesShelf/components/SectionHeader/index.js.map +7 -0
  22. package/dist/cjs/biz-components/AccessoriesShelf/index.d.ts +7 -0
  23. package/dist/cjs/biz-components/AccessoriesShelf/index.js +2 -0
  24. package/dist/cjs/biz-components/AccessoriesShelf/index.js.map +7 -0
  25. package/dist/cjs/biz-components/AccessoriesShelf/types.d.ts +16 -0
  26. package/dist/cjs/biz-components/AccessoriesShelf/types.js +2 -0
  27. package/dist/cjs/biz-components/AccessoriesShelf/types.js.map +7 -0
  28. package/dist/cjs/biz-components/CartDetail/CartGiftSection/CartGiftSection.d.ts +14 -0
  29. package/dist/cjs/biz-components/CartDetail/CartGiftSection/CartGiftSection.js +2 -0
  30. package/dist/cjs/biz-components/CartDetail/CartGiftSection/CartGiftSection.js.map +7 -0
  31. package/dist/cjs/biz-components/CartDetail/CartGiftSection/components/GiftConfirmDialog/GiftConfirmDialog.d.ts +11 -0
  32. package/dist/cjs/biz-components/CartDetail/CartGiftSection/components/GiftConfirmDialog/GiftConfirmDialog.js +2 -0
  33. package/dist/cjs/biz-components/CartDetail/CartGiftSection/components/GiftConfirmDialog/GiftConfirmDialog.js.map +7 -0
  34. package/dist/cjs/biz-components/CartDetail/CartGiftSection/components/GiftConfirmDialog/index.d.ts +2 -0
  35. package/dist/cjs/biz-components/CartDetail/CartGiftSection/components/GiftConfirmDialog/index.js +2 -0
  36. package/dist/cjs/biz-components/CartDetail/CartGiftSection/components/GiftConfirmDialog/index.js.map +7 -0
  37. package/dist/cjs/biz-components/CartDetail/CartGiftSection/components/GiftOptionRow/GiftOptionRow.d.ts +13 -0
  38. package/dist/cjs/biz-components/CartDetail/CartGiftSection/components/GiftOptionRow/GiftOptionRow.js +2 -0
  39. package/dist/cjs/biz-components/CartDetail/CartGiftSection/components/GiftOptionRow/GiftOptionRow.js.map +7 -0
  40. package/dist/cjs/biz-components/CartDetail/CartGiftSection/components/GiftOptionRow/index.d.ts +2 -0
  41. package/dist/cjs/biz-components/CartDetail/CartGiftSection/components/GiftOptionRow/index.js +2 -0
  42. package/dist/cjs/biz-components/CartDetail/CartGiftSection/components/GiftOptionRow/index.js.map +7 -0
  43. package/dist/cjs/biz-components/CartDetail/CartGiftSection/index.d.ts +2 -0
  44. package/dist/cjs/biz-components/CartDetail/CartGiftSection/index.js +2 -0
  45. package/dist/cjs/biz-components/CartDetail/CartGiftSection/index.js.map +7 -0
  46. package/dist/cjs/biz-components/CartDetail/CartItemRow/CartItemRow.d.ts +54 -0
  47. package/dist/cjs/biz-components/CartDetail/CartItemRow/CartItemRow.js +2 -0
  48. package/dist/cjs/biz-components/CartDetail/CartItemRow/CartItemRow.js.map +7 -0
  49. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/CartItemGiftShipping.d.ts +4 -0
  50. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/CartItemGiftShipping.js +2 -0
  51. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/CartItemGiftShipping.js.map +7 -0
  52. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/index.d.ts +2 -0
  53. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/index.js +2 -0
  54. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/index.js.map +7 -0
  55. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/types.d.ts +9 -0
  56. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/types.js +2 -0
  57. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/types.js.map +7 -0
  58. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemInfo/CartItemInfo.d.ts +11 -0
  59. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemInfo/CartItemInfo.js +2 -0
  60. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemInfo/CartItemInfo.js.map +7 -0
  61. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemInfo/index.d.ts +2 -0
  62. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemInfo/index.js +2 -0
  63. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemInfo/index.js.map +7 -0
  64. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemKsp/CartItemKsp.d.ts +12 -0
  65. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemKsp/CartItemKsp.js +2 -0
  66. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemKsp/CartItemKsp.js.map +7 -0
  67. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemKsp/index.d.ts +2 -0
  68. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemKsp/index.js +2 -0
  69. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemKsp/index.js.map +7 -0
  70. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/CartItemRemoveConfirm.d.ts +4 -0
  71. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/CartItemRemoveConfirm.js +2 -0
  72. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/CartItemRemoveConfirm.js.map +7 -0
  73. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/index.d.ts +2 -0
  74. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/index.js +2 -0
  75. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/index.js.map +7 -0
  76. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/types.d.ts +11 -0
  77. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/types.js +2 -0
  78. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/types.js.map +7 -0
  79. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemShipping/CartItemShipping.d.ts +8 -0
  80. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemShipping/CartItemShipping.js +2 -0
  81. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemShipping/CartItemShipping.js.map +7 -0
  82. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemShipping/index.d.ts +2 -0
  83. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemShipping/index.js +2 -0
  84. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemShipping/index.js.map +7 -0
  85. package/dist/cjs/biz-components/CartDetail/CartItemRow/index.d.ts +2 -0
  86. package/dist/cjs/biz-components/CartDetail/CartItemRow/index.js +2 -0
  87. package/dist/cjs/biz-components/CartDetail/CartItemRow/index.js.map +7 -0
  88. package/dist/cjs/biz-components/CartDetail/CartPerksSection/CartPerksSection.d.ts +36 -0
  89. package/dist/cjs/biz-components/CartDetail/CartPerksSection/CartPerksSection.js +2 -0
  90. package/dist/cjs/biz-components/CartDetail/CartPerksSection/CartPerksSection.js.map +7 -0
  91. package/dist/cjs/biz-components/CartDetail/CartPerksSection/index.d.ts +2 -0
  92. package/dist/cjs/biz-components/CartDetail/CartPerksSection/index.js +2 -0
  93. package/dist/cjs/biz-components/CartDetail/CartPerksSection/index.js.map +7 -0
  94. package/dist/cjs/biz-components/CartDetail/CartPriceSummary/CartPriceSummary.d.ts +47 -0
  95. package/dist/cjs/biz-components/CartDetail/CartPriceSummary/CartPriceSummary.js +2 -0
  96. package/dist/cjs/biz-components/CartDetail/CartPriceSummary/CartPriceSummary.js.map +7 -0
  97. package/dist/cjs/biz-components/CartDetail/CartPriceSummary/index.d.ts +2 -0
  98. package/dist/cjs/biz-components/CartDetail/CartPriceSummary/index.js +2 -0
  99. package/dist/cjs/biz-components/CartDetail/CartPriceSummary/index.js.map +7 -0
  100. package/dist/cjs/biz-components/CartDetail/CartSummaryHeader/CartSummaryHeader.d.ts +26 -0
  101. package/dist/cjs/biz-components/CartDetail/CartSummaryHeader/CartSummaryHeader.js +2 -0
  102. package/dist/cjs/biz-components/CartDetail/CartSummaryHeader/CartSummaryHeader.js.map +7 -0
  103. package/dist/cjs/biz-components/CartDetail/CartSummaryHeader/index.d.ts +2 -0
  104. package/dist/cjs/biz-components/CartDetail/CartSummaryHeader/index.js +2 -0
  105. package/dist/cjs/biz-components/CartDetail/CartSummaryHeader/index.js.map +7 -0
  106. package/dist/cjs/biz-components/CartDetail/CartThirdParty/CartThirdParty.d.ts +10 -0
  107. package/dist/cjs/biz-components/CartDetail/CartThirdParty/CartThirdParty.js +2 -0
  108. package/dist/cjs/biz-components/CartDetail/CartThirdParty/CartThirdParty.js.map +7 -0
  109. package/dist/cjs/biz-components/CartDetail/CartThirdParty/index.d.ts +2 -0
  110. package/dist/cjs/biz-components/CartDetail/CartThirdParty/index.js +2 -0
  111. package/dist/cjs/biz-components/CartDetail/CartThirdParty/index.js.map +7 -0
  112. package/dist/cjs/biz-components/CartDetail/index.d.ts +16 -0
  113. package/dist/cjs/biz-components/CartDetail/index.js +2 -0
  114. package/dist/cjs/biz-components/CartDetail/index.js.map +7 -0
  115. package/dist/cjs/biz-components/CartDetail/types.d.ts +132 -0
  116. package/dist/cjs/biz-components/CartDetail/types.js +2 -0
  117. package/dist/cjs/biz-components/CartDetail/types.js.map +7 -0
  118. package/dist/cjs/biz-components/FeaturedBlogPosts/index.js +1 -1
  119. package/dist/cjs/biz-components/FeaturedBlogPosts/index.js.map +2 -2
  120. package/dist/cjs/biz-components/Ksp/index.d.ts +2 -0
  121. package/dist/cjs/biz-components/Ksp/index.js +1 -1
  122. package/dist/cjs/biz-components/Ksp/index.js.map +3 -3
  123. package/dist/cjs/biz-components/Listing/BizProductProvider.d.ts +13 -9
  124. package/dist/cjs/biz-components/Listing/BizProductProvider.js +1 -1
  125. package/dist/cjs/biz-components/Listing/BizProductProvider.js.map +3 -3
  126. package/dist/cjs/biz-components/Listing/components/CartActionButtons/index.d.ts +9 -1
  127. package/dist/cjs/biz-components/Listing/components/CartActionButtons/index.js +1 -1
  128. package/dist/cjs/biz-components/Listing/components/CartActionButtons/index.js.map +3 -3
  129. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.js +4 -4
  130. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.js.map +3 -3
  131. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefits/index.js +1 -1
  132. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefits/index.js.map +3 -3
  133. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +1 -0
  134. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js +1 -1
  135. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js.map +3 -3
  136. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/types.d.ts +48 -0
  137. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/types.js +2 -0
  138. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/types.js.map +7 -0
  139. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductCoupon/index.d.ts +1 -1
  140. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductCoupon/index.js +1 -1
  141. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductCoupon/index.js.map +3 -3
  142. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.d.ts +0 -2
  143. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.js +1 -1
  144. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.js.map +4 -4
  145. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFunctionFreeGift/index.d.ts +3 -0
  146. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFunctionFreeGift/index.js +2 -0
  147. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFunctionFreeGift/index.js.map +7 -0
  148. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFunctionFreeGift/types.d.ts +115 -0
  149. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFunctionFreeGift/types.js +2 -0
  150. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFunctionFreeGift/types.js.map +7 -0
  151. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.js +1 -1
  152. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.js.map +3 -3
  153. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ProductActions/index.js +1 -1
  154. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ProductActions/index.js.map +3 -3
  155. package/dist/cjs/biz-components/Listing/components/index.d.ts +0 -1
  156. package/dist/cjs/biz-components/Listing/components/index.js +1 -1
  157. package/dist/cjs/biz-components/Listing/components/index.js.map +3 -3
  158. package/dist/cjs/biz-components/Listing/hooks/useBenefits.d.ts +8 -2
  159. package/dist/cjs/biz-components/Listing/hooks/useBenefits.js +1 -1
  160. package/dist/cjs/biz-components/Listing/hooks/useBenefits.js.map +3 -3
  161. package/dist/cjs/biz-components/Listing/types/product.d.ts +0 -21
  162. package/dist/cjs/biz-components/Listing/types/product.js +1 -1
  163. package/dist/cjs/biz-components/Listing/types/product.js.map +1 -1
  164. package/dist/cjs/biz-components/NotifyMeDialog/NotifyMeDialog.d.ts +7 -0
  165. package/dist/cjs/biz-components/NotifyMeDialog/NotifyMeDialog.js +2 -0
  166. package/dist/cjs/biz-components/NotifyMeDialog/NotifyMeDialog.js.map +7 -0
  167. package/dist/cjs/biz-components/NotifyMeDialog/index.d.ts +2 -0
  168. package/dist/cjs/biz-components/NotifyMeDialog/index.js +2 -0
  169. package/dist/cjs/biz-components/NotifyMeDialog/index.js.map +7 -0
  170. package/dist/cjs/biz-components/NotifyMeDialog/types.d.ts +111 -0
  171. package/dist/cjs/biz-components/NotifyMeDialog/types.js +2 -0
  172. package/dist/cjs/biz-components/NotifyMeDialog/types.js.map +7 -0
  173. package/dist/cjs/biz-components/ShelfDisplay/index.js +1 -1
  174. package/dist/cjs/biz-components/ShelfDisplay/index.js.map +3 -3
  175. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplayItem.js +1 -1
  176. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplayItem.js.map +2 -2
  177. package/dist/cjs/biz-components/index.d.ts +11 -3
  178. package/dist/cjs/biz-components/index.js +1 -1
  179. package/dist/cjs/biz-components/index.js.map +3 -3
  180. package/dist/cjs/components/breadcrumb.d.ts +12 -0
  181. package/dist/cjs/components/breadcrumb.js +2 -0
  182. package/dist/cjs/components/breadcrumb.js.map +7 -0
  183. package/dist/cjs/components/index.d.ts +2 -0
  184. package/dist/cjs/components/index.js +1 -1
  185. package/dist/cjs/components/index.js.map +3 -3
  186. package/dist/cjs/components/input-number.d.ts +22 -0
  187. package/dist/cjs/components/input-number.js +1 -1
  188. package/dist/cjs/components/input-number.js.map +3 -3
  189. package/dist/cjs/components/input.d.ts +5 -0
  190. package/dist/cjs/components/input.js +1 -1
  191. package/dist/cjs/components/input.js.map +3 -3
  192. package/dist/cjs/components/tabs.js +1 -1
  193. package/dist/cjs/components/tabs.js.map +3 -3
  194. package/dist/cjs/components/toast.d.ts +25 -0
  195. package/dist/cjs/components/toast.js +2 -0
  196. package/dist/cjs/components/toast.js.map +7 -0
  197. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoriesProductGrid/index.d.ts +11 -0
  198. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoriesProductGrid/index.js +2 -0
  199. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoriesProductGrid/index.js.map +7 -0
  200. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/ProductCard.d.ts +23 -0
  201. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/ProductCard.js +2 -0
  202. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/ProductCard.js.map +7 -0
  203. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/index.d.ts +40 -0
  204. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/index.js +2 -0
  205. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/index.js.map +7 -0
  206. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/types.d.ts +107 -0
  207. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/types.js +1 -0
  208. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/types.js.map +7 -0
  209. package/dist/esm/biz-components/AccessoriesShelf/components/MainProductArea/index.d.ts +22 -0
  210. package/dist/esm/biz-components/AccessoriesShelf/components/MainProductArea/index.js +2 -0
  211. package/dist/esm/biz-components/AccessoriesShelf/components/MainProductArea/index.js.map +7 -0
  212. package/dist/esm/biz-components/AccessoriesShelf/components/PromoBanner/index.d.ts +10 -0
  213. package/dist/esm/biz-components/AccessoriesShelf/components/PromoBanner/index.js +2 -0
  214. package/dist/esm/biz-components/AccessoriesShelf/components/PromoBanner/index.js.map +7 -0
  215. package/dist/esm/biz-components/AccessoriesShelf/components/SectionHeader/index.d.ts +9 -0
  216. package/dist/esm/biz-components/AccessoriesShelf/components/SectionHeader/index.js +2 -0
  217. package/dist/esm/biz-components/AccessoriesShelf/components/SectionHeader/index.js.map +7 -0
  218. package/dist/esm/biz-components/AccessoriesShelf/index.d.ts +7 -0
  219. package/dist/esm/biz-components/AccessoriesShelf/index.js +2 -0
  220. package/dist/esm/biz-components/AccessoriesShelf/index.js.map +7 -0
  221. package/dist/esm/biz-components/AccessoriesShelf/types.d.ts +16 -0
  222. package/dist/esm/biz-components/AccessoriesShelf/types.js +1 -0
  223. package/dist/esm/biz-components/AccessoriesShelf/types.js.map +7 -0
  224. package/dist/esm/biz-components/CartDetail/CartGiftSection/CartGiftSection.d.ts +14 -0
  225. package/dist/esm/biz-components/CartDetail/CartGiftSection/CartGiftSection.js +2 -0
  226. package/dist/esm/biz-components/CartDetail/CartGiftSection/CartGiftSection.js.map +7 -0
  227. package/dist/esm/biz-components/CartDetail/CartGiftSection/components/GiftConfirmDialog/GiftConfirmDialog.d.ts +11 -0
  228. package/dist/esm/biz-components/CartDetail/CartGiftSection/components/GiftConfirmDialog/GiftConfirmDialog.js +2 -0
  229. package/dist/esm/biz-components/CartDetail/CartGiftSection/components/GiftConfirmDialog/GiftConfirmDialog.js.map +7 -0
  230. package/dist/esm/biz-components/CartDetail/CartGiftSection/components/GiftConfirmDialog/index.d.ts +2 -0
  231. package/dist/esm/biz-components/CartDetail/CartGiftSection/components/GiftConfirmDialog/index.js +2 -0
  232. package/dist/esm/biz-components/CartDetail/CartGiftSection/components/GiftConfirmDialog/index.js.map +7 -0
  233. package/dist/esm/biz-components/CartDetail/CartGiftSection/components/GiftOptionRow/GiftOptionRow.d.ts +13 -0
  234. package/dist/esm/biz-components/CartDetail/CartGiftSection/components/GiftOptionRow/GiftOptionRow.js +2 -0
  235. package/dist/esm/biz-components/CartDetail/CartGiftSection/components/GiftOptionRow/GiftOptionRow.js.map +7 -0
  236. package/dist/esm/biz-components/CartDetail/CartGiftSection/components/GiftOptionRow/index.d.ts +2 -0
  237. package/dist/esm/biz-components/CartDetail/CartGiftSection/components/GiftOptionRow/index.js +2 -0
  238. package/dist/esm/biz-components/CartDetail/CartGiftSection/components/GiftOptionRow/index.js.map +7 -0
  239. package/dist/esm/biz-components/CartDetail/CartGiftSection/index.d.ts +2 -0
  240. package/dist/esm/biz-components/CartDetail/CartGiftSection/index.js +2 -0
  241. package/dist/esm/biz-components/CartDetail/CartGiftSection/index.js.map +7 -0
  242. package/dist/esm/biz-components/CartDetail/CartItemRow/CartItemRow.d.ts +54 -0
  243. package/dist/esm/biz-components/CartDetail/CartItemRow/CartItemRow.js +2 -0
  244. package/dist/esm/biz-components/CartDetail/CartItemRow/CartItemRow.js.map +7 -0
  245. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/CartItemGiftShipping.d.ts +4 -0
  246. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/CartItemGiftShipping.js +2 -0
  247. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/CartItemGiftShipping.js.map +7 -0
  248. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/index.d.ts +2 -0
  249. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/index.js +2 -0
  250. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/index.js.map +7 -0
  251. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/types.d.ts +9 -0
  252. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/types.js +1 -0
  253. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/types.js.map +7 -0
  254. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemInfo/CartItemInfo.d.ts +11 -0
  255. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemInfo/CartItemInfo.js +2 -0
  256. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemInfo/CartItemInfo.js.map +7 -0
  257. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemInfo/index.d.ts +2 -0
  258. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemInfo/index.js +2 -0
  259. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemInfo/index.js.map +7 -0
  260. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemKsp/CartItemKsp.d.ts +12 -0
  261. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemKsp/CartItemKsp.js +2 -0
  262. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemKsp/CartItemKsp.js.map +7 -0
  263. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemKsp/index.d.ts +2 -0
  264. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemKsp/index.js +2 -0
  265. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemKsp/index.js.map +7 -0
  266. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/CartItemRemoveConfirm.d.ts +4 -0
  267. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/CartItemRemoveConfirm.js +2 -0
  268. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/CartItemRemoveConfirm.js.map +7 -0
  269. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/index.d.ts +2 -0
  270. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/index.js +2 -0
  271. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/index.js.map +7 -0
  272. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/types.d.ts +11 -0
  273. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/types.js +1 -0
  274. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/types.js.map +7 -0
  275. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemShipping/CartItemShipping.d.ts +8 -0
  276. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemShipping/CartItemShipping.js +2 -0
  277. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemShipping/CartItemShipping.js.map +7 -0
  278. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemShipping/index.d.ts +2 -0
  279. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemShipping/index.js +2 -0
  280. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemShipping/index.js.map +7 -0
  281. package/dist/esm/biz-components/CartDetail/CartItemRow/index.d.ts +2 -0
  282. package/dist/esm/biz-components/CartDetail/CartItemRow/index.js +2 -0
  283. package/dist/esm/biz-components/CartDetail/CartItemRow/index.js.map +7 -0
  284. package/dist/esm/biz-components/CartDetail/CartPerksSection/CartPerksSection.d.ts +36 -0
  285. package/dist/esm/biz-components/CartDetail/CartPerksSection/CartPerksSection.js +2 -0
  286. package/dist/esm/biz-components/CartDetail/CartPerksSection/CartPerksSection.js.map +7 -0
  287. package/dist/esm/biz-components/CartDetail/CartPerksSection/index.d.ts +2 -0
  288. package/dist/esm/biz-components/CartDetail/CartPerksSection/index.js +2 -0
  289. package/dist/esm/biz-components/CartDetail/CartPerksSection/index.js.map +7 -0
  290. package/dist/esm/biz-components/CartDetail/CartPriceSummary/CartPriceSummary.d.ts +47 -0
  291. package/dist/esm/biz-components/CartDetail/CartPriceSummary/CartPriceSummary.js +2 -0
  292. package/dist/esm/biz-components/CartDetail/CartPriceSummary/CartPriceSummary.js.map +7 -0
  293. package/dist/esm/biz-components/CartDetail/CartPriceSummary/index.d.ts +2 -0
  294. package/dist/esm/biz-components/CartDetail/CartPriceSummary/index.js +2 -0
  295. package/dist/esm/biz-components/CartDetail/CartPriceSummary/index.js.map +7 -0
  296. package/dist/esm/biz-components/CartDetail/CartSummaryHeader/CartSummaryHeader.d.ts +26 -0
  297. package/dist/esm/biz-components/CartDetail/CartSummaryHeader/CartSummaryHeader.js +2 -0
  298. package/dist/esm/biz-components/CartDetail/CartSummaryHeader/CartSummaryHeader.js.map +7 -0
  299. package/dist/esm/biz-components/CartDetail/CartSummaryHeader/index.d.ts +2 -0
  300. package/dist/esm/biz-components/CartDetail/CartSummaryHeader/index.js +2 -0
  301. package/dist/esm/biz-components/CartDetail/CartSummaryHeader/index.js.map +7 -0
  302. package/dist/esm/biz-components/CartDetail/CartThirdParty/CartThirdParty.d.ts +10 -0
  303. package/dist/esm/biz-components/CartDetail/CartThirdParty/CartThirdParty.js +2 -0
  304. package/dist/esm/biz-components/CartDetail/CartThirdParty/CartThirdParty.js.map +7 -0
  305. package/dist/esm/biz-components/CartDetail/CartThirdParty/index.d.ts +2 -0
  306. package/dist/esm/biz-components/CartDetail/CartThirdParty/index.js +2 -0
  307. package/dist/esm/biz-components/CartDetail/CartThirdParty/index.js.map +7 -0
  308. package/dist/esm/biz-components/CartDetail/index.d.ts +16 -0
  309. package/dist/esm/biz-components/CartDetail/index.js +2 -0
  310. package/dist/esm/biz-components/CartDetail/index.js.map +7 -0
  311. package/dist/esm/biz-components/CartDetail/types.d.ts +132 -0
  312. package/dist/esm/biz-components/CartDetail/types.js +1 -0
  313. package/dist/esm/biz-components/CartDetail/types.js.map +7 -0
  314. package/dist/esm/biz-components/FeaturedBlogPosts/index.js +1 -1
  315. package/dist/esm/biz-components/FeaturedBlogPosts/index.js.map +2 -2
  316. package/dist/esm/biz-components/Ksp/index.d.ts +2 -0
  317. package/dist/esm/biz-components/Ksp/index.js +1 -1
  318. package/dist/esm/biz-components/Ksp/index.js.map +3 -3
  319. package/dist/esm/biz-components/Listing/BizProductProvider.d.ts +13 -9
  320. package/dist/esm/biz-components/Listing/BizProductProvider.js +1 -1
  321. package/dist/esm/biz-components/Listing/BizProductProvider.js.map +3 -3
  322. package/dist/esm/biz-components/Listing/components/CartActionButtons/index.d.ts +9 -1
  323. package/dist/esm/biz-components/Listing/components/CartActionButtons/index.js +1 -1
  324. package/dist/esm/biz-components/Listing/components/CartActionButtons/index.js.map +3 -3
  325. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.js +4 -4
  326. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.js.map +3 -3
  327. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefits/index.js +1 -1
  328. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefits/index.js.map +3 -3
  329. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +1 -0
  330. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js +1 -1
  331. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js.map +3 -3
  332. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/types.d.ts +48 -0
  333. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/types.js +1 -0
  334. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/types.js.map +7 -0
  335. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductCoupon/index.d.ts +1 -1
  336. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductCoupon/index.js +1 -1
  337. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductCoupon/index.js.map +3 -3
  338. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.d.ts +0 -2
  339. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.js +1 -1
  340. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.js.map +3 -3
  341. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFunctionFreeGift/index.d.ts +3 -0
  342. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFunctionFreeGift/index.js +2 -0
  343. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFunctionFreeGift/index.js.map +7 -0
  344. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFunctionFreeGift/types.d.ts +115 -0
  345. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFunctionFreeGift/types.js +1 -0
  346. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFunctionFreeGift/types.js.map +7 -0
  347. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.js +1 -1
  348. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.js.map +3 -3
  349. package/dist/esm/biz-components/Listing/components/PurchaseBar/ProductActions/index.js +1 -1
  350. package/dist/esm/biz-components/Listing/components/PurchaseBar/ProductActions/index.js.map +3 -3
  351. package/dist/esm/biz-components/Listing/components/index.d.ts +0 -1
  352. package/dist/esm/biz-components/Listing/components/index.js +1 -1
  353. package/dist/esm/biz-components/Listing/components/index.js.map +2 -2
  354. package/dist/esm/biz-components/Listing/hooks/useBenefits.d.ts +8 -2
  355. package/dist/esm/biz-components/Listing/hooks/useBenefits.js +1 -1
  356. package/dist/esm/biz-components/Listing/hooks/useBenefits.js.map +3 -3
  357. package/dist/esm/biz-components/Listing/types/product.d.ts +0 -21
  358. package/dist/esm/biz-components/Listing/types/product.js.map +1 -1
  359. package/dist/esm/biz-components/NotifyMeDialog/NotifyMeDialog.d.ts +7 -0
  360. package/dist/esm/biz-components/NotifyMeDialog/NotifyMeDialog.js +2 -0
  361. package/dist/esm/biz-components/NotifyMeDialog/NotifyMeDialog.js.map +7 -0
  362. package/dist/esm/biz-components/NotifyMeDialog/index.d.ts +2 -0
  363. package/dist/esm/biz-components/NotifyMeDialog/index.js +2 -0
  364. package/dist/esm/biz-components/NotifyMeDialog/index.js.map +7 -0
  365. package/dist/esm/biz-components/NotifyMeDialog/types.d.ts +111 -0
  366. package/dist/esm/biz-components/NotifyMeDialog/types.js +1 -0
  367. package/dist/esm/biz-components/NotifyMeDialog/types.js.map +7 -0
  368. package/dist/esm/biz-components/ShelfDisplay/index.js +1 -1
  369. package/dist/esm/biz-components/ShelfDisplay/index.js.map +3 -3
  370. package/dist/esm/biz-components/ShelfDisplay/shelfDisplayItem.js +1 -1
  371. package/dist/esm/biz-components/ShelfDisplay/shelfDisplayItem.js.map +2 -2
  372. package/dist/esm/biz-components/index.d.ts +11 -3
  373. package/dist/esm/biz-components/index.js +1 -1
  374. package/dist/esm/biz-components/index.js.map +3 -3
  375. package/dist/esm/components/breadcrumb.d.ts +12 -0
  376. package/dist/esm/components/breadcrumb.js +2 -0
  377. package/dist/esm/components/breadcrumb.js.map +7 -0
  378. package/dist/esm/components/index.d.ts +2 -0
  379. package/dist/esm/components/index.js +1 -1
  380. package/dist/esm/components/index.js.map +3 -3
  381. package/dist/esm/components/input-number.d.ts +22 -0
  382. package/dist/esm/components/input-number.js +1 -1
  383. package/dist/esm/components/input-number.js.map +3 -3
  384. package/dist/esm/components/input.d.ts +5 -0
  385. package/dist/esm/components/input.js +1 -1
  386. package/dist/esm/components/input.js.map +3 -3
  387. package/dist/esm/components/tabs.js +1 -1
  388. package/dist/esm/components/tabs.js.map +3 -3
  389. package/dist/esm/components/toast.d.ts +25 -0
  390. package/dist/esm/components/toast.js +2 -0
  391. package/dist/esm/components/toast.js.map +7 -0
  392. package/package.json +1 -1
  393. package/style.css +338 -0
  394. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/index.d.ts +0 -2
  395. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/index.js +0 -2
  396. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/index.js.map +0 -7
  397. package/dist/cjs/biz-components/Listing/components/ProductCard/index.d.ts +0 -2
  398. package/dist/cjs/biz-components/Listing/components/ProductCard/index.js +0 -2
  399. package/dist/cjs/biz-components/Listing/components/ProductCard/index.js.map +0 -7
  400. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/index.d.ts +0 -2
  401. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/index.js +0 -2
  402. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/index.js.map +0 -7
  403. package/dist/esm/biz-components/Listing/components/ProductCard/index.d.ts +0 -2
  404. package/dist/esm/biz-components/Listing/components/ProductCard/index.js +0 -2
  405. package/dist/esm/biz-components/Listing/components/ProductCard/index.js.map +0 -7
@@ -1,2 +1,2 @@
1
- "use strict";var O=Object.create;var u=Object.defineProperty;var _=Object.getOwnPropertyDescriptor;var j=Object.getOwnPropertyNames;var q=Object.getPrototypeOf,z=Object.prototype.hasOwnProperty;var U=(t,e)=>{for(var o in e)u(t,o,{get:e[o],enumerable:!0})},h=(t,e,o,c)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of j(e))!z.call(t,n)&&n!==o&&u(t,n,{get:()=>e[n],enumerable:!(c=_(e,n))||c.enumerable});return t};var W=(t,e,o)=>(o=t!=null?O(q(t)):{},h(e||!t||!t.__esModule?u(o,"default",{value:t,enumerable:!0}):o,t)),$=t=>h(u({},"__esModule",{value:!0}),t);var I={};U(I,{default:()=>H});module.exports=$(I);var a=require("react/jsx-runtime"),l=require("../../../../../components/index.js"),w=require("../../../../AiuiProvider/index.js"),S=require("../../../BizProductProvider.js"),b=require("react"),i=require("../../../utils/index.js"),f=require("../../../utils/textFormat.js"),A=require("../../../hooks/useBenefits.js"),P=W(require("../../CartActionButtons/index.js"));const G=({totalSavingsSlot:t}={})=>{const{copyWriting:e,locale:o="us",trackingData:c,currencyCode:n}=(0,w.useAiuiContext)(),{variant:r,finalPrice:T,totalSavings:d,isLogin:p,comparePrice:k,onAddToCart:D,onBuyNow:B,savingDetail:x,addToCartLoading:F,buyNowLoading:M,discount:J,memberFunctionResult:g}=(0,S.useBizProductContext)(),L=(0,A.useBenefits)({variant:r}),{commonCoupon:m,memberDiscount:s}=L,E=c?.showComparePrice??!0,R=(0,b.useMemo)(()=>(0,f.replaceTemplate)(e?.totalSavings||"",{amount:(0,i.formatPrice)({amount:d,currencyCode:r.price.currencyCode,locale:n==="CAD"?"us":o||"us"})}),[e?.totalSavings,d,r.price.currencyCode,o]),C=(0,b.useMemo)(()=>{if(!e?.unlockedSaving)return;const y=m?.enable?Number(m?.config?.fixed_value||0):0,v=s?.enable?s.config?.amount??0:0,N=Math.round((g?.withoutCouponMaxMemberTotalSave?Math.max(v,y):v+y)*100)/100;if(!(N<=0))return(0,f.replaceTemplate)(e.unlockedSaving,{amount:(0,i.formatPrice)({amount:N,currencyCode:r.price.currencyCode,locale:n==="CAD"?"us":o||"us"})})},[e?.unlockedSaving,m?.enable,m?.config?.fixed_value,s?.enable,s?.config?.amount,g,r.price.currencyCode,o]);return(0,a.jsxs)(l.Container,{childClassName:"tablet:flex tablet:justify-end tablet:gap-8 laptop-md:px-0 desktop:px-0 tablet:items-center tablet:gap-4",className:"laptop-md:border-none laptop-md:py-0 border-t border-[#E4E5E6] bg-white py-3",children:[r.availableForSale?(0,a.jsxs)("div",{className:"laptop-md:items-end flex flex-col justify-between",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[(0,a.jsx)(l.Text,{className:"tablet:text-2xl laptop-md:text-xl lg-desktop:text-2xl text-xl font-bold !leading-[1.2]",html:(0,i.formatPrice)({amount:parseFloat(T.toFixed(2)),currencyCode:r.price.currencyCode,locale:n==="CAD"?"us":o||"us"})}),E&&(d>0||x?.member>0&&p)&&(0,a.jsx)(l.Text,{className:"tablet:text-2xl laptop-md:text-xl lg-desktop:text-2xl text-xl font-bold !leading-[1.2] text-[#4A4C56] line-through",html:(0,i.formatPrice)({amount:k,currencyCode:r.price.currencyCode,locale:n==="CAD"?"us":o||"us"})}),x?.member>0&&p&&(0,a.jsx)(l.Text,{className:"bg-brand-0 rounded px-1 py-[2px] text-sm font-bold text-white",html:e?.memberPrice||"Member Price"})]}),t||(d>0||x?.member>0&&p?(0,a.jsx)(l.Text,{className:"text-brand-0 tablet:text-end laptop-md:text-xl lg-desktop:text-2xl whitespace-nowrap text-[18px] font-bold !leading-[1.2]",html:`${R}`}):C?(0,a.jsx)(l.Text,{className:"text-info-quaternary tablet:text-end laptop-md:text-xl lg-desktop:text-2xl whitespace-nowrap text-[18px] font-bold !leading-[1.2]",html:C}):null)]}):(0,a.jsx)(l.Text,{className:"text-[20px] font-bold text-[#999999]",html:e?.soldOut??"Sold Out"}),(0,a.jsx)("div",{className:"tablet:mt-0 mt-2 flex items-center gap-2",children:(0,a.jsx)(P.default,{availableForSale:r.availableForSale,addToCartText:e?.addToCart??"Add to Cart",buyNowText:e?.buyNow??"Buy Now",addToCartLoading:F,buyNowLoading:M,onAddToCart:D,onBuyNow:B})})]})};var H=G;
1
+ "use strict";var j=Object.create;var u=Object.defineProperty;var q=Object.getOwnPropertyDescriptor;var z=Object.getOwnPropertyNames;var U=Object.getPrototypeOf,W=Object.prototype.hasOwnProperty;var $=(t,e)=>{for(var o in e)u(t,o,{get:e[o],enumerable:!0})},h=(t,e,o,c)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of z(e))!W.call(t,n)&&n!==o&&u(t,n,{get:()=>e[n],enumerable:!(c=q(e,n))||c.enumerable});return t};var G=(t,e,o)=>(o=t!=null?j(U(t)):{},h(e||!t||!t.__esModule?u(o,"default",{value:t,enumerable:!0}):o,t)),H=t=>h(u({},"__esModule",{value:!0}),t);var K={};$(K,{default:()=>J});module.exports=H(K);var a=require("react/jsx-runtime"),r=require("../../../../../components/index.js"),w=require("../../../../AiuiProvider/index.js"),S=require("../../../BizProductProvider.js"),b=require("react"),i=require("../../../utils/index.js"),f=require("../../../utils/textFormat.js"),T=require("../../../hooks/useBenefits.js"),k=G(require("../../CartActionButtons/index.js"));const I=({totalSavingsSlot:t}={})=>{const{copyWriting:e,locale:o="us",trackingData:c,currencyCode:n}=(0,w.useAiuiContext)(),{variant:l,finalPrice:A,totalSavings:d,isLogin:p,comparePrice:M,onAddToCart:P,onBuyNow:D,savingDetail:x,addToCartLoading:B,buyNowLoading:F,notifyMeMode:L,onNotifyMeClick:E,discount:Q,memberFunctionResult:g}=(0,S.useBizProductContext)(),R=(0,T.useBenefits)({variant:l}),{commonCoupon:m,memberDiscount:s}=R,O=c?.showComparePrice??!0,_=(0,b.useMemo)(()=>(0,f.replaceTemplate)(e?.totalSavings||"",{amount:(0,i.formatPrice)({amount:d,currencyCode:l.price.currencyCode,locale:n==="CAD"?"us":o||"us"})}),[e?.totalSavings,d,l.price.currencyCode,o]),C=(0,b.useMemo)(()=>{if(!e?.unlockedSaving)return;const y=m?.enable?Number(m?.config?.fixed_value||0):0,v=s?.enable?s.config?.amount??0:0,N=Math.round((g?.withoutCouponMaxMemberTotalSave?Math.max(v,y):v+y)*100)/100;if(!(N<=0))return(0,f.replaceTemplate)(e.unlockedSaving,{amount:(0,i.formatPrice)({amount:N,currencyCode:l.price.currencyCode,locale:n==="CAD"?"us":o||"us"})})},[e?.unlockedSaving,m?.enable,m?.config?.fixed_value,s?.enable,s?.config?.amount,g,l.price.currencyCode,o]);return(0,a.jsxs)(r.Container,{childClassName:"tablet:flex tablet:justify-end tablet:gap-8 laptop-md:px-0 desktop:px-0 tablet:items-center tablet:gap-4",className:"laptop-md:border-none laptop-md:py-0 border-t border-[#E4E5E6] bg-white py-3",children:[l.availableForSale?(0,a.jsxs)("div",{className:"laptop-md:items-end flex flex-col justify-between",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[(0,a.jsx)(r.Text,{className:"tablet:text-2xl laptop-md:text-xl lg-desktop:text-2xl text-xl font-bold !leading-[1.2]",html:(0,i.formatPrice)({amount:parseFloat(A.toFixed(2)),currencyCode:l.price.currencyCode,locale:n==="CAD"?"us":o||"us"})}),O&&(d>0||x?.member>0&&p)&&(0,a.jsx)(r.Text,{className:"tablet:text-2xl laptop-md:text-xl lg-desktop:text-2xl text-xl font-bold !leading-[1.2] text-[#4A4C56] line-through",html:(0,i.formatPrice)({amount:M,currencyCode:l.price.currencyCode,locale:n==="CAD"?"us":o||"us"})}),x?.member>0&&p&&(0,a.jsx)(r.Text,{className:"bg-brand-0 rounded px-1 py-[2px] text-sm font-bold text-white",html:e?.memberPrice||"Member Price"})]}),t||(d>0||x?.member>0&&p?(0,a.jsx)(r.Text,{className:"text-brand-0 tablet:text-end laptop-md:text-xl lg-desktop:text-2xl whitespace-nowrap text-[18px] font-bold !leading-[1.2]",html:`${_}`}):C?(0,a.jsx)(r.Text,{className:"text-info-quaternary tablet:text-end laptop-md:text-xl lg-desktop:text-2xl whitespace-nowrap text-[18px] font-bold !leading-[1.2]",html:C}):null)]}):(0,a.jsx)(r.Text,{className:"text-[20px] font-bold text-[#999999]",html:e?.soldOut??"Sold Out"}),(0,a.jsx)("div",{className:"tablet:mt-0 mt-2 flex items-center gap-2",children:(0,a.jsx)(k.default,{mode:L,availableForSale:l.availableForSale,addToCartText:e?.addToCart??"Add to Cart",buyNowText:e?.buyNow??"Buy Now",addToCartLoading:B,buyNowLoading:F,onAddToCart:P,onBuyNow:D,onNotifyMeClick:E,notifyMeText:e?.notifyMe,notifyMeClassName:"w-full"})})]})};var J=I;
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/biz-components/Listing/components/PurchaseBar/ProductActions/index.tsx"],
4
- "sourcesContent": ["import { Text, Container } from '../../../../../components/index.js'\nimport { useAiuiContext } from '../../../../AiuiProvider/index.js'\nimport { useBizProductContext } from '../../../BizProductProvider.js'\nimport { useMemo, type ReactNode } from 'react'\nimport { formatPrice } from '../../../utils/index.js'\nimport { replaceTemplate } from '../../../utils/textFormat.js'\nimport { useBenefits } from '../../../hooks/useBenefits.js'\nimport CartActionButtons from '../../CartActionButtons/index.js'\n\nexport interface ProductActionsProps {\n /** \u81EA\u5B9A\u4E49\u603B\u8282\u7701\u7EC4\u4EF6\uFF0C\u4F20\u5165\u65F6\u4F1A\u66FF\u4EE3\u9ED8\u8BA4\u7684 totalSavings \u663E\u793A */\n totalSavingsSlot?: ReactNode\n}\n\nconst ProductActions = ({ totalSavingsSlot }: ProductActionsProps = {}) => {\n const { copyWriting, locale = 'us', trackingData, currencyCode } = useAiuiContext()\n const {\n variant,\n finalPrice,\n totalSavings,\n isLogin,\n comparePrice,\n onAddToCart,\n onBuyNow,\n savingDetail,\n addToCartLoading,\n buyNowLoading,\n discount,\n memberFunctionResult,\n } = useBizProductContext()\n const benefits = useBenefits({ variant })\n const { commonCoupon, memberDiscount } = benefits\n\n /** \u662F\u5426\u663E\u793A\u539F\u4EF7\uFF08\u5212\u7EBF\u4EF7\uFF09\uFF0C\u9ED8\u8BA4\u663E\u793A */\n const showComparePrice = trackingData?.showComparePrice ?? true\n\n const totalSavingsText = useMemo(() => {\n return replaceTemplate(copyWriting?.totalSavings || '', {\n amount: formatPrice({\n amount: totalSavings,\n currencyCode: variant.price.currencyCode,\n locale: currencyCode === 'CAD' ? 'us' : locale || 'us',\n }),\n })\n }, [copyWriting?.totalSavings, totalSavings, variant.price.currencyCode, locale])\n\n const unlockedSavingText = useMemo(() => {\n if (!copyWriting?.unlockedSaving) return undefined\n\n const couponSaving = commonCoupon?.enable ? Number(commonCoupon?.config?.fixed_value || 0) : 0\n const memberSaving = memberDiscount?.enable ? (memberDiscount.config?.amount ?? 0) : 0\n\n // \u4E0D\u53EF\u53E0\u52A0\u65F6\u53D6\u4F1A\u5458\u4EF7\u4E0E code \u6298\u6263\u7684\u6700\u5927\u503C\uFF0C\u53EF\u53E0\u52A0\u65F6\u53D6\u4E8C\u8005\u4E4B\u548C\n const totalUnlocked = Math.round((\n memberFunctionResult?.withoutCouponMaxMemberTotalSave\n ? Math.max(memberSaving, couponSaving)\n : memberSaving + couponSaving\n ) * 100) / 100\n\n if (totalUnlocked <= 0) return undefined\n\n return replaceTemplate(copyWriting.unlockedSaving, {\n amount: formatPrice({\n amount: totalUnlocked,\n currencyCode: variant.price.currencyCode,\n locale: currencyCode === 'CAD' ? 'us' : locale || 'us',\n }),\n })\n }, [\n copyWriting?.unlockedSaving,\n commonCoupon?.enable,\n commonCoupon?.config?.fixed_value,\n memberDiscount?.enable,\n memberDiscount?.config?.amount,\n memberFunctionResult,\n variant.price.currencyCode,\n locale,\n ])\n\n return (\n <Container\n childClassName=\"tablet:flex tablet:justify-end tablet:gap-8 laptop-md:px-0 desktop:px-0 tablet:items-center tablet:gap-4\"\n className=\"laptop-md:border-none laptop-md:py-0 border-t border-[#E4E5E6] bg-white py-3\"\n >\n {variant.availableForSale ? (\n <div className=\"laptop-md:items-end flex flex-col justify-between\">\n <div className=\"flex items-center gap-1\">\n <Text\n className=\"tablet:text-2xl laptop-md:text-xl lg-desktop:text-2xl text-xl font-bold !leading-[1.2]\"\n html={formatPrice({\n amount: parseFloat(finalPrice.toFixed(2)),\n currencyCode: variant.price.currencyCode,\n locale: currencyCode === 'CAD' ? 'us' : locale || 'us',\n })}\n />\n {showComparePrice && (totalSavings > 0 || (savingDetail?.member > 0 && isLogin)) && (\n <Text\n className=\"tablet:text-2xl laptop-md:text-xl lg-desktop:text-2xl text-xl font-bold !leading-[1.2] text-[#4A4C56] line-through\"\n html={formatPrice({\n amount: comparePrice,\n currencyCode: variant.price.currencyCode,\n locale: currencyCode === 'CAD' ? 'us' : locale || 'us',\n })}\n />\n )}\n {savingDetail?.member > 0 && isLogin && (\n <Text\n className=\"bg-brand-0 rounded px-1 py-[2px] text-sm font-bold text-white\"\n html={copyWriting?.memberPrice || 'Member Price'}\n />\n )}\n </div>\n {totalSavingsSlot ||\n (totalSavings > 0 || (savingDetail?.member > 0 && isLogin) ? (\n <Text\n className=\"text-brand-0 tablet:text-end laptop-md:text-xl lg-desktop:text-2xl whitespace-nowrap text-[18px] font-bold !leading-[1.2]\"\n html={`${totalSavingsText}`}\n />\n ) : unlockedSavingText ? (\n <Text\n className=\"text-info-quaternary tablet:text-end laptop-md:text-xl lg-desktop:text-2xl whitespace-nowrap text-[18px] font-bold !leading-[1.2]\"\n html={unlockedSavingText}\n />\n ) : null)}\n </div>\n ) : (\n <Text className=\"text-[20px] font-bold text-[#999999]\" html={copyWriting?.soldOut ?? 'Sold Out'} />\n )}\n <div className=\"tablet:mt-0 mt-2 flex items-center gap-2\">\n <CartActionButtons\n availableForSale={variant.availableForSale}\n addToCartText={copyWriting?.addToCart ?? 'Add to Cart'}\n buyNowText={copyWriting?.buyNow ?? 'Buy Now'}\n addToCartLoading={addToCartLoading}\n buyNowLoading={buyNowLoading}\n onAddToCart={onAddToCart}\n onBuyNow={onBuyNow}\n />\n </div>\n </Container>\n )\n}\n\nexport default ProductActions\n"],
5
- "mappings": "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",
6
- "names": ["ProductActions_exports", "__export", "ProductActions_default", "__toCommonJS", "import_jsx_runtime", "import_components", "import_AiuiProvider", "import_BizProductProvider", "import_react", "import_utils", "import_textFormat", "import_useBenefits", "import_CartActionButtons", "ProductActions", "totalSavingsSlot", "copyWriting", "locale", "trackingData", "currencyCode", "variant", "finalPrice", "totalSavings", "isLogin", "comparePrice", "onAddToCart", "onBuyNow", "savingDetail", "addToCartLoading", "buyNowLoading", "discount", "memberFunctionResult", "benefits", "commonCoupon", "memberDiscount", "showComparePrice", "totalSavingsText", "unlockedSavingText", "couponSaving", "memberSaving", "totalUnlocked", "CartActionButtons"]
4
+ "sourcesContent": ["import { Text, Container } from '../../../../../components/index.js'\nimport { useAiuiContext } from '../../../../AiuiProvider/index.js'\nimport { useBizProductContext } from '../../../BizProductProvider.js'\nimport { useMemo, type ReactNode } from 'react'\nimport { formatPrice } from '../../../utils/index.js'\nimport { replaceTemplate } from '../../../utils/textFormat.js'\nimport { useBenefits } from '../../../hooks/useBenefits.js'\nimport CartActionButtons from '../../CartActionButtons/index.js'\n\nexport interface ProductActionsProps {\n /** \u81EA\u5B9A\u4E49\u603B\u8282\u7701\u7EC4\u4EF6\uFF0C\u4F20\u5165\u65F6\u4F1A\u66FF\u4EE3\u9ED8\u8BA4\u7684 totalSavings \u663E\u793A */\n totalSavingsSlot?: ReactNode\n}\n\nconst ProductActions = ({ totalSavingsSlot }: ProductActionsProps = {}) => {\n const { copyWriting, locale = 'us', trackingData, currencyCode } = useAiuiContext()\n const {\n variant,\n finalPrice,\n totalSavings,\n isLogin,\n comparePrice,\n onAddToCart,\n onBuyNow,\n savingDetail,\n addToCartLoading,\n buyNowLoading,\n notifyMeMode,\n onNotifyMeClick,\n discount,\n memberFunctionResult,\n } = useBizProductContext()\n const benefits = useBenefits({ variant })\n const { commonCoupon, memberDiscount } = benefits\n\n /** \u662F\u5426\u663E\u793A\u539F\u4EF7\uFF08\u5212\u7EBF\u4EF7\uFF09\uFF0C\u9ED8\u8BA4\u663E\u793A */\n const showComparePrice = trackingData?.showComparePrice ?? true\n\n const totalSavingsText = useMemo(() => {\n return replaceTemplate(copyWriting?.totalSavings || '', {\n amount: formatPrice({\n amount: totalSavings,\n currencyCode: variant.price.currencyCode,\n locale: currencyCode === 'CAD' ? 'us' : locale || 'us',\n }),\n })\n }, [copyWriting?.totalSavings, totalSavings, variant.price.currencyCode, locale])\n\n const unlockedSavingText = useMemo(() => {\n if (!copyWriting?.unlockedSaving) return undefined\n\n const couponSaving = commonCoupon?.enable ? Number(commonCoupon?.config?.fixed_value || 0) : 0\n const memberSaving = memberDiscount?.enable ? (memberDiscount.config?.amount ?? 0) : 0\n\n // \u4E0D\u53EF\u53E0\u52A0\u65F6\u53D6\u4F1A\u5458\u4EF7\u4E0E code \u6298\u6263\u7684\u6700\u5927\u503C\uFF0C\u53EF\u53E0\u52A0\u65F6\u53D6\u4E8C\u8005\u4E4B\u548C\n const totalUnlocked = Math.round((\n memberFunctionResult?.withoutCouponMaxMemberTotalSave\n ? Math.max(memberSaving, couponSaving)\n : memberSaving + couponSaving\n ) * 100) / 100\n\n if (totalUnlocked <= 0) return undefined\n\n return replaceTemplate(copyWriting.unlockedSaving, {\n amount: formatPrice({\n amount: totalUnlocked,\n currencyCode: variant.price.currencyCode,\n locale: currencyCode === 'CAD' ? 'us' : locale || 'us',\n }),\n })\n }, [\n copyWriting?.unlockedSaving,\n commonCoupon?.enable,\n commonCoupon?.config?.fixed_value,\n memberDiscount?.enable,\n memberDiscount?.config?.amount,\n memberFunctionResult,\n variant.price.currencyCode,\n locale,\n ])\n\n return (\n <Container\n childClassName=\"tablet:flex tablet:justify-end tablet:gap-8 laptop-md:px-0 desktop:px-0 tablet:items-center tablet:gap-4\"\n className=\"laptop-md:border-none laptop-md:py-0 border-t border-[#E4E5E6] bg-white py-3\"\n >\n {variant.availableForSale ? (\n <div className=\"laptop-md:items-end flex flex-col justify-between\">\n <div className=\"flex items-center gap-1\">\n <Text\n className=\"tablet:text-2xl laptop-md:text-xl lg-desktop:text-2xl text-xl font-bold !leading-[1.2]\"\n html={formatPrice({\n amount: parseFloat(finalPrice.toFixed(2)),\n currencyCode: variant.price.currencyCode,\n locale: currencyCode === 'CAD' ? 'us' : locale || 'us',\n })}\n />\n {showComparePrice && (totalSavings > 0 || (savingDetail?.member > 0 && isLogin)) && (\n <Text\n className=\"tablet:text-2xl laptop-md:text-xl lg-desktop:text-2xl text-xl font-bold !leading-[1.2] text-[#4A4C56] line-through\"\n html={formatPrice({\n amount: comparePrice,\n currencyCode: variant.price.currencyCode,\n locale: currencyCode === 'CAD' ? 'us' : locale || 'us',\n })}\n />\n )}\n {savingDetail?.member > 0 && isLogin && (\n <Text\n className=\"bg-brand-0 rounded px-1 py-[2px] text-sm font-bold text-white\"\n html={copyWriting?.memberPrice || 'Member Price'}\n />\n )}\n </div>\n {totalSavingsSlot ||\n (totalSavings > 0 || (savingDetail?.member > 0 && isLogin) ? (\n <Text\n className=\"text-brand-0 tablet:text-end laptop-md:text-xl lg-desktop:text-2xl whitespace-nowrap text-[18px] font-bold !leading-[1.2]\"\n html={`${totalSavingsText}`}\n />\n ) : unlockedSavingText ? (\n <Text\n className=\"text-info-quaternary tablet:text-end laptop-md:text-xl lg-desktop:text-2xl whitespace-nowrap text-[18px] font-bold !leading-[1.2]\"\n html={unlockedSavingText}\n />\n ) : null)}\n </div>\n ) : (\n <Text className=\"text-[20px] font-bold text-[#999999]\" html={copyWriting?.soldOut ?? 'Sold Out'} />\n )}\n <div className=\"tablet:mt-0 mt-2 flex items-center gap-2\">\n <CartActionButtons\n mode={notifyMeMode}\n availableForSale={variant.availableForSale}\n addToCartText={copyWriting?.addToCart ?? 'Add to Cart'}\n buyNowText={copyWriting?.buyNow ?? 'Buy Now'}\n addToCartLoading={addToCartLoading}\n buyNowLoading={buyNowLoading}\n onAddToCart={onAddToCart}\n onBuyNow={onBuyNow}\n onNotifyMeClick={onNotifyMeClick}\n notifyMeText={copyWriting?.notifyMe}\n notifyMeClassName=\"w-full\"\n />\n </div>\n </Container>\n )\n}\n\nexport default ProductActions\n"],
5
+ "mappings": "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",
6
+ "names": ["ProductActions_exports", "__export", "ProductActions_default", "__toCommonJS", "import_jsx_runtime", "import_components", "import_AiuiProvider", "import_BizProductProvider", "import_react", "import_utils", "import_textFormat", "import_useBenefits", "import_CartActionButtons", "ProductActions", "totalSavingsSlot", "copyWriting", "locale", "trackingData", "currencyCode", "variant", "finalPrice", "totalSavings", "isLogin", "comparePrice", "onAddToCart", "onBuyNow", "savingDetail", "addToCartLoading", "buyNowLoading", "notifyMeMode", "onNotifyMeClick", "discount", "memberFunctionResult", "benefits", "commonCoupon", "memberDiscount", "showComparePrice", "totalSavingsText", "unlockedSavingText", "couponSaving", "memberSaving", "totalUnlocked", "CartActionButtons"]
7
7
  }
@@ -1,3 +1,2 @@
1
1
  export { default as PurchaseBar } from './PurchaseBar/index.js';
2
2
  export { default as ProductActions } from './PurchaseBar/ProductActions/index.js';
3
- export { default as ProductCard } from './ProductCard/index.js';
@@ -1,2 +1,2 @@
1
- "use strict";var m=Object.create;var e=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var P=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty;var i=(r,a)=>{for(var o in a)e(r,o,{get:a[o],enumerable:!0})},u=(r,a,o,f)=>{if(a&&typeof a=="object"||typeof a=="function")for(let t of x(a))!h.call(r,t)&&t!==o&&e(r,t,{get:()=>a[t],enumerable:!(f=p(a,t))||f.enumerable});return r};var d=(r,a,o)=>(o=r!=null?m(P(r)):{},u(a||!r||!r.__esModule?e(o,"default",{value:r,enumerable:!0}):o,r)),n=r=>u(e({},"__esModule",{value:!0}),r);var A={};i(A,{ProductActions:()=>c.default,ProductCard:()=>l.default,PurchaseBar:()=>s.default});module.exports=n(A);var s=d(require("./PurchaseBar/index.js")),c=d(require("./PurchaseBar/ProductActions/index.js")),l=d(require("./ProductCard/index.js"));
1
+ "use strict";var l=Object.create;var e=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var x=Object.getPrototypeOf,P=Object.prototype.hasOwnProperty;var h=(r,a)=>{for(var o in a)e(r,o,{get:a[o],enumerable:!0})},s=(r,a,o,f)=>{if(a&&typeof a=="object"||typeof a=="function")for(let t of p(a))!P.call(r,t)&&t!==o&&e(r,t,{get:()=>a[t],enumerable:!(f=m(a,t))||f.enumerable});return r};var u=(r,a,o)=>(o=r!=null?l(x(r)):{},s(a||!r||!r.__esModule?e(o,"default",{value:r,enumerable:!0}):o,r)),i=r=>s(e({},"__esModule",{value:!0}),r);var n={};h(n,{ProductActions:()=>d.default,PurchaseBar:()=>c.default});module.exports=i(n);var c=u(require("./PurchaseBar/index.js")),d=u(require("./PurchaseBar/ProductActions/index.js"));
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/biz-components/Listing/components/index.ts"],
4
- "sourcesContent": ["export { default as PurchaseBar } from './PurchaseBar/index.js'\nexport { default as ProductActions } from './PurchaseBar/ProductActions/index.js'\nexport { default as ProductCard } from './ProductCard/index.js'\n"],
5
- "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,mGAAAE,EAAAF,GAAA,IAAAG,EAAuC,qCACvCC,EAA0C,oDAC1CC,EAAuC",
6
- "names": ["components_exports", "__export", "__toCommonJS", "import_PurchaseBar", "import_ProductActions", "import_ProductCard"]
4
+ "sourcesContent": ["export { default as PurchaseBar } from './PurchaseBar/index.js'\nexport { default as ProductActions } from './PurchaseBar/ProductActions/index.js'\n\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,yEAAAE,EAAAF,GAAA,IAAAG,EAAuC,qCACvCC,EAA0C",
6
+ "names": ["components_exports", "__export", "__toCommonJS", "import_PurchaseBar", "import_ProductActions"]
7
7
  }
@@ -1,4 +1,6 @@
1
- import type { ProductVariant, FreeGift, Bundle } from '../types/product';
1
+ import type { ProductVariant, FreeGift } from '../types/product';
2
+ import type { ProductFunctionFreeGiftProps } from '../components/ProductCard/ProductDetail/ProductFunctionFreeGift/types.js';
3
+ import type { ProductBundleProps } from '../components/ProductCard/ProductDetail/ProductBundle/types.js';
2
4
  interface BenefitsParams {
3
5
  variant: ProductVariant;
4
6
  }
@@ -15,10 +17,14 @@ interface BenefitsResult {
15
17
  * 买赠
16
18
  */
17
19
  freeGift: BenefitItemConfig<FreeGift>;
20
+ /**
21
+ * function买赠
22
+ */
23
+ functionFreeGift: BenefitItemConfig<ProductFunctionFreeGiftProps>;
18
24
  /**
19
25
  * 捆绑折扣
20
26
  */
21
- bundle: BenefitItemConfig<Bundle>;
27
+ bundle: BenefitItemConfig<ProductBundleProps>;
22
28
  /**
23
29
  * 会员价
24
30
  */
@@ -1,2 +1,2 @@
1
- "use strict";var u=Object.defineProperty;var R=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var G=Object.prototype.hasOwnProperty;var P=(e,n)=>{for(var i in n)u(e,i,{get:n[i],enumerable:!0})},S=(e,n,i,t)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of x(n))!G.call(e,o)&&o!==i&&u(e,o,{get:()=>n[o],enumerable:!(t=R(n,o))||t.enumerable});return e};var v=e=>S(u({},"__esModule",{value:!0}),e);var y={};P(y,{useBenefits:()=>w});module.exports=v(y);var m=require("../BizProductProvider.js"),p=require("../utils/helper.js"),d=require("./useDiscountEnable.js"),g=require("../../AiuiProvider/index.js");const w=({variant:e})=>{const{coupon:n,product:i,bundle:t,freeGift:o,memberFunctionResult:f,creditsRedemption:b,profile:B}=(0,m.useBizProductContext)(),{amount:c}=b??{},{trackingData:l}=(0,g.useAiuiContext)(),h=Math.max(f?.withCouponMemberTotalSave??0,f?.withoutCouponMaxMemberTotalSave??0),r=(0,d.useDiscountEnable)({profile:B,variant:e,memberFunctionResult:f,coupon:n}),C=!!(l?.paidShipping&&e.requiresShipping&&!e?.metafields?.global?.presell&&!e?.metafields?.global?.HideShipping),a=l?.freeGift,D=a?.excludeProducts?.map(s=>typeof s=="object"&&"sku"in s?s.sku:s)??[],I=l?.levelDiscount&&(0,p.checkItemAvailableForProduct)({product:i,variant:e,item:l?.levelDiscount});return{commonCoupon:{enable:r.showCommonCoupon&&!!n,config:n??{}},freeGift:{enable:!!o&&!!o?.giftList?.length,config:o},bundle:{enable:!!t&&!!t?.bundleList?.length&&Math.max(...t?.bundleList?.map(s=>s.savings??0)??[])>0,config:t},memberDiscount:{enable:r.showMemberDiscount,config:{amount:h,description:f?.labels?.[0]}},creditsRedemption:{enable:!!c&&c>0,config:{amount:c,label:l?.creditsRedemptionLabel}},paidShipping:{enable:C,config:{}},fullGift:{enable:!!(a&&!D.includes(e.sku)),config:a??{}},levelDiscount:{enable:!!I,config:l?.levelDiscount??{}}}};
1
+ "use strict";var a=Object.defineProperty;var F=Object.getOwnPropertyDescriptor;var I=Object.getOwnPropertyNames;var y=Object.prototype.hasOwnProperty;var R=(e,o)=>{for(var n in o)a(e,n,{get:o[n],enumerable:!0})},x=(e,o,n,i)=>{if(o&&typeof o=="object"||typeof o=="function")for(let t of I(o))!y.call(e,t)&&t!==n&&a(e,t,{get:()=>o[t],enumerable:!(i=F(o,t))||i.enumerable});return e};var S=e=>x(a({},"__esModule",{value:!0}),e);var k={};R(k,{useBenefits:()=>w});module.exports=S(k);var p=require("../BizProductProvider.js"),d=require("../utils/helper.js"),g=require("./useDiscountEnable.js"),b=require("../../AiuiProvider/index.js");const w=({variant:e})=>{const{coupon:o,product:n,bundle:i,freeGift:t,functionFreeGift:l,memberFunctionResult:r,creditsRedemption:B,profile:P}=(0,p.useBizProductContext)(),{amount:s}=B??{},{trackingData:c}=(0,b.useAiuiContext)(),C=Math.max(r?.withCouponMemberTotalSave??0,r?.withoutCouponMaxMemberTotalSave??0),m=(0,g.useDiscountEnable)({profile:P,variant:e,memberFunctionResult:r,coupon:o}),h=!!(c?.paidShipping&&e.requiresShipping&&!e?.metafields?.global?.presell&&!e?.metafields?.global?.HideShipping),u=c?.freeGift,G=u?.excludeProducts?.map(f=>typeof f=="object"&&"sku"in f?f.sku:f)??[],D=c?.levelDiscount&&(0,d.checkItemAvailableForProduct)({product:n,variant:e,item:c?.levelDiscount});return{commonCoupon:{enable:m.showCommonCoupon&&!!o,config:o??{}},freeGift:{enable:!!t&&!!t?.giftList?.length,config:t},functionFreeGift:{enable:!!l&&!!l?.giftItems?.length,config:l},bundle:{enable:!!i&&!!i?.bundleOptions?.length,config:i},memberDiscount:{enable:m.showMemberDiscount,config:{amount:C,description:r?.labels?.[0]}},creditsRedemption:{enable:!!s&&s>0,config:{amount:s,label:c?.creditsRedemptionLabel}},paidShipping:{enable:h,config:{}},fullGift:{enable:!!(u&&!G.includes(e.sku)),config:u??{}},levelDiscount:{enable:!!D,config:c?.levelDiscount??{}}}};
2
2
  //# sourceMappingURL=useBenefits.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/biz-components/Listing/hooks/useBenefits.ts"],
4
- "sourcesContent": ["import { useBizProductContext } from '../BizProductProvider.js'\nimport type { ProductVariant, FreeGift, Bundle } from '../types/product'\nimport { checkItemAvailableForProduct } from '../utils/helper.js'\nimport { useDiscountEnable } from './useDiscountEnable.js'\n\nimport { useAiuiContext } from '../../AiuiProvider/index.js'\n\ninterface BenefitsParams {\n variant: ProductVariant\n}\n\ninterface BenefitItemConfig<T extends Record<string, any> = Record<string, any>> {\n enable: boolean\n config?: T // \u539F\u59CB\u914D\u7F6E\n}\n\ninterface BenefitsResult {\n /**\n * \u901A\u7528\u4F18\u60E0\u5238\n */\n commonCoupon?: BenefitItemConfig\n /**\n * \u4E70\u8D60\n */\n freeGift: BenefitItemConfig<FreeGift>\n /**\n * \u6346\u7ED1\u6298\u6263\n */\n bundle: BenefitItemConfig<Bundle>\n /**\n * \u4F1A\u5458\u4EF7\n */\n memberDiscount: BenefitItemConfig\n /**\n * \u79EF\u5206\u62B5\u73B0\n */\n creditsRedemption: BenefitItemConfig\n /**\n * \u9AD8\u6807\u7269\u6D41\n */\n paidShipping: BenefitItemConfig\n\n /**\n * \u6EE1\u8D60\n */\n fullGift: BenefitItemConfig\n\n /**\n * \u6EE1\u51CF\u6298\u6263\n */\n levelDiscount: BenefitItemConfig\n}\n\n/**\n * \u5546\u54C1\u6743\u76CA\n * \u83B7\u53D6\u5F53\u524Dsku \u6240\u6709\u7684\u6743\u76CA\n * \u5305\u62EC \u901A\u7528\u4F18\u60E0\u5238\uFF0C\u4F1A\u5458\u4EF7\uFF0C\u6EE1\u51CF\uFF0C\u6346\u7ED1\u6298\u6263\uFF0C\u4E70\u8D60 \uFF0C\u6EE1\u8D60 \uFF0C\u79EF\u5206\u62B5\u73B0\n * @returns\n */\nexport const useBenefits = ({ variant }: BenefitsParams): BenefitsResult => {\n const { coupon, product, bundle, freeGift, memberFunctionResult, creditsRedemption, profile } = useBizProductContext()\n\n const { amount: creditsRedemptionAmount } = creditsRedemption ?? {}\n\n const { trackingData } = useAiuiContext()\n\n const total = Math.max(\n memberFunctionResult?.withCouponMemberTotalSave ?? 0,\n memberFunctionResult?.withoutCouponMaxMemberTotalSave ?? 0\n )\n\n const discountEnable = useDiscountEnable({ profile, variant, memberFunctionResult, coupon })\n\n // \u9AD8\u6807\u7269\u6D41\n const showPaidShipping = Boolean(\n trackingData?.paidShipping &&\n variant.requiresShipping &&\n !variant?.metafields?.global?.presell &&\n !variant?.metafields?.global?.HideShipping\n )\n\n // \u811A\u672C\u6EE1\u8D60\n const fullGift = trackingData?.freeGift\n const excludeProducts =\n fullGift?.excludeProducts?.map((item: any) => (typeof item === 'object' && 'sku' in item ? item.sku : item)) ?? []\n\n const showLevelDiscount =\n trackingData?.levelDiscount && checkItemAvailableForProduct({ product, variant, item: trackingData?.levelDiscount })\n\n return {\n commonCoupon: {\n enable: discountEnable.showCommonCoupon && Boolean(coupon),\n config: coupon ?? {},\n },\n freeGift: {\n enable: Boolean(freeGift) && !!freeGift?.giftList?.length,\n config: freeGift,\n },\n bundle: {\n enable:\n Boolean(bundle) &&\n !!bundle?.bundleList?.length &&\n Math.max(...(bundle?.bundleList?.map(item => item.savings ?? 0) ?? [])) > 0, // \u6709\u4F18\u60E0\u624D\u5C55\u793A\n config: bundle,\n },\n memberDiscount: {\n enable: discountEnable.showMemberDiscount,\n // enable: total > 0,\n config: {\n amount: total,\n description: memberFunctionResult?.labels?.[0],\n },\n },\n creditsRedemption: {\n enable: Boolean(creditsRedemptionAmount) && creditsRedemptionAmount! > 0,\n config: { amount: creditsRedemptionAmount, label: trackingData?.creditsRedemptionLabel },\n },\n paidShipping: {\n enable: showPaidShipping,\n config: {},\n },\n fullGift: {\n enable: Boolean(fullGift && !excludeProducts.includes(variant.sku)),\n config: fullGift ?? {},\n },\n levelDiscount: {\n enable: Boolean(showLevelDiscount),\n config: trackingData?.levelDiscount ?? {},\n },\n }\n}\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,iBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAqC,oCAErCC,EAA6C,8BAC7CC,EAAkC,kCAElCC,EAA+B,uCAsDxB,MAAML,EAAc,CAAC,CAAE,QAAAM,CAAQ,IAAsC,CAC1E,KAAM,CAAE,OAAAC,EAAQ,QAAAC,EAAS,OAAAC,EAAQ,SAAAC,EAAU,qBAAAC,EAAsB,kBAAAC,EAAmB,QAAAC,CAAQ,KAAI,wBAAqB,EAE/G,CAAE,OAAQC,CAAwB,EAAIF,GAAqB,CAAC,EAE5D,CAAE,aAAAG,CAAa,KAAI,kBAAe,EAElCC,EAAQ,KAAK,IACjBL,GAAsB,2BAA6B,EACnDA,GAAsB,iCAAmC,CAC3D,EAEMM,KAAiB,qBAAkB,CAAE,QAAAJ,EAAS,QAAAP,EAAS,qBAAAK,EAAsB,OAAAJ,CAAO,CAAC,EAGrFW,EAAmB,GACvBH,GAAc,cACdT,EAAQ,kBACR,CAACA,GAAS,YAAY,QAAQ,SAC9B,CAACA,GAAS,YAAY,QAAQ,cAI1Ba,EAAWJ,GAAc,SACzBK,EACJD,GAAU,iBAAiB,IAAKE,GAAe,OAAOA,GAAS,UAAY,QAASA,EAAOA,EAAK,IAAMA,CAAK,GAAK,CAAC,EAE7GC,EACJP,GAAc,kBAAiB,gCAA6B,CAAE,QAAAP,EAAS,QAAAF,EAAS,KAAMS,GAAc,aAAc,CAAC,EAErH,MAAO,CACL,aAAc,CACZ,OAAQE,EAAe,kBAAoB,EAAQV,EACnD,OAAQA,GAAU,CAAC,CACrB,EACA,SAAU,CACR,OAAQ,EAAQG,GAAa,CAAC,CAACA,GAAU,UAAU,OACnD,OAAQA,CACV,EACA,OAAQ,CACN,OACE,EAAQD,GACR,CAAC,CAACA,GAAQ,YAAY,QACtB,KAAK,IAAI,GAAIA,GAAQ,YAAY,IAAIY,GAAQA,EAAK,SAAW,CAAC,GAAK,CAAC,CAAE,EAAI,EAC5E,OAAQZ,CACV,EACA,eAAgB,CACd,OAAQQ,EAAe,mBAEvB,OAAQ,CACN,OAAQD,EACR,YAAaL,GAAsB,SAAS,CAAC,CAC/C,CACF,EACA,kBAAmB,CACjB,OAAQ,EAAQG,GAA4BA,EAA2B,EACvE,OAAQ,CAAE,OAAQA,EAAyB,MAAOC,GAAc,sBAAuB,CACzF,EACA,aAAc,CACZ,OAAQG,EACR,OAAQ,CAAC,CACX,EACA,SAAU,CACR,OAAQ,GAAQC,GAAY,CAACC,EAAgB,SAASd,EAAQ,GAAG,GACjE,OAAQa,GAAY,CAAC,CACvB,EACA,cAAe,CACb,OAAQ,EAAQG,EAChB,OAAQP,GAAc,eAAiB,CAAC,CAC1C,CACF,CACF",
6
- "names": ["useBenefits_exports", "__export", "useBenefits", "__toCommonJS", "import_BizProductProvider", "import_helper", "import_useDiscountEnable", "import_AiuiProvider", "variant", "coupon", "product", "bundle", "freeGift", "memberFunctionResult", "creditsRedemption", "profile", "creditsRedemptionAmount", "trackingData", "total", "discountEnable", "showPaidShipping", "fullGift", "excludeProducts", "item", "showLevelDiscount"]
4
+ "sourcesContent": ["import { useBizProductContext } from '../BizProductProvider.js'\nimport type { ProductVariant, FreeGift } from '../types/product'\nimport { checkItemAvailableForProduct } from '../utils/helper.js'\nimport { useDiscountEnable } from './useDiscountEnable.js'\n\nimport { useAiuiContext } from '../../AiuiProvider/index.js'\nimport type { ProductFunctionFreeGiftProps } from '../components/ProductCard/ProductDetail/ProductFunctionFreeGift/types.js'\nimport type { ProductBundleProps } from '../components/ProductCard/ProductDetail/ProductBundle/types.js'\n\ninterface BenefitsParams {\n variant: ProductVariant\n}\n\ninterface BenefitItemConfig<T extends Record<string, any> = Record<string, any>> {\n enable: boolean\n config?: T // \u539F\u59CB\u914D\u7F6E\n}\n\ninterface BenefitsResult {\n /**\n * \u901A\u7528\u4F18\u60E0\u5238\n */\n commonCoupon?: BenefitItemConfig\n /**\n * \u4E70\u8D60\n */\n freeGift: BenefitItemConfig<FreeGift>\n /**\n * function\u4E70\u8D60\n */\n functionFreeGift: BenefitItemConfig<ProductFunctionFreeGiftProps>\n /**\n * \u6346\u7ED1\u6298\u6263\n */\n bundle: BenefitItemConfig<ProductBundleProps>\n /**\n * \u4F1A\u5458\u4EF7\n */\n memberDiscount: BenefitItemConfig\n /**\n * \u79EF\u5206\u62B5\u73B0\n */\n creditsRedemption: BenefitItemConfig\n /**\n * \u9AD8\u6807\u7269\u6D41\n */\n paidShipping: BenefitItemConfig\n\n /**\n * \u6EE1\u8D60\n */\n fullGift: BenefitItemConfig\n\n /**\n * \u6EE1\u51CF\u6298\u6263\n */\n levelDiscount: BenefitItemConfig\n}\n\n/**\n * \u5546\u54C1\u6743\u76CA\n * \u83B7\u53D6\u5F53\u524Dsku \u6240\u6709\u7684\u6743\u76CA\n * \u5305\u62EC \u901A\u7528\u4F18\u60E0\u5238\uFF0C\u4F1A\u5458\u4EF7\uFF0C\u6EE1\u51CF\uFF0C\u6346\u7ED1\u6298\u6263\uFF0C\u4E70\u8D60 \uFF0C\u6EE1\u8D60 \uFF0C\u79EF\u5206\u62B5\u73B0\n * @returns\n */\nexport const useBenefits = ({ variant }: BenefitsParams): BenefitsResult => {\n const { coupon, product, bundle, freeGift, functionFreeGift, memberFunctionResult, creditsRedemption, profile } = useBizProductContext()\n\n const { amount: creditsRedemptionAmount } = creditsRedemption ?? {}\n\n const { trackingData } = useAiuiContext()\n\n const total = Math.max(\n memberFunctionResult?.withCouponMemberTotalSave ?? 0,\n memberFunctionResult?.withoutCouponMaxMemberTotalSave ?? 0\n )\n\n const discountEnable = useDiscountEnable({ profile, variant, memberFunctionResult, coupon })\n\n // \u9AD8\u6807\u7269\u6D41\n const showPaidShipping = Boolean(\n trackingData?.paidShipping &&\n variant.requiresShipping &&\n !variant?.metafields?.global?.presell &&\n !variant?.metafields?.global?.HideShipping\n )\n\n // \u811A\u672C\u6EE1\u8D60\n const fullGift = trackingData?.freeGift\n const excludeProducts =\n fullGift?.excludeProducts?.map((item: any) => (typeof item === 'object' && 'sku' in item ? item.sku : item)) ?? []\n\n const showLevelDiscount =\n trackingData?.levelDiscount && checkItemAvailableForProduct({ product, variant, item: trackingData?.levelDiscount })\n\n return {\n commonCoupon: {\n enable: discountEnable.showCommonCoupon && Boolean(coupon),\n config: coupon ?? {},\n },\n freeGift: {\n enable: Boolean(freeGift) && !!freeGift?.giftList?.length,\n config: freeGift,\n },\n functionFreeGift: {\n enable: Boolean(functionFreeGift) && !!functionFreeGift?.giftItems?.length,\n config: functionFreeGift,\n },\n bundle: {\n enable: Boolean(bundle) && !!bundle?.bundleOptions?.length,\n // Math.max(...(bundle?.bundleOptions?.map(item => item.savings ?? 0) ?? [])) > 0, // \u6709\u4F18\u60E0\u624D\u5C55\u793A\n config: bundle,\n },\n memberDiscount: {\n enable: discountEnable.showMemberDiscount,\n // enable: total > 0,\n config: {\n amount: total,\n description: memberFunctionResult?.labels?.[0],\n },\n },\n creditsRedemption: {\n enable: Boolean(creditsRedemptionAmount) && creditsRedemptionAmount! > 0,\n config: { amount: creditsRedemptionAmount, label: trackingData?.creditsRedemptionLabel },\n },\n paidShipping: {\n enable: showPaidShipping,\n config: {},\n },\n fullGift: {\n enable: Boolean(fullGift && !excludeProducts.includes(variant.sku)),\n config: fullGift ?? {},\n },\n levelDiscount: {\n enable: Boolean(showLevelDiscount),\n config: trackingData?.levelDiscount ?? {},\n },\n }\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,iBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAqC,oCAErCC,EAA6C,8BAC7CC,EAAkC,kCAElCC,EAA+B,uCA4DxB,MAAML,EAAc,CAAC,CAAE,QAAAM,CAAQ,IAAsC,CAC1E,KAAM,CAAE,OAAAC,EAAQ,QAAAC,EAAS,OAAAC,EAAQ,SAAAC,EAAU,iBAAAC,EAAkB,qBAAAC,EAAsB,kBAAAC,EAAmB,QAAAC,CAAQ,KAAI,wBAAqB,EAEjI,CAAE,OAAQC,CAAwB,EAAIF,GAAqB,CAAC,EAE5D,CAAE,aAAAG,CAAa,KAAI,kBAAe,EAElCC,EAAQ,KAAK,IACjBL,GAAsB,2BAA6B,EACnDA,GAAsB,iCAAmC,CAC3D,EAEMM,KAAiB,qBAAkB,CAAE,QAAAJ,EAAS,QAAAR,EAAS,qBAAAM,EAAsB,OAAAL,CAAO,CAAC,EAGrFY,EAAmB,GACvBH,GAAc,cACdV,EAAQ,kBACR,CAACA,GAAS,YAAY,QAAQ,SAC9B,CAACA,GAAS,YAAY,QAAQ,cAI1Bc,EAAWJ,GAAc,SACzBK,EACJD,GAAU,iBAAiB,IAAKE,GAAe,OAAOA,GAAS,UAAY,QAASA,EAAOA,EAAK,IAAMA,CAAK,GAAK,CAAC,EAE7GC,EACJP,GAAc,kBAAiB,gCAA6B,CAAE,QAAAR,EAAS,QAAAF,EAAS,KAAMU,GAAc,aAAc,CAAC,EAErH,MAAO,CACL,aAAc,CACZ,OAAQE,EAAe,kBAAoB,EAAQX,EACnD,OAAQA,GAAU,CAAC,CACrB,EACA,SAAU,CACR,OAAQ,EAAQG,GAAa,CAAC,CAACA,GAAU,UAAU,OACnD,OAAQA,CACV,EACA,iBAAkB,CAChB,OAAQ,EAAQC,GAAqB,CAAC,CAACA,GAAkB,WAAW,OACpE,OAAQA,CACV,EACA,OAAQ,CACN,OAAQ,EAAQF,GAAW,CAAC,CAACA,GAAQ,eAAe,OAEpD,OAAQA,CACV,EACA,eAAgB,CACd,OAAQS,EAAe,mBAEvB,OAAQ,CACN,OAAQD,EACR,YAAaL,GAAsB,SAAS,CAAC,CAC/C,CACF,EACA,kBAAmB,CACjB,OAAQ,EAAQG,GAA4BA,EAA2B,EACvE,OAAQ,CAAE,OAAQA,EAAyB,MAAOC,GAAc,sBAAuB,CACzF,EACA,aAAc,CACZ,OAAQG,EACR,OAAQ,CAAC,CACX,EACA,SAAU,CACR,OAAQ,GAAQC,GAAY,CAACC,EAAgB,SAASf,EAAQ,GAAG,GACjE,OAAQc,GAAY,CAAC,CACvB,EACA,cAAe,CACb,OAAQ,EAAQG,EAChB,OAAQP,GAAc,eAAiB,CAAC,CAC1C,CACF,CACF",
6
+ "names": ["useBenefits_exports", "__export", "useBenefits", "__toCommonJS", "import_BizProductProvider", "import_helper", "import_useDiscountEnable", "import_AiuiProvider", "variant", "coupon", "product", "bundle", "freeGift", "functionFreeGift", "memberFunctionResult", "creditsRedemption", "profile", "creditsRedemptionAmount", "trackingData", "total", "discountEnable", "showPaidShipping", "fullGift", "excludeProducts", "item", "showLevelDiscount"]
7
7
  }
@@ -118,24 +118,3 @@ export type FreeGift = {
118
118
  showCoupon: boolean;
119
119
  [key: string]: any;
120
120
  };
121
- export type BundleListItem = {
122
- id: string;
123
- price: number;
124
- comparePrice: number;
125
- savings: number;
126
- variants: {
127
- price: number;
128
- quantity: number;
129
- label: string;
130
- variant: ProductVariant;
131
- }[];
132
- };
133
- export type Bundle = {
134
- title: string;
135
- soldOutLabel: string;
136
- youSaveText: string;
137
- showCoupon: boolean;
138
- bundleList: BundleListItem[];
139
- showAtListing: boolean;
140
- [key: string]: any;
141
- };
@@ -1,2 +1,2 @@
1
- "use strict";var o=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var p=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of a(t))!u.call(e,r)&&r!==n&&o(e,r,{get:()=>t[r],enumerable:!(i=s(t,r))||i.enumerable});return e};var d=e=>p(o({},"__esModule",{value:!0}),e);var c={};module.exports=d(c);var y=require("../const.js");
1
+ "use strict";var i=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var u=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of a(t))!p.call(e,r)&&r!==n&&i(e,r,{get:()=>t[r],enumerable:!(o=s(t,r))||o.enumerable});return e};var d=e=>u(i({},"__esModule",{value:!0}),e);var c={};module.exports=d(c);var l=require("../const.js");
2
2
  //# sourceMappingURL=product.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/biz-components/Listing/types/product.ts"],
4
- "sourcesContent": ["import type {\n CurrencyCode,\n Image,\n Media,\n Product as ShopifyProduct,\n ProductVariant as ShopifyProductVariant,\n} from './graphql'\nimport { DiscountType } from '../const.js'\n\nexport type ProductPrice = {\n amount: number\n currencyCode: CurrencyCode\n}\n\nexport type ProductOption = {\n __typename?: 'MultipleChoiceOption'\n id: string\n name: string\n values: ProductOptionValues[]\n}\n\nexport type ProductOptionValues = {\n label: string\n hexColors?: string[]\n}\n\nexport type ProductVariant = {\n id: string | number\n options: ProductOption[]\n sku: string\n metafields?: Record<string, any>\n price: ProductPrice\n product: Product\n coupons: VariantCoupon[]\n weight?: number\n payload?: any\n} & Omit<ShopifyProductVariant, 'options' | 'metafields' | 'price'>\n\nexport type Product = {\n path?: string\n images: Image[]\n media: ProductMedia[]\n variants: ProductVariant[]\n price: ProductPrice\n options: ProductOption[]\n metafields?: { [key: string]: any }\n slug: string\n payload?: any\n} & Omit<ShopifyProduct, 'metafields' | 'images' | 'variants' | 'price' | 'options' | 'media'>\n\nexport type GetProductBody = {\n handles: string\n locale?: string\n}\n\nexport type ProductTypes = {\n product: Product\n getBody: GetProductBody\n}\n\nexport type GetAllProductPathsOperation<T extends ProductTypes = ProductTypes> = {\n data: { products: Pick<T['product'], 'path'>[] }\n variables: { first?: number }\n}\n\nexport type GetAllProductsOperation<T extends ProductTypes = ProductTypes> = {\n data: { products: T['product'][] }\n variables: {\n relevance?: 'featured' | 'best_selling' | 'newest'\n ids?: string[]\n first?: number\n }\n}\n\nexport type GetProductOperation<T extends ProductTypes = ProductTypes> = {\n data: { product?: T['product'] }\n variables: { path: string; slug?: never } | { path?: never; slug: string }\n}\n\nexport type Options = Record<string, string>\n\nexport type ProductMedia = Media & {\n sources?: {\n url: string\n altText: string\n }[]\n image?: {\n url: string\n altText: string\n }\n}\n\nexport type VariantCoupon = {\n title: string\n starts_at: string // ISO 8601 \u65E5\u671F\u5B57\u7B26\u4E32\n ends_at: string | null // ISO 8601 \u65E5\u671F\u5B57\u7B26\u4E32\u6216 null\n variant_shopify_id: number\n value_type: DiscountType\n value: string // \u8D1F\u6570\u7684\u767E\u5206\u6BD4\u503C\n currency: string\n fixed_value: string // \u56FA\u5B9A\u503C\n value_style: string // \u5E26\u6709\u8D27\u5E01\u7B26\u53F7\u7684\u503C\n variant_price4wscode: number\n discount_type: string // \u5047\u8BBE discount_type \u662F\u4E00\u4E2A\u5B57\u7B26\u4E32\n amazon_deal: boolean\n cdi_id: number\n cdi_updated_at: string // ISO 8601 \u65E5\u671F\u5B57\u7B26\u4E32\n}\n\nexport type ScriptDiscount = {\n type: DiscountType\n excludeSkus: string[]\n discount: number\n}\n\nexport type FreeGift = {\n title: string\n note: string\n soldOutLabel: string\n freeLabel: string\n giftList: ProductVariant[]\n count: number\n showCoupon: boolean\n [key: string]: any\n}\n\nexport type BundleListItem = {\n id: string\n price: number\n comparePrice: number\n savings: number\n variants: {\n price: number\n quantity: number\n label: string\n variant: ProductVariant\n }[]\n}\n\nexport type Bundle = {\n title: string\n soldOutLabel: string\n youSaveText: string\n showCoupon: boolean\n bundleList: BundleListItem[]\n showAtListing: boolean\n [key: string]: any\n}\n"],
4
+ "sourcesContent": ["import type {\n CurrencyCode,\n Image,\n Media,\n Product as ShopifyProduct,\n ProductVariant as ShopifyProductVariant,\n} from './graphql'\nimport { DiscountType } from '../const.js'\n\nexport type ProductPrice = {\n amount: number\n currencyCode: CurrencyCode\n}\n\nexport type ProductOption = {\n __typename?: 'MultipleChoiceOption'\n id: string\n name: string\n values: ProductOptionValues[]\n}\n\nexport type ProductOptionValues = {\n label: string\n hexColors?: string[]\n}\n\nexport type ProductVariant = {\n id: string | number\n options: ProductOption[]\n sku: string\n metafields?: Record<string, any>\n price: ProductPrice\n product: Product\n coupons: VariantCoupon[]\n weight?: number\n payload?: any\n} & Omit<ShopifyProductVariant, 'options' | 'metafields' | 'price'>\n\nexport type Product = {\n path?: string\n images: Image[]\n media: ProductMedia[]\n variants: ProductVariant[]\n price: ProductPrice\n options: ProductOption[]\n metafields?: { [key: string]: any }\n slug: string\n payload?: any\n} & Omit<ShopifyProduct, 'metafields' | 'images' | 'variants' | 'price' | 'options' | 'media'>\n\nexport type GetProductBody = {\n handles: string\n locale?: string\n}\n\nexport type ProductTypes = {\n product: Product\n getBody: GetProductBody\n}\n\nexport type GetAllProductPathsOperation<T extends ProductTypes = ProductTypes> = {\n data: { products: Pick<T['product'], 'path'>[] }\n variables: { first?: number }\n}\n\nexport type GetAllProductsOperation<T extends ProductTypes = ProductTypes> = {\n data: { products: T['product'][] }\n variables: {\n relevance?: 'featured' | 'best_selling' | 'newest'\n ids?: string[]\n first?: number\n }\n}\n\nexport type GetProductOperation<T extends ProductTypes = ProductTypes> = {\n data: { product?: T['product'] }\n variables: { path: string; slug?: never } | { path?: never; slug: string }\n}\n\nexport type Options = Record<string, string>\n\nexport type ProductMedia = Media & {\n sources?: {\n url: string\n altText: string\n }[]\n image?: {\n url: string\n altText: string\n }\n}\n\nexport type VariantCoupon = {\n title: string\n starts_at: string // ISO 8601 \u65E5\u671F\u5B57\u7B26\u4E32\n ends_at: string | null // ISO 8601 \u65E5\u671F\u5B57\u7B26\u4E32\u6216 null\n variant_shopify_id: number\n value_type: DiscountType\n value: string // \u8D1F\u6570\u7684\u767E\u5206\u6BD4\u503C\n currency: string\n fixed_value: string // \u56FA\u5B9A\u503C\n value_style: string // \u5E26\u6709\u8D27\u5E01\u7B26\u53F7\u7684\u503C\n variant_price4wscode: number\n discount_type: string // \u5047\u8BBE discount_type \u662F\u4E00\u4E2A\u5B57\u7B26\u4E32\n amazon_deal: boolean\n cdi_id: number\n cdi_updated_at: string // ISO 8601 \u65E5\u671F\u5B57\u7B26\u4E32\n}\n\nexport type ScriptDiscount = {\n type: DiscountType\n excludeSkus: string[]\n discount: number\n}\n\nexport type FreeGift = {\n title: string\n note: string\n soldOutLabel: string\n freeLabel: string\n giftList: ProductVariant[]\n count: number\n showCoupon: boolean\n [key: string]: any\n}\n\n// export type BundleListItem = {\n// id: string\n// price: number\n// comparePrice: number\n// savings: number\n// variants: {\n// price: number\n// quantity: number\n// label: string\n// variant: ProductVariant\n// }[]\n// }\n\n// export type Bundle = {\n// title: string\n// soldOutLabel: string\n// youSaveText: string\n// showCoupon: boolean\n// bundleList: BundleListItem[]\n// showAtListing: boolean\n// [key: string]: any\n// }\n"],
5
5
  "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD,GAOA,IAAAE,EAA6B",
6
6
  "names": ["product_exports", "__toCommonJS", "import_const"]
7
7
  }
@@ -0,0 +1,7 @@
1
+ import type { NotifyMeDialogProps } from './types.js';
2
+ declare const NotifyMeDialog: {
3
+ ({ open, onOpenChange, copy, classNames, checkboxes, subscriptionMeta, onSubmit, }: NotifyMeDialogProps): import("react/jsx-runtime").JSX.Element;
4
+ displayName: string;
5
+ };
6
+ export default NotifyMeDialog;
7
+ export type { NotifyMeDialogProps };
@@ -0,0 +1,2 @@
1
+ "use strict";"use client";var te=Object.create;var k=Object.defineProperty;var ae=Object.getOwnPropertyDescriptor;var oe=Object.getOwnPropertyNames;var le=Object.getPrototypeOf,re=Object.prototype.hasOwnProperty;var ie=(o,i)=>{for(var p in i)k(o,p,{get:i[p],enumerable:!0})},z=(o,i,p,c)=>{if(i&&typeof i=="object"||typeof i=="function")for(let l of oe(i))!re.call(o,l)&&l!==p&&k(o,l,{get:()=>i[l],enumerable:!(c=ae(i,l))||c.enumerable});return o};var se=(o,i,p)=>(p=o!=null?te(le(o)):{},z(i||!o||!o.__esModule?k(p,"default",{value:o,enumerable:!0}):p,o)),ne=o=>z(k({},"__esModule",{value:!0}),o);var pe={};ie(pe,{default:()=>de});module.exports=ne(pe);var e=require("react/jsx-runtime"),m=require("react"),t=require("../../components/index.js"),d=require("../../helpers/index.js"),me=se(require("react")),P=require("../../hooks/useExposure.js");const H="copy",I="NotifyMeDialog",ce=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,R=({open:o,onOpenChange:i,copy:p,classNames:c,checkboxes:l=[],subscriptionMeta:N,onSubmit:T})=>{const{title:E,subTitle:D,emailLabel:$="Email address",emailPlaceholder:j="your@email.com",submitBtnText:q="Notify Me",errorEmpty:A,errorInvalidEmail:F,errorCheckboxRequired:G,errorSubmit:w="Something went wrong. Please try again.",errorSubmitDetail:W,successTitle:X,successDesc:C,successBtnText:S}=p,M=me.useRef(null);(0,P.useExposure)(M,{componentType:H,componentName:I,componentTitle:E,componentDescription:D});const[g,_]=(0,m.useState)(""),[y,B]=(0,m.useState)(()=>l.map(()=>!1)),[f,b]=(0,m.useState)("idle"),[J,v]=(0,m.useState)(()=>l.map(()=>!1)),[s,x]=(0,m.useState)("idle"),[L,h]=(0,m.useState)(null),K=L?W?.find(a=>a.code===L)?.message??w:w,Q=s!=="loading"&&s!=="success",U=(0,m.useCallback)(a=>{B(n=>{const r=[...n];return r[a]=!r[a],r}),v(n=>{const r=[...n];return r[a]=!1,r}),f!=="idle"&&b("idle"),s==="error-submit"&&(x("idle"),h(null))},[f,s]),V=(0,m.useCallback)(a=>{_(a.target.value),f!=="idle"&&b("idle"),v(n=>n.some(Boolean)?n.map(()=>!1):n),s==="error-submit"&&(x("idle"),h(null))},[f,s]),Y=(0,m.useCallback)(async()=>{let a=!1;g.trim()?ce.test(g.trim())?b("idle"):(b("error-format"),a=!0):(b("error-empty"),a=!0);const n=l.map((r,u)=>r.label&&r.required&&!y[u]?(a=!0,!0):!1);if(v(n),!a){x("loading");try{const r=l.map((u,ee)=>u.checkbox_id!==void 0?{checkbox_id:u.checkbox_id,checked:y[ee]}:null).filter(u=>u!==null);await T({email:g.trim(),checkedItems:r,meta:N}),x("success")}catch(r){const u=r&&typeof r=="object"&&"code"in r?String(r.code):null;h(u),x("error-submit")}}},[g,l,y,N,T]);(0,m.useEffect)(()=>{if(s!=="error-submit")return;const a=setTimeout(()=>{x("idle"),h(null)},3e3);return()=>clearTimeout(a)},[s]);const Z=(0,m.useCallback)(a=>{a||(_(""),B(l.map(()=>!1)),b("idle"),v(l.map(()=>!1)),x("idle"),h(null)),i(a)},[l,i]),O=l.some(a=>a.label);return(0,e.jsx)(t.Dialog,{open:o,onOpenChange:Z,children:(0,e.jsxs)(t.DialogContent,{ref:M,"aria-describedby":"notify-me-content",className:(0,d.cn)("laptop:max-w-[480px] laptop:[&_.dialog-close-icon]:size-6 laptop:gap-8 rounded-box laptop:p-8 max-h-[90vh] w-[calc(100%-32px)] gap-6 overflow-y-auto bg-white p-6 [&_.dialog-close-icon]:size-5",c?.root),children:[s!=="success"&&(0,e.jsxs)(t.DialogHeader,{className:(0,d.cn)(c?.header),children:[(0,e.jsx)(t.DialogTitle,{children:(0,e.jsx)(t.Heading,{as:"h2",size:2,className:(0,d.cn)("text-info-primary text-center font-bold",c?.title),children:E})}),D&&(0,e.jsx)(t.DialogDescription,{asChild:!0,children:(0,e.jsx)(t.Text,{as:"p",className:(0,d.cn)("text-info-primary laptop:text-base mt-1 text-center text-sm",c?.subTitle),children:D})})]}),s==="success"?(0,e.jsxs)("div",{className:(0,d.cn)("flex flex-col items-center text-center",c?.successText),children:[(0,e.jsx)("div",{className:"flex size-20 items-center justify-center",children:(0,e.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"80",height:"80",viewBox:"0 0 80 80",fill:"none",children:[(0,e.jsx)("circle",{cx:"40",cy:"40",r:"35",fill:"#30D158"}),(0,e.jsx)("path",{d:"M23.3333 38.3333L36.6666 50L56.6666 30",stroke:"white",strokeWidth:"6.66667",strokeLinecap:"round",strokeLinejoin:"round"})]})}),(0,e.jsxs)("div",{className:"mt-4",children:[(0,e.jsx)(t.Heading,{as:"h3",size:2,className:"text-info-primary font-bold",children:X}),C&&(0,e.jsx)(t.Text,{as:"p",className:"text-info-primary laptop:text-base mt-1 text-sm",children:C})]}),S&&(0,e.jsx)(t.Button,{variant:"primary",size:"lg",onClick:()=>i(!1),className:"laptop:mt-8 mt-6 w-full",children:S})]}):(0,e.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,e.jsxs)("div",{className:c?.emailInput,children:[(0,e.jsx)(t.Text,{as:"label",htmlFor:"notify-me-email",className:"text-info-primary laptop:text-base mb-2 block text-sm",children:$}),(0,e.jsx)(t.Input,{id:"notify-me-email",type:"email",placeholder:j,value:g,onChange:V,disabled:s==="loading",className:(0,d.cn)("placeholder:text-info-tertiary text-info-primary laptop:h-[54px] laptop:text-base laptop:p-4 border-lines-1 h-[44px] w-full bg-white p-3 text-sm font-bold placeholder:font-bold focus-visible:!outline-none",f!=="idle"&&"border-error-0")}),f==="error-empty"&&(0,e.jsx)(t.Text,{as:"p",className:"text-error-0 laptop:text-base mt-2 text-sm",children:A}),f==="error-format"&&(0,e.jsx)(t.Text,{as:"p",className:"text-error-0 laptop:text-base mt-2 text-sm",children:F})]}),O&&(0,e.jsx)("div",{className:(0,d.cn)("laptop:gap-4 flex flex-col gap-2",c?.checkboxes),children:l.map((a,n)=>a.label?(0,e.jsxs)("div",{children:[(0,e.jsxs)("label",{className:(0,d.cn)("text-info-tertiary flex cursor-pointer items-start gap-2",c?.checkboxItem),children:[(0,e.jsx)(t.Checkbox,{checked:y[n],onCheckedChange:()=>U(n),"data-headless-type-name":`${H}#${I}`,"data-headless-title-desc-button":`''#''#${a.label}`,"data-headless-nav-position":"''#1",disabled:s==="loading",className:"border-info-secondary data-[state=checked]:bg-info-secondary mt-0.5 shrink-0"}),(0,e.jsx)(t.Text,{as:"span",className:"text-info-tertiary laptop:text-base [&_a]:text-brand-0 text-sm leading-snug [&_a]:underline",html:a.label})]}),J[n]&&(0,e.jsx)(t.Text,{as:"p",className:"text-error-0 laptop:text-base mt-2 text-sm",children:G})]},n):null)}),(0,e.jsx)(t.Button,{variant:"primary",size:"lg",loading:s==="loading",disabled:!Q,onClick:Y,className:(0,d.cn)("w-full",c?.submitBtn),children:q}),s==="error-submit"&&(0,e.jsx)(t.Text,{as:"p",className:(0,d.cn)("text-error-0 laptop:text-base text-sm",c?.errorText),children:K})]})]})})};R.displayName="NotifyMeDialog";var de=R;
2
+ //# sourceMappingURL=NotifyMeDialog.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/biz-components/NotifyMeDialog/NotifyMeDialog.tsx"],
4
+ "sourcesContent": ["'use client'\n\nimport { useCallback, useEffect, useState } from 'react'\nimport {\n Button,\n Text,\n Dialog,\n DialogContent,\n DialogHeader,\n DialogTitle,\n DialogDescription,\n Input,\n Checkbox,\n Heading,\n} from '../../components/index.js'\nimport { cn } from '../../helpers/index.js'\nimport type { NotifyMeDialogProps } from './types.js'\nimport * as React from 'react'\nimport { useExposure } from '../../hooks/useExposure.js'\n\nconst componentType = 'copy'\nconst componentName = 'NotifyMeDialog'\n\ntype EmailState = 'idle' | 'error-empty' | 'error-format'\ntype SubmitState = 'idle' | 'loading' | 'success' | 'error-submit'\n\nconst EMAIL_REGEX = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/\n\nconst NotifyMeDialog = ({\n open,\n onOpenChange,\n copy,\n classNames,\n checkboxes = [],\n subscriptionMeta,\n onSubmit,\n}: NotifyMeDialogProps) => {\n const {\n title,\n subTitle,\n emailLabel = 'Email address',\n emailPlaceholder = 'your@email.com',\n submitBtnText = 'Notify Me',\n errorEmpty,\n errorInvalidEmail,\n errorCheckboxRequired,\n errorSubmit = 'Something went wrong. Please try again.',\n errorSubmitDetail,\n successTitle,\n successDesc,\n successBtnText,\n } = copy\n\n const notifyMeDialogRef = React.useRef<HTMLDivElement>(null)\n useExposure(notifyMeDialogRef, {\n componentType,\n componentName,\n componentTitle: title,\n componentDescription: subTitle,\n })\n\n const [email, setEmail] = useState('')\n const [checkedStates, setCheckedStates] = useState<boolean[]>(() => checkboxes.map(() => false))\n const [emailState, setEmailState] = useState<EmailState>('idle')\n const [checkboxErrors, setCheckboxErrors] = useState<boolean[]>(() => checkboxes.map(() => false))\n const [submitState, setSubmitState] = useState<SubmitState>('idle')\n const [errorCode, setErrorCode] = useState<string | null>(null)\n\n // \u6839\u636E\u9519\u8BEF\u7801\u5339\u914D\u5BF9\u5E94\u6587\u6848\uFF0C\u672A\u5339\u914D\u5230\u5219\u56DE\u9000\u5230 errorSubmit\n const resolvedErrorMessage = errorCode\n ? (errorSubmitDetail?.find(d => d.code === errorCode)?.message ?? errorSubmit)\n : errorSubmit\n\n // \u662F\u5426\u53EF\u4EE5\u70B9\u51FB\u63D0\u4EA4\uFF08loading/success \u65F6\u7981\u7528\uFF09\n const canSubmit = submitState !== 'loading' && submitState !== 'success'\n\n // checkbox \u72B6\u6001\u53D8\u5316\n const updateCheckedState = useCallback(\n (index: number) => {\n setCheckedStates(prev => {\n const next = [...prev]\n next[index] = !next[index]\n return next\n })\n // \u6E05\u9664\u5F53\u524D checkbox \u7684\u9519\u8BEF\u72B6\u6001\n setCheckboxErrors(prev => {\n const next = [...prev]\n next[index] = false\n return next\n })\n // \u6E05\u9664\u90AE\u7BB1\u9519\u8BEF\u548C\u63D0\u4EA4\u9519\u8BEF\n if (emailState !== 'idle') setEmailState('idle')\n if (submitState === 'error-submit') {\n setSubmitState('idle')\n setErrorCode(null)\n }\n },\n [emailState, submitState]\n )\n\n // \u90AE\u7BB1\u8F93\u5165\u53D8\u5316\n const handleEmailChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n setEmail(e.target.value)\n if (emailState !== 'idle') setEmailState('idle')\n setCheckboxErrors(prev => (prev.some(Boolean) ? prev.map(() => false) : prev))\n if (submitState === 'error-submit') {\n setSubmitState('idle')\n setErrorCode(null)\n }\n },\n [emailState, submitState]\n )\n\n /**\n * \u5BA2\u6237\u7AEF onSubmit \u8C03\u7528\u793A\u4F8B\n *\n * \u63A5\u53E3\u5931\u8D25\u65F6\u9700 throw { code } \u4EE5\u4FBF\u7EC4\u4EF6\u6309 errorSubmitDetail \u5339\u914D\u5BF9\u5E94\u63D0\u793A\u6587\u6848\uFF0C\n * code \u4E3A number \u7C7B\u578B\u65F6\u7EC4\u4EF6\u4F1A\u81EA\u52A8\u8F6C\u4E3A string \u8FDB\u884C\u5339\u914D\u3002\n *\n * @example\n * const handleNotifyMeSubmit = useCallback(\n * async (params) => {\n * const { email, checkedItems, meta } = params\n * const res = await fetch('/api/multipass/shopifyservices/product_arrival_notices', {\n * method: 'POST',\n * headers: {\n * 'Content-Type': 'application/json',\n * 'current-language': locale,\n * },\n * body: JSON.stringify({\n * email,\n * locale,\n * sku: variant.sku,\n * shop: shop.primaryDomain?.host,\n * }),\n * })\n * if (res.ok) {\n * if (checkedItems?.some?.((item) => item.checked && item.checkbox_id === 'subscribe')) {\n * subscribe({ email, dealsType: 'outStockNotify_subscribe_emails' })\n * }\n * } else {\n * throw { code: res.status }\n * }\n * },\n * [locale, variant.sku, shop.primaryDomain?.host, subscribe],\n * )\n */\n // \u70B9\u51FB\u63D0\u4EA4\n const handleSubmit = useCallback(async () => {\n let hasError = false\n\n // \u6821\u9A8C\u90AE\u7BB1\u975E\u7A7A\n if (!email.trim()) {\n setEmailState('error-empty')\n hasError = true\n } else if (!EMAIL_REGEX.test(email.trim())) {\n setEmailState('error-format')\n hasError = true\n } else {\n setEmailState('idle')\n }\n\n // \u6821\u9A8C required checkbox\n const newCheckboxErrors = checkboxes.map((cb, i) => {\n if (cb.label && cb.required && !checkedStates[i]) {\n hasError = true\n return true\n }\n return false\n })\n setCheckboxErrors(newCheckboxErrors)\n\n if (hasError) return\n\n setSubmitState('loading')\n try {\n const checkedItems = checkboxes\n .map((cb, i) =>\n cb.checkbox_id !== undefined ? { checkbox_id: cb.checkbox_id!, checked: checkedStates[i] } : null\n )\n .filter((item): item is { checkbox_id: string; checked: boolean } => item !== null)\n await onSubmit({ email: email.trim(), checkedItems, meta: subscriptionMeta })\n setSubmitState('success')\n } catch (err: unknown) {\n const code =\n err && typeof err === 'object' && 'code' in err ? String((err as Record<string, unknown>).code) : null\n setErrorCode(code)\n setSubmitState('error-submit')\n }\n }, [email, checkboxes, checkedStates, subscriptionMeta, onSubmit])\n\n // error-submit 3s \u540E\u81EA\u52A8\u6D88\u5931\n useEffect(() => {\n if (submitState !== 'error-submit') return\n const timer = setTimeout(() => {\n setSubmitState('idle')\n setErrorCode(null)\n }, 3000)\n return () => clearTimeout(timer)\n }, [submitState])\n\n // \u5173\u95ED\u5F39\u7A97\u65F6\u91CD\u7F6E\n const handleOpenChange = useCallback(\n (isOpen: boolean) => {\n if (!isOpen) {\n setEmail('')\n setCheckedStates(checkboxes.map(() => false))\n setEmailState('idle')\n setCheckboxErrors(checkboxes.map(() => false))\n setSubmitState('idle')\n setErrorCode(null)\n }\n onOpenChange(isOpen)\n },\n [checkboxes, onOpenChange]\n )\n\n const hasCheckboxes = checkboxes.some(cb => cb.label)\n\n return (\n <Dialog open={open} onOpenChange={handleOpenChange}>\n <DialogContent\n ref={notifyMeDialogRef}\n aria-describedby=\"notify-me-content\"\n className={cn(\n 'laptop:max-w-[480px] laptop:[&_.dialog-close-icon]:size-6 laptop:gap-8 rounded-box laptop:p-8 max-h-[90vh] w-[calc(100%-32px)] gap-6 overflow-y-auto bg-white p-6 [&_.dialog-close-icon]:size-5',\n classNames?.root\n )}\n >\n {submitState !== 'success' && (\n <DialogHeader className={cn(classNames?.header)}>\n <DialogTitle>\n <Heading as=\"h2\" size={2} className={cn('text-info-primary text-center font-bold', classNames?.title)}>\n {title}\n </Heading>\n </DialogTitle>\n {subTitle && (\n <DialogDescription asChild>\n <Text\n as=\"p\"\n className={cn('text-info-primary laptop:text-base mt-1 text-center text-sm', classNames?.subTitle)}\n >\n {subTitle}\n </Text>\n </DialogDescription>\n )}\n </DialogHeader>\n )}\n\n {submitState === 'success' ? (\n <div className={cn('flex flex-col items-center text-center', classNames?.successText)}>\n {/* \u6210\u529F\u56FE\u6807 */}\n <div className=\"flex size-20 items-center justify-center\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"80\" height=\"80\" viewBox=\"0 0 80 80\" fill=\"none\">\n <circle cx=\"40\" cy=\"40\" r=\"35\" fill=\"#30D158\" />\n <path\n d=\"M23.3333 38.3333L36.6666 50L56.6666 30\"\n stroke=\"white\"\n strokeWidth=\"6.66667\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </div>\n <div className=\"mt-4\">\n {/* \u6807\u9898 */}\n <Heading as=\"h3\" size={2} className=\"text-info-primary font-bold\">\n {successTitle}\n </Heading>\n {/* \u526F\u6587\u6848 */}\n {successDesc && (\n <Text as=\"p\" className=\"text-info-primary laptop:text-base mt-1 text-sm\">\n {successDesc}\n </Text>\n )}\n </div>\n {/* \u786E\u8BA4\u6309\u94AE */}\n {successBtnText && (\n <Button\n variant=\"primary\"\n size=\"lg\"\n onClick={() => onOpenChange(false)}\n className=\"laptop:mt-8 mt-6 w-full\"\n >\n {successBtnText}\n </Button>\n )}\n </div>\n ) : (\n <div className=\"flex flex-col gap-4\">\n {/* \u90AE\u7BB1\u8F93\u5165\u6846 */}\n <div className={classNames?.emailInput}>\n <Text\n as=\"label\"\n htmlFor=\"notify-me-email\"\n className=\"text-info-primary laptop:text-base mb-2 block text-sm\"\n >\n {emailLabel}\n </Text>\n <Input\n id=\"notify-me-email\"\n type=\"email\"\n placeholder={emailPlaceholder}\n value={email}\n onChange={handleEmailChange}\n disabled={submitState === 'loading'}\n className={cn(\n 'placeholder:text-info-tertiary text-info-primary laptop:h-[54px] laptop:text-base laptop:p-4 border-lines-1 h-[44px] w-full bg-white p-3 text-sm font-bold placeholder:font-bold focus-visible:!outline-none',\n emailState !== 'idle' && 'border-error-0'\n )}\n />\n {emailState === 'error-empty' && (\n <Text as=\"p\" className=\"text-error-0 laptop:text-base mt-2 text-sm\">\n {errorEmpty}\n </Text>\n )}\n {emailState === 'error-format' && (\n <Text as=\"p\" className=\"text-error-0 laptop:text-base mt-2 text-sm\">\n {errorInvalidEmail}\n </Text>\n )}\n </div>\n\n {/* Checkboxes \u5217\u8868 */}\n {hasCheckboxes && (\n <div className={cn('laptop:gap-4 flex flex-col gap-2', classNames?.checkboxes)}>\n {checkboxes.map((cb, i) => {\n if (!cb.label) return null\n return (\n <div key={i}>\n <label\n className={cn(\n 'text-info-tertiary flex cursor-pointer items-start gap-2',\n classNames?.checkboxItem\n )}\n >\n <Checkbox\n checked={checkedStates[i]}\n onCheckedChange={() => updateCheckedState(i)}\n data-headless-type-name={`${componentType}#${componentName}`}\n data-headless-title-desc-button={`''#''#${cb.label}`}\n data-headless-nav-position={`''#1`}\n disabled={submitState === 'loading'}\n className=\"border-info-secondary data-[state=checked]:bg-info-secondary mt-0.5 shrink-0\"\n />\n <Text\n as=\"span\"\n className=\"text-info-tertiary laptop:text-base [&_a]:text-brand-0 text-sm leading-snug [&_a]:underline\"\n html={cb.label}\n />\n </label>\n {checkboxErrors[i] && (\n <Text as=\"p\" className=\"text-error-0 laptop:text-base mt-2 text-sm\">\n {errorCheckboxRequired}\n </Text>\n )}\n </div>\n )\n })}\n </div>\n )}\n\n {/* \u63D0\u4EA4\u6309\u94AE */}\n <Button\n variant=\"primary\"\n size=\"lg\"\n loading={submitState === 'loading'}\n disabled={!canSubmit}\n onClick={handleSubmit}\n className={cn('w-full', classNames?.submitBtn)}\n >\n {submitBtnText}\n </Button>\n\n {/* \u63D0\u4EA4\u9519\u8BEF\uFF08\u5F39\u7A97\u6700\u5E95\u90E8\uFF09 */}\n {submitState === 'error-submit' && (\n <Text as=\"p\" className={cn('text-error-0 laptop:text-base text-sm', classNames?.errorText)}>\n {resolvedErrorMessage}\n </Text>\n )}\n </div>\n )}\n </DialogContent>\n </Dialog>\n )\n}\n\nNotifyMeDialog.displayName = 'NotifyMeDialog'\n\nexport default NotifyMeDialog\nexport type { NotifyMeDialogProps }\n"],
5
+ "mappings": "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",
6
+ "names": ["NotifyMeDialog_exports", "__export", "NotifyMeDialog_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_components", "import_helpers", "React", "import_useExposure", "componentType", "componentName", "EMAIL_REGEX", "NotifyMeDialog", "open", "onOpenChange", "copy", "classNames", "checkboxes", "subscriptionMeta", "onSubmit", "title", "subTitle", "emailLabel", "emailPlaceholder", "submitBtnText", "errorEmpty", "errorInvalidEmail", "errorCheckboxRequired", "errorSubmit", "errorSubmitDetail", "successTitle", "successDesc", "successBtnText", "notifyMeDialogRef", "email", "setEmail", "checkedStates", "setCheckedStates", "emailState", "setEmailState", "checkboxErrors", "setCheckboxErrors", "submitState", "setSubmitState", "errorCode", "setErrorCode", "resolvedErrorMessage", "d", "canSubmit", "updateCheckedState", "index", "prev", "next", "handleEmailChange", "e", "handleSubmit", "hasError", "newCheckboxErrors", "cb", "i", "checkedItems", "item", "err", "code", "timer", "handleOpenChange", "isOpen", "hasCheckboxes"]
7
+ }
@@ -0,0 +1,2 @@
1
+ export { default as NotifyMeDialog } from './NotifyMeDialog.js';
2
+ export type { NotifyMeDialogProps, NotifyMeDialogCopy, NotifyMeDialogSemanticName, CheckboxConfig, ErrorDetail, SubscribeFormData, SubscriptionMeta, } from './types.js';
@@ -0,0 +1,2 @@
1
+ "use strict";var y=Object.create;var a=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var D=Object.getPrototypeOf,g=Object.prototype.hasOwnProperty;var m=(o,e)=>{for(var i in e)a(o,i,{get:e[i],enumerable:!0})},f=(o,e,i,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of s(e))!g.call(o,t)&&t!==i&&a(o,t,{get:()=>e[t],enumerable:!(r=l(e,t))||r.enumerable});return o};var M=(o,e,i)=>(i=o!=null?y(D(o)):{},f(e||!o||!o.__esModule?a(i,"default",{value:o,enumerable:!0}):i,o)),N=o=>f(a({},"__esModule",{value:!0}),o);var b={};m(b,{NotifyMeDialog:()=>p.default});module.exports=N(b);var p=M(require("./NotifyMeDialog.js"));
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/biz-components/NotifyMeDialog/index.tsx"],
4
+ "sourcesContent": ["export { default as NotifyMeDialog } from './NotifyMeDialog.js'\nexport type {\n NotifyMeDialogProps,\n NotifyMeDialogCopy,\n NotifyMeDialogSemanticName,\n CheckboxConfig,\n ErrorDetail,\n SubscribeFormData,\n SubscriptionMeta,\n} from './types.js'\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,+CAAAE,EAAAF,GAAA,IAAAG,EAA0C",
6
+ "names": ["NotifyMeDialog_exports", "__export", "__toCommonJS", "import_NotifyMeDialog"]
7
+ }
@@ -0,0 +1,111 @@
1
+ /**
2
+ * CheckboxConfig - 勾选框配置
3
+ *
4
+ * 每项独立控制展示与提交限制,顺序按数组顺序渲染。
5
+ * label 有值时展示该项,无值时跳过不渲染。
6
+ */
7
+ export interface CheckboxConfig {
8
+ /** checkbox 名称标识,用于提交时识别选中了哪些项 */
9
+ checkbox_id: string;
10
+ /** checkbox 旁展示的文案;为空或不传则不渲染该 checkbox */
11
+ label: string;
12
+ /** 是否必须勾选才能提交;true 时未勾选则按钮 disabled;默认 false */
13
+ required?: boolean;
14
+ }
15
+ /**
16
+ * SubscriptionMeta - 订阅元数据
17
+ *
18
+ * 区分 OOS 到货通知和活动订阅两种模式,确保提交时携带正确的业务参数。
19
+ */
20
+ export type SubscriptionMeta = {
21
+ /** 固定值,标识 OOS 到货通知 */
22
+ mode: 'oos';
23
+ } | {
24
+ /** 固定值,标识活动订阅 */
25
+ mode: 'activity';
26
+ /** 活动标识,由业务层从 activeNotifyInfo 配置中读取 */
27
+ dealsType: string;
28
+ };
29
+ /**
30
+ * ErrorDetail - 按错误码映射错误提示
31
+ *
32
+ * 支持消费方根据接口返回的错误码配置不同的提示文案。
33
+ * code 匹配时显示对应 message;未匹配到则回退到 errorSubmit。
34
+ */
35
+ export interface ErrorDetail {
36
+ /** 错误码,如 "422"、"500" */
37
+ code: string;
38
+ /** 该错误码对应的提示文案 */
39
+ message: string;
40
+ }
41
+ /**
42
+ * NotifyMeDialogCopy - 文案配置
43
+ *
44
+ * 将弹窗内所有可配置文案集中到一个对象中,
45
+ * 方便从 CMS / 多语言配置层一次性传入。
46
+ */
47
+ export interface NotifyMeDialogCopy {
48
+ /** 弹窗主标题,如 "Email me when available" */
49
+ title: string;
50
+ /** 弹窗副标题;为空时不渲染 */
51
+ subTitle?: string;
52
+ /** 邮箱输入框占位文案 */
53
+ emailPlaceholder?: string;
54
+ /** 提交按钮文案 */
55
+ submitBtnText?: string;
56
+ /** 邮箱输入框标签文案,默认 "Email address" */
57
+ emailLabel?: string;
58
+ /** 邮箱输入框为空时的错误提示 */
59
+ errorEmpty: string;
60
+ /** 邮箱格式不合法时的错误提示 */
61
+ errorInvalidEmail: string;
62
+ /** 必选 checkbox 未勾选时的提示文案 */
63
+ errorCheckboxRequired: string;
64
+ /** 接口调用失败时的默认错误提示,当 errorSubmitDetail 中未匹配到对应 code 时使用 */
65
+ errorSubmit?: string;
66
+ /** 按错误码映射的错误提示,code 匹配到时显示对应 message;未传入或不匹配时回退到 errorSubmit */
67
+ errorSubmitDetail?: ErrorDetail[];
68
+ /** 提交成功后的主标题 */
69
+ successTitle: string;
70
+ /** 提交成功后的副文案;为空时不渲染 */
71
+ successDesc?: string;
72
+ /** 提交成功后的按钮文案;为空时不渲染按钮 */
73
+ successBtnText?: string;
74
+ }
75
+ /**
76
+ * NotifyMeDialogSemanticName - 组件语义化区域名
77
+ *
78
+ * 用于 classNames prop,按语义区域自定义样式。
79
+ * 未传入的 key 使用组件默认样式。
80
+ */
81
+ export type NotifyMeDialogSemanticName = 'root' | 'header' | 'title' | 'subTitle' | 'emailInput' | 'checkboxes' | 'checkboxItem' | 'submitBtn' | 'errorText' | 'successText';
82
+ /**
83
+ * SubscribeFormData - 提交时暴露的完整表单数据
84
+ */
85
+ export interface SubscribeFormData {
86
+ /** 用户输入的邮箱 */
87
+ email: string;
88
+ /** 各 checkbox 的状态列表,仅包含配置了 name 的项 */
89
+ checkedItems: {
90
+ checkbox_id: string;
91
+ checked: boolean;
92
+ }[];
93
+ /** 订阅元数据 */
94
+ meta: SubscriptionMeta;
95
+ }
96
+ export interface NotifyMeDialogProps {
97
+ /** 是否打开弹窗 */
98
+ open: boolean;
99
+ /** 关闭弹窗回调 */
100
+ onOpenChange: (open: boolean) => void;
101
+ /** 文案配置 */
102
+ copy: NotifyMeDialogCopy;
103
+ /** 各区域自定义样式 */
104
+ classNames?: Partial<Record<NotifyMeDialogSemanticName, string>>;
105
+ /** 勾选框列表,支持配置多个;每项 label 有值时展示,无值时跳过 */
106
+ checkboxes?: CheckboxConfig[];
107
+ /** 订阅元数据,区分 OOS / 活动两种模式 */
108
+ subscriptionMeta: SubscriptionMeta;
109
+ /** 提交回调,接收完整表单数据,业务层决定调哪个接口 */
110
+ onSubmit: (data: SubscribeFormData) => Promise<void>;
111
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var o=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var n=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var l=(t,e,s,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of n(e))!c.call(t,i)&&i!==s&&o(t,i,{get:()=>e[i],enumerable:!(r=a(e,i))||r.enumerable});return t};var b=t=>l(o({},"__esModule",{value:!0}),t);var g={};module.exports=b(g);
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/biz-components/NotifyMeDialog/types.ts"],
4
+ "sourcesContent": ["/**\n * CheckboxConfig - \u52FE\u9009\u6846\u914D\u7F6E\n *\n * \u6BCF\u9879\u72EC\u7ACB\u63A7\u5236\u5C55\u793A\u4E0E\u63D0\u4EA4\u9650\u5236\uFF0C\u987A\u5E8F\u6309\u6570\u7EC4\u987A\u5E8F\u6E32\u67D3\u3002\n * label \u6709\u503C\u65F6\u5C55\u793A\u8BE5\u9879\uFF0C\u65E0\u503C\u65F6\u8DF3\u8FC7\u4E0D\u6E32\u67D3\u3002\n */\nexport interface CheckboxConfig {\n /** checkbox \u540D\u79F0\u6807\u8BC6\uFF0C\u7528\u4E8E\u63D0\u4EA4\u65F6\u8BC6\u522B\u9009\u4E2D\u4E86\u54EA\u4E9B\u9879 */\n checkbox_id: string\n /** checkbox \u65C1\u5C55\u793A\u7684\u6587\u6848\uFF1B\u4E3A\u7A7A\u6216\u4E0D\u4F20\u5219\u4E0D\u6E32\u67D3\u8BE5 checkbox */\n label: string\n /** \u662F\u5426\u5FC5\u987B\u52FE\u9009\u624D\u80FD\u63D0\u4EA4\uFF1Btrue \u65F6\u672A\u52FE\u9009\u5219\u6309\u94AE disabled\uFF1B\u9ED8\u8BA4 false */\n required?: boolean\n}\n\n/**\n * SubscriptionMeta - \u8BA2\u9605\u5143\u6570\u636E\n *\n * \u533A\u5206 OOS \u5230\u8D27\u901A\u77E5\u548C\u6D3B\u52A8\u8BA2\u9605\u4E24\u79CD\u6A21\u5F0F\uFF0C\u786E\u4FDD\u63D0\u4EA4\u65F6\u643A\u5E26\u6B63\u786E\u7684\u4E1A\u52A1\u53C2\u6570\u3002\n */\nexport type SubscriptionMeta =\n | {\n /** \u56FA\u5B9A\u503C\uFF0C\u6807\u8BC6 OOS \u5230\u8D27\u901A\u77E5 */\n mode: 'oos'\n }\n | {\n /** \u56FA\u5B9A\u503C\uFF0C\u6807\u8BC6\u6D3B\u52A8\u8BA2\u9605 */\n mode: 'activity'\n /** \u6D3B\u52A8\u6807\u8BC6\uFF0C\u7531\u4E1A\u52A1\u5C42\u4ECE activeNotifyInfo \u914D\u7F6E\u4E2D\u8BFB\u53D6 */\n dealsType: string\n }\n\n/**\n * ErrorDetail - \u6309\u9519\u8BEF\u7801\u6620\u5C04\u9519\u8BEF\u63D0\u793A\n *\n * \u652F\u6301\u6D88\u8D39\u65B9\u6839\u636E\u63A5\u53E3\u8FD4\u56DE\u7684\u9519\u8BEF\u7801\u914D\u7F6E\u4E0D\u540C\u7684\u63D0\u793A\u6587\u6848\u3002\n * code \u5339\u914D\u65F6\u663E\u793A\u5BF9\u5E94 message\uFF1B\u672A\u5339\u914D\u5230\u5219\u56DE\u9000\u5230 errorSubmit\u3002\n */\nexport interface ErrorDetail {\n /** \u9519\u8BEF\u7801\uFF0C\u5982 \"422\"\u3001\"500\" */\n code: string\n /** \u8BE5\u9519\u8BEF\u7801\u5BF9\u5E94\u7684\u63D0\u793A\u6587\u6848 */\n message: string\n}\n\n/**\n * NotifyMeDialogCopy - \u6587\u6848\u914D\u7F6E\n *\n * \u5C06\u5F39\u7A97\u5185\u6240\u6709\u53EF\u914D\u7F6E\u6587\u6848\u96C6\u4E2D\u5230\u4E00\u4E2A\u5BF9\u8C61\u4E2D\uFF0C\n * \u65B9\u4FBF\u4ECE CMS / \u591A\u8BED\u8A00\u914D\u7F6E\u5C42\u4E00\u6B21\u6027\u4F20\u5165\u3002\n */\nexport interface NotifyMeDialogCopy {\n /** \u5F39\u7A97\u4E3B\u6807\u9898\uFF0C\u5982 \"Email me when available\" */\n title: string\n /** \u5F39\u7A97\u526F\u6807\u9898\uFF1B\u4E3A\u7A7A\u65F6\u4E0D\u6E32\u67D3 */\n subTitle?: string\n /** \u90AE\u7BB1\u8F93\u5165\u6846\u5360\u4F4D\u6587\u6848 */\n emailPlaceholder?: string\n /** \u63D0\u4EA4\u6309\u94AE\u6587\u6848 */\n submitBtnText?: string\n /** \u90AE\u7BB1\u8F93\u5165\u6846\u6807\u7B7E\u6587\u6848\uFF0C\u9ED8\u8BA4 \"Email address\" */\n emailLabel?: string\n /** \u90AE\u7BB1\u8F93\u5165\u6846\u4E3A\u7A7A\u65F6\u7684\u9519\u8BEF\u63D0\u793A */\n errorEmpty: string\n /** \u90AE\u7BB1\u683C\u5F0F\u4E0D\u5408\u6CD5\u65F6\u7684\u9519\u8BEF\u63D0\u793A */\n errorInvalidEmail: string\n /** \u5FC5\u9009 checkbox \u672A\u52FE\u9009\u65F6\u7684\u63D0\u793A\u6587\u6848 */\n errorCheckboxRequired: string\n /** \u63A5\u53E3\u8C03\u7528\u5931\u8D25\u65F6\u7684\u9ED8\u8BA4\u9519\u8BEF\u63D0\u793A\uFF0C\u5F53 errorSubmitDetail \u4E2D\u672A\u5339\u914D\u5230\u5BF9\u5E94 code \u65F6\u4F7F\u7528 */\n errorSubmit?: string\n /** \u6309\u9519\u8BEF\u7801\u6620\u5C04\u7684\u9519\u8BEF\u63D0\u793A\uFF0Ccode \u5339\u914D\u5230\u65F6\u663E\u793A\u5BF9\u5E94 message\uFF1B\u672A\u4F20\u5165\u6216\u4E0D\u5339\u914D\u65F6\u56DE\u9000\u5230 errorSubmit */\n errorSubmitDetail?: ErrorDetail[]\n /** \u63D0\u4EA4\u6210\u529F\u540E\u7684\u4E3B\u6807\u9898 */\n successTitle: string\n /** \u63D0\u4EA4\u6210\u529F\u540E\u7684\u526F\u6587\u6848\uFF1B\u4E3A\u7A7A\u65F6\u4E0D\u6E32\u67D3 */\n successDesc?: string\n /** \u63D0\u4EA4\u6210\u529F\u540E\u7684\u6309\u94AE\u6587\u6848\uFF1B\u4E3A\u7A7A\u65F6\u4E0D\u6E32\u67D3\u6309\u94AE */\n successBtnText?: string\n}\n\n/**\n * NotifyMeDialogSemanticName - \u7EC4\u4EF6\u8BED\u4E49\u5316\u533A\u57DF\u540D\n *\n * \u7528\u4E8E classNames prop\uFF0C\u6309\u8BED\u4E49\u533A\u57DF\u81EA\u5B9A\u4E49\u6837\u5F0F\u3002\n * \u672A\u4F20\u5165\u7684 key \u4F7F\u7528\u7EC4\u4EF6\u9ED8\u8BA4\u6837\u5F0F\u3002\n */\nexport type NotifyMeDialogSemanticName =\n | 'root'\n | 'header'\n | 'title'\n | 'subTitle'\n | 'emailInput'\n | 'checkboxes'\n | 'checkboxItem'\n | 'submitBtn'\n | 'errorText'\n | 'successText'\n\n/**\n * SubscribeFormData - \u63D0\u4EA4\u65F6\u66B4\u9732\u7684\u5B8C\u6574\u8868\u5355\u6570\u636E\n */\nexport interface SubscribeFormData {\n /** \u7528\u6237\u8F93\u5165\u7684\u90AE\u7BB1 */\n email: string\n /** \u5404 checkbox \u7684\u72B6\u6001\u5217\u8868\uFF0C\u4EC5\u5305\u542B\u914D\u7F6E\u4E86 name \u7684\u9879 */\n checkedItems: { checkbox_id: string; checked: boolean }[]\n /** \u8BA2\u9605\u5143\u6570\u636E */\n meta: SubscriptionMeta\n}\n\nexport interface NotifyMeDialogProps {\n /** \u662F\u5426\u6253\u5F00\u5F39\u7A97 */\n open: boolean\n /** \u5173\u95ED\u5F39\u7A97\u56DE\u8C03 */\n onOpenChange: (open: boolean) => void\n /** \u6587\u6848\u914D\u7F6E */\n copy: NotifyMeDialogCopy\n /** \u5404\u533A\u57DF\u81EA\u5B9A\u4E49\u6837\u5F0F */\n classNames?: Partial<Record<NotifyMeDialogSemanticName, string>>\n /** \u52FE\u9009\u6846\u5217\u8868\uFF0C\u652F\u6301\u914D\u7F6E\u591A\u4E2A\uFF1B\u6BCF\u9879 label \u6709\u503C\u65F6\u5C55\u793A\uFF0C\u65E0\u503C\u65F6\u8DF3\u8FC7 */\n checkboxes?: CheckboxConfig[]\n /** \u8BA2\u9605\u5143\u6570\u636E\uFF0C\u533A\u5206 OOS / \u6D3B\u52A8\u4E24\u79CD\u6A21\u5F0F */\n subscriptionMeta: SubscriptionMeta\n /** \u63D0\u4EA4\u56DE\u8C03\uFF0C\u63A5\u6536\u5B8C\u6574\u8868\u5355\u6570\u636E\uFF0C\u4E1A\u52A1\u5C42\u51B3\u5B9A\u8C03\u54EA\u4E2A\u63A5\u53E3 */\n onSubmit: (data: SubscribeFormData) => Promise<void>\n}\n"],
5
+ "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
+ "names": ["types_exports", "__toCommonJS"]
7
+ }
@@ -1,2 +1,2 @@
1
- "use strict";"use client";var he=Object.create;var T=Object.defineProperty;var ge=Object.getOwnPropertyDescriptor;var _e=Object.getOwnPropertyNames;var we=Object.getPrototypeOf,be=Object.prototype.hasOwnProperty;var ye=(t,n)=>{for(var i in n)T(t,i,{get:n[i],enumerable:!0})},A=(t,n,i,h)=>{if(n&&typeof n=="object"||typeof n=="function")for(let c of _e(n))!be.call(t,c)&&c!==i&&T(t,c,{get:()=>n[c],enumerable:!(h=ge(n,c))||h.enumerable});return t};var R=(t,n,i)=>(i=t!=null?he(we(t)):{},A(n||!t||!t.__esModule?T(i,"default",{value:t,enumerable:!0}):i,t)),Te=t=>A(T({},"__esModule",{value:!0}),t);var Re={};ye(Re,{default:()=>Ie});module.exports=Te(Re);var o=require("react/jsx-runtime"),s=R(require("react")),$=require("../../helpers/utils.js"),d=require("../../components/tabs.js"),O=R(require("../Title/index.js")),K=R(require("../SwiperBox/index.js")),Q=require("../../shared/Styles.js"),D=require("../../shared/track.js"),W=require("react-responsive"),Z=require("../../hooks/useRollout.js"),v=require("./shelfDisplayItem.js");const ve="image",Se="product_shelf",ke=t=>t==null?"default":String(t).replace(/[^a-zA-Z0-9_-]/g,"")||"default",q=s.default.forwardRef(({key:t,data:n,event:i,buildData:h,breakpoints:c,className:j="",recommendedData:p,target:F="_self",metafields:G,isDisplayGudgments:x=!1,isDisplayBackImage:J=!1,renderOriginalPrice:U,renderPriceLabel:X,renderPrice:Y,onAddCart:ee,onBuyNow:te,onLearnMore:se,formatPrice:ne,...ae},re)=>{const{productsTab:m=[],productsCard:M=[],title:P,isShowTab:w=!0,tabShape:ie="square",isShowTag:oe=!1,isShowOriginalPrice:le=!0,isShowRecommendedCard:C=!1,...ce}=n,[b,H]=(0,s.useState)(""),[f,S]=(0,s.useState)([]),L=(0,s.useRef)(!1),k=(0,s.useRef)(!1),V=(0,s.useRef)(null),me=(0,s.useId)(),fe=(0,W.useMediaQuery)({query:"(max-width: 768px)"}),[pe,B]=(0,Z.useRollout)({threshold:0}),y=f?.length<=1&&x,g=!fe&&f?.length<=2&&x,I=e=>{switch(e){case 1440:return g?f?.length:4;case 1024:return g?f?.length:3;default:return g?f?.length:2.3}},E=()=>{(0,D.gaTrack)({event:"ga4Event",event_name:"view_item_list",event_parameters:{page_group:"Home Page",item_list_name:"Home_Page_Bundle",items:p?.map((e,r)=>{const l=e?.variants?.find(a=>a?.sku===e?.sku)||e?.variants?.[0];return{item_id:e?.sku||l?.sku,item_name:e?.name,item_variant:l?.name,price:l?.price,index:r+1}})}})},_=(e,r)=>{if(r){const u=p?.map?.(l=>({...l,isShowRecommended:!0}));S(u?.length?u||[]:[])}else if(Array.isArray(e)){const l=e?.map?.(a=>{const z=h?.products?.find(de=>de?.handle===a?.handle);if(z)return{sku:a.sku,isShowRecommended:!1,custom_name:a.custom_name,custom_description:a.custom_description,custom_image:a.custom_image,custom_theme:a.custom_theme,custom_primary_link:a?.custom_primary_link||"",custom_secondary_link:a?.custom_secondary_link||"",custom_bg_image:a?.custom_bg_image||"",...z}})?.filter(a=>a);S(l?.length?l||[]:[])}else S([])};(0,s.useImperativeHandle)(re,()=>V.current),(0,s.useEffect)(()=>{B&&p?.length&&!L.current&&(L.current=!0,E())},[B,p]),(0,s.useEffect)(()=>{if(!k.current){if(!k.current&&p?.length&&(k.current=!0),w){const e=m?.find(r=>r?.tab===b)||m?.[0];H(e?.tab||""),_(e?.data||[],e?.isShowRecommendedTab);return}_(M,C)}},[p]),(0,s.useEffect)(()=>{if(w){const e=m?.find(r=>r?.tab===b)||m?.[0];_(e?.data||[],e?.isShowRecommendedTab);return}_(M,C)},[h]);const ue=ke(b),N=`${me}-${ue}`;return(0,o.jsxs)("div",{ref:V,...ae,className:(0,$.cn)("shelf-display-wrap text-info-primary w-full",j,{"aiui-dark":n?.theme==="dark"}),children:[P&&(0,o.jsx)(O.default,{data:{title:P}}),w&&m?.length>0&&(0,o.jsx)(d.Tabs,{value:b,onValueChange:e=>{const r=m?.find(u=>u?.tab===e);if(r){if(H(e),_(r.data||[],r.isShowRecommendedTab),!r.isShowRecommendedTab){(0,D.gaTrack)({event:"ga4Event",event_name:"component_click",event_parameters:{page_group:"Home Page",component_type:ve,component_name:Se,component_title:n?.title,component_position:1,navigation:e}});return}E()}},shape:ie==="rounded"?"rounded":"square",children:(0,o.jsx)(d.TabsList,{children:m.map(e=>(0,o.jsx)(d.TabsTrigger,{value:e?.tab,children:e?.tab||""},e?.id||e?.tab))})}),(0,o.jsx)("div",{ref:pe,className:"tablet:min-h-[393px] laptop:min-h-[425px] desktop:min-h-[405px] lg-desktop:min-h-[409px]",children:(0,o.jsx)(K.default,{data:{list:f,configuration:{...ce,event:i,isShowTag:oe,isShowOriginalPrice:le,target:F,metafields:G,itemLength:f?.length,isDisplayBackImage:J,renderOriginalPrice:U,renderPriceLabel:X,renderPrice:Y,onAddCart:ee,onBuyNow:te,onLearnMore:se,formatPrice:ne}},id:N,className:`${w?"mt-6":""} shelf-display-swiper-box !overflow-visible`,itemClassName:g?"flex-1":"",Slide:g?v.ShelfDisplayHorizontalItem:v.ShelfDisplayWrapItem,breakpoints:c||{0:{spaceBetween:12,freeMode:!1,slidesPerView:1},374:{spaceBetween:12,freeMode:!1,slidesPerView:y?1:1.2},768:{spaceBetween:y?0:16,freeMode:!1,slidesPerView:I()},1024:{spaceBetween:y?0:16,freeMode:!1,slidesPerView:I(1024)},1440:{spaceBetween:y?0:16,freeMode:!1,slidesPerView:I(1440)}}},N)})]})});q.displayName="ShelfDisplay";var Ie=(0,Q.withLayout)(q);
1
+ "use strict";"use client";var fe=Object.create;var w=Object.defineProperty;var de=Object.getOwnPropertyDescriptor;var he=Object.getOwnPropertyNames;var _e=Object.getPrototypeOf,ge=Object.prototype.hasOwnProperty;var be=(s,o)=>{for(var a in o)w(s,a,{get:o[a],enumerable:!0})},$=(s,o,a,m)=>{if(o&&typeof o=="object"||typeof o=="function")for(let p of he(o))!ge.call(s,p)&&p!==a&&w(s,p,{get:()=>o[p],enumerable:!(m=de(o,p))||m.enumerable});return s};var T=(s,o,a)=>(a=s!=null?fe(_e(s)):{},$(o||!s||!s.__esModule?w(a,"default",{value:s,enumerable:!0}):a,s)),we=s=>$(w({},"__esModule",{value:!0}),s);var Se={};be(Se,{default:()=>ke});module.exports=we(Se);var i=require("react/jsx-runtime"),t=T(require("react")),A=require("../../helpers/utils.js"),c=require("../../components/tabs.js"),Q=T(require("../Title/index.js")),W=T(require("../SwiperBox/index.js")),Z=require("../../shared/Styles.js"),D=require("../../shared/track.js"),j=require("react-responsive"),F=require("../../hooks/useRollout.js"),y=require("./shelfDisplayItem.js");const ye="image",ve="product_shelf",I=s=>s==null?"default":String(s).replace(/[^a-zA-Z0-9_-]/g,"")||"default";function x(s){return s.trim().replace(/\s+/g,"-")}const O=t.default.forwardRef(({key:s,data:o,event:a,buildData:m,breakpoints:p,className:J="",recommendedData:u,target:K="_self",metafields:U,isDisplayGudgments:h=!1,isDisplayBackImage:X=!1,renderOriginalPrice:Y,renderPriceLabel:G,renderPrice:ee,onAddCart:ne,onBuyNow:se,onLearnMore:te,formatPrice:oe,...re},ie)=>{const{productsTab:f=[],productsCard:R=[],title:M,isShowTab:_=!0,tabShape:ae="square",isShowTag:le=!1,isShowOriginalPrice:ce=!0,isShowRecommendedCard:B=!1,...me}=o,[g,P]=(0,t.useState)(""),V=(0,t.useRef)(!1),H=(0,t.useRef)(null),pe=(0,t.useId)(),v=(0,j.useMediaQuery)({query:"(max-width: 768px)"}),[L,C]=(0,F.useRollout)({threshold:0}),ue=I(pe),E=(0,t.useCallback)(e=>e.isShowRecommendedTab?u?.map(n=>({...n,isShowRecommended:!0}))||[]:e.data?.map(n=>{const r=m?.products?.find(l=>l?.handle===n?.handle);if(r)return{sku:n.sku,isShowRecommended:!1,custom_name:n.custom_name,custom_description:n.custom_description,custom_image:n.custom_image,custom_theme:n.custom_theme,custom_primary_link:n?.custom_primary_link||"",custom_secondary_link:n?.custom_secondary_link||"",custom_bg_image:n?.custom_bg_image||"",...r}}).filter(Boolean)||[],[m,u]),b=(0,t.useMemo)(()=>f.map(e=>({...e,resolvedData:E(e)})),[f,E]),k=(0,t.useMemo)(()=>B?u?.map(e=>({...e,isShowRecommended:!0}))||[]:R?.map(e=>{const n=m?.products?.find(r=>r?.handle===e?.handle);if(n)return{sku:e.sku,isShowRecommended:!1,custom_name:e.custom_name,custom_description:e.custom_description,custom_image:e.custom_image,custom_theme:e.custom_theme,custom_primary_link:e?.custom_primary_link||"",custom_secondary_link:e?.custom_secondary_link||"",custom_bg_image:e?.custom_bg_image||"",...n}}).filter(Boolean)||[],[R,m,u,B]),N=(0,t.useMemo)(()=>_?b.find(n=>x(n?.tab)===x(g))?.resolvedData||b[0]?.resolvedData||[]:k,[_,b,g,k]),Te=N?.length<=1&&h,xe=!v&&N?.length<=2&&h,S=(e,n)=>{const r=!v&&e?.length<=2&&h;switch(n){case 1440:return r?e?.length:4;case 1024:return r?e?.length:3;default:return r?e?.length:2.3}},z=()=>{(0,D.gaTrack)({event:"ga4Event",event_name:"view_item_list",event_parameters:{page_group:"Home Page",item_list_name:"Home_Page_Bundle",items:u?.map((e,n)=>{const l=e?.variants?.find(d=>d?.sku===e?.sku)||e?.variants?.[0];return{item_id:e?.sku||l?.sku,item_name:e?.name,item_variant:l?.name,price:l?.price,index:n+1}})}})};(0,t.useImperativeHandle)(ie,()=>H.current),(0,t.useEffect)(()=>{C&&u?.length&&!V.current&&(V.current=!0,z())},[C,u]),(0,t.useEffect)(()=>{_&&f?.length>0&&!g&&P(f[0]?.tab||"")},[]);const q=(e,n)=>{const r=`${ue}-${I(n)}`,l=!v&&e?.length<=2&&h,d=e?.length<=1&&h;return(0,i.jsx)(W.default,{data:{list:e,configuration:{...me,event:a,isShowTag:le,isShowOriginalPrice:ce,target:K,metafields:U,itemLength:e?.length,isDisplayBackImage:X,renderOriginalPrice:Y,renderPriceLabel:G,renderPrice:ee,onAddCart:ne,onBuyNow:se,onLearnMore:te,formatPrice:oe}},id:r,className:`${_?"mt-6":""} shelf-display-swiper-box !overflow-visible`,itemClassName:l?"flex-1":"",Slide:l?y.ShelfDisplayHorizontalItem:y.ShelfDisplayWrapItem,breakpoints:p||{0:{spaceBetween:12,freeMode:!1,slidesPerView:1},374:{spaceBetween:12,freeMode:!1,slidesPerView:d?1:1.2},768:{spaceBetween:d?0:16,freeMode:!1,slidesPerView:S(e)},1024:{spaceBetween:d?0:16,freeMode:!1,slidesPerView:S(e,1024)},1440:{spaceBetween:d?0:16,freeMode:!1,slidesPerView:S(e,1440)}}},r)};return(0,i.jsxs)("div",{ref:H,...re,className:(0,A.cn)("shelf-display-wrap text-info-primary w-full",J,{"aiui-dark":o?.theme==="dark"}),children:[M&&(0,i.jsx)(Q.default,{data:{title:M}}),_&&f?.length>0?(0,i.jsxs)(c.Tabs,{value:g,onValueChange:e=>{const n=f?.find(r=>x(r?.tab)===e);if(n){if(P(e),!n.isShowRecommendedTab){(0,D.gaTrack)({event:"ga4Event",event_name:"component_click",event_parameters:{page_group:"Home Page",component_type:ye,component_name:ve,component_title:o?.title,component_position:1,navigation:e}});return}z()}},shape:ae==="rounded"?"rounded":"square",children:[(0,i.jsx)(c.TabsList,{children:f.map(e=>(0,i.jsx)(c.TabsTrigger,{value:e?.tab,children:e?.tab||""},e?.id||e?.tab))}),b.map(e=>(0,i.jsx)(c.TabsContent,{value:e?.tab,children:(0,i.jsx)("div",{ref:L,className:"tablet:min-h-[393px] laptop:min-h-[425px] desktop:min-h-[405px] lg-desktop:min-h-[409px]",children:q(e.resolvedData||[],e?.tab||"")})},e?.id||e?.tab))]}):(0,i.jsx)("div",{ref:L,className:"tablet:min-h-[393px] laptop:min-h-[425px] desktop:min-h-[405px] lg-desktop:min-h-[409px]",children:q(k,"card")})]})});O.displayName="ShelfDisplay";var ke=(0,Z.withLayout)(O);
2
2
  //# sourceMappingURL=index.js.map