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
@@ -51,7 +51,7 @@
51
51
  --rs-btn-default-active-bg: var(--rs-gray-300);
52
52
  --rs-btn-default-active-text: var(--rs-gray-900);
53
53
  --rs-btn-default-disabled-bg: var(--rs-gray-50);
54
- --rs-btn-default-disabled-text: var(--rs-gray-400);
54
+ --rs-btn-default-disabled-text: var(--rs-gray-600);
55
55
  --rs-btn-primary-bg: var(--rs-primary-500);
56
56
  --rs-btn-primary-text: var(--rs-gray-0);
57
57
  --rs-btn-primary-hover-bg: var(--rs-primary-600);
@@ -236,7 +236,8 @@
236
236
  --rs-btn-default-active-bg: transparent;
237
237
  --rs-btn-default-active-text: var(--rs-primary-200);
238
238
  --rs-btn-default-disabled-bg: transparent;
239
- --rs-btn-default-disabled-text: var(--rs-primary-500);
239
+ --rs-btn-default-disabled-text: var(--rs-primary-900);
240
+ --rs-btn-default-disabled-boreder-color: var(--rs-gray-100);
240
241
  --rs-btn-primary-bg: var(--rs-primary-500);
241
242
  --rs-btn-primary-text: var(--rs-gray-900);
242
243
  --rs-btn-primary-hover-bg: var(--rs-primary-400);
@@ -383,14 +384,14 @@
383
384
  .rs-btn:disabled,
384
385
  .rs-btn.rs-btn-disabled {
385
386
  cursor: not-allowed;
386
- color: #c5c6c7;
387
+ color: #8e8e93;
387
388
  color: var(--rs-btn-default-disabled-text);
388
389
  background-color: #f7f7fa;
389
390
  background-color: var(--rs-btn-default-disabled-bg);
390
391
  }
391
392
  .rs-theme-high-contrast .rs-btn:disabled,
392
393
  .rs-theme-high-contrast .rs-btn.rs-btn-disabled {
393
- opacity: 0.5;
394
+ border-color: var(--rs-btn-default-disabled-boreder-color);
394
395
  }
395
396
  @media not all and (min-resolution: 0.001dpcm) {
396
397
  .rs-btn {
@@ -438,7 +439,7 @@
438
439
  }
439
440
  .rs-theme-high-contrast .rs-btn-primary:disabled,
440
441
  .rs-theme-high-contrast .rs-btn-primary.rs-btn-disabled {
441
- opacity: 0.5;
442
+ border-color: var(--rs-btn-default-disabled-boreder-color);
442
443
  }
443
444
  .rs-btn-subtle {
444
445
  color: #575757;
@@ -468,7 +469,7 @@
468
469
  }
469
470
  .rs-theme-high-contrast .rs-btn-subtle:disabled,
470
471
  .rs-theme-high-contrast .rs-btn-subtle.rs-btn-disabled {
471
- opacity: 0.5;
472
+ border-color: var(--rs-btn-default-disabled-boreder-color);
472
473
  }
473
474
  .rs-btn-link {
474
475
  color: #1675e0;
@@ -499,7 +500,7 @@
499
500
  }
500
501
  .rs-theme-high-contrast .rs-btn-link:disabled,
501
502
  .rs-theme-high-contrast .rs-btn-link.rs-btn-disabled {
502
- opacity: 0.5;
503
+ border-color: var(--rs-btn-default-disabled-boreder-color);
503
504
  }
504
505
  .rs-btn-ghost {
505
506
  color: #1675e0;
@@ -541,7 +542,7 @@
541
542
  }
542
543
  .rs-theme-high-contrast .rs-btn-ghost:disabled,
543
544
  .rs-theme-high-contrast .rs-btn-ghost.rs-btn-disabled {
544
- opacity: 0.5;
545
+ border-color: var(--rs-btn-default-disabled-boreder-color);
545
546
  }
546
547
  .rs-btn-red {
547
548
  --rs-btn-primary-bg: var(--rs-red-500);
@@ -1439,14 +1440,14 @@
1439
1440
  .rs-uploader-picture .rs-uploader-trigger-btn:disabled,
1440
1441
  .rs-uploader-picture .rs-uploader-trigger-btn.rs-btn-disabled {
1441
1442
  cursor: not-allowed;
1442
- color: #c5c6c7;
1443
+ color: #8e8e93;
1443
1444
  color: var(--rs-btn-default-disabled-text);
1444
1445
  background-color: #f7f7fa;
1445
1446
  background-color: var(--rs-btn-default-disabled-bg);
1446
1447
  }
1447
1448
  .rs-theme-high-contrast .rs-uploader-picture .rs-uploader-trigger-btn:disabled,
1448
1449
  .rs-theme-high-contrast .rs-uploader-picture .rs-uploader-trigger-btn.rs-btn-disabled {
1449
- opacity: 0.5;
1450
+ border-color: var(--rs-btn-default-disabled-boreder-color);
1450
1451
  }
1451
1452
  @media not all and (min-resolution: 0.001dpcm) {
1452
1453
  .rs-uploader-picture .rs-uploader-trigger-btn {
@@ -1477,7 +1478,7 @@
1477
1478
  }
1478
1479
  .rs-theme-high-contrast .rs-uploader-picture .rs-uploader-trigger-btn:disabled,
1479
1480
  .rs-theme-high-contrast .rs-uploader-picture .rs-uploader-trigger-btn.rs-btn-disabled {
1480
- opacity: 0.5;
1481
+ border-color: var(--rs-btn-default-disabled-boreder-color);
1481
1482
  }
1482
1483
  .rs-uploader-picture .rs-uploader-trigger.rs-uploader-trigger-disabled .rs-uploader-trigger-btn {
1483
1484
  color: #575757 !important;
@@ -88,6 +88,29 @@ export interface PickerBaseProps<L = any> extends WithAsProps, AnimationEventPro
88
88
  /** Custom render extra footer */
89
89
  renderExtraFooter?: () => React.ReactNode;
90
90
  }
91
+ export interface DeprecatedPickerProps {
92
+ /**
93
+ * Custom menu class name
94
+ * @deprecated Use `popupClassName` instead
95
+ */
96
+ menuClassName?: string;
97
+ /**
98
+ * Custom menu style
99
+ * @deprecated Use `popupStyle` instead
100
+ */
101
+ menuStyle?: React.CSSProperties;
102
+ /**
103
+ * Picker menu auto width
104
+ *
105
+ * @deprecated Use `popupAutoWidth` instead
106
+ */
107
+ menuAutoWidth?: boolean;
108
+ /**
109
+ * Custom render tree
110
+ * @deprecated Use `renderTree` instead
111
+ */
112
+ renderMenu?: (menu: React.ReactNode) => React.ReactNode;
113
+ }
91
114
  export interface FormControlBaseProps<ValueType = React.InputHTMLAttributes<HTMLInputElement>['value']> {
92
115
  /** Name of the form field */
93
116
  name?: string;
@@ -109,14 +132,28 @@ export interface FormControlBaseProps<ValueType = React.InputHTMLAttributes<HTML
109
132
  readOnly?: boolean;
110
133
  }
111
134
  export declare type ToArray<V> = V extends any[] ? V : V[];
135
+ /**
136
+ * Represents the data properties for a component.
137
+ */
112
138
  export interface DataProps<TData> {
113
- /** The data of component */
139
+ /**
140
+ * The data of the component.
141
+ */
114
142
  data: TData[];
115
- /** Set option value 'key' in 'data' */
143
+ /**
144
+ * The key to use for setting the option value in the data.
145
+ * @default value
146
+ */
116
147
  valueKey?: string;
117
- /** Set options to display the 'key' in 'data' */
148
+ /**
149
+ * The key to use for displaying the options in the data.
150
+ * @default label
151
+ */
118
152
  labelKey?: string;
119
- /** Set children key in data */
153
+ /**
154
+ * The key to use for setting the children in the data.
155
+ * @default children
156
+ */
120
157
  childrenKey?: string;
121
158
  }
122
159
  export interface FormControlPickerProps<T = any, L = any, D = Record<string, any>, I = T> extends PickerBaseProps<L>, FormControlBaseProps<T>, DataProps<D> {
@@ -178,7 +178,8 @@ var AutoComplete = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
178
178
  onSelect: handleItemSelect,
179
179
  renderMenuItem: renderMenuItem,
180
180
  data: items,
181
- className: menuClassName
181
+ className: menuClassName,
182
+ query: value
182
183
  });
183
184
  return /*#__PURE__*/_react.default.createElement(_Picker.PickerPopup, {
184
185
  ref: (0, _utils.mergeRefs)(overlay, speakerRef),
@@ -8,8 +8,9 @@ exports.default = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
10
  var _react = _interopRequireWildcard(require("react"));
11
- var _treeUtils = require("../utils/treeUtils");
12
- var _utils = require("../utils");
11
+ var _utils = require("../internals/Tree/utils");
12
+ var _utils2 = require("../Tree/utils");
13
+ var _utils3 = require("../utils");
13
14
  var _useMap = require("../utils/useMap");
14
15
  var _TreeView = _interopRequireDefault(require("./TreeView"));
15
16
  var _SearchView = _interopRequireDefault(require("./SearchView"));
@@ -47,14 +48,14 @@ var CascadeTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
47
48
  onChange = props.onChange,
48
49
  getChildren = props.getChildren,
49
50
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "data", "defaultValue", "className", "classPrefix", "childrenKey", "valueKey", "labelKey", "value", "disabledItemValues", "columnWidth", "columnHeight", "searchable", "renderTreeNode", "renderColumn", "onSelect", "onSearch", "onChange", "getChildren"]);
50
- var _ref = (0, _utils.useControlled)(valueProp, defaultValue),
51
+ var _ref = (0, _utils3.useControlled)(valueProp, defaultValue),
51
52
  value = _ref[0],
52
53
  setValue = _ref[1]; // Store the children of each node
53
54
  var childrenMap = (0, _useMap.useMap)();
54
55
 
55
56
  // Store the parent of each node
56
57
  var parentMap = (0, _react.useMemo)(function () {
57
- return (0, _treeUtils.getParentMap)(data, function (item) {
58
+ return (0, _utils.getParentMap)(data, function (item) {
58
59
  var _childrenMap$get;
59
60
  return (_childrenMap$get = childrenMap.get(item)) !== null && _childrenMap$get !== void 0 ? _childrenMap$get : item[childrenKey];
60
61
  });
@@ -62,7 +63,7 @@ var CascadeTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
62
63
 
63
64
  // Flatten the tree data
64
65
  var flattenedData = (0, _react.useMemo)(function () {
65
- return (0, _treeUtils.flattenTree)(data, function (item) {
66
+ return (0, _utils2.flattenTree)(data, function (item) {
66
67
  var _childrenMap$get2;
67
68
  return (_childrenMap$get2 = childrenMap.get(item)) !== null && _childrenMap$get2 !== void 0 ? _childrenMap$get2 : item[childrenKey];
68
69
  });
@@ -111,7 +112,7 @@ var CascadeTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
111
112
  }),
112
113
  columns = _usePaths.columns,
113
114
  pathTowardsActiveItem = _usePaths.pathTowardsActiveItem;
114
- var _useClassNames = (0, _utils.useClassNames)(classPrefix),
115
+ var _useClassNames = (0, _utils3.useClassNames)(classPrefix),
115
116
  withClassPrefix = _useClassNames.withClassPrefix,
116
117
  merge = _useClassNames.merge;
117
118
  var classes = merge(className, withClassPrefix());
@@ -129,7 +130,7 @@ var CascadeTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
129
130
  searchKeyword = _useSearch.searchKeyword,
130
131
  setSearchKeyword = _useSearch.setSearchKeyword,
131
132
  handleSearch = _useSearch.handleSearch;
132
- var handleSearchRowSelect = (0, _utils.useEventCallback)(function (item, items, event) {
133
+ var handleSearchRowSelect = (0, _utils3.useEventCallback)(function (item, items, event) {
133
134
  var _item$childrenKey;
134
135
  var node = {
135
136
  itemData: item,
@@ -8,8 +8,8 @@ var _extends3 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
8
8
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
9
9
  var _react = _interopRequireDefault(require("react"));
10
10
  var _utils = require("../utils");
11
- var _treeUtils = require("../utils/treeUtils");
12
- var _utils2 = require("./utils");
11
+ var _utils2 = require("../internals/Tree/utils");
12
+ var _Highlight = _interopRequireDefault(require("../Highlight"));
13
13
  var _SearchBox = _interopRequireDefault(require("../internals/SearchBox"));
14
14
  function SearchView(props) {
15
15
  var _props$as = props.as,
@@ -38,22 +38,15 @@ function SearchView(props) {
38
38
  var _useCustom = (0, _utils.useCustom)('Picker'),
39
39
  locale = _useCustom.locale;
40
40
  var renderSearchRow = function renderSearchRow(item, key) {
41
- var items = (0, _treeUtils.getPathTowardsItem)(item, function (item) {
41
+ var items = (0, _utils2.getPathTowardsItem)(item, function (item) {
42
42
  return parentMap.get(item);
43
43
  });
44
44
  var formattedNodes = items.map(function (itemData) {
45
45
  var _extends2;
46
- var label = (0, _utils2.highlightLabel)({
47
- item: itemData,
48
- labelKey: labelKey,
49
- searchKeyword: searchKeyword,
50
- render: function render(patch, index) {
51
- return /*#__PURE__*/_react.default.createElement("span", {
52
- key: index,
53
- className: prefix('match')
54
- }, patch);
55
- }
56
- });
46
+ var label = /*#__PURE__*/_react.default.createElement(_Highlight.default, {
47
+ as: "span",
48
+ query: searchKeyword
49
+ }, itemData[labelKey]);
57
50
  return (0, _extends3.default)({}, itemData, (_extends2 = {}, _extends2[labelKey] = label, _extends2));
58
51
  });
59
52
  var disabled = disabledItemValues.some(function (value) {
@@ -5,8 +5,8 @@ exports.__esModule = true;
5
5
  exports.usePaths = usePaths;
6
6
  exports.default = void 0;
7
7
  var _react = require("react");
8
- var _treeUtils = require("../../utils/treeUtils");
9
- var _utils = require("../utils");
8
+ var _utils = require("../../internals/Tree/utils");
9
+ var _utils2 = require("../utils");
10
10
  /**
11
11
  * A Hook to get the selected path of Tree.
12
12
  *
@@ -22,10 +22,10 @@ function usePaths(_ref) {
22
22
  getParent = _ref.getParent,
23
23
  getChildren = _ref.getChildren;
24
24
  var pathTowardsSelectedItem = (0, _react.useMemo)(function () {
25
- return (0, _treeUtils.getPathTowardsItem)(selectedItem, getParent);
25
+ return (0, _utils.getPathTowardsItem)(selectedItem, getParent);
26
26
  }, [getParent, selectedItem]);
27
27
  var _useMemo = (0, _react.useMemo)(function () {
28
- return (0, _utils.getColumnsAndPaths)(data, activeItem, {
28
+ return (0, _utils2.getColumnsAndPaths)(data, activeItem, {
29
29
  getParent: getParent,
30
30
  getChildren: getChildren
31
31
  });
@@ -5,6 +5,7 @@ exports.__esModule = true;
5
5
  exports.default = void 0;
6
6
  var _react = require("react");
7
7
  var _utils = require("../../utils");
8
+ var _utils2 = require("../../internals/utils");
8
9
  function useSearch(props) {
9
10
  var _useState = (0, _react.useState)(''),
10
11
  searchKeyword = _useState[0],
@@ -16,7 +17,7 @@ function useSearch(props) {
16
17
  parentSelectable = props.parentSelectable,
17
18
  onSearch = props.onSearch;
18
19
  var someKeyword = function someKeyword(item, keyword) {
19
- if (item[labelKey].match(new RegExp((0, _utils.getSafeRegExpString)(keyword || searchKeyword), 'i'))) {
20
+ if (item[labelKey].match(new RegExp((0, _utils2.getSafeRegExpString)(keyword || searchKeyword), 'i'))) {
20
21
  return true;
21
22
  }
22
23
  var parent = parentMap.get(item);
@@ -1,5 +1,3 @@
1
- /// <reference types="react" />
2
- import { ItemDataType } from '../@types/common';
3
1
  declare type GetColumnsAndPathsOptions<T> = {
4
2
  getParent: (item: T) => T | undefined;
5
3
  getChildren: (item: T) => readonly T[] | undefined;
@@ -20,13 +18,4 @@ export declare function getColumnsAndPaths<T extends Record<string, unknown>>(it
20
18
  columns: (readonly T[])[];
21
19
  path: T[];
22
20
  };
23
- /**
24
- * Highlight the search keyword in the label
25
- */
26
- export declare function highlightLabel<T>(props: {
27
- item: ItemDataType<T>;
28
- labelKey: string;
29
- searchKeyword: string;
30
- render: (patch: React.ReactNode, index: number) => React.ReactNode;
31
- }): import("react").ReactNode[];
32
21
  export {};
@@ -3,8 +3,6 @@
3
3
 
4
4
  exports.__esModule = true;
5
5
  exports.getColumnsAndPaths = getColumnsAndPaths;
6
- exports.highlightLabel = highlightLabel;
7
- var _utils = require("../utils");
8
6
  /**
9
7
  * Calculate columns to be displayed:
10
8
  *
@@ -42,25 +40,4 @@ function getColumnsAndPaths(items, pathTarget, options) {
42
40
  columns: columns,
43
41
  path: path
44
42
  };
45
- }
46
-
47
- /**
48
- * Highlight the search keyword in the label
49
- */
50
- function highlightLabel(props) {
51
- var item = props.item,
52
- searchKeyword = props.searchKeyword,
53
- labelKey = props.labelKey,
54
- render = props.render;
55
- var regx = new RegExp((0, _utils.getSafeRegExpString)(searchKeyword), 'ig');
56
- var labelElements = [];
57
- var strArr = item[labelKey].split(regx);
58
- var highStrArr = item[labelKey].match(regx);
59
- for (var i = 0; i < strArr.length; i++) {
60
- labelElements.push(strArr[i]);
61
- if (highStrArr !== null && highStrArr !== void 0 && highStrArr[i]) {
62
- labelElements.push(render(highStrArr[i], i));
63
- }
64
- }
65
- return labelElements;
66
43
  }
@@ -16,9 +16,10 @@ var _isFunction = _interopRequireDefault(require("lodash/isFunction"));
16
16
  var _TreeView = _interopRequireDefault(require("../CascadeTree/TreeView"));
17
17
  var _SearchView = _interopRequireDefault(require("../CascadeTree/SearchView"));
18
18
  var _hooks = require("../CascadeTree/hooks");
19
- var _treeUtils = require("../utils/treeUtils");
19
+ var _utils = require("../Tree/utils");
20
+ var _utils2 = require("../internals/Tree/utils");
20
21
  var _propTypes2 = require("../internals/propTypes");
21
- var _utils = require("../utils");
22
+ var _utils3 = require("../utils");
22
23
  var _Picker = require("../internals/Picker");
23
24
  var _useMap = require("../utils/useMap");
24
25
  var _useActive2 = _interopRequireDefault(require("./useActive"));
@@ -89,14 +90,14 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
89
90
  target = _usePickerRef.target,
90
91
  overlay = _usePickerRef.overlay,
91
92
  searchInput = _usePickerRef.searchInput;
92
- var _ref = (0, _utils.useControlled)(valueProp, defaultValue),
93
+ var _ref = (0, _utils3.useControlled)(valueProp, defaultValue),
93
94
  value = _ref[0],
94
95
  setValue = _ref[1]; // Store the children of each node
95
96
  var childrenMap = (0, _useMap.useMap)();
96
97
 
97
98
  // Store the parent of each node
98
99
  var parentMap = (0, _react.useMemo)(function () {
99
- return (0, _treeUtils.getParentMap)(data, function (item) {
100
+ return (0, _utils2.getParentMap)(data, function (item) {
100
101
  var _childrenMap$get;
101
102
  return (_childrenMap$get = childrenMap.get(item)) !== null && _childrenMap$get !== void 0 ? _childrenMap$get : item[childrenKey];
102
103
  });
@@ -104,7 +105,7 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
104
105
 
105
106
  // Flatten the tree data
106
107
  var flattenedData = (0, _react.useMemo)(function () {
107
- return (0, _treeUtils.flattenTree)(data, function (item) {
108
+ return (0, _utils.flattenTree)(data, function (item) {
108
109
  var _childrenMap$get2;
109
110
  return (_childrenMap$get2 = childrenMap.get(item)) !== null && _childrenMap$get2 !== void 0 ? _childrenMap$get2 : item[childrenKey];
110
111
  });
@@ -131,7 +132,7 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
131
132
  }
132
133
 
133
134
  // When the parent is optional, the value and the displayed path are updated.
134
- if (parentSelectable && !(0, _utils.shallowEqual)(value, nextValue)) {
135
+ if (parentSelectable && !(0, _utils3.shallowEqual)(value, nextValue)) {
135
136
  setValue(nextValue);
136
137
  onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);
137
138
  }
@@ -168,7 +169,7 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
168
169
  columns = _usePaths.columns,
169
170
  pathTowardsActiveItem = _usePaths.pathTowardsActiveItem,
170
171
  pathTowardsSelectedItem = _usePaths.pathTowardsSelectedItem;
171
- var _useCustom = (0, _utils.useCustom)('Picker', overrideLocale),
172
+ var _useCustom = (0, _utils3.useCustom)('Picker', overrideLocale),
172
173
  locale = _useCustom.locale,
173
174
  rtl = _useCustom.rtl;
174
175
  /**
@@ -176,7 +177,7 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
176
177
  * 2.Regardless of whether the value is valid, as long as renderValue is set, it is judged to have a value.
177
178
  */
178
179
  var hasValue = pathTowardsSelectedItem.length > 0 || !(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue);
179
- var _useClassNames = (0, _utils.useClassNames)(classPrefix),
180
+ var _useClassNames = (0, _utils3.useClassNames)(classPrefix),
180
181
  prefix = _useClassNames.prefix,
181
182
  merge = _useClassNames.merge;
182
183
  var onFocusItemCallback = (0, _react.useCallback)(function (value) {
@@ -237,22 +238,22 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
237
238
  active = _useActive.active,
238
239
  handleEntered = _useActive.handleEntered,
239
240
  handleExited = _useActive.handleExited;
240
- var handleClose = (0, _utils.useEventCallback)(function () {
241
+ var handleClose = (0, _utils3.useEventCallback)(function () {
241
242
  var _trigger$current2, _target$current, _target$current$focus;
242
243
  (_trigger$current2 = trigger.current) === null || _trigger$current2 === void 0 ? void 0 : _trigger$current2.close();
243
244
 
244
245
  // The focus is on the trigger button after closing
245
246
  (_target$current = target.current) === null || _target$current === void 0 ? void 0 : (_target$current$focus = _target$current.focus) === null || _target$current$focus === void 0 ? void 0 : _target$current$focus.call(_target$current);
246
247
  });
247
- var handleClean = (0, _utils.useEventCallback)(function (event) {
248
+ var handleClean = (0, _utils3.useEventCallback)(function (event) {
248
249
  if (disabled || !target.current) {
249
250
  return;
250
251
  }
251
252
  setValue(null);
252
253
  onChange === null || onChange === void 0 ? void 0 : onChange(null, event);
253
254
  });
254
- var handleMenuPressEnter = (0, _utils.useEventCallback)(function (event) {
255
- var focusItem = (0, _treeUtils.findNodeOfTree)(data, function (item) {
255
+ var handleMenuPressEnter = (0, _utils3.useEventCallback)(function (event) {
256
+ var focusItem = (0, _utils2.findNodeOfTree)(data, function (item) {
256
257
  return item[valueKey] === focusItemValue;
257
258
  });
258
259
  var isLeafNode = focusItem && !focusItem[childrenKey];
@@ -261,7 +262,7 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
261
262
  if (pathTowardsActiveItem.length) {
262
263
  setLayer(pathTowardsActiveItem.length - 1);
263
264
  }
264
- if (!(0, _utils.shallowEqual)(value, focusItemValue)) {
265
+ if (!(0, _utils3.shallowEqual)(value, focusItemValue)) {
265
266
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(focusItem, pathTowardsActiveItem, event);
266
267
  onChange === null || onChange === void 0 ? void 0 : onChange(focusItemValue !== null && focusItemValue !== void 0 ? focusItemValue : null, event);
267
268
  }
@@ -283,7 +284,7 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
283
284
  /**
284
285
  * The search structure option is processed after being selected.
285
286
  */
286
- var handleSearchRowSelect = (0, _utils.useEventCallback)(function (itemData, nodes, event) {
287
+ var handleSearchRowSelect = (0, _utils3.useEventCallback)(function (itemData, nodes, event) {
287
288
  var nextValue = itemData[valueKey];
288
289
  handleClose();
289
290
  setSearchKeyword('');
@@ -320,7 +321,7 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
320
321
  });
321
322
  var classes = merge(className, DEPRECATED_menuClassName, popupClassName, prefix('popup-cascader'));
322
323
  return /*#__PURE__*/_react.default.createElement(_Picker.PickerPopup, {
323
- ref: (0, _utils.mergeRefs)(overlay, speakerRef),
324
+ ref: (0, _utils3.mergeRefs)(overlay, speakerRef),
324
325
  className: classes,
325
326
  style: styles,
326
327
  target: trigger,
@@ -404,7 +405,7 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
404
405
  as: toggleAs,
405
406
  appearance: appearance,
406
407
  disabled: disabled,
407
- onClean: (0, _utils.createChainedFunction)(handleClean, onClean),
408
+ onClean: (0, _utils3.createChainedFunction)(handleClean, onClean),
408
409
  onKeyDown: onPickerKeyDown,
409
410
  cleanable: cleanable && !disabled,
410
411
  hasValue: hasValue,
@@ -11,14 +11,13 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
11
11
  var _react = _interopRequireWildcard(require("react"));
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var _clone = _interopRequireDefault(require("lodash/clone"));
14
- var _isUndefined = _interopRequireDefault(require("lodash/isUndefined"));
15
14
  var _isFunction = _interopRequireDefault(require("lodash/isFunction"));
16
15
  var _remove = _interopRequireDefault(require("lodash/remove"));
17
16
  var _omit = _interopRequireDefault(require("lodash/omit"));
18
17
  var _pick = _interopRequireDefault(require("lodash/pick"));
19
18
  var _isNil = _interopRequireDefault(require("lodash/isNil"));
20
- var _treeUtils = require("../utils/treeUtils");
21
- var _utils = require("../utils");
19
+ var _utils = require("../internals/Tree/utils");
20
+ var _utils2 = require("../utils");
22
21
  var _getDataGroupBy = require("../utils/getDataGroupBy");
23
22
  var _Picker = require("../internals/Picker");
24
23
  var _SearchBox = _interopRequireDefault(require("../internals/SearchBox"));
@@ -93,9 +92,9 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
93
92
  overlay = _usePickerRef.overlay,
94
93
  list = _usePickerRef.list,
95
94
  searchInput = _usePickerRef.searchInput;
96
- var _useCustom = (0, _utils.useCustom)('Picker', overrideLocale),
95
+ var _useCustom = (0, _utils2.useCustom)('Picker', overrideLocale),
97
96
  locale = _useCustom.locale;
98
- var _useControlled = (0, _utils.useControlled)(valueProp, defaultValue || []),
97
+ var _useControlled = (0, _utils2.useControlled)(valueProp, defaultValue || []),
99
98
  value = _useControlled[0],
100
99
  setValue = _useControlled[1]; // Used to hover the focuse item when trigger `onKeydown`
101
100
  var _useFocusItemValue = (0, _Picker.useFocusItemValue)(value === null || value === void 0 ? void 0 : value[0], {
@@ -108,7 +107,7 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
108
107
  focusItemValue = _useFocusItemValue.focusItemValue,
109
108
  setFocusItemValue = _useFocusItemValue.setFocusItemValue,
110
109
  onFocusItem = _useFocusItemValue.onKeyDown;
111
- var handleSearchCallback = (0, _utils.useEventCallback)(function (searchKeyword, filteredData, event) {
110
+ var handleSearchCallback = (0, _utils2.useEventCallback)(function (searchKeyword, filteredData, event) {
112
111
  var _filteredData$;
113
112
  // The first option after filtering is the focus.
114
113
  setFocusItemValue(filteredData === null || filteredData === void 0 ? void 0 : (_filteredData$ = filteredData[0]) === null || _filteredData$ === void 0 ? void 0 : _filteredData$[valueKey]);
@@ -147,10 +146,10 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
147
146
  }
148
147
  setStickyItems(nextStickyItems);
149
148
  };
150
- var handleChangeValue = (0, _utils.useEventCallback)(function (value, event) {
149
+ var handleChangeValue = (0, _utils2.useEventCallback)(function (value, event) {
151
150
  onChange === null || onChange === void 0 ? void 0 : onChange(value, event);
152
151
  });
153
- var handleClean = (0, _utils.useEventCallback)(function (event) {
152
+ var handleClean = (0, _utils2.useEventCallback)(function (event) {
154
153
  if (disabled || !cleanable) {
155
154
  return;
156
155
  }
@@ -164,16 +163,16 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
164
163
  return;
165
164
  }
166
165
  if (!nextValue.some(function (v) {
167
- return (0, _utils.shallowEqual)(v, focusItemValue);
166
+ return (0, _utils2.shallowEqual)(v, focusItemValue);
168
167
  })) {
169
168
  nextValue.push(focusItemValue);
170
169
  } else {
171
170
  (0, _remove.default)(nextValue, function (itemVal) {
172
- return (0, _utils.shallowEqual)(itemVal, focusItemValue);
171
+ return (0, _utils2.shallowEqual)(itemVal, focusItemValue);
173
172
  });
174
173
  }
175
174
  var focusItem = data.find(function (item) {
176
- return (0, _utils.shallowEqual)(item === null || item === void 0 ? void 0 : item[valueKey], focusItemValue);
175
+ return (0, _utils2.shallowEqual)(item === null || item === void 0 ? void 0 : item[valueKey], focusItemValue);
177
176
  });
178
177
  setValue(nextValue);
179
178
  handleSelect(nextValue, focusItem, event);
@@ -191,16 +190,16 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
191
190
  onMenuPressEnter: handleMenuPressEnter,
192
191
  onMenuPressBackspace: handleClean
193
192
  }, rest));
194
- var handleSelect = (0, _utils.useEventCallback)(function (nextItemValue, item, event) {
193
+ var handleSelect = (0, _utils2.useEventCallback)(function (nextItemValue, item, event) {
195
194
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(nextItemValue, item, event);
196
195
  });
197
- var handleItemSelect = (0, _utils.useEventCallback)(function (nextItemValue, item, event, checked) {
196
+ var handleItemSelect = (0, _utils2.useEventCallback)(function (nextItemValue, item, event, checked) {
198
197
  var nextValue = (0, _clone.default)(value);
199
198
  if (checked) {
200
199
  nextValue.push(nextItemValue);
201
200
  } else {
202
201
  (0, _remove.default)(nextValue, function (itemVal) {
203
- return (0, _utils.shallowEqual)(itemVal, nextItemValue);
202
+ return (0, _utils2.shallowEqual)(itemVal, nextItemValue);
204
203
  });
205
204
  }
206
205
  setValue(nextValue);
@@ -208,17 +207,17 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
208
207
  handleSelect(nextValue, item, event);
209
208
  handleChangeValue(nextValue, event);
210
209
  });
211
- var handleEntered = (0, _utils.useEventCallback)(function () {
210
+ var handleEntered = (0, _utils2.useEventCallback)(function () {
212
211
  setActive(true);
213
212
  });
214
- var handleExited = (0, _utils.useEventCallback)(function () {
213
+ var handleExited = (0, _utils2.useEventCallback)(function () {
215
214
  resetSearch();
216
215
  setFocusItemValue(null);
217
216
  setActive(false);
218
217
  });
219
218
  var selectedItems = data.filter(function (item) {
220
219
  return value === null || value === void 0 ? void 0 : value.some(function (val) {
221
- return (0, _utils.shallowEqual)(item[valueKey], val);
220
+ return (0, _utils2.shallowEqual)(item[valueKey], val);
222
221
  });
223
222
  }) || [];
224
223
 
@@ -227,7 +226,7 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
227
226
  * 2.Regardless of whether the value is valid, as long as renderValue is set, it is judged to have a value.
228
227
  */
229
228
  var hasValue = selectedItems.length > 0 || (value === null || value === void 0 ? void 0 : value.length) > 0 && (0, _isFunction.default)(renderValue);
230
- var _useClassNames = (0, _utils.useClassNames)(classPrefix),
229
+ var _useClassNames = (0, _utils2.useClassNames)(classPrefix),
231
230
  prefix = _useClassNames.prefix,
232
231
  merge = _useClassNames.merge;
233
232
  var selectedElement = placeholder;
@@ -259,10 +258,10 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
259
258
  var items = filteredData;
260
259
  var filteredStickyItems = [];
261
260
  if (stickyItems) {
262
- filteredStickyItems = (0, _treeUtils.filterNodesOfTree)(stickyItems, function (item) {
261
+ filteredStickyItems = (0, _utils.filterNodesOfTree)(stickyItems, function (item) {
263
262
  return checkShouldDisplay(item);
264
263
  });
265
- items = (0, _treeUtils.filterNodesOfTree)(data, function (item) {
264
+ items = (0, _utils.filterNodesOfTree)(data, function (item) {
266
265
  return checkShouldDisplay(item) && !stickyItems.some(function (v) {
267
266
  return v[valueKey] === item[valueKey];
268
267
  });
@@ -288,19 +287,17 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
288
287
  listItemAs: _Picker.ListCheckItem,
289
288
  activeItemValues: value,
290
289
  focusItemValue: focusItemValue,
291
- data: [].concat(filteredStickyItems, items)
292
- // `group` is redundant so long as `groupBy` exists
293
- ,
294
- group: !(0, _isUndefined.default)(groupBy),
290
+ data: [].concat(filteredStickyItems, items),
295
291
  groupBy: groupBy,
296
292
  onSelect: handleItemSelect,
297
293
  onGroupTitleClick: onGroupTitleClick,
298
- virtualized: virtualized
294
+ virtualized: virtualized,
295
+ query: searchKeyword
299
296
  }) : /*#__PURE__*/_react.default.createElement("div", {
300
297
  className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["none"])))
301
298
  }, locale === null || locale === void 0 ? void 0 : locale.noResultsText);
302
299
  return /*#__PURE__*/_react.default.createElement(_Picker.PickerPopup, {
303
- ref: (0, _utils.mergeRefs)(overlay, speakerRef),
300
+ ref: (0, _utils2.mergeRefs)(overlay, speakerRef),
304
301
  autoWidth: menuAutoWidth,
305
302
  className: classes,
306
303
  style: styles,
@@ -329,9 +326,9 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
329
326
  pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),
330
327
  ref: trigger,
331
328
  placement: placement,
332
- onEnter: (0, _utils.createChainedFunction)(initStickyItems, onEnter),
333
- onEntered: (0, _utils.createChainedFunction)(handleEntered, onEntered),
334
- onExited: (0, _utils.createChainedFunction)(handleExited, onExited),
329
+ onEnter: (0, _utils2.createChainedFunction)(initStickyItems, onEnter),
330
+ onEntered: (0, _utils2.createChainedFunction)(handleEntered, onEntered),
331
+ onExited: (0, _utils2.createChainedFunction)(handleExited, onExited),
335
332
  speaker: renderPopup
336
333
  }, /*#__PURE__*/_react.default.createElement(Component, {
337
334
  className: classes,