rsuite 5.60.1 → 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 (475) 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 +37 -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 +63 -26
  21. package/DatePicker/styles/index.less +1 -0
  22. package/DateRangeInput/styles/index.css +4 -4
  23. package/DateRangePicker/styles/index.css +69 -26
  24. package/DateRangePicker/styles/index.less +3 -0
  25. package/Dropdown/styles/index.css +14 -13
  26. package/Highlight/package.json +7 -0
  27. package/Highlight/styles/index.css +8 -0
  28. package/Highlight/styles/index.less +6 -0
  29. package/IconButton/styles/index.css +11 -10
  30. package/Input/styles/index.css +4 -4
  31. package/InputGroup/styles/index.css +18 -17
  32. package/InputGroup/styles/index.less +1 -1
  33. package/InputNumber/styles/index.css +19 -18
  34. package/InputPicker/styles/index.css +58 -22
  35. package/LICENSE +1 -1
  36. package/MultiCascadeTree/styles/index.css +61 -36
  37. package/MultiCascadeTree/styles/index.less +1 -1
  38. package/MultiCascader/styles/index.css +704 -679
  39. package/MultiCascader/styles/index.less +0 -1
  40. package/Nav/styles/index.css +15 -14
  41. package/Navbar/styles/index.css +14 -13
  42. package/Pagination/styles/index.css +62 -26
  43. package/Panel/styles/index.css +4 -4
  44. package/Placeholder/styles/index.css +2 -3
  45. package/Placeholder/styles/index.less +2 -3
  46. package/README.md +53 -90
  47. package/Radio/styles/index.css +7 -7
  48. package/Radio/styles/index.less +1 -5
  49. package/RangeSlider/styles/index.css +2 -2
  50. package/Rate/styles/index.css +1 -1
  51. package/Rate/styles/index.less +1 -1
  52. package/SelectPicker/styles/index.css +58 -22
  53. package/Slider/styles/index.css +2 -2
  54. package/Slider/styles/index.less +2 -2
  55. package/Steps/styles/index.css +6 -1
  56. package/Steps/styles/index.less +2 -1
  57. package/Tabs/styles/index.css +15 -14
  58. package/TagInput/styles/index.css +59 -27
  59. package/TagPicker/styles/index.css +59 -27
  60. package/Toggle/styles/index.css +16 -8
  61. package/Toggle/styles/index.less +2 -1
  62. package/Tree/styles/indent-line.less +8 -0
  63. package/Tree/styles/index.css +140 -141
  64. package/Tree/styles/index.less +188 -1
  65. package/Tree/styles/toggle.less +36 -0
  66. package/TreePicker/styles/index.css +142 -134
  67. package/TreePicker/styles/index.less +4 -234
  68. package/Uploader/styles/index.css +12 -11
  69. package/cjs/@types/common.d.ts +41 -4
  70. package/cjs/AutoComplete/AutoComplete.js +2 -1
  71. package/cjs/CascadeTree/CascadeTree.js +8 -7
  72. package/cjs/CascadeTree/SearchView.js +7 -14
  73. package/cjs/CascadeTree/hooks/usePaths.js +4 -4
  74. package/cjs/CascadeTree/hooks/useSearch.js +2 -1
  75. package/cjs/CascadeTree/utils.d.ts +0 -11
  76. package/cjs/CascadeTree/utils.js +0 -23
  77. package/cjs/Cascader/Cascader.js +17 -16
  78. package/cjs/CheckPicker/CheckPicker.js +26 -29
  79. package/cjs/CheckTree/CheckTree.d.ts +16 -0
  80. package/cjs/CheckTree/CheckTree.js +112 -0
  81. package/cjs/CheckTree/CheckTreeNode.d.ts +72 -0
  82. package/cjs/CheckTree/CheckTreeNode.js +117 -0
  83. package/cjs/CheckTree/CheckTreeView.d.ts +70 -0
  84. package/cjs/CheckTree/CheckTreeView.js +310 -0
  85. package/cjs/CheckTree/hooks/useTreeCheckState.d.ts +10 -0
  86. package/cjs/CheckTree/hooks/useTreeCheckState.js +93 -0
  87. package/cjs/CheckTree/hooks/useTreeNodeProps.d.ts +22 -0
  88. package/cjs/CheckTree/hooks/useTreeNodeProps.js +59 -0
  89. package/cjs/CheckTree/hooks/useTreeValue.d.ts +5 -0
  90. package/cjs/CheckTree/hooks/useTreeValue.js +21 -0
  91. package/cjs/CheckTree/index.d.ts +2 -14
  92. package/cjs/CheckTree/index.js +2 -23
  93. package/cjs/CheckTree/utils.d.ts +53 -0
  94. package/cjs/{CheckTreePicker → CheckTree}/utils.js +76 -26
  95. package/cjs/CheckTreePicker/CheckTreePicker.d.ts +30 -12
  96. package/cjs/CheckTreePicker/CheckTreePicker.js +153 -603
  97. package/cjs/CheckTreePicker/hooks/useFocusState.d.ts +16 -0
  98. package/cjs/CheckTreePicker/hooks/useFocusState.js +42 -0
  99. package/cjs/DateInput/DateField.js +3 -1
  100. package/cjs/DateInput/DateInput.js +17 -16
  101. package/{esm/DateInput → cjs/DateInput/hooks}/useDateInputState.d.ts +1 -1
  102. package/cjs/DateInput/{useDateInputState.js → hooks/useDateInputState.js} +2 -2
  103. package/cjs/DateInput/hooks/useFieldCursor.d.ts +6 -0
  104. package/cjs/DateInput/hooks/useFieldCursor.js +56 -0
  105. package/cjs/DateInput/hooks/useSelectedState.d.ts +14 -0
  106. package/cjs/DateInput/hooks/useSelectedState.js +23 -0
  107. package/cjs/DateInput/index.d.ts +5 -3
  108. package/cjs/DateInput/index.js +11 -5
  109. package/cjs/DateInput/utils.d.ts +0 -1
  110. package/cjs/DateInput/utils.js +2 -24
  111. package/cjs/DatePicker/DatePicker.d.ts +4 -0
  112. package/cjs/DatePicker/DatePicker.js +20 -5
  113. package/cjs/DatePicker/types.d.ts +0 -4
  114. package/cjs/DateRangeInput/DateRangeInput.js +16 -17
  115. package/cjs/DateRangePicker/DateRangePicker.d.ts +51 -23
  116. package/cjs/DateRangePicker/DateRangePicker.js +71 -51
  117. package/cjs/DateRangePicker/hooks/useDateDisabled.d.ts +16 -0
  118. package/cjs/DateRangePicker/hooks/useDateDisabled.js +31 -0
  119. package/cjs/DateRangePicker/types.d.ts +1 -0
  120. package/cjs/Highlight/Highlight.d.ts +14 -0
  121. package/cjs/Highlight/Highlight.js +58 -0
  122. package/cjs/Highlight/index.d.ts +3 -0
  123. package/cjs/Highlight/index.js +9 -0
  124. package/cjs/Highlight/utils/highlightText.d.ts +5 -0
  125. package/cjs/Highlight/utils/highlightText.js +29 -0
  126. package/cjs/InputPicker/InputPicker.js +37 -41
  127. package/cjs/MultiCascadeTree/SearchView.js +6 -14
  128. package/cjs/MultiCascadeTree/hooks/useCascadeValue.js +15 -1
  129. package/cjs/MultiCascadeTree/hooks/useColumnData.js +2 -2
  130. package/cjs/MultiCascadeTree/hooks/useFlattenData.js +3 -3
  131. package/cjs/MultiCascadeTree/hooks/useSearch.js +2 -1
  132. package/cjs/MultiCascadeTree/utils.d.ts +4 -4
  133. package/cjs/MultiCascadeTree/utils.js +20 -11
  134. package/cjs/MultiCascader/MultiCascader.js +12 -12
  135. package/cjs/SelectPicker/SelectPicker.js +2 -6
  136. package/cjs/Tree/IndentLine.d.ts +3 -0
  137. package/cjs/Tree/IndentLine.js +18 -0
  138. package/cjs/Tree/Tree.d.ts +4 -92
  139. package/cjs/Tree/Tree.js +79 -20
  140. package/cjs/Tree/TreeNode.d.ts +101 -0
  141. package/cjs/Tree/TreeNode.js +147 -0
  142. package/cjs/Tree/TreeNodeToggle.d.ts +9 -0
  143. package/cjs/Tree/TreeNodeToggle.js +56 -0
  144. package/cjs/Tree/TreeProvider.d.ts +52 -0
  145. package/cjs/Tree/TreeProvider.js +84 -0
  146. package/cjs/Tree/TreeView.d.ts +68 -0
  147. package/cjs/Tree/TreeView.js +305 -0
  148. package/cjs/Tree/hooks/useExpandTree.d.ts +60 -0
  149. package/cjs/Tree/hooks/useExpandTree.js +77 -0
  150. package/cjs/Tree/hooks/useFlattenTree.d.ts +42 -0
  151. package/cjs/Tree/hooks/useFlattenTree.js +98 -0
  152. package/cjs/Tree/hooks/useFocusTree.d.ts +24 -0
  153. package/cjs/Tree/hooks/useFocusTree.js +158 -0
  154. package/cjs/Tree/hooks/useForceUpdate.d.ts +2 -0
  155. package/cjs/Tree/hooks/useForceUpdate.js +16 -0
  156. package/cjs/Tree/hooks/useTreeDrag.d.ts +32 -0
  157. package/cjs/Tree/hooks/useTreeDrag.js +268 -0
  158. package/cjs/Tree/hooks/useTreeNodeProps.d.ts +29 -0
  159. package/cjs/Tree/hooks/useTreeNodeProps.js +83 -0
  160. package/cjs/Tree/hooks/useTreeNodeRefs.d.ts +6 -0
  161. package/cjs/Tree/hooks/useTreeNodeRefs.js +22 -0
  162. package/cjs/Tree/hooks/useTreeSearch.d.ts +18 -0
  163. package/cjs/Tree/hooks/useTreeSearch.js +74 -0
  164. package/cjs/Tree/hooks/useTreeWithChildren.d.ts +14 -0
  165. package/cjs/Tree/hooks/useTreeWithChildren.js +64 -0
  166. package/cjs/Tree/hooks/useVirtualizedTreeData.d.ts +7 -0
  167. package/cjs/Tree/hooks/useVirtualizedTreeData.js +82 -0
  168. package/cjs/Tree/types.d.ts +257 -0
  169. package/cjs/Tree/types.js +33 -0
  170. package/cjs/Tree/utils/flattenTree.d.ts +25 -0
  171. package/cjs/Tree/utils/flattenTree.js +95 -0
  172. package/cjs/Tree/utils/focusableTree.d.ts +55 -0
  173. package/cjs/Tree/utils/focusableTree.js +157 -0
  174. package/cjs/Tree/utils/formatNodeRefKey.d.ts +4 -0
  175. package/cjs/Tree/utils/formatNodeRefKey.js +11 -0
  176. package/cjs/Tree/utils/getExpandItemValues.d.ts +11 -0
  177. package/cjs/Tree/utils/getExpandItemValues.js +21 -0
  178. package/cjs/Tree/utils/getNodeParentKeys.d.ts +5 -0
  179. package/cjs/Tree/utils/getNodeParentKeys.js +21 -0
  180. package/cjs/Tree/utils/getTreeActiveNode.d.ts +5 -0
  181. package/cjs/Tree/utils/getTreeActiveNode.js +21 -0
  182. package/cjs/Tree/utils/hasVisibleChildren.d.ts +5 -0
  183. package/cjs/Tree/utils/hasVisibleChildren.js +16 -0
  184. package/cjs/Tree/utils/indentTreeNode.d.ts +3 -0
  185. package/cjs/Tree/utils/indentTreeNode.js +18 -0
  186. package/cjs/Tree/utils/index.d.ts +11 -0
  187. package/cjs/Tree/utils/index.js +35 -0
  188. package/cjs/Tree/utils/isExpand.d.ts +6 -0
  189. package/cjs/Tree/utils/isExpand.js +14 -0
  190. package/cjs/Tree/utils/isSearching.d.ts +1 -0
  191. package/cjs/Tree/utils/isSearching.js +10 -0
  192. package/cjs/Tree/utils/treeKeyboardInteractions.d.ts +21 -0
  193. package/cjs/Tree/utils/treeKeyboardInteractions.js +49 -0
  194. package/cjs/TreePicker/TreePicker.d.ts +27 -21
  195. package/cjs/TreePicker/TreePicker.js +155 -575
  196. package/cjs/TreePicker/hooks/useFocusState.d.ts +20 -0
  197. package/cjs/TreePicker/hooks/useFocusState.js +53 -0
  198. package/cjs/index.d.ts +2 -0
  199. package/cjs/index.js +3 -1
  200. package/cjs/internals/Picker/Listbox.d.ts +40 -10
  201. package/cjs/internals/Picker/Listbox.js +21 -16
  202. package/cjs/internals/Picker/PickerIndicator.d.ts +2 -1
  203. package/cjs/internals/Picker/PickerIndicator.js +7 -3
  204. package/cjs/internals/Picker/hooks/useFocusItemValue.js +4 -4
  205. package/cjs/internals/Picker/hooks/usePickerRef.d.ts +1 -4
  206. package/cjs/internals/Picker/hooks/usePickerRef.js +3 -20
  207. package/cjs/internals/Picker/index.d.ts +0 -1
  208. package/cjs/internals/Picker/index.js +1 -4
  209. package/cjs/internals/Picker/utils.js +12 -12
  210. package/cjs/internals/{Picker → Tree}/TreeView.js +1 -1
  211. package/cjs/internals/Tree/index.d.ts +1 -0
  212. package/cjs/internals/Tree/index.js +8 -0
  213. package/cjs/internals/Tree/utils/filterNodesOfTree.d.ts +5 -0
  214. package/cjs/internals/Tree/utils/filterNodesOfTree.js +31 -0
  215. package/cjs/internals/Tree/utils/findNodeOfTree.d.ts +1 -0
  216. package/cjs/internals/Tree/utils/findNodeOfTree.js +26 -0
  217. package/cjs/internals/Tree/utils/getParentMap.d.ts +15 -0
  218. package/cjs/internals/Tree/utils/getParentMap.js +52 -0
  219. package/cjs/internals/Tree/utils/getPathTowardsItem.d.ts +4 -0
  220. package/cjs/internals/Tree/utils/getPathTowardsItem.js +16 -0
  221. package/cjs/internals/Tree/utils/index.d.ts +4 -0
  222. package/cjs/internals/Tree/utils/index.js +14 -0
  223. package/cjs/internals/Windowing/List.d.ts +1 -0
  224. package/cjs/internals/Windowing/List.js +5 -1
  225. package/cjs/internals/Windowing/index.d.ts +1 -1
  226. package/cjs/internals/Windowing/index.js +4 -2
  227. package/cjs/internals/hooks/index.d.ts +1 -0
  228. package/cjs/internals/hooks/index.js +8 -0
  229. package/cjs/internals/hooks/useFoucsVirtualListItem.d.ts +7 -0
  230. package/cjs/internals/hooks/useFoucsVirtualListItem.js +26 -0
  231. package/cjs/{utils → internals/utils}/getSafeRegExpString.d.ts +1 -1
  232. package/cjs/{utils → internals/utils}/getSafeRegExpString.js +1 -1
  233. package/cjs/internals/utils/index.d.ts +2 -0
  234. package/cjs/internals/utils/index.js +9 -0
  235. package/cjs/internals/utils/stringifyReactNode.d.ts +2 -0
  236. package/cjs/internals/utils/stringifyReactNode.js +17 -0
  237. package/cjs/utils/constants.d.ts +0 -2
  238. package/cjs/utils/constants.js +1 -6
  239. package/cjs/utils/getDataGroupBy.js +3 -3
  240. package/cjs/utils/index.d.ts +0 -3
  241. package/cjs/utils/index.js +1 -10
  242. package/cjs/utils/useIsomorphicLayoutEffect.d.ts +2 -2
  243. package/dist/rsuite-no-reset-rtl.css +301 -302
  244. package/dist/rsuite-no-reset-rtl.min.css +1 -1
  245. package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
  246. package/dist/rsuite-no-reset.css +303 -306
  247. package/dist/rsuite-no-reset.min.css +1 -1
  248. package/dist/rsuite-no-reset.min.css.map +1 -1
  249. package/dist/rsuite-rtl.css +302 -303
  250. package/dist/rsuite-rtl.min.css +1 -1
  251. package/dist/rsuite-rtl.min.css.map +1 -1
  252. package/dist/rsuite.css +304 -307
  253. package/dist/rsuite.js +657 -140
  254. package/dist/rsuite.js.map +1 -1
  255. package/dist/rsuite.min.css +1 -1
  256. package/dist/rsuite.min.css.map +1 -1
  257. package/dist/rsuite.min.js +1 -1
  258. package/dist/rsuite.min.js.map +1 -1
  259. package/esm/@types/common.d.ts +41 -4
  260. package/esm/AutoComplete/AutoComplete.js +2 -1
  261. package/esm/CascadeTree/CascadeTree.js +2 -1
  262. package/esm/CascadeTree/SearchView.js +6 -13
  263. package/esm/CascadeTree/hooks/usePaths.js +1 -1
  264. package/esm/CascadeTree/hooks/useSearch.js +2 -1
  265. package/esm/CascadeTree/utils.d.ts +0 -11
  266. package/esm/CascadeTree/utils.js +0 -22
  267. package/esm/Cascader/Cascader.js +2 -1
  268. package/esm/CheckPicker/CheckPicker.js +4 -7
  269. package/esm/CheckTree/CheckTree.d.ts +16 -0
  270. package/esm/CheckTree/CheckTree.js +105 -0
  271. package/esm/CheckTree/CheckTreeNode.d.ts +72 -0
  272. package/esm/CheckTree/CheckTreeNode.js +110 -0
  273. package/esm/CheckTree/CheckTreeView.d.ts +70 -0
  274. package/esm/CheckTree/CheckTreeView.js +304 -0
  275. package/esm/CheckTree/hooks/useTreeCheckState.d.ts +10 -0
  276. package/esm/CheckTree/hooks/useTreeCheckState.js +87 -0
  277. package/esm/CheckTree/hooks/useTreeNodeProps.d.ts +22 -0
  278. package/esm/CheckTree/hooks/useTreeNodeProps.js +52 -0
  279. package/esm/CheckTree/hooks/useTreeValue.d.ts +5 -0
  280. package/esm/CheckTree/hooks/useTreeValue.js +16 -0
  281. package/esm/CheckTree/index.d.ts +2 -14
  282. package/esm/CheckTree/index.js +1 -21
  283. package/esm/CheckTree/utils.d.ts +53 -0
  284. package/esm/{CheckTreePicker → CheckTree}/utils.js +72 -22
  285. package/esm/CheckTreePicker/CheckTreePicker.d.ts +30 -12
  286. package/esm/CheckTreePicker/CheckTreePicker.js +156 -607
  287. package/esm/CheckTreePicker/hooks/useFocusState.d.ts +16 -0
  288. package/esm/CheckTreePicker/hooks/useFocusState.js +37 -0
  289. package/esm/DateInput/DateField.js +3 -1
  290. package/esm/DateInput/DateInput.js +19 -18
  291. package/{cjs/DateInput → esm/DateInput/hooks}/useDateInputState.d.ts +1 -1
  292. package/esm/DateInput/{useDateInputState.js → hooks/useDateInputState.js} +2 -2
  293. package/esm/DateInput/hooks/useFieldCursor.d.ts +6 -0
  294. package/esm/DateInput/hooks/useFieldCursor.js +49 -0
  295. package/esm/DateInput/hooks/useSelectedState.d.ts +14 -0
  296. package/esm/DateInput/hooks/useSelectedState.js +17 -0
  297. package/esm/DateInput/index.d.ts +5 -3
  298. package/esm/DateInput/index.js +5 -3
  299. package/esm/DateInput/utils.d.ts +0 -1
  300. package/esm/DateInput/utils.js +2 -23
  301. package/esm/DatePicker/DatePicker.d.ts +4 -0
  302. package/esm/DatePicker/DatePicker.js +20 -5
  303. package/esm/DatePicker/types.d.ts +0 -4
  304. package/esm/DateRangeInput/DateRangeInput.js +17 -18
  305. package/esm/DateRangePicker/DateRangePicker.d.ts +51 -23
  306. package/esm/DateRangePicker/DateRangePicker.js +71 -51
  307. package/esm/DateRangePicker/hooks/useDateDisabled.d.ts +16 -0
  308. package/esm/DateRangePicker/hooks/useDateDisabled.js +26 -0
  309. package/esm/DateRangePicker/types.d.ts +1 -0
  310. package/esm/Highlight/Highlight.d.ts +14 -0
  311. package/esm/Highlight/Highlight.js +52 -0
  312. package/esm/Highlight/index.d.ts +3 -0
  313. package/esm/Highlight/index.js +3 -0
  314. package/esm/Highlight/utils/highlightText.d.ts +5 -0
  315. package/esm/Highlight/utils/highlightText.js +25 -0
  316. package/esm/InputPicker/InputPicker.js +3 -7
  317. package/esm/MultiCascadeTree/SearchView.js +6 -14
  318. package/esm/MultiCascadeTree/hooks/useCascadeValue.js +15 -1
  319. package/esm/MultiCascadeTree/hooks/useColumnData.js +1 -1
  320. package/esm/MultiCascadeTree/hooks/useFlattenData.js +1 -1
  321. package/esm/MultiCascadeTree/hooks/useSearch.js +2 -1
  322. package/esm/MultiCascadeTree/utils.d.ts +4 -4
  323. package/esm/MultiCascadeTree/utils.js +18 -9
  324. package/esm/MultiCascader/MultiCascader.js +1 -1
  325. package/esm/SelectPicker/SelectPicker.js +2 -6
  326. package/esm/Tree/IndentLine.d.ts +3 -0
  327. package/esm/Tree/IndentLine.js +12 -0
  328. package/esm/Tree/Tree.d.ts +4 -92
  329. package/esm/Tree/Tree.js +78 -18
  330. package/esm/Tree/TreeNode.d.ts +101 -0
  331. package/esm/Tree/TreeNode.js +141 -0
  332. package/esm/Tree/TreeNodeToggle.d.ts +9 -0
  333. package/esm/Tree/TreeNodeToggle.js +50 -0
  334. package/esm/Tree/TreeProvider.d.ts +52 -0
  335. package/esm/Tree/TreeProvider.js +74 -0
  336. package/esm/Tree/TreeView.d.ts +68 -0
  337. package/esm/Tree/TreeView.js +299 -0
  338. package/esm/Tree/hooks/useExpandTree.d.ts +60 -0
  339. package/esm/Tree/hooks/useExpandTree.js +70 -0
  340. package/esm/Tree/hooks/useFlattenTree.d.ts +42 -0
  341. package/esm/Tree/hooks/useFlattenTree.js +92 -0
  342. package/esm/Tree/hooks/useFocusTree.d.ts +24 -0
  343. package/esm/Tree/hooks/useFocusTree.js +153 -0
  344. package/esm/Tree/hooks/useForceUpdate.d.ts +2 -0
  345. package/esm/Tree/hooks/useForceUpdate.js +11 -0
  346. package/esm/Tree/hooks/useTreeDrag.d.ts +32 -0
  347. package/esm/Tree/hooks/useTreeDrag.js +264 -0
  348. package/esm/Tree/hooks/useTreeNodeProps.d.ts +29 -0
  349. package/esm/Tree/hooks/useTreeNodeProps.js +76 -0
  350. package/esm/Tree/hooks/useTreeNodeRefs.d.ts +6 -0
  351. package/esm/Tree/hooks/useTreeNodeRefs.js +18 -0
  352. package/esm/Tree/hooks/useTreeSearch.d.ts +18 -0
  353. package/esm/Tree/hooks/useTreeSearch.js +69 -0
  354. package/esm/Tree/hooks/useTreeWithChildren.d.ts +14 -0
  355. package/esm/Tree/hooks/useTreeWithChildren.js +59 -0
  356. package/esm/Tree/hooks/useVirtualizedTreeData.d.ts +7 -0
  357. package/esm/Tree/hooks/useVirtualizedTreeData.js +77 -0
  358. package/esm/Tree/types.d.ts +257 -0
  359. package/esm/Tree/types.js +30 -0
  360. package/esm/Tree/utils/flattenTree.d.ts +25 -0
  361. package/esm/Tree/utils/flattenTree.js +88 -0
  362. package/esm/Tree/utils/focusableTree.d.ts +55 -0
  363. package/esm/Tree/utils/focusableTree.js +146 -0
  364. package/esm/Tree/utils/formatNodeRefKey.d.ts +4 -0
  365. package/esm/Tree/utils/formatNodeRefKey.js +7 -0
  366. package/esm/Tree/utils/getExpandItemValues.d.ts +11 -0
  367. package/esm/Tree/utils/getExpandItemValues.js +17 -0
  368. package/esm/Tree/utils/getNodeParentKeys.d.ts +5 -0
  369. package/esm/Tree/utils/getNodeParentKeys.js +17 -0
  370. package/esm/Tree/utils/getTreeActiveNode.d.ts +5 -0
  371. package/esm/Tree/utils/getTreeActiveNode.js +16 -0
  372. package/esm/Tree/utils/hasVisibleChildren.d.ts +5 -0
  373. package/esm/Tree/utils/hasVisibleChildren.js +12 -0
  374. package/esm/Tree/utils/indentTreeNode.d.ts +3 -0
  375. package/esm/Tree/utils/indentTreeNode.js +14 -0
  376. package/esm/Tree/utils/index.d.ts +11 -0
  377. package/esm/Tree/utils/index.js +14 -0
  378. package/esm/Tree/utils/isExpand.d.ts +6 -0
  379. package/esm/Tree/utils/isExpand.js +11 -0
  380. package/esm/Tree/utils/isSearching.d.ts +1 -0
  381. package/esm/Tree/utils/isSearching.js +5 -0
  382. package/esm/Tree/utils/treeKeyboardInteractions.d.ts +21 -0
  383. package/esm/Tree/utils/treeKeyboardInteractions.js +43 -0
  384. package/esm/TreePicker/TreePicker.d.ts +27 -21
  385. package/esm/TreePicker/TreePicker.js +158 -579
  386. package/esm/TreePicker/hooks/useFocusState.d.ts +20 -0
  387. package/esm/TreePicker/hooks/useFocusState.js +48 -0
  388. package/esm/index.d.ts +2 -0
  389. package/esm/index.js +1 -0
  390. package/esm/internals/Picker/Listbox.d.ts +40 -10
  391. package/esm/internals/Picker/Listbox.js +22 -16
  392. package/esm/internals/Picker/PickerIndicator.d.ts +2 -1
  393. package/esm/internals/Picker/PickerIndicator.js +7 -3
  394. package/esm/internals/Picker/hooks/useFocusItemValue.js +1 -1
  395. package/esm/internals/Picker/hooks/usePickerRef.d.ts +1 -4
  396. package/esm/internals/Picker/hooks/usePickerRef.js +3 -20
  397. package/esm/internals/Picker/index.d.ts +0 -1
  398. package/esm/internals/Picker/index.js +0 -1
  399. package/esm/internals/Picker/utils.js +1 -1
  400. package/esm/internals/{Picker → Tree}/TreeView.js +1 -1
  401. package/esm/internals/Tree/index.d.ts +1 -0
  402. package/esm/internals/Tree/index.js +2 -0
  403. package/esm/internals/Tree/utils/filterNodesOfTree.d.ts +5 -0
  404. package/esm/internals/Tree/utils/filterNodesOfTree.js +26 -0
  405. package/esm/internals/Tree/utils/findNodeOfTree.d.ts +1 -0
  406. package/esm/internals/Tree/utils/findNodeOfTree.js +22 -0
  407. package/esm/internals/Tree/utils/getParentMap.d.ts +15 -0
  408. package/esm/internals/Tree/utils/getParentMap.js +47 -0
  409. package/esm/internals/Tree/utils/getPathTowardsItem.d.ts +4 -0
  410. package/esm/internals/Tree/utils/getPathTowardsItem.js +12 -0
  411. package/esm/internals/Tree/utils/index.d.ts +4 -0
  412. package/esm/internals/Tree/utils/index.js +5 -0
  413. package/esm/internals/Windowing/List.d.ts +1 -0
  414. package/esm/internals/Windowing/List.js +3 -0
  415. package/esm/internals/Windowing/index.d.ts +1 -1
  416. package/esm/internals/Windowing/index.js +1 -1
  417. package/esm/internals/hooks/index.d.ts +1 -0
  418. package/esm/internals/hooks/index.js +2 -0
  419. package/esm/internals/hooks/useFoucsVirtualListItem.d.ts +7 -0
  420. package/esm/internals/hooks/useFoucsVirtualListItem.js +22 -0
  421. package/esm/{utils → internals/utils}/getSafeRegExpString.d.ts +1 -1
  422. package/esm/{utils → internals/utils}/getSafeRegExpString.js +1 -1
  423. package/esm/internals/utils/index.d.ts +2 -0
  424. package/esm/internals/utils/index.js +3 -0
  425. package/esm/internals/utils/stringifyReactNode.d.ts +2 -0
  426. package/esm/internals/utils/stringifyReactNode.js +12 -0
  427. package/esm/utils/constants.d.ts +0 -2
  428. package/esm/utils/constants.js +0 -3
  429. package/esm/utils/getDataGroupBy.js +1 -1
  430. package/esm/utils/index.d.ts +0 -3
  431. package/esm/utils/index.js +0 -3
  432. package/esm/utils/useIsomorphicLayoutEffect.d.ts +2 -2
  433. package/internals/Picker/styles/index.less +27 -1
  434. package/package.json +2 -2
  435. package/styles/color-modes/dark.less +5 -1
  436. package/styles/color-modes/high-contrast.less +8 -2
  437. package/styles/color-modes/light.less +10 -5
  438. package/styles/index.less +1 -0
  439. package/TreePicker/styles/mixin.less +0 -7
  440. package/cjs/CheckTreePicker/CheckTreeNode.d.ts +0 -28
  441. package/cjs/CheckTreePicker/CheckTreeNode.js +0 -140
  442. package/cjs/CheckTreePicker/utils.d.ts +0 -44
  443. package/cjs/Tree/TreeContext.d.ts +0 -6
  444. package/cjs/Tree/TreeContext.js +0 -10
  445. package/cjs/TreePicker/TreeNode.d.ts +0 -36
  446. package/cjs/TreePicker/TreeNode.js +0 -174
  447. package/cjs/utils/appendTooltip.d.ts +0 -10
  448. package/cjs/utils/appendTooltip.js +0 -20
  449. package/cjs/utils/stringToObject.d.ts +0 -2
  450. package/cjs/utils/stringToObject.js +0 -19
  451. package/cjs/utils/treeUtils.d.ts +0 -304
  452. package/cjs/utils/treeUtils.js +0 -1095
  453. package/esm/CheckTreePicker/CheckTreeNode.d.ts +0 -28
  454. package/esm/CheckTreePicker/CheckTreeNode.js +0 -133
  455. package/esm/CheckTreePicker/utils.d.ts +0 -44
  456. package/esm/Tree/TreeContext.d.ts +0 -6
  457. package/esm/Tree/TreeContext.js +0 -4
  458. package/esm/TreePicker/TreeNode.d.ts +0 -36
  459. package/esm/TreePicker/TreeNode.js +0 -167
  460. package/esm/utils/appendTooltip.d.ts +0 -10
  461. package/esm/utils/appendTooltip.js +0 -15
  462. package/esm/utils/stringToObject.d.ts +0 -2
  463. package/esm/utils/stringToObject.js +0 -14
  464. package/esm/utils/treeUtils.d.ts +0 -304
  465. package/esm/utils/treeUtils.js +0 -1043
  466. /package/cjs/DateInput/{useIsFocused.d.ts → hooks/useIsFocused.d.ts} +0 -0
  467. /package/cjs/DateInput/{useIsFocused.js → hooks/useIsFocused.js} +0 -0
  468. /package/cjs/DateInput/{useKeyboardInputEvent.d.ts → hooks/useKeyboardInputEvent.d.ts} +0 -0
  469. /package/cjs/DateInput/{useKeyboardInputEvent.js → hooks/useKeyboardInputEvent.js} +0 -0
  470. /package/cjs/internals/{Picker → Tree}/TreeView.d.ts +0 -0
  471. /package/esm/DateInput/{useIsFocused.d.ts → hooks/useIsFocused.d.ts} +0 -0
  472. /package/esm/DateInput/{useIsFocused.js → hooks/useIsFocused.js} +0 -0
  473. /package/esm/DateInput/{useKeyboardInputEvent.d.ts → hooks/useKeyboardInputEvent.d.ts} +0 -0
  474. /package/esm/DateInput/{useKeyboardInputEvent.js → hooks/useKeyboardInputEvent.js} +0 -0
  475. /package/esm/internals/{Picker → Tree}/TreeView.d.ts +0 -0
@@ -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 */
@@ -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
  }