@anker-in/headless-ui 1.3.56 → 1.3.58

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 (324) 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/AddToCartSuccessPopover/index.d.ts +82 -0
  14. package/dist/cjs/biz-components/AccessoriesShelf/components/AddToCartSuccessPopover/index.js +2 -0
  15. package/dist/cjs/biz-components/AccessoriesShelf/components/AddToCartSuccessPopover/index.js.map +7 -0
  16. package/dist/cjs/biz-components/AccessoriesShelf/components/MainProductArea/index.d.ts +22 -0
  17. package/dist/cjs/biz-components/AccessoriesShelf/components/MainProductArea/index.js +2 -0
  18. package/dist/cjs/biz-components/AccessoriesShelf/components/MainProductArea/index.js.map +7 -0
  19. package/dist/cjs/biz-components/AccessoriesShelf/components/PromoBanner/index.d.ts +10 -0
  20. package/dist/cjs/biz-components/AccessoriesShelf/components/PromoBanner/index.js +2 -0
  21. package/dist/cjs/biz-components/AccessoriesShelf/components/PromoBanner/index.js.map +7 -0
  22. package/dist/cjs/biz-components/AccessoriesShelf/components/SectionHeader/index.d.ts +9 -0
  23. package/dist/cjs/biz-components/AccessoriesShelf/components/SectionHeader/index.js +2 -0
  24. package/dist/cjs/biz-components/AccessoriesShelf/components/SectionHeader/index.js.map +7 -0
  25. package/dist/cjs/biz-components/AccessoriesShelf/index.d.ts +9 -0
  26. package/dist/cjs/biz-components/AccessoriesShelf/index.js +2 -0
  27. package/dist/cjs/biz-components/AccessoriesShelf/index.js.map +7 -0
  28. package/dist/cjs/biz-components/AccessoriesShelf/types.d.ts +16 -0
  29. package/dist/cjs/biz-components/AccessoriesShelf/types.js +2 -0
  30. package/dist/cjs/biz-components/AccessoriesShelf/types.js.map +7 -0
  31. package/dist/cjs/biz-components/ActiveShelf/ProductCard.js +1 -1
  32. package/dist/cjs/biz-components/ActiveShelf/ProductCard.js.map +2 -2
  33. package/dist/cjs/biz-components/BuyOneGetOneShelf/PriceAndActions.js +1 -1
  34. package/dist/cjs/biz-components/BuyOneGetOneShelf/PriceAndActions.js.map +2 -2
  35. package/dist/cjs/biz-components/CartDetail/CartGiftSection/CartGiftSection.d.ts +15 -0
  36. package/dist/cjs/biz-components/CartDetail/CartGiftSection/CartGiftSection.js +2 -0
  37. package/dist/cjs/biz-components/CartDetail/CartGiftSection/CartGiftSection.js.map +7 -0
  38. package/dist/cjs/biz-components/CartDetail/CartGiftSection/components/GiftConfirmDialog/GiftConfirmDialog.d.ts +11 -0
  39. package/dist/cjs/biz-components/CartDetail/CartGiftSection/components/GiftConfirmDialog/GiftConfirmDialog.js +2 -0
  40. package/dist/cjs/biz-components/CartDetail/CartGiftSection/components/GiftConfirmDialog/GiftConfirmDialog.js.map +7 -0
  41. package/dist/cjs/biz-components/CartDetail/CartGiftSection/components/GiftConfirmDialog/index.d.ts +2 -0
  42. package/dist/cjs/biz-components/CartDetail/CartGiftSection/components/GiftConfirmDialog/index.js +2 -0
  43. package/dist/cjs/biz-components/CartDetail/CartGiftSection/components/GiftConfirmDialog/index.js.map +7 -0
  44. package/dist/cjs/biz-components/CartDetail/CartGiftSection/components/GiftOptionRow/GiftOptionRow.d.ts +14 -0
  45. package/dist/cjs/biz-components/CartDetail/CartGiftSection/components/GiftOptionRow/GiftOptionRow.js +2 -0
  46. package/dist/cjs/biz-components/CartDetail/CartGiftSection/components/GiftOptionRow/GiftOptionRow.js.map +7 -0
  47. package/dist/cjs/biz-components/CartDetail/CartGiftSection/components/GiftOptionRow/index.d.ts +2 -0
  48. package/dist/cjs/biz-components/CartDetail/CartGiftSection/components/GiftOptionRow/index.js +2 -0
  49. package/dist/cjs/biz-components/CartDetail/CartGiftSection/components/GiftOptionRow/index.js.map +7 -0
  50. package/dist/cjs/biz-components/CartDetail/CartGiftSection/index.d.ts +2 -0
  51. package/dist/cjs/biz-components/CartDetail/CartGiftSection/index.js +2 -0
  52. package/dist/cjs/biz-components/CartDetail/CartGiftSection/index.js.map +7 -0
  53. package/dist/cjs/biz-components/CartDetail/CartItemRow/CartItemRow.d.ts +56 -0
  54. package/dist/cjs/biz-components/CartDetail/CartItemRow/CartItemRow.js +2 -0
  55. package/dist/cjs/biz-components/CartDetail/CartItemRow/CartItemRow.js.map +7 -0
  56. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/CartItemGiftShipping.d.ts +4 -0
  57. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/CartItemGiftShipping.js +2 -0
  58. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/CartItemGiftShipping.js.map +7 -0
  59. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/index.d.ts +2 -0
  60. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/index.js +2 -0
  61. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/index.js.map +7 -0
  62. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/types.d.ts +10 -0
  63. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/types.js +2 -0
  64. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/types.js.map +7 -0
  65. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemInfo/CartItemInfo.d.ts +11 -0
  66. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemInfo/CartItemInfo.js +2 -0
  67. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemInfo/CartItemInfo.js.map +7 -0
  68. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemInfo/index.d.ts +2 -0
  69. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemInfo/index.js +2 -0
  70. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemInfo/index.js.map +7 -0
  71. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemKsp/CartItemKsp.d.ts +13 -0
  72. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemKsp/CartItemKsp.js +2 -0
  73. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemKsp/CartItemKsp.js.map +7 -0
  74. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemKsp/index.d.ts +2 -0
  75. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemKsp/index.js +2 -0
  76. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemKsp/index.js.map +7 -0
  77. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/CartItemRemoveConfirm.d.ts +4 -0
  78. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/CartItemRemoveConfirm.js +2 -0
  79. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/CartItemRemoveConfirm.js.map +7 -0
  80. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/index.d.ts +2 -0
  81. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/index.js +2 -0
  82. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/index.js.map +7 -0
  83. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/types.d.ts +11 -0
  84. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/types.js +2 -0
  85. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/types.js.map +7 -0
  86. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemShipping/CartItemShipping.d.ts +8 -0
  87. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemShipping/CartItemShipping.js +2 -0
  88. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemShipping/CartItemShipping.js.map +7 -0
  89. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemShipping/index.d.ts +2 -0
  90. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemShipping/index.js +2 -0
  91. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemShipping/index.js.map +7 -0
  92. package/dist/cjs/biz-components/CartDetail/CartItemRow/index.d.ts +2 -0
  93. package/dist/cjs/biz-components/CartDetail/CartItemRow/index.js +2 -0
  94. package/dist/cjs/biz-components/CartDetail/CartItemRow/index.js.map +7 -0
  95. package/dist/cjs/biz-components/CartDetail/CartPerksSection/CartPerksSection.d.ts +34 -0
  96. package/dist/cjs/biz-components/CartDetail/CartPerksSection/CartPerksSection.js +2 -0
  97. package/dist/cjs/biz-components/CartDetail/CartPerksSection/CartPerksSection.js.map +7 -0
  98. package/dist/cjs/biz-components/CartDetail/CartPerksSection/index.d.ts +2 -0
  99. package/dist/cjs/biz-components/CartDetail/CartPerksSection/index.js +2 -0
  100. package/dist/cjs/biz-components/CartDetail/CartPerksSection/index.js.map +7 -0
  101. package/dist/cjs/biz-components/CartDetail/CartPriceSummary/CartPriceSummary.d.ts +49 -0
  102. package/dist/cjs/biz-components/CartDetail/CartPriceSummary/CartPriceSummary.js +2 -0
  103. package/dist/cjs/biz-components/CartDetail/CartPriceSummary/CartPriceSummary.js.map +7 -0
  104. package/dist/cjs/biz-components/CartDetail/CartPriceSummary/index.d.ts +2 -0
  105. package/dist/cjs/biz-components/CartDetail/CartPriceSummary/index.js +2 -0
  106. package/dist/cjs/biz-components/CartDetail/CartPriceSummary/index.js.map +7 -0
  107. package/dist/cjs/biz-components/CartDetail/CartSummaryHeader/CartSummaryHeader.d.ts +26 -0
  108. package/dist/cjs/biz-components/CartDetail/CartSummaryHeader/CartSummaryHeader.js +2 -0
  109. package/dist/cjs/biz-components/CartDetail/CartSummaryHeader/CartSummaryHeader.js.map +7 -0
  110. package/dist/cjs/biz-components/CartDetail/CartSummaryHeader/index.d.ts +2 -0
  111. package/dist/cjs/biz-components/CartDetail/CartSummaryHeader/index.js +2 -0
  112. package/dist/cjs/biz-components/CartDetail/CartSummaryHeader/index.js.map +7 -0
  113. package/dist/cjs/biz-components/CartDetail/CartThirdParty/CartThirdParty.d.ts +10 -0
  114. package/dist/cjs/biz-components/CartDetail/CartThirdParty/CartThirdParty.js +2 -0
  115. package/dist/cjs/biz-components/CartDetail/CartThirdParty/CartThirdParty.js.map +7 -0
  116. package/dist/cjs/biz-components/CartDetail/CartThirdParty/index.d.ts +2 -0
  117. package/dist/cjs/biz-components/CartDetail/CartThirdParty/index.js +2 -0
  118. package/dist/cjs/biz-components/CartDetail/CartThirdParty/index.js.map +7 -0
  119. package/dist/cjs/biz-components/CartDetail/index.d.ts +16 -0
  120. package/dist/cjs/biz-components/CartDetail/index.js +2 -0
  121. package/dist/cjs/biz-components/CartDetail/index.js.map +7 -0
  122. package/dist/cjs/biz-components/CartDetail/types.d.ts +132 -0
  123. package/dist/cjs/biz-components/CartDetail/types.js +2 -0
  124. package/dist/cjs/biz-components/CartDetail/types.js.map +7 -0
  125. package/dist/cjs/biz-components/CreditsShelf/ProductCard.js +1 -1
  126. package/dist/cjs/biz-components/CreditsShelf/ProductCard.js.map +2 -2
  127. package/dist/cjs/biz-components/HeaderNavigation/index.js +1 -1
  128. package/dist/cjs/biz-components/HeaderNavigation/index.js.map +2 -2
  129. package/dist/cjs/biz-components/ImageOverlayShelf/ProductCard.js +1 -1
  130. package/dist/cjs/biz-components/ImageOverlayShelf/ProductCard.js.map +2 -2
  131. package/dist/cjs/biz-components/MediaShelf/ProductCard.js +1 -1
  132. package/dist/cjs/biz-components/MediaShelf/ProductCard.js.map +2 -2
  133. package/dist/cjs/biz-components/SceneShelf/ProductsPanel.js +1 -1
  134. package/dist/cjs/biz-components/SceneShelf/ProductsPanel.js.map +2 -2
  135. package/dist/cjs/biz-components/SceneShelfV2/index.js +1 -1
  136. package/dist/cjs/biz-components/SceneShelfV2/index.js.map +2 -2
  137. package/dist/cjs/biz-components/SceneShelfV3/ProductCard.js +1 -1
  138. package/dist/cjs/biz-components/SceneShelfV3/ProductCard.js.map +2 -2
  139. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplayItem.js +1 -1
  140. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplayItem.js.map +2 -2
  141. package/dist/cjs/biz-components/index.d.ts +6 -0
  142. package/dist/cjs/biz-components/index.js +1 -1
  143. package/dist/cjs/biz-components/index.js.map +3 -3
  144. package/dist/cjs/components/breadcrumb.d.ts +12 -0
  145. package/dist/cjs/components/breadcrumb.js +2 -0
  146. package/dist/cjs/components/breadcrumb.js.map +7 -0
  147. package/dist/cjs/components/index.d.ts +3 -1
  148. package/dist/cjs/components/index.js +1 -1
  149. package/dist/cjs/components/index.js.map +3 -3
  150. package/dist/cjs/components/input-number.d.ts +22 -0
  151. package/dist/cjs/components/input-number.js +1 -1
  152. package/dist/cjs/components/input-number.js.map +3 -3
  153. package/dist/cjs/components/input.d.ts +5 -0
  154. package/dist/cjs/components/input.js +1 -1
  155. package/dist/cjs/components/input.js.map +3 -3
  156. package/dist/cjs/components/popover.d.ts +17 -2
  157. package/dist/cjs/components/popover.js +1 -1
  158. package/dist/cjs/components/popover.js.map +3 -3
  159. package/dist/cjs/components/toast.d.ts +25 -0
  160. package/dist/cjs/components/toast.js +2 -0
  161. package/dist/cjs/components/toast.js.map +7 -0
  162. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoriesProductGrid/index.d.ts +11 -0
  163. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoriesProductGrid/index.js +2 -0
  164. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoriesProductGrid/index.js.map +7 -0
  165. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/ProductCard.d.ts +23 -0
  166. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/ProductCard.js +2 -0
  167. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/ProductCard.js.map +7 -0
  168. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/index.d.ts +40 -0
  169. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/index.js +2 -0
  170. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/index.js.map +7 -0
  171. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/types.d.ts +107 -0
  172. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/types.js +1 -0
  173. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/types.js.map +7 -0
  174. package/dist/esm/biz-components/AccessoriesShelf/components/AddToCartSuccessPopover/index.d.ts +82 -0
  175. package/dist/esm/biz-components/AccessoriesShelf/components/AddToCartSuccessPopover/index.js +2 -0
  176. package/dist/esm/biz-components/AccessoriesShelf/components/AddToCartSuccessPopover/index.js.map +7 -0
  177. package/dist/esm/biz-components/AccessoriesShelf/components/MainProductArea/index.d.ts +22 -0
  178. package/dist/esm/biz-components/AccessoriesShelf/components/MainProductArea/index.js +2 -0
  179. package/dist/esm/biz-components/AccessoriesShelf/components/MainProductArea/index.js.map +7 -0
  180. package/dist/esm/biz-components/AccessoriesShelf/components/PromoBanner/index.d.ts +10 -0
  181. package/dist/esm/biz-components/AccessoriesShelf/components/PromoBanner/index.js +2 -0
  182. package/dist/esm/biz-components/AccessoriesShelf/components/PromoBanner/index.js.map +7 -0
  183. package/dist/esm/biz-components/AccessoriesShelf/components/SectionHeader/index.d.ts +9 -0
  184. package/dist/esm/biz-components/AccessoriesShelf/components/SectionHeader/index.js +2 -0
  185. package/dist/esm/biz-components/AccessoriesShelf/components/SectionHeader/index.js.map +7 -0
  186. package/dist/esm/biz-components/AccessoriesShelf/index.d.ts +9 -0
  187. package/dist/esm/biz-components/AccessoriesShelf/index.js +2 -0
  188. package/dist/esm/biz-components/AccessoriesShelf/index.js.map +7 -0
  189. package/dist/esm/biz-components/AccessoriesShelf/types.d.ts +16 -0
  190. package/dist/esm/biz-components/AccessoriesShelf/types.js +1 -0
  191. package/dist/esm/biz-components/AccessoriesShelf/types.js.map +7 -0
  192. package/dist/esm/biz-components/ActiveShelf/ProductCard.js +1 -1
  193. package/dist/esm/biz-components/ActiveShelf/ProductCard.js.map +2 -2
  194. package/dist/esm/biz-components/BuyOneGetOneShelf/PriceAndActions.js +1 -1
  195. package/dist/esm/biz-components/BuyOneGetOneShelf/PriceAndActions.js.map +2 -2
  196. package/dist/esm/biz-components/CartDetail/CartGiftSection/CartGiftSection.d.ts +15 -0
  197. package/dist/esm/biz-components/CartDetail/CartGiftSection/CartGiftSection.js +2 -0
  198. package/dist/esm/biz-components/CartDetail/CartGiftSection/CartGiftSection.js.map +7 -0
  199. package/dist/esm/biz-components/CartDetail/CartGiftSection/components/GiftConfirmDialog/GiftConfirmDialog.d.ts +11 -0
  200. package/dist/esm/biz-components/CartDetail/CartGiftSection/components/GiftConfirmDialog/GiftConfirmDialog.js +2 -0
  201. package/dist/esm/biz-components/CartDetail/CartGiftSection/components/GiftConfirmDialog/GiftConfirmDialog.js.map +7 -0
  202. package/dist/esm/biz-components/CartDetail/CartGiftSection/components/GiftConfirmDialog/index.d.ts +2 -0
  203. package/dist/esm/biz-components/CartDetail/CartGiftSection/components/GiftConfirmDialog/index.js +2 -0
  204. package/dist/esm/biz-components/CartDetail/CartGiftSection/components/GiftConfirmDialog/index.js.map +7 -0
  205. package/dist/esm/biz-components/CartDetail/CartGiftSection/components/GiftOptionRow/GiftOptionRow.d.ts +14 -0
  206. package/dist/esm/biz-components/CartDetail/CartGiftSection/components/GiftOptionRow/GiftOptionRow.js +2 -0
  207. package/dist/esm/biz-components/CartDetail/CartGiftSection/components/GiftOptionRow/GiftOptionRow.js.map +7 -0
  208. package/dist/esm/biz-components/CartDetail/CartGiftSection/components/GiftOptionRow/index.d.ts +2 -0
  209. package/dist/esm/biz-components/CartDetail/CartGiftSection/components/GiftOptionRow/index.js +2 -0
  210. package/dist/esm/biz-components/CartDetail/CartGiftSection/components/GiftOptionRow/index.js.map +7 -0
  211. package/dist/esm/biz-components/CartDetail/CartGiftSection/index.d.ts +2 -0
  212. package/dist/esm/biz-components/CartDetail/CartGiftSection/index.js +2 -0
  213. package/dist/esm/biz-components/CartDetail/CartGiftSection/index.js.map +7 -0
  214. package/dist/esm/biz-components/CartDetail/CartItemRow/CartItemRow.d.ts +56 -0
  215. package/dist/esm/biz-components/CartDetail/CartItemRow/CartItemRow.js +2 -0
  216. package/dist/esm/biz-components/CartDetail/CartItemRow/CartItemRow.js.map +7 -0
  217. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/CartItemGiftShipping.d.ts +4 -0
  218. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/CartItemGiftShipping.js +2 -0
  219. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/CartItemGiftShipping.js.map +7 -0
  220. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/index.d.ts +2 -0
  221. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/index.js +2 -0
  222. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/index.js.map +7 -0
  223. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/types.d.ts +10 -0
  224. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/types.js +1 -0
  225. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/types.js.map +7 -0
  226. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemInfo/CartItemInfo.d.ts +11 -0
  227. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemInfo/CartItemInfo.js +2 -0
  228. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemInfo/CartItemInfo.js.map +7 -0
  229. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemInfo/index.d.ts +2 -0
  230. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemInfo/index.js +2 -0
  231. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemInfo/index.js.map +7 -0
  232. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemKsp/CartItemKsp.d.ts +13 -0
  233. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemKsp/CartItemKsp.js +2 -0
  234. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemKsp/CartItemKsp.js.map +7 -0
  235. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemKsp/index.d.ts +2 -0
  236. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemKsp/index.js +2 -0
  237. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemKsp/index.js.map +7 -0
  238. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/CartItemRemoveConfirm.d.ts +4 -0
  239. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/CartItemRemoveConfirm.js +2 -0
  240. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/CartItemRemoveConfirm.js.map +7 -0
  241. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/index.d.ts +2 -0
  242. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/index.js +2 -0
  243. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/index.js.map +7 -0
  244. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/types.d.ts +11 -0
  245. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/types.js +1 -0
  246. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/types.js.map +7 -0
  247. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemShipping/CartItemShipping.d.ts +8 -0
  248. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemShipping/CartItemShipping.js +2 -0
  249. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemShipping/CartItemShipping.js.map +7 -0
  250. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemShipping/index.d.ts +2 -0
  251. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemShipping/index.js +2 -0
  252. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemShipping/index.js.map +7 -0
  253. package/dist/esm/biz-components/CartDetail/CartItemRow/index.d.ts +2 -0
  254. package/dist/esm/biz-components/CartDetail/CartItemRow/index.js +2 -0
  255. package/dist/esm/biz-components/CartDetail/CartItemRow/index.js.map +7 -0
  256. package/dist/esm/biz-components/CartDetail/CartPerksSection/CartPerksSection.d.ts +34 -0
  257. package/dist/esm/biz-components/CartDetail/CartPerksSection/CartPerksSection.js +2 -0
  258. package/dist/esm/biz-components/CartDetail/CartPerksSection/CartPerksSection.js.map +7 -0
  259. package/dist/esm/biz-components/CartDetail/CartPerksSection/index.d.ts +2 -0
  260. package/dist/esm/biz-components/CartDetail/CartPerksSection/index.js +2 -0
  261. package/dist/esm/biz-components/CartDetail/CartPerksSection/index.js.map +7 -0
  262. package/dist/esm/biz-components/CartDetail/CartPriceSummary/CartPriceSummary.d.ts +49 -0
  263. package/dist/esm/biz-components/CartDetail/CartPriceSummary/CartPriceSummary.js +2 -0
  264. package/dist/esm/biz-components/CartDetail/CartPriceSummary/CartPriceSummary.js.map +7 -0
  265. package/dist/esm/biz-components/CartDetail/CartPriceSummary/index.d.ts +2 -0
  266. package/dist/esm/biz-components/CartDetail/CartPriceSummary/index.js +2 -0
  267. package/dist/esm/biz-components/CartDetail/CartPriceSummary/index.js.map +7 -0
  268. package/dist/esm/biz-components/CartDetail/CartSummaryHeader/CartSummaryHeader.d.ts +26 -0
  269. package/dist/esm/biz-components/CartDetail/CartSummaryHeader/CartSummaryHeader.js +2 -0
  270. package/dist/esm/biz-components/CartDetail/CartSummaryHeader/CartSummaryHeader.js.map +7 -0
  271. package/dist/esm/biz-components/CartDetail/CartSummaryHeader/index.d.ts +2 -0
  272. package/dist/esm/biz-components/CartDetail/CartSummaryHeader/index.js +2 -0
  273. package/dist/esm/biz-components/CartDetail/CartSummaryHeader/index.js.map +7 -0
  274. package/dist/esm/biz-components/CartDetail/CartThirdParty/CartThirdParty.d.ts +10 -0
  275. package/dist/esm/biz-components/CartDetail/CartThirdParty/CartThirdParty.js +2 -0
  276. package/dist/esm/biz-components/CartDetail/CartThirdParty/CartThirdParty.js.map +7 -0
  277. package/dist/esm/biz-components/CartDetail/CartThirdParty/index.d.ts +2 -0
  278. package/dist/esm/biz-components/CartDetail/CartThirdParty/index.js +2 -0
  279. package/dist/esm/biz-components/CartDetail/CartThirdParty/index.js.map +7 -0
  280. package/dist/esm/biz-components/CartDetail/index.d.ts +16 -0
  281. package/dist/esm/biz-components/CartDetail/index.js +2 -0
  282. package/dist/esm/biz-components/CartDetail/index.js.map +7 -0
  283. package/dist/esm/biz-components/CartDetail/types.d.ts +132 -0
  284. package/dist/esm/biz-components/CartDetail/types.js +1 -0
  285. package/dist/esm/biz-components/CartDetail/types.js.map +7 -0
  286. package/dist/esm/biz-components/CreditsShelf/ProductCard.js +1 -1
  287. package/dist/esm/biz-components/CreditsShelf/ProductCard.js.map +2 -2
  288. package/dist/esm/biz-components/HeaderNavigation/index.js +1 -1
  289. package/dist/esm/biz-components/HeaderNavigation/index.js.map +2 -2
  290. package/dist/esm/biz-components/ImageOverlayShelf/ProductCard.js +1 -1
  291. package/dist/esm/biz-components/ImageOverlayShelf/ProductCard.js.map +2 -2
  292. package/dist/esm/biz-components/MediaShelf/ProductCard.js +1 -1
  293. package/dist/esm/biz-components/MediaShelf/ProductCard.js.map +2 -2
  294. package/dist/esm/biz-components/SceneShelf/ProductsPanel.js +1 -1
  295. package/dist/esm/biz-components/SceneShelf/ProductsPanel.js.map +2 -2
  296. package/dist/esm/biz-components/SceneShelfV2/index.js +1 -1
  297. package/dist/esm/biz-components/SceneShelfV2/index.js.map +2 -2
  298. package/dist/esm/biz-components/SceneShelfV3/ProductCard.js +1 -1
  299. package/dist/esm/biz-components/SceneShelfV3/ProductCard.js.map +2 -2
  300. package/dist/esm/biz-components/ShelfDisplay/shelfDisplayItem.js +1 -1
  301. package/dist/esm/biz-components/ShelfDisplay/shelfDisplayItem.js.map +2 -2
  302. package/dist/esm/biz-components/index.d.ts +6 -0
  303. package/dist/esm/biz-components/index.js +1 -1
  304. package/dist/esm/biz-components/index.js.map +3 -3
  305. package/dist/esm/components/breadcrumb.d.ts +12 -0
  306. package/dist/esm/components/breadcrumb.js +2 -0
  307. package/dist/esm/components/breadcrumb.js.map +7 -0
  308. package/dist/esm/components/index.d.ts +3 -1
  309. package/dist/esm/components/index.js +1 -1
  310. package/dist/esm/components/index.js.map +3 -3
  311. package/dist/esm/components/input-number.d.ts +22 -0
  312. package/dist/esm/components/input-number.js +1 -1
  313. package/dist/esm/components/input-number.js.map +3 -3
  314. package/dist/esm/components/input.d.ts +5 -0
  315. package/dist/esm/components/input.js +1 -1
  316. package/dist/esm/components/input.js.map +3 -3
  317. package/dist/esm/components/popover.d.ts +17 -2
  318. package/dist/esm/components/popover.js +1 -1
  319. package/dist/esm/components/popover.js.map +3 -3
  320. package/dist/esm/components/toast.d.ts +25 -0
  321. package/dist/esm/components/toast.js +2 -0
  322. package/dist/esm/components/toast.js.map +7 -0
  323. package/package.json +1 -1
  324. package/style.css +285 -6
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/biz-components/CartDetail/CartPriceSummary/CartPriceSummary.tsx"],
4
+ "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { cn } from '../../../helpers/index.js'\nimport { Button, Input, InputSlot } from '../../../components/index.js'\nimport { DEFAULT_CART_COPY } from '../index.js'\nimport type { CartPriceSummaryCopy } from '../types.js'\n\n// \u2500\u2500 Icon: Chevron right \u2500\u2500\nconst DownIcon = ({ className }: { className?: string }) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className={cn('shrink-0', className)}\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n fill=\"currentColor\"\n d=\"M11.5286 5.52827C11.789 5.26792 12.211 5.26792 12.4713 5.52827C12.7317 5.78862 12.7317 6.21063 12.4713 6.47098L8.47134 10.471C8.211 10.7313 7.78899 10.7313 7.52864 10.471L3.52864 6.47098C3.26829 6.21063 3.26829 5.78862 3.52864 5.52827C3.78899 5.26792 4.211 5.26792 4.47134 5.52827L7.99999 9.05692L11.5286 5.52827Z\"\n />\n </svg>\n)\n\n// \u2500\u2500 Icon: Close (used in coupon tag remove button) \u2500\u2500\nconst CloseIcon = ({ className }: { className?: string }) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"8\"\n height=\"8\"\n viewBox=\"0 0 8 8\"\n fill=\"none\"\n className={cn('shrink-0', className)}\n >\n <path\n d=\"M0.182919 0.183095C0.426997 -0.0609829 0.822822 -0.0610803 1.0668 0.183095L3.56999 2.68858L6.07548 0.183095C6.31954 -0.0609728 6.71538 -0.0610506 6.95936 0.183095C7.20328 0.427211 7.20326 0.822886 6.95936 1.06698L4.45387 3.57247L6.95706 6.07795C7.20096 6.32205 7.20091 6.71774 6.95706 6.96184C6.71298 7.20588 6.31714 7.206 6.07317 6.96184L3.56999 4.45635L1.0668 6.95953C0.822725 7.20361 0.426899 7.20371 0.182919 6.95953C-0.0609731 6.71542 -0.0609728 6.31973 0.182919 6.07565L2.6861 3.57247L0.182919 1.06698C-0.0609927 0.822872 -0.060953 0.427189 0.182919 0.183095Z\"\n fill=\"#767880\"\n />\n </svg>\n)\n\n// \u2500\u2500 Icon: Info \u2500\u2500\nconst InfoIcon = ({ className }: { className?: string }) => (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={cn('shrink-0', className)}\n >\n <circle cx=\"10\" cy=\"10\" r=\"7.5\" stroke=\"currentColor\" strokeWidth=\"1.5\" />\n <path d=\"M10 9V14M10 6V6.5\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" />\n </svg>\n)\n\nexport interface CartPriceSummaryProps {\n /** \u6298\u6263\u7801\u8F93\u5165\u6846\u7684\u503C */\n couponInputValue?: string\n /** \u6298\u6263\u7801\u8F93\u5165\u53D8\u5316\u56DE\u8C03 */\n onCouponInputChange?: (value: string) => void\n /** \u70B9\u51FB\u5E94\u7528\u6298\u6263\u7801\u56DE\u8C03\uFF0C\u53C2\u6570\u4E3A\u8F93\u5165\u6846\u4E2D\u7684\u6298\u6263\u7801 */\n onCouponApply?: (code: string) => void\n /** \u5DF2\u5E94\u7528\u7684\u6298\u6263\u7801\u5217\u8868 */\n appliedCoupons?: string[]\n /** \u79FB\u9664\u6298\u6263\u7801\u56DE\u8C03\uFF0C\u53C2\u6570\u4E3A\u6298\u6263\u7801 */\n onCouponRemove?: (code: string) => void\n /** \u6298\u6263\u7801\u5E94\u7528\u6309\u94AE loading \u72B6\u6001 */\n couponLoading?: boolean\n\n /** \u5C0F\u8BA1\u91D1\u989D\uFF08\u683C\u5F0F\u5316\u5B57\u7B26\u4E32\uFF0C\u542B\u8D27\u5E01\u7B26\u53F7\uFF09 */\n subtotal?: string\n /** \u8FD0\u8D39\u6587\u6848 */\n shipping?: string\n /** \u7A0E\u8D39\u6587\u6848 */\n taxes?: string\n\n /** \u4EA7\u54C1\u6298\u6263\u91D1\u989D\uFF08\u683C\u5F0F\u5316\u5B57\u7B26\u4E32\uFF0C\u542B\u8D27\u5E01\u7B26\u53F7\u548C\u8D1F\u53F7\uFF09 */\n productDiscount?: string\n /** \u8BA2\u5355\u6298\u6263\u91D1\u989D\uFF08\u683C\u5F0F\u5316\u5B57\u7B26\u4E32\uFF0C\u542B\u8D27\u5E01\u7B26\u53F7\u548C\u8D1F\u53F7\uFF09 */\n orderDiscount?: string\n\n /** \u6298\u6263\u603B\u8BA1\uFF08\u683C\u5F0F\u5316\u5B57\u7B26\u4E32\uFF0C\u542B\u8D27\u5E01\u7B26\u53F7\u548C\u8D1F\u53F7\uFF09 */\n discountTotal?: string\n /** \u6700\u7EC8\u603B\u4EF7\uFF08\u683C\u5F0F\u5316\u5B57\u7B26\u4E32\uFF0C\u542B\u8D27\u5E01\u7B26\u53F7\uFF09 */\n total?: string\n\n /** \u7ED3\u8D26\u6309\u94AE\u70B9\u51FB\u56DE\u8C03 */\n onCheckout?: () => void\n\n /** \u662F\u5426\u663E\u793A\u73B0\u91D1\u51CF\u514D\u63D0\u793A */\n showCashReduction?: boolean\n /** \u662F\u5426\u663E\u793A\u5206\u671F\u4ED8\u6B3E\u4FE1\u606F */\n showInstallment?: boolean\n /** \u5206\u671F\u4ED8\u6B3E\u652F\u4ED8\u65B9\u5F0F\u56FE\u6807\u5217\u8868 */\n installmentIcons?: { src: string; alt?: string }[]\n\n /** \u6587\u6848\u8986\u76D6\uFF0C\u7528\u4E8E\u56FD\u9645\u5316 */\n copy?: CartPriceSummaryCopy\n /** \u6839\u5BB9\u5668 className */\n className?: string\n /** \u8BED\u4E49\u5316\u7C7B\u540D\u8986\u76D6 */\n classNames?: Partial<\n Record<\n | 'root'\n | 'couponToggle'\n | 'couponLink'\n | 'couponInput'\n | 'couponTags'\n | 'couponTag'\n | 'couponTagText'\n | 'couponTagRemove'\n | 'priceRow'\n | 'priceRowLabel'\n | 'priceRowValue'\n | 'discountBox'\n | 'discountRow'\n | 'discountRowValue'\n | 'discountTotalRow'\n | 'discountTotalValue'\n | 'divider'\n | 'totalRow'\n | 'totalValue'\n | 'checkoutButton'\n | 'cashReduction'\n | 'installment',\n string\n >\n >\n}\n\nconst CartPriceSummary = React.forwardRef<HTMLDivElement, CartPriceSummaryProps>(\n (\n {\n couponInputValue,\n onCouponInputChange,\n onCouponApply,\n appliedCoupons,\n onCouponRemove,\n couponLoading = false,\n\n subtotal,\n shipping,\n taxes,\n\n productDiscount,\n orderDiscount,\n\n discountTotal,\n total,\n\n onCheckout,\n\n showCashReduction,\n showInstallment,\n installmentIcons,\n\n copy,\n className,\n classNames = {},\n ...props\n },\n ref\n ) => {\n const c = { ...DEFAULT_CART_COPY, ...copy }\n\n const hasCouponSection =\n onCouponInputChange !== undefined || onCouponApply !== undefined || (appliedCoupons && appliedCoupons.length > 0)\n\n const [couponExpanded, setCouponExpanded] = React.useState(false)\n\n const hasDiscounts = productDiscount !== undefined || orderDiscount !== undefined\n\n return (\n <div\n ref={ref}\n className={cn(\n 'cart-price-summary-root',\n 'laptop:static rounded-t-box fixed inset-x-0 bottom-0 z-50 bg-white ',\n '',\n className,\n classNames.root\n )}\n {...props}\n >\n <div className=\"laptop:w-[74.8%] laptop:ml-auto laptop:gap-4 laptop:items-end laptop:p-0 flex flex-col gap-2 p-4\">\n {/* \u6298\u6263\u7801\u5165\u53E3 */}\n {hasCouponSection && (\n <button\n type=\"button\"\n className={cn(\n 'cart-price-summary-coupon-toggle',\n 'group flex w-full cursor-pointer items-center justify-between',\n classNames.couponToggle\n )}\n onClick={() => setCouponExpanded(prev => !prev)}\n >\n <span className=\"text-info-tertiary laptop:text-base text-sm font-bold leading-[1.4] tracking-[-0.02em]\">\n {c.couponTitle || 'Have a discount code?'}\n </span>\n <span\n className={cn(\n 'cart-price-summary-coupon-link',\n 'text-brand-primary text-brand-0 laptop:text-base flex items-start gap-1 text-sm font-bold leading-[1.2] tracking-[-0.04em]',\n classNames.couponLink\n )}\n >\n {c.couponLink || 'Apply/Check'}\n <DownIcon\n className={cn(\n 'text-brand-primary laptop:size-5 size-4 transition-transform duration-200',\n couponExpanded && 'rotate-180'\n )}\n />\n </span>\n </button>\n )}\n\n {/* \u6298\u6263\u7801\u8F93\u5165\u4E0E\u6807\u7B7E */}\n {couponExpanded && (\n <div className=\"laptop:max-w-[404px] flex flex-col items-end gap-2\">\n {/* \u8F93\u5165\u6846 + \u5E94\u7528\u6309\u94AE */}\n <Input\n size=\"lg\"\n type=\"text\"\n value={couponInputValue}\n onChange={e => onCouponInputChange?.(e.target.value)}\n placeholder={c.couponPlaceholder || 'Enter Code'}\n className={cn(\n 'cart-price-summary-coupon-input',\n 'border-lines-primary laptop:h-[54px] h-[44px] w-full bg-transparent',\n classNames.couponInput\n )}\n inputClassName=\"text-sm laptop:text-base font-bold w-[315px] flex-1\"\n >\n <InputSlot>\n <div className=\"border-lines-primary flex items-center border-l pl-2 pr-4\">\n <Button\n variant=\"ghost\"\n size=\"lg\"\n loading={couponLoading}\n className=\"hover:!text-info-primary text-info-primary laptop:text-base cursor-pointer !p-0 text-sm font-bold leading-[1.4] tracking-[-0.02em] underline hover:!bg-transparent\"\n onClick={() => onCouponApply?.(couponInputValue || '')}\n >\n {c.couponApply || 'Apply'}\n </Button>\n </div>\n </InputSlot>\n </Input>\n\n {/* \u5DF2\u5E94\u7528\u6298\u6263\u7801\u6807\u7B7E */}\n {appliedCoupons && appliedCoupons.length > 0 && (\n <div\n className={cn(\n 'cart-price-summary-coupon-tags',\n 'laptop:gap-2 flex flex-wrap gap-1',\n classNames.couponTags\n )}\n >\n {appliedCoupons.map(code => (\n <span\n key={code}\n className={cn(\n 'cart-price-summary-coupon-tag',\n 'bg-container-secondary rounded-box-small flex items-center gap-1 py-1 pl-2 pr-1',\n classNames.couponTag\n )}\n >\n <span\n className={cn(\n 'cart-price-summary-coupon-tag-text',\n 'text-info-tertiary laptop:text-base whitespace-nowrap text-xs font-bold !leading-[1.4] tracking-[-0.02em]',\n classNames.couponTagText\n )}\n >\n {code}\n </span>\n <button\n type=\"button\"\n className={cn(\n 'cart-price-summary-coupon-tag-remove',\n 'text-info-tertiary hover:text-info-primary laptop:size-5 flex size-4 cursor-pointer items-center justify-center rounded-full bg-[#EAEAEC]',\n classNames.couponTagRemove\n )}\n onClick={() => onCouponRemove?.(code)}\n >\n <CloseIcon />\n </button>\n </span>\n ))}\n </div>\n )}\n </div>\n )}\n\n {/* \u4EF7\u683C\u660E\u7EC6\uFF1A\u79FB\u52A8\u7AEF\u6298\u6263\u7801\u6298\u53E0\u65F6\u9690\u85CF\uFF1B\u5E73\u677F\u53CA\u4EE5\u4E0A\u59CB\u7EC8\u53EF\u89C1 */}\n <div\n className={cn(\n 'laptop:gap-4 flex w-full flex-col gap-2',\n !couponExpanded && hasCouponSection && 'laptop:flex hidden'\n )}\n >\n {/* \u5C0F\u8BA1 */}\n {subtotal !== undefined && (\n <div\n className={cn(\n 'cart-price-summary-price-row',\n 'text-info-tertiary laptop:text-base flex w-full items-center justify-between whitespace-nowrap text-sm font-bold leading-[1.4] tracking-[-0.02em]',\n classNames.priceRow\n )}\n >\n <span className={classNames.priceRowLabel}>{c.subtotalLabel || 'Subtotal:'}</span>\n <span className={classNames.priceRowValue}>{subtotal}</span>\n </div>\n )}\n\n {/* \u8FD0\u8D39 */}\n {shipping !== undefined && (\n <div\n className={cn(\n 'cart-price-summary-price-row',\n 'text-info-tertiary laptop:text-base flex w-full items-center justify-between whitespace-nowrap text-sm font-bold leading-[1.4] tracking-[-0.02em]',\n classNames.priceRow\n )}\n >\n <span className={classNames.priceRowLabel}>{c.shippingLabel || 'Shipping:'}</span>\n <span className={classNames.priceRowValue}>{shipping}</span>\n </div>\n )}\n\n {/* \u7A0E\u8D39 */}\n {taxes !== undefined && (\n <div\n className={cn(\n 'cart-price-summary-price-row',\n 'text-info-tertiary laptop:text-base flex w-full items-center justify-between whitespace-nowrap text-sm font-bold leading-[1.4] tracking-[-0.02em]',\n classNames.priceRow\n )}\n >\n <span className={classNames.priceRowLabel}>{c.taxesLabel || 'Taxes:'}</span>\n <span className={classNames.priceRowValue}>{taxes}</span>\n </div>\n )}\n\n {/* \u6298\u6263\u6C47\u603B */}\n {hasDiscounts && (\n <div\n className={cn(\n 'cart-price-summary-discount-box',\n 'bg-container-secondary rounded-box-small laptop:p-4 flex w-full flex-col gap-2 p-2',\n classNames.discountBox\n )}\n >\n {productDiscount !== undefined && (\n <div\n className={cn(\n 'cart-price-summary-discount-row',\n 'text-info-tertiary laptop:text-base flex w-full items-start justify-between whitespace-nowrap text-sm font-bold leading-[1.4] tracking-[-0.02em]',\n classNames.discountRow\n )}\n >\n <span className={classNames.priceRowLabel}>{c.productDiscountsLabel || 'Product discounts:'}</span>\n <span className={cn('text-marketing-1', classNames.discountRowValue)}>{productDiscount}</span>\n </div>\n )}\n {orderDiscount !== undefined && (\n <div\n className={cn(\n 'cart-price-summary-discount-row',\n 'text-info-tertiary laptop:text-base flex w-full items-start justify-between whitespace-nowrap text-sm font-bold leading-[1.4] tracking-[-0.02em]',\n classNames.discountRow\n )}\n >\n <span className={classNames.priceRowLabel}>{c.orderDiscountLabel || 'Order discount:'}</span>\n <span className={cn('text-marketing-1', classNames.discountRowValue)}>{orderDiscount}</span>\n </div>\n )}\n </div>\n )}\n </div>\n\n {/* \u6298\u6263\u603B\u8BA1\u4E0E\u6700\u7EC8\u603B\u4EF7 */}\n {(discountTotal !== undefined || total !== undefined) && (\n <div className=\"flex w-full flex-col gap-4\">\n {discountTotal !== undefined && (\n <div\n className={cn(\n 'cart-price-summary-discount-total-row',\n 'flex w-full items-center justify-between whitespace-nowrap',\n classNames.discountTotalRow\n )}\n >\n <span className=\"text-info-tertiary laptop:text-base text-sm font-bold leading-[1.4] tracking-[-0.02em]\">\n {c.discountTotalLabel || 'Discount total:'}\n </span>\n <span\n className={cn(\n 'cart-price-summary-discount-total-value',\n 'text-marketing-1 laptop:text-base text-right text-sm font-bold leading-[1.2] tracking-[-0.04em]',\n classNames.discountTotalValue\n )}\n >\n {discountTotal}\n </span>\n </div>\n )}\n\n {discountTotal !== undefined && total !== undefined && (\n <div\n className={cn(\n 'cart-price-summary-divider',\n 'border-lines-primary w-full border-t',\n classNames.divider\n )}\n />\n )}\n\n {total !== undefined && (\n <div\n className={cn(\n 'cart-price-summary-total-row',\n 'flex w-full items-center justify-between whitespace-nowrap',\n classNames.totalRow\n )}\n >\n <span className=\"text-info-primary laptop:text-2xl text-xl font-bold leading-[1.2] tracking-[-0.04em]\">\n {c.totalLabel || 'Total:'}\n </span>\n <span\n className={cn(\n 'cart-price-summary-total-value',\n 'text-info-primary laptop:text-2xl text-right text-xl font-bold leading-[1.2] tracking-[-0.04em]',\n classNames.totalValue\n )}\n >\n {total}\n </span>\n </div>\n )}\n </div>\n )}\n {/* \u79FB\u52A8\u7AEF\u73B0\u91D1\u51CF\u514D\u63D0\u793A */}\n {showCashReduction && c.cashReductionText && (\n <div\n className={cn(\n 'cart-price-summary-cash-reduction-mobile',\n 'laptop:hidden flex items-start gap-1',\n classNames.cashReduction\n )}\n >\n <span className=\"text-info-quaternary laptop:text-base whitespace-nowrap text-sm font-bold leading-[1.4] tracking-[-0.02em]\">\n {c.cashReductionText}\n </span>\n <InfoIcon className=\"text-info-quaternary laptop:size-5 size-4\" />\n </div>\n )}\n <div\n className={cn(\n 'laptop:flex-col laptop:gap-2 laptop:items-end flex items-center justify-between gap-4',\n !showInstallment && 'justify-end'\n )}\n >\n {/* \u7ED3\u8D26\u6309\u94AE */}\n {onCheckout && (\n <Button\n variant=\"primary\"\n size=\"lg\"\n className={cn(\n 'cart-price-summary-checkout-button laptop:-order-1 order-2 shrink-0',\n classNames.checkoutButton\n )}\n onClick={onCheckout}\n >\n {c.checkOut || 'Check Out'}\n </Button>\n )}\n\n {/* \u73B0\u91D1\u51CF\u514D\u63D0\u793A */}\n {showCashReduction && c.cashReductionText && (\n <div\n className={cn(\n 'cart-price-summary-cash-reduction',\n 'laptop:flex hidden items-start gap-1',\n classNames.cashReduction\n )}\n >\n <span className=\"text-info-quaternary laptop:text-base whitespace-nowrap text-sm font-bold leading-[1.4] tracking-[-0.02em]\">\n {c.cashReductionText}\n </span>\n <InfoIcon className=\"text-info-quaternary laptop:size-5 size-4\" />\n </div>\n )}\n\n {/* \u5206\u671F\u4ED8\u6B3E\u4FE1\u606F */}\n {showInstallment && c.installmentText && (\n <div\n className={cn(\n 'cart-price-summary-installment',\n 'laptop:flex-row order-1 flex flex-col items-start gap-0.5',\n classNames.installment\n )}\n >\n {installmentIcons && installmentIcons.length > 0 && (\n <span className=\"flex shrink-0 items-center\">\n {installmentIcons.map((icon, index) => (\n <img\n key={index}\n src={icon.src}\n alt={icon.alt || ''}\n className=\"laptop:size-5 -mr-1 size-4 object-cover\"\n />\n ))}\n </span>\n )}\n <div className=\"flex gap-1\">\n <span className=\"text-info-quaternary laptop:text-base whitespace-nowrap text-sm font-bold leading-[1.4] tracking-[-0.02em]\">\n {c.installmentText}\n </span>\n <InfoIcon className=\"text-info-quaternary laptop:size-5 size-4\" />\n </div>\n </div>\n )}\n </div>\n </div>\n </div>\n )\n }\n)\n\nCartPriceSummary.displayName = 'CartPriceSummary'\n\nexport default CartPriceSummary\n"],
5
+ "mappings": "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",
6
+ "names": ["jsx", "jsxs", "React", "cn", "Button", "Input", "InputSlot", "DEFAULT_CART_COPY", "DownIcon", "className", "CloseIcon", "InfoIcon", "CartPriceSummary", "couponInputValue", "onCouponInputChange", "onCouponApply", "appliedCoupons", "onCouponRemove", "couponLoading", "subtotal", "shipping", "taxes", "productDiscount", "orderDiscount", "discountTotal", "total", "onCheckout", "showCashReduction", "showInstallment", "installmentIcons", "copy", "classNames", "props", "ref", "c", "hasCouponSection", "couponExpanded", "setCouponExpanded", "hasDiscounts", "prev", "e", "code", "icon", "index", "CartPriceSummary_default"]
7
+ }
@@ -0,0 +1,2 @@
1
+ export { default } from './CartPriceSummary.js';
2
+ export type { CartPriceSummaryProps } from './CartPriceSummary.js';
@@ -0,0 +1,2 @@
1
+ import{default as m}from"./CartPriceSummary.js";export{m as default};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/biz-components/CartDetail/CartPriceSummary/index.ts"],
4
+ "sourcesContent": ["export { default } from './CartPriceSummary.js'\nexport type { CartPriceSummaryProps } from './CartPriceSummary.js'\n"],
5
+ "mappings": "AAAA,OAAS,WAAAA,MAAe",
6
+ "names": ["default"]
7
+ }
@@ -0,0 +1,26 @@
1
+ import * as React from 'react';
2
+ import type { CartSummaryHeaderCopy } from '../types.js';
3
+ export interface CartSummaryHeaderProps {
4
+ /** 标题文案,支持 {var} 模板变量 */
5
+ title: string;
6
+ /** 描述文案,支持 {var} 模板变量 */
7
+ description?: string;
8
+ /** 模板变量替换映射 */
9
+ vars?: Record<string, string>;
10
+ /** 操作按钮点击回调 */
11
+ onActionClick?: () => void;
12
+ /** 是否为空购物车状态 */
13
+ isEmpty?: boolean;
14
+ /** 空购物车标题文案,支持 {var} 模板变量 */
15
+ emptyTitle?: string;
16
+ /** 空购物车描述文案,支持 {var} 模板变量 */
17
+ emptyDescription?: string;
18
+ /** 文案集中管理,包含 actionText */
19
+ copy?: CartSummaryHeaderCopy;
20
+ /** 根容器 className */
21
+ className?: string;
22
+ /** 语义化样式覆盖 */
23
+ classNames?: Partial<Record<'root' | 'title' | 'description' | 'action', string>>;
24
+ }
25
+ declare const CartSummaryHeader: React.ForwardRefExoticComponent<CartSummaryHeaderProps & React.RefAttributes<HTMLDivElement>>;
26
+ export default CartSummaryHeader;
@@ -0,0 +1,2 @@
1
+ "use client";import{jsx as i,jsxs as P}from"react/jsx-runtime";import*as a from"react";import{cn as t}from"../../../helpers/index.js";import{replaceTemplate as d}from"../../Listing/utils/textFormat.js";import{Heading as R,Text as S,Button as D}from"../../../components/index.js";import{useExposure as N}from"../../../hooks/useExposure.js";import{DEFAULT_CART_COPY as A}from"../index.js";const E="copy",L="CartSummaryHeader",f=a.forwardRef(({title:m,description:r,vars:p,onActionClick:u,isEmpty:o,emptyTitle:y,emptyDescription:c,copy:x,className:g,classNames:e={},...C},H)=>{const n=a.useRef(null);N(n,{componentType:E,componentName:L,componentTitle:m,componentDescription:r}),a.useImperativeHandle(H,()=>n.current);const T={...A,...x},v=d(o?y??"":m,p??{}),s=(o?c:r)?d(o?c??"":r??"",p??{}):void 0,l=T.actionText;return P("div",{ref:n,className:t("laptop:gap-2 flex flex-col items-center gap-1 text-center",g,e.root),...C,children:[i(R,{size:4,className:t("text-info-primary font-bold",e.title),children:v}),s&&i(S,{html:s,className:t("laptop:text-[18px] text-info-primary text-sm",e.description)}),l&&i(D,{size:"lg",className:t("laptop:mt-2 mt-1",e.action),onClick:u,children:l})]})});f.displayName="CartSummaryHeader";var _=f;export{_ as default};
2
+ //# sourceMappingURL=CartSummaryHeader.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/biz-components/CartDetail/CartSummaryHeader/CartSummaryHeader.tsx"],
4
+ "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { cn } from '../../../helpers/index.js'\nimport { replaceTemplate } from '../../Listing/utils/textFormat.js'\nimport { Heading, Text, Button } from '../../../components/index.js'\nimport { useExposure } from '../../../hooks/useExposure.js'\nimport { DEFAULT_CART_COPY } from '../index.js'\nimport type { CartSummaryHeaderCopy } from '../types.js'\n\nconst componentType = 'copy'\nconst componentName = 'CartSummaryHeader'\n\nexport interface CartSummaryHeaderProps {\n /** \u6807\u9898\u6587\u6848\uFF0C\u652F\u6301 {var} \u6A21\u677F\u53D8\u91CF */\n title: string\n /** \u63CF\u8FF0\u6587\u6848\uFF0C\u652F\u6301 {var} \u6A21\u677F\u53D8\u91CF */\n description?: string\n /** \u6A21\u677F\u53D8\u91CF\u66FF\u6362\u6620\u5C04 */\n vars?: Record<string, string>\n /** \u64CD\u4F5C\u6309\u94AE\u70B9\u51FB\u56DE\u8C03 */\n onActionClick?: () => void\n\n /** \u662F\u5426\u4E3A\u7A7A\u8D2D\u7269\u8F66\u72B6\u6001 */\n isEmpty?: boolean\n /** \u7A7A\u8D2D\u7269\u8F66\u6807\u9898\u6587\u6848\uFF0C\u652F\u6301 {var} \u6A21\u677F\u53D8\u91CF */\n emptyTitle?: string\n /** \u7A7A\u8D2D\u7269\u8F66\u63CF\u8FF0\u6587\u6848\uFF0C\u652F\u6301 {var} \u6A21\u677F\u53D8\u91CF */\n emptyDescription?: string\n\n /** \u6587\u6848\u96C6\u4E2D\u7BA1\u7406\uFF0C\u5305\u542B actionText */\n copy?: CartSummaryHeaderCopy\n /** \u6839\u5BB9\u5668 className */\n className?: string\n /** \u8BED\u4E49\u5316\u6837\u5F0F\u8986\u76D6 */\n classNames?: Partial<Record<'root' | 'title' | 'description' | 'action', string>>\n}\n\nconst CartSummaryHeader = React.forwardRef<HTMLDivElement, CartSummaryHeaderProps>(\n (\n {\n title,\n description,\n vars,\n onActionClick,\n isEmpty,\n emptyTitle,\n emptyDescription,\n copy,\n className,\n classNames = {},\n ...props\n },\n ref\n ) => {\n const boxRef = React.useRef<HTMLDivElement>(null)\n\n useExposure(boxRef, {\n componentType,\n componentName,\n componentTitle: title,\n componentDescription: description,\n })\n\n React.useImperativeHandle(ref, () => boxRef.current as HTMLDivElement)\n\n const c = { ...DEFAULT_CART_COPY, ...copy }\n const renderedTitle = replaceTemplate(isEmpty ? (emptyTitle ?? '') : title, vars ?? {})\n const renderedDescription = (isEmpty ? emptyDescription : description)\n ? replaceTemplate(isEmpty ? (emptyDescription ?? '') : (description ?? ''), vars ?? {})\n : undefined\n const resolvedActionText = c.actionText\n\n return (\n <div\n ref={boxRef}\n className={cn('laptop:gap-2 flex flex-col items-center gap-1 text-center', className, classNames.root)}\n {...props}\n >\n <Heading size={4} className={cn('text-info-primary font-bold', classNames.title)}>\n {renderedTitle}\n </Heading>\n {renderedDescription && (\n <Text\n html={renderedDescription}\n className={cn('laptop:text-[18px] text-info-primary text-sm', classNames.description)}\n />\n )}\n {resolvedActionText && (\n <Button size=\"lg\" className={cn('laptop:mt-2 mt-1', classNames.action)} onClick={onActionClick}>\n {resolvedActionText}\n </Button>\n )}\n </div>\n )\n }\n)\n\nCartSummaryHeader.displayName = 'CartSummaryHeader'\n\nexport default CartSummaryHeader\n"],
5
+ "mappings": "aA0EM,OAKE,OAAAA,EALF,QAAAC,MAAA,oBAxEN,UAAYC,MAAW,QACvB,OAAS,MAAAC,MAAU,4BACnB,OAAS,mBAAAC,MAAuB,oCAChC,OAAS,WAAAC,EAAS,QAAAC,EAAM,UAAAC,MAAc,+BACtC,OAAS,eAAAC,MAAmB,gCAC5B,OAAS,qBAAAC,MAAyB,cAGlC,MAAMC,EAAgB,OAChBC,EAAgB,oBA2BhBC,EAAoBV,EAAM,WAC9B,CACE,CACE,MAAAW,EACA,YAAAC,EACA,KAAAC,EACA,cAAAC,EACA,QAAAC,EACA,WAAAC,EACA,iBAAAC,EACA,KAAAC,EACA,UAAAC,EACA,WAAAC,EAAa,CAAC,EACd,GAAGC,CACL,EACAC,IACG,CACH,MAAMC,EAASvB,EAAM,OAAuB,IAAI,EAEhDM,EAAYiB,EAAQ,CAClB,cAAAf,EACA,cAAAC,EACA,eAAgBE,EAChB,qBAAsBC,CACxB,CAAC,EAEDZ,EAAM,oBAAoBsB,EAAK,IAAMC,EAAO,OAAyB,EAErE,MAAMC,EAAI,CAAE,GAAGjB,EAAmB,GAAGW,CAAK,EACpCO,EAAgBvB,EAAgBa,EAAWC,GAAc,GAAML,EAAOE,GAAQ,CAAC,CAAC,EAChFa,GAAuBX,EAAUE,EAAmBL,GACtDV,EAAgBa,EAAWE,GAAoB,GAAOL,GAAe,GAAKC,GAAQ,CAAC,CAAC,EACpF,OACEc,EAAqBH,EAAE,WAE7B,OACEzB,EAAC,OACC,IAAKwB,EACL,UAAWtB,EAAG,4DAA6DkB,EAAWC,EAAW,IAAI,EACpG,GAAGC,EAEJ,UAAAvB,EAACK,EAAA,CAAQ,KAAM,EAAG,UAAWF,EAAG,8BAA+BmB,EAAW,KAAK,EAC5E,SAAAK,EACH,EACCC,GACC5B,EAACM,EAAA,CACC,KAAMsB,EACN,UAAWzB,EAAG,+CAAgDmB,EAAW,WAAW,EACtF,EAEDO,GACC7B,EAACO,EAAA,CAAO,KAAK,KAAK,UAAWJ,EAAG,mBAAoBmB,EAAW,MAAM,EAAG,QAASN,EAC9E,SAAAa,EACH,GAEJ,CAEJ,CACF,EAEAjB,EAAkB,YAAc,oBAEhC,IAAOkB,EAAQlB",
6
+ "names": ["jsx", "jsxs", "React", "cn", "replaceTemplate", "Heading", "Text", "Button", "useExposure", "DEFAULT_CART_COPY", "componentType", "componentName", "CartSummaryHeader", "title", "description", "vars", "onActionClick", "isEmpty", "emptyTitle", "emptyDescription", "copy", "className", "classNames", "props", "ref", "boxRef", "c", "renderedTitle", "renderedDescription", "resolvedActionText", "CartSummaryHeader_default"]
7
+ }
@@ -0,0 +1,2 @@
1
+ export { default } from './CartSummaryHeader.js';
2
+ export type { CartSummaryHeaderProps } from './CartSummaryHeader.js';
@@ -0,0 +1,2 @@
1
+ import{default as a}from"./CartSummaryHeader.js";export{a as default};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/biz-components/CartDetail/CartSummaryHeader/index.ts"],
4
+ "sourcesContent": ["export { default } from './CartSummaryHeader.js'\nexport type { CartSummaryHeaderProps } from './CartSummaryHeader.js'\n"],
5
+ "mappings": "AAAA,OAAS,WAAAA,MAAe",
6
+ "names": ["default"]
7
+ }
@@ -0,0 +1,10 @@
1
+ import * as React from 'react';
2
+ export interface CartThirdPartyProps {
3
+ title?: string;
4
+ /** 自定义内容区,业务侧自行渲染(如分期方式、支付方式等) */
5
+ children?: React.ReactNode;
6
+ className?: string;
7
+ classNames?: Partial<Record<'root' | 'title', string>>;
8
+ }
9
+ declare const CartThirdParty: React.ForwardRefExoticComponent<CartThirdPartyProps & React.RefAttributes<HTMLDivElement>>;
10
+ export default CartThirdParty;
@@ -0,0 +1,2 @@
1
+ "use client";import{jsx as n,jsxs as f}from"react/jsx-runtime";import*as s from"react";import{cn as a}from"../../../helpers/index.js";import{Heading as c}from"../../../components/index.js";const e=s.forwardRef(({title:r,children:i,className:o,classNames:t={},...d},l)=>f("div",{ref:l,className:a("cart-third-party-root flex flex-col gap-2",o,t.root),...d,children:[r&&n(c,{size:2,className:a("cart-third-party-title text-info-primary font-bold",t.title),children:r}),i]}));e.displayName="CartThirdParty";var y=e;export{y as default};
2
+ //# sourceMappingURL=CartThirdParty.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/biz-components/CartDetail/CartThirdParty/CartThirdParty.tsx"],
4
+ "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { cn } from '../../../helpers/index.js'\nimport { Heading } from '../../../components/index.js'\n\nexport interface CartThirdPartyProps {\n title?: string\n /** \u81EA\u5B9A\u4E49\u5185\u5BB9\u533A\uFF0C\u4E1A\u52A1\u4FA7\u81EA\u884C\u6E32\u67D3\uFF08\u5982\u5206\u671F\u65B9\u5F0F\u3001\u652F\u4ED8\u65B9\u5F0F\u7B49\uFF09 */\n children?: React.ReactNode\n className?: string\n classNames?: Partial<Record<'root' | 'title', string>>\n}\n\nconst CartThirdParty = React.forwardRef<HTMLDivElement, CartThirdPartyProps>(\n ({ title, children, className, classNames = {}, ...props }, ref) => {\n return (\n <div ref={ref} className={cn('cart-third-party-root flex flex-col gap-2', className, classNames.root)} {...props}>\n {title && (\n <Heading size={2} className={cn('cart-third-party-title text-info-primary font-bold', classNames.title)}>\n {title}\n </Heading>\n )}\n {children}\n </div>\n )\n }\n)\n\nCartThirdParty.displayName = 'CartThirdParty'\n\nexport default CartThirdParty\n"],
5
+ "mappings": "aAiBM,OAEI,OAAAA,EAFJ,QAAAC,MAAA,oBAfN,UAAYC,MAAW,QACvB,OAAS,MAAAC,MAAU,4BACnB,OAAS,WAAAC,MAAe,+BAUxB,MAAMC,EAAiBH,EAAM,WAC3B,CAAC,CAAE,MAAAI,EAAO,SAAAC,EAAU,UAAAC,EAAW,WAAAC,EAAa,CAAC,EAAG,GAAGC,CAAM,EAAGC,IAExDV,EAAC,OAAI,IAAKU,EAAK,UAAWR,EAAG,4CAA6CK,EAAWC,EAAW,IAAI,EAAI,GAAGC,EACxG,UAAAJ,GACCN,EAACI,EAAA,CAAQ,KAAM,EAAG,UAAWD,EAAG,qDAAsDM,EAAW,KAAK,EACnG,SAAAH,EACH,EAEDC,GACH,CAGN,EAEAF,EAAe,YAAc,iBAE7B,IAAOO,EAAQP",
6
+ "names": ["jsx", "jsxs", "React", "cn", "Heading", "CartThirdParty", "title", "children", "className", "classNames", "props", "ref", "CartThirdParty_default"]
7
+ }
@@ -0,0 +1,2 @@
1
+ export { default } from './CartThirdParty.js';
2
+ export type { CartThirdPartyProps } from './CartThirdParty.js';
@@ -0,0 +1,2 @@
1
+ import{default as a}from"./CartThirdParty.js";export{a as default};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/biz-components/CartDetail/CartThirdParty/index.ts"],
4
+ "sourcesContent": ["export { default } from './CartThirdParty.js'\nexport type { CartThirdPartyProps } from './CartThirdParty.js'\n"],
5
+ "mappings": "AAAA,OAAS,WAAAA,MAAe",
6
+ "names": ["default"]
7
+ }
@@ -0,0 +1,16 @@
1
+ export { default as CartSummaryHeader } from './CartSummaryHeader/index.js';
2
+ export type { CartSummaryHeaderProps } from './CartSummaryHeader/index.js';
3
+ export { default as CartItemRow } from './CartItemRow/index.js';
4
+ export type { CartItemRowProps } from './CartItemRow/index.js';
5
+ export { default as CartGiftSection } from './CartGiftSection/index.js';
6
+ export type { CartGiftSectionProps } from './CartGiftSection/index.js';
7
+ export { default as CartPerksSection } from './CartPerksSection/index.js';
8
+ export type { CartPerksSectionProps, CartPerk } from './CartPerksSection/index.js';
9
+ export { default as CartThirdPartyBanner } from './CartThirdParty/index.js';
10
+ export type { CartThirdPartyProps } from './CartThirdParty/index.js';
11
+ export { default as CartPriceSummary } from './CartPriceSummary/index.js';
12
+ export type { CartPriceSummaryProps } from './CartPriceSummary/index.js';
13
+ export type { GiftOption, GiftSlotConfig } from './types.js';
14
+ import type { CartItemRowCopy, CartKspCopy, GiftOptionRowCopy, GiftConfirmDialogCopy, CartPerksSectionCopy, CartSummaryHeaderCopy, CartPriceSummaryCopy, CartItemRemoveConfirmCopy } from './types.js';
15
+ export type CartModuleCopy = CartItemRowCopy & CartKspCopy & GiftOptionRowCopy & GiftConfirmDialogCopy & CartPerksSectionCopy & CartSummaryHeaderCopy & CartPriceSummaryCopy & CartItemRemoveConfirmCopy;
16
+ export declare const DEFAULT_CART_COPY: CartModuleCopy;
@@ -0,0 +1,2 @@
1
+ import{default as r}from"./CartSummaryHeader/index.js";import{default as i}from"./CartItemRow/index.js";import{default as n}from"./CartGiftSection/index.js";import{default as d}from"./CartPerksSection/index.js";import{default as s}from"./CartThirdParty/index.js";import{default as f}from"./CartPriceSummary/index.js";const e={soldOutText:"Sold Out",presaleBadgeText:"Pre-sale",giftBadgeText:"Gift",memberBadgeText:"Member",plusMemberBadgeText:"Plus Member",showProductDetails:"Show product details",hideProductDetails:"Hide product details",remove:"Remove",shippingText:"Ships in 1\u20133 business days.",showMore:"Show product details",showLess:"Hide product details",badge:"Gift",free:"Free",confirm:"Confirm",cancel:"Cancel",ariaLabel:"Confirm",cancelGiftConfirm:void 0,removeGiftConfirm:void 0,addButton:"Add to Cart",learnMoreButton:"Learn More About Benefits",actionText:"Go Shopping",soldOutTitleText:"Sold Out",couponPlaceholder:"Enter Code",couponApply:"Apply",couponTitle:"Have a discount code?",couponLink:"Apply/Check",subtotalLabel:"Subtotal:",shippingLabel:"Shipping:",taxesLabel:"Taxes:",productDiscountsLabel:"Product discounts:",orderDiscountLabel:"Order discount:",discountTotalLabel:"Discount total:",totalLabel:"Total:",checkOut:"Check Out",cashReductionText:void 0,installmentText:void 0,removeConfirmConfirm:"Confirm",removeConfirmCancel:"Cancel",removeConfirmText:"Are you sure you want to delete the product?"};export{n as CartGiftSection,i as CartItemRow,d as CartPerksSection,f as CartPriceSummary,r as CartSummaryHeader,s as CartThirdPartyBanner,e as DEFAULT_CART_COPY};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/biz-components/CartDetail/index.ts"],
4
+ "sourcesContent": ["export { default as CartSummaryHeader } from './CartSummaryHeader/index.js'\nexport type { CartSummaryHeaderProps } from './CartSummaryHeader/index.js'\n\nexport { default as CartItemRow } from './CartItemRow/index.js'\nexport type { CartItemRowProps } from './CartItemRow/index.js'\n\nexport { default as CartGiftSection } from './CartGiftSection/index.js'\nexport type { CartGiftSectionProps } from './CartGiftSection/index.js'\n\nexport { default as CartPerksSection } from './CartPerksSection/index.js'\nexport type { CartPerksSectionProps, CartPerk } from './CartPerksSection/index.js'\n\nexport { default as CartThirdPartyBanner } from './CartThirdParty/index.js'\nexport type { CartThirdPartyProps } from './CartThirdParty/index.js'\n\nexport { default as CartPriceSummary } from './CartPriceSummary/index.js'\nexport type { CartPriceSummaryProps } from './CartPriceSummary/index.js'\n\nexport type { GiftOption, GiftSlotConfig } from './types.js'\n\n// \u2500\u2500 \u6587\u6848\u96C6\u4E2D\u7BA1\u7406 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\nimport type {\n CartItemRowCopy,\n CartKspCopy,\n GiftOptionRowCopy,\n GiftConfirmDialogCopy,\n CartPerksSectionCopy,\n CartSummaryHeaderCopy,\n CartPriceSummaryCopy,\n CartItemRemoveConfirmCopy,\n} from './types.js'\n\nexport type CartModuleCopy = CartItemRowCopy &\n CartKspCopy &\n GiftOptionRowCopy &\n GiftConfirmDialogCopy &\n CartPerksSectionCopy &\n CartSummaryHeaderCopy &\n CartPriceSummaryCopy &\n CartItemRemoveConfirmCopy\n\nexport const DEFAULT_CART_COPY: CartModuleCopy = {\n // CartItemRow\n soldOutText: 'Sold Out',\n presaleBadgeText: 'Pre-sale',\n giftBadgeText: 'Gift',\n memberBadgeText: 'Member',\n plusMemberBadgeText: 'Plus Member',\n showProductDetails: 'Show product details',\n hideProductDetails: 'Hide product details',\n remove: 'Remove',\n shippingText: 'Ships in 1\u20133 business days.',\n\n // CartKsp\n showMore: 'Show product details',\n showLess: 'Hide product details',\n\n // GiftOptionRow\n badge: 'Gift',\n free: 'Free',\n\n // GiftConfirmDialog\n confirm: 'Confirm',\n cancel: 'Cancel',\n ariaLabel: 'Confirm',\n cancelGiftConfirm: undefined,\n removeGiftConfirm: undefined,\n\n // CartPerksSection\n addButton: 'Add to Cart',\n learnMoreButton: 'Learn More About Benefits',\n\n // CartSummaryHeader\n actionText: 'Go Shopping',\n\n // CartPriceSummary\n soldOutTitleText: 'Sold Out',\n couponPlaceholder: 'Enter Code',\n couponApply: 'Apply',\n couponTitle: 'Have a discount code?',\n couponLink: 'Apply/Check',\n subtotalLabel: 'Subtotal:',\n shippingLabel: 'Shipping:',\n taxesLabel: 'Taxes:',\n productDiscountsLabel: 'Product discounts:',\n orderDiscountLabel: 'Order discount:',\n discountTotalLabel: 'Discount total:',\n totalLabel: 'Total:',\n checkOut: 'Check Out',\n cashReductionText: undefined,\n installmentText: undefined,\n\n // CartItemRemoveConfirm\n removeConfirmConfirm: 'Confirm',\n removeConfirmCancel: 'Cancel',\n removeConfirmText: 'Are you sure you want to delete the product?',\n}\n"],
5
+ "mappings": "AAAA,OAAoB,WAAXA,MAAoC,+BAG7C,OAAoB,WAAXA,MAA8B,yBAGvC,OAAoB,WAAXA,MAAkC,6BAG3C,OAAoB,WAAXA,MAAmC,8BAG5C,OAAoB,WAAXA,MAAuC,4BAGhD,OAAoB,WAAXA,MAAmC,8BA2BrC,MAAMC,EAAoC,CAE/C,YAAa,WACb,iBAAkB,WAClB,cAAe,OACf,gBAAiB,SACjB,oBAAqB,cACrB,mBAAoB,uBACpB,mBAAoB,uBACpB,OAAQ,SACR,aAAc,mCAGd,SAAU,uBACV,SAAU,uBAGV,MAAO,OACP,KAAM,OAGN,QAAS,UACT,OAAQ,SACR,UAAW,UACX,kBAAmB,OACnB,kBAAmB,OAGnB,UAAW,cACX,gBAAiB,4BAGjB,WAAY,cAGZ,iBAAkB,WAClB,kBAAmB,aACnB,YAAa,QACb,YAAa,wBACb,WAAY,cACZ,cAAe,YACf,cAAe,YACf,WAAY,SACZ,sBAAuB,qBACvB,mBAAoB,kBACpB,mBAAoB,kBACpB,WAAY,SACZ,SAAU,YACV,kBAAmB,OACnB,gBAAiB,OAGjB,qBAAsB,UACtB,oBAAqB,SACrB,kBAAmB,8CACrB",
6
+ "names": ["default", "DEFAULT_CART_COPY"]
7
+ }
@@ -0,0 +1,132 @@
1
+ export interface CartKspCopy {
2
+ /** 展开更多文案,默认 'Show product details' */
3
+ showMore?: string;
4
+ /** 收起文案,默认 'Hide product details' */
5
+ showLess?: string;
6
+ }
7
+ export interface CartItemRowCopy {
8
+ /** 售罄遮罩文案,默认 'Sold Out' */
9
+ soldOutText?: string;
10
+ /** 预售遮罩文案,默认 'Pre-sale' */
11
+ presaleBadgeText?: string;
12
+ /** 赠品 badge 文案,默认 'Gift' */
13
+ giftBadgeText?: string;
14
+ /** 会员 badge 文案,默认 'Member' */
15
+ memberBadgeText?: string;
16
+ /** Plus 会员 badge 文案,默认 'Plus Member' */
17
+ plusMemberBadgeText?: string;
18
+ /** 配送信息文案 */
19
+ shippingText?: string;
20
+ /** KSP 展开更多文案,默认 'Show product details' */
21
+ showProductDetails?: string;
22
+ /** KSP 收起文案,默认 'Hide product details' */
23
+ hideProductDetails?: string;
24
+ /** 桌面端移除按钮文案,默认 'Remove' */
25
+ remove?: string;
26
+ }
27
+ export interface GiftOptionRowCopy {
28
+ /** 赠品标签文案,默认 'Gift' */
29
+ badge?: string;
30
+ /** 免费价格文案,默认 'Free' */
31
+ free?: string;
32
+ }
33
+ export interface GiftConfirmDialogCopy {
34
+ /** 确认按钮文案,默认 'Confirm' */
35
+ confirm?: string;
36
+ /** 取消按钮文案,默认 'Cancel' */
37
+ cancel?: string;
38
+ /** 弹窗 aria-label,默认 'Confirm' */
39
+ ariaLabel?: string;
40
+ /** 取消赠品确认文案 */
41
+ cancelGiftConfirm?: string;
42
+ /** 移除赠品确认文案 */
43
+ removeGiftConfirm?: string;
44
+ }
45
+ export interface CartPerksSectionCopy {
46
+ /** 加入购物车按钮文案,默认 'Add to Cart' */
47
+ addButton?: string;
48
+ /** 了解更多按钮文案,默认 'Learn More' */
49
+ learnMoreButton?: string;
50
+ }
51
+ export interface CartSummaryHeaderCopy {
52
+ /** 操作按钮文案,默认 'View my shopping cart' */
53
+ actionText?: string;
54
+ }
55
+ export interface CartPriceSummaryCopy {
56
+ /** 操作按钮文案,默认 'View my shopping cart' (deprecated, use checkOut) */
57
+ actionText?: string;
58
+ /** 售罄状态标题文案 */
59
+ soldOutTitleText?: string;
60
+ /** 折扣码输入框占位文案,默认 'Enter Code' */
61
+ couponPlaceholder?: string;
62
+ /** 折扣码应用按钮文案,默认 'Apply' */
63
+ couponApply?: string;
64
+ /** 折扣码标题文案,默认 'Have a discount code?' */
65
+ couponTitle?: string;
66
+ /** 折扣码链接文案,默认 'Apply/Check' */
67
+ couponLink?: string;
68
+ /** 小计行标签,默认 'Subtotal:' */
69
+ subtotalLabel?: string;
70
+ /** 运费行标签,默认 'Shipping:' */
71
+ shippingLabel?: string;
72
+ /** 税费行标签,默认 'Taxes:' */
73
+ taxesLabel?: string;
74
+ /** 产品折扣标签,默认 'Product discounts:' */
75
+ productDiscountsLabel?: string;
76
+ /** 订单折扣标签,默认 'Order discount:' */
77
+ orderDiscountLabel?: string;
78
+ /** 折扣总计标签,默认 'Discount total:' */
79
+ discountTotalLabel?: string;
80
+ /** 总计标签,默认 'Total:' */
81
+ totalLabel?: string;
82
+ /** 结账按钮文案,默认 'Check Out' */
83
+ checkOut?: string;
84
+ /** 现金减免提示文案 */
85
+ cashReductionText?: string;
86
+ /** 分期付款信息文案 */
87
+ installmentText?: string;
88
+ }
89
+ export interface CartItemRemoveConfirmCopy {
90
+ /** 确认按钮文案,默认 'Confirm' */
91
+ removeConfirmConfirm?: string;
92
+ /** 取消按钮文案,默认 'Cancel' */
93
+ removeConfirmCancel?: string;
94
+ /** 确认提示文案,默认 'Are you sure you want to delete the product?' */
95
+ removeConfirmText?: string;
96
+ }
97
+ /** 单个赠品选项 */
98
+ export interface GiftOption {
99
+ /** 赠品唯一标识(SKU) */
100
+ sku: string;
101
+ /** 赠品名称 */
102
+ name: string;
103
+ /** 赠品图片 */
104
+ image: {
105
+ src: string;
106
+ alt?: string;
107
+ };
108
+ /** 赠品详情页跳转链接 */
109
+ listingHref?: string;
110
+ /** 展示数量(业务侧计算后传入)
111
+ * effectMode=multiple:displayQuantity = mainQty × perQty
112
+ * effectMode=once:displayQuantity = perQty
113
+ */
114
+ displayQuantity: number;
115
+ /** 原价展示文案,如 "$299.00" */
116
+ originalPriceText: string;
117
+ /** 变体信息文案,如 "Color: White" */
118
+ variantText?: string;
119
+ /** 是否可选,false 时整行置灰 */
120
+ disabled?: boolean;
121
+ /** 价格区域的附加内容,如 Badge */
122
+ extra?: React.ReactNode;
123
+ }
124
+ /** 一个赠品 slot 配置 */
125
+ export interface GiftSlotConfig {
126
+ /** 赠品选项列表 */
127
+ options: GiftOption[];
128
+ /** 选择模式:radio(单选) 或 checkbox(多选) */
129
+ mode?: 'radio' | 'checkbox';
130
+ /** 最多可选数量(checkbox 模式下生效) */
131
+ maxSelectable?: number;
132
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -1,2 +1,2 @@
1
- "use client";import{Fragment as W,jsx as a,jsxs as n}from"react/jsx-runtime";import*as r from"react";import{cn as o}from"../../helpers/index.js";import{Button as v,Badge as Z,Card as J,CardContent as K,Picture as Q,Text as u,Heading as d}from"../../components/index.js";import{useCreditsShelfContext as U}from"./context.js";const V=()=>a("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:a("path",{d:"M8 1L10.163 5.279L15 6.001L11.5 9.409L12.326 14.226L8 11.97L3.674 14.226L4.5 9.409L1 6.001L5.837 5.279L8 1Z",fill:"currentColor"})}),g=r.forwardRef(({product:e,className:N,showTags:b,onLearnMore:w,onShopNow:k,onAddToCart:P,classNames:T,secondaryButtonText:B,secondaryButtonFun:L,primaryButtonText:S,primaryButtonFun:F,showOriginalPrice:z,copy:M,onProductImageClick:D},A)=>{const t=U(),O=b??t?.showTags??!0,$=z??t?.showOriginalPrice??!0,c=M??t?.copy,s=T??t?.classNames,m=B??t?.secondaryButtonText,y=L??t?.secondaryButtonFun,p=S??t?.primaryButtonText,f=F??t?.primaryButtonFun,j=w??t?.onLearnMore,H=k??t?.onShopNow,I=P??t?.onAddToCart,x=D??t?.onProductImageClick,[R,_]=r.useState(!1),[q,E]=r.useState(!1),C=async(i,l)=>{if(!i)return;const h=l==="primary"?_:E;h(!0);try{switch(i){case"buyNow":await H?.(e);break;case"addCart":await I?.(e);break;case"learnMore":await j?.(e);break;default:break}}finally{h(!1)}},G=r.useMemo(()=>e.creditSavingAmount?(c?.creditsSavingLabel??"Save up to {amount} with Credits").replace("{amount}",e.creditSavingAmount):null,[e.creditSavingAmount,c?.creditsSavingLabel]);return n(J,{ref:A,className:o("bg-container-primary hover:bg-container-secondary-0 box-border flex h-full flex-col overflow-hidden border-none",N,s?.productCard),children:[n(K,{className:"lg-desktop:gap-[10px] lg-desktop:px-6 lg-desktop:py-4 relative flex flex-1 flex-col gap-2 p-4",children:[a("div",{className:"lg-desktop:h-[28px] flex h-[24px] gap-1",children:O&&e.tags?.map((i,l)=>i.label?a(Z,{size:"sm",variant:i.variant||"outline",className:o(i.variant==="promotional"?"ml-2":""),promotionalType:i.promotionalType,children:i.label},l):a(r.Fragment,{children:i},l))}),a("div",{className:"product-image-wrapper lg-desktop:size-[196px] mx-auto size-[138px] cursor-pointer overflow-hidden",children:a("a",{onClick:()=>x?.(e),...!x&&{href:e?.listingLink},rel:"noreferrer",children:a(Q,{source:e.image,alt:e.name,className:"aspect-square size-full object-contain",imgClassName:"w-full h-full object-contain"})})}),n("div",{className:"lg-desktop:gap-6 flex flex-1 grow flex-col justify-between gap-4",children:[n("div",{className:"lg-desktop:gap-1 flex flex-col gap-0.5",children:[a(d,{as:"h3",size:2,className:o("text-info-primary line-clamp-2 min-h-[2.4em]",s?.productTitle),html:e.custom_name||e.name}),e?.description&&a(u,{size:2,className:o("text-info-secondary desktop:line-clamp-2 desktop:min-h-[2.4em] line-clamp-2 min-h-[2.4em]",s?.productDescription),html:e.custom_description||e.description})]}),n("div",{className:"lg-desktop:gap-2 flex flex-col gap-1.5",children:[a("div",{className:o(s?.productPrice),children:a("div",{className:"flex items-baseline gap-1",children:e.availableForSale?n(W,{children:[a(d,{size:2,className:"text-info-primary",as:"h6",children:e.price}),$&&e.originalPrice&&a(d,{size:2,className:o("text-info-tertiary line-through",s?.originalPrice),as:"h6",children:e.originalPrice})]}):a(d,{size:2,className:"text-info-tertiary",children:c?.outOfStockLabel??"Sold Out"})})}),e?.priceLabel&&a(u,{size:4,className:o("text-marketing-1 desktop:text-[16px] lg-desktop:text-[18px] text-[14px]",s?.productPriceLabel),children:e.priceLabel}),n("div",{className:o("lg-desktop:gap-3 flex flex-nowrap gap-2",s?.buttonGroup),children:[m&&a(v,{variant:"secondary",size:"base",className:o("tablet:w-fit w-full",s?.secondaryButton),onClick:()=>C(y,"secondary"),disabled:!e.availableForSale&&y!=="learnMore",loading:q,"data-headless-type-name":"CreditsShelf#ProductCard","data-headless-title-desc-button":`${e.custom_name||e.name}#${e.description||""}#${m}`,"data-headless-sku":e.sku,children:m}),p&&a(v,{variant:"primary",size:"base",className:o("tablet:w-fit w-full",s?.primaryButton),onClick:()=>C(f,"primary"),disabled:!e.availableForSale&&f!=="learnMore",loading:R,"data-headless-type-name":"CreditsShelf#ProductCard","data-headless-title-desc-button":`${e.custom_name||e.name}#${e.description||""}#${p}`,"data-headless-sku":e.sku,children:p})]})]})]})]}),n("div",{className:o("bg-container-secondary-0 lg-desktop:px-6 lg-desktop:py-4 flex items-center justify-center gap-1 px-4 py-3",s?.creditTip),children:[a("div",{className:"bg-info-primary flex size-6 items-center justify-center rounded-full p-1",children:a("span",{className:"text-info-white",children:a(V,{})})}),a(u,{size:2,className:"text-info-primary",children:G})]})]})});g.displayName="CreditsShelf.ProductCard";var ae=g;export{g as CreditsProductCard,ae as default};
1
+ "use client";import{Fragment as W,jsx as a,jsxs as i}from"react/jsx-runtime";import*as r from"react";import{cn as o}from"../../helpers/index.js";import{Button as v,Badge as Z,Card as J,CardContent as K,Picture as Q,Text as u,Heading as c}from"../../components/index.js";import{useCreditsShelfContext as U}from"./context.js";const V=()=>a("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:a("path",{d:"M8 1L10.163 5.279L15 6.001L11.5 9.409L12.326 14.226L8 11.97L3.674 14.226L4.5 9.409L1 6.001L5.837 5.279L8 1Z",fill:"currentColor"})}),g=r.forwardRef(({product:e,className:w,showTags:b,onLearnMore:N,onShopNow:k,onAddToCart:P,classNames:T,secondaryButtonText:B,secondaryButtonFun:L,primaryButtonText:S,primaryButtonFun:F,showOriginalPrice:z,copy:M,onProductImageClick:D},A)=>{const t=U(),O=b??t?.showTags??!0,$=z??t?.showOriginalPrice??!0,d=M??t?.copy,n=T??t?.classNames,m=B??t?.secondaryButtonText,f=L??t?.secondaryButtonFun,p=S??t?.primaryButtonText,y=F??t?.primaryButtonFun,j=N??t?.onLearnMore,H=k??t?.onShopNow,I=P??t?.onAddToCart,x=D??t?.onProductImageClick,[R,_]=r.useState(!1),[q,E]=r.useState(!1),h=async(s,l)=>{if(!s)return;const C=l==="primary"?_:E;C(!0);try{switch(s){case"buyNow":await H?.(e);break;case"addCart":await I?.(e);break;case"learnMore":await j?.(e);break;default:break}}finally{C(!1)}},G=r.useMemo(()=>e.creditSavingAmount?(d?.creditsSavingLabel??"Save up to {amount} with Credits").replace("{amount}",e.creditSavingAmount):null,[e.creditSavingAmount,d?.creditsSavingLabel]);return i(J,{ref:A,className:o("bg-container-primary hover:bg-container-secondary-0 box-border flex h-full flex-col overflow-hidden border-none",w,n?.productCard),children:[i(K,{className:"lg-desktop:gap-[10px] lg-desktop:px-6 lg-desktop:py-4 relative flex flex-1 flex-col gap-2 p-4",children:[a("div",{className:"lg-desktop:h-[28px] flex h-[24px] gap-1",children:O&&e.tags?.map((s,l)=>s.label?a(Z,{size:"sm",variant:s.variant||"outline",className:o(s.variant==="promotional"?"ml-2":""),promotionalType:s.promotionalType,children:s.label},l):a(r.Fragment,{children:s},l))}),a("div",{className:"product-image-wrapper lg-desktop:size-[196px] mx-auto size-[138px] cursor-pointer overflow-hidden",children:a("a",{onClick:()=>x?.(e),...!x&&{href:e?.listingLink},rel:"noreferrer",children:a(Q,{source:e.image,alt:e.name,className:"aspect-square size-full object-contain",imgClassName:"w-full h-full object-contain"})})}),i("div",{className:"lg-desktop:gap-6 flex flex-1 grow flex-col justify-between gap-4",children:[i("div",{className:"lg-desktop:gap-1 flex flex-col gap-0.5",children:[a(c,{as:"h3",size:2,className:o("text-info-primary line-clamp-2 min-h-[2.4em]",n?.productTitle),html:e.custom_name||e.name}),e?.description&&a(u,{size:2,className:o("text-info-secondary desktop:line-clamp-2 desktop:min-h-[2.4em] line-clamp-2 min-h-[2.4em]",n?.productDescription),html:e.custom_description||e.description})]}),i("div",{className:"lg-desktop:gap-2 flex flex-col gap-1.5",children:[a("div",{className:o(n?.productPrice),children:a("div",{className:"flex items-baseline gap-1",children:e.availableForSale?i(W,{children:[a(c,{size:2,className:"text-info-primary",as:"h6",children:e.price}),$&&e.originalPrice&&a(c,{size:2,className:o("text-info-tertiary line-through",n?.originalPrice),as:"h6",children:e.originalPrice})]}):a(c,{size:2,className:"text-info-tertiary",children:d?.outOfStockLabel??"Sold Out"})})}),e?.priceLabel&&a(u,{size:4,className:o("text-marketing-1 desktop:text-[16px] lg-desktop:text-[18px] text-[14px]",n?.productPriceLabel),children:e.priceLabel}),i("div",{className:o("lg-desktop:gap-3 tablet:flex-nowrap flex flex-wrap gap-2",n?.buttonGroup),children:[m&&a(v,{variant:"secondary",size:"base",className:o("tablet:w-fit tablet:min-w-0 tablet:whitespace-normal tablet:text-center w-full whitespace-nowrap",n?.secondaryButton),onClick:()=>h(f,"secondary"),disabled:!e.availableForSale&&f!=="learnMore",loading:q,"data-headless-type-name":"CreditsShelf#ProductCard","data-headless-title-desc-button":`${e.custom_name||e.name}#${e.description||""}#${m}`,"data-headless-sku":e.sku,children:m}),p&&a(v,{variant:"primary",size:"base",className:o("tablet:w-fit tablet:min-w-0 tablet:whitespace-normal tablet:text-center w-full whitespace-nowrap",n?.primaryButton),onClick:()=>h(y,"primary"),disabled:!e.availableForSale&&y!=="learnMore",loading:R,"data-headless-type-name":"CreditsShelf#ProductCard","data-headless-title-desc-button":`${e.custom_name||e.name}#${e.description||""}#${p}`,"data-headless-sku":e.sku,children:p})]})]})]})]}),i("div",{className:o("bg-container-secondary-0 lg-desktop:px-6 lg-desktop:py-4 flex items-center justify-center gap-1 px-4 py-3",n?.creditTip),children:[a("div",{className:"bg-info-primary flex size-6 items-center justify-center rounded-full p-1",children:a("span",{className:"text-info-white",children:a(V,{})})}),a(u,{size:2,className:"text-info-primary",children:G})]})]})});g.displayName="CreditsShelf.ProductCard";var ae=g;export{g as CreditsProductCard,ae as default};
2
2
  //# sourceMappingURL=ProductCard.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/CreditsShelf/ProductCard.tsx"],
4
- "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { cn } from '../../helpers/index.js'\nimport { Button, Badge, Card, CardContent, Picture, Text, Heading } from '../../components/index.js'\n\nimport type { ButtonFunctionType, CopyConfig, CreditsShelfSemanticName, CreditsProductCardData } from './types.js'\nimport { useCreditsShelfContext } from './context.js'\n\n/**\n * \u4EA7\u54C1\u5361\u7247\u7EC4\u4EF6 Props\n */\nexport interface CreditsProductCardProps {\n /** \u4EA7\u54C1\u6570\u636E */\n product: CreditsProductCardData\n /** \u6837\u5F0F\u7C7B\u540D */\n className?: string\n /** \u662F\u5426\u5C55\u793A\u6807\u7B7E\u7CFB\u7EDF */\n showTags?: boolean\n /** \u70B9\u51FB\u4E86\u89E3\u66F4\u591A\u56DE\u8C03 */\n onLearnMore?: (product: CreditsProductCardData) => void\n /** \u70B9\u51FB\u7ACB\u5373\u8D2D\u4E70\u56DE\u8C03 */\n onShopNow?: (product: CreditsProductCardData) => void\n /** \u70B9\u51FB\u52A0\u5165\u8D2D\u7269\u8F66\u56DE\u8C03 */\n onAddToCart?: (product: CreditsProductCardData) => void\n /** \u8BED\u4E49\u5316\u7C7B\u540D */\n classNames?: Partial<Record<CreditsShelfSemanticName, string>>\n /** \u4E86\u89E3\u66F4\u591A\u6309\u94AE\u6587\u672C */\n secondaryButtonText?: string\n /** \u4E86\u89E3\u66F4\u591A\u6309\u94AE\u529F\u80FD */\n secondaryButtonFun?: ButtonFunctionType\n /** \u7ACB\u5373\u8D2D\u4E70\u6309\u94AE\u6587\u672C */\n primaryButtonText?: string\n /** \u7ACB\u5373\u8D2D\u4E70\u6309\u94AE\u529F\u80FD */\n primaryButtonFun?: ButtonFunctionType\n /** \u662F\u5426\u5C55\u793A\u539F\u4EF7\uFF08\u5220\u9664\u7EBF\u4EF7\u683C\uFF09 */\n showOriginalPrice?: boolean\n /** \u6587\u6848\u914D\u7F6E */\n copy?: CopyConfig\n /** \u4EA7\u54C1\u56FE\u7247\u70B9\u51FB\u56DE\u8C03 */\n onProductImageClick?: (product: CreditsProductCardData) => void\n}\n\n/**\n * \u661F\u661F\u56FE\u6807\u7EC4\u4EF6\n */\nconst StarIcon = () => (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M8 1L10.163 5.279L15 6.001L11.5 9.409L12.326 14.226L8 11.97L3.674 14.226L4.5 9.409L1 6.001L5.837 5.279L8 1Z\"\n fill=\"currentColor\"\n />\n </svg>\n)\n\n/**\n * CreditsShelf \u4EA7\u54C1\u5361\u7247\u7EC4\u4EF6\n */\nconst CreditsProductCard = React.forwardRef<HTMLDivElement, CreditsProductCardProps>(\n (\n {\n product,\n className,\n showTags: showTagsProp,\n onLearnMore: onLearnMoreProp,\n onShopNow: onShopNowProp,\n onAddToCart: onAddToCartProp,\n classNames: classNamesProp,\n secondaryButtonText: secondaryButtonTextProp,\n secondaryButtonFun: secondaryButtonFunProp,\n primaryButtonText: primaryButtonTextProp,\n primaryButtonFun: primaryButtonFunProp,\n showOriginalPrice: showOriginalPriceProp,\n copy: copyProp,\n onProductImageClick: onProductImageClickProp,\n },\n ref\n ) => {\n // \u4ECE Context \u8BFB\u53D6\u914D\u7F6E\n const context = useCreditsShelfContext()\n\n // Props \u4F18\u5148\u7EA7\u9AD8\u4E8E Context\n const showTags = showTagsProp ?? context?.showTags ?? true\n const showOriginalPrice = showOriginalPriceProp ?? context?.showOriginalPrice ?? true\n const copy = copyProp ?? context?.copy\n const classNames = classNamesProp ?? context?.classNames\n const secondaryButtonText = secondaryButtonTextProp ?? context?.secondaryButtonText\n const secondaryButtonFun = secondaryButtonFunProp ?? context?.secondaryButtonFun\n const primaryButtonText = primaryButtonTextProp ?? context?.primaryButtonText\n const primaryButtonFun = primaryButtonFunProp ?? context?.primaryButtonFun\n const onLearnMore = onLearnMoreProp ?? context?.onLearnMore\n const onShopNow = onShopNowProp ?? context?.onShopNow\n const onAddToCart = onAddToCartProp ?? context?.onAddToCart\n const onProductImageClick = onProductImageClickProp ?? context?.onProductImageClick\n\n const [primaryLoading, setPrimaryLoading] = React.useState(false)\n const [secondaryLoading, setSecondaryLoading] = React.useState(false)\n\n // \u6839\u636E\u6309\u94AE\u529F\u80FD\u7C7B\u578B\u8C03\u7528\u76F8\u5E94\u7684\u56DE\u8C03\u51FD\u6570\n const handleButtonClick = async (buttonFun?: ButtonFunctionType, buttonType?: 'primary' | 'secondary') => {\n if (!buttonFun) return\n\n const setLoading = buttonType === 'primary' ? setPrimaryLoading : setSecondaryLoading\n setLoading(true)\n\n try {\n switch (buttonFun) {\n case 'buyNow':\n await onShopNow?.(product)\n break\n case 'addCart':\n await onAddToCart?.(product)\n break\n case 'learnMore':\n await onLearnMore?.(product)\n break\n default:\n break\n }\n } finally {\n setLoading(false)\n }\n }\n\n // \u751F\u6210\u79EF\u5206\u62B5\u73B0\u63D0\u793A\u6587\u672C\n const creditTipText = React.useMemo(() => {\n if (!product.creditSavingAmount) return null\n const template = copy?.creditsSavingLabel ?? 'Save up to {amount} with Credits'\n return template.replace('{amount}', product.creditSavingAmount)\n }, [product.creditSavingAmount, copy?.creditsSavingLabel])\n\n return (\n <Card\n ref={ref}\n className={cn(\n 'bg-container-primary hover:bg-container-secondary-0 box-border flex h-full flex-col overflow-hidden border-none',\n className,\n classNames?.productCard\n )}\n >\n {/* \u4E3B\u5185\u5BB9\u533A\u57DF */}\n <CardContent className=\"lg-desktop:gap-[10px] lg-desktop:px-6 lg-desktop:py-4 relative flex flex-1 flex-col gap-2 p-4\">\n {/* \u6807\u7B7E */}\n <div className=\"lg-desktop:h-[28px] flex h-[24px] gap-1\">\n {showTags &&\n product.tags?.map((tag: any, index) =>\n (tag as any).label ? (\n <Badge\n key={index}\n size=\"sm\"\n variant={(tag.variant as any) || 'outline'}\n className={cn(tag.variant === 'promotional' ? 'ml-2' : '')}\n promotionalType={tag.promotionalType}\n >\n {tag.label}\n </Badge>\n ) : (\n <React.Fragment key={index}>{tag}</React.Fragment>\n )\n )}\n </div>\n\n {/* \u4EA7\u54C1\u56FE\u533A\u57DF */}\n <div className=\"product-image-wrapper lg-desktop:size-[196px] mx-auto size-[138px] cursor-pointer overflow-hidden\">\n <a\n onClick={() => onProductImageClick?.(product)}\n {...(!onProductImageClick && {\n href: product?.listingLink,\n })}\n rel=\"noreferrer\"\n >\n <Picture\n source={product.image}\n alt={product.name}\n className=\"aspect-square size-full object-contain\"\n imgClassName=\"w-full h-full object-contain\"\n />\n </a>\n </div>\n\n {/* \u5185\u5BB9\u533A\u57DF */}\n <div className=\"lg-desktop:gap-6 flex flex-1 grow flex-col justify-between gap-4\">\n {/* \u4EA7\u54C1\u4FE1\u606F */}\n <div className=\"lg-desktop:gap-1 flex flex-col gap-0.5\">\n <Heading\n as=\"h3\"\n size={2}\n className={cn('text-info-primary line-clamp-2 min-h-[2.4em]', classNames?.productTitle)}\n html={product.custom_name || product.name}\n />\n {product?.description && (\n <Text\n size={2}\n className={cn(\n 'text-info-secondary desktop:line-clamp-2 desktop:min-h-[2.4em] line-clamp-2 min-h-[2.4em]',\n classNames?.productDescription\n )}\n html={product.custom_description || product.description}\n />\n )}\n </div>\n\n {/* \u4EF7\u683C\u533A\u57DF */}\n <div className=\"lg-desktop:gap-2 flex flex-col gap-1.5\">\n {/* \u4EF7\u683C */}\n <div className={cn(classNames?.productPrice)}>\n <div className=\"flex items-baseline gap-1\">\n {product.availableForSale ? (\n <>\n <Heading size={2} className=\"text-info-primary\" as=\"h6\">\n {product.price}\n </Heading>\n {showOriginalPrice && product.originalPrice && (\n <Heading\n size={2}\n className={cn('text-info-tertiary line-through', classNames?.originalPrice)}\n as=\"h6\"\n >\n {product.originalPrice}\n </Heading>\n )}\n </>\n ) : (\n <Heading size={2} className=\"text-info-tertiary\">\n {copy?.outOfStockLabel ?? 'Sold Out'}\n </Heading>\n )}\n </div>\n </div>\n\n {product?.priceLabel && (\n <Text\n size={4}\n className={cn(\n 'text-marketing-1 desktop:text-[16px] lg-desktop:text-[18px] text-[14px]',\n classNames?.productPriceLabel\n )}\n >\n {product.priceLabel}\n </Text>\n )}\n\n {/* \u6309\u94AE\u533A\u57DF */}\n <div className={cn('lg-desktop:gap-3 flex flex-nowrap gap-2', classNames?.buttonGroup)}>\n {secondaryButtonText && (\n <Button\n variant=\"secondary\"\n size=\"base\"\n className={cn('tablet:w-fit w-full', classNames?.secondaryButton)}\n onClick={() => handleButtonClick(secondaryButtonFun, 'secondary')}\n disabled={!product.availableForSale && secondaryButtonFun !== 'learnMore'}\n loading={secondaryLoading}\n data-headless-type-name=\"CreditsShelf#ProductCard\"\n data-headless-title-desc-button={`${product.custom_name || product.name}#${product.description || ''}#${secondaryButtonText}`}\n data-headless-sku={product.sku}\n >\n {secondaryButtonText}\n </Button>\n )}\n {primaryButtonText && (\n <Button\n variant=\"primary\"\n size=\"base\"\n className={cn('tablet:w-fit w-full', classNames?.primaryButton)}\n onClick={() => handleButtonClick(primaryButtonFun, 'primary')}\n disabled={!product.availableForSale && primaryButtonFun !== 'learnMore'}\n loading={primaryLoading}\n data-headless-type-name=\"CreditsShelf#ProductCard\"\n data-headless-title-desc-button={`${product.custom_name || product.name}#${product.description || ''}#${primaryButtonText}`}\n data-headless-sku={product.sku}\n >\n {primaryButtonText}\n </Button>\n )}\n </div>\n </div>\n </div>\n </CardContent>\n\n {/* \u5E95\u90E8\u79EF\u5206\u62B5\u73B0\u63D0\u793A\u6761 */}\n <div\n className={cn(\n 'bg-container-secondary-0 lg-desktop:px-6 lg-desktop:py-4 flex items-center justify-center gap-1 px-4 py-3',\n classNames?.creditTip\n )}\n >\n <div className=\"bg-info-primary flex size-6 items-center justify-center rounded-full p-1\">\n <span className=\"text-info-white\">\n <StarIcon />\n </span>\n </div>\n <Text size={2} className=\"text-info-primary\">\n {creditTipText}\n </Text>\n </div>\n </Card>\n )\n }\n)\n\nCreditsProductCard.displayName = 'CreditsShelf.ProductCard'\n\nexport { CreditsProductCard }\nexport default CreditsProductCard\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { cn } from '../../helpers/index.js'\nimport { Button, Badge, Card, CardContent, Picture, Text, Heading } from '../../components/index.js'\n\nimport type { ButtonFunctionType, CopyConfig, CreditsShelfSemanticName, CreditsProductCardData } from './types.js'\nimport { useCreditsShelfContext } from './context.js'\n\n/**\n * \u4EA7\u54C1\u5361\u7247\u7EC4\u4EF6 Props\n */\nexport interface CreditsProductCardProps {\n /** \u4EA7\u54C1\u6570\u636E */\n product: CreditsProductCardData\n /** \u6837\u5F0F\u7C7B\u540D */\n className?: string\n /** \u662F\u5426\u5C55\u793A\u6807\u7B7E\u7CFB\u7EDF */\n showTags?: boolean\n /** \u70B9\u51FB\u4E86\u89E3\u66F4\u591A\u56DE\u8C03 */\n onLearnMore?: (product: CreditsProductCardData) => void\n /** \u70B9\u51FB\u7ACB\u5373\u8D2D\u4E70\u56DE\u8C03 */\n onShopNow?: (product: CreditsProductCardData) => void\n /** \u70B9\u51FB\u52A0\u5165\u8D2D\u7269\u8F66\u56DE\u8C03 */\n onAddToCart?: (product: CreditsProductCardData) => void\n /** \u8BED\u4E49\u5316\u7C7B\u540D */\n classNames?: Partial<Record<CreditsShelfSemanticName, string>>\n /** \u4E86\u89E3\u66F4\u591A\u6309\u94AE\u6587\u672C */\n secondaryButtonText?: string\n /** \u4E86\u89E3\u66F4\u591A\u6309\u94AE\u529F\u80FD */\n secondaryButtonFun?: ButtonFunctionType\n /** \u7ACB\u5373\u8D2D\u4E70\u6309\u94AE\u6587\u672C */\n primaryButtonText?: string\n /** \u7ACB\u5373\u8D2D\u4E70\u6309\u94AE\u529F\u80FD */\n primaryButtonFun?: ButtonFunctionType\n /** \u662F\u5426\u5C55\u793A\u539F\u4EF7\uFF08\u5220\u9664\u7EBF\u4EF7\u683C\uFF09 */\n showOriginalPrice?: boolean\n /** \u6587\u6848\u914D\u7F6E */\n copy?: CopyConfig\n /** \u4EA7\u54C1\u56FE\u7247\u70B9\u51FB\u56DE\u8C03 */\n onProductImageClick?: (product: CreditsProductCardData) => void\n}\n\n/**\n * \u661F\u661F\u56FE\u6807\u7EC4\u4EF6\n */\nconst StarIcon = () => (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M8 1L10.163 5.279L15 6.001L11.5 9.409L12.326 14.226L8 11.97L3.674 14.226L4.5 9.409L1 6.001L5.837 5.279L8 1Z\"\n fill=\"currentColor\"\n />\n </svg>\n)\n\n/**\n * CreditsShelf \u4EA7\u54C1\u5361\u7247\u7EC4\u4EF6\n */\nconst CreditsProductCard = React.forwardRef<HTMLDivElement, CreditsProductCardProps>(\n (\n {\n product,\n className,\n showTags: showTagsProp,\n onLearnMore: onLearnMoreProp,\n onShopNow: onShopNowProp,\n onAddToCart: onAddToCartProp,\n classNames: classNamesProp,\n secondaryButtonText: secondaryButtonTextProp,\n secondaryButtonFun: secondaryButtonFunProp,\n primaryButtonText: primaryButtonTextProp,\n primaryButtonFun: primaryButtonFunProp,\n showOriginalPrice: showOriginalPriceProp,\n copy: copyProp,\n onProductImageClick: onProductImageClickProp,\n },\n ref\n ) => {\n // \u4ECE Context \u8BFB\u53D6\u914D\u7F6E\n const context = useCreditsShelfContext()\n\n // Props \u4F18\u5148\u7EA7\u9AD8\u4E8E Context\n const showTags = showTagsProp ?? context?.showTags ?? true\n const showOriginalPrice = showOriginalPriceProp ?? context?.showOriginalPrice ?? true\n const copy = copyProp ?? context?.copy\n const classNames = classNamesProp ?? context?.classNames\n const secondaryButtonText = secondaryButtonTextProp ?? context?.secondaryButtonText\n const secondaryButtonFun = secondaryButtonFunProp ?? context?.secondaryButtonFun\n const primaryButtonText = primaryButtonTextProp ?? context?.primaryButtonText\n const primaryButtonFun = primaryButtonFunProp ?? context?.primaryButtonFun\n const onLearnMore = onLearnMoreProp ?? context?.onLearnMore\n const onShopNow = onShopNowProp ?? context?.onShopNow\n const onAddToCart = onAddToCartProp ?? context?.onAddToCart\n const onProductImageClick = onProductImageClickProp ?? context?.onProductImageClick\n\n const [primaryLoading, setPrimaryLoading] = React.useState(false)\n const [secondaryLoading, setSecondaryLoading] = React.useState(false)\n\n // \u6839\u636E\u6309\u94AE\u529F\u80FD\u7C7B\u578B\u8C03\u7528\u76F8\u5E94\u7684\u56DE\u8C03\u51FD\u6570\n const handleButtonClick = async (buttonFun?: ButtonFunctionType, buttonType?: 'primary' | 'secondary') => {\n if (!buttonFun) return\n\n const setLoading = buttonType === 'primary' ? setPrimaryLoading : setSecondaryLoading\n setLoading(true)\n\n try {\n switch (buttonFun) {\n case 'buyNow':\n await onShopNow?.(product)\n break\n case 'addCart':\n await onAddToCart?.(product)\n break\n case 'learnMore':\n await onLearnMore?.(product)\n break\n default:\n break\n }\n } finally {\n setLoading(false)\n }\n }\n\n // \u751F\u6210\u79EF\u5206\u62B5\u73B0\u63D0\u793A\u6587\u672C\n const creditTipText = React.useMemo(() => {\n if (!product.creditSavingAmount) return null\n const template = copy?.creditsSavingLabel ?? 'Save up to {amount} with Credits'\n return template.replace('{amount}', product.creditSavingAmount)\n }, [product.creditSavingAmount, copy?.creditsSavingLabel])\n\n return (\n <Card\n ref={ref}\n className={cn(\n 'bg-container-primary hover:bg-container-secondary-0 box-border flex h-full flex-col overflow-hidden border-none',\n className,\n classNames?.productCard\n )}\n >\n {/* \u4E3B\u5185\u5BB9\u533A\u57DF */}\n <CardContent className=\"lg-desktop:gap-[10px] lg-desktop:px-6 lg-desktop:py-4 relative flex flex-1 flex-col gap-2 p-4\">\n {/* \u6807\u7B7E */}\n <div className=\"lg-desktop:h-[28px] flex h-[24px] gap-1\">\n {showTags &&\n product.tags?.map((tag: any, index) =>\n (tag as any).label ? (\n <Badge\n key={index}\n size=\"sm\"\n variant={(tag.variant as any) || 'outline'}\n className={cn(tag.variant === 'promotional' ? 'ml-2' : '')}\n promotionalType={tag.promotionalType}\n >\n {tag.label}\n </Badge>\n ) : (\n <React.Fragment key={index}>{tag}</React.Fragment>\n )\n )}\n </div>\n\n {/* \u4EA7\u54C1\u56FE\u533A\u57DF */}\n <div className=\"product-image-wrapper lg-desktop:size-[196px] mx-auto size-[138px] cursor-pointer overflow-hidden\">\n <a\n onClick={() => onProductImageClick?.(product)}\n {...(!onProductImageClick && {\n href: product?.listingLink,\n })}\n rel=\"noreferrer\"\n >\n <Picture\n source={product.image}\n alt={product.name}\n className=\"aspect-square size-full object-contain\"\n imgClassName=\"w-full h-full object-contain\"\n />\n </a>\n </div>\n\n {/* \u5185\u5BB9\u533A\u57DF */}\n <div className=\"lg-desktop:gap-6 flex flex-1 grow flex-col justify-between gap-4\">\n {/* \u4EA7\u54C1\u4FE1\u606F */}\n <div className=\"lg-desktop:gap-1 flex flex-col gap-0.5\">\n <Heading\n as=\"h3\"\n size={2}\n className={cn('text-info-primary line-clamp-2 min-h-[2.4em]', classNames?.productTitle)}\n html={product.custom_name || product.name}\n />\n {product?.description && (\n <Text\n size={2}\n className={cn(\n 'text-info-secondary desktop:line-clamp-2 desktop:min-h-[2.4em] line-clamp-2 min-h-[2.4em]',\n classNames?.productDescription\n )}\n html={product.custom_description || product.description}\n />\n )}\n </div>\n\n {/* \u4EF7\u683C\u533A\u57DF */}\n <div className=\"lg-desktop:gap-2 flex flex-col gap-1.5\">\n {/* \u4EF7\u683C */}\n <div className={cn(classNames?.productPrice)}>\n <div className=\"flex items-baseline gap-1\">\n {product.availableForSale ? (\n <>\n <Heading size={2} className=\"text-info-primary\" as=\"h6\">\n {product.price}\n </Heading>\n {showOriginalPrice && product.originalPrice && (\n <Heading\n size={2}\n className={cn('text-info-tertiary line-through', classNames?.originalPrice)}\n as=\"h6\"\n >\n {product.originalPrice}\n </Heading>\n )}\n </>\n ) : (\n <Heading size={2} className=\"text-info-tertiary\">\n {copy?.outOfStockLabel ?? 'Sold Out'}\n </Heading>\n )}\n </div>\n </div>\n\n {product?.priceLabel && (\n <Text\n size={4}\n className={cn(\n 'text-marketing-1 desktop:text-[16px] lg-desktop:text-[18px] text-[14px]',\n classNames?.productPriceLabel\n )}\n >\n {product.priceLabel}\n </Text>\n )}\n\n {/* \u6309\u94AE\u533A\u57DF */}\n <div className={cn('lg-desktop:gap-3 tablet:flex-nowrap flex flex-wrap gap-2', classNames?.buttonGroup)}>\n {secondaryButtonText && (\n <Button\n variant=\"secondary\"\n size=\"base\"\n className={cn(\n 'tablet:w-fit tablet:min-w-0 tablet:whitespace-normal tablet:text-center w-full whitespace-nowrap',\n classNames?.secondaryButton\n )}\n onClick={() => handleButtonClick(secondaryButtonFun, 'secondary')}\n disabled={!product.availableForSale && secondaryButtonFun !== 'learnMore'}\n loading={secondaryLoading}\n data-headless-type-name=\"CreditsShelf#ProductCard\"\n data-headless-title-desc-button={`${product.custom_name || product.name}#${product.description || ''}#${secondaryButtonText}`}\n data-headless-sku={product.sku}\n >\n {secondaryButtonText}\n </Button>\n )}\n {primaryButtonText && (\n <Button\n variant=\"primary\"\n size=\"base\"\n className={cn(\n 'tablet:w-fit tablet:min-w-0 tablet:whitespace-normal tablet:text-center w-full whitespace-nowrap',\n classNames?.primaryButton\n )}\n onClick={() => handleButtonClick(primaryButtonFun, 'primary')}\n disabled={!product.availableForSale && primaryButtonFun !== 'learnMore'}\n loading={primaryLoading}\n data-headless-type-name=\"CreditsShelf#ProductCard\"\n data-headless-title-desc-button={`${product.custom_name || product.name}#${product.description || ''}#${primaryButtonText}`}\n data-headless-sku={product.sku}\n >\n {primaryButtonText}\n </Button>\n )}\n </div>\n </div>\n </div>\n </CardContent>\n\n {/* \u5E95\u90E8\u79EF\u5206\u62B5\u73B0\u63D0\u793A\u6761 */}\n <div\n className={cn(\n 'bg-container-secondary-0 lg-desktop:px-6 lg-desktop:py-4 flex items-center justify-center gap-1 px-4 py-3',\n classNames?.creditTip\n )}\n >\n <div className=\"bg-info-primary flex size-6 items-center justify-center rounded-full p-1\">\n <span className=\"text-info-white\">\n <StarIcon />\n </span>\n </div>\n <Text size={2} className=\"text-info-primary\">\n {creditTipText}\n </Text>\n </div>\n </Card>\n )\n }\n)\n\nCreditsProductCard.displayName = 'CreditsShelf.ProductCard'\n\nexport { CreditsProductCard }\nexport default CreditsProductCard\n"],
5
+ "mappings": "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",
6
6
  "names": ["Fragment", "jsx", "jsxs", "React", "cn", "Button", "Badge", "Card", "CardContent", "Picture", "Text", "Heading", "useCreditsShelfContext", "StarIcon", "CreditsProductCard", "product", "className", "showTagsProp", "onLearnMoreProp", "onShopNowProp", "onAddToCartProp", "classNamesProp", "secondaryButtonTextProp", "secondaryButtonFunProp", "primaryButtonTextProp", "primaryButtonFunProp", "showOriginalPriceProp", "copyProp", "onProductImageClickProp", "ref", "context", "showTags", "showOriginalPrice", "copy", "classNames", "secondaryButtonText", "secondaryButtonFun", "primaryButtonText", "primaryButtonFun", "onLearnMore", "onShopNow", "onAddToCart", "onProductImageClick", "primaryLoading", "setPrimaryLoading", "secondaryLoading", "setSecondaryLoading", "handleButtonClick", "buttonFun", "buttonType", "setLoading", "creditTipText", "tag", "index", "ProductCard_default"]
7
7
  }