@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
@@ -33,6 +33,10 @@
33
33
  background-color: var(--yee-checkbox-checked-bg-color);
34
34
  border-color: var(--yee-checkbox-checked-border-color);
35
35
 
36
+ --ye-checkbox-checked-border-color: var(
37
+ --yee-checkbox-checked-after-border-color
38
+ );
39
+
36
40
  &::after {
37
41
  position: absolute;
38
42
  top: 50%;
@@ -41,7 +45,7 @@
41
45
  width: var(--yee-checkbox-checked-after-width);
42
46
  height: var(--yee-checkbox-checked-after-height);
43
47
  border: var(--yee-checkbox-checked-after-border-width) solid
44
- var(--yee-checkbox-checked-after-border-color);
48
+ var(--ye-checkbox-checked-border-color);
45
49
  border-top: 0;
46
50
  transform: rotate(45deg) scale(1) translate(-50%, -50%);
47
51
  content: '';
@@ -59,6 +63,14 @@
59
63
  border-color: var(--yee-checkbox-border-color);
60
64
  }
61
65
 
66
+ &&-checked {
67
+ @{pls}-inner {
68
+ --ye-checkbox-checked-border-color: var(
69
+ --yee-checkbox-disabled-checked-border-color
70
+ );
71
+ }
72
+ }
73
+
62
74
  @{pls}-input {
63
75
  display: none;
64
76
  }
@@ -100,4 +112,12 @@
100
112
  }
101
113
  }
102
114
  }
115
+
116
+ &-group {
117
+ &-vertical {
118
+ display: flex;
119
+ flex-direction: column;
120
+ gap: 8px;
121
+ }
122
+ }
103
123
  }
@@ -72,6 +72,7 @@ GlobalCtxType contains configuration for all components. Here are some examples:
72
72
  | rate | [RateProps](/components/rate) | Rate component configuration |
73
73
  | search | [SearchProps](/components/search) | Search component configuration |
74
74
  | select | [SelectProps](/components/select) | Select component configuration |
75
+ | segmented | [SegmentedProps](/components/segmented) | Segmented component configuration |
75
76
  | skeleton | [SkeletonProps](/components/skeleton) | Skeleton component configuration |
76
77
  | slider | [SliderProps](/components/slider) | Slider component configuration |
77
78
  | space | [SpaceProps](/components/space) | Space component configuration |
@@ -88,6 +89,7 @@ GlobalCtxType contains configuration for all components. Here are some examples:
88
89
  | timeline | [TimelineProps](/components/timeline) | Timeline component configuration |
89
90
  | highlight | [HighlightProps](/components/highlight) | Highlight component configuration |
90
91
  | tooltip | [TooltipProps](/components/tooltip) | Tooltip component configuration |
92
+ | tour | [TourProps](/components/tour) | Tour component configuration |
91
93
  | tree | [TreeProps](/components/tree) | Tree component configuration |
92
94
  | treeselect | [TreeSelectProps](/components/tree-select) | TreeSelect component configuration |
93
95
  | trigger | [TriggerProps](/components/trigger) | Trigger component configuration |
@@ -72,6 +72,7 @@ GlobalCtxType 包含所有组件的配置。以下是一些示例:
72
72
  | rate | [RateProps](/components/rate) | Rate 组件配置 |
73
73
  | search | [SearchProps](/components/search) | Search 组件配置 |
74
74
  | select | [SelectProps](/components/select) | Select 组件配置 |
75
+ | segmented | [SegmentedProps](/components/segmented) | Segmented 组件配置 |
75
76
  | skeleton | [SkeletonProps](/components/skeleton) | Skeleton 组件配置 |
76
77
  | slider | [SliderProps](/components/slider) | Slider 组件配置 |
77
78
  | space | [SpaceProps](/components/space) | Space 组件配置 |
@@ -88,6 +89,7 @@ GlobalCtxType 包含所有组件的配置。以下是一些示例:
88
89
  | timeline | [TimelineProps](/components/timeline) | Timeline 组件配置 |
89
90
  | highlight | [HighlightProps](/components/highlight) | Highlight 组件配置 |
90
91
  | tooltip | [TooltipProps](/components/tooltip) | Tooltip 组件配置 |
92
+ | tour | [TourProps](/components/tour) | Tour 组件配置 |
91
93
  | tree | [TreeProps](/components/tree) | Tree 组件配置 |
92
94
  | treeselect | [TreeSelectProps](/components/tree-select) | TreeSelect 组件配置 |
93
95
  | trigger | [TriggerProps](/components/trigger) | Trigger 组件配置 |
@@ -40,6 +40,7 @@ import { RadioGroupProps, RadioProps } from '../Radio';
40
40
  import { RangePickerProps } from '../RangePicker';
41
41
  import { RateProps } from '../Rate';
42
42
  import { SearchProps } from '../Search';
43
+ import { SegmentedProps } from '../Segmented';
43
44
  import { SelectProps } from '../Select';
44
45
  import { SkeletonProps } from '../Skeleton';
45
46
  import { SliderProps } from '../Slider';
@@ -56,6 +57,7 @@ import { TextAreaProps } from '../TextArea';
56
57
  import { SpinProps } from '../Spin';
57
58
  import { TimelineProps } from '../Timeline';
58
59
  import { TooltipProps } from '../Tooltip';
60
+ import { TourProps } from '../Tour';
59
61
  import { TransferProps } from '../Transfer';
60
62
  import { TreeProps } from '../Tree';
61
63
  import { TreeSelectProps } from '../TreeSelect';
@@ -112,6 +114,7 @@ export type GlobalCtxType = {
112
114
  rate?: RateProps;
113
115
  search?: SearchProps;
114
116
  select?: SelectProps;
117
+ segmented?: SegmentedProps;
115
118
  skeleton?: SkeletonProps;
116
119
  slider?: SliderProps;
117
120
  space?: SpaceProps;
@@ -129,6 +132,7 @@ export type GlobalCtxType = {
129
132
  highlight?: HighlightProps;
130
133
  // timepicker?: TimePickerProps;
131
134
  tooltip?: TooltipProps;
135
+ tour?: TourProps;
132
136
  transfer?: TransferProps;
133
137
  tree?: TreeProps<unknown>;
134
138
  treeselect?: TreeSelectProps;
@@ -9,6 +9,7 @@ export default () => {
9
9
  { key: '2', label: 'Option 2' },
10
10
  { key: '3', label: 'Option 3' },
11
11
  ]}
12
+ keyboard
12
13
  />
13
14
  );
14
15
 
@@ -20,6 +20,7 @@ const Dropdown: FC<DropdownProps> = (baseprops) => {
20
20
  menu,
21
21
  open,
22
22
  defaultOpen,
23
+ arrow = { className: `${prefixCls}-arrow` },
23
24
  onOpenChange,
24
25
  ...rest
25
26
  } = props;
@@ -54,6 +55,7 @@ const Dropdown: FC<DropdownProps> = (baseprops) => {
54
55
  return (
55
56
  <Trigger
56
57
  {...rest}
58
+ arrow={arrow}
57
59
  popup={renderPopup() as any}
58
60
  placement={placement}
59
61
  popupClassName={`${prefixCls}-popup`}
@@ -4,4 +4,10 @@
4
4
  &-popup {
5
5
  background-color: var(--yee-dropdown-bg-color);
6
6
  }
7
+
8
+ &-arrow {
9
+ &::after {
10
+ background-color: var(--yee-dropdown-bg-color);
11
+ }
12
+ }
7
13
  }
@@ -1,10 +1,17 @@
1
1
  import clsx from 'clsx';
2
+ import { HelpCircle } from 'lucide-react';
2
3
  import { AnimatePresence, motion } from 'motion/react';
3
4
  import React, { useContext, useLayoutEffect, useMemo, useReducer } from 'react';
5
+ import Tooltip from '../Tooltip';
4
6
  import FieldContext from './FieldContext';
5
7
  import FormContext from './FormContext';
6
8
  import { ListNameContext } from './List';
7
- import type { FieldProps, InternalNamePath, NamePath } from './interface';
9
+ import type {
10
+ FieldConfigurableTooltip,
11
+ FieldProps,
12
+ InternalNamePath,
13
+ NamePath,
14
+ } from './interface';
8
15
 
9
16
  // Helper function: convert NamePath to InternalNamePath
10
17
  function getNamePath(path: NamePath): InternalNamePath {
@@ -20,13 +27,19 @@ function stringifyPath(path: InternalNamePath): string {
20
27
 
21
28
  const Field: React.FC<FieldProps> = (props) => {
22
29
  const {
30
+ style,
31
+ className,
32
+ styles,
33
+ classNames,
23
34
  children,
24
35
  name,
25
36
  rules,
26
37
  label,
38
+ tooltip,
27
39
  required,
28
40
  disabled,
29
41
  valuePropName = 'value',
42
+ layout = 'vertical',
30
43
  formatter,
31
44
  } = props;
32
45
  const {
@@ -77,6 +90,29 @@ const Field: React.FC<FieldProps> = (props) => {
77
90
 
78
91
  const validate = getFieldValidate?.(normalizedName);
79
92
 
93
+ // Normalize tooltip into { icon, ...tooltipProps }, or null when not provided.
94
+ // Everything except `icon` is forwarded to <Tooltip>, so any Tooltip prop
95
+ // (title, color, placement, ...) is supported automatically.
96
+ const tooltipConfig = useMemo<{
97
+ icon: React.ReactNode;
98
+ tooltipProps: Omit<FieldConfigurableTooltip, 'icon'>;
99
+ } | null>(() => {
100
+ if (tooltip === undefined || tooltip === null || tooltip === false)
101
+ return null;
102
+ if (
103
+ typeof tooltip === 'object' &&
104
+ !React.isValidElement(tooltip) &&
105
+ 'title' in (tooltip as object)
106
+ ) {
107
+ const { icon, ...rest } = tooltip as FieldConfigurableTooltip;
108
+ return { icon: icon ?? <HelpCircle size={14} />, tooltipProps: rest };
109
+ }
110
+ return {
111
+ icon: <HelpCircle size={14} />,
112
+ tooltipProps: { title: tooltip as React.ReactNode },
113
+ };
114
+ }, [tooltip]);
115
+
80
116
  const getControlled = (children: React.ReactElement) => {
81
117
  const props = children.props as any;
82
118
  const _value = getFieldValue?.(normalizedName) ?? undefined;
@@ -113,22 +149,47 @@ const Field: React.FC<FieldProps> = (props) => {
113
149
  };
114
150
  return (
115
151
  <div
116
- className={clsx(`${prefixCls}-item`, {
117
- [`${prefixCls}-item-${validate?.status}`]: validate && validate.status,
118
- })}
152
+ className={clsx(
153
+ `${prefixCls}-item`,
154
+ `${prefixCls}-item-${layout}`,
155
+ {
156
+ [`${prefixCls}-item-${validate?.status}`]:
157
+ validate && validate.status,
158
+ },
159
+ className,
160
+ )}
161
+ style={style}
119
162
  >
120
163
  <div className={clsx(`${prefixCls}-item-row`)}>
121
- {label ? (
164
+ {label || tooltipConfig ? (
122
165
  <label
123
166
  htmlFor={normalizedName}
124
- className={clsx(`${prefixCls}-item-label`, {
125
- [`${prefixCls}-item-required`]: isRequired(),
126
- })}
167
+ className={clsx(
168
+ `${prefixCls}-item-label`,
169
+ {
170
+ [`${prefixCls}-item-required`]: isRequired(),
171
+ },
172
+ classNames?.label,
173
+ )}
174
+ style={styles?.label}
127
175
  >
128
176
  {label}
177
+ {isRequired() ? (
178
+ <span className={`${prefixCls}-item-required-mark`}>*</span>
179
+ ) : null}
180
+ {tooltipConfig ? (
181
+ <Tooltip {...tooltipConfig.tooltipProps}>
182
+ <span className={`${prefixCls}-item-tooltip-icon`}>
183
+ {tooltipConfig.icon}
184
+ </span>
185
+ </Tooltip>
186
+ ) : null}
129
187
  </label>
130
188
  ) : null}
131
- <div className={`${prefixCls}-item-control`}>
189
+ <div
190
+ className={clsx(`${prefixCls}-item-control`, classNames?.control)}
191
+ style={styles?.control}
192
+ >
132
193
  {React.isValidElement(children) ? (
133
194
  React.cloneElement(
134
195
  children as React.ReactElement,
@@ -76,7 +76,7 @@ const Group: React.FC<FieldGroupProps> = (props) => {
76
76
  name: childNames,
77
77
  status: 'error',
78
78
  value: values,
79
- message: rule.message,
79
+ message: rule.message || '',
80
80
  });
81
81
  }
82
82
  }
@@ -145,6 +145,9 @@ const Group: React.FC<FieldGroupProps> = (props) => {
145
145
  })}
146
146
  >
147
147
  {label}
148
+ {required ? (
149
+ <span className={`${itemCls}-required-mark`}>*</span>
150
+ ) : null}
148
151
  </label>
149
152
  )}
150
153
  <div className={`${itemCls}-control`}>{content}</div>
@@ -15,13 +15,13 @@ export default () => {
15
15
  <Form form={form} onFinish={onFinish} layout="vertical">
16
16
  <Form.List
17
17
  name="users"
18
- initialValue={[
19
- {
20
- name: '',
21
- age: '',
22
- address: '',
23
- },
24
- ]}
18
+ // initialValue={[
19
+ // {
20
+ // name: '',
21
+ // age: '',
22
+ // address: '',
23
+ // },
24
+ // ]}
25
25
  >
26
26
  {(fields, operations) => {
27
27
  // Define column config - operations are accessible here
@@ -0,0 +1,72 @@
1
+ import {
2
+ Button,
3
+ Form,
4
+ Grid,
5
+ Input,
6
+ Space,
7
+ TextArea,
8
+ } from '@rainbow-oh/yee-c';
9
+ import { Info } from 'lucide-react';
10
+ import React from 'react';
11
+
12
+ export default () => {
13
+ const [form] = Form.useForm();
14
+
15
+ const onFinish = (values: Record<string, unknown>) => {
16
+ console.log('Received values:', values);
17
+ };
18
+
19
+ return (
20
+ <Form
21
+ form={form}
22
+ onFinish={onFinish}
23
+ layout="vertical"
24
+ data-testid="tooltip-form"
25
+ >
26
+ <Grid>
27
+ <Grid.Item>
28
+ <Form.Field
29
+ name="username"
30
+ label="Username"
31
+ tooltip="Used for login. 4-20 characters."
32
+ rules={[
33
+ { required: true, message: 'Please input your username!' },
34
+ ]}
35
+ >
36
+ <Input placeholder="Please input your username" />
37
+ </Form.Field>
38
+ </Grid.Item>
39
+
40
+ <Grid.Item>
41
+ <Form.Field
42
+ name="nickname"
43
+ label="Nickname"
44
+ // Custom trigger icon via the object form
45
+ tooltip={{
46
+ title: 'Shown publicly instead of your username.',
47
+ icon: <Info size={14} />,
48
+ }}
49
+ >
50
+ <Input placeholder="Please input your nickname" />
51
+ </Form.Field>
52
+ </Grid.Item>
53
+
54
+ <Grid.Item>
55
+ <Form.Field
56
+ name="bio"
57
+ label="Bio"
58
+ tooltip="A short introduction about yourself."
59
+ >
60
+ <TextArea />
61
+ </Form.Field>
62
+ </Grid.Item>
63
+ </Grid>
64
+ <Space style={{ marginTop: 16 }}>
65
+ <Button type="primary" htmlType="submit">
66
+ Submit
67
+ </Button>
68
+ <Button htmlType="reset">Reset</Button>
69
+ </Space>
70
+ </Form>
71
+ );
72
+ };
@@ -239,7 +239,7 @@ export class FormStore {
239
239
  status: 'error',
240
240
  value,
241
241
  ...rule,
242
- });
242
+ } as ValidateMessage);
243
243
  }
244
244
  });
245
245
  if (err.length > 0) {
@@ -15,6 +15,7 @@ High performance form component with data scope management.
15
15
  ## Code Demo
16
16
 
17
17
  <code src="./demo/basic.tsx" title="Basic" description="Basic usage of Form"></code>
18
+ <code src="./demo/tooltip.tsx" title="Label Tooltip" description="Show a help icon next to the label, with a customizable trigger icon"></code>
18
19
  <code src="./demo/group.tsx" title="Field Group" description="Field.Group with shared label and group-level validation"></code>
19
20
  <code src="./demo/watch.tsx" title="Field Watch" description="useWatch monitors field value changes for conditional rendering"></code>
20
21
  <code src="./demo/layout.tsx" title="Layout" description="Different form layouts"></code>
@@ -88,10 +89,15 @@ High performance form component with data scope management.
88
89
 
89
90
  | Property | Type | Description | Default |
90
91
  | -------- | --------------------- | ---------------- | ------- |
92
+ | className | `string` | Custom field root class name | - |
93
+ | style | `React.CSSProperties` | Custom field root style | - |
94
+ | classNames | `Partial<Record<'label' \| 'control', string>>` | Semantic structure class names | - |
95
+ | styles | `Partial<Record<'label' \| 'control', React.CSSProperties>>` | Semantic structure styles | - |
91
96
  | children | `React.ReactElement` | Child element | - |
92
97
  | name | `NamePath` | Field name | - |
93
98
  | rules | [Rule\[\]](#rule) | Validation rules | - |
94
99
  | label | `React.ReactNode` | Label | - |
100
+ | tooltip | `ReactNode \| (Omit<TooltipProps, 'children'> & { icon?: ReactNode })` | Help tooltip next to the label. Pass a string/node to use the default icon; pass an object to customize `icon` — all other props (`title`, `color`, `placement`, ...) are forwarded to Tooltip | - |
95
101
  | required | `boolean` | Whether required | - |
96
102
  | disabled | `boolean` | Whether disabled | - |
97
103
  | initialValue | `unknown` | Initial value | - |