@anker-in/headless-ui 1.3.57 → 1.3.59

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 (297) 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/CartDetail/CartGiftSection/CartGiftSection.d.ts +15 -0
  32. package/dist/cjs/biz-components/CartDetail/CartGiftSection/CartGiftSection.js +2 -0
  33. package/dist/cjs/biz-components/CartDetail/CartGiftSection/CartGiftSection.js.map +7 -0
  34. package/dist/cjs/biz-components/CartDetail/CartGiftSection/components/GiftConfirmDialog/GiftConfirmDialog.d.ts +11 -0
  35. package/dist/cjs/biz-components/CartDetail/CartGiftSection/components/GiftConfirmDialog/GiftConfirmDialog.js +2 -0
  36. package/dist/cjs/biz-components/CartDetail/CartGiftSection/components/GiftConfirmDialog/GiftConfirmDialog.js.map +7 -0
  37. package/dist/cjs/biz-components/CartDetail/CartGiftSection/components/GiftConfirmDialog/index.d.ts +2 -0
  38. package/dist/cjs/biz-components/CartDetail/CartGiftSection/components/GiftConfirmDialog/index.js +2 -0
  39. package/dist/cjs/biz-components/CartDetail/CartGiftSection/components/GiftConfirmDialog/index.js.map +7 -0
  40. package/dist/cjs/biz-components/CartDetail/CartGiftSection/components/GiftOptionRow/GiftOptionRow.d.ts +14 -0
  41. package/dist/cjs/biz-components/CartDetail/CartGiftSection/components/GiftOptionRow/GiftOptionRow.js +2 -0
  42. package/dist/cjs/biz-components/CartDetail/CartGiftSection/components/GiftOptionRow/GiftOptionRow.js.map +7 -0
  43. package/dist/cjs/biz-components/CartDetail/CartGiftSection/components/GiftOptionRow/index.d.ts +2 -0
  44. package/dist/cjs/biz-components/CartDetail/CartGiftSection/components/GiftOptionRow/index.js +2 -0
  45. package/dist/cjs/biz-components/CartDetail/CartGiftSection/components/GiftOptionRow/index.js.map +7 -0
  46. package/dist/cjs/biz-components/CartDetail/CartGiftSection/index.d.ts +2 -0
  47. package/dist/cjs/biz-components/CartDetail/CartGiftSection/index.js +2 -0
  48. package/dist/cjs/biz-components/CartDetail/CartGiftSection/index.js.map +7 -0
  49. package/dist/cjs/biz-components/CartDetail/CartItemRow/CartItemRow.d.ts +56 -0
  50. package/dist/cjs/biz-components/CartDetail/CartItemRow/CartItemRow.js +2 -0
  51. package/dist/cjs/biz-components/CartDetail/CartItemRow/CartItemRow.js.map +7 -0
  52. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/CartItemGiftShipping.d.ts +4 -0
  53. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/CartItemGiftShipping.js +2 -0
  54. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/CartItemGiftShipping.js.map +7 -0
  55. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/index.d.ts +2 -0
  56. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/index.js +2 -0
  57. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/index.js.map +7 -0
  58. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/types.d.ts +10 -0
  59. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/types.js +2 -0
  60. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/types.js.map +7 -0
  61. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemInfo/CartItemInfo.d.ts +11 -0
  62. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemInfo/CartItemInfo.js +2 -0
  63. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemInfo/CartItemInfo.js.map +7 -0
  64. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemInfo/index.d.ts +2 -0
  65. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemInfo/index.js +2 -0
  66. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemInfo/index.js.map +7 -0
  67. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemKsp/CartItemKsp.d.ts +13 -0
  68. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemKsp/CartItemKsp.js +2 -0
  69. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemKsp/CartItemKsp.js.map +7 -0
  70. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemKsp/index.d.ts +2 -0
  71. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemKsp/index.js +2 -0
  72. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemKsp/index.js.map +7 -0
  73. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/CartItemRemoveConfirm.d.ts +4 -0
  74. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/CartItemRemoveConfirm.js +2 -0
  75. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/CartItemRemoveConfirm.js.map +7 -0
  76. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/index.d.ts +2 -0
  77. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/index.js +2 -0
  78. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/index.js.map +7 -0
  79. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/types.d.ts +11 -0
  80. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/types.js +2 -0
  81. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/types.js.map +7 -0
  82. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemShipping/CartItemShipping.d.ts +8 -0
  83. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemShipping/CartItemShipping.js +2 -0
  84. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemShipping/CartItemShipping.js.map +7 -0
  85. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemShipping/index.d.ts +2 -0
  86. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemShipping/index.js +2 -0
  87. package/dist/cjs/biz-components/CartDetail/CartItemRow/components/CartItemShipping/index.js.map +7 -0
  88. package/dist/cjs/biz-components/CartDetail/CartItemRow/index.d.ts +2 -0
  89. package/dist/cjs/biz-components/CartDetail/CartItemRow/index.js +2 -0
  90. package/dist/cjs/biz-components/CartDetail/CartItemRow/index.js.map +7 -0
  91. package/dist/cjs/biz-components/CartDetail/CartPerksSection/CartPerksSection.d.ts +34 -0
  92. package/dist/cjs/biz-components/CartDetail/CartPerksSection/CartPerksSection.js +2 -0
  93. package/dist/cjs/biz-components/CartDetail/CartPerksSection/CartPerksSection.js.map +7 -0
  94. package/dist/cjs/biz-components/CartDetail/CartPerksSection/index.d.ts +2 -0
  95. package/dist/cjs/biz-components/CartDetail/CartPerksSection/index.js +2 -0
  96. package/dist/cjs/biz-components/CartDetail/CartPerksSection/index.js.map +7 -0
  97. package/dist/cjs/biz-components/CartDetail/CartPriceSummary/CartPriceSummary.d.ts +51 -0
  98. package/dist/cjs/biz-components/CartDetail/CartPriceSummary/CartPriceSummary.js +2 -0
  99. package/dist/cjs/biz-components/CartDetail/CartPriceSummary/CartPriceSummary.js.map +7 -0
  100. package/dist/cjs/biz-components/CartDetail/CartPriceSummary/index.d.ts +2 -0
  101. package/dist/cjs/biz-components/CartDetail/CartPriceSummary/index.js +2 -0
  102. package/dist/cjs/biz-components/CartDetail/CartPriceSummary/index.js.map +7 -0
  103. package/dist/cjs/biz-components/CartDetail/CartSummaryHeader/CartSummaryHeader.d.ts +26 -0
  104. package/dist/cjs/biz-components/CartDetail/CartSummaryHeader/CartSummaryHeader.js +2 -0
  105. package/dist/cjs/biz-components/CartDetail/CartSummaryHeader/CartSummaryHeader.js.map +7 -0
  106. package/dist/cjs/biz-components/CartDetail/CartSummaryHeader/index.d.ts +2 -0
  107. package/dist/cjs/biz-components/CartDetail/CartSummaryHeader/index.js +2 -0
  108. package/dist/cjs/biz-components/CartDetail/CartSummaryHeader/index.js.map +7 -0
  109. package/dist/cjs/biz-components/CartDetail/CartThirdParty/CartThirdParty.d.ts +10 -0
  110. package/dist/cjs/biz-components/CartDetail/CartThirdParty/CartThirdParty.js +2 -0
  111. package/dist/cjs/biz-components/CartDetail/CartThirdParty/CartThirdParty.js.map +7 -0
  112. package/dist/cjs/biz-components/CartDetail/CartThirdParty/index.d.ts +2 -0
  113. package/dist/cjs/biz-components/CartDetail/CartThirdParty/index.js +2 -0
  114. package/dist/cjs/biz-components/CartDetail/CartThirdParty/index.js.map +7 -0
  115. package/dist/cjs/biz-components/CartDetail/index.d.ts +16 -0
  116. package/dist/cjs/biz-components/CartDetail/index.js +2 -0
  117. package/dist/cjs/biz-components/CartDetail/index.js.map +7 -0
  118. package/dist/cjs/biz-components/CartDetail/types.d.ts +132 -0
  119. package/dist/cjs/biz-components/CartDetail/types.js +2 -0
  120. package/dist/cjs/biz-components/CartDetail/types.js.map +7 -0
  121. package/dist/cjs/biz-components/HeaderNavigation/index.js +1 -1
  122. package/dist/cjs/biz-components/HeaderNavigation/index.js.map +2 -2
  123. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplayItem.js +1 -1
  124. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplayItem.js.map +2 -2
  125. package/dist/cjs/biz-components/index.d.ts +6 -0
  126. package/dist/cjs/biz-components/index.js +1 -1
  127. package/dist/cjs/biz-components/index.js.map +3 -3
  128. package/dist/cjs/components/breadcrumb.d.ts +12 -0
  129. package/dist/cjs/components/breadcrumb.js +2 -0
  130. package/dist/cjs/components/breadcrumb.js.map +7 -0
  131. package/dist/cjs/components/button.js +1 -1
  132. package/dist/cjs/components/button.js.map +2 -2
  133. package/dist/cjs/components/index.d.ts +3 -1
  134. package/dist/cjs/components/index.js +1 -1
  135. package/dist/cjs/components/index.js.map +3 -3
  136. package/dist/cjs/components/input-number.d.ts +22 -0
  137. package/dist/cjs/components/input-number.js +1 -1
  138. package/dist/cjs/components/input-number.js.map +3 -3
  139. package/dist/cjs/components/input.d.ts +5 -0
  140. package/dist/cjs/components/input.js +1 -1
  141. package/dist/cjs/components/input.js.map +3 -3
  142. package/dist/cjs/components/popover.d.ts +17 -2
  143. package/dist/cjs/components/popover.js +1 -1
  144. package/dist/cjs/components/popover.js.map +3 -3
  145. package/dist/cjs/components/toast.d.ts +25 -0
  146. package/dist/cjs/components/toast.js +2 -0
  147. package/dist/cjs/components/toast.js.map +7 -0
  148. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoriesProductGrid/index.d.ts +11 -0
  149. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoriesProductGrid/index.js +2 -0
  150. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoriesProductGrid/index.js.map +7 -0
  151. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/ProductCard.d.ts +23 -0
  152. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/ProductCard.js +2 -0
  153. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/ProductCard.js.map +7 -0
  154. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/index.d.ts +40 -0
  155. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/index.js +2 -0
  156. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/index.js.map +7 -0
  157. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/types.d.ts +107 -0
  158. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/types.js +1 -0
  159. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/types.js.map +7 -0
  160. package/dist/esm/biz-components/AccessoriesShelf/components/AddToCartSuccessPopover/index.d.ts +82 -0
  161. package/dist/esm/biz-components/AccessoriesShelf/components/AddToCartSuccessPopover/index.js +2 -0
  162. package/dist/esm/biz-components/AccessoriesShelf/components/AddToCartSuccessPopover/index.js.map +7 -0
  163. package/dist/esm/biz-components/AccessoriesShelf/components/MainProductArea/index.d.ts +22 -0
  164. package/dist/esm/biz-components/AccessoriesShelf/components/MainProductArea/index.js +2 -0
  165. package/dist/esm/biz-components/AccessoriesShelf/components/MainProductArea/index.js.map +7 -0
  166. package/dist/esm/biz-components/AccessoriesShelf/components/PromoBanner/index.d.ts +10 -0
  167. package/dist/esm/biz-components/AccessoriesShelf/components/PromoBanner/index.js +2 -0
  168. package/dist/esm/biz-components/AccessoriesShelf/components/PromoBanner/index.js.map +7 -0
  169. package/dist/esm/biz-components/AccessoriesShelf/components/SectionHeader/index.d.ts +9 -0
  170. package/dist/esm/biz-components/AccessoriesShelf/components/SectionHeader/index.js +2 -0
  171. package/dist/esm/biz-components/AccessoriesShelf/components/SectionHeader/index.js.map +7 -0
  172. package/dist/esm/biz-components/AccessoriesShelf/index.d.ts +9 -0
  173. package/dist/esm/biz-components/AccessoriesShelf/index.js +2 -0
  174. package/dist/esm/biz-components/AccessoriesShelf/index.js.map +7 -0
  175. package/dist/esm/biz-components/AccessoriesShelf/types.d.ts +16 -0
  176. package/dist/esm/biz-components/AccessoriesShelf/types.js +1 -0
  177. package/dist/esm/biz-components/AccessoriesShelf/types.js.map +7 -0
  178. package/dist/esm/biz-components/CartDetail/CartGiftSection/CartGiftSection.d.ts +15 -0
  179. package/dist/esm/biz-components/CartDetail/CartGiftSection/CartGiftSection.js +2 -0
  180. package/dist/esm/biz-components/CartDetail/CartGiftSection/CartGiftSection.js.map +7 -0
  181. package/dist/esm/biz-components/CartDetail/CartGiftSection/components/GiftConfirmDialog/GiftConfirmDialog.d.ts +11 -0
  182. package/dist/esm/biz-components/CartDetail/CartGiftSection/components/GiftConfirmDialog/GiftConfirmDialog.js +2 -0
  183. package/dist/esm/biz-components/CartDetail/CartGiftSection/components/GiftConfirmDialog/GiftConfirmDialog.js.map +7 -0
  184. package/dist/esm/biz-components/CartDetail/CartGiftSection/components/GiftConfirmDialog/index.d.ts +2 -0
  185. package/dist/esm/biz-components/CartDetail/CartGiftSection/components/GiftConfirmDialog/index.js +2 -0
  186. package/dist/esm/biz-components/CartDetail/CartGiftSection/components/GiftConfirmDialog/index.js.map +7 -0
  187. package/dist/esm/biz-components/CartDetail/CartGiftSection/components/GiftOptionRow/GiftOptionRow.d.ts +14 -0
  188. package/dist/esm/biz-components/CartDetail/CartGiftSection/components/GiftOptionRow/GiftOptionRow.js +2 -0
  189. package/dist/esm/biz-components/CartDetail/CartGiftSection/components/GiftOptionRow/GiftOptionRow.js.map +7 -0
  190. package/dist/esm/biz-components/CartDetail/CartGiftSection/components/GiftOptionRow/index.d.ts +2 -0
  191. package/dist/esm/biz-components/CartDetail/CartGiftSection/components/GiftOptionRow/index.js +2 -0
  192. package/dist/esm/biz-components/CartDetail/CartGiftSection/components/GiftOptionRow/index.js.map +7 -0
  193. package/dist/esm/biz-components/CartDetail/CartGiftSection/index.d.ts +2 -0
  194. package/dist/esm/biz-components/CartDetail/CartGiftSection/index.js +2 -0
  195. package/dist/esm/biz-components/CartDetail/CartGiftSection/index.js.map +7 -0
  196. package/dist/esm/biz-components/CartDetail/CartItemRow/CartItemRow.d.ts +56 -0
  197. package/dist/esm/biz-components/CartDetail/CartItemRow/CartItemRow.js +2 -0
  198. package/dist/esm/biz-components/CartDetail/CartItemRow/CartItemRow.js.map +7 -0
  199. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/CartItemGiftShipping.d.ts +4 -0
  200. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/CartItemGiftShipping.js +2 -0
  201. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/CartItemGiftShipping.js.map +7 -0
  202. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/index.d.ts +2 -0
  203. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/index.js +2 -0
  204. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/index.js.map +7 -0
  205. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/types.d.ts +10 -0
  206. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/types.js +1 -0
  207. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemGiftShipping/types.js.map +7 -0
  208. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemInfo/CartItemInfo.d.ts +11 -0
  209. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemInfo/CartItemInfo.js +2 -0
  210. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemInfo/CartItemInfo.js.map +7 -0
  211. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemInfo/index.d.ts +2 -0
  212. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemInfo/index.js +2 -0
  213. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemInfo/index.js.map +7 -0
  214. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemKsp/CartItemKsp.d.ts +13 -0
  215. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemKsp/CartItemKsp.js +2 -0
  216. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemKsp/CartItemKsp.js.map +7 -0
  217. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemKsp/index.d.ts +2 -0
  218. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemKsp/index.js +2 -0
  219. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemKsp/index.js.map +7 -0
  220. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/CartItemRemoveConfirm.d.ts +4 -0
  221. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/CartItemRemoveConfirm.js +2 -0
  222. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/CartItemRemoveConfirm.js.map +7 -0
  223. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/index.d.ts +2 -0
  224. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/index.js +2 -0
  225. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/index.js.map +7 -0
  226. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/types.d.ts +11 -0
  227. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/types.js +1 -0
  228. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemRemoveConfirm/types.js.map +7 -0
  229. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemShipping/CartItemShipping.d.ts +8 -0
  230. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemShipping/CartItemShipping.js +2 -0
  231. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemShipping/CartItemShipping.js.map +7 -0
  232. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemShipping/index.d.ts +2 -0
  233. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemShipping/index.js +2 -0
  234. package/dist/esm/biz-components/CartDetail/CartItemRow/components/CartItemShipping/index.js.map +7 -0
  235. package/dist/esm/biz-components/CartDetail/CartItemRow/index.d.ts +2 -0
  236. package/dist/esm/biz-components/CartDetail/CartItemRow/index.js +2 -0
  237. package/dist/esm/biz-components/CartDetail/CartItemRow/index.js.map +7 -0
  238. package/dist/esm/biz-components/CartDetail/CartPerksSection/CartPerksSection.d.ts +34 -0
  239. package/dist/esm/biz-components/CartDetail/CartPerksSection/CartPerksSection.js +2 -0
  240. package/dist/esm/biz-components/CartDetail/CartPerksSection/CartPerksSection.js.map +7 -0
  241. package/dist/esm/biz-components/CartDetail/CartPerksSection/index.d.ts +2 -0
  242. package/dist/esm/biz-components/CartDetail/CartPerksSection/index.js +2 -0
  243. package/dist/esm/biz-components/CartDetail/CartPerksSection/index.js.map +7 -0
  244. package/dist/esm/biz-components/CartDetail/CartPriceSummary/CartPriceSummary.d.ts +51 -0
  245. package/dist/esm/biz-components/CartDetail/CartPriceSummary/CartPriceSummary.js +2 -0
  246. package/dist/esm/biz-components/CartDetail/CartPriceSummary/CartPriceSummary.js.map +7 -0
  247. package/dist/esm/biz-components/CartDetail/CartPriceSummary/index.d.ts +2 -0
  248. package/dist/esm/biz-components/CartDetail/CartPriceSummary/index.js +2 -0
  249. package/dist/esm/biz-components/CartDetail/CartPriceSummary/index.js.map +7 -0
  250. package/dist/esm/biz-components/CartDetail/CartSummaryHeader/CartSummaryHeader.d.ts +26 -0
  251. package/dist/esm/biz-components/CartDetail/CartSummaryHeader/CartSummaryHeader.js +2 -0
  252. package/dist/esm/biz-components/CartDetail/CartSummaryHeader/CartSummaryHeader.js.map +7 -0
  253. package/dist/esm/biz-components/CartDetail/CartSummaryHeader/index.d.ts +2 -0
  254. package/dist/esm/biz-components/CartDetail/CartSummaryHeader/index.js +2 -0
  255. package/dist/esm/biz-components/CartDetail/CartSummaryHeader/index.js.map +7 -0
  256. package/dist/esm/biz-components/CartDetail/CartThirdParty/CartThirdParty.d.ts +10 -0
  257. package/dist/esm/biz-components/CartDetail/CartThirdParty/CartThirdParty.js +2 -0
  258. package/dist/esm/biz-components/CartDetail/CartThirdParty/CartThirdParty.js.map +7 -0
  259. package/dist/esm/biz-components/CartDetail/CartThirdParty/index.d.ts +2 -0
  260. package/dist/esm/biz-components/CartDetail/CartThirdParty/index.js +2 -0
  261. package/dist/esm/biz-components/CartDetail/CartThirdParty/index.js.map +7 -0
  262. package/dist/esm/biz-components/CartDetail/index.d.ts +16 -0
  263. package/dist/esm/biz-components/CartDetail/index.js +2 -0
  264. package/dist/esm/biz-components/CartDetail/index.js.map +7 -0
  265. package/dist/esm/biz-components/CartDetail/types.d.ts +132 -0
  266. package/dist/esm/biz-components/CartDetail/types.js +1 -0
  267. package/dist/esm/biz-components/CartDetail/types.js.map +7 -0
  268. package/dist/esm/biz-components/HeaderNavigation/index.js +1 -1
  269. package/dist/esm/biz-components/HeaderNavigation/index.js.map +2 -2
  270. package/dist/esm/biz-components/ShelfDisplay/shelfDisplayItem.js +1 -1
  271. package/dist/esm/biz-components/ShelfDisplay/shelfDisplayItem.js.map +2 -2
  272. package/dist/esm/biz-components/index.d.ts +6 -0
  273. package/dist/esm/biz-components/index.js +1 -1
  274. package/dist/esm/biz-components/index.js.map +3 -3
  275. package/dist/esm/components/breadcrumb.d.ts +12 -0
  276. package/dist/esm/components/breadcrumb.js +2 -0
  277. package/dist/esm/components/breadcrumb.js.map +7 -0
  278. package/dist/esm/components/button.js +1 -1
  279. package/dist/esm/components/button.js.map +2 -2
  280. package/dist/esm/components/index.d.ts +3 -1
  281. package/dist/esm/components/index.js +1 -1
  282. package/dist/esm/components/index.js.map +3 -3
  283. package/dist/esm/components/input-number.d.ts +22 -0
  284. package/dist/esm/components/input-number.js +1 -1
  285. package/dist/esm/components/input-number.js.map +3 -3
  286. package/dist/esm/components/input.d.ts +5 -0
  287. package/dist/esm/components/input.js +1 -1
  288. package/dist/esm/components/input.js.map +3 -3
  289. package/dist/esm/components/popover.d.ts +17 -2
  290. package/dist/esm/components/popover.js +1 -1
  291. package/dist/esm/components/popover.js.map +3 -3
  292. package/dist/esm/components/toast.d.ts +25 -0
  293. package/dist/esm/components/toast.js +2 -0
  294. package/dist/esm/components/toast.js.map +7 -0
  295. package/dist/tokens/base.css +4 -0
  296. package/package.json +1 -1
  297. package/style.css +270 -3
@@ -4,7 +4,7 @@ export { Input, InputSlot } from './input.js';
4
4
  export { default as Checkbox } from './checkbox.js';
5
5
  export { default as Skeleton } from './skeleton.js';
6
6
  export { Dialog, DialogPortal, DialogOverlay, DialogClose, DialogTrigger, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription, } from './dialog.js';
7
- export { Popover, PopoverTrigger, PopoverContent } from './popover.js';
7
+ export { Popover, PopoverTrigger, PopoverAnchor, PopoverContent, PopoverClose, PopoverArrow } from './popover.js';
8
8
  export { RadioGroup, RadioGroupItem, type RadioGroupProps, type RadioGroupItemProps } from './radio.js';
9
9
  export { Text, type TextProps } from './text.js';
10
10
  export { Grid, GridItem, type GridProps, type GridItemProps } from './grid.js';
@@ -28,6 +28,8 @@ export { default as LoadingDots } from './loadingDots.js';
28
28
  export { ExposureDetector, type ExposureDetectorProps } from './ExposureDetector.js';
29
29
  export { default as BrandStrip } from './brand-strip.js';
30
30
  export { default as Progress, type ProgressProps, type ProgressClassNames } from './progress.js';
31
+ export { Toast, useToast, type ToastProps, type UseToastOptions } from './toast.js';
32
+ export { default as Breadcrumb, type BreadcrumbProps, type BreadcrumbItem } from './breadcrumb.js';
31
33
  export { default as OtpInput, type OtpInputProps } from './otp-input.js';
32
34
  export { sizeMap } from './button.js';
33
35
  export type { ButtonProps } from './button.js';
@@ -1,2 +1,2 @@
1
- "use strict";var j=Object.create;var D=Object.defineProperty;var z=Object.getOwnPropertyDescriptor;var q=Object.getOwnPropertyNames;var J=Object.getPrototypeOf,K=Object.prototype.hasOwnProperty;var Q=(t,n)=>{for(var u in n)D(t,u,{get:n[u],enumerable:!0})},P=(t,n,u,w)=>{if(n&&typeof n=="object"||typeof n=="function")for(let m of q(n))!K.call(t,m)&&m!==u&&D(t,m,{get:()=>n[m],enumerable:!(w=z(n,m))||w.enumerable});return t};var p=(t,n,u)=>(u=t!=null?j(J(t)):{},P(n||!t||!t.__esModule?D(u,"default",{value:t,enumerable:!0}):u,t)),U=t=>P(D({},"__esModule",{value:!0}),t);var V={};Q(V,{Alert:()=>f.Alert,AlertDescription:()=>f.AlertDescription,AlertTitle:()=>f.AlertTitle,Avatar:()=>i.Avatar,AvatarFallback:()=>i.AvatarFallback,AvatarImage:()=>i.AvatarImage,Badge:()=>T.default,Board:()=>H.default,BrandStrip:()=>F.default,Button:()=>y.default,Card:()=>a.Card,CardContent:()=>a.CardContent,CardDescription:()=>a.CardDescription,CardFooter:()=>a.CardFooter,CardHeader:()=>a.CardHeader,CardTitle:()=>a.CardTitle,Carousel:()=>s.Carousel,CarouselContent:()=>s.CarouselContent,CarouselItem:()=>s.CarouselItem,CarouselNext:()=>s.CarouselNext,CarouselPrevious:()=>s.CarouselPrevious,Checkbox:()=>M.default,Color:()=>v.Color,Container:()=>G.Container,Countdown:()=>k.default,Dialog:()=>r.Dialog,DialogClose:()=>r.DialogClose,DialogContent:()=>r.DialogContent,DialogDescription:()=>r.DialogDescription,DialogFooter:()=>r.DialogFooter,DialogHeader:()=>r.DialogHeader,DialogOverlay:()=>r.DialogOverlay,DialogPortal:()=>r.DialogPortal,DialogTitle:()=>r.DialogTitle,DialogTrigger:()=>r.DialogTrigger,Drawer:()=>e.Drawer,DrawerClose:()=>e.DrawerClose,DrawerContent:()=>e.DrawerContent,DrawerDescription:()=>e.DrawerDescription,DrawerFooter:()=>e.DrawerFooter,DrawerHeader:()=>e.DrawerHeader,DrawerOverlay:()=>e.DrawerOverlay,DrawerPortal:()=>e.DrawerPortal,DrawerTitle:()=>e.DrawerTitle,DrawerTrigger:()=>e.DrawerTrigger,DropdownMenu:()=>o.DropdownMenu,DropdownMenuCheckboxItem:()=>o.DropdownMenuCheckboxItem,DropdownMenuContent:()=>o.DropdownMenuContent,DropdownMenuGroup:()=>o.DropdownMenuGroup,DropdownMenuItem:()=>o.DropdownMenuItem,DropdownMenuLabel:()=>o.DropdownMenuLabel,DropdownMenuPortal:()=>o.DropdownMenuPortal,DropdownMenuRadioGroup:()=>o.DropdownMenuRadioGroup,DropdownMenuRadioItem:()=>o.DropdownMenuRadioItem,DropdownMenuSeparator:()=>o.DropdownMenuSeparator,DropdownMenuShortcut:()=>o.DropdownMenuShortcut,DropdownMenuSub:()=>o.DropdownMenuSub,DropdownMenuSubContent:()=>o.DropdownMenuSubContent,DropdownMenuSubTrigger:()=>o.DropdownMenuSubTrigger,DropdownMenuTrigger:()=>o.DropdownMenuTrigger,ExposureDetector:()=>h.ExposureDetector,Grid:()=>g.Grid,GridItem:()=>g.GridItem,Heading:()=>c.Heading,Input:()=>x.Input,InputNumber:()=>A.default,InputSlot:()=>x.InputSlot,Link:()=>S.default,LoadingDots:()=>L.default,OtpInput:()=>O.default,Picture:()=>B.default,Popover:()=>l.Popover,PopoverContent:()=>l.PopoverContent,PopoverTrigger:()=>l.PopoverTrigger,Progress:()=>N.default,RadioGroup:()=>C.RadioGroup,RadioGroupItem:()=>C.RadioGroupItem,Skeleton:()=>I.default,Tabs:()=>d.Tabs,TabsContent:()=>d.TabsContent,TabsList:()=>d.TabsList,TabsTrigger:()=>d.TabsTrigger,Text:()=>b.Text,Theme:()=>R.default,sizeMap:()=>E.sizeMap});module.exports=U(V);var y=p(require("./button.js")),T=p(require("./badge.js")),x=require("./input.js"),M=p(require("./checkbox.js")),I=p(require("./skeleton.js")),r=require("./dialog.js"),l=require("./popover.js"),C=require("./radio.js"),b=require("./text.js"),g=require("./grid.js"),c=require("./heading.js"),G=require("./container.js"),v=require("./color.js"),e=require("./drawer.js"),S=p(require("./link.js")),i=require("./avatar.js"),A=p(require("./input-number.js")),o=require("./drop-down.js"),a=require("./card.js"),k=p(require("./Countdown.js")),s=require("./carousel.js"),d=require("./tabs.js"),f=require("./alert.js"),B=p(require("./picture.js")),R=p(require("./theme.js")),H=p(require("./board.js")),L=p(require("./loadingDots.js")),h=require("./ExposureDetector.js"),F=p(require("./brand-strip.js")),N=p(require("./progress.js")),O=p(require("./otp-input.js")),E=require("./button.js");
1
+ "use strict";var U=Object.create;var x=Object.defineProperty;var q=Object.getOwnPropertyDescriptor;var J=Object.getOwnPropertyNames;var K=Object.getPrototypeOf,Q=Object.prototype.hasOwnProperty;var V=(p,s)=>{for(var d in s)x(p,d,{get:s[d],enumerable:!0})},y=(p,s,d,w)=>{if(s&&typeof s=="object"||typeof s=="function")for(let f of J(s))!Q.call(p,f)&&f!==d&&x(p,f,{get:()=>s[f],enumerable:!(w=q(s,f))||w.enumerable});return p};var t=(p,s,d)=>(d=p!=null?U(K(p)):{},y(s||!p||!p.__esModule?x(d,"default",{value:p,enumerable:!0}):d,p)),W=p=>y(x({},"__esModule",{value:!0}),p);var X={};V(X,{Alert:()=>m.Alert,AlertDescription:()=>m.AlertDescription,AlertTitle:()=>m.AlertTitle,Avatar:()=>i.Avatar,AvatarFallback:()=>i.AvatarFallback,AvatarImage:()=>i.AvatarImage,Badge:()=>b.default,Board:()=>H.default,BrandStrip:()=>F.default,Breadcrumb:()=>E.default,Button:()=>T.default,Card:()=>n.Card,CardContent:()=>n.CardContent,CardDescription:()=>n.CardDescription,CardFooter:()=>n.CardFooter,CardHeader:()=>n.CardHeader,CardTitle:()=>n.CardTitle,Carousel:()=>u.Carousel,CarouselContent:()=>u.CarouselContent,CarouselItem:()=>u.CarouselItem,CarouselNext:()=>u.CarouselNext,CarouselPrevious:()=>u.CarouselPrevious,Checkbox:()=>I.default,Color:()=>A.Color,Container:()=>G.Container,Countdown:()=>k.default,Dialog:()=>r.Dialog,DialogClose:()=>r.DialogClose,DialogContent:()=>r.DialogContent,DialogDescription:()=>r.DialogDescription,DialogFooter:()=>r.DialogFooter,DialogHeader:()=>r.DialogHeader,DialogOverlay:()=>r.DialogOverlay,DialogPortal:()=>r.DialogPortal,DialogTitle:()=>r.DialogTitle,DialogTrigger:()=>r.DialogTrigger,Drawer:()=>e.Drawer,DrawerClose:()=>e.DrawerClose,DrawerContent:()=>e.DrawerContent,DrawerDescription:()=>e.DrawerDescription,DrawerFooter:()=>e.DrawerFooter,DrawerHeader:()=>e.DrawerHeader,DrawerOverlay:()=>e.DrawerOverlay,DrawerPortal:()=>e.DrawerPortal,DrawerTitle:()=>e.DrawerTitle,DrawerTrigger:()=>e.DrawerTrigger,DropdownMenu:()=>o.DropdownMenu,DropdownMenuCheckboxItem:()=>o.DropdownMenuCheckboxItem,DropdownMenuContent:()=>o.DropdownMenuContent,DropdownMenuGroup:()=>o.DropdownMenuGroup,DropdownMenuItem:()=>o.DropdownMenuItem,DropdownMenuLabel:()=>o.DropdownMenuLabel,DropdownMenuPortal:()=>o.DropdownMenuPortal,DropdownMenuRadioGroup:()=>o.DropdownMenuRadioGroup,DropdownMenuRadioItem:()=>o.DropdownMenuRadioItem,DropdownMenuSeparator:()=>o.DropdownMenuSeparator,DropdownMenuShortcut:()=>o.DropdownMenuShortcut,DropdownMenuSub:()=>o.DropdownMenuSub,DropdownMenuSubContent:()=>o.DropdownMenuSubContent,DropdownMenuSubTrigger:()=>o.DropdownMenuSubTrigger,DropdownMenuTrigger:()=>o.DropdownMenuTrigger,ExposureDetector:()=>O.ExposureDetector,Grid:()=>P.Grid,GridItem:()=>P.GridItem,Heading:()=>v.Heading,Input:()=>D.Input,InputNumber:()=>S.default,InputSlot:()=>D.InputSlot,Link:()=>B.default,LoadingDots:()=>L.default,OtpInput:()=>j.default,Picture:()=>R.default,Popover:()=>a.Popover,PopoverAnchor:()=>a.PopoverAnchor,PopoverArrow:()=>a.PopoverArrow,PopoverClose:()=>a.PopoverClose,PopoverContent:()=>a.PopoverContent,PopoverTrigger:()=>a.PopoverTrigger,Progress:()=>N.default,RadioGroup:()=>C.RadioGroup,RadioGroupItem:()=>C.RadioGroupItem,Skeleton:()=>M.default,Tabs:()=>l.Tabs,TabsContent:()=>l.TabsContent,TabsList:()=>l.TabsList,TabsTrigger:()=>l.TabsTrigger,Text:()=>c.Text,Theme:()=>h.default,Toast:()=>g.Toast,sizeMap:()=>z.sizeMap,useToast:()=>g.useToast});module.exports=W(X);var T=t(require("./button.js")),b=t(require("./badge.js")),D=require("./input.js"),I=t(require("./checkbox.js")),M=t(require("./skeleton.js")),r=require("./dialog.js"),a=require("./popover.js"),C=require("./radio.js"),c=require("./text.js"),P=require("./grid.js"),v=require("./heading.js"),G=require("./container.js"),A=require("./color.js"),e=require("./drawer.js"),B=t(require("./link.js")),i=require("./avatar.js"),S=t(require("./input-number.js")),o=require("./drop-down.js"),n=require("./card.js"),k=t(require("./Countdown.js")),u=require("./carousel.js"),l=require("./tabs.js"),m=require("./alert.js"),R=t(require("./picture.js")),h=t(require("./theme.js")),H=t(require("./board.js")),L=t(require("./loadingDots.js")),O=require("./ExposureDetector.js"),F=t(require("./brand-strip.js")),N=t(require("./progress.js")),g=require("./toast.js"),E=t(require("./breadcrumb.js")),j=t(require("./otp-input.js")),z=require("./button.js");
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/index.ts"],
4
- "sourcesContent": ["export { default as Button } from './button.js'\nexport { default as Badge } from './badge.js'\nexport { Input, InputSlot } from './input.js'\n\nexport { default as Checkbox } from './checkbox.js'\n\nexport { default as Skeleton } from './skeleton.js'\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogClose,\n DialogTrigger,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n} from './dialog.js'\nexport { Popover, PopoverTrigger, PopoverContent } from './popover.js'\nexport { RadioGroup, RadioGroupItem, type RadioGroupProps, type RadioGroupItemProps } from './radio.js'\nexport { Text, type TextProps } from './text.js'\nexport { Grid, GridItem, type GridProps, type GridItemProps } from './grid.js'\nexport { Heading, type HeadingProps } from './heading.js'\nexport { Container, type ContainerProps } from './container.js'\nexport { Color, type ColorProps } from './color.js'\nexport {\n Drawer,\n DrawerPortal,\n DrawerOverlay,\n DrawerTrigger,\n DrawerClose,\n DrawerContent,\n DrawerHeader,\n DrawerFooter,\n DrawerTitle,\n DrawerDescription,\n} from './drawer.js'\nexport { default as Link, type LinkProps } from './link.js'\nexport { Avatar, AvatarImage, AvatarFallback } from './avatar.js'\nexport { default as InputNumber, type InputNumberProps } from './input-number.js'\nexport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuGroup,\n DropdownMenuPortal,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuRadioGroup,\n} from './drop-down.js'\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent } from './card.js'\nexport { default as Countdown, type CountdownProps } from './Countdown.js'\nexport {\n type CarouselApi,\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselPrevious,\n CarouselNext,\n} from './carousel.js'\nexport { Tabs, TabsList, TabsTrigger, TabsContent } from './tabs.js'\nexport { Alert, AlertTitle, AlertDescription } from './alert.js'\nexport { default as Picture } from './picture.js'\nexport { default as Theme } from './theme.js'\nexport { default as Board, type BoardProps } from './board.js'\nexport { default as LoadingDots } from './loadingDots.js'\nexport { ExposureDetector, type ExposureDetectorProps } from './ExposureDetector.js'\nexport { default as BrandStrip } from './brand-strip.js'\nexport { default as Progress, type ProgressProps, type ProgressClassNames } from './progress.js'\nexport { default as OtpInput, type OtpInputProps } from './otp-input.js'\n\n// \u516C\uAC1C\u5BFC\u51FA button \u5185\u90E8\u5DE5\u5177\uFF08\u4F9B Registry \u5206\u53D1\u7684 biz-components \u4F7F\u7528\uFF09\nexport { sizeMap } from './button.js'\nexport type { ButtonProps } from './button.js'\n"],
5
- "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6lFAAAE,EAAAF,GAAA,IAAAG,EAAkC,0BAClCC,EAAiC,yBACjCC,EAAiC,sBAEjCC,EAAoC,4BAEpCC,EAAoC,4BACpCC,EAWO,uBACPC,EAAwD,wBACxDC,EAA2F,sBAC3FC,EAAqC,qBACrCC,EAAmE,qBACnEC,EAA2C,wBAC3CC,EAA+C,0BAC/CC,EAAuC,sBACvCC,EAWO,uBACPC,EAAgD,wBAChDC,EAAoD,uBACpDC,EAA8D,gCAC9DC,EAgBO,0BACPC,EAAsF,qBACtFC,EAA0D,6BAC1DC,EAOO,yBACPC,EAAyD,qBACzDC,EAAoD,sBACpDC,EAAmC,2BACnCC,EAAiC,yBACjCC,EAAkD,yBAClDC,EAAuC,+BACvCC,EAA6D,iCAC7DC,EAAsC,+BACtCC,EAAiF,4BACjFC,EAAwD,6BAGxD9B,EAAwB",
6
- "names": ["components_exports", "__export", "__toCommonJS", "import_button", "import_badge", "import_input", "import_checkbox", "import_skeleton", "import_dialog", "import_popover", "import_radio", "import_text", "import_grid", "import_heading", "import_container", "import_color", "import_drawer", "import_link", "import_avatar", "import_input_number", "import_drop_down", "import_card", "import_Countdown", "import_carousel", "import_tabs", "import_alert", "import_picture", "import_theme", "import_board", "import_loadingDots", "import_ExposureDetector", "import_brand_strip", "import_progress", "import_otp_input"]
4
+ "sourcesContent": ["export { default as Button } from './button.js'\nexport { default as Badge } from './badge.js'\nexport { Input, InputSlot } from './input.js'\n\nexport { default as Checkbox } from './checkbox.js'\n\nexport { default as Skeleton } from './skeleton.js'\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogClose,\n DialogTrigger,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n} from './dialog.js'\nexport { Popover, PopoverTrigger, PopoverAnchor, PopoverContent, PopoverClose, PopoverArrow } from './popover.js'\nexport { RadioGroup, RadioGroupItem, type RadioGroupProps, type RadioGroupItemProps } from './radio.js'\nexport { Text, type TextProps } from './text.js'\nexport { Grid, GridItem, type GridProps, type GridItemProps } from './grid.js'\nexport { Heading, type HeadingProps } from './heading.js'\nexport { Container, type ContainerProps } from './container.js'\nexport { Color, type ColorProps } from './color.js'\nexport {\n Drawer,\n DrawerPortal,\n DrawerOverlay,\n DrawerTrigger,\n DrawerClose,\n DrawerContent,\n DrawerHeader,\n DrawerFooter,\n DrawerTitle,\n DrawerDescription,\n} from './drawer.js'\nexport { default as Link, type LinkProps } from './link.js'\nexport { Avatar, AvatarImage, AvatarFallback } from './avatar.js'\nexport { default as InputNumber, type InputNumberProps } from './input-number.js'\nexport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuGroup,\n DropdownMenuPortal,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuRadioGroup,\n} from './drop-down.js'\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent } from './card.js'\nexport { default as Countdown, type CountdownProps } from './Countdown.js'\nexport {\n type CarouselApi,\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselPrevious,\n CarouselNext,\n} from './carousel.js'\nexport { Tabs, TabsList, TabsTrigger, TabsContent } from './tabs.js'\nexport { Alert, AlertTitle, AlertDescription } from './alert.js'\nexport { default as Picture } from './picture.js'\nexport { default as Theme } from './theme.js'\nexport { default as Board, type BoardProps } from './board.js'\nexport { default as LoadingDots } from './loadingDots.js'\nexport { ExposureDetector, type ExposureDetectorProps } from './ExposureDetector.js'\nexport { default as BrandStrip } from './brand-strip.js'\nexport { default as Progress, type ProgressProps, type ProgressClassNames } from './progress.js'\nexport { Toast, useToast, type ToastProps, type UseToastOptions } from './toast.js'\nexport { default as Breadcrumb, type BreadcrumbProps, type BreadcrumbItem } from './breadcrumb.js'\nexport { default as OtpInput, type OtpInputProps } from './otp-input.js'\n\n// \u516C\uAC1C\u5BFC\u51FA button \u5185\u90E8\u5DE5\u5177\uFF08\u4F9B Registry \u5206\u53D1\u7684 biz-components \u4F7F\u7528\uFF09\nexport { sizeMap } from './button.js'\nexport type { ButtonProps } from './button.js'\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,kwFAAAE,EAAAF,GAAA,IAAAG,EAAkC,0BAClCC,EAAiC,yBACjCC,EAAiC,sBAEjCC,EAAoC,4BAEpCC,EAAoC,4BACpCC,EAWO,uBACPC,EAAmG,wBACnGC,EAA2F,sBAC3FC,EAAqC,qBACrCC,EAAmE,qBACnEC,EAA2C,wBAC3CC,EAA+C,0BAC/CC,EAAuC,sBACvCC,EAWO,uBACPC,EAAgD,wBAChDC,EAAoD,uBACpDC,EAA8D,gCAC9DC,EAgBO,0BACPC,EAAsF,qBACtFC,EAA0D,6BAC1DC,EAOO,yBACPC,EAAyD,qBACzDC,EAAoD,sBACpDC,EAAmC,2BACnCC,EAAiC,yBACjCC,EAAkD,yBAClDC,EAAuC,+BACvCC,EAA6D,iCAC7DC,EAAsC,+BACtCC,EAAiF,4BACjFC,EAAuE,sBACvEC,EAAiF,8BACjFC,EAAwD,6BAGxDhC,EAAwB",
6
+ "names": ["components_exports", "__export", "__toCommonJS", "import_button", "import_badge", "import_input", "import_checkbox", "import_skeleton", "import_dialog", "import_popover", "import_radio", "import_text", "import_grid", "import_heading", "import_container", "import_color", "import_drawer", "import_link", "import_avatar", "import_input_number", "import_drop_down", "import_card", "import_Countdown", "import_carousel", "import_tabs", "import_alert", "import_picture", "import_theme", "import_board", "import_loadingDots", "import_ExposureDetector", "import_brand_strip", "import_progress", "import_toast", "import_breadcrumb", "import_otp_input"]
7
7
  }
@@ -12,6 +12,17 @@ type InputNumberProps = {
12
12
  asChild?: boolean;
13
13
  /** 类名*/
14
14
  className?: string;
15
+ /** 自定义各部分的 className */
16
+ classNames?: {
17
+ /** 根元素 */
18
+ root?: string;
19
+ /** 输入框Wrapper */
20
+ inputWrapper?: string;
21
+ /** 输入框 */
22
+ input?: string;
23
+ /** 加减按钮 */
24
+ button?: string;
25
+ };
15
26
  /** 输入框下方提示文本,会根据不同的 status 呈现不同的样式*/
16
27
  tips?: string;
17
28
  /** 文本框状态*/
@@ -49,6 +60,17 @@ declare const InputNumber: React.ForwardRefExoticComponent<{
49
60
  asChild?: boolean;
50
61
  /** 类名*/
51
62
  className?: string;
63
+ /** 自定义各部分的 className */
64
+ classNames?: {
65
+ /** 根元素 */
66
+ root?: string;
67
+ /** 输入框Wrapper */
68
+ inputWrapper?: string;
69
+ /** 输入框 */
70
+ input?: string;
71
+ /** 加减按钮 */
72
+ button?: string;
73
+ };
52
74
  /** 输入框下方提示文本,会根据不同的 status 呈现不同的样式*/
53
75
  tips?: string;
54
76
  /** 文本框状态*/
@@ -1,2 +1,2 @@
1
- "use strict";"use client";var g=Object.defineProperty;var H=Object.getOwnPropertyDescriptor;var L=Object.getOwnPropertyNames;var W=Object.prototype.hasOwnProperty;var j=(s,o)=>{for(var a in o)g(s,a,{get:o[a],enumerable:!0})},O=(s,o,a,u)=>{if(o&&typeof o=="object"||typeof o=="function")for(let n of L(o))!W.call(s,n)&&n!==a&&g(s,n,{get:()=>o[n],enumerable:!(u=H(o,n))||u.enumerable});return s};var $=s=>O(g({},"__esModule",{value:!0}),s);var J={};j(J,{default:()=>G});module.exports=$(J);var r=require("react/jsx-runtime"),b=require("../helpers/index.js"),C=require("@radix-ui/react-slot"),d=require("@radix-ui/react-icons"),m=require("react"),V=require("class-variance-authority");const A=(0,V.cva)("size-full border bg-transparent text-center text-base outline-none",{variants:{status:{default:"border-lines-1 group-hover:border-lines-2",success:"border-lines-3 group-hover:border-lines-3",warning:"border-lines-4 group-hover:border-lines-4",error:"border-lines-5 group-hover:border-lines-5"},disabled:{true:"border-lines-1 group-hover:border-lines-1 text-info-quaternary cursor-not-allowed"}}}),I=(0,m.forwardRef)(({value:s,defaultValue:o=0,step:a=1,min:u=0,max:n,tips:y,style:h,children:P,asChild:v=!1,disabled:l=!1,readonly:i=!1,status:x="default",className:R,onChange:N,onBlur:w,onEnter:M},T)=>{const[p,c]=(0,m.useState)(o),K=v?C.Slot:"div",E=(0,b.cn)("border-lines-1 flex size-12 items-center justify-center border text-base",{"group-hover:border-lines-2":!l,"text-info-quaternary cursor-not-allowed":l}),S=(e,t)=>t?"text-lines-1":{default:"text-lines-1",success:"text-lines-3",warning:"text-lines-4",error:"text-lines-5"}[e||"default"],k=e=>e===""||/^[0-9]+$/.test(e),F=e=>{if(l||i)return;const t=e.target.value;if(k(t)&&(c(t),t!=="")){let f=Number(t);n!==void 0&&f>n&&(f=n),u!==void 0&&f<u&&(f=u),N?.(f)}},q=e=>{if(!(l||i))if(p===""||isNaN(Number(p))){const t=u!==void 0?u:0;c(t),w?.(t,e)}else{const t=Number(p);c(t),w?.(t,e)}},z=()=>{if(l||i)return;let e=Number(p)+(a?Math.ceil(Number(a)):1);n!==void 0&&e>n&&(e=n),c(e),N?.(e)},B=()=>{if(l||i)return;let e=Number(p)-(a?Math.ceil(Number(a)):1);u!==void 0&&e<u&&(e=u),c(e),N?.(e)},D=e=>{if(!(l||i)&&e.key==="Enter"){const t=e.target?.value;M?.(t,e)}};return(0,m.useEffect)(()=>{c(s||0)},[s]),(0,r.jsx)(K,{ref:T,...h?{style:h}:null,className:(0,b.cn)({"group flex items-center":!v},R),children:v?P:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("button",{onClick:z,className:E,children:(0,r.jsx)(d.PlusIcon,{})}),(0,r.jsxs)("div",{className:"relative mx-1.5 h-[52px] w-[105px]",children:[(0,r.jsx)("input",{type:"text",value:p,disabled:l,readOnly:i,onBlur:q,onKeyDown:D,onChange:F,className:(0,b.cn)(A({status:x,disabled:l}))}),y?(0,r.jsx)("span",{className:(0,b.cn)(S(x,l),"absolute -bottom-4 left-0 w-full truncate text-xs"),children:y}):null]}),(0,r.jsx)("button",{onClick:B,className:E,children:(0,r.jsx)(d.MinusIcon,{})})]})})});I.displayName="InputNumber";var G=I;
1
+ "use strict";"use client";var h=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var D=Object.getOwnPropertyNames;var j=Object.prototype.hasOwnProperty;var O=(n,l)=>{for(var i in l)h(n,i,{get:l[i],enumerable:!0})},Z=(n,l,i,u)=>{if(l&&typeof l=="object"||typeof l=="function")for(let r of D(l))!j.call(n,r)&&r!==i&&h(n,r,{get:()=>l[r],enumerable:!(u=A(l,r))||u.enumerable});return n};var $=n=>Z(h({},"__esModule",{value:!0}),n);var X={};O(X,{default:()=>U});module.exports=$(X);var t=require("react/jsx-runtime"),p=require("../helpers/index.js"),P=require("@radix-ui/react-slot"),f=require("react"),M=require("class-variance-authority");const G=({className:n})=>(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",className:n,children:(0,t.jsx)("path",{d:"M13.3332 8L2.6665 8.00075",stroke:"currentColor",strokeWidth:"1.33333",strokeLinecap:"round"})}),J=({className:n})=>(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",className:n,children:(0,t.jsx)("path",{d:"M13.3335 7.60956C13.7015 7.60972 14.0001 7.90808 14.0001 8.27616C14 8.64433 13.7012 8.94319 13.333 8.94321H8.66593V13.6094C8.66585 13.9774 8.36733 14.2758 7.99933 14.276C7.63114 14.276 7.33271 13.9776 7.33274 13.6094V8.94321L2.66611 8.94368C2.29808 8.94355 1.99955 8.64512 1.99951 8.27708C1.99954 7.90889 2.29838 7.61005 2.66657 7.61002L7.3332 7.60956V2.94247C7.33336 2.57441 7.6317 2.27592 7.99979 2.27588C8.36793 2.27585 8.66633 2.57436 8.66639 2.94247V7.60956H13.3335Z",fill:"currentColor"})}),Q=(0,M.cva)("size-full border bg-transparent text-center text-base outline-none",{variants:{status:{default:"border-lines-1 group-hover:border-lines-2",success:"border-lines-3 group-hover:border-lines-3",warning:"border-lines-4 group-hover:border-lines-4",error:"border-lines-5 group-hover:border-lines-5"},disabled:{true:"border-lines-1 group-hover:border-lines-1 text-info-quaternary cursor-not-allowed"}}}),I=(0,f.forwardRef)(({value:n,defaultValue:l=0,step:i=1,min:u=0,max:r,tips:C,style:x,children:R,asChild:v=!1,disabled:o=!1,readonly:c=!1,status:y="default",className:k,classNames:d,onChange:g,onBlur:V,onEnter:z},L)=>{const[a,m]=(0,f.useState)(l),T=v?P.Slot:"div",E=(0,p.cn)("border-lines-1 flex size-12 items-center justify-center border text-base",{"group-hover:border-lines-2":!o,"text-info-quaternary cursor-not-allowed":o},d?.button),W=(e,s)=>s?"text-lines-1":{default:"text-lines-1",success:"text-lines-3",warning:"text-lines-4",error:"text-lines-5"}[e||"default"],B=e=>e===""||/^[0-9]+$/.test(e),H=e=>{if(o||c)return;const s=e.target.value;if(B(s)&&(m(s),s!=="")){let b=Number(s);r!==void 0&&b>r&&(b=r),u!==void 0&&b<u&&(b=u),g?.(b)}},K=e=>{if(!(o||c))if(a===""||isNaN(Number(a))){const s=u!==void 0?u:0;m(s),V?.(s,e)}else{const s=Number(a);m(s),V?.(s,e)}},N=r!==void 0&&Number(a)>=r,w=u!==void 0&&Number(a)<=u,S=()=>{if(o||c||N)return;let e=Number(a)+(i?Math.ceil(Number(i)):1);r!==void 0&&e>r&&(e=r),m(e),g?.(e)},F=()=>{if(o||c||w)return;let e=Number(a)-(i?Math.ceil(Number(i)):1);u!==void 0&&e<u&&(e=u),m(e),g?.(e)},q=e=>{if(!(o||c)&&e.key==="Enter"){const s=e.target?.value;z?.(s,e)}};return(0,f.useEffect)(()=>{m(n||0)},[n]),(0,t.jsx)(T,{ref:L,...x?{style:x}:null,className:(0,p.cn)({"group flex items-center":!v},d?.root,k),children:v?R:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("button",{onClick:F,disabled:o||w,className:(0,p.cn)(E,{"cursor-not-allowed text-lines-1":o||w}),children:(0,t.jsx)(G,{className:"tablet:size-4 size-3"})}),(0,t.jsxs)("div",{className:(0,p.cn)("relative mx-1.5 h-[52px] w-[105px]",d?.inputWrapper),children:[(0,t.jsx)("input",{type:"text",value:a,disabled:o,readOnly:c,onBlur:K,onKeyDown:q,onChange:H,className:(0,p.cn)(Q({status:y,disabled:o}),d?.input)}),C?(0,t.jsx)("span",{className:(0,p.cn)(W(y,o),"absolute -bottom-4 left-0 w-full truncate text-xs"),children:C}):null]}),(0,t.jsx)("button",{onClick:S,disabled:o||N,className:(0,p.cn)(E,{"cursor-not-allowed text-lines-1":o||N}),children:(0,t.jsx)(J,{className:"tablet:size-4 size-3"})})]})})});I.displayName="InputNumber";var U=I;
2
2
  //# sourceMappingURL=input-number.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/input-number.tsx"],
4
- "sourcesContent": ["'use client'\nimport { cn } from '../helpers/index.js'\nimport { Slot } from '@radix-ui/react-slot'\nimport { PlusIcon, MinusIcon } from '@radix-ui/react-icons'\nimport React, { useState, useEffect, forwardRef } from 'react'\nimport type { ChangeEvent, KeyboardEvent, FocusEvent } from 'react'\nimport { type VariantProps, cva } from 'class-variance-authority'\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js'\n\n// \u5B9A\u4E49 InputNumber \u7684\u6837\u5F0F\u53D8\u4F53\nconst InputNumberVariants = cva('size-full border bg-transparent text-center text-base outline-none', {\n variants: {\n status: {\n default: 'border-lines-1 group-hover:border-lines-2',\n success: 'border-lines-3 group-hover:border-lines-3',\n warning: 'border-lines-4 group-hover:border-lines-4',\n error: 'border-lines-5 group-hover:border-lines-5',\n },\n disabled: {\n true: 'border-lines-1 group-hover:border-lines-1 text-info-quaternary cursor-not-allowed',\n },\n },\n})\n\ntype ColorType = 'default' | 'success' | 'warning' | 'error' | null\n\n// \u5B9A\u4E49\u7EC4\u4EF6\u7C7B\u578B\uFF0C\u7EE7\u627F div \u6807\u7B7E\u6807\u51C6\u5C5E\u6027\ntype InputNumberElement = React.ElementRef<'div'>\n\ntype InputNumberProps = {\n /** \u5B9A\u4E49\u5B50\u7EC4\u4EF6\u4F5C\u4E3A\u7236\u7EC4\u4EF6\u7684\u7C7B\u578B,\u8BE6\u7EC6\u4F7F\u7528\u65B9\u5F0F\u8BF7\u53C2\u8003radix-ui */\n asChild?: boolean\n /** \u7C7B\u540D*/\n className?: string\n /** \u8F93\u5165\u6846\u4E0B\u65B9\u63D0\u793A\u6587\u672C\uFF0C\u4F1A\u6839\u636E\u4E0D\u540C\u7684 status \u5448\u73B0\u4E0D\u540C\u7684\u6837\u5F0F*/\n tips?: string\n /** \u6587\u672C\u6846\u72B6\u6001*/\n status?: ColorType\n /** \u6570\u5B57\u8F93\u5165\u6846\u7684\u503C */\n value?: number\n /** \u6570\u5B57\u8F93\u5165\u6846\u7684\u521D\u59CB\u503C */\n defaultValue?: number\n /** \u6570\u503C\u6539\u53D8\u6B65\u6570 */\n step?: number\n /** \u6700\u5C0F\u503C */\n min?: number\n /** \u6700\u5927\u503C */\n max?: number\n /** \u662F\u5426\u7981\u7528*/\n disabled?: boolean\n /** \u662F\u5426\u53EA\u8BFB*/\n readonly?: boolean\n /** \u6837\u5F0F*/\n style?: React.CSSProperties\n /** \u503C\u53D8\u5316\u65F6\u89E6\u53D1*/\n onChange?: (value: number) => void\n /** \u5931\u53BB\u7126\u70B9\u65F6\u89E6\u53D1*/\n onBlur?: (value: number, e: FocusEvent) => void\n /** \u6309\u4E0B\u56DE\u8F66\u952E\u65F6\u89E6\u53D1*/\n onEnter?: (value: number, e: KeyboardEvent) => void\n} & VariantProps<typeof InputNumberVariants> &\n ComponentPropsWithout<'div', RemovedProps>\n\n/**\n * InputNumber - \u6570\u5B57\u8F93\u5165\u6846\n *\n * @description \u4E13\u7528\u4E8E\u6570\u5B57\u8F93\u5165\u7684\u7EC4\u4EF6\uFF0C\u652F\u6301\u6B65\u8FDB\u8C03\u8282\u3001\u6700\u503C\u9650\u5236\u3001\u72B6\u6001\u63D0\u793A\u548C\u952E\u76D8\u64CD\u4F5C\n */\nconst InputNumber = forwardRef<InputNumberElement, InputNumberProps>(\n (\n {\n value,\n defaultValue = 0,\n step = 1,\n min = 0,\n max,\n tips,\n style,\n children,\n asChild = false,\n disabled = false,\n readonly = false,\n status = 'default',\n className,\n onChange,\n onBlur,\n onEnter,\n },\n ref\n ) => {\n const [inputValue, setInputValue] = useState<number | string>(defaultValue)\n\n const Comp = asChild ? Slot : 'div'\n\n const baseClassName = cn('border-lines-1 flex size-12 items-center justify-center border text-base', {\n 'group-hover:border-lines-2': !disabled,\n 'text-info-quaternary cursor-not-allowed': disabled,\n })\n\n const textColor = (type: ColorType, flag: boolean) => {\n if (flag) return 'text-lines-1'\n return {\n default: 'text-lines-1',\n success: 'text-lines-3',\n warning: 'text-lines-4',\n error: 'text-lines-5',\n }[type || 'default']\n }\n\n const isValue = (params: string) => {\n return params === '' || /^[0-9]+$/.test(params)\n }\n\n const handleInputChange = (e: ChangeEvent<HTMLInputElement>) => {\n if (disabled || readonly) return\n const value = e.target.value\n // \u5141\u8BB8\u7A7A\u5B57\u7B26\u4E32\uFF0C\u6216\u4EC5\u5305\u542B\u6574\u6570\u7684\u5B57\u7B26\u4E32\n if (isValue(value)) {\n setInputValue(value)\n if (value !== '') {\n let newValue = Number(value)\n if (max !== undefined && newValue > max) {\n newValue = max\n }\n if (min !== undefined && newValue < min) {\n newValue = min\n }\n onChange?.(newValue)\n }\n }\n }\n\n const handleBlur = (e: FocusEvent<HTMLInputElement>) => {\n if (disabled || readonly) return\n if (inputValue === '' || isNaN(Number(inputValue))) {\n const newValue = min !== undefined ? min : 0\n setInputValue(newValue)\n onBlur?.(newValue, e)\n } else {\n const newValue = Number(inputValue)\n setInputValue(newValue)\n onBlur?.(newValue, e)\n }\n }\n\n const increment = () => {\n if (disabled || readonly) return\n let newValue = Number(inputValue) + (step ? Math.ceil(Number(step)) : 1)\n if (max !== undefined && newValue > max) {\n newValue = max\n }\n setInputValue(newValue)\n onChange?.(newValue)\n }\n\n const decrement = () => {\n if (disabled || readonly) return\n let newValue = Number(inputValue) - (step ? Math.ceil(Number(step)) : 1)\n if (min !== undefined && newValue < min) {\n newValue = min\n }\n setInputValue(newValue)\n onChange?.(newValue)\n }\n\n const handleKeyDown = (e: any) => {\n if (disabled || readonly) return\n if (e.key === 'Enter') {\n const initalValue = e.target?.value\n onEnter?.(initalValue, e)\n }\n }\n\n useEffect(() => {\n setInputValue(value || 0)\n }, [value])\n\n return (\n <Comp\n ref={ref}\n {...(style ? { style: style } : null)}\n className={cn({ 'group flex items-center': !asChild }, className)}\n >\n {asChild ? (\n children\n ) : (\n <>\n <button onClick={increment} className={baseClassName}>\n <PlusIcon />\n </button>\n <div className=\"relative mx-1.5 h-[52px] w-[105px]\">\n <input\n type=\"text\"\n value={inputValue}\n disabled={disabled}\n readOnly={readonly}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n onChange={handleInputChange}\n className={cn(InputNumberVariants({ status, disabled }))}\n />\n {tips ? (\n <span className={cn(textColor(status, disabled), 'absolute -bottom-4 left-0 w-full truncate text-xs')}>\n {tips}\n </span>\n ) : null}\n </div>\n <button onClick={decrement} className={baseClassName}>\n <MinusIcon />\n </button>\n </>\n )}\n </Comp>\n )\n }\n)\n\nInputNumber.displayName = 'InputNumber'\n\nexport default InputNumber\nexport type { InputNumberProps }\n"],
5
- "mappings": "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",
6
- "names": ["input_number_exports", "__export", "input_number_default", "__toCommonJS", "import_jsx_runtime", "import_helpers", "import_react_slot", "import_react_icons", "import_react", "import_class_variance_authority", "InputNumberVariants", "InputNumber", "value", "defaultValue", "step", "min", "max", "tips", "style", "children", "asChild", "disabled", "readonly", "status", "className", "onChange", "onBlur", "onEnter", "ref", "inputValue", "setInputValue", "Comp", "baseClassName", "textColor", "type", "flag", "isValue", "params", "handleInputChange", "newValue", "handleBlur", "increment", "decrement", "handleKeyDown", "initalValue"]
4
+ "sourcesContent": ["'use client'\nimport { cn } from '../helpers/index.js'\nimport { Slot } from '@radix-ui/react-slot'\nimport React, { useState, useEffect, forwardRef } from 'react'\nimport type { ChangeEvent, KeyboardEvent, FocusEvent } from 'react'\nimport { type VariantProps, cva } from 'class-variance-authority'\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js'\n\nconst MinusIcon = ({ className }: { className?: string }) => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" className={className}>\n <path d=\"M13.3332 8L2.6665 8.00075\" stroke=\"currentColor\" strokeWidth=\"1.33333\" strokeLinecap=\"round\" />\n </svg>\n)\n\nconst PlusIcon = ({ className }: { className?: string }) => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" className={className}>\n <path\n d=\"M13.3335 7.60956C13.7015 7.60972 14.0001 7.90808 14.0001 8.27616C14 8.64433 13.7012 8.94319 13.333 8.94321H8.66593V13.6094C8.66585 13.9774 8.36733 14.2758 7.99933 14.276C7.63114 14.276 7.33271 13.9776 7.33274 13.6094V8.94321L2.66611 8.94368C2.29808 8.94355 1.99955 8.64512 1.99951 8.27708C1.99954 7.90889 2.29838 7.61005 2.66657 7.61002L7.3332 7.60956V2.94247C7.33336 2.57441 7.6317 2.27592 7.99979 2.27588C8.36793 2.27585 8.66633 2.57436 8.66639 2.94247V7.60956H13.3335Z\"\n fill=\"currentColor\"\n />\n </svg>\n)\n\n// \u5B9A\u4E49 InputNumber \u7684\u6837\u5F0F\u53D8\u4F53\nconst InputNumberVariants = cva('size-full border bg-transparent text-center text-base outline-none', {\n variants: {\n status: {\n default: 'border-lines-1 group-hover:border-lines-2',\n success: 'border-lines-3 group-hover:border-lines-3',\n warning: 'border-lines-4 group-hover:border-lines-4',\n error: 'border-lines-5 group-hover:border-lines-5',\n },\n disabled: {\n true: 'border-lines-1 group-hover:border-lines-1 text-info-quaternary cursor-not-allowed',\n },\n },\n})\n\ntype ColorType = 'default' | 'success' | 'warning' | 'error' | null\n\n// \u5B9A\u4E49\u7EC4\u4EF6\u7C7B\u578B\uFF0C\u7EE7\u627F div \u6807\u7B7E\u6807\u51C6\u5C5E\u6027\ntype InputNumberElement = React.ElementRef<'div'>\n\ntype InputNumberProps = {\n /** \u5B9A\u4E49\u5B50\u7EC4\u4EF6\u4F5C\u4E3A\u7236\u7EC4\u4EF6\u7684\u7C7B\u578B,\u8BE6\u7EC6\u4F7F\u7528\u65B9\u5F0F\u8BF7\u53C2\u8003radix-ui */\n asChild?: boolean\n /** \u7C7B\u540D*/\n className?: string\n /** \u81EA\u5B9A\u4E49\u5404\u90E8\u5206\u7684 className */\n classNames?: {\n /** \u6839\u5143\u7D20 */\n root?: string\n /** \u8F93\u5165\u6846Wrapper */\n inputWrapper?: string\n /** \u8F93\u5165\u6846 */\n input?: string\n /** \u52A0\u51CF\u6309\u94AE */\n button?: string\n }\n /** \u8F93\u5165\u6846\u4E0B\u65B9\u63D0\u793A\u6587\u672C\uFF0C\u4F1A\u6839\u636E\u4E0D\u540C\u7684 status \u5448\u73B0\u4E0D\u540C\u7684\u6837\u5F0F*/\n tips?: string\n /** \u6587\u672C\u6846\u72B6\u6001*/\n status?: ColorType\n /** \u6570\u5B57\u8F93\u5165\u6846\u7684\u503C */\n value?: number\n /** \u6570\u5B57\u8F93\u5165\u6846\u7684\u521D\u59CB\u503C */\n defaultValue?: number\n /** \u6570\u503C\u6539\u53D8\u6B65\u6570 */\n step?: number\n /** \u6700\u5C0F\u503C */\n min?: number\n /** \u6700\u5927\u503C */\n max?: number\n /** \u662F\u5426\u7981\u7528*/\n disabled?: boolean\n /** \u662F\u5426\u53EA\u8BFB*/\n readonly?: boolean\n /** \u6837\u5F0F*/\n style?: React.CSSProperties\n /** \u503C\u53D8\u5316\u65F6\u89E6\u53D1*/\n onChange?: (value: number) => void\n /** \u5931\u53BB\u7126\u70B9\u65F6\u89E6\u53D1*/\n onBlur?: (value: number, e: FocusEvent) => void\n /** \u6309\u4E0B\u56DE\u8F66\u952E\u65F6\u89E6\u53D1*/\n onEnter?: (value: number, e: KeyboardEvent) => void\n} & VariantProps<typeof InputNumberVariants> &\n ComponentPropsWithout<'div', RemovedProps>\n\n/**\n * InputNumber - \u6570\u5B57\u8F93\u5165\u6846\n *\n * @description \u4E13\u7528\u4E8E\u6570\u5B57\u8F93\u5165\u7684\u7EC4\u4EF6\uFF0C\u652F\u6301\u6B65\u8FDB\u8C03\u8282\u3001\u6700\u503C\u9650\u5236\u3001\u72B6\u6001\u63D0\u793A\u548C\u952E\u76D8\u64CD\u4F5C\n */\nconst InputNumber = forwardRef<InputNumberElement, InputNumberProps>(\n (\n {\n value,\n defaultValue = 0,\n step = 1,\n min = 0,\n max,\n tips,\n style,\n children,\n asChild = false,\n disabled = false,\n readonly = false,\n status = 'default',\n className,\n classNames,\n onChange,\n onBlur,\n onEnter,\n },\n ref\n ) => {\n const [inputValue, setInputValue] = useState<number | string>(defaultValue)\n\n const Comp = asChild ? Slot : 'div'\n\n const baseClassName = cn(\n 'border-lines-1 flex size-12 items-center justify-center border text-base',\n {\n 'group-hover:border-lines-2': !disabled,\n 'text-info-quaternary cursor-not-allowed': disabled,\n },\n classNames?.button\n )\n\n const textColor = (type: ColorType, flag: boolean) => {\n if (flag) return 'text-lines-1'\n return {\n default: 'text-lines-1',\n success: 'text-lines-3',\n warning: 'text-lines-4',\n error: 'text-lines-5',\n }[type || 'default']\n }\n\n const isValue = (params: string) => {\n return params === '' || /^[0-9]+$/.test(params)\n }\n\n const handleInputChange = (e: ChangeEvent<HTMLInputElement>) => {\n if (disabled || readonly) return\n const value = e.target.value\n // \u5141\u8BB8\u7A7A\u5B57\u7B26\u4E32\uFF0C\u6216\u4EC5\u5305\u542B\u6574\u6570\u7684\u5B57\u7B26\u4E32\n if (isValue(value)) {\n setInputValue(value)\n if (value !== '') {\n let newValue = Number(value)\n if (max !== undefined && newValue > max) {\n newValue = max\n }\n if (min !== undefined && newValue < min) {\n newValue = min\n }\n onChange?.(newValue)\n }\n }\n }\n\n const handleBlur = (e: FocusEvent<HTMLInputElement>) => {\n if (disabled || readonly) return\n if (inputValue === '' || isNaN(Number(inputValue))) {\n const newValue = min !== undefined ? min : 0\n setInputValue(newValue)\n onBlur?.(newValue, e)\n } else {\n const newValue = Number(inputValue)\n setInputValue(newValue)\n onBlur?.(newValue, e)\n }\n }\n\n const isAtMax = max !== undefined && Number(inputValue) >= max\n const isAtMin = min !== undefined && Number(inputValue) <= min\n\n const increment = () => {\n if (disabled || readonly || isAtMax) return\n let newValue = Number(inputValue) + (step ? Math.ceil(Number(step)) : 1)\n if (max !== undefined && newValue > max) {\n newValue = max\n }\n setInputValue(newValue)\n onChange?.(newValue)\n }\n\n const decrement = () => {\n if (disabled || readonly || isAtMin) return\n let newValue = Number(inputValue) - (step ? Math.ceil(Number(step)) : 1)\n if (min !== undefined && newValue < min) {\n newValue = min\n }\n setInputValue(newValue)\n onChange?.(newValue)\n }\n\n const handleKeyDown = (e: any) => {\n if (disabled || readonly) return\n if (e.key === 'Enter') {\n const initalValue = e.target?.value\n onEnter?.(initalValue, e)\n }\n }\n\n useEffect(() => {\n setInputValue(value || 0)\n }, [value])\n\n return (\n <Comp\n ref={ref}\n {...(style ? { style: style } : null)}\n className={cn({ 'group flex items-center': !asChild }, classNames?.root, className)}\n >\n {asChild ? (\n children\n ) : (\n <>\n <button\n onClick={decrement}\n disabled={disabled || isAtMin}\n className={cn(baseClassName, {\n 'cursor-not-allowed text-lines-1': disabled || isAtMin,\n })}\n >\n <MinusIcon className=\"tablet:size-4 size-3\" />\n </button>\n <div className={cn('relative mx-1.5 h-[52px] w-[105px]', classNames?.inputWrapper)}>\n <input\n type=\"text\"\n value={inputValue}\n disabled={disabled}\n readOnly={readonly}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n onChange={handleInputChange}\n className={cn(InputNumberVariants({ status, disabled }), classNames?.input)}\n />\n {tips ? (\n <span className={cn(textColor(status, disabled), 'absolute -bottom-4 left-0 w-full truncate text-xs')}>\n {tips}\n </span>\n ) : null}\n </div>\n <button\n onClick={increment}\n disabled={disabled || isAtMax}\n className={cn(baseClassName, {\n 'cursor-not-allowed text-lines-1': disabled || isAtMax,\n })}\n >\n <PlusIcon className=\"tablet:size-4 size-3\" />\n </button>\n </>\n )}\n </Comp>\n )\n }\n)\n\nInputNumber.displayName = 'InputNumber'\n\nexport default InputNumber\nexport type { InputNumberProps }\n"],
5
+ "mappings": "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",
6
+ "names": ["input_number_exports", "__export", "input_number_default", "__toCommonJS", "import_jsx_runtime", "import_helpers", "import_react_slot", "import_react", "import_class_variance_authority", "MinusIcon", "className", "PlusIcon", "InputNumberVariants", "InputNumber", "value", "defaultValue", "step", "min", "max", "tips", "style", "children", "asChild", "disabled", "readonly", "status", "classNames", "onChange", "onBlur", "onEnter", "ref", "inputValue", "setInputValue", "Comp", "baseClassName", "textColor", "type", "flag", "isValue", "params", "handleInputChange", "newValue", "handleBlur", "isAtMax", "isAtMin", "increment", "decrement", "handleKeyDown", "initalValue"]
7
7
  }
@@ -5,6 +5,11 @@ declare const inputVariants: (props?: ({
5
5
  size?: "base" | "lg" | "sm" | null | undefined;
6
6
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
7
  export interface InputProps extends ComponentPropsWithout<'input', 'size'>, VariantProps<typeof inputVariants> {
8
+ /**
9
+ * 应用到内部 input 元素的 className
10
+ * 可用于自定义 input 输入框的样式,如字体大小、颜色等
11
+ */
12
+ inputClassName?: string;
8
13
  }
9
14
  interface InputSlotProps extends ComponentPropsWithout<'div', RemovedProps> {
10
15
  /**
@@ -1,2 +1,2 @@
1
- "use strict";"use client";var x=Object.create;var l=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var v=Object.getPrototypeOf,P=Object.prototype.hasOwnProperty;var I=(e,t)=>{for(var o in t)l(e,o,{get:t[o],enumerable:!0})},f=(e,t,o,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of h(t))!P.call(e,r)&&r!==o&&l(e,r,{get:()=>t[r],enumerable:!(n=b(t,r))||n.enumerable});return e};var g=(e,t,o)=>(o=e!=null?x(v(e)):{},f(t||!e||!e.__esModule?l(o,"default",{value:e,enumerable:!0}):o,e)),y=e=>f(l({},"__esModule",{value:!0}),e);var R={};I(R,{Input:()=>u,InputSlot:()=>d});module.exports=y(R);var i=require("react/jsx-runtime"),a=g(require("react")),s=require("../helpers/index.js"),c=require("class-variance-authority");const m=(0,c.cva)("border-input text-info-primary bg-background rounded-box-small flex w-full flex-row items-center overflow-hidden border focus-visible:outline-none",{variants:{size:{sm:"h-8 text-sm",base:"h-10",lg:"h-12 text-lg"}},defaultVariants:{size:"base"}}),d=a.forwardRef((e,t)=>{const{className:o,side:n="right",children:r,...p}=e;return(0,i.jsx)("div",{ref:t,...p,className:(0,s.cn)("flex h-full items-center",o,{"-order-1":n==="left","order-2":n==="right"}),children:r})}),u=a.forwardRef(({className:e,type:t,size:o,children:n,...r},p)=>a.isValidElement(n)?(0,i.jsxs)("div",{className:(0,s.cn)(m({size:o}),e),children:[(0,i.jsx)("input",{type:t,className:(0,s.cn)("placeholder:text-muted-foreground flex size-full px-3 file:border-0 file:bg-transparent file:font-medium focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50"),ref:p,...r}),n]}):(0,i.jsx)("input",{type:t,className:(0,s.cn)(m({size:o}),"px-3",e),ref:p,...r}));u.displayName="Input",d.displayName="InputSlot";
1
+ "use strict";"use client";var b=Object.create;var l=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var P=Object.getPrototypeOf,g=Object.prototype.hasOwnProperty;var I=(e,t)=>{for(var o in t)l(e,o,{get:t[o],enumerable:!0})},m=(e,t,o,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of v(t))!g.call(e,r)&&r!==o&&l(e,r,{get:()=>t[r],enumerable:!(n=h(t,r))||n.enumerable});return e};var y=(e,t,o)=>(o=e!=null?b(P(e)):{},m(t||!e||!e.__esModule?l(o,"default",{value:e,enumerable:!0}):o,e)),R=e=>m(l({},"__esModule",{value:!0}),e);var w={};I(w,{Input:()=>u,InputSlot:()=>d});module.exports=R(w);var i=require("react/jsx-runtime"),a=y(require("react")),s=require("../helpers/index.js"),x=require("class-variance-authority");const c=(0,x.cva)("border-input text-info-primary bg-background rounded-box-small flex w-full flex-row items-center overflow-hidden border focus-visible:outline-none",{variants:{size:{sm:"h-8 text-sm",base:"h-10",lg:"h-12 text-lg"}},defaultVariants:{size:"base"}}),d=a.forwardRef((e,t)=>{const{className:o,side:n="right",children:r,...p}=e;return(0,i.jsx)("div",{ref:t,...p,className:(0,s.cn)("flex h-full items-center",o,{"-order-1":n==="left","order-2":n==="right"}),children:r})}),u=a.forwardRef(({className:e,type:t,size:o,children:n,inputClassName:r,...p},f)=>a.isValidElement(n)?(0,i.jsxs)("div",{className:(0,s.cn)(c({size:o}),e),children:[(0,i.jsx)("input",{type:t,className:(0,s.cn)("placeholder:text-muted-foreground flex size-full px-3 file:border-0 file:bg-transparent file:font-medium focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50",r),ref:f,...p}),n]}):(0,i.jsx)("input",{type:t,className:(0,s.cn)(c({size:o}),"px-3",r,e),ref:f,...p}));u.displayName="Input",d.displayName="InputSlot";
2
2
  //# sourceMappingURL=input.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/input.tsx"],
4
- "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { cn } from '../helpers/index.js'\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nconst inputVariants = cva(\n 'border-input text-info-primary bg-background rounded-box-small flex w-full flex-row items-center overflow-hidden border focus-visible:outline-none',\n {\n variants: {\n size: {\n sm: 'h-8 text-sm',\n base: 'h-10',\n lg: 'h-12 text-lg',\n },\n },\n defaultVariants: {\n size: 'base',\n },\n }\n)\n\nexport interface InputProps extends ComponentPropsWithout<'input', 'size'>, VariantProps<typeof inputVariants> {}\n\ntype InputSlotElement = React.ElementRef<'div'>\ninterface InputSlotProps extends ComponentPropsWithout<'div', RemovedProps> {\n /**\n * \u63D2\u69FD\u7684\u4F4D\u7F6E\n * default: right\n */\n side?: 'left' | 'right'\n}\n\n/**\n * InputSlot\n * \u7528\u6765\u5728 Input \u7EC4\u4EF6\u4E2D\u63D2\u5165\u989D\u5916\u7684\u5185\u5BB9\uFF0C\u6BD4\u5982icon \uFF0C\u6309\u94AE\n */\nconst InputSlot = React.forwardRef<InputSlotElement, InputSlotProps>((props, forwardedRef) => {\n const { className, side = 'right', children, ...slotProps } = props\n\n return (\n <div\n ref={forwardedRef}\n {...slotProps}\n className={cn('flex h-full items-center', className, {\n '-order-1': side === 'left',\n 'order-2': side === 'right',\n })}\n >\n {children}\n </div>\n )\n})\n\n/**\n * Input - \u8F93\u5165\u6846\n *\n * @description \u6587\u672C\u8F93\u5165\u7EC4\u4EF6\uFF0C\u652F\u6301\u5404\u79CD\u8F93\u5165\u7C7B\u578B\u3001\u4E0D\u540C\u5C3A\u5BF8\u548C\u63D2\u69FD\u529F\u80FD\n */\nconst Input = React.forwardRef<React.ElementRef<'input'>, InputProps>(\n ({ className, type, size, children, ...props }, ref) => {\n if (!React.isValidElement(children)) {\n return <input type={type} className={cn(inputVariants({ size }), 'px-3', className)} ref={ref} {...props} />\n }\n return (\n <div className={cn(inputVariants({ size }), className)}>\n <input\n type={type}\n className={cn(\n 'placeholder:text-muted-foreground flex size-full px-3 file:border-0 file:bg-transparent file:font-medium focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50'\n )}\n ref={ref}\n {...props}\n />\n {children}\n </div>\n )\n }\n)\nInput.displayName = 'Input'\nInputSlot.displayName = 'InputSlot'\n\nexport { Input, InputSlot }\n"],
5
- "mappings": "ukBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,WAAAE,EAAA,cAAAC,IAAA,eAAAC,EAAAJ,GA0CI,IAAAK,EAAA,6BAxCJC,EAAuB,oBACvBC,EAAmB,+BAEnBC,EAAuC,oCAEvC,MAAMC,KAAgB,OACpB,qJACA,CACE,SAAU,CACR,KAAM,CACJ,GAAI,cACJ,KAAM,OACN,GAAI,cACN,CACF,EACA,gBAAiB,CACf,KAAM,MACR,CACF,CACF,EAiBMN,EAAYG,EAAM,WAA6C,CAACI,EAAOC,IAAiB,CAC5F,KAAM,CAAE,UAAAC,EAAW,KAAAC,EAAO,QAAS,SAAAC,EAAU,GAAGC,CAAU,EAAIL,EAE9D,SACE,OAAC,OACC,IAAKC,EACJ,GAAGI,EACJ,aAAW,MAAG,2BAA4BH,EAAW,CACnD,WAAYC,IAAS,OACrB,UAAWA,IAAS,OACtB,CAAC,EAEA,SAAAC,EACH,CAEJ,CAAC,EAOKZ,EAAQI,EAAM,WAClB,CAAC,CAAE,UAAAM,EAAW,KAAAI,EAAM,KAAAC,EAAM,SAAAH,EAAU,GAAGJ,CAAM,EAAGQ,IACzCZ,EAAM,eAAeQ,CAAQ,KAIhC,QAAC,OAAI,aAAW,MAAGL,EAAc,CAAE,KAAAQ,CAAK,CAAC,EAAGL,CAAS,EACnD,oBAAC,SACC,KAAMI,EACN,aAAW,MACT,qLACF,EACA,IAAKE,EACJ,GAAGR,EACN,EACCI,GACH,KAbO,OAAC,SAAM,KAAME,EAAM,aAAW,MAAGP,EAAc,CAAE,KAAAQ,CAAK,CAAC,EAAG,OAAQL,CAAS,EAAG,IAAKM,EAAM,GAAGR,EAAO,CAgBhH,EACAR,EAAM,YAAc,QACpBC,EAAU,YAAc",
6
- "names": ["input_exports", "__export", "Input", "InputSlot", "__toCommonJS", "import_jsx_runtime", "React", "import_helpers", "import_class_variance_authority", "inputVariants", "props", "forwardedRef", "className", "side", "children", "slotProps", "type", "size", "ref"]
4
+ "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { cn } from '../helpers/index.js'\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nconst inputVariants = cva(\n 'border-input text-info-primary bg-background rounded-box-small flex w-full flex-row items-center overflow-hidden border focus-visible:outline-none',\n {\n variants: {\n size: {\n sm: 'h-8 text-sm',\n base: 'h-10',\n lg: 'h-12 text-lg',\n },\n },\n defaultVariants: {\n size: 'base',\n },\n }\n)\n\nexport interface InputProps extends ComponentPropsWithout<'input', 'size'>, VariantProps<typeof inputVariants> {\n /**\n * \u5E94\u7528\u5230\u5185\u90E8 input \u5143\u7D20\u7684 className\n * \u53EF\u7528\u4E8E\u81EA\u5B9A\u4E49 input \u8F93\u5165\u6846\u7684\u6837\u5F0F\uFF0C\u5982\u5B57\u4F53\u5927\u5C0F\u3001\u989C\u8272\u7B49\n */\n inputClassName?: string\n}\n\ntype InputSlotElement = React.ElementRef<'div'>\ninterface InputSlotProps extends ComponentPropsWithout<'div', RemovedProps> {\n /**\n * \u63D2\u69FD\u7684\u4F4D\u7F6E\n * default: right\n */\n side?: 'left' | 'right'\n}\n\n/**\n * InputSlot\n * \u7528\u6765\u5728 Input \u7EC4\u4EF6\u4E2D\u63D2\u5165\u989D\u5916\u7684\u5185\u5BB9\uFF0C\u6BD4\u5982icon \uFF0C\u6309\u94AE\n */\nconst InputSlot = React.forwardRef<InputSlotElement, InputSlotProps>((props, forwardedRef) => {\n const { className, side = 'right', children, ...slotProps } = props\n\n return (\n <div\n ref={forwardedRef}\n {...slotProps}\n className={cn('flex h-full items-center', className, {\n '-order-1': side === 'left',\n 'order-2': side === 'right',\n })}\n >\n {children}\n </div>\n )\n})\n\n/**\n * Input - \u8F93\u5165\u6846\n *\n * @description \u6587\u672C\u8F93\u5165\u7EC4\u4EF6\uFF0C\u652F\u6301\u5404\u79CD\u8F93\u5165\u7C7B\u578B\u3001\u4E0D\u540C\u5C3A\u5BF8\u548C\u63D2\u69FD\u529F\u80FD\n */\nconst Input = React.forwardRef<React.ElementRef<'input'>, InputProps>(\n ({ className, type, size, children, inputClassName, ...props }, ref) => {\n if (!React.isValidElement(children)) {\n return (\n <input\n type={type}\n className={cn(inputVariants({ size }), 'px-3', inputClassName, className)}\n ref={ref}\n {...props}\n />\n )\n }\n return (\n <div className={cn(inputVariants({ size }), className)}>\n <input\n type={type}\n className={cn(\n 'placeholder:text-muted-foreground flex size-full px-3 file:border-0 file:bg-transparent file:font-medium focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50',\n inputClassName\n )}\n ref={ref}\n {...props}\n />\n {children}\n </div>\n )\n }\n)\nInput.displayName = 'Input'\nInputSlot.displayName = 'InputSlot'\n\nexport { Input, InputSlot }\n"],
5
+ "mappings": "ukBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,WAAAE,EAAA,cAAAC,IAAA,eAAAC,EAAAJ,GAgDI,IAAAK,EAAA,6BA9CJC,EAAuB,oBACvBC,EAAmB,+BAEnBC,EAAuC,oCAEvC,MAAMC,KAAgB,OACpB,qJACA,CACE,SAAU,CACR,KAAM,CACJ,GAAI,cACJ,KAAM,OACN,GAAI,cACN,CACF,EACA,gBAAiB,CACf,KAAM,MACR,CACF,CACF,EAuBMN,EAAYG,EAAM,WAA6C,CAACI,EAAOC,IAAiB,CAC5F,KAAM,CAAE,UAAAC,EAAW,KAAAC,EAAO,QAAS,SAAAC,EAAU,GAAGC,CAAU,EAAIL,EAE9D,SACE,OAAC,OACC,IAAKC,EACJ,GAAGI,EACJ,aAAW,MAAG,2BAA4BH,EAAW,CACnD,WAAYC,IAAS,OACrB,UAAWA,IAAS,OACtB,CAAC,EAEA,SAAAC,EACH,CAEJ,CAAC,EAOKZ,EAAQI,EAAM,WAClB,CAAC,CAAE,UAAAM,EAAW,KAAAI,EAAM,KAAAC,EAAM,SAAAH,EAAU,eAAAI,EAAgB,GAAGR,CAAM,EAAGS,IACzDb,EAAM,eAAeQ,CAAQ,KAWhC,QAAC,OAAI,aAAW,MAAGL,EAAc,CAAE,KAAAQ,CAAK,CAAC,EAAGL,CAAS,EACnD,oBAAC,SACC,KAAMI,EACN,aAAW,MACT,sLACAE,CACF,EACA,IAAKC,EACJ,GAAGT,EACN,EACCI,GACH,KApBE,OAAC,SACC,KAAME,EACN,aAAW,MAAGP,EAAc,CAAE,KAAAQ,CAAK,CAAC,EAAG,OAAQC,EAAgBN,CAAS,EACxE,IAAKO,EACJ,GAAGT,EACN,CAkBR,EACAR,EAAM,YAAc,QACpBC,EAAU,YAAc",
6
+ "names": ["input_exports", "__export", "Input", "InputSlot", "__toCommonJS", "import_jsx_runtime", "React", "import_helpers", "import_class_variance_authority", "inputVariants", "props", "forwardedRef", "className", "side", "children", "slotProps", "type", "size", "inputClassName", "ref"]
7
7
  }
@@ -2,5 +2,20 @@ import * as React from 'react';
2
2
  import * as PopoverPrimitive from '@radix-ui/react-popover';
3
3
  declare const Popover: React.FC<PopoverPrimitive.PopoverProps>;
4
4
  declare const PopoverTrigger: React.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & React.RefAttributes<HTMLButtonElement>>;
5
- declare const PopoverContent: React.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
6
- export { Popover, PopoverTrigger, PopoverContent };
5
+ declare const PopoverAnchor: React.ForwardRefExoticComponent<PopoverPrimitive.PopoverAnchorProps & React.RefAttributes<HTMLDivElement>>;
6
+ declare const PopoverClose: React.ForwardRefExoticComponent<PopoverPrimitive.PopoverCloseProps & React.RefAttributes<HTMLButtonElement>>;
7
+ declare const PopoverContent: React.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
8
+ /**
9
+ * 设置 data-radix-popper-content-wrapper 的 z-index 值。
10
+ * 底层通过 :has() 选择器精确匹配当前实例,互不影响。
11
+ */
12
+ zIndex?: number;
13
+ } & React.RefAttributes<HTMLDivElement>>;
14
+ /**
15
+ * PopoverArrow - 指向触发器的三角形指示箭头
16
+ *
17
+ * @description 渲染在 PopoverContent 内部,Radix 会根据 side/align 自动定位到触发器正上/下/左/右方,
18
+ * 默认填充色与 PopoverContent 背景色一致(bg-primary-foreground),可通过 className 覆盖。
19
+ */
20
+ declare const PopoverArrow: React.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverArrowProps & React.RefAttributes<SVGSVGElement>, "ref"> & React.RefAttributes<SVGSVGElement>>;
21
+ export { Popover, PopoverTrigger, PopoverAnchor, PopoverContent, PopoverClose, PopoverArrow };
@@ -1,2 +1,2 @@
1
- "use strict";"use client";var v=Object.create;var n=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var u=Object.getPrototypeOf,R=Object.prototype.hasOwnProperty;var C=(o,t)=>{for(var e in t)n(o,e,{get:t[e],enumerable:!0})},p=(o,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of g(t))!R.call(o,a)&&a!==e&&n(o,a,{get:()=>t[a],enumerable:!(r=c(t,a))||r.enumerable});return o};var m=(o,t,e)=>(e=o!=null?v(u(o)):{},p(t||!o||!o.__esModule?n(e,"default",{value:o,enumerable:!0}):e,o)),b=o=>p(n({},"__esModule",{value:!0}),o);var y={};C(y,{Popover:()=>l,PopoverContent:()=>d,PopoverTrigger:()=>P});module.exports=b(y);var s=require("react/jsx-runtime"),h=m(require("react")),i=m(require("@radix-ui/react-popover")),f=require("../helpers/utils.js");const l=i.Root,P=i.Trigger,d=h.forwardRef(({className:o,align:t="center",sideOffset:e=4,...r},a)=>(0,s.jsx)(i.Portal,{children:(0,s.jsx)(i.Content,{ref:a,align:t,sideOffset:e,className:(0,f.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md outline-none",o),...r})}));d.displayName=i.Content.displayName;
1
+ "use strict";"use client";var g=Object.create;var p=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var A=Object.getPrototypeOf,N=Object.prototype.hasOwnProperty;var b=(o,e)=>{for(var t in e)p(o,t,{get:e[t],enumerable:!0})},v=(o,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of C(e))!N.call(o,r)&&r!==t&&p(o,r,{get:()=>e[r],enumerable:!(n=y(e,r))||n.enumerable});return o};var c=(o,e,t)=>(t=o!=null?g(A(o)):{},v(e||!o||!o.__esModule?p(t,"default",{value:o,enumerable:!0}):t,o)),z=o=>v(p({},"__esModule",{value:!0}),o);var x={};b(x,{Popover:()=>P,PopoverAnchor:()=>u,PopoverArrow:()=>f,PopoverClose:()=>w,PopoverContent:()=>m,PopoverTrigger:()=>h});module.exports=z(x);var i=require("react/jsx-runtime"),d=c(require("react")),a=c(require("@radix-ui/react-popover")),s=require("../helpers/utils.js");const P=a.Root,h=a.Trigger,u=a.Anchor,w=a.Close,m=d.forwardRef(({className:o,align:e="center",sideOffset:t=4,zIndex:n,...r},R)=>{const l=d.useId();return(0,i.jsx)(a.Portal,{children:(0,i.jsxs)(i.Fragment,{children:[n!==void 0&&(0,i.jsx)("style",{children:`[data-radix-popper-content-wrapper]:has([data-popover-id="${l}"]){z-index:${n} !important}`}),(0,i.jsx)(a.Content,{ref:R,align:e,sideOffset:t,"data-popover-id":l,className:(0,s.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md outline-none",o),...r})]})})});m.displayName=a.Content.displayName;const f=d.forwardRef(({className:o,width:e=16,height:t=8,...n},r)=>(0,i.jsx)(a.Arrow,{ref:r,width:e,height:t,className:(0,s.cn)("fill-white",o),...n}));f.displayName=a.Arrow.displayName;
2
2
  //# sourceMappingURL=popover.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/popover.tsx"],
4
- "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport * as PopoverPrimitive from '@radix-ui/react-popover'\n\nimport { cn } from '../helpers/utils.js'\n\nconst Popover = PopoverPrimitive.Root\n\nconst PopoverTrigger = PopoverPrimitive.Trigger\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n>(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md outline-none',\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n))\nPopoverContent.displayName = PopoverPrimitive.Content.displayName\n\nexport { Popover, PopoverTrigger, PopoverContent }\n"],
5
- "mappings": "ukBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,mBAAAC,EAAA,mBAAAC,IAAA,eAAAC,EAAAL,GAgBI,IAAAM,EAAA,6BAdJC,EAAuB,oBACvBC,EAAkC,sCAElCC,EAAmB,+BAEnB,MAAMP,EAAUM,EAAiB,KAE3BJ,EAAiBI,EAAiB,QAElCL,EAAiBI,EAAM,WAG3B,CAAC,CAAE,UAAAG,EAAW,MAAAC,EAAQ,SAAU,WAAAC,EAAa,EAAG,GAAGC,CAAM,EAAGC,OAC5D,OAACN,EAAiB,OAAjB,CACC,mBAACA,EAAiB,QAAjB,CACC,IAAKM,EACL,MAAOH,EACP,WAAYC,EACZ,aAAW,MACT,6aACAF,CACF,EACC,GAAGG,EACN,EACF,CACD,EACDV,EAAe,YAAcK,EAAiB,QAAQ",
6
- "names": ["popover_exports", "__export", "Popover", "PopoverContent", "PopoverTrigger", "__toCommonJS", "import_jsx_runtime", "React", "PopoverPrimitive", "import_utils", "className", "align", "sideOffset", "props", "ref"]
4
+ "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport * as PopoverPrimitive from '@radix-ui/react-popover'\n\nimport { cn } from '../helpers/utils.js'\n\nconst Popover = PopoverPrimitive.Root\n\nconst PopoverTrigger = PopoverPrimitive.Trigger\n\nconst PopoverAnchor = PopoverPrimitive.Anchor\n\nconst PopoverClose = PopoverPrimitive.Close\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> & {\n /**\n * \u8BBE\u7F6E data-radix-popper-content-wrapper \u7684 z-index \u503C\u3002\n * \u5E95\u5C42\u901A\u8FC7 :has() \u9009\u62E9\u5668\u7CBE\u786E\u5339\u914D\u5F53\u524D\u5B9E\u4F8B\uFF0C\u4E92\u4E0D\u5F71\u54CD\u3002\n */\n zIndex?: number\n }\n>(({ className, align = 'center', sideOffset = 4, zIndex, ...props }, ref) => {\n const popoverId = React.useId()\n\n return (\n <PopoverPrimitive.Portal>\n <>\n {zIndex !== undefined && (\n <style>{`[data-radix-popper-content-wrapper]:has([data-popover-id=\"${popoverId}\"]){z-index:${zIndex} !important}`}</style>\n )}\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n data-popover-id={popoverId}\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md outline-none',\n className\n )}\n {...props}\n />\n </>\n </PopoverPrimitive.Portal>\n )\n})\nPopoverContent.displayName = PopoverPrimitive.Content.displayName\n\n/**\n * PopoverArrow - \u6307\u5411\u89E6\u53D1\u5668\u7684\u4E09\u89D2\u5F62\u6307\u793A\u7BAD\u5934\n *\n * @description \u6E32\u67D3\u5728 PopoverContent \u5185\u90E8\uFF0CRadix \u4F1A\u6839\u636E side/align \u81EA\u52A8\u5B9A\u4F4D\u5230\u89E6\u53D1\u5668\u6B63\u4E0A/\u4E0B/\u5DE6/\u53F3\u65B9\uFF0C\n * \u9ED8\u8BA4\u586B\u5145\u8272\u4E0E PopoverContent \u80CC\u666F\u8272\u4E00\u81F4\uFF08bg-primary-foreground\uFF09\uFF0C\u53EF\u901A\u8FC7 className \u8986\u76D6\u3002\n */\nconst PopoverArrow = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Arrow>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Arrow>\n>(({ className, width = 16, height = 8, ...props }, ref) => (\n <PopoverPrimitive.Arrow ref={ref} width={width} height={height} className={cn('fill-white', className)} {...props} />\n))\nPopoverArrow.displayName = PopoverPrimitive.Arrow.displayName\n\nexport { Popover, PopoverTrigger, PopoverAnchor, PopoverContent, PopoverClose, PopoverArrow }\n"],
5
+ "mappings": "ukBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,kBAAAC,EAAA,iBAAAC,EAAA,iBAAAC,EAAA,mBAAAC,EAAA,mBAAAC,IAAA,eAAAC,EAAAR,GA6BM,IAAAS,EAAA,6BA3BNC,EAAuB,oBACvBC,EAAkC,sCAElCC,EAAmB,+BAEnB,MAAMV,EAAUS,EAAiB,KAE3BJ,EAAiBI,EAAiB,QAElCR,EAAgBQ,EAAiB,OAEjCN,EAAeM,EAAiB,MAEhCL,EAAiBI,EAAM,WAS3B,CAAC,CAAE,UAAAG,EAAW,MAAAC,EAAQ,SAAU,WAAAC,EAAa,EAAG,OAAAC,EAAQ,GAAGC,CAAM,EAAGC,IAAQ,CAC5E,MAAMC,EAAYT,EAAM,MAAM,EAE9B,SACE,OAACC,EAAiB,OAAjB,CACC,gCACG,UAAAK,IAAW,WACV,OAAC,SAAO,sEAA6DG,CAAS,eAAeH,CAAM,eAAe,KAEpH,OAACL,EAAiB,QAAjB,CACC,IAAKO,EACL,MAAOJ,EACP,WAAYC,EACZ,kBAAiBI,EACjB,aAAW,MACT,6aACAN,CACF,EACC,GAAGI,EACN,GACF,EACF,CAEJ,CAAC,EACDX,EAAe,YAAcK,EAAiB,QAAQ,YAQtD,MAAMP,EAAeM,EAAM,WAGzB,CAAC,CAAE,UAAAG,EAAW,MAAAO,EAAQ,GAAI,OAAAC,EAAS,EAAG,GAAGJ,CAAM,EAAGC,OAClD,OAACP,EAAiB,MAAjB,CAAuB,IAAKO,EAAK,MAAOE,EAAO,OAAQC,EAAQ,aAAW,MAAG,aAAcR,CAAS,EAAI,GAAGI,EAAO,CACpH,EACDb,EAAa,YAAcO,EAAiB,MAAM",
6
+ "names": ["popover_exports", "__export", "Popover", "PopoverAnchor", "PopoverArrow", "PopoverClose", "PopoverContent", "PopoverTrigger", "__toCommonJS", "import_jsx_runtime", "React", "PopoverPrimitive", "import_utils", "className", "align", "sideOffset", "zIndex", "props", "ref", "popoverId", "width", "height"]
7
7
  }
@@ -0,0 +1,25 @@
1
+ import * as React from 'react';
2
+ import { type VariantProps } from 'class-variance-authority';
3
+ declare const toastVariants: (props?: ({
4
+ variant?: "success" | "warning" | "countdown" | null | undefined;
5
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
+ export interface ToastProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof toastVariants> {
7
+ open?: boolean;
8
+ message: string;
9
+ duration?: number;
10
+ seconds?: number;
11
+ onClose?: () => void;
12
+ }
13
+ declare const Toast: React.ForwardRefExoticComponent<ToastProps & React.RefAttributes<HTMLDivElement>>;
14
+ export interface UseToastOptions {
15
+ variant?: ToastProps['variant'];
16
+ message: string;
17
+ duration?: number;
18
+ seconds?: number;
19
+ }
20
+ declare function useToast(): {
21
+ toastProps: ToastProps;
22
+ showToast: (opts: UseToastOptions) => void;
23
+ };
24
+ export { Toast, toastVariants, useToast };
25
+ export default Toast;
@@ -0,0 +1,2 @@
1
+ "use strict";"use client";var P=Object.create;var l=Object.defineProperty;var V=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var O=Object.getPrototypeOf,S=Object.prototype.hasOwnProperty;var E=(a,t)=>{for(var e in t)l(a,e,{get:t[e],enumerable:!0})},x=(a,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of N(t))!S.call(a,o)&&o!==e&&l(a,o,{get:()=>t[o],enumerable:!(r=V(t,o))||r.enumerable});return a};var R=(a,t,e)=>(e=a!=null?P(O(a)):{},x(t||!a||!a.__esModule?l(e,"default",{value:a,enumerable:!0}):e,a)),B=a=>x(l({},"__esModule",{value:!0}),a);var _={};E(_,{Toast:()=>d,default:()=>W,toastVariants:()=>g,useToast:()=>k});module.exports=B(_);var s=require("react/jsx-runtime"),n=R(require("react")),v=require("class-variance-authority"),T=require("../helpers/index.js");const g=(0,v.cva)("bg-container-secondary-1 text-info-primary pointer-events-none fixed left-1/2 top-1/2 z-[9999] flex w-max -translate-x-1/2 select-none items-center gap-[4px] rounded-[8px] p-[16px] text-[18px] font-bold leading-[1.4] tracking-[-0.36px] drop-shadow-[0px_8px_12px_rgba(0,0,0,0.2)] transition-all duration-300 ease-in-out data-[state=closed]:-translate-y-2 data-[state=open]:translate-y-0 data-[state=closed]:opacity-0 data-[state=open]:opacity-100",{variants:{variant:{success:"",warning:"",countdown:""}},defaultVariants:{variant:"success"}}),H=()=>(0,s.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":!0,children:[(0,s.jsx)("circle",{cx:"12",cy:"12",r:"10.5",className:"fill-success-0"}),(0,s.jsx)("g",{transform:"translate(6, 8)",children:(0,s.jsx)("path",{d:"M1 3.5L5 7L11 1",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})]}),I=()=>(0,s.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":!0,children:[(0,s.jsx)("circle",{cx:"12",cy:"12",r:"10.5",className:"fill-error-0"}),(0,s.jsx)("g",{transform:"translate(10.65, 6)",children:(0,s.jsx)("path",{d:"M1.35 9.28C2.1 9.28 2.7 9.88 2.7 10.63C2.7 11.37 2.1 11.98 1.35 11.98C0.6 11.98 0 11.37 0 10.63C0 9.88 0.6 9.28 1.35 9.28ZM1.35 0C1.97 0 2.47 0.5 2.47 1.13V7.13C2.47 7.75 1.97 8.25 1.35 8.25C0.73 8.25 0.22 7.75 0.22 7.13V1.13C0.22 0.5 0.73 0 1.35 0Z",fill:"white"})})]}),U=()=>(0,s.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":!0,children:[(0,s.jsx)("circle",{cx:"12",cy:"12",r:"10.5",className:"fill-warning-0"}),(0,s.jsx)("g",{transform:"translate(8, 7)",children:(0,s.jsx)("path",{d:"M4 0V5L7 8",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})]}),d=n.forwardRef(({className:a,variant:t,open:e=!1,message:r,duration:o=2500,seconds:i,onClose:c,...u},y)=>{const[p,w]=n.useState(!1),[f,h]=n.useState(i??0);if(n.useEffect(()=>{if(e)w(!0),t==="countdown"&&i!=null&&h(i);else{const m=setTimeout(()=>w(!1),300);return()=>clearTimeout(m)}},[e,t,i]),n.useEffect(()=>{if(!e||!p)return;if(t==="countdown"){if(f<=0){c?.();return}const L=setTimeout(()=>h(M=>M-1),1e3);return()=>clearTimeout(L)}const m=setTimeout(()=>c?.(),o);return()=>clearTimeout(m)},[e,p,t,o,f,c]),!p)return null;const C=t==="warning"?(0,s.jsx)(I,{}):t==="countdown"?(0,s.jsx)(U,{}):(0,s.jsx)(H,{}),b=t==="countdown"?r.replace(/\{seconds\}/g,String(f)):r;return(0,s.jsxs)("div",{ref:y,className:(0,T.cn)(g({variant:t}),a),"data-state":e?"open":"closed",role:"alert","aria-live":"assertive","aria-atomic":"true",...u,children:[C,(0,s.jsx)("span",{children:b})]})});d.displayName="Toast";function k(){const[a,t]=n.useState(!1),[e,r]=n.useState({message:""}),o=n.useCallback(u=>{r(u),t(!0)},[]),i=n.useCallback(()=>{t(!1)},[]);return{toastProps:{open:a,variant:e.variant,message:e.message,duration:e.duration,seconds:e.seconds,onClose:i},showToast:o}}var W=d;
2
+ //# sourceMappingURL=toast.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/toast.tsx"],
4
+ "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '../helpers/index.js'\n\nconst toastVariants = cva(\n 'bg-container-secondary-1 text-info-primary pointer-events-none fixed left-1/2 top-1/2 z-[9999] flex w-max -translate-x-1/2 select-none items-center gap-[4px] rounded-[8px] p-[16px] text-[18px] font-bold leading-[1.4] tracking-[-0.36px] drop-shadow-[0px_8px_12px_rgba(0,0,0,0.2)] transition-all duration-300 ease-in-out data-[state=closed]:-translate-y-2 data-[state=open]:translate-y-0 data-[state=closed]:opacity-0 data-[state=open]:opacity-100',\n {\n variants: {\n variant: {\n success: '',\n warning: '',\n countdown: '',\n },\n },\n defaultVariants: {\n variant: 'success',\n },\n }\n)\n\nconst CheckIcon = () => (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden>\n <circle cx=\"12\" cy=\"12\" r=\"10.5\" className=\"fill-success-0\" />\n <g transform=\"translate(6, 8)\">\n <path d=\"M1 3.5L5 7L11 1\" stroke=\"white\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </g>\n </svg>\n)\n\nconst WarningIcon = () => (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden>\n <circle cx=\"12\" cy=\"12\" r=\"10.5\" className=\"fill-error-0\" />\n <g transform=\"translate(10.65, 6)\">\n <path\n d=\"M1.35 9.28C2.1 9.28 2.7 9.88 2.7 10.63C2.7 11.37 2.1 11.98 1.35 11.98C0.6 11.98 0 11.37 0 10.63C0 9.88 0.6 9.28 1.35 9.28ZM1.35 0C1.97 0 2.47 0.5 2.47 1.13V7.13C2.47 7.75 1.97 8.25 1.35 8.25C0.73 8.25 0.22 7.75 0.22 7.13V1.13C0.22 0.5 0.73 0 1.35 0Z\"\n fill=\"white\"\n />\n </g>\n </svg>\n)\n\nconst ClockIcon = () => (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden>\n <circle cx=\"12\" cy=\"12\" r=\"10.5\" className=\"fill-warning-0\" />\n <g transform=\"translate(8, 7)\">\n <path d=\"M4 0V5L7 8\" stroke=\"white\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </g>\n </svg>\n)\n\nexport interface ToastProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof toastVariants> {\n open?: boolean\n message: string\n duration?: number\n seconds?: number\n onClose?: () => void\n}\n\nconst Toast = React.forwardRef<HTMLDivElement, ToastProps>(\n ({ className, variant, open = false, message, duration = 2500, seconds, onClose, ...props }, ref) => {\n const [mounted, setMounted] = React.useState(false)\n const [remaining, setRemaining] = React.useState(seconds ?? 0)\n\n React.useEffect(() => {\n if (open) {\n setMounted(true)\n if (variant === 'countdown' && seconds != null) {\n setRemaining(seconds)\n }\n } else {\n const timer = setTimeout(() => setMounted(false), 300)\n return () => clearTimeout(timer)\n }\n }, [open, variant, seconds])\n\n React.useEffect(() => {\n if (!open || !mounted) return\n if (variant === 'countdown') {\n if (remaining <= 0) {\n onClose?.()\n return\n }\n const timer = setTimeout(() => setRemaining(r => r - 1), 1000)\n return () => clearTimeout(timer)\n }\n const timer = setTimeout(() => onClose?.(), duration)\n return () => clearTimeout(timer)\n }, [open, mounted, variant, duration, remaining, onClose])\n\n if (!mounted) return null\n\n const icon = variant === 'warning' ? <WarningIcon /> : variant === 'countdown' ? <ClockIcon /> : <CheckIcon />\n\n const displayMessage = variant === 'countdown' ? message.replace(/\\{seconds\\}/g, String(remaining)) : message\n\n return (\n <div\n ref={ref}\n className={cn(toastVariants({ variant }), className)}\n data-state={open ? 'open' : 'closed'}\n role=\"alert\"\n aria-live=\"assertive\"\n aria-atomic=\"true\"\n {...props}\n >\n {icon}\n <span>{displayMessage}</span>\n </div>\n )\n }\n)\nToast.displayName = 'Toast'\n\nexport interface UseToastOptions {\n variant?: ToastProps['variant']\n message: string\n duration?: number\n seconds?: number\n}\n\nfunction useToast() {\n const [open, setOpen] = React.useState(false)\n const [options, setOptions] = React.useState<UseToastOptions>({ message: '' })\n\n const showToast = React.useCallback((opts: UseToastOptions) => {\n setOptions(opts)\n setOpen(true)\n }, [])\n\n const handleClose = React.useCallback(() => {\n setOpen(false)\n }, [])\n\n const toastProps: ToastProps = {\n open,\n variant: options.variant,\n message: options.message,\n duration: options.duration,\n seconds: options.seconds,\n onClose: handleClose,\n }\n\n return { toastProps, showToast }\n}\n\nexport { Toast, toastVariants, useToast }\nexport default Toast\n"],
5
+ "mappings": "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",
6
+ "names": ["toast_exports", "__export", "Toast", "toast_default", "toastVariants", "useToast", "__toCommonJS", "import_jsx_runtime", "React", "import_class_variance_authority", "import_helpers", "CheckIcon", "WarningIcon", "ClockIcon", "className", "variant", "open", "message", "duration", "seconds", "onClose", "props", "ref", "mounted", "setMounted", "remaining", "setRemaining", "timer", "r", "icon", "displayMessage", "setOpen", "options", "setOptions", "showToast", "opts", "handleClose"]
7
+ }
@@ -0,0 +1,11 @@
1
+ import * as React from 'react';
2
+ export interface ProductGridProps {
3
+ children: React.ReactNode;
4
+ maxVisible?: number;
5
+ showMoreText?: string;
6
+ showLessText?: string;
7
+ animated?: boolean;
8
+ className?: string;
9
+ }
10
+ declare const AccessoriesProductGrid: React.ForwardRefExoticComponent<ProductGridProps & React.RefAttributes<HTMLDivElement>>;
11
+ export default AccessoriesProductGrid;
@@ -0,0 +1,2 @@
1
+ "use client";import{jsx as e,jsxs as c}from"react/jsx-runtime";import*as r from"react";import{cn as i}from"../../../../helpers/index.js";const v=({className:t})=>e("svg",{xmlns:"http://www.w3.org/2000/svg",className:t,width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",children:e("path",{d:"M17.2929 8.29302C17.6834 7.90249 18.3164 7.90249 18.707 8.29302C19.0975 8.68354 19.0975 9.31655 18.707 9.70708L12.707 15.7071C12.3164 16.0976 11.6834 16.0976 11.2929 15.7071L5.29289 9.70708C4.90237 9.31655 4.90237 8.68354 5.29289 8.29302C5.68342 7.90249 6.31643 7.90249 6.70696 8.29302L11.9999 13.586L17.2929 8.29302Z",fill:"currentColor"})}),n=r.forwardRef(({children:t,maxVisible:a=8,showMoreText:d="Show more",showLessText:m="Show less",animated:p=!0,className:g},f)=>{const[s,u]=r.useState(!1),o=r.Children.toArray(t),l=o.length>a,h=l&&!s?o.slice(0,a):o;return c("div",{ref:f,className:i("flex flex-col gap-6",g),children:[e("div",{className:i("tablet:grid-cols-2 laptop:grid-cols-3 desktop:grid-cols-4 grid grid-cols-1 gap-4",p&&"transition-all duration-500 ease-in-out"),children:h}),l&&c("div",{className:"hover:text-brand-0 text-info-primary flex items-center justify-center",children:[e("button",{className:"laptop:text-base text-sm font-bold",onClick:()=>u(x=>!x),children:s?m:d}),e(v,{className:i("laptop:size-5 size-4",s&&"rotate-180")})]})]})});n.displayName="AccessoriesProductGrid";var N=n;export{N as default};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/biz-components/AccessoriesShelf/components/AccessoriesProductGrid/index.tsx"],
4
+ "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { cn } from '../../../../helpers/index.js'\n\nexport interface ProductGridProps {\n children: React.ReactNode\n maxVisible?: number\n showMoreText?: string\n showLessText?: string\n animated?: boolean\n className?: string\n}\n\nconst DownIcon = ({ className }: { className?: string }) => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n >\n <path\n d=\"M17.2929 8.29302C17.6834 7.90249 18.3164 7.90249 18.707 8.29302C19.0975 8.68354 19.0975 9.31655 18.707 9.70708L12.707 15.7071C12.3164 16.0976 11.6834 16.0976 11.2929 15.7071L5.29289 9.70708C4.90237 9.31655 4.90237 8.68354 5.29289 8.29302C5.68342 7.90249 6.31643 7.90249 6.70696 8.29302L11.9999 13.586L17.2929 8.29302Z\"\n fill=\"currentColor\"\n />\n </svg>\n )\n}\n\nconst AccessoriesProductGrid = React.forwardRef<HTMLDivElement, ProductGridProps>(\n (\n { children, maxVisible = 8, showMoreText = 'Show more', showLessText = 'Show less', animated = true, className },\n ref\n ) => {\n const [expanded, setExpanded] = React.useState(false)\n const items = React.Children.toArray(children)\n const hasMore = items.length > maxVisible\n const visibleItems = hasMore && !expanded ? items.slice(0, maxVisible) : items\n\n return (\n <div ref={ref} className={cn('flex flex-col gap-6', className)}>\n <div\n className={cn(\n 'tablet:grid-cols-2 laptop:grid-cols-3 desktop:grid-cols-4 grid grid-cols-1 gap-4',\n animated && 'transition-all duration-500 ease-in-out'\n )}\n >\n {visibleItems}\n </div>\n {hasMore && (\n <div className=\"hover:text-brand-0 text-info-primary flex items-center justify-center\">\n <button className=\"laptop:text-base text-sm font-bold\" onClick={() => setExpanded(prev => !prev)}>\n {expanded ? showLessText : showMoreText}\n </button>\n <DownIcon className={cn('laptop:size-5 size-4', expanded && 'rotate-180')} />\n </div>\n )}\n </div>\n )\n }\n)\n\nAccessoriesProductGrid.displayName = 'AccessoriesProductGrid'\n\nexport default AccessoriesProductGrid\n"],
5
+ "mappings": "aAwBM,cAAAA,EA6BI,QAAAC,MA7BJ,oBAtBN,UAAYC,MAAW,QACvB,OAAS,MAAAC,MAAU,+BAWnB,MAAMC,EAAW,CAAC,CAAE,UAAAC,CAAU,IAE1BL,EAAC,OACC,MAAM,6BACN,UAAWK,EACX,MAAM,KACN,OAAO,KACP,QAAQ,YACR,KAAK,OAEL,SAAAL,EAAC,QACC,EAAE,gUACF,KAAK,eACP,EACF,EAIEM,EAAyBJ,EAAM,WACnC,CACE,CAAE,SAAAK,EAAU,WAAAC,EAAa,EAAG,aAAAC,EAAe,YAAa,aAAAC,EAAe,YAAa,SAAAC,EAAW,GAAM,UAAAN,CAAU,EAC/GO,IACG,CACH,KAAM,CAACC,EAAUC,CAAW,EAAIZ,EAAM,SAAS,EAAK,EAC9Ca,EAAQb,EAAM,SAAS,QAAQK,CAAQ,EACvCS,EAAUD,EAAM,OAASP,EACzBS,EAAeD,GAAW,CAACH,EAAWE,EAAM,MAAM,EAAGP,CAAU,EAAIO,EAEzE,OACEd,EAAC,OAAI,IAAKW,EAAK,UAAWT,EAAG,sBAAuBE,CAAS,EAC3D,UAAAL,EAAC,OACC,UAAWG,EACT,mFACAQ,GAAY,yCACd,EAEC,SAAAM,EACH,EACCD,GACCf,EAAC,OAAI,UAAU,wEACb,UAAAD,EAAC,UAAO,UAAU,qCAAqC,QAAS,IAAMc,EAAYI,GAAQ,CAACA,CAAI,EAC5F,SAAAL,EAAWH,EAAeD,EAC7B,EACAT,EAACI,EAAA,CAAS,UAAWD,EAAG,uBAAwBU,GAAY,YAAY,EAAG,GAC7E,GAEJ,CAEJ,CACF,EAEAP,EAAuB,YAAc,yBAErC,IAAOa,EAAQb",
6
+ "names": ["jsx", "jsxs", "React", "cn", "DownIcon", "className", "AccessoriesProductGrid", "children", "maxVisible", "showMoreText", "showLessText", "animated", "ref", "expanded", "setExpanded", "items", "hasMore", "visibleItems", "prev", "AccessoriesProductGrid_default"]
7
+ }
@@ -0,0 +1,23 @@
1
+ import * as React from 'react';
2
+ import type { AccessoryProductCardProps, AccessoryProductData, AccessoryCardSemanticName, AccessoryCopyConfig } from './types.js';
3
+ export type { AccessoryProductCardProps, AccessoryProductData, AccessoryCardSemanticName, AccessoryCopyConfig };
4
+ /**
5
+ * AccessoryProductCard - 配件卡片(UI 组件)
6
+ *
7
+ * 组件职责(UI 层):
8
+ * - 渲染产品图(1:1 object-contain)
9
+ * - 渲染标题、描述、tags
10
+ * - 渲染现价 + 原价(删除线)+ 会员价(下方小字)
11
+ * - 渲染加购按钮及 Add / Added(n) / Unavailable 状态
12
+ * - Hover 效果(卡片背景变白 + 阴影,PC 端)
13
+ * - Loading 状态展示
14
+ *
15
+ * 业务职责(业务端负责):
16
+ * - 获取产品数据、计算价格
17
+ * - 维护 addedQuantity、isLoading 状态
18
+ * - 实现 onAddToCart 逻辑(调用购物车 API)
19
+ * - 库存检查后将 quantityAvailable 传入
20
+ */
21
+ declare const AccessoryProductCard: React.ForwardRefExoticComponent<AccessoryProductCardProps & React.RefAttributes<HTMLDivElement>>;
22
+ export { AccessoryProductCard };
23
+ export default AccessoryProductCard;
@@ -0,0 +1,2 @@
1
+ "use client";import{Fragment as j,jsx as a,jsxs as l}from"react/jsx-runtime";import*as p from"react";import{cn as i}from"../../../../helpers/index.js";import{Badge as R,Card as q,CardContent as E,Picture as O,Text as s,Heading as U,Button as _}from"../../../../components/index.js";const b=p.forwardRef(({product:e,addedQuantity:m=0,maxQuantity:k,isLoading:g=!1,showTags:C=!0,showOriginalPrice:h=!1,showDiscountPrice:f=!0,showMemberPrice:A=!0,onProductClick:c,onAddToCart:L,className:N,classNames:t,copy:r},T)=>{const u=k??e.quantityAvailable??void 0,o=!e.availableForSale,w=!o&&u!=null&&m>=u,S=o||w,y=m>0,B=r?.addLabel??"Add",M=r?.addedLabel??"in Cart",$=r?.unavailableLabel??"Unavailable",z=r?.memberPriceLabel??"Member price",D=r?.plusMemberPriceLabel??"Plus member price",v=o?$:y?`${m} ${M}`:B,F=e.memberPriceType==="plus-member"?D:z,d=e.custom_name||e.name,x=e.custom_description||e.description,H=e.image;return a(q,{ref:T,className:i("rounded-card desktop:p-6 group flex flex-col border-none p-4","bg-container-primary transition-colors duration-200","hover:bg-white",y&&"bg-white",N,t?.root),children:l(E,{className:"flex flex-1 flex-col gap-3 p-0",children:[a("a",{onClick:c?()=>c(e):void 0,href:!c&&e.listingLink?e.listingLink:void 0,rel:"noreferrer",className:i("laptop:size-[196px] mx-auto block size-[138px] overflow-hidden",c||e.listingLink?"cursor-pointer":"cursor-default",t?.image),"aria-label":d,children:a(O,{source:H,alt:d,className:"aspect-square w-full mix-blend-multiply",imgClassName:"w-full h-full object-contain"})}),l("div",{className:"flex flex-1 flex-col gap-4",children:[C&&e.tags&&e.tags.length>0&&a("div",{className:i("flex flex-wrap items-center gap-1",t?.tags),children:e.tags.map((n,P)=>n?.label?a(R,{size:"sm",variant:n.variant||"outline",promotionalType:n.promotionalType,children:n.label},P):p.isValidElement(n)&&a(p.Fragment,{children:n},P))}),l("div",{className:"flex flex-col gap-1",children:[a(U,{as:"h2",className:i("lg-desktop:text-[18px] text-info-primary line-clamp-3 text-[16px] font-bold leading-[1.2] tracking-[-0.64px]",t?.title),children:d}),x&&a(s,{as:"p",className:i("lg-desktop:text-[18px] text-info-bold line-clamp-2 text-[14px] font-bold leading-[1.4] tracking-[-0.28px]",t?.description),children:x})]}),l("div",{className:i("mt-auto flex flex-col gap-2",t?.priceArea),children:[l("div",{children:[a("div",{className:"flex flex-wrap items-baseline gap-1",children:o?a(s,{as:"p",className:i("lg-desktop:text-[24px] text-info-tertiary text-[20px] font-bold leading-[1.2] tracking-[-0.8px]",t?.currentPrice),children:r?.outOfStockLabel??"Sold Out"}):l(j,{children:[a(s,{as:"p",className:i("lg-desktop:text-[24px] text-info-primary text-[20px] font-bold leading-[1.2] tracking-[-0.8px]",t?.currentPrice),children:e.price}),f&&e.discountPrice&&a(s,{as:"p",className:i("text-brand-0 lg-desktop:text-[24px] text-[20px] font-bold leading-tight tracking-[-0.32px]",t?.discountPrice),children:e.discountPrice}),(!f||!e.discountPrice)&&h&&e.originalPrice&&a(s,{as:"p",className:i("text-info-tertiary lg-desktop:text-[24px] text-[20px] font-bold leading-tight tracking-[-0.32px] line-through",t?.originalPrice),children:e.originalPrice})]})}),A&&!o&&e.memberPriceNote&&l(s,{as:"p",className:i("lg-desktop:text-[18px] text-marketing-1 text-[14px] font-bold leading-tight tracking-[-0.24px]",t?.memberPriceNote),children:[F," ",a("span",{className:"text-marketing-1",children:e.memberPriceNote})]})]}),a("div",{className:i(t?.buttonGroup),children:a(_,{variant:"primary",size:"lg",loading:g,disabled:S&&!g,onClick:()=>L?.(e),className:i("w-full",t?.addButton),"data-headless-type-name":"AccessoryShelf#ProductCard","data-headless-sku":e.sku,"data-headless-title-desc-button":`${d}#${x??""}#${v}`,children:v})})]})]})]})})});b.displayName="AccessoryShelf.ProductCard";var V=b;export{b as AccessoryProductCard,V as default};
2
+ //# sourceMappingURL=ProductCard.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/biz-components/AccessoriesShelf/components/AccessoryShelf/ProductCard.tsx"],
4
+ "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { cn } from '../../../../helpers/index.js'\nimport { Badge, Card, CardContent, Picture, Text, Heading, Button } from '../../../../components/index.js'\nimport type {\n AccessoryProductCardProps,\n AccessoryProductData,\n AccessoryCardSemanticName,\n AccessoryCopyConfig,\n} from './types.js'\n\nexport type { AccessoryProductCardProps, AccessoryProductData, AccessoryCardSemanticName, AccessoryCopyConfig }\n\n/**\n * AccessoryProductCard - \u914D\u4EF6\u5361\u7247\uFF08UI \u7EC4\u4EF6\uFF09\n *\n * \u7EC4\u4EF6\u804C\u8D23\uFF08UI \u5C42\uFF09\uFF1A\n * - \u6E32\u67D3\u4EA7\u54C1\u56FE\uFF081:1 object-contain\uFF09\n * - \u6E32\u67D3\u6807\u9898\u3001\u63CF\u8FF0\u3001tags\n * - \u6E32\u67D3\u73B0\u4EF7 + \u539F\u4EF7\uFF08\u5220\u9664\u7EBF\uFF09+ \u4F1A\u5458\u4EF7\uFF08\u4E0B\u65B9\u5C0F\u5B57\uFF09\n * - \u6E32\u67D3\u52A0\u8D2D\u6309\u94AE\u53CA Add / Added(n) / Unavailable \u72B6\u6001\n * - Hover \u6548\u679C\uFF08\u5361\u7247\u80CC\u666F\u53D8\u767D + \u9634\u5F71\uFF0CPC \u7AEF\uFF09\n * - Loading \u72B6\u6001\u5C55\u793A\n *\n * \u4E1A\u52A1\u804C\u8D23\uFF08\u4E1A\u52A1\u7AEF\u8D1F\u8D23\uFF09\uFF1A\n * - \u83B7\u53D6\u4EA7\u54C1\u6570\u636E\u3001\u8BA1\u7B97\u4EF7\u683C\n * - \u7EF4\u62A4 addedQuantity\u3001isLoading \u72B6\u6001\n * - \u5B9E\u73B0 onAddToCart \u903B\u8F91\uFF08\u8C03\u7528\u8D2D\u7269\u8F66 API\uFF09\n * - \u5E93\u5B58\u68C0\u67E5\u540E\u5C06 quantityAvailable \u4F20\u5165\n */\nconst AccessoryProductCard = React.forwardRef<HTMLDivElement, AccessoryProductCardProps>(\n (\n {\n product,\n addedQuantity = 0,\n maxQuantity,\n isLoading = false,\n showTags = true,\n showOriginalPrice = false,\n showDiscountPrice = true,\n showMemberPrice = true,\n onProductClick,\n onAddToCart,\n className,\n classNames,\n copy,\n },\n ref\n ) => {\n // \u5E93\u5B58\u9650\u5236\uFF1A\u4F18\u5148\u53D6 maxQuantity\uFF0C\u5176\u6B21\u53D6 product.quantityAvailable\n const resolvedMax = maxQuantity ?? product.quantityAvailable ?? undefined\n const isUnavailable = !product.availableForSale\n const isAtLimit = !isUnavailable && resolvedMax != null && addedQuantity >= resolvedMax\n const isDisabled = isUnavailable || isAtLimit\n const isAdded = addedQuantity > 0\n\n // \u6587\u6848\n const addLabel = copy?.addLabel ?? 'Add'\n const addedLabel = copy?.addedLabel ?? 'in Cart'\n const unavailableLabel = copy?.unavailableLabel ?? 'Unavailable'\n const memberPriceLabel = copy?.memberPriceLabel ?? 'Member price'\n const plusMemberPriceLabel = copy?.plusMemberPriceLabel ?? 'Plus member price'\n\n const buttonLabel = isUnavailable ? unavailableLabel : isAdded ? `${addedQuantity} ${addedLabel}` : addLabel\n\n const memberLabel = product.memberPriceType === 'plus-member' ? plusMemberPriceLabel : memberPriceLabel\n\n const displayTitle = product.custom_name || product.name\n const displayDescription = product.custom_description || product.description\n const displayImage = product.image\n\n return (\n <Card\n ref={ref}\n className={cn(\n 'rounded-card desktop:p-6 group flex flex-col border-none p-4',\n 'bg-container-primary transition-colors duration-200',\n 'hover:bg-white',\n isAdded && 'bg-white',\n className,\n classNames?.root\n )}\n >\n <CardContent className=\"flex flex-1 flex-col gap-3 p-0\">\n {/* \u4EA7\u54C1\u56FE 1:1 */}\n <a\n onClick={onProductClick ? () => onProductClick(product) : undefined}\n href={!onProductClick && product.listingLink ? product.listingLink : undefined}\n rel=\"noreferrer\"\n className={cn(\n 'laptop:size-[196px] mx-auto block size-[138px] overflow-hidden',\n onProductClick || product.listingLink ? 'cursor-pointer' : 'cursor-default',\n classNames?.image\n )}\n aria-label={displayTitle}\n >\n <Picture\n source={displayImage}\n alt={displayTitle}\n className=\"aspect-square w-full mix-blend-multiply\"\n imgClassName=\"w-full h-full object-contain\"\n />\n </a>\n\n {/* \u5185\u5BB9\u533A */}\n <div className=\"flex flex-1 flex-col gap-4\">\n {/* Tags */}\n {showTags && product.tags && product.tags.length > 0 && (\n <div className={cn('flex flex-wrap items-center gap-1', classNames?.tags)}>\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 promotionalType={tag.promotionalType}\n >\n {tag.label}\n </Badge>\n ) : (\n React.isValidElement(tag) && <React.Fragment key={index}>{tag}</React.Fragment>\n )\n )}\n </div>\n )}\n\n {/* \u6807\u9898 + \u63CF\u8FF0 */}\n <div className=\"flex flex-col gap-1\">\n <Heading\n as=\"h2\"\n className={cn(\n 'lg-desktop:text-[18px] text-info-primary line-clamp-3 text-[16px] font-bold leading-[1.2] tracking-[-0.64px]',\n classNames?.title\n )}\n >\n {displayTitle}\n </Heading>\n {displayDescription && (\n <Text\n as=\"p\"\n className={cn(\n 'lg-desktop:text-[18px] text-info-bold line-clamp-2 text-[14px] font-bold leading-[1.4] tracking-[-0.28px]',\n classNames?.description\n )}\n >\n {displayDescription}\n </Text>\n )}\n </div>\n\n {/* \u4EF7\u683C + \u6309\u94AE */}\n <div className={cn('mt-auto flex flex-col gap-2', classNames?.priceArea)}>\n <div>\n {/* \u73B0\u4EF7 + \u539F\u4EF7\uFF08\u5220\u9664\u7EBF\uFF09 */}\n <div className=\"flex flex-wrap items-baseline gap-1\">\n {isUnavailable ? (\n <Text\n as=\"p\"\n className={cn(\n 'lg-desktop:text-[24px] text-info-tertiary text-[20px] font-bold leading-[1.2] tracking-[-0.8px]',\n classNames?.currentPrice\n )}\n >\n {copy?.outOfStockLabel ?? 'Sold Out'}\n </Text>\n ) : (\n <>\n <Text\n as=\"p\"\n className={cn(\n 'lg-desktop:text-[24px] text-info-primary text-[20px] font-bold leading-[1.2] tracking-[-0.8px]',\n classNames?.currentPrice\n )}\n >\n {product.price}\n </Text>\n {showDiscountPrice && product.discountPrice && (\n <Text\n as=\"p\"\n className={cn(\n 'text-brand-0 lg-desktop:text-[24px] text-[20px] font-bold leading-tight tracking-[-0.32px]',\n classNames?.discountPrice\n )}\n >\n {product.discountPrice}\n </Text>\n )}\n {(!showDiscountPrice || !product.discountPrice) && showOriginalPrice && product.originalPrice && (\n <Text\n as=\"p\"\n className={cn(\n 'text-info-tertiary lg-desktop:text-[24px] text-[20px] font-bold leading-tight tracking-[-0.32px] line-through',\n classNames?.originalPrice\n )}\n >\n {product.originalPrice}\n </Text>\n )}\n </>\n )}\n </div>\n\n {/* \u4F1A\u5458\u4EF7\u5C0F\u5B57 */}\n {showMemberPrice && !isUnavailable && product.memberPriceNote && (\n <Text\n as=\"p\"\n className={cn(\n 'lg-desktop:text-[18px] text-marketing-1 text-[14px] font-bold leading-tight tracking-[-0.24px]',\n classNames?.memberPriceNote\n )}\n >\n {memberLabel} <span className=\"text-marketing-1\">{product.memberPriceNote}</span>\n </Text>\n )}\n </div>\n\n {/* \u52A0\u8D2D\u6309\u94AE\uFF08\u5355\u4E00\uFF09 */}\n <div className={cn(classNames?.buttonGroup)}>\n <Button\n variant=\"primary\"\n size=\"lg\"\n loading={isLoading}\n disabled={isDisabled && !isLoading}\n onClick={() => onAddToCart?.(product)}\n className={cn('w-full', classNames?.addButton)}\n data-headless-type-name=\"AccessoryShelf#ProductCard\"\n data-headless-sku={product.sku}\n data-headless-title-desc-button={`${displayTitle}#${displayDescription ?? ''}#${buttonLabel}`}\n >\n {buttonLabel}\n </Button>\n </div>\n </div>\n </div>\n </CardContent>\n </Card>\n )\n }\n)\n\nAccessoryProductCard.displayName = 'AccessoryShelf.ProductCard'\n\nexport { AccessoryProductCard }\nexport default AccessoryProductCard\n"],
5
+ "mappings": "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",
6
+ "names": ["Fragment", "jsx", "jsxs", "React", "cn", "Badge", "Card", "CardContent", "Picture", "Text", "Heading", "Button", "AccessoryProductCard", "product", "addedQuantity", "maxQuantity", "isLoading", "showTags", "showOriginalPrice", "showDiscountPrice", "showMemberPrice", "onProductClick", "onAddToCart", "className", "classNames", "copy", "ref", "resolvedMax", "isUnavailable", "isAtLimit", "isDisabled", "isAdded", "addLabel", "addedLabel", "unavailableLabel", "memberPriceLabel", "plusMemberPriceLabel", "buttonLabel", "memberLabel", "displayTitle", "displayDescription", "displayImage", "tag", "index", "ProductCard_default"]
7
+ }
@@ -0,0 +1,40 @@
1
+ import * as React from 'react';
2
+ import AccessoryProductCard from './ProductCard.js';
3
+ import type { AccessoryProductData, AccessoryCardSemanticName, AccessoryCopyConfig } from './types.js';
4
+ export type { AccessoryProductData, AccessoryCardSemanticName, AccessoryCopyConfig };
5
+ export type { AccessoryProductCardProps } from './ProductCard.js';
6
+ export interface AccessoryShelfProps extends React.HTMLAttributes<HTMLDivElement> {
7
+ /**
8
+ * 产品卡片区域 — 业务端自行组合布局容器 + AccessoryShelf.ProductCard
9
+ *
10
+ * @example 搭配 AccessoriesProductGrid
11
+ * ```tsx
12
+ * <AccessoryShelf data={{ title: 'Add-ons' }}>
13
+ * <AccessoriesProductGrid maxVisible={8} showMoreText="Show more" showLessText="Show less">
14
+ * {products.map(p => (
15
+ * <AccessoryShelf.ProductCard
16
+ * key={p.sku}
17
+ * product={p}
18
+ * addedQuantity={quantities[p.sku]}
19
+ * isLoading={loadingSkus.has(p.sku)}
20
+ * onAddToCart={handleAddToCart}
21
+ * />
22
+ * ))}
23
+ * </AccessoriesProductGrid>
24
+ * </AccessoryShelf>
25
+ * ```
26
+ */
27
+ children: React.ReactNode;
28
+ /** 语义化类名覆盖(仅 root/title/description 有效) */
29
+ classNames?: Partial<Record<'root' | 'title' | 'description', string>>;
30
+ }
31
+ export interface AccessoryShelfComponent extends React.ForwardRefExoticComponent<AccessoryShelfProps & React.RefAttributes<HTMLDivElement>> {
32
+ /** 配件卡片子组件,业务端在 children 中直接使用 */
33
+ ProductCard: typeof AccessoryProductCard;
34
+ }
35
+ export { AccessoryProductCard };
36
+ declare const _default: React.ForwardRefExoticComponent<Omit<AccessoryShelfProps & React.RefAttributes<HTMLDivElement>, "container" | keyof import("../../../../shared/Styles.js").StylesProps> & import("../../../../shared/Styles.js").StylesProps & import("../../../index.js").ContainerProps & React.RefAttributes<unknown>> & {
37
+ readonly $$typeof: symbol;
38
+ ProductCard: typeof AccessoryProductCard;
39
+ };
40
+ export default _default;