@anker-in/headless-ui 0.0.25 → 0.0.27-alpha.0

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 (537) hide show
  1. package/CONTRIBUTING.md +88 -27
  2. package/dist/cjs/biz-components/BrandEquity/BrandEquity.d.ts +19 -0
  3. package/dist/cjs/biz-components/BrandEquity/BrandEquity.js +2 -0
  4. package/dist/cjs/biz-components/BrandEquity/BrandEquity.js.map +7 -0
  5. package/dist/cjs/biz-components/BrandEquity/index.d.ts +1 -0
  6. package/dist/cjs/biz-components/BrandEquity/index.js +2 -0
  7. package/dist/cjs/biz-components/BrandEquity/index.js.map +7 -0
  8. package/dist/cjs/biz-components/Category/index.d.ts +16 -0
  9. package/dist/cjs/biz-components/Category/index.js +2 -0
  10. package/dist/cjs/biz-components/Category/index.js.map +7 -0
  11. package/dist/cjs/biz-components/Evaluate/index.d.ts +19 -0
  12. package/dist/cjs/biz-components/Evaluate/index.js +2 -0
  13. package/dist/cjs/biz-components/Evaluate/index.js.map +7 -0
  14. package/dist/cjs/biz-components/HeroBanner/HeroBanner.d.ts +7 -0
  15. package/dist/cjs/biz-components/HeroBanner/HeroBanner.js +2 -0
  16. package/dist/cjs/biz-components/HeroBanner/HeroBanner.js.map +7 -0
  17. package/dist/cjs/biz-components/HeroBanner/index.d.ts +1 -0
  18. package/dist/cjs/biz-components/HeroBanner/index.js +2 -0
  19. package/dist/cjs/biz-components/HeroBanner/index.js.map +7 -0
  20. package/dist/cjs/biz-components/HeroBanner/types.d.ts +26 -0
  21. package/dist/cjs/biz-components/HeroBanner/types.js +2 -0
  22. package/dist/cjs/biz-components/HeroBanner/types.js.map +7 -0
  23. package/dist/cjs/biz-components/Marquee/index.d.ts +23 -0
  24. package/dist/cjs/biz-components/Marquee/index.js +2 -0
  25. package/dist/cjs/biz-components/Marquee/index.js.map +7 -0
  26. package/dist/cjs/biz-components/MemberEquity/index.d.ts +6 -0
  27. package/dist/cjs/biz-components/MemberEquity/index.js +40 -0
  28. package/dist/cjs/biz-components/MemberEquity/index.js.map +7 -0
  29. package/dist/cjs/biz-components/MemberEquity/types.d.ts +25 -0
  30. package/dist/cjs/biz-components/MemberEquity/types.js +2 -0
  31. package/dist/cjs/biz-components/MemberEquity/types.js.map +7 -0
  32. package/dist/cjs/biz-components/Shelf/Shelf.d.ts +6 -0
  33. package/dist/cjs/biz-components/Shelf/Shelf.js +2 -0
  34. package/dist/cjs/biz-components/Shelf/Shelf.js.map +7 -0
  35. package/dist/cjs/biz-components/Shelf/index.d.ts +1 -0
  36. package/dist/cjs/biz-components/Shelf/index.js +2 -0
  37. package/dist/cjs/biz-components/Shelf/index.js.map +7 -0
  38. package/dist/cjs/biz-components/Shelf/types.d.ts +6 -0
  39. package/dist/cjs/biz-components/Shelf/types.js +2 -0
  40. package/dist/cjs/biz-components/Shelf/types.js.map +7 -0
  41. package/dist/cjs/biz-components/ShelfDisplay/index.d.ts +38 -0
  42. package/dist/cjs/biz-components/ShelfDisplay/index.js +10 -0
  43. package/dist/cjs/biz-components/ShelfDisplay/index.js.map +7 -0
  44. package/dist/cjs/biz-components/Slogan/index.d.ts +7 -0
  45. package/dist/cjs/biz-components/Slogan/index.js +2 -0
  46. package/dist/cjs/biz-components/Slogan/index.js.map +7 -0
  47. package/dist/cjs/biz-components/Slogan/types.d.ts +24 -0
  48. package/dist/cjs/biz-components/Slogan/types.js +2 -0
  49. package/dist/cjs/biz-components/Slogan/types.js.map +7 -0
  50. package/dist/cjs/biz-components/index.d.ts +9 -0
  51. package/dist/cjs/biz-components/index.js +2 -0
  52. package/dist/cjs/biz-components/index.js.map +7 -0
  53. package/dist/cjs/components/alert.d.ts +17 -0
  54. package/dist/cjs/components/alert.js +2 -0
  55. package/dist/cjs/components/alert.js.map +7 -0
  56. package/dist/cjs/components/avatar.d.ts +26 -0
  57. package/dist/cjs/components/avatar.js +2 -0
  58. package/dist/cjs/components/avatar.js.map +7 -0
  59. package/dist/cjs/components/badge.d.ts +2 -2
  60. package/dist/cjs/components/badge.js +1 -1
  61. package/dist/cjs/components/badge.js.map +3 -3
  62. package/dist/cjs/components/button.d.ts +2 -1
  63. package/dist/cjs/components/button.js +1 -1
  64. package/dist/cjs/components/button.js.map +3 -3
  65. package/dist/cjs/components/card.d.ts +8 -0
  66. package/dist/cjs/components/card.js +2 -0
  67. package/dist/cjs/components/card.js.map +7 -0
  68. package/dist/cjs/components/carousel.d.ts +28 -0
  69. package/dist/cjs/components/carousel.js +2 -0
  70. package/dist/cjs/components/carousel.js.map +7 -0
  71. package/dist/cjs/components/checkbox.js +1 -1
  72. package/dist/cjs/components/checkbox.js.map +2 -2
  73. package/dist/cjs/components/color.d.ts +13 -0
  74. package/dist/cjs/components/color.js +2 -0
  75. package/dist/cjs/components/color.js.map +7 -0
  76. package/dist/cjs/components/container.d.ts +13 -0
  77. package/dist/cjs/components/container.js +2 -0
  78. package/dist/cjs/components/container.js.map +7 -0
  79. package/dist/cjs/components/dialog.d.ts +2 -2
  80. package/dist/cjs/components/dialog.js +1 -1
  81. package/dist/cjs/components/dialog.js.map +2 -2
  82. package/dist/cjs/components/drawer.d.ts +13 -0
  83. package/dist/cjs/components/drawer.js +2 -0
  84. package/dist/cjs/components/drawer.js.map +7 -0
  85. package/dist/cjs/components/drop-down.d.ts +27 -0
  86. package/dist/cjs/components/drop-down.js +2 -0
  87. package/dist/cjs/components/drop-down.js.map +7 -0
  88. package/dist/cjs/components/gird.d.ts +17 -0
  89. package/dist/cjs/components/gird.js +2 -0
  90. package/dist/cjs/components/gird.js.map +7 -0
  91. package/dist/cjs/components/heading.d.ts +3 -3
  92. package/dist/cjs/components/heading.js +1 -1
  93. package/dist/cjs/components/heading.js.map +3 -3
  94. package/dist/cjs/components/index.d.ts +12 -1
  95. package/dist/cjs/components/index.js +1 -1
  96. package/dist/cjs/components/index.js.map +2 -2
  97. package/dist/cjs/components/input-number.d.ts +78 -0
  98. package/dist/cjs/components/input-number.js +2 -0
  99. package/dist/cjs/components/input-number.js.map +7 -0
  100. package/dist/cjs/components/input.js +1 -1
  101. package/dist/cjs/components/input.js.map +2 -2
  102. package/dist/cjs/components/link.d.ts +47 -0
  103. package/dist/cjs/components/link.js +2 -0
  104. package/dist/cjs/components/link.js.map +7 -0
  105. package/dist/cjs/components/picture.d.ts +1 -1
  106. package/dist/cjs/components/picture.js +1 -1
  107. package/dist/cjs/components/picture.js.map +3 -3
  108. package/dist/cjs/components/popover.js +1 -1
  109. package/dist/cjs/components/popover.js.map +2 -2
  110. package/dist/cjs/components/radio.js +1 -1
  111. package/dist/cjs/components/radio.js.map +2 -2
  112. package/dist/cjs/components/skeleton.js +4 -4
  113. package/dist/cjs/components/skeleton.js.map +1 -1
  114. package/dist/cjs/components/tabs.d.ts +9 -0
  115. package/dist/cjs/components/tabs.js +2 -0
  116. package/dist/cjs/components/tabs.js.map +7 -0
  117. package/dist/cjs/components/text.d.ts +3 -3
  118. package/dist/cjs/components/text.js +1 -1
  119. package/dist/cjs/components/text.js.map +3 -3
  120. package/dist/cjs/components/theme.d.ts +2 -3
  121. package/dist/cjs/components/theme.js +1 -1
  122. package/dist/cjs/components/theme.js.map +2 -2
  123. package/dist/cjs/helpers/constants.d.ts +0 -2
  124. package/dist/cjs/helpers/constants.js +1 -1
  125. package/dist/cjs/helpers/constants.js.map +4 -4
  126. package/dist/cjs/helpers/utils.js +1 -1
  127. package/dist/cjs/helpers/utils.js.map +3 -3
  128. package/dist/cjs/icons/spinner.d.ts +1 -1
  129. package/dist/cjs/icons/spinner.js +1 -1
  130. package/dist/cjs/icons/spinner.js.map +2 -2
  131. package/dist/cjs/shared/Styles.d.ts +33 -0
  132. package/dist/cjs/shared/Styles.js +2 -0
  133. package/dist/cjs/shared/Styles.js.map +7 -0
  134. package/dist/cjs/stories/HeroBanner.stories.d.ts +23 -0
  135. package/dist/cjs/stories/HeroBanner.stories.js +10 -0
  136. package/dist/cjs/stories/HeroBanner.stories.js.map +7 -0
  137. package/dist/cjs/stories/MemberEquity.stories.d.ts +9 -0
  138. package/dist/cjs/stories/MemberEquity.stories.js +31 -0
  139. package/dist/cjs/stories/MemberEquity.stories.js.map +7 -0
  140. package/dist/cjs/stories/alert.stories.d.ts +27 -0
  141. package/dist/cjs/stories/alert.stories.js +2 -0
  142. package/dist/cjs/stories/alert.stories.js.map +7 -0
  143. package/dist/cjs/stories/avatar.stories.d.ts +40 -0
  144. package/dist/cjs/stories/avatar.stories.js +2 -0
  145. package/dist/cjs/stories/avatar.stories.js.map +7 -0
  146. package/dist/cjs/stories/badge.stories.d.ts +2 -12
  147. package/dist/cjs/stories/badge.stories.js +1 -1
  148. package/dist/cjs/stories/badge.stories.js.map +2 -2
  149. package/dist/cjs/stories/brandEquity.stories.d.ts +16 -0
  150. package/dist/cjs/stories/brandEquity.stories.js +2 -0
  151. package/dist/cjs/stories/brandEquity.stories.js.map +7 -0
  152. package/dist/cjs/stories/button.stories.d.ts +14 -0
  153. package/dist/cjs/stories/button.stories.js +1 -1
  154. package/dist/cjs/stories/button.stories.js.map +3 -3
  155. package/dist/cjs/stories/card.stories.d.ts +27 -0
  156. package/dist/cjs/stories/card.stories.js +2 -0
  157. package/dist/cjs/stories/card.stories.js.map +7 -0
  158. package/dist/cjs/stories/carousel.stories.d.ts +62 -0
  159. package/dist/cjs/stories/carousel.stories.js +2 -0
  160. package/dist/cjs/stories/carousel.stories.js.map +7 -0
  161. package/dist/cjs/stories/category.stories.d.ts +13 -0
  162. package/dist/cjs/stories/category.stories.js +2 -0
  163. package/dist/cjs/stories/category.stories.js.map +7 -0
  164. package/dist/cjs/stories/checkbox.stories.d.ts +2 -2
  165. package/dist/cjs/stories/checkbox.stories.js +1 -1
  166. package/dist/cjs/stories/checkbox.stories.js.map +2 -2
  167. package/dist/cjs/stories/container.stories.d.ts +23 -0
  168. package/dist/cjs/stories/container.stories.js +15 -0
  169. package/dist/cjs/stories/container.stories.js.map +7 -0
  170. package/dist/cjs/stories/dialog.stories.js +1 -1
  171. package/dist/cjs/stories/dialog.stories.js.map +2 -2
  172. package/dist/cjs/stories/drawer.stories.d.ts +20 -0
  173. package/dist/cjs/stories/drawer.stories.js +2 -0
  174. package/dist/cjs/stories/drawer.stories.js.map +7 -0
  175. package/dist/cjs/stories/drop-down.stories.d.ts +16 -0
  176. package/dist/cjs/stories/drop-down.stories.js +2 -0
  177. package/dist/cjs/stories/drop-down.stories.js.map +7 -0
  178. package/dist/cjs/stories/evaluate.stories.d.ts +13 -0
  179. package/dist/cjs/stories/evaluate.stories.js +2 -0
  180. package/dist/cjs/stories/evaluate.stories.js.map +7 -0
  181. package/dist/cjs/stories/grid.stories.d.ts +22 -0
  182. package/dist/cjs/stories/grid.stories.js +13 -0
  183. package/dist/cjs/stories/grid.stories.js.map +7 -0
  184. package/dist/cjs/stories/heading.stories.d.ts +4 -4
  185. package/dist/cjs/stories/heading.stories.js +1 -1
  186. package/dist/cjs/stories/heading.stories.js.map +2 -2
  187. package/dist/cjs/stories/input-number.stories.d.ts +39 -0
  188. package/dist/cjs/stories/input-number.stories.js +2 -0
  189. package/dist/cjs/stories/input-number.stories.js.map +7 -0
  190. package/dist/cjs/stories/input.stories.js +1 -1
  191. package/dist/cjs/stories/input.stories.js.map +2 -2
  192. package/dist/cjs/stories/link.stories.d.ts +82 -0
  193. package/dist/cjs/stories/link.stories.js +2 -0
  194. package/dist/cjs/stories/link.stories.js.map +7 -0
  195. package/dist/cjs/stories/marquee.stories.d.ts +49 -0
  196. package/dist/cjs/stories/marquee.stories.js +2 -0
  197. package/dist/cjs/stories/marquee.stories.js.map +7 -0
  198. package/dist/cjs/stories/picture.stories.d.ts +1 -1
  199. package/dist/cjs/stories/picture.stories.js +2 -2
  200. package/dist/cjs/stories/picture.stories.js.map +2 -2
  201. package/dist/cjs/stories/popover.stories.d.ts +1 -1
  202. package/dist/cjs/stories/popover.stories.js +1 -1
  203. package/dist/cjs/stories/popover.stories.js.map +2 -2
  204. package/dist/cjs/stories/radio.stories.js +1 -1
  205. package/dist/cjs/stories/radio.stories.js.map +2 -2
  206. package/dist/cjs/stories/shelf.stories.d.ts +15 -0
  207. package/dist/cjs/stories/shelf.stories.js +2 -0
  208. package/dist/cjs/stories/shelf.stories.js.map +7 -0
  209. package/dist/cjs/stories/shelfDisplay.stories.d.ts +13 -0
  210. package/dist/cjs/stories/shelfDisplay.stories.js +2 -0
  211. package/dist/cjs/stories/shelfDisplay.stories.js.map +7 -0
  212. package/dist/cjs/stories/skeleton.stories.js +1 -1
  213. package/dist/cjs/stories/skeleton.stories.js.map +2 -2
  214. package/dist/cjs/stories/slogan.stories.d.ts +21 -0
  215. package/dist/cjs/stories/slogan.stories.js +26 -0
  216. package/dist/cjs/stories/slogan.stories.js.map +7 -0
  217. package/dist/cjs/stories/tabs.stories.d.ts +360 -0
  218. package/dist/cjs/stories/tabs.stories.js +2 -0
  219. package/dist/cjs/stories/tabs.stories.js.map +7 -0
  220. package/dist/cjs/stories/text.stories.d.ts +5 -5
  221. package/dist/cjs/stories/text.stories.js +1 -1
  222. package/dist/cjs/stories/text.stories.js.map +3 -3
  223. package/dist/cjs/types/index.d.ts +0 -0
  224. package/dist/cjs/types/index.js +2 -0
  225. package/dist/cjs/types/index.js.map +7 -0
  226. package/dist/cjs/types/props.d.ts +5 -0
  227. package/dist/cjs/types/props.js +2 -0
  228. package/dist/cjs/types/props.js.map +7 -0
  229. package/dist/esm/biz-components/BrandEquity/BrandEquity.d.ts +19 -0
  230. package/dist/esm/biz-components/BrandEquity/BrandEquity.js +2 -0
  231. package/dist/esm/biz-components/BrandEquity/BrandEquity.js.map +7 -0
  232. package/dist/esm/biz-components/BrandEquity/index.d.ts +1 -0
  233. package/dist/esm/biz-components/BrandEquity/index.js +2 -0
  234. package/dist/esm/biz-components/BrandEquity/index.js.map +7 -0
  235. package/dist/esm/biz-components/Category/index.d.ts +16 -0
  236. package/dist/esm/biz-components/Category/index.js +2 -0
  237. package/dist/esm/biz-components/Category/index.js.map +7 -0
  238. package/dist/esm/biz-components/Evaluate/index.d.ts +19 -0
  239. package/dist/esm/biz-components/Evaluate/index.js +2 -0
  240. package/dist/esm/biz-components/Evaluate/index.js.map +7 -0
  241. package/dist/esm/biz-components/HeroBanner/HeroBanner.d.ts +7 -0
  242. package/dist/esm/biz-components/HeroBanner/HeroBanner.js +2 -0
  243. package/dist/esm/biz-components/HeroBanner/HeroBanner.js.map +7 -0
  244. package/dist/esm/biz-components/HeroBanner/index.d.ts +1 -0
  245. package/dist/esm/biz-components/HeroBanner/index.js +2 -0
  246. package/dist/esm/biz-components/HeroBanner/index.js.map +7 -0
  247. package/dist/esm/biz-components/HeroBanner/types.d.ts +26 -0
  248. package/dist/esm/biz-components/HeroBanner/types.js +1 -0
  249. package/dist/esm/biz-components/HeroBanner/types.js.map +7 -0
  250. package/dist/esm/biz-components/Marquee/index.d.ts +23 -0
  251. package/dist/esm/biz-components/Marquee/index.js +2 -0
  252. package/dist/esm/biz-components/Marquee/index.js.map +7 -0
  253. package/dist/esm/biz-components/MemberEquity/index.d.ts +6 -0
  254. package/dist/esm/biz-components/MemberEquity/index.js +40 -0
  255. package/dist/esm/biz-components/MemberEquity/index.js.map +7 -0
  256. package/dist/esm/biz-components/MemberEquity/types.d.ts +25 -0
  257. package/dist/esm/biz-components/MemberEquity/types.js +1 -0
  258. package/dist/esm/biz-components/MemberEquity/types.js.map +7 -0
  259. package/dist/esm/biz-components/Shelf/Shelf.d.ts +6 -0
  260. package/dist/esm/biz-components/Shelf/Shelf.js +2 -0
  261. package/dist/esm/biz-components/Shelf/Shelf.js.map +7 -0
  262. package/dist/esm/biz-components/Shelf/index.d.ts +1 -0
  263. package/dist/esm/biz-components/Shelf/index.js +2 -0
  264. package/dist/esm/biz-components/Shelf/index.js.map +7 -0
  265. package/dist/esm/biz-components/Shelf/types.d.ts +6 -0
  266. package/dist/esm/biz-components/Shelf/types.js +1 -0
  267. package/dist/esm/biz-components/Shelf/types.js.map +7 -0
  268. package/dist/esm/biz-components/ShelfDisplay/index.d.ts +38 -0
  269. package/dist/esm/biz-components/ShelfDisplay/index.js +10 -0
  270. package/dist/esm/biz-components/ShelfDisplay/index.js.map +7 -0
  271. package/dist/esm/biz-components/Slogan/index.d.ts +7 -0
  272. package/dist/esm/biz-components/Slogan/index.js +2 -0
  273. package/dist/esm/biz-components/Slogan/index.js.map +7 -0
  274. package/dist/esm/biz-components/Slogan/types.d.ts +24 -0
  275. package/dist/esm/biz-components/Slogan/types.js +1 -0
  276. package/dist/esm/biz-components/Slogan/types.js.map +7 -0
  277. package/dist/esm/biz-components/index.d.ts +9 -0
  278. package/dist/esm/biz-components/index.js +2 -0
  279. package/dist/esm/biz-components/index.js.map +7 -0
  280. package/dist/esm/components/alert.d.ts +17 -0
  281. package/dist/esm/components/alert.js +2 -0
  282. package/dist/esm/components/alert.js.map +7 -0
  283. package/dist/esm/components/avatar.d.ts +26 -0
  284. package/dist/esm/components/avatar.js +2 -0
  285. package/dist/esm/components/avatar.js.map +7 -0
  286. package/dist/esm/components/badge.d.ts +2 -2
  287. package/dist/esm/components/badge.js +1 -1
  288. package/dist/esm/components/badge.js.map +3 -3
  289. package/dist/esm/components/button.d.ts +2 -1
  290. package/dist/esm/components/button.js +1 -1
  291. package/dist/esm/components/button.js.map +3 -3
  292. package/dist/esm/components/card.d.ts +8 -0
  293. package/dist/esm/components/card.js +2 -0
  294. package/dist/esm/components/card.js.map +7 -0
  295. package/dist/esm/components/carousel.d.ts +28 -0
  296. package/dist/esm/components/carousel.js +2 -0
  297. package/dist/esm/components/carousel.js.map +7 -0
  298. package/dist/esm/components/checkbox.js +1 -1
  299. package/dist/esm/components/checkbox.js.map +2 -2
  300. package/dist/esm/components/color.d.ts +13 -0
  301. package/dist/esm/components/color.js +2 -0
  302. package/dist/esm/components/color.js.map +7 -0
  303. package/dist/esm/components/container.d.ts +13 -0
  304. package/dist/esm/components/container.js +2 -0
  305. package/dist/esm/components/container.js.map +7 -0
  306. package/dist/esm/components/dialog.d.ts +2 -2
  307. package/dist/esm/components/dialog.js +1 -1
  308. package/dist/esm/components/dialog.js.map +2 -2
  309. package/dist/esm/components/drawer.d.ts +13 -0
  310. package/dist/esm/components/drawer.js +2 -0
  311. package/dist/esm/components/drawer.js.map +7 -0
  312. package/dist/esm/components/drop-down.d.ts +27 -0
  313. package/dist/esm/components/drop-down.js +2 -0
  314. package/dist/esm/components/drop-down.js.map +7 -0
  315. package/dist/esm/components/gird.d.ts +17 -0
  316. package/dist/esm/components/gird.js +2 -0
  317. package/dist/esm/components/gird.js.map +7 -0
  318. package/dist/esm/components/heading.d.ts +3 -3
  319. package/dist/esm/components/heading.js +1 -1
  320. package/dist/esm/components/heading.js.map +3 -3
  321. package/dist/esm/components/index.d.ts +12 -1
  322. package/dist/esm/components/index.js +1 -1
  323. package/dist/esm/components/index.js.map +2 -2
  324. package/dist/esm/components/input-number.d.ts +78 -0
  325. package/dist/esm/components/input-number.js +2 -0
  326. package/dist/esm/components/input-number.js.map +7 -0
  327. package/dist/esm/components/input.js +1 -1
  328. package/dist/esm/components/input.js.map +2 -2
  329. package/dist/esm/components/link.d.ts +47 -0
  330. package/dist/esm/components/link.js +2 -0
  331. package/dist/esm/components/link.js.map +7 -0
  332. package/dist/esm/components/picture.d.ts +1 -1
  333. package/dist/esm/components/picture.js +1 -1
  334. package/dist/esm/components/picture.js.map +3 -3
  335. package/dist/esm/components/popover.js +1 -1
  336. package/dist/esm/components/popover.js.map +2 -2
  337. package/dist/esm/components/radio.js +1 -1
  338. package/dist/esm/components/radio.js.map +2 -2
  339. package/dist/esm/components/skeleton.js +4 -4
  340. package/dist/esm/components/skeleton.js.map +1 -1
  341. package/dist/esm/components/tabs.d.ts +9 -0
  342. package/dist/esm/components/tabs.js +2 -0
  343. package/dist/esm/components/tabs.js.map +7 -0
  344. package/dist/esm/components/text.d.ts +3 -3
  345. package/dist/esm/components/text.js +1 -1
  346. package/dist/esm/components/text.js.map +3 -3
  347. package/dist/esm/components/theme.d.ts +2 -3
  348. package/dist/esm/components/theme.js +1 -1
  349. package/dist/esm/components/theme.js.map +2 -2
  350. package/dist/esm/helpers/constants.d.ts +0 -2
  351. package/dist/esm/helpers/constants.js +1 -1
  352. package/dist/esm/helpers/constants.js.map +3 -3
  353. package/dist/esm/helpers/utils.js +1 -1
  354. package/dist/esm/helpers/utils.js.map +3 -3
  355. package/dist/esm/icons/spinner.d.ts +1 -1
  356. package/dist/esm/icons/spinner.js +1 -1
  357. package/dist/esm/icons/spinner.js.map +2 -2
  358. package/dist/esm/shared/Styles.d.ts +33 -0
  359. package/dist/esm/shared/Styles.js +2 -0
  360. package/dist/esm/shared/Styles.js.map +7 -0
  361. package/dist/esm/stories/HeroBanner.stories.d.ts +23 -0
  362. package/dist/esm/stories/HeroBanner.stories.js +10 -0
  363. package/dist/esm/stories/HeroBanner.stories.js.map +7 -0
  364. package/dist/esm/stories/MemberEquity.stories.d.ts +9 -0
  365. package/dist/esm/stories/MemberEquity.stories.js +31 -0
  366. package/dist/esm/stories/MemberEquity.stories.js.map +7 -0
  367. package/dist/esm/stories/alert.stories.d.ts +27 -0
  368. package/dist/esm/stories/alert.stories.js +2 -0
  369. package/dist/esm/stories/alert.stories.js.map +7 -0
  370. package/dist/esm/stories/avatar.stories.d.ts +40 -0
  371. package/dist/esm/stories/avatar.stories.js +2 -0
  372. package/dist/esm/stories/avatar.stories.js.map +7 -0
  373. package/dist/esm/stories/badge.stories.d.ts +2 -12
  374. package/dist/esm/stories/badge.stories.js +1 -1
  375. package/dist/esm/stories/badge.stories.js.map +2 -2
  376. package/dist/esm/stories/brandEquity.stories.d.ts +16 -0
  377. package/dist/esm/stories/brandEquity.stories.js +2 -0
  378. package/dist/esm/stories/brandEquity.stories.js.map +7 -0
  379. package/dist/esm/stories/button.stories.d.ts +14 -0
  380. package/dist/esm/stories/button.stories.js +1 -1
  381. package/dist/esm/stories/button.stories.js.map +3 -3
  382. package/dist/esm/stories/card.stories.d.ts +27 -0
  383. package/dist/esm/stories/card.stories.js +2 -0
  384. package/dist/esm/stories/card.stories.js.map +7 -0
  385. package/dist/esm/stories/carousel.stories.d.ts +62 -0
  386. package/dist/esm/stories/carousel.stories.js +2 -0
  387. package/dist/esm/stories/carousel.stories.js.map +7 -0
  388. package/dist/esm/stories/category.stories.d.ts +13 -0
  389. package/dist/esm/stories/category.stories.js +2 -0
  390. package/dist/esm/stories/category.stories.js.map +7 -0
  391. package/dist/esm/stories/checkbox.stories.d.ts +2 -2
  392. package/dist/esm/stories/checkbox.stories.js +1 -1
  393. package/dist/esm/stories/checkbox.stories.js.map +2 -2
  394. package/dist/esm/stories/container.stories.d.ts +23 -0
  395. package/dist/esm/stories/container.stories.js +15 -0
  396. package/dist/esm/stories/container.stories.js.map +7 -0
  397. package/dist/esm/stories/dialog.stories.js +1 -1
  398. package/dist/esm/stories/dialog.stories.js.map +2 -2
  399. package/dist/esm/stories/drawer.stories.d.ts +20 -0
  400. package/dist/esm/stories/drawer.stories.js +2 -0
  401. package/dist/esm/stories/drawer.stories.js.map +7 -0
  402. package/dist/esm/stories/drop-down.stories.d.ts +16 -0
  403. package/dist/esm/stories/drop-down.stories.js +2 -0
  404. package/dist/esm/stories/drop-down.stories.js.map +7 -0
  405. package/dist/esm/stories/evaluate.stories.d.ts +13 -0
  406. package/dist/esm/stories/evaluate.stories.js +2 -0
  407. package/dist/esm/stories/evaluate.stories.js.map +7 -0
  408. package/dist/esm/stories/grid.stories.d.ts +22 -0
  409. package/dist/esm/stories/grid.stories.js +13 -0
  410. package/dist/esm/stories/grid.stories.js.map +7 -0
  411. package/dist/esm/stories/heading.stories.d.ts +4 -4
  412. package/dist/esm/stories/heading.stories.js +1 -1
  413. package/dist/esm/stories/heading.stories.js.map +2 -2
  414. package/dist/esm/stories/input-number.stories.d.ts +39 -0
  415. package/dist/esm/stories/input-number.stories.js +2 -0
  416. package/dist/esm/stories/input-number.stories.js.map +7 -0
  417. package/dist/esm/stories/input.stories.js +1 -1
  418. package/dist/esm/stories/input.stories.js.map +2 -2
  419. package/dist/esm/stories/link.stories.d.ts +82 -0
  420. package/dist/esm/stories/link.stories.js +2 -0
  421. package/dist/esm/stories/link.stories.js.map +7 -0
  422. package/dist/esm/stories/marquee.stories.d.ts +49 -0
  423. package/dist/esm/stories/marquee.stories.js +2 -0
  424. package/dist/esm/stories/marquee.stories.js.map +7 -0
  425. package/dist/esm/stories/picture.stories.d.ts +1 -1
  426. package/dist/esm/stories/picture.stories.js +2 -2
  427. package/dist/esm/stories/picture.stories.js.map +2 -2
  428. package/dist/esm/stories/popover.stories.d.ts +1 -1
  429. package/dist/esm/stories/popover.stories.js +1 -1
  430. package/dist/esm/stories/popover.stories.js.map +2 -2
  431. package/dist/esm/stories/radio.stories.js +1 -1
  432. package/dist/esm/stories/radio.stories.js.map +2 -2
  433. package/dist/esm/stories/shelf.stories.d.ts +15 -0
  434. package/dist/esm/stories/shelf.stories.js +2 -0
  435. package/dist/esm/stories/shelf.stories.js.map +7 -0
  436. package/dist/esm/stories/shelfDisplay.stories.d.ts +13 -0
  437. package/dist/esm/stories/shelfDisplay.stories.js +2 -0
  438. package/dist/esm/stories/shelfDisplay.stories.js.map +7 -0
  439. package/dist/esm/stories/skeleton.stories.js +1 -1
  440. package/dist/esm/stories/skeleton.stories.js.map +2 -2
  441. package/dist/esm/stories/slogan.stories.d.ts +21 -0
  442. package/dist/esm/stories/slogan.stories.js +26 -0
  443. package/dist/esm/stories/slogan.stories.js.map +7 -0
  444. package/dist/esm/stories/tabs.stories.d.ts +360 -0
  445. package/dist/esm/stories/tabs.stories.js +2 -0
  446. package/dist/esm/stories/tabs.stories.js.map +7 -0
  447. package/dist/esm/stories/text.stories.d.ts +5 -5
  448. package/dist/esm/stories/text.stories.js +2 -2
  449. package/dist/esm/stories/text.stories.js.map +3 -3
  450. package/dist/esm/types/index.d.ts +0 -0
  451. package/dist/esm/types/index.js +2 -0
  452. package/dist/esm/types/index.js.map +7 -0
  453. package/dist/esm/types/props.d.ts +5 -0
  454. package/dist/esm/types/props.js +1 -0
  455. package/dist/esm/types/props.js.map +7 -0
  456. package/package.json +28 -3
  457. package/src/biz-components/BrandEquity/BrandEquity.tsx +77 -0
  458. package/src/biz-components/BrandEquity/index.ts +1 -0
  459. package/src/biz-components/Category/index.tsx +57 -0
  460. package/src/biz-components/Evaluate/index.tsx +85 -0
  461. package/src/biz-components/HeroBanner/HeroBanner.tsx +103 -0
  462. package/src/biz-components/HeroBanner/index.tsx +1 -0
  463. package/src/biz-components/HeroBanner/types.ts +28 -0
  464. package/src/biz-components/Marquee/index.tsx +79 -0
  465. package/src/biz-components/MemberEquity/index.tsx +114 -0
  466. package/src/biz-components/MemberEquity/types.ts +26 -0
  467. package/src/biz-components/Shelf/Shelf.tsx +22 -0
  468. package/src/biz-components/Shelf/index.ts +1 -0
  469. package/src/biz-components/Shelf/types.ts +6 -0
  470. package/src/biz-components/ShelfDisplay/index.tsx +142 -0
  471. package/src/biz-components/Slogan/index.tsx +53 -0
  472. package/src/biz-components/Slogan/types.ts +25 -0
  473. package/src/biz-components/index.ts +11 -0
  474. package/src/components/alert.tsx +124 -0
  475. package/src/components/avatar.tsx +126 -0
  476. package/src/components/badge.tsx +9 -11
  477. package/src/components/button.tsx +41 -25
  478. package/src/components/card.tsx +51 -0
  479. package/src/components/carousel.tsx +352 -0
  480. package/src/components/checkbox.tsx +5 -7
  481. package/src/components/color.tsx +77 -0
  482. package/src/components/container.tsx +28 -0
  483. package/src/components/dialog.tsx +9 -12
  484. package/src/components/drawer.tsx +115 -0
  485. package/src/components/drop-down.tsx +182 -0
  486. package/src/components/gird.tsx +90 -0
  487. package/src/components/heading.tsx +24 -29
  488. package/src/components/index.ts +12 -5
  489. package/src/components/input-number.tsx +216 -0
  490. package/src/components/input.tsx +9 -9
  491. package/src/components/link.tsx +99 -0
  492. package/src/components/picture.tsx +3 -2
  493. package/src/components/popover.tsx +1 -1
  494. package/src/components/radio.tsx +6 -6
  495. package/src/components/skeleton.tsx +3 -3
  496. package/src/components/tabs.tsx +78 -0
  497. package/src/components/text.tsx +24 -30
  498. package/src/components/theme.tsx +1 -2
  499. package/src/helpers/constants.ts +0 -3
  500. package/src/helpers/utils.ts +9 -1
  501. package/src/icons/spinner.tsx +1 -2
  502. package/src/shared/Styles.tsx +94 -0
  503. package/src/stories/HeroBanner.stories.tsx +86 -0
  504. package/src/stories/MemberEquity.stories.tsx +107 -0
  505. package/src/stories/alert.stories.tsx +41 -0
  506. package/src/stories/avatar.stories.tsx +83 -0
  507. package/src/stories/badge.stories.tsx +10 -14
  508. package/src/stories/brandEquity.stories.tsx +73 -0
  509. package/src/stories/button.stories.tsx +24 -3
  510. package/src/stories/card.stories.tsx +97 -0
  511. package/src/stories/carousel.stories.tsx +161 -0
  512. package/src/stories/category.stories.tsx +52 -0
  513. package/src/stories/checkbox.stories.tsx +9 -9
  514. package/src/stories/container.stories.tsx +97 -0
  515. package/src/stories/dialog.stories.tsx +8 -8
  516. package/src/stories/drawer.stories.tsx +88 -0
  517. package/src/stories/drop-down.stories.tsx +83 -0
  518. package/src/stories/evaluate.stories.tsx +53 -0
  519. package/src/stories/grid.stories.tsx +190 -0
  520. package/src/stories/heading.stories.tsx +6 -10
  521. package/src/stories/input-number.stories.tsx +52 -0
  522. package/src/stories/input.stories.tsx +2 -2
  523. package/src/stories/link.stories.tsx +142 -0
  524. package/src/stories/marquee.stories.tsx +102 -0
  525. package/src/stories/picture.stories.tsx +2 -2
  526. package/src/stories/popover.stories.tsx +2 -2
  527. package/src/stories/radio.stories.tsx +2 -2
  528. package/src/stories/shelf.stories.tsx +35 -0
  529. package/src/stories/shelfDisplay.stories.tsx +69 -0
  530. package/src/stories/skeleton.stories.tsx +7 -7
  531. package/src/stories/slogan.stories.tsx +99 -0
  532. package/src/stories/tabs.stories.tsx +179 -0
  533. package/src/stories/text.stories.tsx +18 -22
  534. package/src/styles/global.css +0 -199
  535. package/src/types/index.ts +0 -0
  536. package/src/types/props.ts +5 -0
  537. package/style.css +1092 -748
@@ -0,0 +1,216 @@
1
+ 'use client'
2
+ import { cn } from '../helpers/index.js'
3
+ import { Slot } from '@radix-ui/react-slot'
4
+ import { PlusIcon, MinusIcon } from '@radix-ui/react-icons'
5
+ import React, { useState, useEffect, forwardRef } from 'react'
6
+ import type { ChangeEvent, KeyboardEvent, FocusEvent } from 'react'
7
+ import { type VariantProps, cva } from 'class-variance-authority'
8
+ import type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js'
9
+
10
+ // 定义 InputNumber 的样式变体
11
+ const InputNumberVariants = cva('size-full border bg-transparent text-center text-base outline-none', {
12
+ variants: {
13
+ status: {
14
+ default: 'border-lines-1 group-hover:border-lines-2',
15
+ success: 'border-lines-3 group-hover:border-lines-3',
16
+ warning: 'border-lines-4 group-hover:border-lines-4',
17
+ error: 'border-lines-5 group-hover:border-lines-5',
18
+ },
19
+ disabled: {
20
+ true: 'border-lines-1 group-hover:border-lines-1 text-info-quaternary cursor-not-allowed',
21
+ },
22
+ },
23
+ })
24
+
25
+ type ColorType = 'default' | 'success' | 'warning' | 'error' | null
26
+
27
+ // 定义组件类型,继承 div 标签标准属性
28
+ type InputNumberElement = React.ElementRef<'div'>
29
+
30
+ type InputNumberProps = {
31
+ /** 定义子组件作为父组件的类型,详细使用方式请参考radix-ui */
32
+ asChild?: boolean
33
+ /** 类名*/
34
+ className?: string
35
+ /** 输入框下方提示文本,会根据不同的 status 呈现不同的样式*/
36
+ tips?: string
37
+ /** 文本框状态*/
38
+ status?: ColorType
39
+ /** 数字输入框的值 */
40
+ value?: number
41
+ /** 数字输入框的初始值 */
42
+ defaultValue?: number
43
+ /** 数值改变步数 */
44
+ step?: number
45
+ /** 最小值 */
46
+ min?: number
47
+ /** 最大值 */
48
+ max?: number
49
+ /** 是否禁用*/
50
+ disabled?: boolean
51
+ /** 是否只读*/
52
+ readonly?: boolean
53
+ /** 样式*/
54
+ style?: React.CSSProperties
55
+ /** 值变化时触发*/
56
+ onChange?: (value: number) => void
57
+ /** 失去焦点时触发*/
58
+ onBlur?: (value: number, e: FocusEvent) => void
59
+ /** 按下回车键时触发*/
60
+ onEnter?: (value: number, e: KeyboardEvent) => void
61
+ } & VariantProps<typeof InputNumberVariants> &
62
+ ComponentPropsWithout<'div', RemovedProps>
63
+
64
+ const InputNumber = forwardRef<InputNumberElement, InputNumberProps>(
65
+ (
66
+ {
67
+ value,
68
+ defaultValue = 0,
69
+ step = 1,
70
+ min = 0,
71
+ max,
72
+ tips,
73
+ style,
74
+ children,
75
+ asChild = false,
76
+ disabled = false,
77
+ readonly = false,
78
+ status = 'default',
79
+ className,
80
+ onChange,
81
+ onBlur,
82
+ onEnter,
83
+ },
84
+ ref
85
+ ) => {
86
+ const [inputValue, setInputValue] = useState<number | string>(defaultValue)
87
+
88
+ const Comp = asChild ? Slot : 'div'
89
+
90
+ const baseClassName = cn('border-lines-1 flex size-12 items-center justify-center border text-base', {
91
+ 'group-hover:border-lines-2': !disabled,
92
+ 'text-info-quaternary cursor-not-allowed': disabled,
93
+ })
94
+
95
+ const textColor = (type: ColorType, flag: boolean) => {
96
+ if (flag) return 'text-lines-1'
97
+ return {
98
+ default: 'text-lines-1',
99
+ success: 'text-lines-3',
100
+ warning: 'text-lines-4',
101
+ error: 'text-lines-5',
102
+ }[type || 'default']
103
+ }
104
+
105
+ const isValue = (params: string) => {
106
+ return params === '' || /^[0-9]+$/.test(params)
107
+ }
108
+
109
+ const handleInputChange = (e: ChangeEvent<HTMLInputElement>) => {
110
+ if (disabled || readonly) return
111
+ const value = e.target.value
112
+ // 允许空字符串,或仅包含整数的字符串
113
+ if (isValue(value)) {
114
+ setInputValue(value)
115
+ if (value !== '') {
116
+ let newValue = Number(value)
117
+ if (max !== undefined && newValue > max) {
118
+ newValue = max
119
+ }
120
+ if (min !== undefined && newValue < min) {
121
+ newValue = min
122
+ }
123
+ onChange?.(newValue)
124
+ }
125
+ }
126
+ }
127
+
128
+ const handleBlur = (e: FocusEvent<HTMLInputElement>) => {
129
+ if (disabled || readonly) return
130
+ if (inputValue === '' || isNaN(Number(inputValue))) {
131
+ const newValue = min !== undefined ? min : 0
132
+ setInputValue(newValue)
133
+ onBlur?.(newValue, e)
134
+ } else {
135
+ const newValue = Number(inputValue)
136
+ setInputValue(newValue)
137
+ onBlur?.(newValue, e)
138
+ }
139
+ }
140
+
141
+ const increment = () => {
142
+ if (disabled || readonly) return
143
+ let newValue = Number(inputValue) + (step ? Math.ceil(Number(step)) : 1)
144
+ if (max !== undefined && newValue > max) {
145
+ newValue = max
146
+ }
147
+ setInputValue(newValue)
148
+ onChange?.(newValue)
149
+ }
150
+
151
+ const decrement = () => {
152
+ if (disabled || readonly) return
153
+ let newValue = Number(inputValue) - (step ? Math.ceil(Number(step)) : 1)
154
+ if (min !== undefined && newValue < min) {
155
+ newValue = min
156
+ }
157
+ setInputValue(newValue)
158
+ onChange?.(newValue)
159
+ }
160
+
161
+ const handleKeyDown = (e: any) => {
162
+ if (disabled || readonly) return
163
+ if (e.key === 'Enter') {
164
+ const initalValue = e.target?.value
165
+ onEnter?.(initalValue, e)
166
+ }
167
+ }
168
+
169
+ useEffect(() => {
170
+ setInputValue(value || 0)
171
+ }, [value])
172
+
173
+ return (
174
+ <Comp
175
+ ref={ref}
176
+ {...(style ? { style: style } : null)}
177
+ className={cn({ 'group flex items-center': !asChild }, className)}
178
+ >
179
+ {asChild ? (
180
+ children
181
+ ) : (
182
+ <>
183
+ <button onClick={increment} className={baseClassName}>
184
+ <PlusIcon />
185
+ </button>
186
+ <div className="relative mx-1.5 h-[52px] w-[105px]">
187
+ <input
188
+ type="text"
189
+ value={inputValue}
190
+ disabled={disabled}
191
+ readOnly={readonly}
192
+ onBlur={handleBlur}
193
+ onKeyDown={handleKeyDown}
194
+ onChange={handleInputChange}
195
+ className={cn(InputNumberVariants({ status, disabled }))}
196
+ />
197
+ {tips ? (
198
+ <span className={cn(textColor(status, disabled), 'absolute -bottom-4 left-0 w-full truncate text-xs')}>
199
+ {tips}
200
+ </span>
201
+ ) : null}
202
+ </div>
203
+ <button onClick={decrement} className={baseClassName}>
204
+ <MinusIcon />
205
+ </button>
206
+ </>
207
+ )}
208
+ </Comp>
209
+ )
210
+ }
211
+ )
212
+
213
+ InputNumber.displayName = 'InputNumber'
214
+
215
+ export default InputNumber
216
+ export type { InputNumberProps }
@@ -6,13 +6,13 @@ import type { ComponentPropsWithout, RemovedProps } from '../helpers/component-p
6
6
  import { cva, type VariantProps } from 'class-variance-authority'
7
7
 
8
8
  const inputVariants = cva(
9
- 'ai-border-input ai-w-full ai-bg-background focus-visible:ai-outline-none ai-flex ai-flex-row ai-items-center ai-overflow-hidden ai-rounded-md ai-border',
9
+ 'border-input w-full bg-background focus-visible:outline-none flex flex-row items-center overflow-hidden rounded-md border',
10
10
  {
11
11
  variants: {
12
12
  size: {
13
- sm: 'ai-h-8 ai-text-sm',
14
- base: 'ai-h-10',
15
- lg: 'ai-h-12 ai-text-lg',
13
+ sm: 'h-8 text-sm',
14
+ base: 'h-10',
15
+ lg: 'h-12 text-lg',
16
16
  },
17
17
  },
18
18
  defaultVariants: {
@@ -43,9 +43,9 @@ const InputSlot = React.forwardRef<InputSlotElement, InputSlotProps>((props, for
43
43
  <div
44
44
  ref={forwardedRef}
45
45
  {...slotProps}
46
- className={cn('ai-flex ai-h-full ai-items-center', className, {
47
- '-ai-order-1': side === 'left',
48
- 'ai-order-2': side === 'right',
46
+ className={cn('flex h-full items-center', className, {
47
+ '-order-1': side === 'left',
48
+ 'order-2': side === 'right',
49
49
  })}
50
50
  >
51
51
  {children}
@@ -56,14 +56,14 @@ const InputSlot = React.forwardRef<InputSlotElement, InputSlotProps>((props, for
56
56
  const Input = React.forwardRef<React.ElementRef<'input'>, InputProps>(
57
57
  ({ className, type, size, children, ...props }, ref) => {
58
58
  if (!React.isValidElement(children)) {
59
- return <input type={type} className={cn(inputVariants({ size }), 'ai-px-3', className)} ref={ref} {...props} />
59
+ return <input type={type} className={cn(inputVariants({ size }), 'px-3', className)} ref={ref} {...props} />
60
60
  }
61
61
  return (
62
62
  <div className={cn(inputVariants({ size }), className)}>
63
63
  <input
64
64
  type={type}
65
65
  className={cn(
66
- 'placeholder:ai-text-muted-foreground ai-flex ai-size-full file:ai-border-0 file:ai-bg-transparent file:ai-font-medium focus-visible:ai-outline-none disabled:ai-cursor-not-allowed disabled:ai-opacity-50 ai-px-3'
66
+ 'placeholder:text-muted-foreground flex size-full file:border-0 file:bg-transparent file:font-medium focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 px-3'
67
67
  )}
68
68
  ref={ref}
69
69
  {...props}
@@ -0,0 +1,99 @@
1
+ import React from 'react'
2
+ import type { ReactNode } from 'react'
3
+ import { Slot } from '@radix-ui/react-slot'
4
+ import { cn } from '../helpers/index.js'
5
+ import { type VariantProps, cva } from 'class-variance-authority'
6
+ import type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js'
7
+
8
+ // 定义 link 的样式变体
9
+ const linkVariants = cva('tracking transition-colors', {
10
+ variants: {
11
+ size: {
12
+ small: 'text-xs', // 小
13
+ medium: 'text-sm', // 中
14
+ large: 'text-base', // 大
15
+ },
16
+ underline: {
17
+ none: 'no-underline', // 不展示
18
+ hover: 'hover:underline', // hover展示下划线
19
+ always: 'underline', // 永久展示
20
+ },
21
+ hoverColor: {
22
+ none: 'text-current', // 鼠标进入无变化
23
+ hover: 'hover:text-brand-0', // 鼠标进入改变字体颜色
24
+ },
25
+ },
26
+ })
27
+ // 定义组件类型,继承 a 标签标准属性
28
+ type LinkElement = React.ElementRef<'a'>
29
+ type LinkProps = {
30
+ /** 定义子组件作为父组件的类型,详细使用方式请参考radix-ui */
31
+ asChild?: boolean
32
+ /** 类名*/
33
+ className?: string
34
+ /** 禁用链接 */
35
+ disabled?: boolean
36
+ /** 后置图标*/
37
+ suffixIcon?: ReactNode
38
+ /** 跳转链接*/
39
+ href?: string
40
+ /** 样式*/
41
+ style?: React.CSSProperties
42
+ /** 点击事件,禁用状态无法触发*/
43
+ onClick?: Function
44
+ } & VariantProps<typeof linkVariants> &
45
+ ComponentPropsWithout<'a', RemovedProps>
46
+
47
+ const Link = React.forwardRef<LinkElement, LinkProps>(
48
+ (
49
+ {
50
+ children,
51
+ size = 'small',
52
+ hoverColor,
53
+ className,
54
+ asChild = false,
55
+ href,
56
+ style,
57
+ underline,
58
+ disabled = false,
59
+ suffixIcon,
60
+ onClick,
61
+ ...props // 这里会包含 href、target、rel 等标准 anchor 属性
62
+ }: LinkProps,
63
+ forwardedRef
64
+ ) => {
65
+ const Comp = asChild ? Slot : 'a'
66
+
67
+ const handleClick = (event: React.MouseEvent<HTMLAnchorElement>) => {
68
+ !disabled && onClick?.(event)
69
+ if (disabled || !href) {
70
+ event.preventDefault()
71
+ return
72
+ }
73
+ }
74
+
75
+ return (
76
+ <Comp
77
+ ref={forwardedRef}
78
+ onClick={handleClick}
79
+ href={disabled ? undefined : href}
80
+ className={cn(linkVariants({ size, underline, hoverColor }), className, {
81
+ 'flex items-center': suffixIcon,
82
+ 'cursor-pointer': !disabled,
83
+ 'text-info-quaternary cursor-not-allowed': disabled,
84
+ })}
85
+ {...(style ? { style: style } : null)}
86
+ {...props}
87
+ >
88
+ <>
89
+ {children}
90
+ <span className="svg">{suffixIcon}</span>
91
+ </>
92
+ </Comp>
93
+ )
94
+ }
95
+ )
96
+ Link.displayName = 'Link'
97
+
98
+ export default Link
99
+ export type { LinkProps }
@@ -27,6 +27,7 @@ const Picture = ({
27
27
  source = '',
28
28
  quality = 2,
29
29
  deviceSizes = [375, 767, 1023, 1279, 1439, 1539, 1919],
30
+ className,
30
31
  ...rest
31
32
  }: PictureProps) => {
32
33
  const imgSrcSetsize = useCallback(({ src, width }: { src: string; width: number }) => {
@@ -85,12 +86,12 @@ const Picture = ({
85
86
 
86
87
  const img = imgSrcSetsize({ src: srcArr[0][0], width: 1920 * quality })
87
88
 
88
- sourceList.push(<img key="default" src={img} className={`ai-w-full ${imgClassName}`} {...rest} />)
89
+ sourceList.push(<img key="default" src={img} className={`w-full ${imgClassName}`} {...rest} />)
89
90
  return sourceList
90
91
  }, [deviceSizes, imgClassName, imgSrcSetsize, quality, rest, source, sourceSrcSet])
91
92
 
92
93
  return (
93
- <picture className={`ai-block ai-overflow-hidden ${rest.className}`}>
94
+ <picture className={`block overflow-hidden ${className}`}>
94
95
  {sourceList}
95
96
  {rest.children}
96
97
  </picture>
@@ -19,7 +19,7 @@ const PopoverContent = React.forwardRef<
19
19
  align={align}
20
20
  sideOffset={sideOffset}
21
21
  className={cn(
22
- 'ai-bg-popover ai-text-popover-foreground data-[state=open]:ai-animate-in data-[state=closed]:ai-animate-out data-[state=closed]:ai-fade-out-0 data-[state=open]:ai-fade-in-0 data-[state=closed]:ai-zoom-out-95 data-[state=open]:ai-zoom-in-95 data-[side=bottom]:ai-slide-in-from-top-2 data-[side=left]:ai-slide-in-from-right-2 data-[side=right]:ai-slide-in-from-left-2 data-[side=top]:ai-slide-in-from-bottom-2 ai-z-50 ai-w-72 ai-rounded-md ai-border ai-p-4 ai-shadow-md ai-outline-none',
22
+ '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',
23
23
  className
24
24
  )}
25
25
  {...props}
@@ -12,13 +12,13 @@ const RadioContext = React.createContext<{ size?: 'sm' | 'base' | 'lg' }>({
12
12
  })
13
13
 
14
14
  const radioGroupVariants = cva(
15
- 'ai-border-primary ai-text-primary ai-ring-offset-background focus-visible:ai-ring-ring ai-aspect-square ai-rounded-full ai-border focus:ai-outline-none focus-visible:ai-ring-2 focus-visible:ai-ring-offset-2 disabled:ai-cursor-not-allowed disabled:ai-opacity-50 data-[state=checked]:ai-bg-primary data-[state=checked]:ai-text-primary-foreground',
15
+ 'border-primary text-primary ring-offset-background focus-visible:ring-ring aspect-square rounded-full border focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground',
16
16
  {
17
17
  variants: {
18
18
  size: {
19
- sm: 'ai-size-[14px]',
20
- base: 'ai-size-4',
21
- lg: 'ai-size-5',
19
+ sm: 'size-[14px]',
20
+ base: 'size-4',
21
+ lg: 'size-5',
22
22
  },
23
23
  },
24
24
  defaultVariants: {
@@ -62,7 +62,7 @@ const RadioGroupItem = React.forwardRef<React.ElementRef<typeof RadioGroupPrimit
62
62
  )}
63
63
  {...props}
64
64
  >
65
- <RadioGroupPrimitive.Indicator className="ai-flex ai-items-center ai-justify-center ai-text-current ai-w-full ai-h-full">
65
+ <RadioGroupPrimitive.Indicator className="flex items-center justify-center text-current w-full h-full">
66
66
  <CheckIcon />
67
67
  </RadioGroupPrimitive.Indicator>
68
68
  </RadioGroupPrimitive.Item>
@@ -70,7 +70,7 @@ const RadioGroupItem = React.forwardRef<React.ElementRef<typeof RadioGroupPrimit
70
70
 
71
71
  if (children) {
72
72
  return (
73
- <Text as="label" className={cn('ai-flex ai-items-center ai-gap-1', className)}>
73
+ <Text as="label" className={cn('flex items-center gap-1', className)}>
74
74
  {ItemRadio}
75
75
  {children}
76
76
  </Text>
@@ -20,9 +20,9 @@ const Skeleton = React.forwardRef<SkeletonElement, SkeletonProps>((props, forwar
20
20
  <Tag
21
21
  ref={forwardedRef}
22
22
  className={cn(
23
- `ai-bg-skeleton ai-animate-pulse empty:ai-block data-[inline-skeleton=true]:ai-leading-[0] !ai-bg-none !ai-bg-clip-border !ai-border-none !ai-shadow-none
24
- !ai-text-transparent !ai-outline-none !ai-select-none !ai-cursor-default !ai-pointer-events-none !ai-decoration-clone
25
- after:!ai-invisible before:!ai-invisible [&>*]:!ai-invisible
23
+ `bg-skeleton animate-pulse empty:block data-[inline-skeleton=true]:leading-[0] !bg-none !bg-clip-border !border-none !shadow-none
24
+ !text-transparent !outline-none !select-none !cursor-default !pointer-events-none !decoration-clone
25
+ after:!invisible before:!invisible [&>*]:!invisible
26
26
  `,
27
27
  className
28
28
  )}
@@ -0,0 +1,78 @@
1
+ 'use client'
2
+
3
+ import * as React from 'react'
4
+ import { cn } from '../helpers/index.js'
5
+
6
+ import * as TabsPrimitive from '@radix-ui/react-tabs'
7
+ import { cva, type VariantProps } from 'class-variance-authority'
8
+
9
+ const TabListContext = React.createContext<{ algin?: 'left' | 'center' | 'right' }>({
10
+ algin: 'left',
11
+ })
12
+
13
+ const Tabs = React.forwardRef<
14
+ React.ElementRef<typeof TabsPrimitive.Root>,
15
+ React.ComponentPropsWithoutRef<typeof TabsPrimitive.Root> & { algin?: 'left' | 'center' | 'right' }
16
+ >(({ children, algin = 'left', ...props }, ref) => (
17
+ <TabsPrimitive.Root ref={ref} {...props}>
18
+ <TabListContext.Provider value={{ algin }}>{children}</TabListContext.Provider>
19
+ </TabsPrimitive.Root>
20
+ ))
21
+ Tabs.displayName = 'Tabs'
22
+
23
+ const tabsListVariants = cva('', {
24
+ variants: {
25
+ algin: {
26
+ left: 'justify-left',
27
+ center: 'justify-center',
28
+ right: 'justify-end',
29
+ },
30
+ },
31
+ defaultVariants: {
32
+ algin: 'left',
33
+ },
34
+ })
35
+
36
+ const TabsList = React.forwardRef<
37
+ React.ElementRef<typeof TabsPrimitive.List>,
38
+ React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>
39
+ >(({ className, ...props }, ref) => {
40
+ const { algin: alginFromParent } = React.useContext(TabListContext)
41
+ return (
42
+ <TabsPrimitive.List
43
+ ref={ref}
44
+ className={cn(
45
+ 'border-b-lines flex gap-[24px] overflow-x-auto border-b',
46
+ tabsListVariants({
47
+ algin: alginFromParent,
48
+ }),
49
+ className
50
+ )}
51
+ {...props}
52
+ />
53
+ )
54
+ })
55
+ TabsList.displayName = TabsPrimitive.List.displayName
56
+
57
+ const TabsTrigger = React.forwardRef<
58
+ React.ElementRef<typeof TabsPrimitive.Trigger>,
59
+ React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>
60
+ >(({ className, ...props }, ref) => (
61
+ <TabsPrimitive.Trigger
62
+ ref={ref}
63
+ className={cn(
64
+ 'border-b-brand-0 disabled:text-btn-secondary-disabled shrink-0 text-base font-bold data-[state=active]:border-b-[3px]',
65
+ className
66
+ )}
67
+ {...props}
68
+ />
69
+ ))
70
+ TabsTrigger.displayName = TabsPrimitive.Trigger.displayName
71
+
72
+ const TabsContent = React.forwardRef<
73
+ React.ElementRef<typeof TabsPrimitive.Content>,
74
+ React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>
75
+ >(({ className, ...props }, ref) => <TabsPrimitive.Content ref={ref} className={cn(className)} {...props} />)
76
+ TabsContent.displayName = TabsPrimitive.Content.displayName
77
+
78
+ export { Tabs, TabsList, TabsTrigger, TabsContent }
@@ -4,35 +4,29 @@ import { cn } from '../helpers/index.js'
4
4
  import { type VariantProps, cva } from 'class-variance-authority'
5
5
  import type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js'
6
6
 
7
- const textVariants = cva('', {
7
+ const textVariants = cva('tracking font-body', {
8
8
  variants: {
9
9
  size: {
10
- none: '',
11
- 1: 'ai-text-xs',
12
- 2: 'ai-text-sm',
13
- 3: 'ai-text-base',
14
- 4: 'ai-text-lg',
15
- 5: 'ai-text-xl',
16
- 6: 'ai-text-2xl',
17
- 7: 'ai-text-3xl',
18
- 8: 'ai-text-4xl',
19
- 9: 'ai-text-5xl',
10
+ 1: 'text-text-1 text-info-primary',
11
+ 2: 'text-text-2 text-info-primary',
12
+ 3: 'text-text-3 text-info-primary',
20
13
  },
21
- weights: {
22
- light: 'ai-font-light',
23
- normal: 'ai-font-normal',
24
- medium: 'ai-font-medium',
25
- bold: 'ai-font-bold',
14
+ weight: {
15
+ light: 'font-light',
16
+ normal: 'font-normal',
17
+ medium: 'font-medium',
18
+ semibold: 'font-semibold',
19
+ bold: 'font-bold',
26
20
  },
27
21
  align: {
28
- left: 'ai-text-left',
29
- center: 'ai-text-center',
30
- right: 'ai-text-right',
22
+ left: 'text-left',
23
+ center: 'text-center',
24
+ right: 'text-right',
31
25
  },
32
26
  },
33
27
  defaultVariants: {
34
- size: 'none',
35
- weights: 'normal',
28
+ size: 3,
29
+ weight: 'normal',
36
30
  },
37
31
  })
38
32
 
@@ -55,8 +49,8 @@ type TextProps = CommonTextProps & (TextSpanProps | TextDivProps | TextLabelProp
55
49
  const Text = React.forwardRef<TextElement, TextProps>((props, forwardedRef) => {
56
50
  const {
57
51
  children,
58
- size = 'none',
59
- weights,
52
+ size = 3,
53
+ weight,
60
54
  align,
61
55
  className,
62
56
  asChild,
@@ -68,16 +62,16 @@ const Text = React.forwardRef<TextElement, TextProps>((props, forwardedRef) => {
68
62
 
69
63
  const htmlContentProps = html
70
64
  ? {
71
- dangerouslySetInnerHTML: { __html: html },
72
- }
65
+ dangerouslySetInnerHTML: { __html: html },
66
+ }
73
67
  : null
74
68
 
75
69
  const styleProps = color
76
70
  ? {
77
- style: {
78
- color,
79
- },
80
- }
71
+ style: {
72
+ color,
73
+ },
74
+ }
81
75
  : null
82
76
 
83
77
  return (
@@ -87,7 +81,7 @@ const Text = React.forwardRef<TextElement, TextProps>((props, forwardedRef) => {
87
81
  className={cn(
88
82
  textVariants({
89
83
  size,
90
- weights,
84
+ weight,
91
85
  align,
92
86
  }),
93
87
  className
@@ -1,9 +1,8 @@
1
1
  'use client'
2
2
  import * as React from 'react'
3
- import type { Brand } from '../helpers/constants.js'
4
3
 
5
4
  interface ThemeProps {
6
- brand: Brand
5
+ brand: string
7
6
  children: React.ReactNode
8
7
  }
9
8
  /**
@@ -1,3 +0,0 @@
1
- export const ALL_BRANDS = ['anker', 'eufy', 'soundcore', 'nebula', 'ankerWork', 'ankerMake'] as const
2
-
3
- export type Brand = (typeof ALL_BRANDS)[number]
@@ -1,5 +1,13 @@
1
1
  import { clsx, type ClassValue } from 'clsx'
2
- import { twMerge } from 'tailwind-merge'
2
+ import { extendTailwindMerge } from 'tailwind-merge'
3
+
4
+ const twMerge = extendTailwindMerge({
5
+ extend: {
6
+ theme: {
7
+ borderRadius: ['btn'],
8
+ },
9
+ },
10
+ })
3
11
 
4
12
  export function cn(...inputs: ClassValue[]) {
5
13
  return twMerge(clsx(inputs))
@@ -12,11 +12,10 @@ const Spinner = (props: SpinnerProps) => {
12
12
  viewBox="0 0 20 20"
13
13
  xmlns="http://www.w3.org/2000/svg"
14
14
  width="1rem"
15
- className={cn('ai-animate-spin', props.className)}
15
+ className={cn('animate-spin', props.className)}
16
16
  >
17
17
  <path
18
18
  d="M1 10C1 14.9706 5.02944 19 10 19C14.9706 19 19 14.9706 19 10C19 5.02944 14.9706 1 10 1"
19
- stroke="white"
20
19
  strokeWidth="2"
21
20
  strokeLinecap="round"
22
21
  />