@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
@@ -39,29 +39,29 @@ var checkable_default = () => {
39
39
  const treeData = [
40
40
  {
41
41
  label: "parent 1",
42
- key: "0-0",
42
+ key: 1,
43
43
  children: [
44
44
  {
45
45
  label: "parent 1-0",
46
- key: "0-0-0",
46
+ key: 10,
47
47
  children: [
48
48
  {
49
49
  label: "leaf",
50
- key: "0-0-0-0"
50
+ key: 100
51
51
  },
52
52
  {
53
53
  label: "leaf",
54
- key: "0-0-0-1"
54
+ key: 101
55
55
  }
56
56
  ]
57
57
  },
58
58
  {
59
59
  label: "parent 1-1",
60
- key: "0-0-1",
60
+ key: 20,
61
61
  children: [
62
62
  {
63
63
  label: "leaf",
64
- key: "0-0-1-0"
64
+ key: 201
65
65
  }
66
66
  ]
67
67
  }
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const _default: () => React.JSX.Element;
3
+ export default _default;
@@ -0,0 +1,88 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // src/Tree/demo/draggable.tsx
30
+ var draggable_exports = {};
31
+ __export(draggable_exports, {
32
+ default: () => draggable_default
33
+ });
34
+ module.exports = __toCommonJS(draggable_exports);
35
+ var import_yee_c = require("../..");
36
+ var import_react = __toESM(require("react"));
37
+ var FIELD_NAMES = {
38
+ key: "key",
39
+ label: "label",
40
+ children: "children"
41
+ };
42
+ var draggable_default = () => {
43
+ const [data, setData] = (0, import_react.useState)([
44
+ {
45
+ label: "parent 1",
46
+ key: "0-0",
47
+ children: [
48
+ {
49
+ label: "parent 1-0",
50
+ key: "0-0-0",
51
+ children: [
52
+ { label: "leaf-1", key: "0-0-0-0" },
53
+ { label: "leaf-2", key: "0-0-0-1" }
54
+ ]
55
+ },
56
+ {
57
+ label: "parent 1-1",
58
+ key: "0-0-1",
59
+ children: [{ label: "leaf-3", key: "0-0-1-0" }]
60
+ }
61
+ ]
62
+ },
63
+ {
64
+ label: "parent 2",
65
+ key: "0-1",
66
+ children: [{ label: "leaf-4", key: "0-1-0" }]
67
+ }
68
+ ]);
69
+ return /* @__PURE__ */ import_react.default.createElement(
70
+ import_yee_c.Tree,
71
+ {
72
+ draggable: true,
73
+ defaultExpandAll: true,
74
+ dataSource: data,
75
+ onDrop: (info) => setData(
76
+ (prev) => (0, import_yee_c.moveTreeNode)(
77
+ prev,
78
+ {
79
+ dragKey: info.dragKey,
80
+ dropKey: info.dropKey,
81
+ position: info.position
82
+ },
83
+ FIELD_NAMES
84
+ )
85
+ )
86
+ }
87
+ );
88
+ };
@@ -38,29 +38,29 @@ var expanded_default = () => {
38
38
  const [expandedKeys, setExpandedKeys] = (0, import_react.useState)(["0-0", "0-0-0"]);
39
39
  const treeData = [
40
40
  {
41
- title: "parent 1",
41
+ label: "parent 1",
42
42
  key: "0-0",
43
43
  children: [
44
44
  {
45
- title: "parent 1-0",
45
+ label: "parent 1-0",
46
46
  key: "0-0-0",
47
47
  children: [
48
48
  {
49
- title: "leaf",
49
+ label: "leaf",
50
50
  key: "0-0-0-0"
51
51
  },
52
52
  {
53
- title: "leaf",
53
+ label: "leaf",
54
54
  key: "0-0-0-1"
55
55
  }
56
56
  ]
57
57
  },
58
58
  {
59
- title: "parent 1-1",
59
+ label: "parent 1-1",
60
60
  key: "0-0-1",
61
61
  children: [
62
62
  {
63
- title: "leaf",
63
+ label: "leaf",
64
64
  key: "0-0-1-0"
65
65
  }
66
66
  ]
@@ -1,3 +1,4 @@
1
1
  import Tree from './tree';
2
2
  export type { TreeProps } from './interface';
3
+ export { moveTreeNode } from './utils/tree-tools';
3
4
  export default Tree;
@@ -29,8 +29,10 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
29
29
  // src/Tree/index.ts
30
30
  var Tree_exports = {};
31
31
  __export(Tree_exports, {
32
- default: () => Tree_default
32
+ default: () => Tree_default,
33
+ moveTreeNode: () => import_tree_tools.moveTreeNode
33
34
  });
34
35
  module.exports = __toCommonJS(Tree_exports);
35
36
  var import_tree = __toESM(require("./tree"));
37
+ var import_tree_tools = require("./utils/tree-tools");
36
38
  var Tree_default = import_tree.default;
@@ -1,5 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  export type SemanticType = '';
3
+ export type DragPosition = 'before' | 'after' | 'inside';
4
+ export type { MoveInfo } from './utils/tree-tools';
3
5
  export type TreeNode<T> = {
4
6
  /**
5
7
  * uid
@@ -102,6 +104,30 @@ export interface TreeProps<T> {
102
104
  * Whether to allow dragging
103
105
  */
104
106
  draggable?: boolean;
107
+ /**
108
+ * Whether to allow dropping a dragged node at the given position.
109
+ * Return false to forbid the drop (cursor shows "no-drop").
110
+ */
111
+ allowDrop?: (info: {
112
+ dragNode: T;
113
+ dropNode: T;
114
+ position: DragPosition;
115
+ }) => boolean;
116
+ /**
117
+ * Callback after a node is dropped. Pure controlled: the Tree does not
118
+ * mutate dataSource — reorder it yourself (e.g. with `moveTreeNode`).
119
+ */
120
+ onDrop?: (info: {
121
+ /** Original data of the dragged node */
122
+ dragNode: T;
123
+ /** Original data of the target node */
124
+ dropNode: T;
125
+ dragKey: string | number;
126
+ dropKey: string | number;
127
+ position: DragPosition;
128
+ /** Convenience flag: true when position is 'before' or 'after' */
129
+ dropToGap: boolean;
130
+ }) => void;
105
131
  /**
106
132
  * Whether to show connecting lines
107
133
  */
@@ -2,11 +2,36 @@
2
2
 
3
3
  @{pls} {
4
4
  &-node {
5
+ position: relative;
5
6
  display: flex;
6
7
  align-items: center;
7
8
  justify-content: flex-start;
8
9
  height: var(--yee-tree-node-height);
9
10
 
11
+ &[draggable='true'] {
12
+ cursor: grab;
13
+ }
14
+
15
+ &-dragging {
16
+ opacity: 0.4;
17
+ }
18
+
19
+ &-drag-over-before {
20
+ box-shadow: inset 0 2px 0 0 var(--yee-primary-color);
21
+ }
22
+
23
+ &-drag-over-after {
24
+ box-shadow: inset 0 -2px 0 0 var(--yee-primary-color);
25
+ }
26
+
27
+ &-drag-over-inside {
28
+ background: color-mix(
29
+ in srgb,
30
+ var(--yee-primary-color) 12%,
31
+ transparent
32
+ );
33
+ }
34
+
10
35
  &-switcher {
11
36
  display: inline-flex;
12
37
  align-items: center;
@@ -2,8 +2,22 @@ var __create = Object.create;
2
2
  var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
6
  var __getProtoOf = Object.getPrototypeOf;
6
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
9
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
+ var __spreadValues = (a, b) => {
11
+ for (var prop in b || (b = {}))
12
+ if (__hasOwnProp.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ if (__getOwnPropSymbols)
15
+ for (var prop of __getOwnPropSymbols(b)) {
16
+ if (__propIsEnum.call(b, prop))
17
+ __defNormalProp(a, prop, b[prop]);
18
+ }
19
+ return a;
20
+ };
7
21
  var __export = (target, all) => {
8
22
  for (var name in all)
9
23
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -64,9 +78,16 @@ var Node = (props) => {
64
78
  checkedKeys,
65
79
  expandedKeys,
66
80
  switcherIcon,
81
+ draggable,
82
+ draggingKey,
83
+ dropState,
67
84
  onCheck,
68
85
  onSelect,
69
- onExpand
86
+ onExpand,
87
+ onNodeDragStart,
88
+ onNodeDragOver,
89
+ onNodeDragLeave,
90
+ onNodeDrop
70
91
  } = (0, import_react.useContext)(import_tree.TreeContext);
71
92
  const expanded = expandedKeys.includes(key);
72
93
  const checked = checkedKeys.includes(key);
@@ -143,15 +164,28 @@ var Node = (props) => {
143
164
  }
144
165
  ));
145
166
  };
167
+ const isDropTarget = (dropState == null ? void 0 : dropState.key) === key;
168
+ const dropPosition = isDropTarget ? dropState.position : null;
169
+ const dragProps = draggable && !disabled ? {
170
+ draggable: true,
171
+ onDragStart: (e) => onNodeDragStart(key, e),
172
+ onDragOver: (e) => onNodeDragOver(key, e),
173
+ onDragLeave: (e) => onNodeDragLeave(key, e),
174
+ onDrop: (e) => onNodeDrop(key, e)
175
+ } : {};
146
176
  return /* @__PURE__ */ import_react.default.createElement(
147
177
  "div",
148
- {
178
+ __spreadValues({
149
179
  className: (0, import_clsx.default)(`${prefixCls}-node`, {
150
180
  [`${prefixCls}-node-with-line`]: showLine,
151
181
  [`${prefixCls}-leaf-node`]: isLeaf,
152
- [`${prefixCls}-last-node`]: isLast
182
+ [`${prefixCls}-last-node`]: isLast,
183
+ [`${prefixCls}-node-dragging`]: draggingKey === key,
184
+ [`${prefixCls}-node-drag-over-before`]: dropPosition === "before",
185
+ [`${prefixCls}-node-drag-over-after`]: dropPosition === "after",
186
+ [`${prefixCls}-node-drag-over-inside`]: dropPosition === "inside"
153
187
  })
154
- },
188
+ }, dragProps),
155
189
  renderEmptyNodes(depth),
156
190
  renderExpandedIcon(),
157
191
  renderCheckbox(),
@@ -1,6 +1,10 @@
1
1
  import React, { ChangeEvent } from 'react';
2
- import type { TreeProps } from './interface';
2
+ import type { DragPosition, TreeProps } from './interface';
3
3
  import './style/index.less';
4
+ type DropState = {
5
+ key: string | number;
6
+ position: DragPosition;
7
+ } | null;
4
8
  export declare const TreeContext: React.Context<{
5
9
  prefixCls?: string | undefined;
6
10
  checkable?: boolean | undefined;
@@ -11,9 +15,16 @@ export declare const TreeContext: React.Context<{
11
15
  selectedKeys: Array<string | number>;
12
16
  checkedKeys: Array<string | number>;
13
17
  expandedKeys: Array<string | number>;
18
+ draggable?: boolean | undefined;
19
+ draggingKey: string | number | null;
20
+ dropState: DropState;
14
21
  onCheck: (event: ChangeEvent<HTMLInputElement>) => void;
15
22
  onSelect: (key: string | number) => void;
16
23
  onExpand: (key: string | number) => void;
24
+ onNodeDragStart: (key: string | number, e: React.DragEvent) => void;
25
+ onNodeDragOver: (key: string | number, e: React.DragEvent) => void;
26
+ onNodeDragLeave: (key: string | number, e: React.DragEvent) => void;
27
+ onNodeDrop: (key: string | number, e: React.DragEvent) => void;
17
28
  }>;
18
29
  declare const Tree: <T extends Record<string, unknown> = any>(baseprops: TreeProps<T>) => React.JSX.Element;
19
30
  export default Tree;
@@ -51,11 +51,22 @@ var TreeContext = (0, import_react.createContext)({
51
51
  selectedKeys: [],
52
52
  checkedKeys: [],
53
53
  expandedKeys: [],
54
+ draggable: false,
55
+ draggingKey: null,
56
+ dropState: null,
54
57
  onCheck: () => {
55
58
  },
56
59
  onSelect: () => {
57
60
  },
58
61
  onExpand: () => {
62
+ },
63
+ onNodeDragStart: () => {
64
+ },
65
+ onNodeDragOver: () => {
66
+ },
67
+ onNodeDragLeave: () => {
68
+ },
69
+ onNodeDrop: () => {
59
70
  }
60
71
  });
61
72
  var Tree = (baseprops) => {
@@ -80,6 +91,9 @@ var Tree = (baseprops) => {
80
91
  icon,
81
92
  showLine,
82
93
  switcherIcon,
94
+ draggable,
95
+ allowDrop,
96
+ onDrop,
83
97
  onSelect,
84
98
  onCheck,
85
99
  onExpand
@@ -179,25 +193,167 @@ var Tree = (baseprops) => {
179
193
  },
180
194
  [mergedExpandedKeys, itemMap, onExpand]
181
195
  );
182
- return /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_clsx.default)(prefixCls, className), style }, /* @__PURE__ */ import_react.default.createElement(
183
- TreeContext.Provider,
184
- {
185
- value: {
186
- prefixCls,
187
- checkable,
188
- showIcon,
189
- icon,
190
- showLine,
191
- switcherIcon,
192
- selectedKeys: mergedSelectedKeys,
193
- checkedKeys: mergedCheckedKeys,
194
- expandedKeys: mergedExpandedKeys,
195
- onCheck: handleCheck,
196
- onSelect: handleSelect,
197
- onExpand: handleExpand
196
+ const dragKeyRef = (0, import_react.useRef)(null);
197
+ const [draggingKey, setDraggingKey] = (0, import_react.useState)(null);
198
+ const [dropState, setDropState] = (0, import_react.useState)(null);
199
+ const isIllegalMove = (0, import_react.useCallback)(
200
+ (dragKey, dropKey) => {
201
+ if (dragKey === dropKey)
202
+ return true;
203
+ const dropNode = itemMap.get(dropKey);
204
+ return !!dropNode && dropNode.path.includes(dragKey);
205
+ },
206
+ [itemMap]
207
+ );
208
+ const resolvePosition = (0, import_react.useCallback)(
209
+ (rect, clientY) => {
210
+ const offset = (clientY - rect.top) / rect.height;
211
+ if (offset < 0.25)
212
+ return "before";
213
+ if (offset > 0.75)
214
+ return "after";
215
+ return "inside";
216
+ },
217
+ []
218
+ );
219
+ const handleDragStart = (0, import_react.useCallback)(
220
+ (key, e) => {
221
+ const node = itemMap.get(key);
222
+ if (node == null ? void 0 : node.disabled) {
223
+ e.preventDefault();
224
+ return;
225
+ }
226
+ dragKeyRef.current = key;
227
+ setDraggingKey(key);
228
+ if (e.dataTransfer) {
229
+ e.dataTransfer.effectAllowed = "move";
230
+ try {
231
+ e.dataTransfer.setData("text/plain", String(key));
232
+ } catch (e2) {
233
+ }
234
+ }
235
+ },
236
+ [itemMap]
237
+ );
238
+ const handleDragOver = (0, import_react.useCallback)(
239
+ (key, e) => {
240
+ const dragKey = dragKeyRef.current;
241
+ if (dragKey === null)
242
+ return;
243
+ if (isIllegalMove(dragKey, key))
244
+ return;
245
+ const dropNode = itemMap.get(key);
246
+ if (!dropNode || dropNode.disabled)
247
+ return;
248
+ const position = resolvePosition(
249
+ e.currentTarget.getBoundingClientRect(),
250
+ e.clientY
251
+ );
252
+ const dragNode = itemMap.get(dragKey);
253
+ if (allowDrop && dragNode && allowDrop({
254
+ dragNode: dragNode.original,
255
+ dropNode: dropNode.original,
256
+ position
257
+ }) === false) {
258
+ return;
198
259
  }
260
+ e.preventDefault();
261
+ if (e.dataTransfer)
262
+ e.dataTransfer.dropEffect = "move";
263
+ setDropState(
264
+ (prev) => prev && prev.key === key && prev.position === position ? prev : { key, position }
265
+ );
199
266
  },
200
- flatItems.map((node, index) => /* @__PURE__ */ import_react.default.createElement(import_tree_node.default, { node, key: node.key || index }))
201
- ));
267
+ [itemMap, isIllegalMove, resolvePosition, allowDrop]
268
+ );
269
+ const handleDragLeave = (0, import_react.useCallback)(
270
+ // Intentionally a no-op: dragleave fires spuriously when crossing child
271
+ // elements. Drop state is cleared in handleDragEnd at the Tree root.
272
+ () => {
273
+ },
274
+ []
275
+ );
276
+ const handleDrop = (0, import_react.useCallback)(
277
+ (key, e) => {
278
+ e.preventDefault();
279
+ const dragKey = dragKeyRef.current;
280
+ if (dragKey === null)
281
+ return;
282
+ const position = resolvePosition(
283
+ e.currentTarget.getBoundingClientRect(),
284
+ e.clientY
285
+ );
286
+ if (isIllegalMove(dragKey, key))
287
+ return;
288
+ const dragNode = itemMap.get(dragKey);
289
+ const dropNode = itemMap.get(key);
290
+ if (!dragNode || !dropNode)
291
+ return;
292
+ if (allowDrop && allowDrop({
293
+ dragNode: dragNode.original,
294
+ dropNode: dropNode.original,
295
+ position
296
+ }) === false) {
297
+ return;
298
+ }
299
+ onDrop == null ? void 0 : onDrop({
300
+ dragNode: dragNode.original,
301
+ dropNode: dropNode.original,
302
+ dragKey,
303
+ dropKey: key,
304
+ position,
305
+ dropToGap: position !== "inside"
306
+ });
307
+ if (position === "inside") {
308
+ setMergedExpandedKeys(
309
+ (prev) => prev.includes(key) ? prev : [...prev, key]
310
+ );
311
+ }
312
+ dragKeyRef.current = null;
313
+ setDraggingKey(null);
314
+ setDropState(null);
315
+ },
316
+ [itemMap, isIllegalMove, resolvePosition, allowDrop, onDrop]
317
+ );
318
+ const handleDragEnd = (0, import_react.useCallback)(() => {
319
+ dragKeyRef.current = null;
320
+ setDraggingKey(null);
321
+ setDropState(null);
322
+ }, []);
323
+ return /* @__PURE__ */ import_react.default.createElement(
324
+ "div",
325
+ {
326
+ className: (0, import_clsx.default)(prefixCls, className),
327
+ style,
328
+ onDragEnd: handleDragEnd
329
+ },
330
+ /* @__PURE__ */ import_react.default.createElement(
331
+ TreeContext.Provider,
332
+ {
333
+ value: {
334
+ prefixCls,
335
+ checkable,
336
+ showIcon,
337
+ icon,
338
+ showLine,
339
+ switcherIcon,
340
+ selectedKeys: mergedSelectedKeys,
341
+ checkedKeys: mergedCheckedKeys,
342
+ expandedKeys: mergedExpandedKeys,
343
+ draggable,
344
+ draggingKey,
345
+ dropState,
346
+ onCheck: handleCheck,
347
+ onSelect: handleSelect,
348
+ onExpand: handleExpand,
349
+ onNodeDragStart: handleDragStart,
350
+ onNodeDragOver: handleDragOver,
351
+ onNodeDragLeave: handleDragLeave,
352
+ onNodeDrop: handleDrop
353
+ }
354
+ },
355
+ flatItems.map((node, index) => /* @__PURE__ */ import_react.default.createElement(import_tree_node.default, { node, key: node.key || index }))
356
+ )
357
+ );
202
358
  };
203
359
  var tree_default = Tree;
@@ -1,4 +1,25 @@
1
1
  import { TreeNode } from '../interface';
2
+ export type DragPosition = 'before' | 'after' | 'inside';
3
+ export interface MoveInfo {
4
+ dragKey: string | number;
5
+ dropKey: string | number;
6
+ position: DragPosition;
7
+ }
8
+ /**
9
+ * Reorder the nested dataSource immutably after a drag.
10
+ *
11
+ * Two phases: detach the dragged subtree, then insert it at the drop target.
12
+ * Only the modified path gets new arrays + shallow-cloned wrappers; untouched
13
+ * nodes are reused by reference (data may carry non-cloneable values like
14
+ * React elements / functions in `icon`).
15
+ *
16
+ * Returns a brand-new root array; returns the input unchanged if dragKey is
17
+ * not found or drag and drop resolve to the same location.
18
+ */
19
+ export declare function moveTreeNode<T extends Record<string, unknown>>(tree: T | T[], info: MoveInfo, fieldNames: {
20
+ key: keyof T;
21
+ children: keyof T;
22
+ }): T[];
2
23
  export declare function getChildKeys<T extends Record<string, unknown>>(data: T, fieldNames: {
3
24
  key: keyof T;
4
25
  children: keyof T;