@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
@@ -0,0 +1,10 @@
1
+ import { Segmented, Space } from '@rainbow-oh/yee-c';
2
+ import React from 'react';
3
+
4
+ export default () => (
5
+ <Space direction="vertical">
6
+ <Segmented size="small" options={['Small', 'B', 'C']} />
7
+ <Segmented options={['Default', 'B', 'C']} />
8
+ <Segmented size="large" options={['Large', 'B', 'C']} />
9
+ </Space>
10
+ );
@@ -0,0 +1,47 @@
1
+ ---
2
+ category: Components
3
+ title: Segmented
4
+ subtitle: Segmented
5
+ group:
6
+ title: Data Entry
7
+ order: 3
8
+ toc: 'content'
9
+ ---
10
+
11
+ # Segmented
12
+
13
+ Displays a group of mutually exclusive options, with the selected item highlighted by a sliding thumb. Commonly used for view/mode switching.
14
+
15
+ ## Code Demo
16
+
17
+ <code src="./demo/basic.tsx" title="Basic" description="Basic usage, supports controlled/uncontrolled, options accept config objects or primitive shorthand"></code>
18
+ <code src="./demo/disabled.tsx" title="Disabled" description="Disable a single option or the whole group"></code>
19
+ <code src="./demo/size.tsx" title="Size" description="small / default / large"></code>
20
+ <code src="./demo/block.tsx" title="Block & Icon" description="block fills the container width, options can carry icons"></code>
21
+
22
+ ## API
23
+
24
+ ### SegmentedProps
25
+
26
+ | Property | Type | Description | Default |
27
+ | --- | --- | --- | --- |
28
+ | prefixCls | `string` | Custom class name prefix | - |
29
+ | className | `string` | Custom root class name | - |
30
+ | style | `React.CSSProperties` | Custom root style | - |
31
+ | classNames | `Partial<Record<'item' \| 'thumb', string>>` | Semantic structure class names | - |
32
+ | styles | `Partial<Record<'item' \| 'thumb', React.CSSProperties>>` | Semantic structure styles | - |
33
+ | options | `Array<SegmentedOption>` | Options, supports config objects or `string \| number` shorthand | - |
34
+ | value | `string \| number` | Controlled selected value | - |
35
+ | defaultValue | `string \| number` | Default selected value | - |
36
+ | onChange | `(value: string \| number) => void` | Callback when selected value changes | - |
37
+ | disabled | `boolean` | Whether to disable all options | - |
38
+ | size | `'small' \| 'default' \| 'large'` | Size | - |
39
+ | block | `boolean` | Whether to fill the container width, options share the space equally | - |
40
+ | name | `string` | Name of the underlying radio input, for form grouping | - |
41
+
42
+ ### SegmentedOption
43
+
44
+ | Type | Description |
45
+ | --- | --- |
46
+ | `SegmentedLabeledOption` | `{ label?: ReactNode; value: string \| number; disabled?: boolean; icon?: ReactNode; className?: string }` |
47
+ | `SegmentedRawOption` | `string \| number`, shorthand form, label is the value cast to string |
@@ -0,0 +1,12 @@
1
+ import InternalSegmented from './segmented';
2
+
3
+ export type {
4
+ SegmentedOption,
5
+ SegmentedLabeledOption,
6
+ SegmentedRawOption,
7
+ SegmentedSemanticDOM,
8
+ SegmentedValue,
9
+ SegmentedProps,
10
+ } from './interface';
11
+
12
+ export default InternalSegmented;
@@ -0,0 +1,47 @@
1
+ ---
2
+ category: Components
3
+ title: Segmented
4
+ subtitle: 分段选择器
5
+ group:
6
+ title: 数据录入
7
+ order: 3
8
+ toc: 'content'
9
+ ---
10
+
11
+ # Segmented 分段选择器
12
+
13
+ 展示一组互斥选项,选中项以高亮滑块(thumb)跟随切换,常用于视图切换、模式切换等场景。
14
+
15
+ ## 代码演示
16
+
17
+ <code src="./demo/basic.tsx" title="基础用法" description="Segmented 的基础用法,支持受控与非受控,options 支持配置对象或原始值简写"></code>
18
+ <code src="./demo/disabled.tsx" title="禁用" description="禁用单个选项或整组"></code>
19
+ <code src="./demo/size.tsx" title="尺寸" description="small / default / large 三种尺寸"></code>
20
+ <code src="./demo/block.tsx" title="撑满与图标" description="block 撑满容器宽度,选项可带图标"></code>
21
+
22
+ ## API
23
+
24
+ ### SegmentedProps
25
+
26
+ | 属性名 | 类型 | 描述 | 默认值 |
27
+ | --- | --- | --- | --- |
28
+ | prefixCls | `string` | 自定义类名前缀 | - |
29
+ | className | `string` | 自定义根类名 | - |
30
+ | style | `React.CSSProperties` | 自定义根样式 | - |
31
+ | classNames | `Partial<Record<'item' \| 'thumb', string>>` | 语义化结构类名 | - |
32
+ | styles | `Partial<Record<'item' \| 'thumb', React.CSSProperties>>` | 语义化结构样式 | - |
33
+ | options | `Array<SegmentedOption>` | 选项,支持配置对象或 `string \| number` 简写 | - |
34
+ | value | `string \| number` | 受控选中值 | - |
35
+ | defaultValue | `string \| number` | 默认选中值 | - |
36
+ | onChange | `(value: string \| number) => void` | 值改变时的回调 | - |
37
+ | disabled | `boolean` | 是否禁用所有选项 | - |
38
+ | size | `'small' \| 'default' \| 'large'` | 尺寸 | - |
39
+ | block | `boolean` | 是否撑满容器宽度,选项等分 | - |
40
+ | name | `string` | 底层 radio input 的 name,用于表单分组 | - |
41
+
42
+ ### SegmentedOption
43
+
44
+ | 类型 | 描述 |
45
+ | --- | --- |
46
+ | `SegmentedLabeledOption` | `{ label?: ReactNode; value: string \| number; disabled?: boolean; icon?: ReactNode; className?: string }` |
47
+ | `SegmentedRawOption` | `string \| number`,简写形式,label 取值转字符串 |
@@ -0,0 +1,87 @@
1
+ import type { DataAttributeProps } from '../utils/types';
2
+
3
+ export type SegmentedValue = string | number;
4
+
5
+ export type SegmentedSemanticDOM = 'item' | 'thumb';
6
+
7
+ export interface SegmentedLabeledOption {
8
+ /**
9
+ * Custom item class name
10
+ */
11
+ className?: string;
12
+ /**
13
+ * Item label
14
+ */
15
+ label?: React.ReactNode;
16
+ /**
17
+ * Item value
18
+ */
19
+ value: SegmentedValue;
20
+ /**
21
+ * Whether the item is disabled
22
+ */
23
+ disabled?: boolean;
24
+ /**
25
+ * Item icon
26
+ */
27
+ icon?: React.ReactNode;
28
+ }
29
+
30
+ export type SegmentedRawOption = SegmentedValue;
31
+
32
+ export type SegmentedOption = SegmentedLabeledOption | SegmentedRawOption;
33
+
34
+ export interface SegmentedProps extends DataAttributeProps {
35
+ /**
36
+ * Custom prefix class name
37
+ */
38
+ prefixCls?: string;
39
+ /**
40
+ * Custom root class name
41
+ */
42
+ className?: string;
43
+ /**
44
+ * Custom root style
45
+ */
46
+ style?: React.CSSProperties;
47
+ /**
48
+ * Semantic structure class names
49
+ */
50
+ classNames?: Partial<Record<SegmentedSemanticDOM, string>>;
51
+ /**
52
+ * Semantic structure styles
53
+ */
54
+ styles?: Partial<Record<SegmentedSemanticDOM, React.CSSProperties>>;
55
+ /**
56
+ * Options, supports config objects or primitive shorthand (string/number)
57
+ */
58
+ options?: SegmentedOption[];
59
+ /**
60
+ * Controlled selected value
61
+ */
62
+ value?: SegmentedValue;
63
+ /**
64
+ * Default selected value
65
+ */
66
+ defaultValue?: SegmentedValue;
67
+ /**
68
+ * Callback when selected value changes
69
+ */
70
+ onChange?: (value: SegmentedValue) => void;
71
+ /**
72
+ * Whether to disable all options
73
+ */
74
+ disabled?: boolean;
75
+ /**
76
+ * Size
77
+ */
78
+ size?: 'small' | 'default' | 'large';
79
+ /**
80
+ * Whether to fill the container width, options share the space equally
81
+ */
82
+ block?: boolean;
83
+ /**
84
+ * Group name for the underlying radio inputs
85
+ */
86
+ name?: string;
87
+ }
@@ -0,0 +1,134 @@
1
+ import clsx from 'clsx';
2
+ import React, { useContext, useId, useMemo } from 'react';
3
+ import { motion } from 'motion/react';
4
+ import { GlobalContext } from '../Config-Provider';
5
+ import useMergedState from '../hooks/useMergedState';
6
+ import mergeContextToProps from '../utils/mergeContextToProps';
7
+ import type {
8
+ SegmentedLabeledOption,
9
+ SegmentedOption,
10
+ SegmentedProps,
11
+ SegmentedValue,
12
+ } from './interface';
13
+
14
+ import './style/index.less';
15
+
16
+ const normalizeOption = (
17
+ option: SegmentedOption,
18
+ ): SegmentedLabeledOption => {
19
+ if (typeof option === 'string' || typeof option === 'number') {
20
+ return { label: String(option), value: option };
21
+ }
22
+ return option;
23
+ };
24
+
25
+ const Segmented = React.forwardRef<HTMLDivElement, SegmentedProps>(
26
+ (baseprops, ref) => {
27
+ const { segmented } = useContext(GlobalContext);
28
+ const props = mergeContextToProps<SegmentedProps>(baseprops, segmented);
29
+
30
+ const uid = useId();
31
+
32
+ const {
33
+ prefixCls = 'yee-segmented',
34
+ className,
35
+ style,
36
+ classNames,
37
+ styles,
38
+ options = [],
39
+ value,
40
+ defaultValue,
41
+ disabled,
42
+ size,
43
+ block,
44
+ name = uid,
45
+ onChange,
46
+ ...rest
47
+ } = props;
48
+
49
+ const items = useMemo(
50
+ () => options.map(normalizeOption),
51
+ [options],
52
+ );
53
+
54
+ const firstValue = items[0]?.value;
55
+
56
+ const [mergedValue, setMergedValue] = useMergedState<
57
+ SegmentedValue | undefined
58
+ >(firstValue, {
59
+ value,
60
+ defaultValue,
61
+ });
62
+
63
+ const cls = clsx(
64
+ prefixCls,
65
+ {
66
+ [`${prefixCls}-${size}`]: size,
67
+ [`${prefixCls}-block`]: block,
68
+ [`${prefixCls}-disabled`]: disabled,
69
+ },
70
+ className,
71
+ );
72
+
73
+ const handleChange = (itemValue: SegmentedValue) => {
74
+ setMergedValue(itemValue);
75
+ onChange?.(itemValue);
76
+ };
77
+
78
+ return (
79
+ <div {...rest} ref={ref} className={cls} style={style} role="radiogroup">
80
+ {items.map((item) => {
81
+ const selected = item.value === mergedValue;
82
+ const itemDisabled = disabled || item.disabled;
83
+ return (
84
+ <label
85
+ key={item.value}
86
+ className={clsx(`${prefixCls}-item`, item.className, {
87
+ [`${prefixCls}-item-selected`]: selected,
88
+ [`${prefixCls}-item-disabled`]: itemDisabled,
89
+ })}
90
+ >
91
+ {selected ? (
92
+ <motion.span
93
+ layoutId={`${prefixCls}-thumb-${uid}`}
94
+ className={clsx(`${prefixCls}-thumb`, classNames?.thumb)}
95
+ style={styles?.thumb}
96
+ transition={{
97
+ type: 'spring',
98
+ visualDuration: 0.3,
99
+ bounce: 0.2,
100
+ }}
101
+ />
102
+ ) : null}
103
+ <span className={`${prefixCls}-item-inner`}>
104
+ {item.icon ? (
105
+ <span className={`${prefixCls}-item-icon`}>
106
+ {item.icon}
107
+ </span>
108
+ ) : null}
109
+ {item.label !== undefined && item.label !== null ? (
110
+ <span className={`${prefixCls}-item-label`}>
111
+ {item.label}
112
+ </span>
113
+ ) : null}
114
+ </span>
115
+ <input
116
+ type="radio"
117
+ className={`${prefixCls}-input`}
118
+ name={name}
119
+ value={item.value}
120
+ checked={selected}
121
+ disabled={itemDisabled}
122
+ onChange={() => handleChange(item.value)}
123
+ />
124
+ </label>
125
+ );
126
+ })}
127
+ </div>
128
+ );
129
+ },
130
+ );
131
+
132
+ Segmented.displayName = 'Segmented';
133
+
134
+ export default Segmented;
@@ -0,0 +1,104 @@
1
+ @pls: .yee-segmented;
2
+
3
+ @{pls} {
4
+ display: inline-flex;
5
+ box-sizing: border-box;
6
+ padding: var(--yee-segmented-padding);
7
+ border-radius: var(--yee-segmented-border-radius);
8
+ background-color: var(--yee-segmented-bg-color);
9
+
10
+ &-block {
11
+ display: flex;
12
+ width: 100%;
13
+
14
+ @{pls}-item {
15
+ flex: 1;
16
+ justify-content: center;
17
+ }
18
+ }
19
+
20
+ &-disabled {
21
+ cursor: not-allowed;
22
+ }
23
+
24
+ &-item {
25
+ position: relative;
26
+ display: inline-flex;
27
+ flex: none;
28
+ align-items: center;
29
+ justify-content: center;
30
+ box-sizing: border-box;
31
+ padding: var(--yee-segmented-item-padding);
32
+ border-radius: var(--yee-segmented-item-border-radius);
33
+ font-size: var(--yee-segmented-font-size);
34
+ color: var(--yee-segmented-item-color);
35
+ white-space: nowrap;
36
+ cursor: pointer;
37
+ user-select: none;
38
+ transition: color var(--yee-segmented-transition-duration) linear;
39
+
40
+ &:hover:not(&-disabled):not(&-selected) {
41
+ color: var(--yee-segmented-item-hover-color);
42
+ }
43
+ }
44
+
45
+ &-item-inner {
46
+ position: relative;
47
+ z-index: 1;
48
+ display: inline-flex;
49
+ align-items: center;
50
+ gap: var(--yee-segmented-item-gap);
51
+ }
52
+
53
+ &-item-icon {
54
+ display: inline-flex;
55
+ align-items: center;
56
+ }
57
+
58
+ &-item-selected {
59
+ color: var(--yee-segmented-item-selected-color);
60
+ cursor: default;
61
+ }
62
+
63
+ &-item-disabled {
64
+ color: var(--yee-segmented-item-disabled-color);
65
+ cursor: not-allowed;
66
+ }
67
+
68
+ &-thumb {
69
+ position: absolute;
70
+ inset: 0;
71
+ z-index: 0;
72
+ border-radius: var(--yee-segmented-thumb-border-radius);
73
+ background-color: var(--yee-segmented-thumb-bg-color);
74
+ box-shadow: var(--yee-segmented-thumb-box-shadow);
75
+ }
76
+
77
+ &-input {
78
+ position: absolute;
79
+ inset: 0;
80
+ width: 100%;
81
+ height: 100%;
82
+ margin: 0;
83
+ opacity: 0;
84
+ cursor: inherit;
85
+ }
86
+
87
+ &-item:has(&-input:focus-visible) {
88
+ box-shadow: 0 0 0 2px var(--yee-primary-color);
89
+ }
90
+
91
+ &-small {
92
+ @{pls}-item {
93
+ padding: var(--yee-segmented-item-small-padding);
94
+ font-size: var(--yee-segmented-font-small-size);
95
+ }
96
+ }
97
+
98
+ &-large {
99
+ @{pls}-item {
100
+ padding: var(--yee-segmented-item-large-padding);
101
+ font-size: var(--yee-segmented-font-large-size);
102
+ }
103
+ }
104
+ }
@@ -4,7 +4,7 @@ import React, { useContext } from 'react';
4
4
  import { OptionsCtx } from './options';
5
5
 
6
6
  const Option = (props: any) => {
7
- const { label, value, disabled, title } = props;
7
+ const { label, value, disabled, title, dataTestId } = props;
8
8
  const { prefixCls, selectedKeys, focusedKey, onSelect } =
9
9
  useContext(OptionsCtx);
10
10
 
@@ -37,6 +37,7 @@ const Option = (props: any) => {
37
37
  role="option"
38
38
  tabIndex={disabled ? undefined : 0}
39
39
  title={htmlTitle}
40
+ data-testid={dataTestId}
40
41
  >
41
42
  {label}
42
43
  </div>
@@ -16,6 +16,7 @@ const Options = forwardRef((props: any, ref: React.Ref<HTMLDivElement>) => {
16
16
  popupStyle,
17
17
  selectedKeys,
18
18
  focusedKey,
19
+ dataTestId,
19
20
  onSelect,
20
21
  ...rest
21
22
  } = props;
@@ -37,8 +38,12 @@ const Options = forwardRef((props: any, ref: React.Ref<HTMLDivElement>) => {
37
38
  <OptionsCtx.Provider
38
39
  value={{ prefixCls, selectedKeys, focusedKey, onSelect }}
39
40
  >
40
- {options.map((option: any) => (
41
- <Option {...option} key={option.value} />
41
+ {options.map((option: any, index: number) => (
42
+ <Option
43
+ {...option}
44
+ key={option.value}
45
+ dataTestId={`${dataTestId}-${index}`}
46
+ />
42
47
  ))}
43
48
  </OptionsCtx.Provider>
44
49
  )}
@@ -140,6 +140,7 @@ const Select = (baseprops: SelectProps) => {
140
140
  options={filteredOpts}
141
141
  focusedKey={focusedKey}
142
142
  selectedKeys={mergedValue}
143
+ dataTestId={rest['data-testid']}
143
144
  onSelect={handleSelect}
144
145
  onClose={() => setOpen(false)}
145
146
  ref={popupRef}
@@ -1,9 +1,9 @@
1
- import { Card, Skeleton, Space } from '@rainbow-oh/yee-c';
1
+ import { Card, Skeleton } from '@rainbow-oh/yee-c';
2
2
  import React from 'react';
3
3
 
4
4
  export default () => {
5
5
  return (
6
- <Space direction="vertical" gap={16} style={{ width: '100%' }}>
6
+ <div>
7
7
  <Card title="Basic Placeholder">
8
8
  <Skeleton />
9
9
  </Card>
@@ -19,6 +19,6 @@ export default () => {
19
19
  paragraph={{ rows: 3, width: ['100%', '80%', '60%'] }}
20
20
  />
21
21
  </Card>
22
- </Space>
22
+ </div>
23
23
  );
24
24
  };
@@ -27,6 +27,10 @@ export interface SpaceProps extends React.HTMLAttributes<HTMLDivElement> {
27
27
  * Alignment
28
28
  */
29
29
  align?: 'center' | 'start' | 'end' | 'baseline' | 'flex-start';
30
+ /***
31
+ * Justify content
32
+ * */
33
+ justify?: 'start' | 'end' | 'center' | 'space-around' | 'space-between';
30
34
  /**
31
35
  * Whether to take up the entire row
32
36
  */
@@ -14,6 +14,7 @@ const Space = forwardRef<HTMLDivElement, SpaceProps>((baseprops, ref) => {
14
14
  gap = 16,
15
15
  direction = 'horizontal',
16
16
  align = direction === 'horizontal' ? 'center' : undefined,
17
+ justify,
17
18
  wrap,
18
19
  className,
19
20
  style,
@@ -45,25 +46,47 @@ const Space = forwardRef<HTMLDivElement, SpaceProps>((baseprops, ref) => {
45
46
  if (!children) {
46
47
  return null;
47
48
  }
49
+
50
+ const loop = (childs: React.ReactNode[]) => {
51
+ let res = [] as React.ReactElement[];
52
+
53
+ childs.forEach((child, index) => {
54
+ const isItem =
55
+ React.isValidElement(child) && (child.type as any).isSpaceItem;
56
+ const itemClassName = isItem
57
+ ? (child.props as any).className
58
+ : undefined;
59
+ const itemStyle = isItem ? (child.props as any).style : undefined;
60
+ const itemChildren = isItem ? (child.props as any).children : child;
61
+
62
+ if (React.isValidElement(child) && child.type === React.Fragment) {
63
+ res = res.concat(
64
+ loop(React.Children.toArray((child.props as any).children)),
65
+ );
66
+ } else {
67
+ res.push(
68
+ <div
69
+ className={clsx(
70
+ `${prefixCls}-item`,
71
+ classNames?.item,
72
+ itemClassName,
73
+ )}
74
+ style={{ ...styles?.item, ...itemStyle }}
75
+ key={index}
76
+ >
77
+ {itemChildren}
78
+ </div>,
79
+ );
80
+ }
81
+ });
82
+ return res;
83
+ };
84
+
48
85
  const childs = React.Children.toArray(children).filter(
49
86
  (child) => child !== null && child !== undefined,
50
87
  );
51
- return childs.map((child, index) => {
52
- const isItem =
53
- React.isValidElement(child) && (child.type as any).isSpaceItem;
54
- const itemClassName = isItem ? (child.props as any).className : undefined;
55
- const itemStyle = isItem ? (child.props as any).style : undefined;
56
- const itemChildren = isItem ? (child.props as any).children : child;
57
- return (
58
- <div
59
- className={clsx(`${prefixCls}-item`, classNames?.item, itemClassName)}
60
- style={{ ...styles?.item, ...itemStyle }}
61
- key={index}
62
- >
63
- {itemChildren}
64
- </div>
65
- );
66
- });
88
+
89
+ return loop(childs);
67
90
  };
68
91
 
69
92
  const packed = pack();
@@ -76,6 +99,7 @@ const Space = forwardRef<HTMLDivElement, SpaceProps>((baseprops, ref) => {
76
99
  width: block ? '100%' : undefined,
77
100
  gap: gap + 'px',
78
101
  alignItems: getAlign(),
102
+ justifyContent: justify,
79
103
  ...style,
80
104
  }}
81
105
  ref={componentRef}
package/src/Spin/spin.tsx CHANGED
@@ -55,6 +55,7 @@ const Spin: FC<SpinProps> = (baseprops) => {
55
55
  styles={styles}
56
56
  size={size}
57
57
  variant={variant}
58
+ color={color}
58
59
  />
59
60
  {tip && (
60
61
  <span
@@ -6,12 +6,12 @@ export default () => {
6
6
  <div style={{ height: 300 }}>
7
7
  <Splitter>
8
8
  <Splitter.Item>
9
- <div style={{ padding: 16, backgroundColor: '#f0f0f0' }}>
9
+ <div style={{ margin: 8, padding: 16, backgroundColor: '#f0f0f0' }}>
10
10
  Left Panel
11
11
  </div>
12
12
  </Splitter.Item>
13
13
  <Splitter.Item>
14
- <div style={{ padding: 16, backgroundColor: '#e0e0e0' }}>
14
+ <div style={{ margin: 8, padding: 16, backgroundColor: '#e0e0e0' }}>
15
15
  Right Panel
16
16
  </div>
17
17
  </Splitter.Item>
@@ -3,15 +3,29 @@ import React from 'react';
3
3
 
4
4
  export default () => {
5
5
  return (
6
- <div style={{ height: 300 }}>
6
+ <div style={{ height: 500 }}>
7
7
  <Splitter layout="vertical">
8
- <Splitter.Item>
9
- <div style={{ padding: 16, backgroundColor: '#f0f0f0' }}>
8
+ <Splitter.Item size={250}>
9
+ <div
10
+ style={{
11
+ marginBottom: 8,
12
+ padding: 16,
13
+ backgroundColor: '#f0f0f0',
14
+ height: '100%',
15
+ }}
16
+ >
10
17
  Top Panel
11
18
  </div>
12
19
  </Splitter.Item>
13
- <Splitter.Item>
14
- <div style={{ padding: 16, backgroundColor: '#e0e0e0' }}>
20
+ <Splitter.Item size={250}>
21
+ <div
22
+ style={{
23
+ marginTop: 8,
24
+ padding: 16,
25
+ backgroundColor: '#e0e0e0',
26
+ height: '100%',
27
+ }}
28
+ >
15
29
  Bottom Panel
16
30
  </div>
17
31
  </Splitter.Item>
@@ -1,7 +1,11 @@
1
1
  import InternalSplitter from './splitter';
2
2
  import Item from './splitter-item';
3
3
 
4
- export type { SplitterItemProps, SplitterProps } from './interface';
4
+ export type {
5
+ SplitterItemProps,
6
+ PanelRect as SplitterPanelRect,
7
+ SplitterProps,
8
+ } from './interface';
5
9
 
6
10
  type SplitterType = typeof InternalSplitter & {
7
11
  Item: typeof Item;