@rainbow-oh/yee-c 0.1.0 → 0.3.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 (419) hide show
  1. package/dist/cjs/Alert/alert.js +10 -4
  2. package/dist/cjs/Alert/style/index.less +3 -0
  3. package/dist/cjs/Anchor/anchor-item.js +6 -4
  4. package/dist/cjs/Anchor/anchor.js +38 -22
  5. package/dist/cjs/Anchor/demo/auto.d.ts +11 -0
  6. package/dist/cjs/Anchor/demo/auto.js +85 -0
  7. package/dist/cjs/Anchor/demo/basic.js +7 -1
  8. package/dist/cjs/Anchor/demo/controlled.js +42 -30
  9. package/dist/cjs/Anchor/interface.d.ts +2 -0
  10. package/dist/cjs/Anchor/style/index.less +2 -2
  11. package/dist/cjs/Button/button.d.ts +1 -1
  12. package/dist/cjs/Button/button.js +2 -2
  13. package/dist/cjs/Button/style/index.less +23 -8
  14. package/dist/cjs/Card/demo/collapsible.js +2 -1
  15. package/dist/cjs/Carousel/demo/arrows.js +1 -1
  16. package/dist/cjs/Carousel/demo/autoplay.js +1 -1
  17. package/dist/cjs/Carousel/demo/effect.js +1 -1
  18. package/dist/cjs/Carousel/demo/position.js +1 -1
  19. package/dist/cjs/Checkbox/checkbox-group.js +4 -1
  20. package/dist/cjs/Checkbox/demo/group.js +1 -0
  21. package/dist/cjs/Checkbox/interface.d.ts +5 -0
  22. package/dist/cjs/Checkbox/style/index.less +21 -1
  23. package/dist/cjs/Config-Provider/interface.d.ts +4 -0
  24. package/dist/cjs/Dropdown/demo/placement.js +2 -1
  25. package/dist/cjs/Dropdown/dropdown.js +3 -0
  26. package/dist/cjs/Dropdown/style/index.less +6 -0
  27. package/dist/cjs/Form/Field.js +64 -12
  28. package/dist/cjs/Form/Group.js +3 -2
  29. package/dist/cjs/Form/demo/form-table.js +1 -8
  30. package/dist/cjs/Form/demo/tooltip.d.ts +3 -0
  31. package/dist/cjs/Form/demo/tooltip.js +84 -0
  32. package/dist/cjs/Form/interface.d.ts +51 -2
  33. package/dist/cjs/Form/style/index.less +22 -7
  34. package/dist/cjs/Menu/style/index.less +2 -2
  35. package/dist/cjs/Popconfirm/popconfirm.js +1 -1
  36. package/dist/cjs/Popconfirm/style/index.less +6 -0
  37. package/dist/cjs/Popover/popover.js +1 -1
  38. package/dist/cjs/Popover/style/index.less +6 -0
  39. package/dist/cjs/Progress/progress.js +2 -2
  40. package/dist/cjs/Radio/demo/button.js +1 -0
  41. package/dist/cjs/Radio/interface.d.ts +4 -0
  42. package/dist/cjs/Radio/radio-group.js +28 -14
  43. package/dist/cjs/Radio/radio.js +3 -1
  44. package/dist/cjs/Radio/style/index.less +26 -5
  45. package/dist/cjs/Segmented/demo/basic.d.ts +3 -0
  46. package/dist/cjs/Segmented/demo/basic.js +51 -0
  47. package/dist/cjs/Segmented/demo/block.d.ts +3 -0
  48. package/dist/cjs/Segmented/demo/block.js +49 -0
  49. package/dist/cjs/Segmented/demo/disabled.d.ts +3 -0
  50. package/dist/cjs/Segmented/demo/disabled.js +47 -0
  51. package/dist/cjs/Segmented/demo/size.d.ts +3 -0
  52. package/dist/cjs/Segmented/demo/size.js +37 -0
  53. package/dist/cjs/Segmented/index.d.ts +3 -0
  54. package/dist/cjs/Segmented/index.js +36 -0
  55. package/dist/cjs/Segmented/interface.d.ts +82 -0
  56. package/dist/cjs/Segmented/interface.js +17 -0
  57. package/dist/cjs/Segmented/segmented.d.ts +5 -0
  58. package/dist/cjs/Segmented/segmented.js +177 -0
  59. package/dist/cjs/Segmented/style/index.less +104 -0
  60. package/dist/cjs/Select/option.js +3 -2
  61. package/dist/cjs/Select/options.js +9 -1
  62. package/dist/cjs/Select/select.js +1 -0
  63. package/dist/cjs/Skeleton/demo/basic.js +1 -1
  64. package/dist/cjs/Space/interface.d.ts +4 -0
  65. package/dist/cjs/Space/space.js +36 -16
  66. package/dist/cjs/Spin/spin.js +2 -1
  67. package/dist/cjs/Splitter/demo/basic.js +1 -1
  68. package/dist/cjs/Splitter/demo/vertical.js +23 -1
  69. package/dist/cjs/Splitter/index.d.ts +1 -1
  70. package/dist/cjs/Splitter/interface.d.ts +9 -3
  71. package/dist/cjs/Splitter/splitter-handler.d.ts +1 -1
  72. package/dist/cjs/Splitter/splitter-handler.js +2 -1
  73. package/dist/cjs/Splitter/splitter.d.ts +2 -9
  74. package/dist/cjs/Splitter/splitter.js +53 -50
  75. package/dist/cjs/Splitter/style/index.less +21 -0
  76. package/dist/cjs/Steps/step.js +1 -1
  77. package/dist/cjs/Steps/style/index.less +8 -2
  78. package/dist/cjs/Switch/demo/content.js +22 -1
  79. package/dist/cjs/Switch/style/index.less +16 -0
  80. package/dist/cjs/Switch/switch.js +9 -2
  81. package/dist/cjs/Table/demo/size.js +1 -1
  82. package/dist/cjs/Table/interface.d.ts +5 -1
  83. package/dist/cjs/Table/theader/cell.js +4 -5
  84. package/dist/cjs/Tabs/hooks/useTabScroll.d.ts +1 -1
  85. package/dist/cjs/Tabs/interface.d.ts +1 -1
  86. package/dist/cjs/Tabs/style/index.less +4 -0
  87. package/dist/cjs/Tabs/tab-header/index.js +56 -25
  88. package/dist/cjs/Tag/demo/size.js +1 -1
  89. package/dist/cjs/Tag/style/index.less +1 -0
  90. package/dist/cjs/Tooltip/interface.d.ts +4 -0
  91. package/dist/cjs/Tooltip/style/index.less +8 -8
  92. package/dist/cjs/Tooltip/tooltip.js +11 -3
  93. package/dist/cjs/Tour/demo/basic.d.ts +3 -0
  94. package/dist/cjs/Tour/demo/basic.js +69 -0
  95. package/dist/cjs/Tour/demo/indicators.d.ts +3 -0
  96. package/dist/cjs/Tour/demo/indicators.js +76 -0
  97. package/dist/cjs/Tour/demo/placement.d.ts +3 -0
  98. package/dist/cjs/Tour/demo/placement.js +80 -0
  99. package/dist/cjs/Tour/demo/scroll.d.ts +3 -0
  100. package/dist/cjs/Tour/demo/scroll.js +72 -0
  101. package/dist/cjs/Tour/index.d.ts +3 -0
  102. package/dist/cjs/Tour/index.js +36 -0
  103. package/dist/cjs/Tour/interface.d.ts +118 -0
  104. package/dist/cjs/Tour/interface.js +17 -0
  105. package/dist/cjs/Tour/style/index.less +103 -0
  106. package/dist/cjs/Tour/tour.d.ts +5 -0
  107. package/dist/cjs/Tour/tour.js +403 -0
  108. package/dist/cjs/Tree/demo/checkable.js +6 -6
  109. package/dist/cjs/Tree/demo/draggable.d.ts +3 -0
  110. package/dist/cjs/Tree/demo/draggable.js +88 -0
  111. package/dist/cjs/Tree/demo/expanded.js +6 -6
  112. package/dist/cjs/Tree/index.d.ts +1 -0
  113. package/dist/cjs/Tree/index.js +3 -1
  114. package/dist/cjs/Tree/interface.d.ts +26 -0
  115. package/dist/cjs/Tree/style/index.less +25 -0
  116. package/dist/cjs/Tree/tree-node.js +38 -4
  117. package/dist/cjs/Tree/tree.d.ts +12 -1
  118. package/dist/cjs/Tree/tree.js +174 -18
  119. package/dist/cjs/Tree/utils/tree-tools.d.ts +21 -0
  120. package/dist/cjs/Tree/utils/tree-tools.js +88 -0
  121. package/dist/cjs/Trigger/style/index.less +17 -0
  122. package/dist/cjs/Trigger/trigger.js +3 -1
  123. package/dist/cjs/hooks/useDebounceFunction.d.ts +1 -1
  124. package/dist/cjs/hooks/useLayoutEffect.d.ts +1 -1
  125. package/dist/cjs/index.d.ts +4 -0
  126. package/dist/cjs/index.js +6 -0
  127. package/dist/cjs/locale/interface.d.ts +7 -0
  128. package/dist/cjs/locale/lang/en_US.js +6 -0
  129. package/dist/cjs/locale/lang/ja_JP.js +6 -0
  130. package/dist/cjs/locale/lang/zh_CN.js +6 -0
  131. package/dist/cjs/locale/lang/zh_TW.js +6 -0
  132. package/dist/cjs/style/color.blue.css +1 -1
  133. package/dist/cjs/style/color.crimson.css +1 -1
  134. package/dist/cjs/style/color.css +18 -1
  135. package/dist/cjs/style/size.css +51 -4
  136. package/dist/cjs/style/themes.css +3 -3
  137. package/dist/cjs/style/variables.css +70 -6
  138. package/dist/cjs/utils/debounce.d.ts +6 -1
  139. package/dist/cjs/utils/debounce.js +9 -1
  140. package/dist/cjs/version.d.ts +1 -1
  141. package/dist/cjs/version.js +1 -1
  142. package/dist/esm/Alert/alert.js +24 -8
  143. package/dist/esm/Alert/style/index.less +3 -0
  144. package/dist/esm/Anchor/anchor-item.js +6 -3
  145. package/dist/esm/Anchor/anchor.js +38 -19
  146. package/dist/esm/Anchor/demo/auto.d.ts +11 -0
  147. package/dist/esm/Anchor/demo/auto.js +62 -0
  148. package/dist/esm/Anchor/demo/basic.js +3 -1
  149. package/dist/esm/Anchor/demo/controlled.js +14 -9
  150. package/dist/esm/Anchor/interface.d.ts +2 -0
  151. package/dist/esm/Anchor/style/index.less +2 -2
  152. package/dist/esm/Button/button.d.ts +1 -1
  153. package/dist/esm/Button/button.js +2 -2
  154. package/dist/esm/Button/style/index.less +23 -8
  155. package/dist/esm/Card/demo/collapsible.js +2 -1
  156. package/dist/esm/Carousel/demo/arrows.js +1 -1
  157. package/dist/esm/Carousel/demo/autoplay.js +1 -1
  158. package/dist/esm/Carousel/demo/effect.js +1 -1
  159. package/dist/esm/Carousel/demo/position.js +1 -1
  160. package/dist/esm/Checkbox/checkbox-group.js +4 -2
  161. package/dist/esm/Checkbox/demo/group.js +1 -0
  162. package/dist/esm/Checkbox/interface.d.ts +5 -0
  163. package/dist/esm/Checkbox/style/index.less +21 -1
  164. package/dist/esm/Config-Provider/interface.d.ts +4 -0
  165. package/dist/esm/Dropdown/demo/placement.js +2 -1
  166. package/dist/esm/Dropdown/dropdown.js +6 -1
  167. package/dist/esm/Dropdown/style/index.less +6 -0
  168. package/dist/esm/Form/Field.js +53 -8
  169. package/dist/esm/Form/Group.js +4 -2
  170. package/dist/esm/Form/demo/form-table.js +8 -6
  171. package/dist/esm/Form/demo/tooltip.d.ts +3 -0
  172. package/dist/esm/Form/demo/tooltip.js +59 -0
  173. package/dist/esm/Form/interface.d.ts +51 -2
  174. package/dist/esm/Form/style/index.less +22 -7
  175. package/dist/esm/Menu/style/index.less +2 -2
  176. package/dist/esm/Popconfirm/popconfirm.js +3 -1
  177. package/dist/esm/Popconfirm/style/index.less +6 -0
  178. package/dist/esm/Popover/popover.js +3 -1
  179. package/dist/esm/Popover/style/index.less +6 -0
  180. package/dist/esm/Progress/progress.js +5 -5
  181. package/dist/esm/Radio/demo/button.js +1 -0
  182. package/dist/esm/Radio/interface.d.ts +4 -0
  183. package/dist/esm/Radio/radio-group.js +9 -2
  184. package/dist/esm/Radio/radio.js +3 -1
  185. package/dist/esm/Radio/style/index.less +26 -5
  186. package/dist/esm/Segmented/demo/basic.d.ts +3 -0
  187. package/dist/esm/Segmented/demo/basic.js +33 -0
  188. package/dist/esm/Segmented/demo/block.d.ts +3 -0
  189. package/dist/esm/Segmented/demo/block.js +29 -0
  190. package/dist/esm/Segmented/demo/disabled.d.ts +3 -0
  191. package/dist/esm/Segmented/demo/disabled.js +22 -0
  192. package/dist/esm/Segmented/demo/size.d.ts +3 -0
  193. package/dist/esm/Segmented/demo/size.js +15 -0
  194. package/dist/esm/Segmented/index.d.ts +3 -0
  195. package/dist/esm/Segmented/index.js +2 -0
  196. package/dist/esm/Segmented/interface.d.ts +82 -0
  197. package/dist/esm/Segmented/interface.js +1 -0
  198. package/dist/esm/Segmented/segmented.d.ts +5 -0
  199. package/dist/esm/Segmented/segmented.js +110 -0
  200. package/dist/esm/Segmented/style/index.less +104 -0
  201. package/dist/esm/Select/option.js +4 -2
  202. package/dist/esm/Select/options.js +5 -3
  203. package/dist/esm/Select/select.js +1 -0
  204. package/dist/esm/Skeleton/demo/basic.js +2 -8
  205. package/dist/esm/Space/interface.d.ts +4 -0
  206. package/dist/esm/Space/space.js +24 -13
  207. package/dist/esm/Spin/spin.js +2 -1
  208. package/dist/esm/Splitter/demo/basic.js +2 -0
  209. package/dist/esm/Splitter/demo/vertical.js +13 -5
  210. package/dist/esm/Splitter/index.d.ts +1 -1
  211. package/dist/esm/Splitter/interface.d.ts +9 -3
  212. package/dist/esm/Splitter/splitter-handler.d.ts +1 -1
  213. package/dist/esm/Splitter/splitter-handler.js +3 -1
  214. package/dist/esm/Splitter/splitter.d.ts +2 -9
  215. package/dist/esm/Splitter/splitter.js +59 -56
  216. package/dist/esm/Splitter/style/index.less +21 -0
  217. package/dist/esm/Steps/step.js +4 -1
  218. package/dist/esm/Steps/style/index.less +8 -2
  219. package/dist/esm/Switch/demo/content.js +12 -3
  220. package/dist/esm/Switch/style/index.less +16 -0
  221. package/dist/esm/Switch/switch.js +7 -5
  222. package/dist/esm/Table/demo/size.js +2 -7
  223. package/dist/esm/Table/interface.d.ts +5 -1
  224. package/dist/esm/Table/theader/cell.js +2 -3
  225. package/dist/esm/Tabs/hooks/useTabScroll.d.ts +1 -1
  226. package/dist/esm/Tabs/interface.d.ts +1 -1
  227. package/dist/esm/Tabs/style/index.less +4 -0
  228. package/dist/esm/Tabs/tab-header/index.js +11 -5
  229. package/dist/esm/Tag/demo/size.js +6 -2
  230. package/dist/esm/Tag/style/index.less +1 -0
  231. package/dist/esm/Tooltip/interface.d.ts +4 -0
  232. package/dist/esm/Tooltip/style/index.less +8 -8
  233. package/dist/esm/Tooltip/tooltip.js +14 -2
  234. package/dist/esm/Tour/demo/basic.d.ts +3 -0
  235. package/dist/esm/Tour/demo/basic.js +69 -0
  236. package/dist/esm/Tour/demo/indicators.d.ts +3 -0
  237. package/dist/esm/Tour/demo/indicators.js +73 -0
  238. package/dist/esm/Tour/demo/placement.d.ts +3 -0
  239. package/dist/esm/Tour/demo/placement.js +53 -0
  240. package/dist/esm/Tour/demo/scroll.d.ts +3 -0
  241. package/dist/esm/Tour/demo/scroll.js +58 -0
  242. package/dist/esm/Tour/index.d.ts +3 -0
  243. package/dist/esm/Tour/index.js +2 -0
  244. package/dist/esm/Tour/interface.d.ts +118 -0
  245. package/dist/esm/Tour/interface.js +1 -0
  246. package/dist/esm/Tour/style/index.less +103 -0
  247. package/dist/esm/Tour/tour.d.ts +5 -0
  248. package/dist/esm/Tour/tour.js +383 -0
  249. package/dist/esm/Tree/demo/checkable.js +6 -6
  250. package/dist/esm/Tree/demo/draggable.d.ts +3 -0
  251. package/dist/esm/Tree/demo/draggable.js +61 -0
  252. package/dist/esm/Tree/demo/expanded.js +6 -6
  253. package/dist/esm/Tree/index.d.ts +1 -0
  254. package/dist/esm/Tree/index.js +1 -0
  255. package/dist/esm/Tree/interface.d.ts +26 -0
  256. package/dist/esm/Tree/style/index.less +25 -0
  257. package/dist/esm/Tree/tree-node.js +29 -4
  258. package/dist/esm/Tree/tree.d.ts +12 -1
  259. package/dist/esm/Tree/tree.js +135 -4
  260. package/dist/esm/Tree/utils/tree-tools.d.ts +21 -0
  261. package/dist/esm/Tree/utils/tree-tools.js +128 -1
  262. package/dist/esm/Trigger/style/index.less +17 -0
  263. package/dist/esm/Trigger/trigger.js +4 -3
  264. package/dist/esm/hooks/useDebounceFunction.d.ts +1 -1
  265. package/dist/esm/hooks/useLayoutEffect.d.ts +1 -1
  266. package/dist/esm/index.d.ts +4 -0
  267. package/dist/esm/index.js +4 -0
  268. package/dist/esm/locale/interface.d.ts +7 -0
  269. package/dist/esm/locale/lang/en_US.js +6 -0
  270. package/dist/esm/locale/lang/ja_JP.js +6 -0
  271. package/dist/esm/locale/lang/zh_CN.js +6 -0
  272. package/dist/esm/locale/lang/zh_TW.js +6 -0
  273. package/dist/esm/style/color.blue.css +1 -1
  274. package/dist/esm/style/color.crimson.css +1 -1
  275. package/dist/esm/style/color.css +18 -1
  276. package/dist/esm/style/size.css +51 -4
  277. package/dist/esm/style/themes.css +3 -3
  278. package/dist/esm/style/variables.css +70 -6
  279. package/dist/esm/utils/debounce.d.ts +6 -1
  280. package/dist/esm/utils/debounce.js +9 -2
  281. package/dist/esm/version.d.ts +1 -1
  282. package/dist/esm/version.js +1 -1
  283. package/dist/umd/yee-c.min.css +3 -3
  284. package/dist/umd/yee-c.min.js +1 -1
  285. package/package.json +21 -23
  286. package/src/Alert/alert.tsx +10 -4
  287. package/src/Alert/style/index.less +3 -0
  288. package/src/Anchor/anchor-item.tsx +7 -2
  289. package/src/Anchor/anchor.tsx +49 -23
  290. package/src/Anchor/demo/auto.tsx +55 -0
  291. package/src/Anchor/demo/basic.tsx +7 -1
  292. package/src/Anchor/demo/controlled.tsx +18 -14
  293. package/src/Anchor/index.en-US.md +17 -0
  294. package/src/Anchor/index.zh-CN.md +17 -0
  295. package/src/Anchor/interface.ts +2 -0
  296. package/src/Anchor/style/index.less +2 -2
  297. package/src/Button/button.tsx +2 -2
  298. package/src/Button/style/index.less +23 -8
  299. package/src/Card/demo/collapsible.tsx +1 -0
  300. package/src/Carousel/demo/arrows.tsx +1 -1
  301. package/src/Carousel/demo/autoplay.tsx +1 -1
  302. package/src/Carousel/demo/effect.tsx +1 -1
  303. package/src/Carousel/demo/position.tsx +1 -1
  304. package/src/Checkbox/checkbox-group.tsx +5 -1
  305. package/src/Checkbox/demo/group.tsx +1 -0
  306. package/src/Checkbox/interface.ts +5 -0
  307. package/src/Checkbox/style/index.less +21 -1
  308. package/src/Config-Provider/index.en-US.md +2 -0
  309. package/src/Config-Provider/index.zh-CN.md +2 -0
  310. package/src/Config-Provider/interface.ts +4 -0
  311. package/src/Dropdown/demo/placement.tsx +1 -0
  312. package/src/Dropdown/dropdown.tsx +2 -0
  313. package/src/Dropdown/style/index.less +6 -0
  314. package/src/Form/Field.tsx +70 -9
  315. package/src/Form/Group.tsx +4 -1
  316. package/src/Form/demo/form-table.tsx +7 -7
  317. package/src/Form/demo/tooltip.tsx +72 -0
  318. package/src/Form/form-store.ts +1 -1
  319. package/src/Form/index.en-US.md +6 -0
  320. package/src/Form/index.zh-CN.md +87 -85
  321. package/src/Form/interface.ts +53 -2
  322. package/src/Form/style/index.less +22 -7
  323. package/src/Menu/style/index.less +2 -2
  324. package/src/Popconfirm/popconfirm.tsx +1 -1
  325. package/src/Popconfirm/style/index.less +6 -0
  326. package/src/Popover/popover.tsx +1 -1
  327. package/src/Popover/style/index.less +6 -0
  328. package/src/Progress/progress.tsx +2 -2
  329. package/src/Radio/demo/button.tsx +1 -0
  330. package/src/Radio/index.en-US.md +2 -0
  331. package/src/Radio/index.zh-CN.md +2 -0
  332. package/src/Radio/interface.ts +4 -0
  333. package/src/Radio/radio-group.tsx +9 -1
  334. package/src/Radio/radio.tsx +2 -1
  335. package/src/Radio/style/index.less +26 -5
  336. package/src/Segmented/demo/basic.tsx +24 -0
  337. package/src/Segmented/demo/block.tsx +17 -0
  338. package/src/Segmented/demo/disabled.tsx +18 -0
  339. package/src/Segmented/demo/size.tsx +10 -0
  340. package/src/Segmented/index.en-US.md +47 -0
  341. package/src/Segmented/index.ts +12 -0
  342. package/src/Segmented/index.zh-CN.md +47 -0
  343. package/src/Segmented/interface.ts +87 -0
  344. package/src/Segmented/segmented.tsx +134 -0
  345. package/src/Segmented/style/index.less +104 -0
  346. package/src/Select/option.tsx +2 -1
  347. package/src/Select/options.tsx +7 -2
  348. package/src/Select/select.tsx +1 -0
  349. package/src/Skeleton/demo/basic.tsx +3 -3
  350. package/src/Space/interface.ts +4 -0
  351. package/src/Space/space.tsx +40 -16
  352. package/src/Spin/spin.tsx +1 -0
  353. package/src/Splitter/demo/basic.tsx +2 -2
  354. package/src/Splitter/demo/vertical.tsx +19 -5
  355. package/src/Splitter/index.ts +5 -1
  356. package/src/Splitter/interface.ts +10 -3
  357. package/src/Splitter/splitter-handler.tsx +4 -2
  358. package/src/Splitter/splitter.tsx +55 -60
  359. package/src/Splitter/style/index.less +21 -0
  360. package/src/Steps/step.tsx +1 -1
  361. package/src/Steps/style/index.less +8 -2
  362. package/src/Switch/demo/content.tsx +15 -5
  363. package/src/Switch/style/index.less +16 -0
  364. package/src/Switch/switch.tsx +14 -6
  365. package/src/Table/demo/size.tsx +3 -3
  366. package/src/Table/index.en-US.md +1 -0
  367. package/src/Table/index.zh-CN.md +51 -50
  368. package/src/Table/interface.ts +5 -1
  369. package/src/Table/theader/cell.tsx +2 -9
  370. package/src/Tabs/interface.ts +1 -1
  371. package/src/Tabs/style/index.less +4 -0
  372. package/src/Tabs/tab-header/index.tsx +26 -5
  373. package/src/Tag/demo/size.tsx +2 -2
  374. package/src/Tag/style/index.less +1 -0
  375. package/src/Tooltip/index.en-US.md +1 -0
  376. package/src/Tooltip/index.zh-CN.md +1 -0
  377. package/src/Tooltip/interface.ts +4 -0
  378. package/src/Tooltip/style/index.less +8 -8
  379. package/src/Tooltip/tooltip.tsx +10 -1
  380. package/src/Tour/demo/basic.tsx +52 -0
  381. package/src/Tour/demo/indicators.tsx +63 -0
  382. package/src/Tour/demo/placement.tsx +55 -0
  383. package/src/Tour/demo/scroll.tsx +49 -0
  384. package/src/Tour/index.en-US.md +61 -0
  385. package/src/Tour/index.ts +10 -0
  386. package/src/Tour/index.zh-CN.md +61 -0
  387. package/src/Tour/interface.ts +126 -0
  388. package/src/Tour/style/index.less +103 -0
  389. package/src/Tour/tour.tsx +399 -0
  390. package/src/Tree/demo/checkable.tsx +6 -6
  391. package/src/Tree/demo/draggable.tsx +58 -0
  392. package/src/Tree/demo/expanded.tsx +7 -7
  393. package/src/Tree/index.en-US.md +3 -0
  394. package/src/Tree/index.ts +1 -0
  395. package/src/Tree/index.zh-CN.md +3 -0
  396. package/src/Tree/interface.ts +28 -0
  397. package/src/Tree/style/index.less +25 -0
  398. package/src/Tree/tree-node.tsx +26 -0
  399. package/src/Tree/tree.tsx +183 -2
  400. package/src/Tree/utils/tree-tools.ts +107 -0
  401. package/src/Trigger/style/index.less +17 -0
  402. package/src/Trigger/trigger.tsx +3 -1
  403. package/src/index.ts +6 -0
  404. package/src/locale/interface.ts +9 -0
  405. package/src/locale/lang/en_US.ts +7 -0
  406. package/src/locale/lang/ja_JP.ts +7 -0
  407. package/src/locale/lang/zh_CN.ts +7 -0
  408. package/src/locale/lang/zh_TW.ts +7 -0
  409. package/src/style/color.blue.css +1 -1
  410. package/src/style/color.crimson.css +1 -1
  411. package/src/style/color.css +18 -1
  412. package/src/style/size.css +51 -4
  413. package/src/utils/debounce.ts +22 -3
  414. package/src/version.ts +1 -1
  415. package/dist/cjs/utils/x.d.ts +0 -11
  416. package/dist/cjs/utils/x.js +0 -51
  417. package/dist/esm/utils/x.d.ts +0 -11
  418. package/dist/esm/utils/x.js +0 -49
  419. package/src/utils/x.ts +0 -33
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rainbow-oh/yee-c",
3
- "version": "0.1.0",
3
+ "version": "0.3.0",
4
4
  "description": "yee basic components",
5
5
  "keywords": [
6
6
  "react",
@@ -58,26 +58,6 @@
58
58
  "dist",
59
59
  "src"
60
60
  ],
61
- "scripts": {
62
- "build": "node scripts/generate-version.js && rm -rf dist && father build",
63
- "postbuild": "node scripts/merge-css.js",
64
- "build:release": "dumi build && node scripts/generate-raw-md.js",
65
- "build:watch": "father dev",
66
- "dev": "dumi dev",
67
- "docs:build": "dumi build && node scripts/generate-raw-md.js",
68
- "docs:preview": "dumi preview",
69
- "docs:scan": "node scripts/scan-docs.js",
70
- "doctor": "father doctor",
71
- "format": "prettier --write \"src/**/*.{ts,tsx,js,jsx,css,less,json}\"",
72
- "format:check": "prettier --check \"src/**/*.{ts,tsx,js,jsx,css,less,json}\"",
73
- "lint": "npm run lint:es && npm run lint:css",
74
- "lint:css": "stylelint \"{src,test}/**/*.{css,less}\" --ignore-pattern \"src/style/color.*.css\"",
75
- "lint:es": "eslint \"{src,test}/**/*.{js,jsx,ts,tsx}\"",
76
- "prepare": "dumi setup",
77
- "prepublishOnly": "npm run docs:scan && father doctor && node scripts/generate-version.js && npm run build",
78
- "start": "npm run dev",
79
- "watch": "father dev"
80
- },
81
61
  "commitlint": {
82
62
  "extends": [
83
63
  "@commitlint/config-conventional"
@@ -141,5 +121,23 @@
141
121
  },
142
122
  "authors": [
143
123
  "InsureMO"
144
- ]
145
- }
124
+ ],
125
+ "scripts": {
126
+ "build": "node scripts/generate-version.js && rm -rf dist && father build",
127
+ "postbuild": "node scripts/merge-css.js",
128
+ "build:release": "dumi build && node scripts/generate-raw-md.js",
129
+ "build:watch": "father dev",
130
+ "dev": "dumi dev",
131
+ "docs:build": "dumi build && node scripts/generate-raw-md.js",
132
+ "docs:preview": "dumi preview",
133
+ "docs:scan": "node scripts/scan-docs.js",
134
+ "doctor": "father doctor",
135
+ "format": "prettier --write \"src/**/*.{ts,tsx,js,jsx,css,less,json}\"",
136
+ "format:check": "prettier --check \"src/**/*.{ts,tsx,js,jsx,css,less,json}\"",
137
+ "lint": "npm run lint:es && npm run lint:css",
138
+ "lint:css": "stylelint \"{src,test}/**/*.{css,less}\" --ignore-pattern \"src/style/color.*.css\"",
139
+ "lint:es": "eslint \"{src,test}/**/*.{js,jsx,ts,tsx}\"",
140
+ "start": "npm run dev",
141
+ "watch": "father dev"
142
+ }
143
+ }
@@ -10,10 +10,16 @@ import './style/index.less';
10
10
  const ICON_STROKE_WIDTH = 1.5; // Icon stroke width
11
11
 
12
12
  const iconMap = {
13
- info: { small: <Info />, large: <Info /> },
14
- success: { small: <CircleCheckBig />, large: <CircleCheckBig /> },
15
- warning: { small: <CircleAlert />, large: <CircleAlert /> },
16
- error: { small: <CircleX />, large: <CircleX /> },
13
+ info: { small: <Info size={16} />, large: <Info size={24} /> },
14
+ success: {
15
+ small: <CircleCheckBig size={16} />,
16
+ large: <CircleCheckBig size={24} />,
17
+ },
18
+ warning: {
19
+ small: <CircleAlert size={16} />,
20
+ large: <CircleAlert size={24} />,
21
+ },
22
+ error: { small: <CircleX size={16} />, large: <CircleX size={24} /> },
17
23
  };
18
24
 
19
25
  const Alert: React.FC<AlertProps> = (baseprops) => {
@@ -69,4 +69,7 @@
69
69
  border: none;
70
70
  border-radius: 0;
71
71
  }
72
+
73
+ &-small {
74
+ }
72
75
  }
@@ -17,7 +17,10 @@ const AnchorItem: React.FC<AnchorItemProps> = (props) => {
17
17
  ...rest
18
18
  } = props;
19
19
 
20
- const { prefixCls, activeKey, onClick } = useContext(AnchorContext);
20
+ const { prefixCls, activeKey, onClick, classNames, styles } =
21
+ useContext(AnchorContext);
22
+
23
+ const isActive = targetKey === activeKey;
21
24
 
22
25
  const handleClick = (e: React.MouseEvent<HTMLAnchorElement>) => {
23
26
  e.preventDefault();
@@ -28,14 +31,16 @@ const AnchorItem: React.FC<AnchorItemProps> = (props) => {
28
31
  const cls = clsx(
29
32
  `${prefixCls}-item`,
30
33
  {
31
- [`${prefixCls}-item-active`]: targetKey === activeKey,
34
+ [`${prefixCls}-item-active`]: isActive,
32
35
  [`${prefixCls}-item-${status}`]: status,
33
36
  },
34
37
  className,
38
+ isActive && classNames?.active,
35
39
  );
36
40
 
37
41
  const itemStyle = {
38
42
  ...style,
43
+ ...(isActive ? styles?.active : undefined),
39
44
  paddingLeft: `${level * INDENT_WIDTH}px`,
40
45
  };
41
46
 
@@ -59,13 +59,22 @@ const Anchor = forwardRef<HTMLDivElement, AnchorProps>((baseprops, ref) => {
59
59
  const [anchorList, setAnchorList] = useState<Array<AnchorItemType>>([]);
60
60
 
61
61
  const containerRef = useRef<HTMLElement | Window | null>(null);
62
+ const activeKeyRef = useRef(mergedActiveKey);
63
+ useEffect(() => {
64
+ activeKeyRef.current = mergedActiveKey;
65
+ }, [mergedActiveKey]);
62
66
 
63
67
  // Auto-generate anchor list from DOM
64
68
  const generateAnchorList = useCallback(() => {
65
69
  if (!auto || !name) return;
66
70
 
67
71
  const list: Array<AnchorItemType> = [];
68
- const elements = document.querySelectorAll(`[data-anchor-group="${name}"]`);
72
+ // Escape `name` before interpolating into the attribute selector: a raw
73
+ // value containing quotes / brackets / backslashes would either break the
74
+ // selector (throwing) or open an injection vector.
75
+ const elements = document.querySelectorAll(
76
+ `[data-anchor-group="${CSS.escape(name)}"]`,
77
+ );
69
78
 
70
79
  elements.forEach((element) => {
71
80
  const key = element.getAttribute('id') || '';
@@ -87,6 +96,19 @@ const Anchor = forwardRef<HTMLDivElement, AnchorProps>((baseprops, ref) => {
87
96
  }
88
97
  }, [auto, generateAnchorList]);
89
98
 
99
+ const getTargetOffsetTop = useCallback((target: HTMLElement) => {
100
+ const container = containerRef.current;
101
+ const containerTop =
102
+ container === window
103
+ ? 0
104
+ : (container as HTMLElement).getBoundingClientRect().top;
105
+ const currentScroll =
106
+ container === window
107
+ ? window.scrollY
108
+ : (container as HTMLElement).scrollTop;
109
+ return currentScroll + (target.getBoundingClientRect().top - containerTop);
110
+ }, []);
111
+
90
112
  // Handle scroll to update active key
91
113
  const handleScroll = useCallback(() => {
92
114
  const container = containerRef.current;
@@ -107,33 +129,31 @@ const Anchor = forwardRef<HTMLDivElement, AnchorProps>((baseprops, ref) => {
107
129
  const target = document.getElementById(item.key);
108
130
 
109
131
  if (target) {
110
- const targetTop = target.offsetTop;
132
+ const targetTop = getTargetOffsetTop(target);
111
133
  if (scrollTop + offsetTop >= targetTop) {
112
- setMergedActiveKey(item.key);
113
- onChange?.(item.key);
134
+ if (activeKeyRef.current !== item.key) {
135
+ setMergedActiveKey(item.key);
136
+ onChange?.(item.key);
137
+ }
114
138
  break;
115
139
  }
116
140
  }
117
141
  }
118
- }, [auto, anchorList, items, offsetTop, onChange]);
142
+ }, [auto, anchorList, items, offsetTop, onChange, getTargetOffsetTop]);
119
143
 
120
144
  useEffect(() => {
121
- const container = getContainer ? getContainer() : window;
122
- containerRef.current = container;
123
-
124
- if (container && typeof activeKey === 'undefined') {
125
- const debouncedScroll = debounce(handleScroll, 100);
126
- container.addEventListener('scroll', debouncedScroll as EventListener);
127
- handleScroll();
128
-
129
- return () => {
130
- container.removeEventListener(
131
- 'scroll',
132
- debouncedScroll as EventListener,
133
- );
134
- };
135
- }
136
- }, [getContainer, handleScroll, activeKey]);
145
+ const container = containerRef.current;
146
+ if (!container) return;
147
+
148
+ const debouncedScroll = debounce(handleScroll, 100);
149
+ container.addEventListener('scroll', debouncedScroll as EventListener);
150
+ handleScroll();
151
+
152
+ return () => {
153
+ container.removeEventListener('scroll', debouncedScroll as EventListener);
154
+ debouncedScroll.cancel();
155
+ };
156
+ }, [getContainer, handleScroll]);
137
157
 
138
158
  // Scroll to target when activeKey changes
139
159
  const scrollToAnchor = useCallback(
@@ -144,7 +164,7 @@ const Anchor = forwardRef<HTMLDivElement, AnchorProps>((baseprops, ref) => {
144
164
  const container = containerRef.current;
145
165
  if (!container) return;
146
166
 
147
- const targetTop = target.offsetTop - offsetTop;
167
+ const targetTop = getTargetOffsetTop(target) - offsetTop;
148
168
 
149
169
  if (container === window) {
150
170
  window.scrollTo({ top: targetTop, behavior: 'smooth' });
@@ -155,9 +175,13 @@ const Anchor = forwardRef<HTMLDivElement, AnchorProps>((baseprops, ref) => {
155
175
  });
156
176
  }
157
177
  },
158
- [offsetTop],
178
+ [offsetTop, getTargetOffsetTop],
159
179
  );
160
180
 
181
+ useLayoutEffect(() => {
182
+ containerRef.current = getContainer ? getContainer() : window;
183
+ }, [getContainer]);
184
+
161
185
  useLayoutEffect(() => {
162
186
  if (defaultActiveKey) {
163
187
  scrollToAnchor(defaultActiveKey);
@@ -190,6 +214,8 @@ const Anchor = forwardRef<HTMLDivElement, AnchorProps>((baseprops, ref) => {
190
214
  prefixCls,
191
215
  activeKey: mergedActiveKey,
192
216
  onClick: handleItemClick,
217
+ classNames,
218
+ styles,
193
219
  };
194
220
 
195
221
  const renderNavArrow = () => {
@@ -0,0 +1,55 @@
1
+ import { Anchor } from '@rainbow-oh/yee-c';
2
+ import React from 'react';
3
+
4
+ /**
5
+ * `auto` mode: the anchor list is generated from the DOM. Decorate each target
6
+ * section with the following attributes:
7
+ * - data-anchor-group="<name>" must match the Anchor's `name` prop
8
+ * - id="<key>" used as the anchor key and scroll target
9
+ * - data-anchor-title="<title>" the nav label (required; a section without it is skipped)
10
+ * - data-anchor-status="success | error | warning" optional status badge color
11
+ */
12
+ export default () => {
13
+ return (
14
+ <div
15
+ id="auto-container"
16
+ style={{ display: 'flex', height: 300, overflow: 'auto' }}
17
+ >
18
+ <Anchor
19
+ auto
20
+ name="article"
21
+ affix={false}
22
+ defaultActiveKey="auto-intro"
23
+ getContainer={() => document.getElementById('auto-container')!}
24
+ />
25
+ <div style={{ flex: 1, padding: 20 }}>
26
+ <section
27
+ id="auto-intro"
28
+ data-anchor-group="article"
29
+ data-anchor-title="Introduction"
30
+ style={{ height: 300, background: '#f0f0f0', marginBottom: 20 }}
31
+ >
32
+ Introduction
33
+ </section>
34
+ <section
35
+ id="auto-usage"
36
+ data-anchor-group="article"
37
+ data-anchor-title="Usage"
38
+ data-anchor-status="success"
39
+ style={{ height: 300, background: '#e0e0e0', marginBottom: 20 }}
40
+ >
41
+ Usage
42
+ </section>
43
+ <section
44
+ id="auto-caveats"
45
+ data-anchor-group="article"
46
+ data-anchor-title="Caveats"
47
+ data-anchor-status="warning"
48
+ style={{ height: 300, background: '#d0d0d0' }}
49
+ >
50
+ Caveats
51
+ </section>
52
+ </div>
53
+ </div>
54
+ );
55
+ };
@@ -20,7 +20,13 @@ export default () => {
20
20
  return (
21
21
  <div
22
22
  id="basic-container"
23
- style={{ display: 'flex', height: '100vh', overflow: 'auto' }}
23
+ style={{
24
+ position: 'relative',
25
+ display: 'flex',
26
+ height: '100vh',
27
+ overflow: 'auto',
28
+ transform: 'scale(1)',
29
+ }}
24
30
  >
25
31
  <Anchor
26
32
  items={items}
@@ -1,27 +1,31 @@
1
1
  import { Anchor } from '@rainbow-oh/yee-c';
2
- import React, { useState } from 'react';
2
+ import React, { useRef, useState } from 'react';
3
3
 
4
4
  export default () => {
5
5
  const [activeKey, setActiveKey] = useState('part1');
6
-
6
+ const containerRef = useRef<HTMLDivElement>(null);
7
7
  const onChange = (key: string) => {
8
8
  console.log('Anchor changed to:', key);
9
9
  setActiveKey(key);
10
10
  };
11
11
 
12
12
  return (
13
- <div style={{ display: 'flex' }}>
14
- <div style={{ width: '200px' }}>
15
- <Anchor
16
- items={[
17
- { key: 'part1', title: 'Part 1' },
18
- { key: 'part2', title: 'Part 2' },
19
- { key: 'part3', title: 'Part 3' },
20
- ]}
21
- activeKey={activeKey}
22
- onChange={onChange}
23
- />
24
- </div>
13
+ <div
14
+ style={{ display: 'flex', height: '200px', overflow: 'auto' }}
15
+ ref={containerRef}
16
+ >
17
+ <Anchor
18
+ items={[
19
+ { key: 'part1', title: 'Part 1' },
20
+ { key: 'part2', title: 'Part 2' },
21
+ { key: 'part3', title: 'Part 3' },
22
+ ]}
23
+ direction="vertical"
24
+ affix={false}
25
+ activeKey={activeKey}
26
+ onChange={onChange}
27
+ getContainer={() => containerRef.current!}
28
+ />
25
29
  <div style={{ flex: 1, padding: '20px' }}>
26
30
  <div
27
31
  id="part1"
@@ -17,6 +17,7 @@ Anchor component for linking to specific sections within a page.
17
17
  <code src="./demo/basic.tsx" title="Basic" description="Basic usage of Anchor"></code>
18
18
  <code src="./demo/direction.tsx" title="Direction" description="Vertical and horizontal directions"></code>
19
19
  <code src="./demo/controlled.tsx" title="Controlled" description="Controlled mode with activeKey"></code>
20
+ <code src="./demo/auto.tsx" title="Auto" description="Generate the anchor list from the DOM"></code>
20
21
 
21
22
  ## API
22
23
 
@@ -69,6 +70,22 @@ Anchor component for linking to specific sections within a page.
69
70
  | --- |
70
71
  | `'item' \| 'active' \| 'content'` |
71
72
 
73
+ ## Auto mode
74
+
75
+ When `auto` is set together with `name`, the component scans the DOM for elements tagged with `data-anchor-group="<name>"` and generates the anchor list automatically. Each target element must be annotated with:
76
+
77
+ | Attribute | Description |
78
+ | --- | --- |
79
+ | `data-anchor-group` | Group name, must equal `name` |
80
+ | `id` | Used as the anchor key and scroll target (required) |
81
+ | `data-anchor-title` | Nav item label (required; a section without it is skipped) |
82
+ | `data-anchor-status` | Optional status, `success` / `error` / `warning` |
83
+
84
+ Notes:
85
+
86
+ - `auto` and `items` are mutually exclusive; when both are provided, the `auto` scan result wins and `items` is ignored.
87
+ - The DOM is scanned once on mount. If the target sections are rendered asynchronously, make sure they exist in the DOM at mount time, otherwise they will not be picked up.
88
+
72
89
  ## Notes
73
90
 
74
91
  - Not yet adapted for mobile. Affix mode relies on hover interaction, which is not supported on touch devices
@@ -17,6 +17,7 @@ toc: 'content'
17
17
  <code src="./demo/basic.tsx" title="基础用法" description="Anchor的基础用法"></code>
18
18
  <code src="./demo/direction.tsx" title="方向" description="垂直和水平方向"></code>
19
19
  <code src="./demo/controlled.tsx" title="受控模式" description="通过activeKey控制激活项"></code>
20
+ <code src="./demo/auto.tsx" title="自动生成" description="从 DOM 自动生成锚点列表"></code>
20
21
 
21
22
  ## API
22
23
 
@@ -69,6 +70,22 @@ toc: 'content'
69
70
  | --- |
70
71
  | `'item' \| 'active' \| 'content'` |
71
72
 
73
+ ## 自动生成模式(auto)
74
+
75
+ 设置 `auto` 并提供 `name` 时,组件会从 DOM 中扫描带 `data-anchor-group="<name>"` 的元素,自动生成锚点列表。每个目标元素需标注以下属性:
76
+
77
+ | 属性 | 说明 |
78
+ | --- | --- |
79
+ | `data-anchor-group` | 分组名,必须等于 `name` |
80
+ | `id` | 作为锚点 key 与滚动目标(必填) |
81
+ | `data-anchor-title` | 导航项标题(必填,缺失则该项被跳过) |
82
+ | `data-anchor-status` | 可选状态,`success` / `error` / `warning` |
83
+
84
+ 注意事项:
85
+
86
+ - `auto` 与 `items` 互斥,同时传入时以 `auto` 扫描结果为准,`items` 被忽略。
87
+ - 组件在挂载时扫描一次 DOM;若目标区块为异步渲染,请保证其在组件挂载时已存在于 DOM 中,否则扫描不到。
88
+
72
89
  ## 注意事项
73
90
 
74
91
  - 移动端暂未适配,affix 模式依赖 hover 交互,触摸设备不支持
@@ -123,4 +123,6 @@ export interface AnchorContextType {
123
123
  prefixCls: string;
124
124
  activeKey?: string;
125
125
  onClick?: (key: string) => void;
126
+ classNames?: Partial<Record<AnchorSemanticDOM, string>>;
127
+ styles?: Partial<Record<AnchorSemanticDOM, React.CSSProperties>>;
126
128
  }
@@ -53,7 +53,7 @@
53
53
  width: var(--yee-anchor-static-item-active-width);
54
54
  height: var(--yee-anchor-static-item-active-height);
55
55
  border: none;
56
- border-radius: 0;
56
+ border-radius: var(--yee-anchor-static-item-active-width);
57
57
  background-color: var(--yee-anchor-item-active-font-color);
58
58
  }
59
59
  }
@@ -165,7 +165,7 @@
165
165
 
166
166
  &-item {
167
167
  position: relative;
168
- padding: var(--yee-anchor-item-padding);
168
+ margin: var(--yee-anchor-item-padding);
169
169
  white-space: nowrap;
170
170
  color: var(--yee-anchor-item-font-color);
171
171
  cursor: pointer;
@@ -42,7 +42,7 @@ const Button = forwardRef<HTMLButtonElement | HTMLAnchorElement, ButtonProps>(
42
42
  if (type) {
43
43
  switch (type) {
44
44
  case 'default':
45
- mergedColor = 'primary';
45
+ mergedColor = 'default';
46
46
  mergedVariant = 'outlined';
47
47
  break;
48
48
  case 'primary':
@@ -50,7 +50,7 @@ const Button = forwardRef<HTMLButtonElement | HTMLAnchorElement, ButtonProps>(
50
50
  mergedVariant = 'solid';
51
51
  break;
52
52
  case 'dashed':
53
- mergedColor = 'primary';
53
+ mergedColor = 'default';
54
54
  mergedVariant = 'dashed';
55
55
  break;
56
56
  case 'link':
@@ -41,18 +41,18 @@
41
41
  border: none;
42
42
 
43
43
  &:not(@{pls}-disabled):hover {
44
- background-color: var(--m-btn-hover-color);
44
+ background-color: var(--m-btn-hover-bg-color);
45
45
  }
46
46
 
47
47
  &:not(@{pls}-disabled):active {
48
- background-color: var(--m-btn-active-color);
48
+ background-color: var(--m-btn-active-bg-color);
49
49
  }
50
50
  }
51
51
 
52
52
  &-dashed {
53
53
  color: var(--m-btn-color);
54
54
  background-color: transparent;
55
- border: var(--yee-btn-border-width) dashed var(--m-btn-color);
55
+ border: var(--yee-btn-border-width) dashed var(--m-btn-border-color);
56
56
 
57
57
  &:not(@{pls}-disabled):hover {
58
58
  color: var(--m-btn-hover-color);
@@ -84,7 +84,19 @@
84
84
  &-outlined {
85
85
  color: var(--m-btn-color);
86
86
  background-color: transparent;
87
- border: var(--yee-btn-border-width) solid var(--m-btn-color);
87
+ border: var(--yee-btn-border-width) solid var(--m-btn-border-color);
88
+
89
+ &:not(@{pls}-disabled) {
90
+ &:hover {
91
+ color: var(--m-btn-hover-color);
92
+ border-color: var(--m-btn-border-hover-color);
93
+ }
94
+
95
+ &:active {
96
+ color: var(--m-btn-active-color);
97
+ border-color: var(--m-btn-border-active-color);
98
+ }
99
+ }
88
100
  }
89
101
 
90
102
  &-ghost {
@@ -134,11 +146,14 @@
134
146
  // ---- color ------
135
147
  &-default {
136
148
  --m-btn-color: var(--yee-text-color);
137
- --m-btn-hover-color: var(--yee-text-color-auxiliary);
138
- --m-btn-active-color: var(--yee-btn-default-active-color);
149
+ --m-btn-hover-color: var(--yee-primary-color);
150
+ --m-btn-border-color: var(--yee-border-color);
151
+ --m-btn-border-hover-color: var(--yee-primary-color);
139
152
  --m-btn-bg-color: var(--yee-btn-default-bg-color);
140
- --m-btn-hover-bg-color: var(--yee-btn-default-bg-color);
141
- --m-btn-active-bg-color: var(--yee-btn-default-bg-color);
153
+ --m-btn-hover-bg-color: var(--yee-text-color-auxiliary);
154
+ --m-btn-border-active-color: var(--yee-primary-color-active);
155
+ --m-btn-active-color: var(--yee-primary-color-active);
156
+ --m-btn-active-bg-color: var(--yee-text-color-auxiliary);
142
157
  }
143
158
 
144
159
  &-primary {
@@ -8,6 +8,7 @@ export default () => {
8
8
  expanded={false}
9
9
  extra={<a href="#">More</a>}
10
10
  style={{ width: 300 }}
11
+ bordered
11
12
  >
12
13
  <p>Card content</p>
13
14
  <p>Card content</p>
@@ -3,7 +3,7 @@ import React from 'react';
3
3
 
4
4
  export default () => {
5
5
  return (
6
- <Carousel style={{ width: '500px', height: '300px' }} arrows="always">
6
+ <Carousel style={{ width: '100%', height: '300px' }} arrows="always">
7
7
  <div
8
8
  style={{
9
9
  backgroundColor: '#f5f5f5',
@@ -4,7 +4,7 @@ import React from 'react';
4
4
  export default () => {
5
5
  return (
6
6
  <Carousel
7
- style={{ width: '500px', height: '300px' }}
7
+ style={{ width: '100%', height: '300px' }}
8
8
  autoplay
9
9
  autoplaySpeed={1000}
10
10
  >
@@ -4,7 +4,7 @@ import React from 'react';
4
4
  export default () => {
5
5
  return (
6
6
  <Carousel
7
- style={{ width: '500px', height: '300px' }}
7
+ style={{ width: '100%', height: '300px' }}
8
8
  effect="fade"
9
9
  autoplay
10
10
  autoplaySpeed={2000}
@@ -5,7 +5,7 @@ export default () => {
5
5
  return (
6
6
  <div>
7
7
  <Carousel
8
- style={{ width: '500px', height: '300px', marginBottom: '20px' }}
8
+ style={{ width: '100%', height: '300px', marginBottom: '20px' }}
9
9
  dotPosition="top"
10
10
  dots
11
11
  >
@@ -34,6 +34,7 @@ const CheckboxGroup = (baseprops: CheckboxGroupProps) => {
34
34
  options,
35
35
  buttonStyle,
36
36
  disabled,
37
+ layout = 'horizontal',
37
38
  onChange,
38
39
  } = props;
39
40
 
@@ -44,6 +45,7 @@ const CheckboxGroup = (baseprops: CheckboxGroupProps) => {
44
45
 
45
46
  const cls = clsx(
46
47
  prefixCls,
48
+ [`${prefixCls}-${layout}`],
47
49
  {
48
50
  [`${prefixCls}-${buttonStyle}`]: buttonStyle,
49
51
  [`${prefixCls}-disabled`]: disabled,
@@ -71,7 +73,9 @@ const CheckboxGroup = (baseprops: CheckboxGroupProps) => {
71
73
  {...option}
72
74
  checked={mergedValue.includes(option.value)}
73
75
  key={option.value || index}
74
- />
76
+ >
77
+ {option.label}
78
+ </Checkbox>
75
79
  ))}
76
80
  </CheckboxGroupCtx.Provider>
77
81
  </div>
@@ -24,6 +24,7 @@ export default () => {
24
24
  <Checkbox.Group
25
25
  value={value}
26
26
  onChange={onChange}
27
+ layout="vertical"
27
28
  options={[
28
29
  { value: 'A', label: 'Option A' },
29
30
  { value: 'B', label: 'Option B' },
@@ -97,6 +97,11 @@ export interface CheckboxGroupProps {
97
97
  * Options
98
98
  */
99
99
  options?: Array<CheckboxOption>;
100
+ /**
101
+ * group layout
102
+ * @default horizontal
103
+ */
104
+ layout?: 'horizontal' | 'vertical';
100
105
  /**
101
106
  * Callback when value changes
102
107
  */