rsuite 5.60.2 → 5.61.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 (438) hide show
  1. package/Accordion/styles/index.css +4 -4
  2. package/AutoComplete/styles/index.css +58 -22
  3. package/Button/styles/index.css +12 -8
  4. package/Button/styles/mixin.less +1 -1
  5. package/CHANGELOG.md +25 -0
  6. package/Calendar/styles/index.css +16 -15
  7. package/CascadeTree/styles/index.css +11 -9
  8. package/CascadeTree/styles/index.less +7 -0
  9. package/CascadeTree/styles/search.less +0 -10
  10. package/Cascader/styles/index.css +60 -31
  11. package/CheckPicker/styles/index.css +59 -27
  12. package/CheckPicker/styles/index.less +3 -3
  13. package/CheckTree/styles/index.css +160 -134
  14. package/CheckTree/styles/index.less +141 -1
  15. package/CheckTreePicker/styles/index.css +170 -126
  16. package/CheckTreePicker/styles/index.less +8 -181
  17. package/Checkbox/styles/index.css +7 -8
  18. package/Checkbox/styles/index.less +1 -5
  19. package/DateInput/styles/index.css +4 -4
  20. package/DatePicker/styles/index.css +62 -26
  21. package/DateRangeInput/styles/index.css +4 -4
  22. package/DateRangePicker/styles/index.css +67 -26
  23. package/DateRangePicker/styles/index.less +2 -0
  24. package/Dropdown/styles/index.css +14 -13
  25. package/Highlight/package.json +7 -0
  26. package/Highlight/styles/index.css +8 -0
  27. package/Highlight/styles/index.less +6 -0
  28. package/IconButton/styles/index.css +11 -10
  29. package/Input/styles/index.css +4 -4
  30. package/InputGroup/styles/index.css +18 -17
  31. package/InputGroup/styles/index.less +1 -1
  32. package/InputNumber/styles/index.css +19 -18
  33. package/InputPicker/styles/index.css +58 -22
  34. package/MultiCascadeTree/styles/index.css +61 -36
  35. package/MultiCascadeTree/styles/index.less +1 -1
  36. package/MultiCascader/styles/index.css +704 -679
  37. package/MultiCascader/styles/index.less +0 -1
  38. package/Nav/styles/index.css +15 -14
  39. package/Navbar/styles/index.css +14 -13
  40. package/Pagination/styles/index.css +62 -26
  41. package/Panel/styles/index.css +4 -4
  42. package/Placeholder/styles/index.css +2 -3
  43. package/Placeholder/styles/index.less +2 -3
  44. package/README.md +21 -39
  45. package/Radio/styles/index.css +7 -7
  46. package/Radio/styles/index.less +1 -5
  47. package/RangeSlider/styles/index.css +1 -1
  48. package/Rate/styles/index.css +1 -1
  49. package/Rate/styles/index.less +1 -1
  50. package/SelectPicker/styles/index.css +58 -22
  51. package/Slider/styles/index.css +1 -1
  52. package/Slider/styles/index.less +1 -1
  53. package/Steps/styles/index.css +6 -1
  54. package/Steps/styles/index.less +2 -1
  55. package/Tabs/styles/index.css +15 -14
  56. package/TagInput/styles/index.css +59 -27
  57. package/TagPicker/styles/index.css +59 -27
  58. package/Toggle/styles/index.css +10 -7
  59. package/Tree/styles/indent-line.less +8 -0
  60. package/Tree/styles/index.css +140 -141
  61. package/Tree/styles/index.less +188 -1
  62. package/Tree/styles/toggle.less +36 -0
  63. package/TreePicker/styles/index.css +142 -134
  64. package/TreePicker/styles/index.less +4 -234
  65. package/Uploader/styles/index.css +12 -11
  66. package/cjs/@types/common.d.ts +41 -4
  67. package/cjs/AutoComplete/AutoComplete.js +2 -1
  68. package/cjs/CascadeTree/CascadeTree.js +8 -7
  69. package/cjs/CascadeTree/SearchView.js +7 -14
  70. package/cjs/CascadeTree/hooks/usePaths.js +4 -4
  71. package/cjs/CascadeTree/hooks/useSearch.js +2 -1
  72. package/cjs/CascadeTree/utils.d.ts +0 -11
  73. package/cjs/CascadeTree/utils.js +0 -23
  74. package/cjs/Cascader/Cascader.js +17 -16
  75. package/cjs/CheckPicker/CheckPicker.js +26 -29
  76. package/cjs/CheckTree/CheckTree.d.ts +16 -0
  77. package/cjs/CheckTree/CheckTree.js +112 -0
  78. package/cjs/CheckTree/CheckTreeNode.d.ts +72 -0
  79. package/cjs/CheckTree/CheckTreeNode.js +117 -0
  80. package/cjs/CheckTree/CheckTreeView.d.ts +70 -0
  81. package/cjs/CheckTree/CheckTreeView.js +310 -0
  82. package/cjs/CheckTree/hooks/useTreeCheckState.d.ts +10 -0
  83. package/cjs/CheckTree/hooks/useTreeCheckState.js +93 -0
  84. package/cjs/CheckTree/hooks/useTreeNodeProps.d.ts +22 -0
  85. package/cjs/CheckTree/hooks/useTreeNodeProps.js +59 -0
  86. package/cjs/CheckTree/hooks/useTreeValue.d.ts +5 -0
  87. package/cjs/CheckTree/hooks/useTreeValue.js +21 -0
  88. package/cjs/CheckTree/index.d.ts +2 -14
  89. package/cjs/CheckTree/index.js +2 -23
  90. package/cjs/CheckTree/utils.d.ts +53 -0
  91. package/cjs/{CheckTreePicker → CheckTree}/utils.js +76 -26
  92. package/cjs/CheckTreePicker/CheckTreePicker.d.ts +30 -12
  93. package/cjs/CheckTreePicker/CheckTreePicker.js +153 -603
  94. package/cjs/CheckTreePicker/hooks/useFocusState.d.ts +16 -0
  95. package/cjs/CheckTreePicker/hooks/useFocusState.js +42 -0
  96. package/cjs/DatePicker/DatePicker.d.ts +4 -0
  97. package/cjs/DatePicker/DatePicker.js +20 -5
  98. package/cjs/DatePicker/types.d.ts +0 -4
  99. package/cjs/DateRangePicker/DateRangePicker.d.ts +51 -23
  100. package/cjs/DateRangePicker/DateRangePicker.js +71 -51
  101. package/cjs/DateRangePicker/hooks/useDateDisabled.d.ts +16 -0
  102. package/cjs/DateRangePicker/hooks/useDateDisabled.js +31 -0
  103. package/cjs/DateRangePicker/types.d.ts +1 -0
  104. package/cjs/Highlight/Highlight.d.ts +14 -0
  105. package/cjs/Highlight/Highlight.js +58 -0
  106. package/cjs/Highlight/index.d.ts +3 -0
  107. package/cjs/Highlight/index.js +9 -0
  108. package/cjs/Highlight/utils/highlightText.d.ts +5 -0
  109. package/cjs/Highlight/utils/highlightText.js +29 -0
  110. package/cjs/InputPicker/InputPicker.js +37 -41
  111. package/cjs/MultiCascadeTree/SearchView.js +6 -14
  112. package/cjs/MultiCascadeTree/hooks/useCascadeValue.js +15 -1
  113. package/cjs/MultiCascadeTree/hooks/useColumnData.js +2 -2
  114. package/cjs/MultiCascadeTree/hooks/useFlattenData.js +3 -3
  115. package/cjs/MultiCascadeTree/hooks/useSearch.js +2 -1
  116. package/cjs/MultiCascadeTree/utils.d.ts +4 -4
  117. package/cjs/MultiCascadeTree/utils.js +20 -11
  118. package/cjs/MultiCascader/MultiCascader.js +12 -12
  119. package/cjs/SelectPicker/SelectPicker.js +2 -6
  120. package/cjs/Tree/IndentLine.d.ts +3 -0
  121. package/cjs/Tree/IndentLine.js +18 -0
  122. package/cjs/Tree/Tree.d.ts +4 -92
  123. package/cjs/Tree/Tree.js +79 -20
  124. package/cjs/Tree/TreeNode.d.ts +101 -0
  125. package/cjs/Tree/TreeNode.js +147 -0
  126. package/cjs/Tree/TreeNodeToggle.d.ts +9 -0
  127. package/cjs/Tree/TreeNodeToggle.js +56 -0
  128. package/cjs/Tree/TreeProvider.d.ts +52 -0
  129. package/cjs/Tree/TreeProvider.js +84 -0
  130. package/cjs/Tree/TreeView.d.ts +68 -0
  131. package/cjs/Tree/TreeView.js +305 -0
  132. package/cjs/Tree/hooks/useExpandTree.d.ts +60 -0
  133. package/cjs/Tree/hooks/useExpandTree.js +77 -0
  134. package/cjs/Tree/hooks/useFlattenTree.d.ts +42 -0
  135. package/cjs/Tree/hooks/useFlattenTree.js +98 -0
  136. package/cjs/Tree/hooks/useFocusTree.d.ts +24 -0
  137. package/cjs/Tree/hooks/useFocusTree.js +158 -0
  138. package/cjs/Tree/hooks/useForceUpdate.d.ts +2 -0
  139. package/cjs/Tree/hooks/useForceUpdate.js +16 -0
  140. package/cjs/Tree/hooks/useTreeDrag.d.ts +32 -0
  141. package/cjs/Tree/hooks/useTreeDrag.js +268 -0
  142. package/cjs/Tree/hooks/useTreeNodeProps.d.ts +29 -0
  143. package/cjs/Tree/hooks/useTreeNodeProps.js +83 -0
  144. package/cjs/Tree/hooks/useTreeNodeRefs.d.ts +6 -0
  145. package/cjs/Tree/hooks/useTreeNodeRefs.js +22 -0
  146. package/cjs/Tree/hooks/useTreeSearch.d.ts +18 -0
  147. package/cjs/Tree/hooks/useTreeSearch.js +74 -0
  148. package/cjs/Tree/hooks/useTreeWithChildren.d.ts +14 -0
  149. package/cjs/Tree/hooks/useTreeWithChildren.js +64 -0
  150. package/cjs/Tree/hooks/useVirtualizedTreeData.d.ts +7 -0
  151. package/cjs/Tree/hooks/useVirtualizedTreeData.js +82 -0
  152. package/cjs/Tree/types.d.ts +257 -0
  153. package/cjs/Tree/types.js +33 -0
  154. package/cjs/Tree/utils/flattenTree.d.ts +25 -0
  155. package/cjs/Tree/utils/flattenTree.js +95 -0
  156. package/cjs/Tree/utils/focusableTree.d.ts +55 -0
  157. package/cjs/Tree/utils/focusableTree.js +157 -0
  158. package/cjs/Tree/utils/formatNodeRefKey.d.ts +4 -0
  159. package/cjs/Tree/utils/formatNodeRefKey.js +11 -0
  160. package/cjs/Tree/utils/getExpandItemValues.d.ts +11 -0
  161. package/cjs/Tree/utils/getExpandItemValues.js +21 -0
  162. package/cjs/Tree/utils/getNodeParentKeys.d.ts +5 -0
  163. package/cjs/Tree/utils/getNodeParentKeys.js +21 -0
  164. package/cjs/Tree/utils/getTreeActiveNode.d.ts +5 -0
  165. package/cjs/Tree/utils/getTreeActiveNode.js +21 -0
  166. package/cjs/Tree/utils/hasVisibleChildren.d.ts +5 -0
  167. package/cjs/Tree/utils/hasVisibleChildren.js +16 -0
  168. package/cjs/Tree/utils/indentTreeNode.d.ts +3 -0
  169. package/cjs/Tree/utils/indentTreeNode.js +18 -0
  170. package/cjs/Tree/utils/index.d.ts +11 -0
  171. package/cjs/Tree/utils/index.js +35 -0
  172. package/cjs/Tree/utils/isExpand.d.ts +6 -0
  173. package/cjs/Tree/utils/isExpand.js +14 -0
  174. package/cjs/Tree/utils/isSearching.d.ts +1 -0
  175. package/cjs/Tree/utils/isSearching.js +10 -0
  176. package/cjs/Tree/utils/treeKeyboardInteractions.d.ts +21 -0
  177. package/cjs/Tree/utils/treeKeyboardInteractions.js +49 -0
  178. package/cjs/TreePicker/TreePicker.d.ts +27 -21
  179. package/cjs/TreePicker/TreePicker.js +155 -575
  180. package/cjs/TreePicker/hooks/useFocusState.d.ts +20 -0
  181. package/cjs/TreePicker/hooks/useFocusState.js +53 -0
  182. package/cjs/index.d.ts +2 -0
  183. package/cjs/index.js +3 -1
  184. package/cjs/internals/Picker/Listbox.d.ts +40 -10
  185. package/cjs/internals/Picker/Listbox.js +21 -16
  186. package/cjs/internals/Picker/PickerIndicator.d.ts +2 -1
  187. package/cjs/internals/Picker/PickerIndicator.js +7 -3
  188. package/cjs/internals/Picker/hooks/useFocusItemValue.js +4 -4
  189. package/cjs/internals/Picker/hooks/usePickerRef.d.ts +1 -4
  190. package/cjs/internals/Picker/hooks/usePickerRef.js +3 -20
  191. package/cjs/internals/Picker/index.d.ts +0 -1
  192. package/cjs/internals/Picker/index.js +1 -4
  193. package/cjs/internals/Picker/utils.js +12 -12
  194. package/cjs/internals/{Picker → Tree}/TreeView.js +1 -1
  195. package/cjs/internals/Tree/index.d.ts +1 -0
  196. package/cjs/internals/Tree/index.js +8 -0
  197. package/cjs/internals/Tree/utils/filterNodesOfTree.d.ts +5 -0
  198. package/cjs/internals/Tree/utils/filterNodesOfTree.js +31 -0
  199. package/cjs/internals/Tree/utils/findNodeOfTree.d.ts +1 -0
  200. package/cjs/internals/Tree/utils/findNodeOfTree.js +26 -0
  201. package/cjs/internals/Tree/utils/getParentMap.d.ts +15 -0
  202. package/cjs/internals/Tree/utils/getParentMap.js +52 -0
  203. package/cjs/internals/Tree/utils/getPathTowardsItem.d.ts +4 -0
  204. package/cjs/internals/Tree/utils/getPathTowardsItem.js +16 -0
  205. package/cjs/internals/Tree/utils/index.d.ts +4 -0
  206. package/cjs/internals/Tree/utils/index.js +14 -0
  207. package/cjs/internals/Windowing/List.d.ts +1 -0
  208. package/cjs/internals/Windowing/List.js +5 -1
  209. package/cjs/internals/Windowing/index.d.ts +1 -1
  210. package/cjs/internals/Windowing/index.js +4 -2
  211. package/cjs/internals/hooks/index.d.ts +1 -0
  212. package/cjs/internals/hooks/index.js +8 -0
  213. package/cjs/internals/hooks/useFoucsVirtualListItem.d.ts +7 -0
  214. package/cjs/internals/hooks/useFoucsVirtualListItem.js +26 -0
  215. package/cjs/{utils → internals/utils}/getSafeRegExpString.d.ts +1 -1
  216. package/cjs/{utils → internals/utils}/getSafeRegExpString.js +1 -1
  217. package/cjs/internals/utils/index.d.ts +2 -0
  218. package/cjs/internals/utils/index.js +9 -0
  219. package/cjs/internals/utils/stringifyReactNode.d.ts +2 -0
  220. package/cjs/internals/utils/stringifyReactNode.js +17 -0
  221. package/cjs/utils/constants.d.ts +0 -2
  222. package/cjs/utils/constants.js +1 -6
  223. package/cjs/utils/getDataGroupBy.js +3 -3
  224. package/cjs/utils/index.d.ts +0 -3
  225. package/cjs/utils/index.js +1 -10
  226. package/cjs/utils/useIsomorphicLayoutEffect.d.ts +2 -2
  227. package/dist/rsuite-no-reset-rtl.css +292 -300
  228. package/dist/rsuite-no-reset-rtl.min.css +1 -1
  229. package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
  230. package/dist/rsuite-no-reset.css +294 -304
  231. package/dist/rsuite-no-reset.min.css +1 -1
  232. package/dist/rsuite-no-reset.min.css.map +1 -1
  233. package/dist/rsuite-rtl.css +293 -301
  234. package/dist/rsuite-rtl.min.css +1 -1
  235. package/dist/rsuite-rtl.min.css.map +1 -1
  236. package/dist/rsuite.css +295 -305
  237. package/dist/rsuite.js +611 -116
  238. package/dist/rsuite.js.map +1 -1
  239. package/dist/rsuite.min.css +1 -1
  240. package/dist/rsuite.min.css.map +1 -1
  241. package/dist/rsuite.min.js +1 -1
  242. package/dist/rsuite.min.js.map +1 -1
  243. package/esm/@types/common.d.ts +41 -4
  244. package/esm/AutoComplete/AutoComplete.js +2 -1
  245. package/esm/CascadeTree/CascadeTree.js +2 -1
  246. package/esm/CascadeTree/SearchView.js +6 -13
  247. package/esm/CascadeTree/hooks/usePaths.js +1 -1
  248. package/esm/CascadeTree/hooks/useSearch.js +2 -1
  249. package/esm/CascadeTree/utils.d.ts +0 -11
  250. package/esm/CascadeTree/utils.js +0 -22
  251. package/esm/Cascader/Cascader.js +2 -1
  252. package/esm/CheckPicker/CheckPicker.js +4 -7
  253. package/esm/CheckTree/CheckTree.d.ts +16 -0
  254. package/esm/CheckTree/CheckTree.js +105 -0
  255. package/esm/CheckTree/CheckTreeNode.d.ts +72 -0
  256. package/esm/CheckTree/CheckTreeNode.js +110 -0
  257. package/esm/CheckTree/CheckTreeView.d.ts +70 -0
  258. package/esm/CheckTree/CheckTreeView.js +304 -0
  259. package/esm/CheckTree/hooks/useTreeCheckState.d.ts +10 -0
  260. package/esm/CheckTree/hooks/useTreeCheckState.js +87 -0
  261. package/esm/CheckTree/hooks/useTreeNodeProps.d.ts +22 -0
  262. package/esm/CheckTree/hooks/useTreeNodeProps.js +52 -0
  263. package/esm/CheckTree/hooks/useTreeValue.d.ts +5 -0
  264. package/esm/CheckTree/hooks/useTreeValue.js +16 -0
  265. package/esm/CheckTree/index.d.ts +2 -14
  266. package/esm/CheckTree/index.js +1 -21
  267. package/esm/CheckTree/utils.d.ts +53 -0
  268. package/esm/{CheckTreePicker → CheckTree}/utils.js +72 -22
  269. package/esm/CheckTreePicker/CheckTreePicker.d.ts +30 -12
  270. package/esm/CheckTreePicker/CheckTreePicker.js +156 -607
  271. package/esm/CheckTreePicker/hooks/useFocusState.d.ts +16 -0
  272. package/esm/CheckTreePicker/hooks/useFocusState.js +37 -0
  273. package/esm/DatePicker/DatePicker.d.ts +4 -0
  274. package/esm/DatePicker/DatePicker.js +20 -5
  275. package/esm/DatePicker/types.d.ts +0 -4
  276. package/esm/DateRangePicker/DateRangePicker.d.ts +51 -23
  277. package/esm/DateRangePicker/DateRangePicker.js +71 -51
  278. package/esm/DateRangePicker/hooks/useDateDisabled.d.ts +16 -0
  279. package/esm/DateRangePicker/hooks/useDateDisabled.js +26 -0
  280. package/esm/DateRangePicker/types.d.ts +1 -0
  281. package/esm/Highlight/Highlight.d.ts +14 -0
  282. package/esm/Highlight/Highlight.js +52 -0
  283. package/esm/Highlight/index.d.ts +3 -0
  284. package/esm/Highlight/index.js +3 -0
  285. package/esm/Highlight/utils/highlightText.d.ts +5 -0
  286. package/esm/Highlight/utils/highlightText.js +25 -0
  287. package/esm/InputPicker/InputPicker.js +3 -7
  288. package/esm/MultiCascadeTree/SearchView.js +6 -14
  289. package/esm/MultiCascadeTree/hooks/useCascadeValue.js +15 -1
  290. package/esm/MultiCascadeTree/hooks/useColumnData.js +1 -1
  291. package/esm/MultiCascadeTree/hooks/useFlattenData.js +1 -1
  292. package/esm/MultiCascadeTree/hooks/useSearch.js +2 -1
  293. package/esm/MultiCascadeTree/utils.d.ts +4 -4
  294. package/esm/MultiCascadeTree/utils.js +18 -9
  295. package/esm/MultiCascader/MultiCascader.js +1 -1
  296. package/esm/SelectPicker/SelectPicker.js +2 -6
  297. package/esm/Tree/IndentLine.d.ts +3 -0
  298. package/esm/Tree/IndentLine.js +12 -0
  299. package/esm/Tree/Tree.d.ts +4 -92
  300. package/esm/Tree/Tree.js +78 -18
  301. package/esm/Tree/TreeNode.d.ts +101 -0
  302. package/esm/Tree/TreeNode.js +141 -0
  303. package/esm/Tree/TreeNodeToggle.d.ts +9 -0
  304. package/esm/Tree/TreeNodeToggle.js +50 -0
  305. package/esm/Tree/TreeProvider.d.ts +52 -0
  306. package/esm/Tree/TreeProvider.js +74 -0
  307. package/esm/Tree/TreeView.d.ts +68 -0
  308. package/esm/Tree/TreeView.js +299 -0
  309. package/esm/Tree/hooks/useExpandTree.d.ts +60 -0
  310. package/esm/Tree/hooks/useExpandTree.js +70 -0
  311. package/esm/Tree/hooks/useFlattenTree.d.ts +42 -0
  312. package/esm/Tree/hooks/useFlattenTree.js +92 -0
  313. package/esm/Tree/hooks/useFocusTree.d.ts +24 -0
  314. package/esm/Tree/hooks/useFocusTree.js +153 -0
  315. package/esm/Tree/hooks/useForceUpdate.d.ts +2 -0
  316. package/esm/Tree/hooks/useForceUpdate.js +11 -0
  317. package/esm/Tree/hooks/useTreeDrag.d.ts +32 -0
  318. package/esm/Tree/hooks/useTreeDrag.js +264 -0
  319. package/esm/Tree/hooks/useTreeNodeProps.d.ts +29 -0
  320. package/esm/Tree/hooks/useTreeNodeProps.js +76 -0
  321. package/esm/Tree/hooks/useTreeNodeRefs.d.ts +6 -0
  322. package/esm/Tree/hooks/useTreeNodeRefs.js +18 -0
  323. package/esm/Tree/hooks/useTreeSearch.d.ts +18 -0
  324. package/esm/Tree/hooks/useTreeSearch.js +69 -0
  325. package/esm/Tree/hooks/useTreeWithChildren.d.ts +14 -0
  326. package/esm/Tree/hooks/useTreeWithChildren.js +59 -0
  327. package/esm/Tree/hooks/useVirtualizedTreeData.d.ts +7 -0
  328. package/esm/Tree/hooks/useVirtualizedTreeData.js +77 -0
  329. package/esm/Tree/types.d.ts +257 -0
  330. package/esm/Tree/types.js +30 -0
  331. package/esm/Tree/utils/flattenTree.d.ts +25 -0
  332. package/esm/Tree/utils/flattenTree.js +88 -0
  333. package/esm/Tree/utils/focusableTree.d.ts +55 -0
  334. package/esm/Tree/utils/focusableTree.js +146 -0
  335. package/esm/Tree/utils/formatNodeRefKey.d.ts +4 -0
  336. package/esm/Tree/utils/formatNodeRefKey.js +7 -0
  337. package/esm/Tree/utils/getExpandItemValues.d.ts +11 -0
  338. package/esm/Tree/utils/getExpandItemValues.js +17 -0
  339. package/esm/Tree/utils/getNodeParentKeys.d.ts +5 -0
  340. package/esm/Tree/utils/getNodeParentKeys.js +17 -0
  341. package/esm/Tree/utils/getTreeActiveNode.d.ts +5 -0
  342. package/esm/Tree/utils/getTreeActiveNode.js +16 -0
  343. package/esm/Tree/utils/hasVisibleChildren.d.ts +5 -0
  344. package/esm/Tree/utils/hasVisibleChildren.js +12 -0
  345. package/esm/Tree/utils/indentTreeNode.d.ts +3 -0
  346. package/esm/Tree/utils/indentTreeNode.js +14 -0
  347. package/esm/Tree/utils/index.d.ts +11 -0
  348. package/esm/Tree/utils/index.js +14 -0
  349. package/esm/Tree/utils/isExpand.d.ts +6 -0
  350. package/esm/Tree/utils/isExpand.js +11 -0
  351. package/esm/Tree/utils/isSearching.d.ts +1 -0
  352. package/esm/Tree/utils/isSearching.js +5 -0
  353. package/esm/Tree/utils/treeKeyboardInteractions.d.ts +21 -0
  354. package/esm/Tree/utils/treeKeyboardInteractions.js +43 -0
  355. package/esm/TreePicker/TreePicker.d.ts +27 -21
  356. package/esm/TreePicker/TreePicker.js +158 -579
  357. package/esm/TreePicker/hooks/useFocusState.d.ts +20 -0
  358. package/esm/TreePicker/hooks/useFocusState.js +48 -0
  359. package/esm/index.d.ts +2 -0
  360. package/esm/index.js +1 -0
  361. package/esm/internals/Picker/Listbox.d.ts +40 -10
  362. package/esm/internals/Picker/Listbox.js +22 -16
  363. package/esm/internals/Picker/PickerIndicator.d.ts +2 -1
  364. package/esm/internals/Picker/PickerIndicator.js +7 -3
  365. package/esm/internals/Picker/hooks/useFocusItemValue.js +1 -1
  366. package/esm/internals/Picker/hooks/usePickerRef.d.ts +1 -4
  367. package/esm/internals/Picker/hooks/usePickerRef.js +3 -20
  368. package/esm/internals/Picker/index.d.ts +0 -1
  369. package/esm/internals/Picker/index.js +0 -1
  370. package/esm/internals/Picker/utils.js +1 -1
  371. package/esm/internals/{Picker → Tree}/TreeView.js +1 -1
  372. package/esm/internals/Tree/index.d.ts +1 -0
  373. package/esm/internals/Tree/index.js +2 -0
  374. package/esm/internals/Tree/utils/filterNodesOfTree.d.ts +5 -0
  375. package/esm/internals/Tree/utils/filterNodesOfTree.js +26 -0
  376. package/esm/internals/Tree/utils/findNodeOfTree.d.ts +1 -0
  377. package/esm/internals/Tree/utils/findNodeOfTree.js +22 -0
  378. package/esm/internals/Tree/utils/getParentMap.d.ts +15 -0
  379. package/esm/internals/Tree/utils/getParentMap.js +47 -0
  380. package/esm/internals/Tree/utils/getPathTowardsItem.d.ts +4 -0
  381. package/esm/internals/Tree/utils/getPathTowardsItem.js +12 -0
  382. package/esm/internals/Tree/utils/index.d.ts +4 -0
  383. package/esm/internals/Tree/utils/index.js +5 -0
  384. package/esm/internals/Windowing/List.d.ts +1 -0
  385. package/esm/internals/Windowing/List.js +3 -0
  386. package/esm/internals/Windowing/index.d.ts +1 -1
  387. package/esm/internals/Windowing/index.js +1 -1
  388. package/esm/internals/hooks/index.d.ts +1 -0
  389. package/esm/internals/hooks/index.js +2 -0
  390. package/esm/internals/hooks/useFoucsVirtualListItem.d.ts +7 -0
  391. package/esm/internals/hooks/useFoucsVirtualListItem.js +22 -0
  392. package/esm/{utils → internals/utils}/getSafeRegExpString.d.ts +1 -1
  393. package/esm/{utils → internals/utils}/getSafeRegExpString.js +1 -1
  394. package/esm/internals/utils/index.d.ts +2 -0
  395. package/esm/internals/utils/index.js +3 -0
  396. package/esm/internals/utils/stringifyReactNode.d.ts +2 -0
  397. package/esm/internals/utils/stringifyReactNode.js +12 -0
  398. package/esm/utils/constants.d.ts +0 -2
  399. package/esm/utils/constants.js +0 -3
  400. package/esm/utils/getDataGroupBy.js +1 -1
  401. package/esm/utils/index.d.ts +0 -3
  402. package/esm/utils/index.js +0 -3
  403. package/esm/utils/useIsomorphicLayoutEffect.d.ts +2 -2
  404. package/internals/Picker/styles/index.less +27 -1
  405. package/package.json +1 -1
  406. package/styles/color-modes/dark.less +5 -1
  407. package/styles/color-modes/high-contrast.less +8 -2
  408. package/styles/color-modes/light.less +10 -5
  409. package/styles/index.less +1 -0
  410. package/TreePicker/styles/mixin.less +0 -7
  411. package/cjs/CheckTreePicker/CheckTreeNode.d.ts +0 -28
  412. package/cjs/CheckTreePicker/CheckTreeNode.js +0 -140
  413. package/cjs/CheckTreePicker/utils.d.ts +0 -44
  414. package/cjs/Tree/TreeContext.d.ts +0 -6
  415. package/cjs/Tree/TreeContext.js +0 -10
  416. package/cjs/TreePicker/TreeNode.d.ts +0 -36
  417. package/cjs/TreePicker/TreeNode.js +0 -174
  418. package/cjs/utils/appendTooltip.d.ts +0 -10
  419. package/cjs/utils/appendTooltip.js +0 -20
  420. package/cjs/utils/stringToObject.d.ts +0 -2
  421. package/cjs/utils/stringToObject.js +0 -19
  422. package/cjs/utils/treeUtils.d.ts +0 -304
  423. package/cjs/utils/treeUtils.js +0 -1095
  424. package/esm/CheckTreePicker/CheckTreeNode.d.ts +0 -28
  425. package/esm/CheckTreePicker/CheckTreeNode.js +0 -133
  426. package/esm/CheckTreePicker/utils.d.ts +0 -44
  427. package/esm/Tree/TreeContext.d.ts +0 -6
  428. package/esm/Tree/TreeContext.js +0 -4
  429. package/esm/TreePicker/TreeNode.d.ts +0 -36
  430. package/esm/TreePicker/TreeNode.js +0 -167
  431. package/esm/utils/appendTooltip.d.ts +0 -10
  432. package/esm/utils/appendTooltip.js +0 -15
  433. package/esm/utils/stringToObject.d.ts +0 -2
  434. package/esm/utils/stringToObject.js +0 -14
  435. package/esm/utils/treeUtils.d.ts +0 -304
  436. package/esm/utils/treeUtils.js +0 -1043
  437. /package/cjs/internals/{Picker → Tree}/TreeView.d.ts +0 -0
  438. /package/esm/internals/{Picker → Tree}/TreeView.d.ts +0 -0
@@ -2,6 +2,7 @@
2
2
  .rs-theme-light {
3
3
  --rs-gray-0: #fff;
4
4
  --rs-gray-50: #f7f7fa;
5
+ --rs-gray-200: #e5e5ea;
5
6
  --rs-gray-400: #c5c6c7;
6
7
  --rs-gray-500: #a6a6a6;
7
8
  --rs-gray-600: #8e8e93;
@@ -15,6 +16,7 @@
15
16
  --rs-primary-900: #004299;
16
17
  --rs-text-link: var(--rs-primary-700);
17
18
  --rs-text-primary: var(--rs-gray-800);
19
+ --rs-text-secondary: var(--rs-gray-600);
18
20
  --rs-bg-overlay: var(--rs-gray-0);
19
21
  --rs-color-focus-ring: rgb(from var(--rs-primary-500) r g b / 25%);
20
22
  --rs-listbox-option-hover-bg: rgb(from var(--rs-primary-100) r g b / 50%);
@@ -22,6 +24,7 @@
22
24
  --rs-listbox-option-selected-bg: var(--rs-primary-50);
23
25
  --rs-listbox-option-disabled-text: var(--rs-gray-400);
24
26
  --rs-listbox-option-disabled-selected-text: var(--rs-primary-200);
27
+ --rs-tree-indent-line-color: rgba(0, 0, 0, 0.1);
25
28
  }
26
29
  @supports not (color: rgb(from white r g b)) {
27
30
  :root,
@@ -33,6 +36,7 @@
33
36
  .rs-theme-dark {
34
37
  --rs-gray-0: #fff;
35
38
  --rs-gray-50: #e9ebf0;
39
+ --rs-gray-200: #a4a9b3;
36
40
  --rs-gray-400: #6a6f76;
37
41
  --rs-gray-500: #5c6066;
38
42
  --rs-gray-600: #3c3f43;
@@ -46,6 +50,7 @@
46
50
  --rs-primary-900: #006199;
47
51
  --rs-text-link: var(--rs-primary-500);
48
52
  --rs-text-primary: var(--rs-gray-50);
53
+ --rs-text-secondary: var(--rs-gray-200);
49
54
  --rs-bg-overlay: var(--rs-gray-700);
50
55
  --rs-color-focus-ring: 0 0 0 3px rgb(from var(--rs-gray-500) r g b / 25%);
51
56
  --rs-listbox-option-hover-bg: var(--rs-gray-600);
@@ -53,6 +58,7 @@
53
58
  --rs-listbox-option-selected-bg: rgb(from var(--rs-primary-900) r g b / 20%);
54
59
  --rs-listbox-option-disabled-text: var(--rs-gray-500);
55
60
  --rs-listbox-option-disabled-selected-text: var(--rs-primary-200);
61
+ --rs-tree-indent-line-color: rgba(255, 255, 255, 0.1);
56
62
  }
57
63
  @supports not (color: rgb(from white r g b)) {
58
64
  .rs-theme-dark {
@@ -63,6 +69,7 @@
63
69
  .rs-theme-high-contrast {
64
70
  --rs-gray-0: #fff;
65
71
  --rs-gray-50: #e9ebf0;
72
+ --rs-gray-200: #a4a9b3;
66
73
  --rs-gray-400: #6a6f76;
67
74
  --rs-gray-500: #5c6066;
68
75
  --rs-gray-600: #3c3f43;
@@ -76,6 +83,7 @@
76
83
  --rs-primary-900: #8f9900;
77
84
  --rs-text-link: var(--rs-primary-500);
78
85
  --rs-text-primary: var(--rs-gray-50);
86
+ --rs-text-secondary: var(--rs-gray-200);
79
87
  --rs-bg-overlay: var(--rs-gray-800);
80
88
  --rs-color-focus-ring: var(--rs-gray-0);
81
89
  --rs-listbox-option-hover-bg: transparent;
@@ -83,6 +91,7 @@
83
91
  --rs-listbox-option-selected-bg: transparent;
84
92
  --rs-listbox-option-disabled-text: var(--rs-gray-500);
85
93
  --rs-listbox-option-disabled-selected-text: var(--rs-primary-200);
94
+ --rs-tree-indent-line-color: rgba(255, 255, 255, 0.1);
86
95
  }
87
96
  /* stylelint-disable */
88
97
  *[class*='rs-'] {
@@ -113,17 +122,64 @@
113
122
  .rs-picker-subtle.rs-picker-disabled .picker-subtle-toggle:active::after {
114
123
  display: none;
115
124
  }
125
+ .rs-tree-node-toggle {
126
+ cursor: pointer;
127
+ width: 24px;
128
+ padding: 4px;
129
+ display: -webkit-box;
130
+ display: -ms-flexbox;
131
+ display: flex;
132
+ -webkit-box-pack: center;
133
+ -ms-flex-pack: center;
134
+ justify-content: center;
135
+ -webkit-box-align: center;
136
+ -ms-flex-align: center;
137
+ align-items: center;
138
+ }
139
+ .rs-tree-node-toggle > .rs-tree-node-toggle-icon {
140
+ display: inline-block;
141
+ height: 16px;
142
+ width: 16px;
143
+ -webkit-user-select: none;
144
+ -moz-user-select: none;
145
+ -ms-user-select: none;
146
+ user-select: none;
147
+ }
148
+ .rs-tree-node-toggle > .rs-tree-node-custom-icon,
149
+ .rs-tree-node-toggle > .rs-tree-node-loading-icon {
150
+ display: -webkit-box;
151
+ display: -ms-flexbox;
152
+ display: flex;
153
+ -webkit-box-align: center;
154
+ -ms-flex-align: center;
155
+ align-items: center;
156
+ font-size: 14px;
157
+ }
158
+ .rs-tree-node-toggle-placeholder {
159
+ width: 24px;
160
+ height: 24px;
161
+ }
162
+ /* rtl:begin:ignore */
163
+ [dir='rtl'] .rs-tree-node-toggle {
164
+ right: 0;
165
+ padding-right: inherit;
166
+ }
167
+ /* rtl:end:ignore */
168
+ .rs-tree-indent-line {
169
+ border-left: 1px solid rgba(0, 0, 0, 0.1);
170
+ border-left: 1px solid var(--rs-tree-indent-line-color);
171
+ position: absolute;
172
+ width: 1px;
173
+ top: -10px;
174
+ left: 12px;
175
+ bottom: -4px;
176
+ }
116
177
  .rs-tree {
117
- max-height: 360px;
118
178
  height: 100%;
119
- overflow-y: auto;
120
179
  -webkit-box-flex: 1;
121
180
  -ms-flex: 1 1 auto;
122
181
  flex: 1 1 auto;
123
182
  }
124
- .rs-tree.rs-tree-virtualized {
125
- overflow: hidden;
126
- }
127
183
  .rs-tree-drag-preview {
128
184
  position: absolute;
129
185
  top: 0;
@@ -139,44 +195,66 @@
139
195
  box-shadow: 0 1px 8px rgba(0, 0, 0, 0.12);
140
196
  z-index: -1;
141
197
  }
198
+ .rs-tree .rs-search-box {
199
+ padding: 6px;
200
+ }
201
+ .rs-tree .rs-tree-empty {
202
+ padding: 6px 12px;
203
+ color: #8e8e93;
204
+ color: var(--rs-text-secondary);
205
+ }
206
+ .rs-tree-view {
207
+ max-height: 360px;
208
+ overflow-y: auto;
209
+ }
210
+ .rs-tree.rs-tree-virtualized .rs-tree-view {
211
+ overflow: hidden;
212
+ }
213
+ .rs-tree .rs-highlight-mark {
214
+ padding: 0;
215
+ }
216
+ .rs-tree-group {
217
+ padding-left: 18px;
218
+ }
142
219
  .rs-tree-node {
143
220
  position: relative;
144
221
  font-size: 0;
145
222
  text-align: left;
146
223
  margin: 0 0 4px 0;
224
+ display: -webkit-box;
225
+ display: -ms-flexbox;
226
+ display: flex;
227
+ -webkit-box-align: center;
228
+ -ms-flex-align: center;
229
+ align-items: center;
147
230
  }
148
- .rs-tree-node-label {
149
- position: relative;
150
- margin: 0;
151
- padding: 1px 1px 1px 16px;
152
- display: inline-block;
153
- cursor: pointer;
154
- font-size: 14px;
155
- line-height: 22px;
156
- }
157
- .rs-tree-node-label:focus-visible .rs-tree-node-label-content {
231
+ .rs-tree-node:focus-visible .rs-tree-node-label {
158
232
  outline: 3px solid rgb(from #3498ff r g b / 25%);
159
233
  outline: 3px solid var(--rs-color-focus-ring);
160
234
  }
161
- .rs-theme-high-contrast .rs-tree-node-label:focus-visible .rs-tree-node-label-content {
235
+ .rs-theme-high-contrast .rs-tree-node:focus-visible .rs-tree-node-label {
162
236
  outline-offset: 2px;
163
237
  }
164
- .rs-tree-node-label-content {
165
- padding: 6px 8px;
166
- display: inline-block;
238
+ .rs-tree-node-label {
239
+ position: relative;
240
+ margin: 1px;
241
+ cursor: pointer;
242
+ font-size: 14px;
243
+ line-height: 22px;
244
+ padding: 6px;
167
245
  border-radius: 6px;
168
246
  }
169
- .rs-tree-node-label-content:hover,
170
- .rs-tree-node-label-content:focus,
171
- .rs-tree-node-label-content.rs-tree-node-label-content-focus {
247
+ .rs-tree-node-label:hover,
248
+ .rs-tree-node-label:focus,
249
+ .rs-tree-node-label.rs-tree-node-label-focus {
172
250
  background-color: rgb(from #cce9ff r g b / 50%);
173
251
  background-color: var(--rs-listbox-option-hover-bg);
174
252
  color: #1675e0;
175
253
  color: var(--rs-listbox-option-hover-text);
176
254
  }
177
- .rs-theme-high-contrast .rs-tree-node-label-content:hover,
178
- .rs-theme-high-contrast .rs-tree-node-label-content:focus,
179
- .rs-theme-high-contrast .rs-tree-node-label-content.rs-tree-node-label-content-focus {
255
+ .rs-theme-high-contrast .rs-tree-node-label:hover,
256
+ .rs-theme-high-contrast .rs-tree-node-label:focus,
257
+ .rs-theme-high-contrast .rs-tree-node-label.rs-tree-node-label-focus {
180
258
  outline: 3px solid rgb(from #3498ff r g b / 25%);
181
259
  outline: 3px solid var(--rs-color-focus-ring);
182
260
  outline-offset: -3px;
@@ -185,12 +263,24 @@
185
263
  color: var(--rs-listbox-option-hover-text);
186
264
  text-decoration: underline;
187
265
  }
188
- .rs-theme-high-contrast .rs-theme-high-contrast .rs-tree-node-label-content:hover,
189
- .rs-theme-high-contrast .rs-theme-high-contrast .rs-tree-node-label-content:focus,
190
- .rs-theme-high-contrast .rs-theme-high-contrast .rs-tree-node-label-content.rs-tree-node-label-content-focus {
266
+ .rs-theme-high-contrast .rs-theme-high-contrast .rs-tree-node-label:hover,
267
+ .rs-theme-high-contrast .rs-theme-high-contrast .rs-tree-node-label:focus,
268
+ .rs-theme-high-contrast .rs-theme-high-contrast .rs-tree-node-label.rs-tree-node-label-focus {
191
269
  outline-offset: 2px;
192
270
  }
193
- .rs-tree-node-active .rs-tree-node-label-content {
271
+ .rs-tree-node-label::after {
272
+ content: '';
273
+ position: absolute;
274
+ width: 0;
275
+ height: 0;
276
+ left: -8px;
277
+ border-left: 6px solid #1675e0;
278
+ border-left: 6px solid var(--rs-text-link);
279
+ border-top: 3px solid transparent;
280
+ border-bottom: 3px solid transparent;
281
+ display: none;
282
+ }
283
+ .rs-tree-node-active .rs-tree-node-label {
194
284
  font-weight: bold;
195
285
  color: #1675e0;
196
286
  color: var(--rs-text-link);
@@ -205,152 +295,70 @@
205
295
  outline: 1px dashed #3498ff;
206
296
  outline: 1px dashed var(--rs-primary-500);
207
297
  }
208
- .rs-tree-node-drag-over-top.rs-tree-node-label-content {
298
+ .rs-tree-node-drag-over-top.rs-tree-node-label {
209
299
  border-top: 2px solid #1675e0 !important;
210
300
  border-top: 2px solid var(--rs-text-link) !important;
301
+ border-radius: 0;
211
302
  }
212
- .rs-tree-node-drag-over-top.rs-tree-node-label-content::after {
213
- content: '';
214
- position: absolute;
215
- top: -2px;
216
- left: 12px;
217
- width: 0;
218
- height: 0;
219
- border-left: 6px solid #1675e0;
220
- border-left: 6px solid var(--rs-text-link);
221
- border-top: 3px solid transparent;
222
- border-bottom: 3px solid transparent;
303
+ .rs-tree-node-drag-over-top.rs-tree-node-label::after {
304
+ display: block;
305
+ top: -4px;
223
306
  }
224
- .rs-tree-node-drag-over-bottom.rs-tree-node-label-content {
307
+ .rs-tree-node-drag-over-bottom.rs-tree-node-label {
225
308
  border-bottom: 2px solid #1675e0 !important;
226
309
  border-bottom: 2px solid var(--rs-text-link) !important;
310
+ border-radius: 0;
227
311
  }
228
- .rs-tree-node-drag-over-bottom.rs-tree-node-label-content::after {
229
- content: '';
230
- position: absolute;
231
- bottom: -2px;
232
- left: 12px;
233
- width: 0;
234
- height: 0;
235
- border-left: 6px solid #1675e0;
236
- border-left: 6px solid var(--rs-text-link);
237
- border-top: 3px solid transparent;
238
- border-bottom: 3px solid transparent;
312
+ .rs-tree-node-drag-over-bottom.rs-tree-node-label::after {
313
+ display: block;
314
+ bottom: -4px;
239
315
  }
240
- .rs-tree-node-drag-disabled.rs-tree-node-label-content {
316
+ .rs-tree-node-drag-disabled.rs-tree-node-label {
241
317
  cursor: not-allowed;
242
318
  }
243
- .rs-tree-node-disabled {
319
+ .rs-tree-node-disabled .rs-tree-node-label {
320
+ background: none;
244
321
  color: #c5c6c7;
245
322
  color: var(--rs-listbox-option-disabled-text);
246
323
  cursor: not-allowed;
247
324
  }
248
- .rs-tree-node-disabled > .rs-tree-node-label > .rs-tree-node-label-content {
325
+ .rs-tree-node-disabled > .rs-tree-node-label {
249
326
  cursor: not-allowed;
250
327
  color: #c5c6c7;
251
328
  color: var(--rs-listbox-option-disabled-text);
252
329
  }
253
- .rs-tree-node-disabled > .rs-tree-node-label > .rs-tree-node-label-content,
254
- .rs-tree-node-disabled > .rs-tree-node-label > .rs-tree-node-label-content:hover {
330
+ .rs-tree-node-disabled > .rs-tree-node-label,
331
+ .rs-tree-node-disabled > .rs-tree-node-label:hover {
255
332
  background-color: transparent;
256
333
  }
257
- .rs-tree-node-disabled.rs-tree-node-active > .rs-tree-node-label > .rs-tree-node-label-content,
258
- .rs-tree-node-disabled.rs-tree-node-active > .rs-tree-node-label > .rs-tree-node-label-content:hover {
334
+ .rs-tree-node-disabled.rs-tree-node-active > .rs-tree-node-label,
335
+ .rs-tree-node-disabled.rs-tree-node-active > .rs-tree-node-label:hover {
259
336
  color: #a6d7ff;
260
337
  color: var(--rs-listbox-option-disabled-selected-text);
261
338
  }
262
- .rs-tree-node:not(.rs-tree-node-disabled):focus > .rs-tree-node-label > .rs-tree-node-label-content {
339
+ .rs-tree-node:not(.rs-tree-node-disabled):focus > .rs-tree-node-label {
263
340
  background-color: #f2faff;
264
341
  background-color: var(--rs-listbox-option-selected-bg);
265
342
  }
266
- .rs-tree-node:not(.rs-tree-node-disabled) > .rs-tree-node-label:focus > .rs-tree-node-label-content {
343
+ .rs-tree-node:not(.rs-tree-node-disabled) > .rs-tree-node-label:focus {
267
344
  background-color: #f2faff;
268
345
  background-color: var(--rs-listbox-option-selected-bg);
269
346
  }
270
- .rs-tree-node-expand-icon-wrapper {
271
- display: inline-block;
272
- position: absolute;
273
- cursor: pointer;
274
- z-index: 1;
275
- }
276
- .rs-tree-node-expand-icon-wrapper > .rs-tree-node-expand-icon {
277
- display: inline-block;
278
- padding: 8px 0;
279
- padding-right: 8px;
280
- height: 36px;
281
- font-size: 16px;
282
- line-height: 22px;
283
- -webkit-transform: rotate(-90deg) /* rtl: rotate(90deg) translateX(-13px) translateY(-15px) */;
284
- transform: rotate(-90deg) /* rtl: rotate(90deg) translateX(-13px) translateY(-15px) */;
285
- -webkit-transform-origin: 1.5px 14px;
286
- transform-origin: 1.5px 14px;
287
- margin-top: 6px;
288
- -webkit-user-select: none;
289
- -moz-user-select: none;
290
- -ms-user-select: none;
291
- user-select: none;
292
- }
293
- .rs-tree-open > .rs-tree-node .rs-tree-node-expand-icon-wrapper > .rs-tree-node-expand-icon {
294
- -webkit-transform: rotate(0deg);
295
- transform: rotate(0deg);
296
- margin-left: 0;
297
- margin-top: 0;
298
- }
299
- .rs-tree-node-expand-icon-wrapper > .rs-tree-node-expanded {
300
- -webkit-transform: rotate(0deg);
301
- transform: rotate(0deg);
302
- margin-left: 0;
303
- margin-top: 0;
304
- }
305
- .rs-tree-node-expand-icon-wrapper > .rs-tree-node-custom-icon,
306
- .rs-tree-node-expand-icon-wrapper > .rs-tree-node-loading-icon {
307
- width: 14px;
308
- height: 36px;
309
- display: -webkit-box;
310
- display: -ms-flexbox;
311
- display: flex;
312
- -webkit-box-align: center;
313
- -ms-flex-align: center;
314
- align-items: center;
315
- font-size: 14px;
316
- }
317
347
  .rs-tree-node-children > .rs-tree-group {
318
348
  position: relative;
319
349
  display: none;
320
350
  }
321
- .rs-tree-open.rs-tree-node-children > .rs-tree-group {
351
+ .rs-tree-node-expanded.rs-tree-node-children > .rs-tree-group {
322
352
  display: block;
323
353
  }
324
- .rs-tree-indent-line {
325
- height: 100%;
326
- width: 1px;
327
- position: absolute;
328
- top: 0;
329
- margin-left: -13px;
330
- border-left: 1px solid rgba(0, 0, 0, 0.1);
331
- }
332
- .rs-picker-popup .rs-tree {
333
- padding-right: 12px;
334
- }
335
354
  .rs-picker-popup .rs-tree.rs-tree-virtualized {
336
355
  padding: 0;
337
356
  }
338
357
  .rs-picker-popup .rs-tree-node {
339
358
  margin: 0;
340
359
  }
341
- .rs-picker-popup .rs-tree-node > .rs-tree-node-label > .rs-tree-node-label-content {
342
- overflow: hidden;
343
- text-overflow: ellipsis;
344
- white-space: nowrap;
345
- width: 100%;
346
- display: block;
347
- line-height: 20px;
348
- }
349
- /* rtl:begin:ignore */
350
- [dir='rtl'] .rs-tree-node-expand-icon-wrapper {
351
- right: 0;
352
- padding-right: inherit;
360
+ .rs-picker-popup .rs-tree-view {
361
+ padding: 2px 4px;
353
362
  }
354
- /* rtl:end:ignore */
355
363
 
356
364
  /*# sourceMappingURL=index.css.map */
@@ -1,246 +1,16 @@
1
- @import '../../styles/common';
2
- @import '../../styles/mixins/listbox';
3
- @import '../../internals/Picker/styles/mixin';
4
- @import 'mixin';
5
-
6
- @custom-picker-tree-node-padding-vertical: @picker-tree-node-padding-vertical - 2px;
7
- // Tree Picker
8
- // ----------------------
9
-
10
- .rs-tree {
11
- max-height: 360px;
12
- height: 100%;
13
- overflow-y: auto;
14
- flex: 1 1 auto;
15
-
16
- &.rs-tree-virtualized {
17
- overflow: hidden;
18
- }
19
-
20
- &-drag-preview {
21
- position: absolute;
22
- top: 0;
23
- color: var(--rs-text-primary);
24
- background-color: var(--rs-bg-overlay);
25
- display: inline-block;
26
- margin: 0;
27
- padding: @picker-tree-node-padding-vertical @picker-tree-node-padding-horizontal;
28
- border-radius: 6px;
29
- box-shadow: 0 1px 8px rgba(0, 0, 0, 0.12);
30
- z-index: -1;
31
- }
32
- }
33
-
34
- .rs-tree-node {
35
- position: relative;
36
- // Clear host whitespace
37
- font-size: 0;
38
- text-align: left;
39
- margin: 0 0 4px 0;
40
-
41
- &-label {
42
- position: relative;
43
- margin: 0;
44
- //text gap
45
- padding: 1px 1px 1px (@picker-tree-arrow-down-width + 8px);
46
- display: inline-block;
47
- cursor: pointer;
48
- font-size: @picker-tree-node-font-size;
49
- line-height: @picker-tree-node-line-height;
50
-
51
- &:focus-visible {
52
- .rs-tree-node-label-content {
53
- .focus-ring();
54
- }
55
- }
56
-
57
- &-content {
58
- padding: 6px 8px;
59
- display: inline-block;
60
- border-radius: 6px;
61
-
62
- &:hover,
63
- &:focus,
64
- &&-focus {
65
- .listbox-option-active();
66
- }
67
- }
68
- }
69
-
70
- &-active &-label-content {
71
- .picker-item-active();
72
-
73
- color: var(--rs-text-link);
74
- background-color: var(--rs-listbox-option-selected-bg);
75
- }
76
-
77
- &-drag-over {
78
- background-color: var(--rs-listbox-option-hover-bg);
79
- }
80
-
81
- &-dragging {
82
- outline: 1px dashed var(--rs-primary-500);
83
- }
84
-
85
- &-drag-over-top {
86
- &.rs-tree-node-label-content {
87
- border-top: 2px solid var(--rs-text-link) !important;
88
-
89
- &::after {
90
- content: '';
91
- position: absolute;
92
- top: -2px;
93
- left: 12px;
94
- width: 0;
95
- height: 0;
96
- border-left: 6px solid var(--rs-text-link);
97
- border-top: 3px solid transparent;
98
- border-bottom: 3px solid transparent;
99
- }
100
- }
101
- }
102
-
103
- &-drag-over-bottom {
104
- &.rs-tree-node-label-content {
105
- border-bottom: 2px solid var(--rs-text-link) !important;
106
-
107
- &::after {
108
- content: '';
109
- position: absolute;
110
- bottom: -2px;
111
- left: 12px;
112
- width: 0;
113
- height: 0;
114
- border-left: 6px solid var(--rs-text-link);
115
- border-top: 3px solid transparent;
116
- border-bottom: 3px solid transparent;
117
- }
118
- }
119
- }
120
-
121
- &-drag-disabled {
122
- &.rs-tree-node-label-content {
123
- cursor: not-allowed;
124
- }
125
- }
126
-
127
- &-disabled {
128
- color: var(--rs-listbox-option-disabled-text);
129
- cursor: @cursor-disabled;
130
-
131
- > .rs-tree-node-label > .rs-tree-node-label-content {
132
- cursor: @cursor-disabled;
133
- color: var(--rs-listbox-option-disabled-text);
134
-
135
- &,
136
- &:hover {
137
- background-color: transparent;
138
- }
139
- }
140
- }
141
-
142
- &-disabled&-active > .rs-tree-node-label > .rs-tree-node-label-content {
143
- &,
144
- &:hover {
145
- color: var(--rs-listbox-option-disabled-selected-text);
146
- }
147
- }
148
-
149
- &:not(&-disabled):focus > .rs-tree-node-label > .rs-tree-node-label-content {
150
- background-color: var(--rs-listbox-option-selected-bg);
151
- }
152
-
153
- &:not(&-disabled) > .rs-tree-node-label:focus > .rs-tree-node-label-content {
154
- background-color: var(--rs-listbox-option-selected-bg);
155
- }
156
- }
157
-
158
- // expand icon
159
- .rs-tree-node-expand-icon-wrapper {
160
- display: inline-block;
161
- position: absolute;
162
- cursor: pointer;
163
- z-index: 1;
164
-
165
- > .rs-tree-node-expand-icon {
166
- display: inline-block;
167
- padding: @picker-tree-node-padding-vertical 0;
168
- padding-right: @picker-tree-arrow-down-gap;
169
- height: 36px;
170
- font-size: 16px;
171
- line-height: @picker-tree-node-line-height;
172
- transform: rotate(-90deg) /* rtl: rotate(90deg) translateX(-13px) translateY(-15px) */;
173
- transform-origin: 1.5px 14px;
174
- margin-top: 6px;
175
- user-select: none;
176
-
177
- // expand children tree
178
- .rs-tree-open > .rs-tree-node & {
179
- transform: rotate(0deg);
180
- margin-left: 0;
181
- margin-top: 0;
182
- }
183
- }
184
-
185
- > .rs-tree-node-expanded {
186
- transform: rotate(0deg);
187
- margin-left: 0;
188
- margin-top: 0;
189
- }
190
-
191
- > .rs-tree-node-custom-icon,
192
- > .rs-tree-node-loading-icon {
193
- .node-item-prepend-icon();
194
- }
195
- }
196
-
197
- // node children
198
- .rs-tree-node-children {
199
- > .rs-tree-group {
200
- position: relative;
201
- display: none;
202
-
203
- .rs-tree-open& {
204
- display: block;
205
- }
206
- }
207
- }
208
-
209
- .rs-tree-indent-line {
210
- height: 100%;
211
- width: 1px;
212
- position: absolute;
213
- top: 0;
214
- margin-left: -13px;
215
- border-left: 1px solid rgba(0, 0, 0, 0.1);
216
- }
1
+ @import '../../Tree/styles/index.less';
217
2
 
218
3
  .rs-picker-popup {
219
4
  .rs-tree {
220
- padding-right: @picker-menu-padding;
221
-
222
5
  &.rs-tree-virtualized {
223
6
  padding: 0;
224
7
  }
225
8
 
226
9
  &-node {
227
10
  margin: 0;
228
-
229
- > .rs-tree-node-label > .rs-tree-node-label-content {
230
- .ellipsis();
231
-
232
- display: block;
233
- line-height: @line-height-computed;
234
- }
235
11
  }
236
12
  }
13
+ .rs-tree-view {
14
+ padding: 2px 4px;
15
+ }
237
16
  }
238
-
239
- /* rtl:begin:ignore */
240
-
241
- [dir='rtl'] .rs-tree-node-expand-icon-wrapper {
242
- right: 0;
243
- padding-right: inherit;
244
- }
245
-
246
- /* rtl:end:ignore */