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
@@ -3,25 +3,18 @@ import _extends from "@babel/runtime/helpers/esm/extends";
3
3
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
4
  import _isFunction from "lodash/isFunction";
5
5
  import _isNil from "lodash/isNil";
6
- import _isUndefined from "lodash/isUndefined";
7
6
  import _omit from "lodash/omit";
8
7
  import _pick from "lodash/pick";
9
- import React, { useState, useEffect, useContext, useMemo } from 'react';
10
- import PropTypes from 'prop-types';
11
- import { List, AutoSizer } from '../internals/Windowing';
12
- import { oneOf } from '../internals/propTypes';
13
- import TreeNode from './TreeNode';
14
- import { createDragPreview, getKeyParentMap, getPathTowardsItem, getTreeNodeIndent, removeDragPreview, stringifyTreeNodeLabel } from '../utils/treeUtils';
15
- import { createChainedFunction, useClassNames, useCustom, useControlled, useEventCallback, TREE_NODE_DROP_POSITION, KEY_VALUES, mergeRefs, shallowEqual } from '../utils';
16
- import { getExpandWhenSearching, hasVisibleChildren, getDragNodeKeys, calDropNodePosition, createUpdateTreeDataFunction, useTreeDrag, useFlattenTreeData, getTreeActiveNode, getDefaultExpandItemValues, useTreeNodeRefs, useTreeSearch, focusPreviousItem, getFocusableItems, focusNextItem, getActiveItem, toggleExpand, useGetTreeNodeChildren, focusToActiveTreeNode, leftArrowHandler, focusTreeNode, rightArrowHandler, isSearching } from '../utils/treeUtils';
17
- import { PickerToggle, PickerPopup, TreeView, PickerToggleTrigger, createConcatChildrenFunction, usePickerClassName, usePickerRef, onMenuKeyDown as _onMenuKeyDown, listPickerPropTypes, pickTriggerPropKeys, omitTriggerPropKeys, useToggleKeyDownEvent } from '../internals/Picker';
18
- import SearchBox from '../internals/SearchBox';
19
- import TreeContext from '../Tree/TreeContext';
20
- var emptyArray = [];
21
- var itemSize = function itemSize() {
22
- return 36;
23
- };
24
-
8
+ import React, { useMemo } from 'react';
9
+ import { createChainedFunction, useClassNames, useCustom, useControlled, useEventCallback, mergeRefs } from '../utils';
10
+ import { getActiveItem, getTreeActiveNode } from '../Tree/utils';
11
+ import { PickerToggle, PickerPopup, PickerToggleTrigger, usePickerClassName, usePickerRef, onMenuKeyDown, pickTriggerPropKeys, omitTriggerPropKeys, useToggleKeyDownEvent } from '../internals/Picker';
12
+ import useTreeWithChildren from '../Tree/hooks/useTreeWithChildren';
13
+ import useFlattenTree from '../Tree/hooks/useFlattenTree';
14
+ import useFocusState from './hooks/useFocusState';
15
+ import useExpandTree from '../Tree/hooks/useExpandTree';
16
+ import TreeView from '../Tree/TreeView';
17
+ import { TreeProvider, useTreeImperativeHandle } from '../Tree/TreeProvider';
25
18
  /**
26
19
  * The `TreePicker` component is used for selecting single options which are organized in a tree structure.
27
20
  *
@@ -30,85 +23,76 @@ var itemSize = function itemSize() {
30
23
  var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
31
24
  var _props$as = props.as,
32
25
  Component = _props$as === void 0 ? 'div' : _props$as,
33
- _props$data = props.data,
34
- data = _props$data === void 0 ? emptyArray : _props$data,
35
26
  _props$appearance = props.appearance,
36
27
  appearance = _props$appearance === void 0 ? 'default' : _props$appearance,
37
- style = props.style,
38
- showIndentLine = props.showIndentLine,
39
- controlledValue = props.value,
40
- overrideLocale = props.locale,
41
- _props$height = props.height,
42
- height = _props$height === void 0 ? 360 : _props$height,
43
- _props$menuMaxHeight = props.menuMaxHeight,
44
- menuMaxHeight = _props$menuMaxHeight === void 0 ? 320 : _props$menuMaxHeight,
45
- menuStyle = props.menuStyle,
46
- className = props.className,
47
- disabled = props.disabled,
48
- _props$placement = props.placement,
49
- placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,
50
- _props$cleanable = props.cleanable,
51
- cleanable = _props$cleanable === void 0 ? true : _props$cleanable,
52
- _props$searchable = props.searchable,
53
- searchable = _props$searchable === void 0 ? true : _props$searchable,
54
- _props$virtualized = props.virtualized,
55
- virtualized = _props$virtualized === void 0 ? false : _props$virtualized,
56
28
  _props$classPrefix = props.classPrefix,
57
29
  classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,
58
- defaultValue = props.defaultValue,
59
- placeholder = props.placeholder,
60
- searchKeyword = props.searchKeyword,
61
- menuClassName = props.menuClassName,
62
- _props$menuAutoWidth = props.menuAutoWidth,
63
- menuAutoWidth = _props$menuAutoWidth === void 0 ? true : _props$menuAutoWidth,
64
- searchBy = props.searchBy,
65
- toggleAs = props.toggleAs,
66
- _props$labelKey = props.labelKey,
67
- labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,
68
- _props$valueKey = props.valueKey,
69
- valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,
30
+ _props$cleanable = props.cleanable,
31
+ cleanable = _props$cleanable === void 0 ? true : _props$cleanable,
70
32
  _props$childrenKey = props.childrenKey,
71
33
  childrenKey = _props$childrenKey === void 0 ? 'children' : _props$childrenKey,
72
- draggable = props.draggable,
34
+ _props$data = props.data,
35
+ data = _props$data === void 0 ? [] : _props$data,
36
+ disabled = props.disabled,
37
+ defaultValue = props.defaultValue,
73
38
  _props$defaultExpandA = props.defaultExpandAll,
74
39
  defaultExpandAll = _props$defaultExpandA === void 0 ? false : _props$defaultExpandA,
75
40
  _props$disabledItemVa = props.disabledItemValues,
76
- disabledItemValues = _props$disabledItemVa === void 0 ? emptyArray : _props$disabledItemVa,
77
- controlledExpandItemValues = props.expandItemValues,
41
+ disabledItemValues = _props$disabledItemVa === void 0 ? [] : _props$disabledItemVa,
78
42
  _props$defaultExpandI = props.defaultExpandItemValues,
79
- defaultExpandItemValues = _props$defaultExpandI === void 0 ? emptyArray : _props$defaultExpandI,
43
+ defaultExpandItemValues = _props$defaultExpandI === void 0 ? [] : _props$defaultExpandI,
44
+ controlledExpandItemValues = props.expandItemValues,
80
45
  id = props.id,
46
+ overrideLocale = props.locale,
47
+ _props$labelKey = props.labelKey,
48
+ labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,
49
+ placeholder = props.placeholder,
50
+ _props$placement = props.placement,
51
+ placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,
52
+ style = props.style,
53
+ searchKeyword = props.searchKeyword,
54
+ _props$searchable = props.searchable,
55
+ searchable = _props$searchable === void 0 ? true : _props$searchable,
56
+ showIndentLine = props.showIndentLine,
57
+ DEPRECATED_menuClassName = props.menuClassName,
58
+ DEPRECATED_menuStyle = props.menuStyle,
59
+ popupClassName = props.popupClassName,
60
+ popupStyle = props.popupStyle,
61
+ _props$popupAutoWidth = props.popupAutoWidth,
62
+ popupAutoWidth = _props$popupAutoWidth === void 0 ? true : _props$popupAutoWidth,
63
+ _props$treeHeight = props.treeHeight,
64
+ treeHeight = _props$treeHeight === void 0 ? 320 : _props$treeHeight,
65
+ _props$menuAutoWidth = props.menuAutoWidth,
66
+ menuAutoWidth = _props$menuAutoWidth === void 0 ? popupAutoWidth : _props$menuAutoWidth,
67
+ _props$valueKey = props.valueKey,
68
+ valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,
69
+ _props$virtualized = props.virtualized,
70
+ virtualized = _props$virtualized === void 0 ? false : _props$virtualized,
71
+ controlledValue = props.value,
81
72
  listProps = props.listProps,
73
+ toggleAs = props.toggleAs,
74
+ searchBy = props.searchBy,
82
75
  getChildren = props.getChildren,
83
- renderTreeIcon = props.renderTreeIcon,
84
- renderTreeNode = props.renderTreeNode,
85
- onExit = props.onExit,
86
- onExited = props.onExited,
87
76
  onClean = props.onClean,
88
77
  onSearch = props.onSearch,
89
78
  onSelect = props.onSelect,
90
79
  onSelectItem = props.onSelectItem,
91
80
  onChange = props.onChange,
92
- onEntered = props.onEntered,
93
- onDragEnd = props.onDragEnd,
94
- onDragStart = props.onDragStart,
95
- onDragEnter = props.onDragEnter,
96
- onDragLeave = props.onDragLeave,
97
- onDragOver = props.onDragOver,
98
- onDrop = props.onDrop,
99
81
  onExpand = props.onExpand,
100
- renderExtraFooter = props.renderExtraFooter,
101
- renderMenu = props.renderMenu,
82
+ onEnter = props.onEnter,
83
+ onExit = props.onExit,
84
+ onEntered = props.onEntered,
102
85
  renderValue = props.renderValue,
103
- rest = _objectWithoutPropertiesLoose(props, ["as", "data", "appearance", "style", "showIndentLine", "value", "locale", "height", "menuMaxHeight", "menuStyle", "className", "disabled", "placement", "cleanable", "searchable", "virtualized", "classPrefix", "defaultValue", "placeholder", "searchKeyword", "menuClassName", "menuAutoWidth", "searchBy", "toggleAs", "labelKey", "valueKey", "childrenKey", "draggable", "defaultExpandAll", "disabledItemValues", "expandItemValues", "defaultExpandItemValues", "id", "listProps", "getChildren", "renderTreeIcon", "renderTreeNode", "onExit", "onExited", "onClean", "onSearch", "onSelect", "onSelectItem", "onChange", "onEntered", "onDragEnd", "onDragStart", "onDragEnter", "onDragLeave", "onDragOver", "onDrop", "onExpand", "renderExtraFooter", "renderMenu", "renderValue"]);
86
+ DEPRECATED_renderMenu = props.renderMenu,
87
+ _props$renderTree = props.renderTree,
88
+ renderTree = _props$renderTree === void 0 ? DEPRECATED_renderMenu : _props$renderTree,
89
+ renderTreeIcon = props.renderTreeIcon,
90
+ renderTreeNode = props.renderTreeNode,
91
+ renderExtraFooter = props.renderExtraFooter,
92
+ rest = _objectWithoutPropertiesLoose(props, ["as", "appearance", "classPrefix", "cleanable", "childrenKey", "data", "disabled", "defaultValue", "defaultExpandAll", "disabledItemValues", "defaultExpandItemValues", "expandItemValues", "id", "locale", "labelKey", "placeholder", "placement", "style", "searchKeyword", "searchable", "showIndentLine", "menuClassName", "menuStyle", "popupClassName", "popupStyle", "popupAutoWidth", "treeHeight", "menuAutoWidth", "valueKey", "virtualized", "value", "listProps", "toggleAs", "searchBy", "getChildren", "onClean", "onSearch", "onSelect", "onSelectItem", "onChange", "onExpand", "onEnter", "onExit", "onEntered", "renderValue", "renderMenu", "renderTree", "renderTreeIcon", "renderTreeNode", "renderExtraFooter"]);
104
93
  var _useCustom = useCustom('Picker', overrideLocale),
105
- rtl = _useCustom.rtl,
106
94
  locale = _useCustom.locale;
107
- var _useContext = useContext(TreeContext),
108
- inline = _useContext.inline;
109
- var _usePickerRef = usePickerRef(ref, {
110
- inline: inline
111
- }),
95
+ var _usePickerRef = usePickerRef(ref),
112
96
  trigger = _usePickerRef.trigger,
113
97
  root = _usePickerRef.root,
114
98
  target = _usePickerRef.target,
@@ -118,359 +102,78 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
118
102
  treeView = _usePickerRef.treeView;
119
103
  var _useControlled = useControlled(controlledValue, defaultValue),
120
104
  value = _useControlled[0],
121
- setValue = _useControlled[1],
122
- isControlled = _useControlled[2];
123
- var _useGetTreeNodeChildr = useGetTreeNodeChildren(data, valueKey, childrenKey),
124
- treeData = _useGetTreeNodeChildr.data,
125
- setTreeData = _useGetTreeNodeChildr.setData,
126
- loadingNodeValues = _useGetTreeNodeChildr.loadingNodeValues,
127
- loadChildren = _useGetTreeNodeChildr.loadChildren;
128
- var _useControlled2 = useControlled(controlledExpandItemValues, getDefaultExpandItemValues(treeData, {
105
+ setValue = _useControlled[1];
106
+ var itemDataKeys = {
107
+ childrenKey: childrenKey,
108
+ labelKey: labelKey,
109
+ valueKey: valueKey
110
+ };
111
+ var _useTreeWithChildren = useTreeWithChildren(data, itemDataKeys),
112
+ treeData = _useTreeWithChildren.treeData,
113
+ loadingNodeValues = _useTreeWithChildren.loadingNodeValues,
114
+ appendChild = _useTreeWithChildren.appendChild;
115
+ var flattenedNodes = useFlattenTree(treeData, _extends({}, itemDataKeys));
116
+ var _useExpandTree = useExpandTree(data, _extends({}, itemDataKeys, {
129
117
  defaultExpandAll: defaultExpandAll,
130
- valueKey: valueKey,
131
- childrenKey: childrenKey,
132
- defaultExpandItemValues: defaultExpandItemValues
118
+ defaultExpandItemValues: defaultExpandItemValues,
119
+ controlledExpandItemValues: controlledExpandItemValues,
120
+ onExpand: onExpand,
121
+ getChildren: getChildren,
122
+ appendChild: appendChild
133
123
  })),
134
- expandItemValues = _useControlled2[0],
135
- setExpandItemValues = _useControlled2[1];
136
- var _useState = useState(false),
137
- active = _useState[0],
138
- setActive = _useState[1];
139
- var _useState2 = useState(null),
140
- focusItemValue = _useState2[0],
141
- setFocusItemValue = _useState2[1];
142
- var _useFlattenTreeData = useFlattenTreeData({
143
- data: treeData,
144
- labelKey: labelKey,
145
- valueKey: valueKey,
146
- childrenKey: childrenKey,
147
- callback: function callback() {
148
- // after flattenData, always trigger re-render
149
- forceUpdate();
150
- }
151
- }),
152
- flattenNodes = _useFlattenTreeData.flattenNodes,
153
- forceUpdate = _useFlattenTreeData.forceUpdate,
154
- formatVirtualizedTreeData = _useFlattenTreeData.formatVirtualizedTreeData;
124
+ expandItemValues = _useExpandTree.expandItemValues,
125
+ handleExpandTreeNode = _useExpandTree.handleExpandTreeNode;
155
126
  var _useClassNames = useClassNames(classPrefix),
156
127
  prefix = _useClassNames.prefix,
157
128
  merge = _useClassNames.merge;
158
- var _useClassNames2 = useClassNames(inline && classPrefix !== 'picker' ? classPrefix : 'tree'),
159
- treePrefix = _useClassNames2.prefix,
160
- withTreeClassPrefix = _useClassNames2.withClassPrefix;
161
- var _useTreeSearch = useTreeSearch({
162
- labelKey: labelKey,
163
- childrenKey: childrenKey,
164
- searchKeyword: searchKeyword,
165
- data: treeData,
166
- searchBy: searchBy,
167
- callback: function callback(searchKeyword, _filterData, event) {
168
- onSearch === null || onSearch === void 0 ? void 0 : onSearch(searchKeyword, event);
169
- }
129
+ var activeNode = getTreeActiveNode(flattenedNodes, value, valueKey);
130
+ var _useTreeImperativeHan = useTreeImperativeHandle(),
131
+ register = _useTreeImperativeHan.register,
132
+ focusFirstNode = _useTreeImperativeHan.focusFirstNode,
133
+ focusActiveNode = _useTreeImperativeHan.focusActiveNode;
134
+ var _useFocusState = useFocusState({
135
+ focusActiveNode: focusActiveNode,
136
+ target: target,
137
+ value: value,
138
+ onEnter: onEnter,
139
+ onExit: onExit,
140
+ onEntered: onEntered
170
141
  }),
171
- filteredData = _useTreeSearch.filteredData,
172
- searchKeywordState = _useTreeSearch.searchKeywordState,
173
- setSearchKeyword = _useTreeSearch.setSearchKeyword,
174
- handleSearch = _useTreeSearch.handleSearch,
175
- setFilteredData = _useTreeSearch.setFilteredData;
176
- var _useTreeDrag = useTreeDrag(),
177
- dragNodeKeys = _useTreeDrag.dragNodeKeys,
178
- dragOverNodeKey = _useTreeDrag.dragOverNodeKey,
179
- dragNode = _useTreeDrag.dragNode,
180
- dropNodePosition = _useTreeDrag.dropNodePosition,
181
- setDragNodeKeys = _useTreeDrag.setDragNodeKeys,
182
- setDragOverNodeKey = _useTreeDrag.setDragOverNodeKey,
183
- setDragNode = _useTreeDrag.setDragNode,
184
- setDropNodePosition = _useTreeDrag.setDropNodePosition;
185
- var _useTreeNodeRefs = useTreeNodeRefs(),
186
- treeNodesRefs = _useTreeNodeRefs.treeNodesRefs,
187
- saveTreeNodeRef = _useTreeNodeRefs.saveTreeNodeRef;
188
- var activeNode = getTreeActiveNode(flattenNodes, value, valueKey);
189
- var getFormattedNodes = function getFormattedNodes(render) {
190
- if (virtualized) {
191
- return formatVirtualizedTreeData(flattenNodes, filteredData, expandItemValues, {
192
- searchKeyword: searchKeywordState
193
- }).filter(function (n) {
194
- return n.visible;
195
- });
196
- }
197
- return filteredData.map(function (dataItem, index) {
198
- return render === null || render === void 0 ? void 0 : render(dataItem, index, 1);
199
- });
200
- };
201
- var focusActiveNode = function focusActiveNode() {
202
- if (list.current) {
203
- focusToActiveTreeNode({
204
- list: list.current,
205
- valueKey: valueKey,
206
- selector: "." + treePrefix('node-active'),
207
- activeNode: activeNode,
208
- virtualized: virtualized,
209
- container: treeView.current,
210
- formattedNodes: getFormattedNodes()
211
- });
212
- }
213
- };
214
- useEffect(function () {
215
- setFilteredData(data, searchKeywordState);
216
- setTreeData(data);
217
- }, [data, searchKeywordState, setFilteredData, setTreeData]);
218
- useEffect(function () {
219
- setFilteredData(treeData, searchKeywordState);
220
- }, [treeData, searchKeywordState, setFilteredData]);
221
- useEffect(function () {
222
- if (Array.isArray(controlledExpandItemValues)) {
223
- setExpandItemValues(controlledExpandItemValues);
224
- }
225
- }, [controlledExpandItemValues, setExpandItemValues]);
226
- useEffect(function () {
227
- setSearchKeyword(searchKeyword !== null && searchKeyword !== void 0 ? searchKeyword : '');
228
- }, [searchKeyword, setSearchKeyword]);
229
- var getDropData = function getDropData(nodeData) {
230
- var options = {
231
- valueKey: valueKey,
232
- childrenKey: childrenKey
233
- };
234
- return {
235
- /** draggingNode */
236
- dragNode: dragNode,
237
- /** dropNode */
238
- dropNode: nodeData,
239
- /** dragAndDrop Position type */
240
- dropNodePosition: dropNodePosition,
241
- createUpdateDataFunction: createUpdateTreeDataFunction({
242
- dragNode: dragNode,
243
- dropNode: nodeData,
244
- dropNodePosition: dropNodePosition
245
- }, options)
246
- };
247
- };
248
- var getTreeNodeProps = function getTreeNodeProps(node, layer, index) {
249
- var draggingNode = dragNode !== null && dragNode !== void 0 ? dragNode : {};
250
- return {
251
- as: Component,
252
- rtl: rtl,
253
- value: node[valueKey],
254
- label: node[labelKey],
255
- index: index,
256
- layer: layer,
257
- loading: loadingNodeValues.some(function (item) {
258
- return shallowEqual(item, node[valueKey]);
259
- }),
260
- expand: node.expand,
261
- active: shallowEqual(node[valueKey], value),
262
- focus: shallowEqual(node[valueKey], focusItemValue),
263
- visible: node.visible,
264
- draggable: draggable,
265
- dragging: shallowEqual(node[valueKey], draggingNode[valueKey]),
266
- children: node[childrenKey],
267
- nodeData: node,
268
- disabled: disabledItemValues.some(function (disabledItem) {
269
- return shallowEqual(disabledItem, node[valueKey]);
270
- }),
271
- dragOver: shallowEqual(node[valueKey], dragOverNodeKey) && dropNodePosition === TREE_NODE_DROP_POSITION.DRAG_OVER,
272
- dragOverTop: shallowEqual(node[valueKey], dragOverNodeKey) && dropNodePosition === TREE_NODE_DROP_POSITION.DRAG_OVER_TOP,
273
- dragOverBottom: shallowEqual(node[valueKey], dragOverNodeKey) && dropNodePosition === TREE_NODE_DROP_POSITION.DRAG_OVER_BOTTOM,
274
- onSelect: handleSelect,
275
- onDragStart: handleDragStart,
276
- onDragEnter: handleDragEnter,
277
- onDragOver: handleDragOver,
278
- onDragLeave: handleDragLeave,
279
- onDragEnd: handleDragEnd,
280
- onDrop: handleDrop,
281
- onExpand: handleExpand,
282
- renderTreeNode: renderTreeNode,
283
- renderTreeIcon: renderTreeIcon
284
- };
285
- };
286
-
287
- // TODO-Doma
288
- // Replace `getKeyParentMap` with `getParentMap`
289
- var itemParentMap = useMemo(function () {
290
- return getKeyParentMap(data, function (node) {
291
- return node[valueKey];
292
- }, function (node) {
293
- return node[childrenKey];
294
- });
295
- }, [childrenKey, data, valueKey]);
296
- var handleSelect = useEventCallback(function (nodeData, event) {
142
+ active = _useFocusState.active,
143
+ focusItemValue = _useFocusState.focusItemValue,
144
+ setFocusItemValue = _useFocusState.setFocusItemValue,
145
+ triggerProps = _useFocusState.triggerProps;
146
+ var handleSelect = useEventCallback(function (treeNode, value, event) {
297
147
  var _target$current, _trigger$current, _trigger$current$clos;
298
- if (!nodeData) {
299
- return;
300
- }
301
- var nodeValue = nodeData[valueKey];
302
- if (!isControlled) {
303
- setValue(nodeValue);
304
- }
305
- setFocusItemValue(nodeData[valueKey]);
306
- onChange === null || onChange === void 0 ? void 0 : onChange(nodeValue, event);
307
- onSelect === null || onSelect === void 0 ? void 0 : onSelect(nodeData, nodeValue, event);
308
- onSelectItem === null || onSelectItem === void 0 ? void 0 : onSelectItem(nodeData, getPathTowardsItem(nodeData, function (item) {
309
- return itemParentMap.get(item[valueKey]);
310
- }));
148
+ setFocusItemValue(value);
149
+ onSelect === null || onSelect === void 0 ? void 0 : onSelect(treeNode, value, event);
311
150
  (_target$current = target.current) === null || _target$current === void 0 ? void 0 : _target$current.focus();
312
151
  (_trigger$current = trigger.current) === null || _trigger$current === void 0 ? void 0 : (_trigger$current$clos = _trigger$current.close) === null || _trigger$current$clos === void 0 ? void 0 : _trigger$current$clos.call(_trigger$current);
313
152
  });
314
- var handleExpand = useEventCallback(function (node) {
315
- var nextExpandItemValues = toggleExpand({
316
- node: node,
317
- isExpand: !node.expand,
318
- expandItemValues: expandItemValues,
319
- valueKey: valueKey
320
- });
321
- setExpandItemValues(nextExpandItemValues);
322
- onExpand === null || onExpand === void 0 ? void 0 : onExpand(nextExpandItemValues, node, createConcatChildrenFunction(node, node[valueKey], {
323
- valueKey: valueKey,
324
- childrenKey: childrenKey
325
- }));
326
- if (_isFunction(getChildren) && !node.expand && Array.isArray(node[childrenKey]) && node[childrenKey].length === 0) {
327
- loadChildren(node, getChildren);
328
- }
329
- });
330
- var handleDragStart = useEventCallback(function (nodeData, event) {
331
- if (draggable) {
332
- var _event$dataTransfer;
333
- var dragMoverNode = createDragPreview(stringifyTreeNodeLabel(nodeData[labelKey]), treePrefix('drag-preview'));
334
- (_event$dataTransfer = event.dataTransfer) === null || _event$dataTransfer === void 0 ? void 0 : _event$dataTransfer.setDragImage(dragMoverNode, 0, 0);
335
- setDragNodeKeys(getDragNodeKeys(nodeData, childrenKey, valueKey));
336
- setDragNode(flattenNodes[nodeData.refKey]);
337
- onDragStart === null || onDragStart === void 0 ? void 0 : onDragStart(nodeData, event);
338
- }
339
- });
340
- var handleDragEnter = useEventCallback(function (nodeData, event) {
341
- if (dragNodeKeys.some(function (d) {
342
- return shallowEqual(d, nodeData[valueKey]);
343
- })) {
344
- return;
345
- }
346
- if (dragNode) {
347
- setDragOverNodeKey(nodeData[valueKey]);
348
- setDropNodePosition(calDropNodePosition(event, treeNodesRefs[nodeData.refKey]));
349
- }
350
- onDragEnter === null || onDragEnter === void 0 ? void 0 : onDragEnter(nodeData, event);
351
- });
352
- var handleDragOver = useEventCallback(function (nodeData, event) {
353
- if (dragNodeKeys.some(function (d) {
354
- return shallowEqual(d, nodeData[valueKey]);
355
- })) {
356
- event.dataTransfer.dropEffect = 'none';
357
- return;
358
- }
359
- if (dragNode && shallowEqual(nodeData[valueKey], dragOverNodeKey)) {
360
- var lastDropNodePosition = calDropNodePosition(event, treeNodesRefs[nodeData.refKey]);
361
- if (lastDropNodePosition === dropNodePosition) return;
362
- setDropNodePosition(lastDropNodePosition);
363
- }
364
- onDragOver === null || onDragOver === void 0 ? void 0 : onDragOver(nodeData, event);
365
- });
366
- var handleDragLeave = useEventCallback(function (nodeData, event) {
367
- onDragLeave === null || onDragLeave === void 0 ? void 0 : onDragLeave(nodeData, event);
368
- });
369
- var handleDragEnd = useEventCallback(function (nodeData, event) {
370
- removeDragPreview();
371
- setDragNode(null);
372
- setDragNodeKeys([]);
373
- setDragOverNodeKey(null);
374
- onDragEnd === null || onDragEnd === void 0 ? void 0 : onDragEnd(nodeData, event);
375
- });
376
- var handleDrop = useEventCallback(function (nodeData, event) {
377
- if (dragNodeKeys.some(function (d) {
378
- return shallowEqual(d, nodeData[valueKey]);
379
- })) {
380
- console.error('Cannot drag a node to itself and its children');
381
- } else {
382
- var dropData = getDropData(nodeData);
383
- onDrop === null || onDrop === void 0 ? void 0 : onDrop(dropData, event);
384
- }
385
- removeDragPreview();
386
- setDragNode(null);
387
- setDragNodeKeys([]);
388
- setDragOverNodeKey(null);
389
- });
390
- var handleOpen = useEventCallback(function () {
391
- focusActiveNode();
392
- setActive(true);
393
- });
394
- var handleClose = useEventCallback(function () {
395
- var _target$current2;
396
- setSearchKeyword('');
397
- setActive(false);
398
- setFocusItemValue(activeNode === null || activeNode === void 0 ? void 0 : activeNode[valueKey]);
399
- /**
400
- * when using keyboard toggle picker, should refocus on PickerToggle Component after close picker menu
401
- */
402
- (_target$current2 = target.current) === null || _target$current2 === void 0 ? void 0 : _target$current2.focus();
403
- });
404
- var handleFocusItem = useEventCallback(function (key) {
405
- var focusableItems = getFocusableItems(filteredData, {
406
- disabledItemValues: disabledItemValues,
407
- valueKey: valueKey,
408
- childrenKey: childrenKey,
409
- expandItemValues: expandItemValues
410
- }, isSearching(searchKeywordState));
411
- var selector = "." + treePrefix('node-label');
412
- var focusProps = {
413
- focusItemValue: focusItemValue,
414
- focusableItems: focusableItems,
415
- treeNodesRefs: treeNodesRefs,
416
- selector: selector,
417
- valueKey: valueKey,
418
- callback: function callback(nextFocusItemValue) {
419
- setFocusItemValue(nextFocusItemValue);
420
- }
421
- };
422
- if (key === KEY_VALUES.DOWN) {
423
- focusNextItem(focusProps);
424
- return;
425
- }
426
- if (key === KEY_VALUES.UP) {
427
- focusPreviousItem(focusProps);
428
- }
429
- });
430
- var handleLeftArrow = useEventCallback(function () {
431
- if (_isNil(focusItemValue)) return;
432
- var focusItem = getActiveItem(focusItemValue, flattenNodes, valueKey);
433
- leftArrowHandler({
434
- focusItem: focusItem,
435
- expand: expandItemValues.includes(focusItem === null || focusItem === void 0 ? void 0 : focusItem[valueKey]),
436
- onExpand: handleExpand,
437
- childrenKey: childrenKey,
438
- onFocusItem: function onFocusItem() {
439
- var _focusItem$parent, _focusItem$parent2;
440
- setFocusItemValue(focusItem === null || focusItem === void 0 ? void 0 : (_focusItem$parent = focusItem.parent) === null || _focusItem$parent === void 0 ? void 0 : _focusItem$parent[valueKey]);
441
- focusTreeNode(focusItem === null || focusItem === void 0 ? void 0 : (_focusItem$parent2 = focusItem.parent) === null || _focusItem$parent2 === void 0 ? void 0 : _focusItem$parent2.refKey, treeNodesRefs, "." + treePrefix('node-label'));
442
- }
443
- });
444
- });
445
- var handleRightArrow = useEventCallback(function () {
446
- if (_isNil(focusItemValue)) return;
447
- var focusItem = getActiveItem(focusItemValue, flattenNodes, valueKey);
448
- rightArrowHandler({
449
- focusItem: focusItem,
450
- expand: expandItemValues.includes(focusItem === null || focusItem === void 0 ? void 0 : focusItem[valueKey]),
451
- childrenKey: childrenKey,
452
- onExpand: handleExpand,
453
- onFocusItem: function onFocusItem() {
454
- handleFocusItem(KEY_VALUES.DOWN);
455
- }
456
- });
457
- });
458
- var selectActiveItem = useEventCallback(function (event) {
459
- if (_isNil(focusItemValue)) return;
460
- var activeItem = getActiveItem(focusItemValue, flattenNodes, valueKey);
461
- handleSelect(activeItem, event);
462
- });
463
153
  var handleClean = useEventCallback(function (event) {
464
- var nullValue = null;
465
154
  var target = event.target;
466
155
  // exclude searchbox
467
156
  if (target.matches('input[role="searchbox"]') || disabled || !cleanable) {
468
157
  return;
469
158
  }
470
- if (!isControlled) {
471
- setValue(null);
159
+ setValue(null);
160
+ onChange === null || onChange === void 0 ? void 0 : onChange(null, event);
161
+ });
162
+ var handleTreePressEnter = useEventCallback(function (event) {
163
+ if (_isNil(focusItemValue)) {
164
+ return;
472
165
  }
473
- onChange === null || onChange === void 0 ? void 0 : onChange(nullValue, event);
166
+ var activeItem = getActiveItem(focusItemValue, flattenedNodes, valueKey);
167
+ handleSelect(activeItem, event);
168
+ });
169
+ var handleTreeKeyDown = useEventCallback(function (event) {
170
+ onMenuKeyDown(event, {
171
+ del: handleClean,
172
+ down: function down() {
173
+ return focusFirstNode();
174
+ },
175
+ enter: handleTreePressEnter
176
+ });
474
177
  });
475
178
  var onPickerKeydown = useToggleKeyDownEvent(_extends({
476
179
  toggle: !activeNode || !active,
@@ -480,146 +183,56 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
480
183
  searchInput: searchInput,
481
184
  active: active,
482
185
  onExit: handleClean,
483
- onMenuKeyDown: function onMenuKeyDown(event) {
484
- _onMenuKeyDown(event, {
485
- down: function down() {
486
- return handleFocusItem(KEY_VALUES.DOWN);
487
- },
488
- up: function up() {
489
- return handleFocusItem(KEY_VALUES.UP);
490
- },
491
- left: rtl ? handleRightArrow : handleLeftArrow,
492
- right: rtl ? handleLeftArrow : handleRightArrow,
493
- enter: selectActiveItem,
494
- del: handleClean
495
- });
496
- }
186
+ onMenuKeyDown: handleTreeKeyDown
497
187
  }, rest));
498
- var handleTreeKeyDown = useEventCallback(function (event) {
499
- if (!treeView.current) {
500
- return;
501
- }
502
- _onMenuKeyDown(event, {
503
- down: function down() {
504
- return handleFocusItem(KEY_VALUES.DOWN);
505
- },
506
- up: function up() {
507
- return handleFocusItem(KEY_VALUES.UP);
508
- },
509
- left: rtl ? handleRightArrow : handleLeftArrow,
510
- right: rtl ? handleLeftArrow : handleRightArrow,
511
- enter: selectActiveItem
512
- });
188
+ var handleChange = useEventCallback(function (nextValue, event) {
189
+ setValue(nextValue);
190
+ onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);
513
191
  });
514
- var renderNode = function renderNode(node, index, layer) {
515
- if (!node.visible) {
516
- return null;
517
- }
518
- var children = node[childrenKey];
519
- var expand = getExpandWhenSearching(searchKeywordState, expandItemValues.includes(node[valueKey]));
520
- var visibleChildren = _isUndefined(searchKeywordState) || searchKeywordState.length === 0 ? !!children : hasVisibleChildren(node, childrenKey);
521
- var nodeProps = _extends({}, getTreeNodeProps(_extends({}, node, {
522
- expand: expand
523
- }), layer, index), {
524
- hasChildren: visibleChildren
525
- });
526
- if (nodeProps.hasChildren) {
527
- var _merge;
528
- layer += 1;
529
- var openClass = treePrefix('open');
530
- var childrenClass = merge(treePrefix('node-children'), (_merge = {}, _merge[openClass] = expand && visibleChildren, _merge));
531
- var nodes = children || [];
532
- return /*#__PURE__*/React.createElement("div", {
533
- className: childrenClass,
534
- key: node[valueKey]
535
- }, /*#__PURE__*/React.createElement(TreeNode, _extends({}, nodeProps, {
536
- ref: function ref(_ref) {
537
- return saveTreeNodeRef(_ref, node.refKey);
538
- }
539
- })), /*#__PURE__*/React.createElement("div", {
540
- className: treePrefix('group'),
541
- role: "group"
542
- }, nodes.map(function (child, i) {
543
- return renderNode(child, i, layer);
544
- }), showIndentLine && /*#__PURE__*/React.createElement("span", {
545
- className: treePrefix('indent-line'),
546
- style: getTreeNodeIndent(rtl, layer - 1, true)
547
- })));
548
- }
549
- return /*#__PURE__*/React.createElement(TreeNode, _extends({
550
- ref: function ref(_ref2) {
551
- return saveTreeNodeRef(_ref2, node.refKey);
552
- },
553
- key: node[valueKey]
554
- }, nodeProps));
555
- };
556
- var renderVirtualListNode = function renderVirtualListNode(_ref3) {
557
- var index = _ref3.index,
558
- style = _ref3.style,
559
- data = _ref3.data;
560
- var node = data[index];
561
- var layer = node.layer,
562
- visible = node.visible;
563
- var expand = getExpandWhenSearching(searchKeywordState, expandItemValues.includes(node[valueKey]));
564
- if (!node.visible) {
565
- return null;
566
- }
567
- var nodeProps = _extends({}, getTreeNodeProps(_extends({}, node, {
568
- expand: expand
569
- }), layer), {
570
- style: style,
571
- hasChildren: node.hasChildren
572
- });
573
- return visible && /*#__PURE__*/React.createElement(TreeNode, _extends({
574
- ref: function ref(_ref4) {
575
- return saveTreeNodeRef(_ref4, node.refKey);
192
+ var treeContext = useMemo(function () {
193
+ return {
194
+ register: register,
195
+ props: {
196
+ labelKey: labelKey,
197
+ valueKey: valueKey,
198
+ childrenKey: childrenKey,
199
+ virtualized: virtualized,
200
+ renderTreeIcon: renderTreeIcon,
201
+ renderTreeNode: renderTreeNode
576
202
  }
577
- }, nodeProps));
578
- };
579
- var renderTree = function renderTree() {
580
- var _merge2;
581
- var classes = merge(withTreeClassPrefix({
582
- virtualized: virtualized
583
- }), (_merge2 = {}, _merge2[className !== null && className !== void 0 ? className : ''] = inline, _merge2));
584
- var formattedNodes = getFormattedNodes(renderNode);
585
- var treeViewProps = {
586
- ref: treeView
587
203
  };
588
- if (inline) {
589
- treeViewProps = _extends({
590
- ref: root,
591
- style: _extends({
592
- height: height
593
- }, style),
594
- onKeyDown: handleTreeKeyDown
595
- }, rest);
596
- }
597
- return /*#__PURE__*/React.createElement(TreeView, _extends({}, treeViewProps, {
598
- treeRootClassName: treePrefix('root'),
599
- className: classes
600
- }), virtualized ? /*#__PURE__*/React.createElement(AutoSizer, {
601
- defaultHeight: inline ? height : menuMaxHeight,
602
- style: {
603
- width: 'auto',
604
- height: 'auto'
605
- }
606
- }, function (_ref5) {
607
- var height = _ref5.height;
608
- return /*#__PURE__*/React.createElement(List, _extends({
609
- ref: list,
610
- height: height,
611
- itemSize: itemSize,
612
- itemCount: formattedNodes.length,
613
- itemData: formattedNodes
614
- }, listProps), renderVirtualListNode);
615
- }) : formattedNodes);
616
- };
204
+ }, [childrenKey, labelKey, valueKey, virtualized, register, renderTreeIcon, renderTreeNode]);
205
+ var tree = /*#__PURE__*/React.createElement(TreeProvider, {
206
+ value: treeContext
207
+ }, /*#__PURE__*/React.createElement(TreeView, {
208
+ ref: treeView,
209
+ virtualized: virtualized,
210
+ value: value,
211
+ data: treeData,
212
+ disabledItemValues: disabledItemValues,
213
+ expandItemValues: expandItemValues,
214
+ showIndentLine: showIndentLine,
215
+ searchable: searchable,
216
+ searchKeyword: searchKeyword,
217
+ searchBy: searchBy,
218
+ loadingNodeValues: loadingNodeValues,
219
+ flattenedNodes: flattenedNodes,
220
+ listProps: listProps,
221
+ listRef: list,
222
+ height: treeHeight,
223
+ onExpand: handleExpandTreeNode,
224
+ onSearch: onSearch,
225
+ onChange: handleChange,
226
+ onSelect: handleSelect,
227
+ onSelectItem: onSelectItem,
228
+ onFocusItem: setFocusItemValue
229
+ }));
617
230
  var renderTreeView = function renderTreeView(positionProps, speakerRef) {
618
231
  var left = positionProps.left,
619
232
  top = positionProps.top,
620
233
  className = positionProps.className;
621
- var classes = merge(className, menuClassName, prefix('tree-menu'));
622
- var mergedMenuStyle = _extends({}, menuStyle, {
234
+ var classes = merge(className, DEPRECATED_menuClassName, popupClassName, prefix('tree-menu'));
235
+ var mergedMenuStyle = _extends({}, DEPRECATED_menuStyle, popupStyle, {
623
236
  left: left,
624
237
  top: top
625
238
  });
@@ -630,12 +243,7 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
630
243
  ref: mergeRefs(overlay, speakerRef),
631
244
  onKeyDown: onPickerKeydown,
632
245
  target: trigger
633
- }, searchable ? /*#__PURE__*/React.createElement(SearchBox, {
634
- placeholder: locale.searchPlaceholder,
635
- onChange: handleSearch,
636
- value: searchKeywordState,
637
- inputRef: searchInput
638
- }) : null, renderMenu ? renderMenu(renderTree()) : renderTree(), renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());
246
+ }, renderTree ? renderTree(tree) : tree, renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());
639
247
  };
640
248
 
641
249
  /**
@@ -663,21 +271,14 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
663
271
  })),
664
272
  classes = _usePickerClassName[0],
665
273
  usedClassNamePropKeys = _usePickerClassName[1];
666
- if (inline) {
667
- return renderTree();
668
- }
669
- return /*#__PURE__*/React.createElement(PickerToggleTrigger, {
274
+ return /*#__PURE__*/React.createElement(PickerToggleTrigger, _extends({
670
275
  id: id,
671
276
  popupType: "tree",
672
277
  pickerProps: _pick(props, pickTriggerPropKeys),
673
278
  ref: trigger,
674
279
  placement: placement,
675
- onEnter: handleOpen,
676
- onEntered: onEntered,
677
- onExit: onExit,
678
- onExited: createChainedFunction(handleClose, onExited),
679
280
  speaker: renderTreeView
680
- }, /*#__PURE__*/React.createElement(Component, {
281
+ }, triggerProps), /*#__PURE__*/React.createElement(Component, {
681
282
  className: classes,
682
283
  style: style,
683
284
  ref: root
@@ -697,26 +298,4 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
697
298
  }), selectedElement || locale.placeholder)));
698
299
  });
699
300
  TreePicker.displayName = 'TreePicker';
700
- TreePicker.propTypes = _extends({}, listPickerPropTypes, {
701
- locale: PropTypes.any,
702
- appearance: oneOf(['default', 'subtle']),
703
- height: PropTypes.number,
704
- draggable: PropTypes.bool,
705
- virtualized: PropTypes.bool,
706
- searchable: PropTypes.bool,
707
- menuAutoWidth: PropTypes.bool,
708
- searchKeyword: PropTypes.string,
709
- defaultExpandAll: PropTypes.bool,
710
- expandItemValues: PropTypes.array,
711
- defaultExpandItemValues: PropTypes.array,
712
- onSearch: PropTypes.func,
713
- onExpand: PropTypes.func,
714
- onSelect: PropTypes.func,
715
- renderMenu: PropTypes.func,
716
- renderTreeNode: PropTypes.func,
717
- renderTreeIcon: PropTypes.func,
718
- renderExtraFooter: PropTypes.func,
719
- renderDragNode: PropTypes.func,
720
- searchBy: PropTypes.func
721
- });
722
301
  export default TreePicker;