rsuite 5.60.2 → 5.61.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (438) hide show
  1. package/Accordion/styles/index.css +4 -4
  2. package/AutoComplete/styles/index.css +58 -22
  3. package/Button/styles/index.css +12 -8
  4. package/Button/styles/mixin.less +1 -1
  5. package/CHANGELOG.md +25 -0
  6. package/Calendar/styles/index.css +16 -15
  7. package/CascadeTree/styles/index.css +11 -9
  8. package/CascadeTree/styles/index.less +7 -0
  9. package/CascadeTree/styles/search.less +0 -10
  10. package/Cascader/styles/index.css +60 -31
  11. package/CheckPicker/styles/index.css +59 -27
  12. package/CheckPicker/styles/index.less +3 -3
  13. package/CheckTree/styles/index.css +160 -134
  14. package/CheckTree/styles/index.less +141 -1
  15. package/CheckTreePicker/styles/index.css +170 -126
  16. package/CheckTreePicker/styles/index.less +8 -181
  17. package/Checkbox/styles/index.css +7 -8
  18. package/Checkbox/styles/index.less +1 -5
  19. package/DateInput/styles/index.css +4 -4
  20. package/DatePicker/styles/index.css +62 -26
  21. package/DateRangeInput/styles/index.css +4 -4
  22. package/DateRangePicker/styles/index.css +67 -26
  23. package/DateRangePicker/styles/index.less +2 -0
  24. package/Dropdown/styles/index.css +14 -13
  25. package/Highlight/package.json +7 -0
  26. package/Highlight/styles/index.css +8 -0
  27. package/Highlight/styles/index.less +6 -0
  28. package/IconButton/styles/index.css +11 -10
  29. package/Input/styles/index.css +4 -4
  30. package/InputGroup/styles/index.css +18 -17
  31. package/InputGroup/styles/index.less +1 -1
  32. package/InputNumber/styles/index.css +19 -18
  33. package/InputPicker/styles/index.css +58 -22
  34. package/MultiCascadeTree/styles/index.css +61 -36
  35. package/MultiCascadeTree/styles/index.less +1 -1
  36. package/MultiCascader/styles/index.css +704 -679
  37. package/MultiCascader/styles/index.less +0 -1
  38. package/Nav/styles/index.css +15 -14
  39. package/Navbar/styles/index.css +14 -13
  40. package/Pagination/styles/index.css +62 -26
  41. package/Panel/styles/index.css +4 -4
  42. package/Placeholder/styles/index.css +2 -3
  43. package/Placeholder/styles/index.less +2 -3
  44. package/README.md +21 -39
  45. package/Radio/styles/index.css +7 -7
  46. package/Radio/styles/index.less +1 -5
  47. package/RangeSlider/styles/index.css +1 -1
  48. package/Rate/styles/index.css +1 -1
  49. package/Rate/styles/index.less +1 -1
  50. package/SelectPicker/styles/index.css +58 -22
  51. package/Slider/styles/index.css +1 -1
  52. package/Slider/styles/index.less +1 -1
  53. package/Steps/styles/index.css +6 -1
  54. package/Steps/styles/index.less +2 -1
  55. package/Tabs/styles/index.css +15 -14
  56. package/TagInput/styles/index.css +59 -27
  57. package/TagPicker/styles/index.css +59 -27
  58. package/Toggle/styles/index.css +10 -7
  59. package/Tree/styles/indent-line.less +8 -0
  60. package/Tree/styles/index.css +140 -141
  61. package/Tree/styles/index.less +188 -1
  62. package/Tree/styles/toggle.less +36 -0
  63. package/TreePicker/styles/index.css +142 -134
  64. package/TreePicker/styles/index.less +4 -234
  65. package/Uploader/styles/index.css +12 -11
  66. package/cjs/@types/common.d.ts +41 -4
  67. package/cjs/AutoComplete/AutoComplete.js +2 -1
  68. package/cjs/CascadeTree/CascadeTree.js +8 -7
  69. package/cjs/CascadeTree/SearchView.js +7 -14
  70. package/cjs/CascadeTree/hooks/usePaths.js +4 -4
  71. package/cjs/CascadeTree/hooks/useSearch.js +2 -1
  72. package/cjs/CascadeTree/utils.d.ts +0 -11
  73. package/cjs/CascadeTree/utils.js +0 -23
  74. package/cjs/Cascader/Cascader.js +17 -16
  75. package/cjs/CheckPicker/CheckPicker.js +26 -29
  76. package/cjs/CheckTree/CheckTree.d.ts +16 -0
  77. package/cjs/CheckTree/CheckTree.js +112 -0
  78. package/cjs/CheckTree/CheckTreeNode.d.ts +72 -0
  79. package/cjs/CheckTree/CheckTreeNode.js +117 -0
  80. package/cjs/CheckTree/CheckTreeView.d.ts +70 -0
  81. package/cjs/CheckTree/CheckTreeView.js +310 -0
  82. package/cjs/CheckTree/hooks/useTreeCheckState.d.ts +10 -0
  83. package/cjs/CheckTree/hooks/useTreeCheckState.js +93 -0
  84. package/cjs/CheckTree/hooks/useTreeNodeProps.d.ts +22 -0
  85. package/cjs/CheckTree/hooks/useTreeNodeProps.js +59 -0
  86. package/cjs/CheckTree/hooks/useTreeValue.d.ts +5 -0
  87. package/cjs/CheckTree/hooks/useTreeValue.js +21 -0
  88. package/cjs/CheckTree/index.d.ts +2 -14
  89. package/cjs/CheckTree/index.js +2 -23
  90. package/cjs/CheckTree/utils.d.ts +53 -0
  91. package/cjs/{CheckTreePicker → CheckTree}/utils.js +76 -26
  92. package/cjs/CheckTreePicker/CheckTreePicker.d.ts +30 -12
  93. package/cjs/CheckTreePicker/CheckTreePicker.js +153 -603
  94. package/cjs/CheckTreePicker/hooks/useFocusState.d.ts +16 -0
  95. package/cjs/CheckTreePicker/hooks/useFocusState.js +42 -0
  96. package/cjs/DatePicker/DatePicker.d.ts +4 -0
  97. package/cjs/DatePicker/DatePicker.js +20 -5
  98. package/cjs/DatePicker/types.d.ts +0 -4
  99. package/cjs/DateRangePicker/DateRangePicker.d.ts +51 -23
  100. package/cjs/DateRangePicker/DateRangePicker.js +71 -51
  101. package/cjs/DateRangePicker/hooks/useDateDisabled.d.ts +16 -0
  102. package/cjs/DateRangePicker/hooks/useDateDisabled.js +31 -0
  103. package/cjs/DateRangePicker/types.d.ts +1 -0
  104. package/cjs/Highlight/Highlight.d.ts +14 -0
  105. package/cjs/Highlight/Highlight.js +58 -0
  106. package/cjs/Highlight/index.d.ts +3 -0
  107. package/cjs/Highlight/index.js +9 -0
  108. package/cjs/Highlight/utils/highlightText.d.ts +5 -0
  109. package/cjs/Highlight/utils/highlightText.js +29 -0
  110. package/cjs/InputPicker/InputPicker.js +37 -41
  111. package/cjs/MultiCascadeTree/SearchView.js +6 -14
  112. package/cjs/MultiCascadeTree/hooks/useCascadeValue.js +15 -1
  113. package/cjs/MultiCascadeTree/hooks/useColumnData.js +2 -2
  114. package/cjs/MultiCascadeTree/hooks/useFlattenData.js +3 -3
  115. package/cjs/MultiCascadeTree/hooks/useSearch.js +2 -1
  116. package/cjs/MultiCascadeTree/utils.d.ts +4 -4
  117. package/cjs/MultiCascadeTree/utils.js +20 -11
  118. package/cjs/MultiCascader/MultiCascader.js +12 -12
  119. package/cjs/SelectPicker/SelectPicker.js +2 -6
  120. package/cjs/Tree/IndentLine.d.ts +3 -0
  121. package/cjs/Tree/IndentLine.js +18 -0
  122. package/cjs/Tree/Tree.d.ts +4 -92
  123. package/cjs/Tree/Tree.js +79 -20
  124. package/cjs/Tree/TreeNode.d.ts +101 -0
  125. package/cjs/Tree/TreeNode.js +147 -0
  126. package/cjs/Tree/TreeNodeToggle.d.ts +9 -0
  127. package/cjs/Tree/TreeNodeToggle.js +56 -0
  128. package/cjs/Tree/TreeProvider.d.ts +52 -0
  129. package/cjs/Tree/TreeProvider.js +84 -0
  130. package/cjs/Tree/TreeView.d.ts +68 -0
  131. package/cjs/Tree/TreeView.js +305 -0
  132. package/cjs/Tree/hooks/useExpandTree.d.ts +60 -0
  133. package/cjs/Tree/hooks/useExpandTree.js +77 -0
  134. package/cjs/Tree/hooks/useFlattenTree.d.ts +42 -0
  135. package/cjs/Tree/hooks/useFlattenTree.js +98 -0
  136. package/cjs/Tree/hooks/useFocusTree.d.ts +24 -0
  137. package/cjs/Tree/hooks/useFocusTree.js +158 -0
  138. package/cjs/Tree/hooks/useForceUpdate.d.ts +2 -0
  139. package/cjs/Tree/hooks/useForceUpdate.js +16 -0
  140. package/cjs/Tree/hooks/useTreeDrag.d.ts +32 -0
  141. package/cjs/Tree/hooks/useTreeDrag.js +268 -0
  142. package/cjs/Tree/hooks/useTreeNodeProps.d.ts +29 -0
  143. package/cjs/Tree/hooks/useTreeNodeProps.js +83 -0
  144. package/cjs/Tree/hooks/useTreeNodeRefs.d.ts +6 -0
  145. package/cjs/Tree/hooks/useTreeNodeRefs.js +22 -0
  146. package/cjs/Tree/hooks/useTreeSearch.d.ts +18 -0
  147. package/cjs/Tree/hooks/useTreeSearch.js +74 -0
  148. package/cjs/Tree/hooks/useTreeWithChildren.d.ts +14 -0
  149. package/cjs/Tree/hooks/useTreeWithChildren.js +64 -0
  150. package/cjs/Tree/hooks/useVirtualizedTreeData.d.ts +7 -0
  151. package/cjs/Tree/hooks/useVirtualizedTreeData.js +82 -0
  152. package/cjs/Tree/types.d.ts +257 -0
  153. package/cjs/Tree/types.js +33 -0
  154. package/cjs/Tree/utils/flattenTree.d.ts +25 -0
  155. package/cjs/Tree/utils/flattenTree.js +95 -0
  156. package/cjs/Tree/utils/focusableTree.d.ts +55 -0
  157. package/cjs/Tree/utils/focusableTree.js +157 -0
  158. package/cjs/Tree/utils/formatNodeRefKey.d.ts +4 -0
  159. package/cjs/Tree/utils/formatNodeRefKey.js +11 -0
  160. package/cjs/Tree/utils/getExpandItemValues.d.ts +11 -0
  161. package/cjs/Tree/utils/getExpandItemValues.js +21 -0
  162. package/cjs/Tree/utils/getNodeParentKeys.d.ts +5 -0
  163. package/cjs/Tree/utils/getNodeParentKeys.js +21 -0
  164. package/cjs/Tree/utils/getTreeActiveNode.d.ts +5 -0
  165. package/cjs/Tree/utils/getTreeActiveNode.js +21 -0
  166. package/cjs/Tree/utils/hasVisibleChildren.d.ts +5 -0
  167. package/cjs/Tree/utils/hasVisibleChildren.js +16 -0
  168. package/cjs/Tree/utils/indentTreeNode.d.ts +3 -0
  169. package/cjs/Tree/utils/indentTreeNode.js +18 -0
  170. package/cjs/Tree/utils/index.d.ts +11 -0
  171. package/cjs/Tree/utils/index.js +35 -0
  172. package/cjs/Tree/utils/isExpand.d.ts +6 -0
  173. package/cjs/Tree/utils/isExpand.js +14 -0
  174. package/cjs/Tree/utils/isSearching.d.ts +1 -0
  175. package/cjs/Tree/utils/isSearching.js +10 -0
  176. package/cjs/Tree/utils/treeKeyboardInteractions.d.ts +21 -0
  177. package/cjs/Tree/utils/treeKeyboardInteractions.js +49 -0
  178. package/cjs/TreePicker/TreePicker.d.ts +27 -21
  179. package/cjs/TreePicker/TreePicker.js +155 -575
  180. package/cjs/TreePicker/hooks/useFocusState.d.ts +20 -0
  181. package/cjs/TreePicker/hooks/useFocusState.js +53 -0
  182. package/cjs/index.d.ts +2 -0
  183. package/cjs/index.js +3 -1
  184. package/cjs/internals/Picker/Listbox.d.ts +40 -10
  185. package/cjs/internals/Picker/Listbox.js +21 -16
  186. package/cjs/internals/Picker/PickerIndicator.d.ts +2 -1
  187. package/cjs/internals/Picker/PickerIndicator.js +7 -3
  188. package/cjs/internals/Picker/hooks/useFocusItemValue.js +4 -4
  189. package/cjs/internals/Picker/hooks/usePickerRef.d.ts +1 -4
  190. package/cjs/internals/Picker/hooks/usePickerRef.js +3 -20
  191. package/cjs/internals/Picker/index.d.ts +0 -1
  192. package/cjs/internals/Picker/index.js +1 -4
  193. package/cjs/internals/Picker/utils.js +12 -12
  194. package/cjs/internals/{Picker → Tree}/TreeView.js +1 -1
  195. package/cjs/internals/Tree/index.d.ts +1 -0
  196. package/cjs/internals/Tree/index.js +8 -0
  197. package/cjs/internals/Tree/utils/filterNodesOfTree.d.ts +5 -0
  198. package/cjs/internals/Tree/utils/filterNodesOfTree.js +31 -0
  199. package/cjs/internals/Tree/utils/findNodeOfTree.d.ts +1 -0
  200. package/cjs/internals/Tree/utils/findNodeOfTree.js +26 -0
  201. package/cjs/internals/Tree/utils/getParentMap.d.ts +15 -0
  202. package/cjs/internals/Tree/utils/getParentMap.js +52 -0
  203. package/cjs/internals/Tree/utils/getPathTowardsItem.d.ts +4 -0
  204. package/cjs/internals/Tree/utils/getPathTowardsItem.js +16 -0
  205. package/cjs/internals/Tree/utils/index.d.ts +4 -0
  206. package/cjs/internals/Tree/utils/index.js +14 -0
  207. package/cjs/internals/Windowing/List.d.ts +1 -0
  208. package/cjs/internals/Windowing/List.js +5 -1
  209. package/cjs/internals/Windowing/index.d.ts +1 -1
  210. package/cjs/internals/Windowing/index.js +4 -2
  211. package/cjs/internals/hooks/index.d.ts +1 -0
  212. package/cjs/internals/hooks/index.js +8 -0
  213. package/cjs/internals/hooks/useFoucsVirtualListItem.d.ts +7 -0
  214. package/cjs/internals/hooks/useFoucsVirtualListItem.js +26 -0
  215. package/cjs/{utils → internals/utils}/getSafeRegExpString.d.ts +1 -1
  216. package/cjs/{utils → internals/utils}/getSafeRegExpString.js +1 -1
  217. package/cjs/internals/utils/index.d.ts +2 -0
  218. package/cjs/internals/utils/index.js +9 -0
  219. package/cjs/internals/utils/stringifyReactNode.d.ts +2 -0
  220. package/cjs/internals/utils/stringifyReactNode.js +17 -0
  221. package/cjs/utils/constants.d.ts +0 -2
  222. package/cjs/utils/constants.js +1 -6
  223. package/cjs/utils/getDataGroupBy.js +3 -3
  224. package/cjs/utils/index.d.ts +0 -3
  225. package/cjs/utils/index.js +1 -10
  226. package/cjs/utils/useIsomorphicLayoutEffect.d.ts +2 -2
  227. package/dist/rsuite-no-reset-rtl.css +292 -300
  228. package/dist/rsuite-no-reset-rtl.min.css +1 -1
  229. package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
  230. package/dist/rsuite-no-reset.css +294 -304
  231. package/dist/rsuite-no-reset.min.css +1 -1
  232. package/dist/rsuite-no-reset.min.css.map +1 -1
  233. package/dist/rsuite-rtl.css +293 -301
  234. package/dist/rsuite-rtl.min.css +1 -1
  235. package/dist/rsuite-rtl.min.css.map +1 -1
  236. package/dist/rsuite.css +295 -305
  237. package/dist/rsuite.js +611 -116
  238. package/dist/rsuite.js.map +1 -1
  239. package/dist/rsuite.min.css +1 -1
  240. package/dist/rsuite.min.css.map +1 -1
  241. package/dist/rsuite.min.js +1 -1
  242. package/dist/rsuite.min.js.map +1 -1
  243. package/esm/@types/common.d.ts +41 -4
  244. package/esm/AutoComplete/AutoComplete.js +2 -1
  245. package/esm/CascadeTree/CascadeTree.js +2 -1
  246. package/esm/CascadeTree/SearchView.js +6 -13
  247. package/esm/CascadeTree/hooks/usePaths.js +1 -1
  248. package/esm/CascadeTree/hooks/useSearch.js +2 -1
  249. package/esm/CascadeTree/utils.d.ts +0 -11
  250. package/esm/CascadeTree/utils.js +0 -22
  251. package/esm/Cascader/Cascader.js +2 -1
  252. package/esm/CheckPicker/CheckPicker.js +4 -7
  253. package/esm/CheckTree/CheckTree.d.ts +16 -0
  254. package/esm/CheckTree/CheckTree.js +105 -0
  255. package/esm/CheckTree/CheckTreeNode.d.ts +72 -0
  256. package/esm/CheckTree/CheckTreeNode.js +110 -0
  257. package/esm/CheckTree/CheckTreeView.d.ts +70 -0
  258. package/esm/CheckTree/CheckTreeView.js +304 -0
  259. package/esm/CheckTree/hooks/useTreeCheckState.d.ts +10 -0
  260. package/esm/CheckTree/hooks/useTreeCheckState.js +87 -0
  261. package/esm/CheckTree/hooks/useTreeNodeProps.d.ts +22 -0
  262. package/esm/CheckTree/hooks/useTreeNodeProps.js +52 -0
  263. package/esm/CheckTree/hooks/useTreeValue.d.ts +5 -0
  264. package/esm/CheckTree/hooks/useTreeValue.js +16 -0
  265. package/esm/CheckTree/index.d.ts +2 -14
  266. package/esm/CheckTree/index.js +1 -21
  267. package/esm/CheckTree/utils.d.ts +53 -0
  268. package/esm/{CheckTreePicker → CheckTree}/utils.js +72 -22
  269. package/esm/CheckTreePicker/CheckTreePicker.d.ts +30 -12
  270. package/esm/CheckTreePicker/CheckTreePicker.js +156 -607
  271. package/esm/CheckTreePicker/hooks/useFocusState.d.ts +16 -0
  272. package/esm/CheckTreePicker/hooks/useFocusState.js +37 -0
  273. package/esm/DatePicker/DatePicker.d.ts +4 -0
  274. package/esm/DatePicker/DatePicker.js +20 -5
  275. package/esm/DatePicker/types.d.ts +0 -4
  276. package/esm/DateRangePicker/DateRangePicker.d.ts +51 -23
  277. package/esm/DateRangePicker/DateRangePicker.js +71 -51
  278. package/esm/DateRangePicker/hooks/useDateDisabled.d.ts +16 -0
  279. package/esm/DateRangePicker/hooks/useDateDisabled.js +26 -0
  280. package/esm/DateRangePicker/types.d.ts +1 -0
  281. package/esm/Highlight/Highlight.d.ts +14 -0
  282. package/esm/Highlight/Highlight.js +52 -0
  283. package/esm/Highlight/index.d.ts +3 -0
  284. package/esm/Highlight/index.js +3 -0
  285. package/esm/Highlight/utils/highlightText.d.ts +5 -0
  286. package/esm/Highlight/utils/highlightText.js +25 -0
  287. package/esm/InputPicker/InputPicker.js +3 -7
  288. package/esm/MultiCascadeTree/SearchView.js +6 -14
  289. package/esm/MultiCascadeTree/hooks/useCascadeValue.js +15 -1
  290. package/esm/MultiCascadeTree/hooks/useColumnData.js +1 -1
  291. package/esm/MultiCascadeTree/hooks/useFlattenData.js +1 -1
  292. package/esm/MultiCascadeTree/hooks/useSearch.js +2 -1
  293. package/esm/MultiCascadeTree/utils.d.ts +4 -4
  294. package/esm/MultiCascadeTree/utils.js +18 -9
  295. package/esm/MultiCascader/MultiCascader.js +1 -1
  296. package/esm/SelectPicker/SelectPicker.js +2 -6
  297. package/esm/Tree/IndentLine.d.ts +3 -0
  298. package/esm/Tree/IndentLine.js +12 -0
  299. package/esm/Tree/Tree.d.ts +4 -92
  300. package/esm/Tree/Tree.js +78 -18
  301. package/esm/Tree/TreeNode.d.ts +101 -0
  302. package/esm/Tree/TreeNode.js +141 -0
  303. package/esm/Tree/TreeNodeToggle.d.ts +9 -0
  304. package/esm/Tree/TreeNodeToggle.js +50 -0
  305. package/esm/Tree/TreeProvider.d.ts +52 -0
  306. package/esm/Tree/TreeProvider.js +74 -0
  307. package/esm/Tree/TreeView.d.ts +68 -0
  308. package/esm/Tree/TreeView.js +299 -0
  309. package/esm/Tree/hooks/useExpandTree.d.ts +60 -0
  310. package/esm/Tree/hooks/useExpandTree.js +70 -0
  311. package/esm/Tree/hooks/useFlattenTree.d.ts +42 -0
  312. package/esm/Tree/hooks/useFlattenTree.js +92 -0
  313. package/esm/Tree/hooks/useFocusTree.d.ts +24 -0
  314. package/esm/Tree/hooks/useFocusTree.js +153 -0
  315. package/esm/Tree/hooks/useForceUpdate.d.ts +2 -0
  316. package/esm/Tree/hooks/useForceUpdate.js +11 -0
  317. package/esm/Tree/hooks/useTreeDrag.d.ts +32 -0
  318. package/esm/Tree/hooks/useTreeDrag.js +264 -0
  319. package/esm/Tree/hooks/useTreeNodeProps.d.ts +29 -0
  320. package/esm/Tree/hooks/useTreeNodeProps.js +76 -0
  321. package/esm/Tree/hooks/useTreeNodeRefs.d.ts +6 -0
  322. package/esm/Tree/hooks/useTreeNodeRefs.js +18 -0
  323. package/esm/Tree/hooks/useTreeSearch.d.ts +18 -0
  324. package/esm/Tree/hooks/useTreeSearch.js +69 -0
  325. package/esm/Tree/hooks/useTreeWithChildren.d.ts +14 -0
  326. package/esm/Tree/hooks/useTreeWithChildren.js +59 -0
  327. package/esm/Tree/hooks/useVirtualizedTreeData.d.ts +7 -0
  328. package/esm/Tree/hooks/useVirtualizedTreeData.js +77 -0
  329. package/esm/Tree/types.d.ts +257 -0
  330. package/esm/Tree/types.js +30 -0
  331. package/esm/Tree/utils/flattenTree.d.ts +25 -0
  332. package/esm/Tree/utils/flattenTree.js +88 -0
  333. package/esm/Tree/utils/focusableTree.d.ts +55 -0
  334. package/esm/Tree/utils/focusableTree.js +146 -0
  335. package/esm/Tree/utils/formatNodeRefKey.d.ts +4 -0
  336. package/esm/Tree/utils/formatNodeRefKey.js +7 -0
  337. package/esm/Tree/utils/getExpandItemValues.d.ts +11 -0
  338. package/esm/Tree/utils/getExpandItemValues.js +17 -0
  339. package/esm/Tree/utils/getNodeParentKeys.d.ts +5 -0
  340. package/esm/Tree/utils/getNodeParentKeys.js +17 -0
  341. package/esm/Tree/utils/getTreeActiveNode.d.ts +5 -0
  342. package/esm/Tree/utils/getTreeActiveNode.js +16 -0
  343. package/esm/Tree/utils/hasVisibleChildren.d.ts +5 -0
  344. package/esm/Tree/utils/hasVisibleChildren.js +12 -0
  345. package/esm/Tree/utils/indentTreeNode.d.ts +3 -0
  346. package/esm/Tree/utils/indentTreeNode.js +14 -0
  347. package/esm/Tree/utils/index.d.ts +11 -0
  348. package/esm/Tree/utils/index.js +14 -0
  349. package/esm/Tree/utils/isExpand.d.ts +6 -0
  350. package/esm/Tree/utils/isExpand.js +11 -0
  351. package/esm/Tree/utils/isSearching.d.ts +1 -0
  352. package/esm/Tree/utils/isSearching.js +5 -0
  353. package/esm/Tree/utils/treeKeyboardInteractions.d.ts +21 -0
  354. package/esm/Tree/utils/treeKeyboardInteractions.js +43 -0
  355. package/esm/TreePicker/TreePicker.d.ts +27 -21
  356. package/esm/TreePicker/TreePicker.js +158 -579
  357. package/esm/TreePicker/hooks/useFocusState.d.ts +20 -0
  358. package/esm/TreePicker/hooks/useFocusState.js +48 -0
  359. package/esm/index.d.ts +2 -0
  360. package/esm/index.js +1 -0
  361. package/esm/internals/Picker/Listbox.d.ts +40 -10
  362. package/esm/internals/Picker/Listbox.js +22 -16
  363. package/esm/internals/Picker/PickerIndicator.d.ts +2 -1
  364. package/esm/internals/Picker/PickerIndicator.js +7 -3
  365. package/esm/internals/Picker/hooks/useFocusItemValue.js +1 -1
  366. package/esm/internals/Picker/hooks/usePickerRef.d.ts +1 -4
  367. package/esm/internals/Picker/hooks/usePickerRef.js +3 -20
  368. package/esm/internals/Picker/index.d.ts +0 -1
  369. package/esm/internals/Picker/index.js +0 -1
  370. package/esm/internals/Picker/utils.js +1 -1
  371. package/esm/internals/{Picker → Tree}/TreeView.js +1 -1
  372. package/esm/internals/Tree/index.d.ts +1 -0
  373. package/esm/internals/Tree/index.js +2 -0
  374. package/esm/internals/Tree/utils/filterNodesOfTree.d.ts +5 -0
  375. package/esm/internals/Tree/utils/filterNodesOfTree.js +26 -0
  376. package/esm/internals/Tree/utils/findNodeOfTree.d.ts +1 -0
  377. package/esm/internals/Tree/utils/findNodeOfTree.js +22 -0
  378. package/esm/internals/Tree/utils/getParentMap.d.ts +15 -0
  379. package/esm/internals/Tree/utils/getParentMap.js +47 -0
  380. package/esm/internals/Tree/utils/getPathTowardsItem.d.ts +4 -0
  381. package/esm/internals/Tree/utils/getPathTowardsItem.js +12 -0
  382. package/esm/internals/Tree/utils/index.d.ts +4 -0
  383. package/esm/internals/Tree/utils/index.js +5 -0
  384. package/esm/internals/Windowing/List.d.ts +1 -0
  385. package/esm/internals/Windowing/List.js +3 -0
  386. package/esm/internals/Windowing/index.d.ts +1 -1
  387. package/esm/internals/Windowing/index.js +1 -1
  388. package/esm/internals/hooks/index.d.ts +1 -0
  389. package/esm/internals/hooks/index.js +2 -0
  390. package/esm/internals/hooks/useFoucsVirtualListItem.d.ts +7 -0
  391. package/esm/internals/hooks/useFoucsVirtualListItem.js +22 -0
  392. package/esm/{utils → internals/utils}/getSafeRegExpString.d.ts +1 -1
  393. package/esm/{utils → internals/utils}/getSafeRegExpString.js +1 -1
  394. package/esm/internals/utils/index.d.ts +2 -0
  395. package/esm/internals/utils/index.js +3 -0
  396. package/esm/internals/utils/stringifyReactNode.d.ts +2 -0
  397. package/esm/internals/utils/stringifyReactNode.js +12 -0
  398. package/esm/utils/constants.d.ts +0 -2
  399. package/esm/utils/constants.js +0 -3
  400. package/esm/utils/getDataGroupBy.js +1 -1
  401. package/esm/utils/index.d.ts +0 -3
  402. package/esm/utils/index.js +0 -3
  403. package/esm/utils/useIsomorphicLayoutEffect.d.ts +2 -2
  404. package/internals/Picker/styles/index.less +27 -1
  405. package/package.json +1 -1
  406. package/styles/color-modes/dark.less +5 -1
  407. package/styles/color-modes/high-contrast.less +8 -2
  408. package/styles/color-modes/light.less +10 -5
  409. package/styles/index.less +1 -0
  410. package/TreePicker/styles/mixin.less +0 -7
  411. package/cjs/CheckTreePicker/CheckTreeNode.d.ts +0 -28
  412. package/cjs/CheckTreePicker/CheckTreeNode.js +0 -140
  413. package/cjs/CheckTreePicker/utils.d.ts +0 -44
  414. package/cjs/Tree/TreeContext.d.ts +0 -6
  415. package/cjs/Tree/TreeContext.js +0 -10
  416. package/cjs/TreePicker/TreeNode.d.ts +0 -36
  417. package/cjs/TreePicker/TreeNode.js +0 -174
  418. package/cjs/utils/appendTooltip.d.ts +0 -10
  419. package/cjs/utils/appendTooltip.js +0 -20
  420. package/cjs/utils/stringToObject.d.ts +0 -2
  421. package/cjs/utils/stringToObject.js +0 -19
  422. package/cjs/utils/treeUtils.d.ts +0 -304
  423. package/cjs/utils/treeUtils.js +0 -1095
  424. package/esm/CheckTreePicker/CheckTreeNode.d.ts +0 -28
  425. package/esm/CheckTreePicker/CheckTreeNode.js +0 -133
  426. package/esm/CheckTreePicker/utils.d.ts +0 -44
  427. package/esm/Tree/TreeContext.d.ts +0 -6
  428. package/esm/Tree/TreeContext.js +0 -4
  429. package/esm/TreePicker/TreeNode.d.ts +0 -36
  430. package/esm/TreePicker/TreeNode.js +0 -167
  431. package/esm/utils/appendTooltip.d.ts +0 -10
  432. package/esm/utils/appendTooltip.js +0 -15
  433. package/esm/utils/stringToObject.d.ts +0 -2
  434. package/esm/utils/stringToObject.js +0 -14
  435. package/esm/utils/treeUtils.d.ts +0 -304
  436. package/esm/utils/treeUtils.js +0 -1043
  437. /package/cjs/internals/{Picker → Tree}/TreeView.d.ts +0 -0
  438. /package/esm/internals/{Picker → Tree}/TreeView.d.ts +0 -0
@@ -1,30 +1,22 @@
1
1
  'use client';
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
3
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
- import _isUndefined from "lodash/isUndefined";
5
- import _cloneDeep from "lodash/cloneDeep";
6
4
  import _omit from "lodash/omit";
7
5
  import _isFunction from "lodash/isFunction";
8
6
  import _pick from "lodash/pick";
9
7
  import _isNil from "lodash/isNil";
10
- import React, { useState, useEffect, useContext, useMemo } from 'react';
11
- import PropTypes from 'prop-types';
8
+ import React, { useMemo } from 'react';
12
9
  import classNames from 'classnames';
13
- import { List, AutoSizer } from '../internals/Windowing';
14
- import CheckTreeNode from './CheckTreeNode';
15
- import TreeContext from '../Tree/TreeContext';
16
- import { getKeyParentMap, getPathTowardsItem, getTreeNodeIndent } from '../utils/treeUtils';
17
- import { createChainedFunction, useCustom, useClassNames, useControlled, useEventCallback, KEY_VALUES, mergeRefs } from '../utils';
18
- import { PickerToggle, TreeView, onMenuKeyDown as _onMenuKeyDown, PickerPopup, SelectedElement, PickerToggleTrigger, createConcatChildrenFunction, usePickerClassName, useToggleKeyDownEvent, usePickerRef, pickTriggerPropKeys, omitTriggerPropKeys, listPickerPropTypes } from '../internals/Picker';
19
- import SearchBox from '../internals/SearchBox';
20
- import { isEveryChildChecked, isSomeNodeHasChildren, isAllSiblingNodeUncheckable, isEveryFirstLevelNodeUncheckable, getFormattedTree, getDisabledState, getCheckTreePickerDefaultValue, getSelectedItems, isNodeUncheckable } from './utils';
21
- import { hasVisibleChildren, getExpandWhenSearching, useTreeSearch, useTreeNodeRefs, getDefaultExpandItemValues, useFlattenTreeData, focusNextItem, getFocusableItems, focusPreviousItem, toggleExpand, getActiveItem, useGetTreeNodeChildren, focusToActiveTreeNode, focusTreeNode, leftArrowHandler, rightArrowHandler, isSearching } from '../utils/treeUtils';
22
- import { oneOf } from '../internals/propTypes';
23
- var emptyArray = [];
24
- var itemSize = function itemSize() {
25
- return 36;
26
- };
27
-
10
+ import { createChainedFunction, useCustom, useClassNames, useEventCallback, mergeRefs } from '../utils';
11
+ import { PickerToggle, onMenuKeyDown, PickerPopup, SelectedElement, PickerToggleTrigger, usePickerClassName, useToggleKeyDownEvent, usePickerRef, pickTriggerPropKeys, omitTriggerPropKeys } from '../internals/Picker';
12
+ import CheckTreeView from '../CheckTree/CheckTreeView';
13
+ import { getSelectedItems } from '../CheckTree/utils';
14
+ import useTreeValue from '../CheckTree/hooks/useTreeValue';
15
+ import useFlattenTree from '../Tree/hooks/useFlattenTree';
16
+ import useTreeWithChildren from '../Tree/hooks/useTreeWithChildren';
17
+ import useExpandTree from '../Tree/hooks/useExpandTree';
18
+ import useFocusState from './hooks/useFocusState';
19
+ import { TreeProvider, useTreeImperativeHandle } from '../Tree/TreeProvider';
28
20
  /**
29
21
  * The `CheckTreePicker` component is used for selecting multiple options which are organized in a tree structure.
30
22
  *
@@ -33,82 +25,81 @@ var itemSize = function itemSize() {
33
25
  var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
34
26
  var _props$as = props.as,
35
27
  Component = _props$as === void 0 ? 'div' : _props$as,
36
- _props$data = props.data,
37
- data = _props$data === void 0 ? emptyArray : _props$data,
38
- style = props.style,
28
+ id = props.id,
39
29
  _props$appearance = props.appearance,
40
30
  appearance = _props$appearance === void 0 ? 'default' : _props$appearance,
41
31
  _props$cleanable = props.cleanable,
42
32
  cleanable = _props$cleanable === void 0 ? true : _props$cleanable,
43
33
  _props$countable = props.countable,
44
34
  countable = _props$countable === void 0 ? true : _props$countable,
45
- searchBy = props.searchBy,
46
- toggleAs = props.toggleAs,
47
- searchKeyword = props.searchKeyword,
48
- showIndentLine = props.showIndentLine,
49
- overrideLocale = props.locale,
50
35
  _props$cascade = props.cascade,
51
36
  cascade = _props$cascade === void 0 ? true : _props$cascade,
52
- disabled = props.disabled,
53
- _props$valueKey = props.valueKey,
54
- valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,
55
- _props$labelKey = props.labelKey,
56
- labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,
57
- _props$placement = props.placement,
58
- placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,
37
+ _props$classPrefix = props.classPrefix,
38
+ classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,
59
39
  _props$childrenKey = props.childrenKey,
60
40
  childrenKey = _props$childrenKey === void 0 ? 'children' : _props$childrenKey,
61
- placeholder = props.placeholder,
62
- controlledValue = props.value,
41
+ disabled = props.disabled,
42
+ _props$data = props.data,
43
+ data = _props$data === void 0 ? [] : _props$data,
63
44
  _props$defaultValue = props.defaultValue,
64
- defaultValue = _props$defaultValue === void 0 ? emptyArray : _props$defaultValue,
45
+ defaultValue = _props$defaultValue === void 0 ? [] : _props$defaultValue,
65
46
  _props$defaultExpandA = props.defaultExpandAll,
66
47
  defaultExpandAll = _props$defaultExpandA === void 0 ? false : _props$defaultExpandA,
67
48
  _props$disabledItemVa = props.disabledItemValues,
68
- disabledItemValues = _props$disabledItemVa === void 0 ? emptyArray : _props$disabledItemVa,
49
+ disabledItemValues = _props$disabledItemVa === void 0 ? [] : _props$disabledItemVa,
69
50
  controlledExpandItemValues = props.expandItemValues,
70
51
  _props$defaultExpandI = props.defaultExpandItemValues,
71
- defaultExpandItemValues = _props$defaultExpandI === void 0 ? emptyArray : _props$defaultExpandI,
72
- _props$height = props.height,
73
- height = _props$height === void 0 ? 360 : _props$height,
74
- _props$menuMaxHeight = props.menuMaxHeight,
75
- menuMaxHeight = _props$menuMaxHeight === void 0 ? 320 : _props$menuMaxHeight,
76
- menuStyle = props.menuStyle,
52
+ defaultExpandItemValues = _props$defaultExpandI === void 0 ? [] : _props$defaultExpandI,
53
+ placeholder = props.placeholder,
54
+ popupClassName = props.popupClassName,
55
+ popupStyle = props.popupStyle,
56
+ _props$popupAutoWidth = props.popupAutoWidth,
57
+ popupAutoWidth = _props$popupAutoWidth === void 0 ? true : _props$popupAutoWidth,
58
+ _props$placement = props.placement,
59
+ placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,
60
+ _props$treeHeight = props.treeHeight,
61
+ treeHeight = _props$treeHeight === void 0 ? 320 : _props$treeHeight,
62
+ toggleAs = props.toggleAs,
63
+ _props$menuAutoWidth = props.menuAutoWidth,
64
+ menuAutoWidth = _props$menuAutoWidth === void 0 ? popupAutoWidth : _props$menuAutoWidth,
65
+ DEPRECATED_menuClassName = props.menuClassName,
66
+ DEPRECATED_menuStyle = props.menuStyle,
67
+ style = props.style,
68
+ searchBy = props.searchBy,
69
+ searchKeyword = props.searchKeyword,
70
+ showIndentLine = props.showIndentLine,
77
71
  _props$searchable = props.searchable,
78
72
  searchable = _props$searchable === void 0 ? true : _props$searchable,
73
+ _props$valueKey = props.valueKey,
74
+ valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,
75
+ controlledValue = props.value,
79
76
  _props$virtualized = props.virtualized,
80
77
  virtualized = _props$virtualized === void 0 ? false : _props$virtualized,
81
- className = props.className,
82
- _props$classPrefix = props.classPrefix,
83
- classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,
84
- menuClassName = props.menuClassName,
85
- _props$menuAutoWidth = props.menuAutoWidth,
86
- menuAutoWidth = _props$menuAutoWidth === void 0 ? true : _props$menuAutoWidth,
87
78
  _props$uncheckableIte = props.uncheckableItemValues,
88
- uncheckableItemValues = _props$uncheckableIte === void 0 ? emptyArray : _props$uncheckableIte,
89
- id = props.id,
79
+ uncheckableItemValues = _props$uncheckableIte === void 0 ? [] : _props$uncheckableIte,
80
+ overrideLocale = props.locale,
81
+ _props$labelKey = props.labelKey,
82
+ labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,
90
83
  listProps = props.listProps,
91
- renderMenu = props.renderMenu,
92
84
  getChildren = props.getChildren,
93
85
  renderExtraFooter = props.renderExtraFooter,
94
- onEntered = props.onEntered,
86
+ onEnter = props.onEnter,
95
87
  onChange = props.onChange,
96
88
  onClean = props.onClean,
97
- onExited = props.onExited,
89
+ onExit = props.onExit,
98
90
  onSearch = props.onSearch,
99
91
  onSelect = props.onSelect,
100
92
  onSelectItem = props.onSelectItem,
101
93
  onScroll = props.onScroll,
102
94
  onExpand = props.onExpand,
103
95
  renderValue = props.renderValue,
96
+ DEPRECATED_renderMenu = props.renderMenu,
97
+ _props$renderTree = props.renderTree,
98
+ renderTree = _props$renderTree === void 0 ? DEPRECATED_renderMenu : _props$renderTree,
104
99
  renderTreeIcon = props.renderTreeIcon,
105
100
  renderTreeNode = props.renderTreeNode,
106
- rest = _objectWithoutPropertiesLoose(props, ["as", "data", "style", "appearance", "cleanable", "countable", "searchBy", "toggleAs", "searchKeyword", "showIndentLine", "locale", "cascade", "disabled", "valueKey", "labelKey", "placement", "childrenKey", "placeholder", "value", "defaultValue", "defaultExpandAll", "disabledItemValues", "expandItemValues", "defaultExpandItemValues", "height", "menuMaxHeight", "menuStyle", "searchable", "virtualized", "className", "classPrefix", "menuClassName", "menuAutoWidth", "uncheckableItemValues", "id", "listProps", "renderMenu", "getChildren", "renderExtraFooter", "onEntered", "onChange", "onClean", "onExited", "onSearch", "onSelect", "onSelectItem", "onScroll", "onExpand", "renderValue", "renderTreeIcon", "renderTreeNode"]);
107
- var _useContext = useContext(TreeContext),
108
- inline = _useContext.inline;
109
- var _usePickerRef = usePickerRef(ref, {
110
- inline: inline
111
- }),
101
+ rest = _objectWithoutPropertiesLoose(props, ["as", "id", "appearance", "cleanable", "countable", "cascade", "classPrefix", "childrenKey", "disabled", "data", "defaultValue", "defaultExpandAll", "disabledItemValues", "expandItemValues", "defaultExpandItemValues", "placeholder", "popupClassName", "popupStyle", "popupAutoWidth", "placement", "treeHeight", "toggleAs", "menuAutoWidth", "menuClassName", "menuStyle", "style", "searchBy", "searchKeyword", "showIndentLine", "searchable", "valueKey", "value", "virtualized", "uncheckableItemValues", "locale", "labelKey", "listProps", "getChildren", "renderExtraFooter", "onEnter", "onChange", "onClean", "onExit", "onSearch", "onSelect", "onSelectItem", "onScroll", "onExpand", "renderValue", "renderMenu", "renderTree", "renderTreeIcon", "renderTreeNode"]);
102
+ var _usePickerRef = usePickerRef(ref),
112
103
  trigger = _usePickerRef.trigger,
113
104
  root = _usePickerRef.root,
114
105
  target = _usePickerRef.target,
@@ -117,368 +108,71 @@ var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
117
108
  searchInput = _usePickerRef.searchInput,
118
109
  treeView = _usePickerRef.treeView;
119
110
  var _useCustom = useCustom('Picker', overrideLocale),
120
- rtl = _useCustom.rtl,
121
111
  locale = _useCustom.locale;
122
- var _useState = useState(false),
123
- active = _useState[0],
124
- setActive = _useState[1];
125
- var _useState2 = useState(null),
126
- activeNode = _useState2[0],
127
- setActiveNode = _useState2[1];
128
112
  var _useClassNames = useClassNames(classPrefix),
129
- prefix = _useClassNames.prefix,
130
- merge = _useClassNames.merge;
131
- var _useClassNames2 = useClassNames(inline && classPrefix !== 'picker' ? classPrefix : 'check-tree'),
132
- checkTreePrefix = _useClassNames2.prefix,
133
- withCheckTreeClassPrefix = _useClassNames2.withClassPrefix;
134
- var _useControlled = useControlled(controlledValue, defaultValue),
135
- value = _useControlled[0],
136
- setValue = _useControlled[1],
137
- isControlled = _useControlled[2];
138
- var _useGetTreeNodeChildr = useGetTreeNodeChildren(data, valueKey, childrenKey),
139
- treeData = _useGetTreeNodeChildr.data,
140
- setTreeData = _useGetTreeNodeChildr.setData,
141
- loadingNodeValues = _useGetTreeNodeChildr.loadingNodeValues,
142
- loadChildren = _useGetTreeNodeChildr.loadChildren;
143
- var _useControlled2 = useControlled(controlledExpandItemValues, getDefaultExpandItemValues(treeData, {
113
+ prefix = _useClassNames.prefix;
114
+ var _useTreeValue = useTreeValue(controlledValue, {
115
+ defaultValue: defaultValue,
116
+ uncheckableItemValues: uncheckableItemValues
117
+ }),
118
+ value = _useTreeValue[0],
119
+ setValue = _useTreeValue[1];
120
+ var itemDataKeys = {
121
+ childrenKey: childrenKey,
122
+ labelKey: labelKey,
123
+ valueKey: valueKey
124
+ };
125
+ var _useTreeWithChildren = useTreeWithChildren(data, itemDataKeys),
126
+ treeData = _useTreeWithChildren.treeData,
127
+ loadingNodeValues = _useTreeWithChildren.loadingNodeValues,
128
+ appendChild = _useTreeWithChildren.appendChild;
129
+ var _useExpandTree = useExpandTree(data, _extends({}, itemDataKeys, {
144
130
  defaultExpandAll: defaultExpandAll,
145
- valueKey: valueKey,
146
- childrenKey: childrenKey,
147
- defaultExpandItemValues: defaultExpandItemValues
131
+ defaultExpandItemValues: defaultExpandItemValues,
132
+ controlledExpandItemValues: controlledExpandItemValues,
133
+ onExpand: onExpand,
134
+ getChildren: getChildren,
135
+ appendChild: appendChild
148
136
  })),
149
- expandItemValues = _useControlled2[0],
150
- setExpandItemValues = _useControlled2[1];
151
- var _useState3 = useState(null),
152
- focusItemValue = _useState3[0],
153
- setFocusItemValue = _useState3[1];
154
- var _useFlattenTreeData = useFlattenTreeData({
155
- data: treeData,
156
- labelKey: labelKey,
157
- valueKey: valueKey,
158
- childrenKey: childrenKey,
159
- uncheckableItemValues: uncheckableItemValues,
160
- callback: function callback(nodes) {
161
- // after flattenData, always unSerialize check property value
162
- unSerializeList({
163
- nodes: nodes,
164
- key: 'check',
165
- value: value,
166
- cascade: cascade,
167
- uncheckableItemValues: uncheckableItemValues
168
- });
169
- forceUpdate();
170
- }
171
- }),
172
- flattenNodes = _useFlattenTreeData.flattenNodes,
173
- forceUpdate = _useFlattenTreeData.forceUpdate,
174
- formatVirtualizedTreeData = _useFlattenTreeData.formatVirtualizedTreeData,
175
- serializeListOnlyParent = _useFlattenTreeData.serializeListOnlyParent,
176
- unSerializeList = _useFlattenTreeData.unSerializeList;
177
- var _useTreeSearch = useTreeSearch({
178
- labelKey: labelKey,
179
- childrenKey: childrenKey,
180
- searchKeyword: searchKeyword,
181
- data: treeData,
182
- searchBy: searchBy,
183
- callback: function callback(searchKeyword, _filterData, event) {
184
- onSearch === null || onSearch === void 0 ? void 0 : onSearch(searchKeyword, event);
185
- }
137
+ expandItemValues = _useExpandTree.expandItemValues,
138
+ handleExpandTreeNode = _useExpandTree.handleExpandTreeNode;
139
+ var flattenedNodes = useFlattenTree(treeData, _extends({}, itemDataKeys, {
140
+ uncheckableItemValues: uncheckableItemValues,
141
+ multiple: true,
142
+ cascade: cascade,
143
+ value: value
144
+ }));
145
+ var selectedNodes = getSelectedItems(flattenedNodes, value);
146
+ var _useTreeImperativeHan = useTreeImperativeHandle(),
147
+ register = _useTreeImperativeHan.register,
148
+ focusFirstNode = _useTreeImperativeHan.focusFirstNode;
149
+ var _useFocusState = useFocusState({
150
+ target: target,
151
+ onEnter: onEnter,
152
+ onExit: onExit
186
153
  }),
187
- filteredData = _useTreeSearch.filteredData,
188
- searchKeywordState = _useTreeSearch.searchKeywordState,
189
- setSearchKeyword = _useTreeSearch.setSearchKeyword,
190
- handleSearch = _useTreeSearch.handleSearch,
191
- setFilteredData = _useTreeSearch.setFilteredData;
192
- var _useTreeNodeRefs = useTreeNodeRefs(),
193
- treeNodesRefs = _useTreeNodeRefs.treeNodesRefs,
194
- saveTreeNodeRef = _useTreeNodeRefs.saveTreeNodeRef;
195
- /**
196
- * get formatted nodes for render tree
197
- * @params render - renderNode function. only used when virtualized setting false
198
- */
199
- var getFormattedNodes = function getFormattedNodes(render) {
200
- if (virtualized) {
201
- return formatVirtualizedTreeData(flattenNodes, filteredData, expandItemValues, {
202
- cascade: cascade,
203
- searchKeyword: searchKeywordState
204
- }).filter(function (item) {
205
- return item.visible;
206
- });
207
- }
208
- return getFormattedTree(flattenNodes, filteredData, {
209
- childrenKey: childrenKey,
210
- cascade: cascade
211
- }).map(function (node) {
212
- return render === null || render === void 0 ? void 0 : render(node, 1);
213
- });
214
- };
215
- var getTreeNodeProps = function getTreeNodeProps(node, layer) {
216
- return {
217
- as: Component,
218
- rtl: rtl,
219
- value: node[valueKey],
220
- label: node[labelKey],
221
- layer: layer,
222
- focus: focusItemValue === node[valueKey],
223
- expand: node.expand,
224
- visible: node.visible,
225
- loading: loadingNodeValues.some(function (item) {
226
- return item === node[valueKey];
227
- }),
228
- disabled: getDisabledState(flattenNodes, node, {
229
- disabledItemValues: disabledItemValues,
230
- valueKey: valueKey
231
- }),
232
- nodeData: node,
233
- checkState: node.checkState,
234
- uncheckable: isNodeUncheckable(node, {
235
- uncheckableItemValues: uncheckableItemValues,
236
- valueKey: valueKey
237
- }),
238
- allUncheckable: isAllSiblingNodeUncheckable(node, flattenNodes, uncheckableItemValues, valueKey),
239
- onSelect: handleSelect,
240
- onExpand: handleExpand,
241
- renderTreeNode: renderTreeNode,
242
- renderTreeIcon: renderTreeIcon
243
- };
244
- };
245
- var focusActiveNode = function focusActiveNode() {
246
- if (list.current) {
247
- focusToActiveTreeNode({
248
- list: list.current,
249
- valueKey: valueKey,
250
- selector: "." + checkTreePrefix('node-active'),
251
- activeNode: activeNode,
252
- virtualized: virtualized,
253
- container: treeView.current,
254
- formattedNodes: getFormattedNodes()
255
- });
256
- }
257
- };
258
- useEffect(function () {
259
- setValue(getCheckTreePickerDefaultValue(value, uncheckableItemValues));
260
- }, []); // eslint-disable-line react-hooks/exhaustive-deps
261
-
262
- useEffect(function () {
263
- setFilteredData(data, searchKeywordState);
264
- setTreeData(data);
265
- }, [data, searchKeywordState, setFilteredData, setTreeData]);
266
- useEffect(function () {
267
- setFilteredData(treeData, searchKeywordState);
268
- }, [treeData, searchKeywordState, setFilteredData]);
269
- useEffect(function () {
270
- if (Array.isArray(controlledExpandItemValues)) {
271
- setExpandItemValues(controlledExpandItemValues);
272
- }
273
- }, [controlledExpandItemValues, setExpandItemValues]);
274
- useEffect(function () {
275
- setSearchKeyword(searchKeyword !== null && searchKeyword !== void 0 ? searchKeyword : '');
276
- }, [searchKeyword, setSearchKeyword]);
277
- useEffect(function () {
278
- unSerializeList({
279
- nodes: flattenNodes,
280
- key: 'check',
281
- value: value,
282
- cascade: cascade,
283
- uncheckableItemValues: uncheckableItemValues
284
- });
285
- forceUpdate();
286
- }, [cascade, value, uncheckableItemValues, unSerializeList, flattenNodes, forceUpdate]);
287
- var toggleUpChecked = useEventCallback(function (nodes, node, checked) {
288
- var currentNode = node.refKey ? nodes[node.refKey] : null;
289
- if (cascade && currentNode) {
290
- if (!checked) {
291
- currentNode.check = checked;
292
- currentNode.checkAll = checked;
293
- } else {
294
- if (isEveryChildChecked(nodes, currentNode)) {
295
- currentNode.check = true;
296
- currentNode.checkAll = true;
297
- } else {
298
- currentNode.check = false;
299
- currentNode.checkAll = false;
300
- }
301
- }
302
- if (currentNode.parent) {
303
- toggleUpChecked(nodes, currentNode.parent, checked);
304
- }
305
- }
306
- });
307
- var toggleDownChecked = useEventCallback(function (nodes, node, isChecked) {
308
- var currentNode = node.refKey ? nodes[node.refKey] : null;
309
- if (!currentNode) {
310
- return;
311
- }
312
- currentNode.check = isChecked;
313
- if (!currentNode[childrenKey] || !currentNode[childrenKey].length || !cascade) {
314
- currentNode.checkAll = false;
315
- } else {
316
- currentNode.checkAll = isChecked;
317
- currentNode[childrenKey].forEach(function (child) {
318
- toggleDownChecked(nodes, child, isChecked);
319
- });
320
- }
321
- });
322
- var toggleChecked = useEventCallback(function (node, isChecked) {
323
- var nodes = _cloneDeep(flattenNodes);
324
- toggleDownChecked(nodes, node, isChecked);
325
- node.parent && toggleUpChecked(nodes, node.parent, isChecked);
326
- var values = serializeListOnlyParent(nodes, 'check');
327
- // filter uncheckableItemValues
328
- return values.filter(function (v) {
329
- return !uncheckableItemValues.includes(v);
330
- });
331
- });
332
-
333
- // TODO-Doma
334
- // Replace `getKeyParentMap` with `getParentMap`
335
- var itemParentMap = useMemo(function () {
336
- return getKeyParentMap(data, function (node) {
337
- return node[valueKey];
338
- }, function (node) {
339
- return node[childrenKey];
340
- });
341
- }, [childrenKey, data, valueKey]);
342
- var handleSelect = useEventCallback(function (node, event) {
343
- var currentNode = node.refKey ? flattenNodes[node.refKey] : null;
344
- if (!node || !currentNode) {
345
- return;
346
- }
347
- var selectedValues = toggleChecked(node, !currentNode.check);
348
- if (!isControlled) {
349
- unSerializeList({
350
- nodes: flattenNodes,
351
- key: 'check',
352
- value: selectedValues,
353
- cascade: cascade,
354
- uncheckableItemValues: uncheckableItemValues
355
- });
356
- setValue(selectedValues);
357
- }
358
- setActiveNode(node);
359
- setFocusItemValue(node[valueKey]);
360
- onChange === null || onChange === void 0 ? void 0 : onChange(selectedValues, event);
361
- onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, selectedValues, event);
362
- onSelectItem === null || onSelectItem === void 0 ? void 0 : onSelectItem(node, getPathTowardsItem(node, function (item) {
363
- return itemParentMap.get(item[valueKey]);
364
- }));
365
- });
366
- var handleOpen = useEventCallback(function () {
367
- setFocusItemValue(activeNode === null || activeNode === void 0 ? void 0 : activeNode[valueKey]);
368
- focusActiveNode();
369
- setActive(true);
370
- });
371
- var handleClose = useEventCallback(function () {
372
- var _target$current;
373
- setSearchKeyword('');
374
- setFocusItemValue(null);
375
- setActive(false);
376
-
377
- /**
378
- * when using keyboard toggle picker, should refocus on PickerToggle Component after close picker menu
379
- */
380
- (_target$current = target.current) === null || _target$current === void 0 ? void 0 : _target$current.focus();
381
- });
382
- var handleExpand = useEventCallback(function (node) {
383
- var nextExpandItemValues = toggleExpand({
384
- node: node,
385
- isExpand: !node.expand,
386
- expandItemValues: expandItemValues,
387
- valueKey: valueKey
388
- });
389
- setExpandItemValues(nextExpandItemValues);
390
- onExpand === null || onExpand === void 0 ? void 0 : onExpand(nextExpandItemValues, node, createConcatChildrenFunction(node, node[valueKey], {
391
- valueKey: valueKey,
392
- childrenKey: childrenKey
393
- }));
394
- if (_isFunction(getChildren) && !node.expand && Array.isArray(node[childrenKey]) && node[childrenKey].length === 0) {
395
- loadChildren(node, getChildren);
396
- }
397
- });
154
+ focusItemValue = _useFocusState.focusItemValue,
155
+ setFocusItemValue = _useFocusState.setFocusItemValue,
156
+ active = _useFocusState.active,
157
+ triggerProps = _useFocusState.triggerProps;
398
158
  var handleClean = useEventCallback(function (event) {
399
159
  var target = event.target;
400
160
  // exclude searchbox
401
161
  if (target.matches('input[role="searchbox"]') || disabled || !cleanable) {
402
162
  return;
403
163
  }
404
- setActiveNode(null);
405
164
  setFocusItemValue(null);
406
- if (!isControlled) {
407
- setValue([]);
408
- unSerializeList({
409
- nodes: flattenNodes,
410
- key: 'check',
411
- value: [],
412
- cascade: cascade,
413
- uncheckableItemValues: uncheckableItemValues
414
- });
415
- }
165
+ setValue([]);
416
166
  onChange === null || onChange === void 0 ? void 0 : onChange([], event);
417
167
  });
418
- var handleFocusItem = useEventCallback(function (key) {
419
- var focusableItems = getFocusableItems(filteredData, {
420
- disabledItemValues: disabledItemValues,
421
- valueKey: valueKey,
422
- childrenKey: childrenKey,
423
- expandItemValues: expandItemValues
424
- }, isSearching(searchKeywordState));
425
- var selector = "." + checkTreePrefix('node-label');
426
- var focusProps = {
427
- focusItemValue: focusItemValue,
428
- focusableItems: focusableItems,
429
- treeNodesRefs: treeNodesRefs,
430
- selector: selector,
431
- valueKey: valueKey,
432
- callback: function callback(nextFocusItemValue) {
433
- setFocusItemValue(nextFocusItemValue);
434
- }
435
- };
436
- if (key === KEY_VALUES.DOWN) {
437
- focusNextItem(focusProps);
438
- return;
439
- }
440
- if (key === KEY_VALUES.UP) {
441
- focusPreviousItem(focusProps);
442
- }
443
- });
444
- var handleLeftArrow = useEventCallback(function () {
445
- if (_isNil(focusItemValue)) return;
446
- var focusItem = getActiveItem(focusItemValue, flattenNodes, valueKey);
447
- leftArrowHandler({
448
- focusItem: focusItem,
449
- expand: expandItemValues.includes(focusItem === null || focusItem === void 0 ? void 0 : focusItem[valueKey]),
450
- onExpand: handleExpand,
451
- childrenKey: childrenKey,
452
- onFocusItem: function onFocusItem() {
453
- var _focusItem$parent, _focusItem$parent2;
454
- setFocusItemValue(focusItem === null || focusItem === void 0 ? void 0 : (_focusItem$parent = focusItem.parent) === null || _focusItem$parent === void 0 ? void 0 : _focusItem$parent[valueKey]);
455
- focusTreeNode(focusItem === null || focusItem === void 0 ? void 0 : (_focusItem$parent2 = focusItem.parent) === null || _focusItem$parent2 === void 0 ? void 0 : _focusItem$parent2.refKey, treeNodesRefs, "." + checkTreePrefix('node-label'));
456
- }
457
- });
458
- });
459
- var handleRightArrow = useEventCallback(function () {
460
- if (_isNil(focusItemValue)) return;
461
- var focusItem = getActiveItem(focusItemValue, flattenNodes, valueKey);
462
- rightArrowHandler({
463
- focusItem: focusItem,
464
- expand: expandItemValues.includes(focusItem === null || focusItem === void 0 ? void 0 : focusItem[valueKey]),
465
- childrenKey: childrenKey,
466
- onExpand: handleExpand,
467
- onFocusItem: function onFocusItem() {
468
- handleFocusItem(KEY_VALUES.DOWN);
168
+ var handleTreeKeyDown = useEventCallback(function (event) {
169
+ onMenuKeyDown(event, {
170
+ del: handleClean,
171
+ down: function down() {
172
+ return focusFirstNode();
469
173
  }
470
174
  });
471
175
  });
472
- var selectActiveItem = function selectActiveItem(event) {
473
- if (_isNil(focusItemValue)) return;
474
- var activeItem = getActiveItem(focusItemValue, flattenNodes, valueKey);
475
- if (!isNodeUncheckable(activeItem, {
476
- uncheckableItemValues: uncheckableItemValues,
477
- valueKey: valueKey
478
- }) && activeItem !== null) {
479
- handleSelect(activeItem, event);
480
- }
481
- };
482
176
  var onPickerKeydown = useToggleKeyDownEvent(_extends({
483
177
  toggle: !focusItemValue || !active,
484
178
  trigger: trigger,
@@ -487,196 +181,82 @@ var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
487
181
  searchInput: searchInput,
488
182
  active: active,
489
183
  onExit: handleClean,
490
- onMenuKeyDown: function onMenuKeyDown(event) {
491
- _onMenuKeyDown(event, {
492
- down: function down() {
493
- return handleFocusItem(KEY_VALUES.DOWN);
494
- },
495
- up: function up() {
496
- return handleFocusItem(KEY_VALUES.UP);
497
- },
498
- left: rtl ? handleRightArrow : handleLeftArrow,
499
- right: rtl ? handleLeftArrow : handleRightArrow,
500
- enter: selectActiveItem,
501
- del: handleClean
502
- });
503
- }
184
+ onMenuKeyDown: handleTreeKeyDown
504
185
  }, rest));
505
- var handleTreeKeydown = useEventCallback(function (event) {
506
- if (!treeView.current) {
507
- return;
508
- }
509
- _onMenuKeyDown(event, {
510
- down: function down() {
511
- return handleFocusItem(KEY_VALUES.DOWN);
512
- },
513
- up: function up() {
514
- return handleFocusItem(KEY_VALUES.UP);
515
- },
516
- left: rtl ? handleRightArrow : handleLeftArrow,
517
- right: rtl ? handleLeftArrow : handleRightArrow,
518
- enter: selectActiveItem
519
- });
186
+ var handleChange = useEventCallback(function (nextValue, event) {
187
+ setValue(nextValue);
188
+ onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);
520
189
  });
521
- var renderNode = function renderNode(node, layer) {
522
- var visible = node.visible,
523
- refKey = node.refKey; // when searching, all nodes should be expand
524
- var expand = getExpandWhenSearching(searchKeywordState, expandItemValues.includes(node[valueKey]));
525
- if (!visible) {
526
- return null;
527
- }
528
- var children = node[childrenKey];
529
- var visibleChildren = _isUndefined(searchKeywordState) || searchKeywordState.length === 0 ? !!children : hasVisibleChildren(node, childrenKey);
530
- var nodeProps = _extends({}, getTreeNodeProps(_extends({}, node, {
531
- /**
532
- * spread operator don't copy unenumerable properties
533
- * so we need to copy them manually
534
- */
535
- parent: node.parent,
536
- expand: expand
537
- }), layer), {
538
- hasChildren: visibleChildren
539
- });
540
- if (nodeProps.hasChildren) {
541
- var _merge;
542
- layer += 1;
543
- var openClass = checkTreePrefix('open');
544
- var childrenClass = merge(checkTreePrefix('node-children'), (_merge = {}, _merge[openClass] = expand && visibleChildren, _merge));
545
- var nodes = children || [];
546
- return /*#__PURE__*/React.createElement("div", {
547
- className: childrenClass,
548
- key: node[valueKey]
549
- }, /*#__PURE__*/React.createElement(CheckTreeNode, _extends({}, nodeProps, {
550
- ref: function ref(_ref) {
551
- return saveTreeNodeRef(_ref, refKey);
552
- }
553
- })), /*#__PURE__*/React.createElement("div", {
554
- className: checkTreePrefix('group'),
555
- role: "group"
556
- }, nodes.map(function (child) {
557
- return renderNode(child, layer);
558
- }), showIndentLine && /*#__PURE__*/React.createElement("span", {
559
- className: checkTreePrefix('indent-line'),
560
- style: getTreeNodeIndent(rtl, layer - 1, true)
561
- })));
562
- }
563
- return /*#__PURE__*/React.createElement(CheckTreeNode, _extends({
564
- key: node[valueKey],
565
- ref: function ref(_ref2) {
566
- return saveTreeNodeRef(_ref2, refKey);
567
- }
568
- }, nodeProps));
569
- };
570
- var renderVirtualListNode = function renderVirtualListNode(_ref3) {
571
- var index = _ref3.index,
572
- style = _ref3.style,
573
- data = _ref3.data;
574
- var node = data[index];
575
- var layer = node.layer,
576
- refKey = node.refKey,
577
- visible = node.visible;
578
- var expand = getExpandWhenSearching(searchKeywordState, expandItemValues.includes(node[valueKey]));
579
- var nodeProps = _extends({}, getTreeNodeProps(_extends({}, node, {
580
- /**
581
- * spread operator don't copy unenumerable properties
582
- * so we need to copy them manually
583
- */
584
- parent: node.parent,
585
- expand: expand
586
- }), layer), {
587
- hasChildren: node.hasChildren
588
- });
589
- return visible && /*#__PURE__*/React.createElement(CheckTreeNode, _extends({
590
- style: style,
591
- ref: function ref(_ref4) {
592
- return saveTreeNodeRef(_ref4, refKey);
190
+ var treeContext = useMemo(function () {
191
+ return {
192
+ register: register,
193
+ props: {
194
+ labelKey: labelKey,
195
+ valueKey: valueKey,
196
+ childrenKey: childrenKey,
197
+ virtualized: virtualized,
198
+ renderTreeIcon: renderTreeIcon,
199
+ renderTreeNode: renderTreeNode
593
200
  }
594
- }, nodeProps));
595
- };
596
- var renderCheckTree = function renderCheckTree() {
597
- var _merge2, _merge3;
598
- var classes = merge(withCheckTreeClassPrefix({
599
- 'without-children': !isSomeNodeHasChildren(data, childrenKey),
600
- virtualized: virtualized
601
- }), (_merge2 = {}, _merge2[className !== null && className !== void 0 ? className : ''] = inline, _merge2));
602
- var formattedNodes = getFormattedNodes(renderNode);
603
- if (!formattedNodes.some(function (v) {
604
- return v !== null;
605
- })) {
606
- return /*#__PURE__*/React.createElement("div", {
607
- className: prefix('none')
608
- }, locale.noResultsText);
609
- }
610
- var treeNodesClass = merge(checkTreePrefix('root'), (_merge3 = {}, _merge3[checkTreePrefix('all-uncheckable')] = isEveryFirstLevelNodeUncheckable(flattenNodes, uncheckableItemValues, valueKey), _merge3));
611
- var treeViewProps = {
612
- ref: treeView
613
201
  };
614
- if (inline) {
615
- treeViewProps = _extends({
616
- ref: root,
617
- style: _extends({
618
- height: height
619
- }, style)
620
- }, rest);
621
- }
622
- return /*#__PURE__*/React.createElement(TreeView, _extends({}, treeViewProps, {
623
- multiselectable: true,
624
- treeRootClassName: treeNodesClass,
625
- className: classes,
626
- onScroll: onScroll,
627
- onKeyDown: inline ? handleTreeKeydown : undefined
628
- }), virtualized ? /*#__PURE__*/React.createElement(AutoSizer, {
629
- defaultHeight: inline ? height : menuMaxHeight,
630
- style: {
631
- width: 'auto',
632
- height: 'auto'
633
- }
634
- }, function (_ref5) {
635
- var height = _ref5.height;
636
- return /*#__PURE__*/React.createElement(List, _extends({
637
- ref: list,
638
- height: height,
639
- itemSize: itemSize,
640
- itemCount: formattedNodes.length,
641
- itemData: formattedNodes
642
- }, listProps), renderVirtualListNode);
643
- }) : formattedNodes);
644
- };
645
- var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {
202
+ }, [childrenKey, labelKey, valueKey, virtualized, register, renderTreeIcon, renderTreeNode]);
203
+ var checkTreeView = /*#__PURE__*/React.createElement(TreeProvider, {
204
+ value: treeContext
205
+ }, /*#__PURE__*/React.createElement(CheckTreeView, {
206
+ ref: treeView,
207
+ disabledItemValues: disabledItemValues,
208
+ expandItemValues: expandItemValues,
209
+ uncheckableItemValues: uncheckableItemValues,
210
+ cascade: cascade,
211
+ virtualized: virtualized,
212
+ data: treeData,
213
+ height: treeHeight,
214
+ showIndentLine: showIndentLine,
215
+ listProps: listProps,
216
+ listRef: list,
217
+ searchBy: searchBy,
218
+ searchable: searchable,
219
+ searchKeyword: searchKeyword,
220
+ searchInputRef: searchInput,
221
+ onScroll: onScroll,
222
+ onSelect: onSelect,
223
+ onSelectItem: onSelectItem,
224
+ onExpand: handleExpandTreeNode,
225
+ onSearch: onSearch,
226
+ onChange: handleChange,
227
+ onFocusItem: setFocusItemValue,
228
+ value: value,
229
+ loadingNodeValues: loadingNodeValues,
230
+ flattenedNodes: flattenedNodes
231
+ }));
232
+ var renderTreeView = function renderTreeView(positionProps, speakerRef) {
646
233
  var left = positionProps.left,
647
234
  top = positionProps.top,
648
235
  className = positionProps.className;
649
- var classes = classNames(className, menuClassName, prefix('check-tree-menu'));
650
- var mergedMenuStyle = _extends({}, menuStyle, {
236
+ var classes = classNames(className, popupClassName, DEPRECATED_menuClassName, prefix('check-tree-menu'));
237
+ var mergedMenuStyle = _extends({}, popupStyle, DEPRECATED_menuStyle, {
651
238
  left: left,
652
239
  top: top
653
240
  });
654
241
  return /*#__PURE__*/React.createElement(PickerPopup, {
242
+ ref: mergeRefs(overlay, speakerRef),
655
243
  autoWidth: menuAutoWidth,
656
244
  className: classes,
657
245
  style: mergedMenuStyle,
658
- ref: mergeRefs(overlay, speakerRef),
659
246
  onKeyDown: onPickerKeydown,
660
247
  target: trigger
661
- }, searchable ? /*#__PURE__*/React.createElement(SearchBox, {
662
- placeholder: locale.searchPlaceholder,
663
- onChange: handleSearch,
664
- value: searchKeywordState,
665
- inputRef: searchInput
666
- }) : null, renderMenu ? renderMenu(renderCheckTree()) : renderCheckTree(), renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());
248
+ }, renderTree ? renderTree(checkTreeView) : checkTreeView, renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());
667
249
  };
668
- var selectedItems = useMemo(function () {
669
- return getSelectedItems(flattenNodes, value);
670
- }, [flattenNodes, value]);
250
+
671
251
  /**
672
252
  * 1.Have a value and the value is valid.
673
253
  * 2.Regardless of whether the value is valid, as long as renderValue is set, it is judged to have a value.
674
254
  */
675
- var hasValidValue = selectedItems.length > 0 || value.length > 0 && _isFunction(renderValue);
255
+ var hasValidValue = selectedNodes.length > 0 || value.length > 0 && _isFunction(renderValue);
676
256
  var selectedElement = placeholder;
677
257
  if (hasValidValue) {
678
258
  selectedElement = /*#__PURE__*/React.createElement(SelectedElement, {
679
- selectedItems: selectedItems,
259
+ selectedItems: selectedNodes,
680
260
  countable: countable,
681
261
  valueKey: valueKey,
682
262
  labelKey: labelKey,
@@ -686,7 +266,7 @@ var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
686
266
  locale: locale
687
267
  });
688
268
  if (_isFunction(renderValue)) {
689
- selectedElement = renderValue(value, selectedItems, selectedElement);
269
+ selectedElement = renderValue(value, selectedNodes, selectedElement);
690
270
  if (_isNil(selectedElement)) {
691
271
  hasValidValue = false;
692
272
  }
@@ -703,21 +283,15 @@ var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
703
283
  })),
704
284
  classes = _usePickerClassName[0],
705
285
  usedClassNamePropKeys = _usePickerClassName[1];
706
- if (inline) {
707
- return renderCheckTree();
708
- }
709
- return /*#__PURE__*/React.createElement(PickerToggleTrigger, {
286
+ return /*#__PURE__*/React.createElement(PickerToggleTrigger, _extends({
710
287
  id: id,
711
288
  popupType: "tree",
712
289
  multiple: true,
713
290
  pickerProps: _pick(props, pickTriggerPropKeys),
714
291
  ref: trigger,
715
292
  placement: placement,
716
- onEnter: handleOpen,
717
- onEntered: onEntered,
718
- onExited: createChainedFunction(handleClose, onExited),
719
- speaker: renderDropdownMenu
720
- }, /*#__PURE__*/React.createElement(Component, {
293
+ speaker: renderTreeView
294
+ }, triggerProps), /*#__PURE__*/React.createElement(Component, {
721
295
  className: classes,
722
296
  style: style,
723
297
  ref: root
@@ -737,29 +311,4 @@ var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
737
311
  }), selectedElement || locale.placeholder)));
738
312
  });
739
313
  CheckTreePicker.displayName = 'CheckTreePicker';
740
- CheckTreePicker.propTypes = _extends({}, listPickerPropTypes, {
741
- height: PropTypes.number,
742
- appearance: oneOf(['default', 'subtle']),
743
- locale: PropTypes.any,
744
- cascade: PropTypes.bool,
745
- countable: PropTypes.bool,
746
- searchable: PropTypes.bool,
747
- virtualized: PropTypes.bool,
748
- searchKeyword: PropTypes.string,
749
- menuAutoWidth: PropTypes.bool,
750
- defaultExpandAll: PropTypes.bool,
751
- containerPadding: PropTypes.number,
752
- disabledItemValues: PropTypes.array,
753
- expandItemValues: PropTypes.array,
754
- defaultExpandItemValues: PropTypes.array,
755
- uncheckableItemValues: PropTypes.array,
756
- onSearch: PropTypes.func,
757
- onExpand: PropTypes.func,
758
- onSelect: PropTypes.func,
759
- renderMenu: PropTypes.func,
760
- renderTreeNode: PropTypes.func,
761
- renderTreeIcon: PropTypes.func,
762
- searchBy: PropTypes.func,
763
- onScroll: PropTypes.func
764
- });
765
314
  export default CheckTreePicker;