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
@@ -10,7 +10,6 @@ var _extends3 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
10
10
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
11
  var _react = _interopRequireWildcard(require("react"));
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
- var _isUndefined = _interopRequireDefault(require("lodash/isUndefined"));
14
13
  var _isNil = _interopRequireDefault(require("lodash/isNil"));
15
14
  var _isFunction = _interopRequireDefault(require("lodash/isFunction"));
16
15
  var _remove = _interopRequireDefault(require("lodash/remove"));
@@ -19,9 +18,9 @@ var _isArray = _interopRequireDefault(require("lodash/isArray"));
19
18
  var _omit = _interopRequireDefault(require("lodash/omit"));
20
19
  var _pick = _interopRequireDefault(require("lodash/pick"));
21
20
  var _shallowEqual = _interopRequireDefault(require("../utils/shallowEqual"));
22
- var _treeUtils = require("../utils/treeUtils");
21
+ var _utils = require("../internals/Tree/utils");
23
22
  var _Plaintext = _interopRequireDefault(require("../internals/Plaintext"));
24
- var _utils = require("../utils");
23
+ var _utils2 = require("../utils");
25
24
  var _propTypes2 = require("../internals/propTypes");
26
25
  var _getDataGroupBy = require("../utils/getDataGroupBy");
27
26
  var _Picker = require("../internals/Picker");
@@ -31,7 +30,7 @@ var _InputPickerContext = require("./InputPickerContext");
31
30
  var _Stack = _interopRequireDefault(require("../Stack"));
32
31
  var _useInput2 = _interopRequireDefault(require("./hooks/useInput"));
33
32
  var _useData2 = _interopRequireDefault(require("./hooks/useData"));
34
- var _utils2 = require("./utils");
33
+ var _utils3 = require("./utils");
35
34
  var _templateObject, _templateObject2, _templateObject3, _templateObject4;
36
35
  /**
37
36
  * Single item selector with text box input.
@@ -123,12 +122,12 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
123
122
  target = _usePickerRef.target,
124
123
  overlay = _usePickerRef.overlay,
125
124
  list = _usePickerRef.list;
126
- var _useCustom = (0, _utils.useCustom)(['Picker', 'InputPicker'], overrideLocale),
125
+ var _useCustom = (0, _utils2.useCustom)(['Picker', 'InputPicker'], overrideLocale),
127
126
  locale = _useCustom.locale;
128
- var _useClassNames = (0, _utils.useClassNames)(classPrefix),
127
+ var _useClassNames = (0, _utils2.useClassNames)(classPrefix),
129
128
  prefix = _useClassNames.prefix,
130
129
  merge = _useClassNames.merge;
131
- var _useControlled = (0, _utils.useControlled)(controlledOpen, defaultOpen),
130
+ var _useControlled = (0, _utils2.useControlled)(controlledOpen, defaultOpen),
132
131
  open = _useControlled[0],
133
132
  setOpen = _useControlled[1];
134
133
  var _useInput = (0, _useInput2.default)({
@@ -152,14 +151,14 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
152
151
  dataWithCache = _useData.dataWithCache,
153
152
  newData = _useData.newData,
154
153
  setNewData = _useData.setNewData;
155
- var _useControlled2 = (0, _utils.useControlled)(valueProp, multi ? defaultValue || [] : defaultValue),
154
+ var _useControlled2 = (0, _utils2.useControlled)(valueProp, multi ? defaultValue || [] : defaultValue),
156
155
  value = _useControlled2[0],
157
156
  setValue = _useControlled2[1],
158
157
  isControlled = _useControlled2[2];
159
158
  var cloneValue = function cloneValue() {
160
159
  return multi ? (0, _clone.default)(value) || [] : value;
161
160
  };
162
- var handleClose = (0, _utils.useEventCallback)(function () {
161
+ var handleClose = (0, _utils2.useEventCallback)(function () {
163
162
  var _triggerRef$current, _target$current, _target$current$focus;
164
163
  triggerRef === null || triggerRef === void 0 ? void 0 : (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.close();
165
164
 
@@ -179,7 +178,7 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
179
178
  focusItemValue = _useFocusItemValue.focusItemValue,
180
179
  setFocusItemValue = _useFocusItemValue.setFocusItemValue,
181
180
  onKeyDown = _useFocusItemValue.onKeyDown;
182
- var onSearchCallback = (0, _utils.useEventCallback)(function (searchKeyword, filteredData, event) {
181
+ var onSearchCallback = (0, _utils2.useEventCallback)(function (searchKeyword, filteredData, event) {
183
182
  if (!disabledOptions) {
184
183
  var _filteredData$;
185
184
  // The first option after filtering is the focus.
@@ -240,10 +239,10 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
240
239
  }
241
240
  return option;
242
241
  };
243
- var handleChange = (0, _utils.useEventCallback)(function (value, event) {
242
+ var handleChange = (0, _utils2.useEventCallback)(function (value, event) {
244
243
  onChange === null || onChange === void 0 ? void 0 : onChange(value, event);
245
244
  });
246
- var handleRemoveItemByTag = (0, _utils.useEventCallback)(function (tag, event) {
245
+ var handleRemoveItemByTag = (0, _utils2.useEventCallback)(function (tag, event) {
247
246
  event.stopPropagation();
248
247
  var val = cloneValue();
249
248
  (0, _remove.default)(val, function (itemVal) {
@@ -253,7 +252,7 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
253
252
  handleChange(val, event);
254
253
  onTagRemove === null || onTagRemove === void 0 ? void 0 : onTagRemove(tag, event);
255
254
  });
256
- var handleSelect = (0, _utils.useEventCallback)(function (value, item, event) {
255
+ var handleSelect = (0, _utils2.useEventCallback)(function (value, item, event) {
257
256
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(value, item, event);
258
257
  if (creatable && item.create) {
259
258
  delete item.create;
@@ -268,7 +267,7 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
268
267
  * @param item
269
268
  * @param event
270
269
  */
271
- var handleSelectItem = (0, _utils.useEventCallback)(function (value, item, event) {
270
+ var handleSelectItem = (0, _utils2.useEventCallback)(function (value, item, event) {
272
271
  setValue(value);
273
272
  setFocusItemValue(value);
274
273
  resetSearch();
@@ -284,7 +283,7 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
284
283
  * @param event
285
284
  * @param checked
286
285
  */
287
- var handleCheckTag = (0, _utils.useEventCallback)(function (nextItemValue, item, event, checked) {
286
+ var handleCheckTag = (0, _utils2.useEventCallback)(function (nextItemValue, item, event, checked) {
288
287
  var val = cloneValue();
289
288
  if (checked) {
290
289
  val.push(nextItemValue);
@@ -300,7 +299,7 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
300
299
  handleChange(val, event);
301
300
  focus();
302
301
  });
303
- var handleTagKeyPress = (0, _utils.useEventCallback)(function (event) {
302
+ var handleTagKeyPress = (0, _utils2.useEventCallback)(function (event) {
304
303
  // When composing, ignore the keypress event.
305
304
  if (event.nativeEvent.isComposing) {
306
305
  return;
@@ -342,7 +341,7 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
342
341
  handleSelect(val, focusItem, event);
343
342
  handleChange(val, event);
344
343
  });
345
- var handleMenuItemKeyPress = (0, _utils.useEventCallback)(function (event) {
344
+ var handleMenuItemKeyPress = (0, _utils2.useEventCallback)(function (event) {
346
345
  if (!focusItemValue || !controlledData) {
347
346
  return;
348
347
  }
@@ -376,7 +375,7 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
376
375
  * Remove the last item, after pressing the back key on the keyboard.
377
376
  * @param event
378
377
  */
379
- var removeLastItem = (0, _utils.useEventCallback)(function (event) {
378
+ var removeLastItem = (0, _utils2.useEventCallback)(function (event) {
380
379
  var target = event === null || event === void 0 ? void 0 : event.target;
381
380
  if ((target === null || target === void 0 ? void 0 : target.tagName) !== 'INPUT') {
382
381
  focus();
@@ -390,7 +389,7 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
390
389
  setValue(val);
391
390
  handleChange(val, event);
392
391
  });
393
- var handleClean = (0, _utils.useEventCallback)(function (event) {
392
+ var handleClean = (0, _utils2.useEventCallback)(function (event) {
394
393
  if (disabled || searchKeyword !== '') {
395
394
  return;
396
395
  }
@@ -410,21 +409,21 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
410
409
  onMenuPressEnter: undefined,
411
410
  onKeyDown: undefined
412
411
  };
413
- var handleKeyPress = (0, _utils.useEventCallback)(function (event) {
412
+ var handleKeyPress = (0, _utils2.useEventCallback)(function (event) {
414
413
  // When typing a space, create a tag.
415
- if ((0, _utils.isOneOf)('Space', trigger) && event.key === _utils.KEY_VALUES.SPACE) {
414
+ if ((0, _utils2.isOneOf)('Space', trigger) && event.key === _utils2.KEY_VALUES.SPACE) {
416
415
  handleTagKeyPress(event);
417
416
  event.preventDefault();
418
417
  }
419
418
 
420
419
  // When typing a comma, create a tag.
421
- if ((0, _utils.isOneOf)('Comma', trigger) && event.key === _utils.KEY_VALUES.COMMA) {
420
+ if ((0, _utils2.isOneOf)('Comma', trigger) && event.key === _utils2.KEY_VALUES.COMMA) {
422
421
  handleTagKeyPress(event);
423
422
  event.preventDefault();
424
423
  }
425
424
  });
426
425
  if (multi) {
427
- if ((0, _utils.isOneOf)('Enter', trigger)) {
426
+ if ((0, _utils2.isOneOf)('Enter', trigger)) {
428
427
  events.onMenuPressEnter = handleTagKeyPress;
429
428
  }
430
429
  if (creatable) {
@@ -438,11 +437,11 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
438
437
  target: target,
439
438
  overlay: overlay
440
439
  }, events, rest));
441
- var handleExited = (0, _utils.useEventCallback)(function () {
440
+ var handleExited = (0, _utils2.useEventCallback)(function () {
442
441
  setFocusItemValue(multi ? value === null || value === void 0 ? void 0 : value[0] : value);
443
442
  resetSearch();
444
443
  });
445
- var handleFocus = (0, _utils.useEventCallback)(function (event) {
444
+ var handleFocus = (0, _utils2.useEventCallback)(function (event) {
446
445
  if (!readOnly) {
447
446
  var _triggerRef$current3;
448
447
  setOpen(true);
@@ -450,17 +449,17 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
450
449
  }
451
450
  onFocus === null || onFocus === void 0 ? void 0 : onFocus(event);
452
451
  });
453
- var handleEnter = (0, _utils.useEventCallback)(function () {
452
+ var handleEnter = (0, _utils2.useEventCallback)(function () {
454
453
  focus();
455
454
  setOpen(true);
456
455
  });
457
- var handleExit = (0, _utils.useEventCallback)(function () {
456
+ var handleExit = (0, _utils2.useEventCallback)(function () {
458
457
  blur();
459
458
  setOpen(false);
460
459
  });
461
460
  var renderListItem = function renderListItem(label, item) {
462
461
  // 'Create option "{0}"' => Create option "xxxxx"
463
- var newLabel = item.create ? /*#__PURE__*/_react.default.createElement("span", null, (0, _utils.tplTransform)(locale.createOption, label)) : label;
462
+ var newLabel = item.create ? /*#__PURE__*/_react.default.createElement("span", null, (0, _utils2.tplTransform)(locale.createOption, label)) : label;
464
463
  return renderMenuItem ? renderMenuItem(newLabel, item) : newLabel;
465
464
  };
466
465
  var checkValue = function checkValue() {
@@ -503,10 +502,10 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
503
502
  role: "option"
504
503
  }, tagRest, {
505
504
  key: tag,
506
- size: (0, _utils2.convertSize)(size),
505
+ size: (0, _utils3.convertSize)(size),
507
506
  closable: !disabled && closable && !readOnly && !plaintext,
508
507
  title: typeof itemNode === 'string' ? itemNode : undefined,
509
- onClose: (0, _utils.createChainedFunction)(handleRemoveItemByTag.bind(null, tag), onClose)
508
+ onClose: (0, _utils2.createChainedFunction)(handleRemoveItemByTag.bind(null, tag), onClose)
510
509
  }), itemNode);
511
510
  }).filter(function (item) {
512
511
  return item !== null;
@@ -526,7 +525,7 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
526
525
  left: left,
527
526
  top: top
528
527
  });
529
- var items = (0, _treeUtils.filterNodesOfTree)(data, checkShouldDisplay);
528
+ var items = (0, _utils.filterNodesOfTree)(data, checkShouldDisplay);
530
529
  if (creatable && (typeof shouldDisplayCreateOption === 'function' ? shouldDisplayCreateOption(searchKeyword, items) : searchKeyword && !items.find(function (item) {
531
530
  return item[valueKey] === searchKeyword;
532
531
  }))) {
@@ -541,7 +540,7 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
541
540
  }
542
541
  if (disabledOptions) {
543
542
  return /*#__PURE__*/_react.default.createElement(_Picker.PickerPopup, {
544
- ref: (0, _utils.mergeRefs)(overlay, speakerRef)
543
+ ref: (0, _utils2.mergeRefs)(overlay, speakerRef)
545
544
  });
546
545
  }
547
546
  var menu = items.length ? /*#__PURE__*/_react.default.createElement(_Picker.Listbox, {
@@ -559,11 +558,8 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
559
558
  activeItemValues: multi ? value : [value],
560
559
  focusItemValue: focusItemValue,
561
560
  maxHeight: menuMaxHeight,
562
- data: items
563
- // FIXME-Doma
564
- // `group` is redundant so long as `groupBy` exists
565
- ,
566
- group: !(0, _isUndefined.default)(groupBy),
561
+ data: items,
562
+ query: searchKeyword,
567
563
  groupBy: groupBy,
568
564
  onSelect: multi ? handleCheckTag : handleSelectItem,
569
565
  renderMenuGroup: renderMenuGroup,
@@ -573,7 +569,7 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
573
569
  className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["none"])))
574
570
  }, locale === null || locale === void 0 ? void 0 : locale.noResultsText);
575
571
  return /*#__PURE__*/_react.default.createElement(_Picker.PickerPopup, {
576
- ref: (0, _utils.mergeRefs)(overlay, speakerRef),
572
+ ref: (0, _utils2.mergeRefs)(overlay, speakerRef),
577
573
  autoWidth: menuAutoWidth,
578
574
  className: classes,
579
575
  style: styles,
@@ -628,10 +624,10 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
628
624
  pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),
629
625
  ref: triggerRef,
630
626
  trigger: "active",
631
- onEnter: (0, _utils.createChainedFunction)(handleEnter, onEnter),
627
+ onEnter: (0, _utils2.createChainedFunction)(handleEnter, onEnter),
632
628
  onEntered: onEntered,
633
- onExit: (0, _utils.createChainedFunction)(handleExit, onExit),
634
- onExited: (0, _utils.createChainedFunction)(handleExited, onExited),
629
+ onExit: (0, _utils2.createChainedFunction)(handleExit, onExit),
630
+ onExited: (0, _utils2.createChainedFunction)(handleExited, onExited),
635
631
  speaker: renderPopup,
636
632
  placement: placement
637
633
  }, /*#__PURE__*/_react.default.createElement(Component, {
@@ -8,11 +8,10 @@ var _extends3 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
8
8
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
9
9
  var _react = _interopRequireDefault(require("react"));
10
10
  var _utils = require("../utils");
11
- var _treeUtils = require("../utils/treeUtils");
12
11
  var _SearchBox = _interopRequireDefault(require("../internals/SearchBox"));
13
12
  var _Checkbox = _interopRequireDefault(require("../Checkbox"));
13
+ var _Highlight = _interopRequireDefault(require("../Highlight"));
14
14
  var _utils2 = require("./utils");
15
- var _utils3 = require("../CascadeTree/utils");
16
15
  function SearchView(props) {
17
16
  var _props$as = props.as,
18
17
  Component = _props$as === void 0 ? 'div' : _props$as,
@@ -41,18 +40,11 @@ function SearchView(props) {
41
40
  locale = _useCustom.locale;
42
41
  var renderSearchRow = function renderSearchRow(item, key) {
43
42
  var _extends2;
44
- var nodes = (0, _treeUtils.getNodeParents)(item);
45
- var label = (0, _utils3.highlightLabel)({
46
- item: item,
47
- labelKey: labelKey,
48
- searchKeyword: searchKeyword,
49
- render: function render(patch, index) {
50
- return /*#__PURE__*/_react.default.createElement("span", {
51
- key: index,
52
- className: prefix('match')
53
- }, patch);
54
- }
55
- });
43
+ var nodes = (0, _utils2.getNodeParents)(item);
44
+ var label = /*#__PURE__*/_react.default.createElement(_Highlight.default, {
45
+ as: "span",
46
+ query: searchKeyword
47
+ }, item[labelKey]);
56
48
  nodes.push((0, _extends3.default)({}, item, (_extends2 = {}, _extends2[labelKey] = label, _extends2)));
57
49
  var active = value.some(function (value) {
58
50
  if (cascade) {
@@ -9,6 +9,20 @@ var _uniq = _interopRequireDefault(require("lodash/uniq"));
9
9
  var _remove = _interopRequireDefault(require("lodash/remove"));
10
10
  var _utils = require("../../utils");
11
11
  var _utils2 = require("../utils");
12
+ /**
13
+ * Get all parents of a node
14
+ * @param node
15
+ */
16
+ var getParents = function getParents(node) {
17
+ var parents = [];
18
+ if (!node.parent) {
19
+ return parents;
20
+ }
21
+ parents.push(node.parent);
22
+ parents = parents.concat(getParents(node.parent));
23
+ return parents;
24
+ };
25
+
12
26
  /**
13
27
  * A hook that converts the value into a cascading value
14
28
  * @param props
@@ -43,7 +57,7 @@ function useCascadeValue(props, flattenData) {
43
57
  var splitValue = (0, _react.useCallback)(function (item, checked, value) {
44
58
  var itemValue = item[valueKey];
45
59
  var childrenValue = getChildrenValue(item);
46
- var parents = (0, _utils2.getParents)(item);
60
+ var parents = getParents(item);
47
61
  var nextValue = [].concat(value);
48
62
  var removedValue = [];
49
63
  if (checked) {
@@ -6,7 +6,7 @@ exports.__esModule = true;
6
6
  exports.default = void 0;
7
7
  var _react = require("react");
8
8
  var _slice = _interopRequireDefault(require("lodash/slice"));
9
- var _treeUtils = require("../../utils/treeUtils");
9
+ var _utils = require("../../Tree/utils");
10
10
  /**
11
11
  * A hook for column data
12
12
  * @param flattenData
@@ -35,7 +35,7 @@ function useColumnData(flattenData) {
35
35
  setColumnData([].concat((0, _slice.default)(columnData, 0, index)));
36
36
  }
37
37
  function enforceUpdateColumnData(nextData) {
38
- var nextFlattenData = (0, _treeUtils.UNSAFE_flattenTree)(nextData);
38
+ var nextFlattenData = (0, _utils.UNSAFE_flattenTree)(nextData);
39
39
  setColumnData([nextFlattenData.filter(function (item) {
40
40
  return !item.parent;
41
41
  })]);
@@ -4,14 +4,14 @@
4
4
  exports.__esModule = true;
5
5
  exports.default = void 0;
6
6
  var _react = require("react");
7
- var _treeUtils = require("../../utils/treeUtils");
7
+ var _utils = require("../../Tree/utils");
8
8
  var _attachParent = require("../../utils/attachParent");
9
9
  /**
10
10
  * A hook to flatten tree structure data
11
11
  */
12
12
  function useFlattenData(data, itemKeys) {
13
13
  var childrenKey = itemKeys.childrenKey;
14
- var _useState = (0, _react.useState)((0, _treeUtils.UNSAFE_flattenTree)(data, itemKeys.childrenKey)),
14
+ var _useState = (0, _react.useState)((0, _utils.UNSAFE_flattenTree)(data, itemKeys.childrenKey)),
15
15
  flattenData = _useState[0],
16
16
  setFlattenData = _useState[1];
17
17
  var addFlattenData = (0, _react.useCallback)(function (children, parent) {
@@ -22,7 +22,7 @@ function useFlattenData(data, itemKeys) {
22
22
  setFlattenData([].concat(flattenData, nodes));
23
23
  }, [childrenKey, flattenData]);
24
24
  (0, _react.useEffect)(function () {
25
- setFlattenData((0, _treeUtils.UNSAFE_flattenTree)(data, itemKeys.childrenKey));
25
+ setFlattenData((0, _utils.UNSAFE_flattenTree)(data, itemKeys.childrenKey));
26
26
  }, [data, itemKeys.childrenKey]);
27
27
  return {
28
28
  addFlattenData: addFlattenData,
@@ -5,6 +5,7 @@ exports.__esModule = true;
5
5
  exports.default = void 0;
6
6
  var _react = require("react");
7
7
  var _utils = require("../../utils");
8
+ var _utils2 = require("../../internals/utils");
8
9
  function useSearch(props) {
9
10
  var _useState = (0, _react.useState)(''),
10
11
  searchKeyword = _useState[0],
@@ -22,7 +23,7 @@ function useSearch(props) {
22
23
  })) {
23
24
  return false;
24
25
  }
25
- if (item[labelKey].match(new RegExp((0, _utils.getSafeRegExpString)(searchKeyword), 'i'))) {
26
+ if (item[labelKey].match(new RegExp((0, _utils2.getSafeRegExpString)(searchKeyword), 'i'))) {
26
27
  return true;
27
28
  }
28
29
  return false;
@@ -7,14 +7,14 @@ interface ItemKeys {
7
7
  labelKey: string;
8
8
  childrenKey: string;
9
9
  }
10
- declare type MayHasParent<T extends Record<string, unknown>> = T & {
10
+ export declare type MayHasParent<T extends Record<string, unknown>> = T & {
11
11
  parent?: MayHasParent<T>;
12
12
  };
13
13
  /**
14
- * Get all parents of a node
15
- * @param node
14
+ * get all ancestor nodes of given node
15
+ * @param {*} node
16
16
  */
17
- export declare const getParents: <T extends Record<string, unknown>>(node: MayHasParent<T>) => MayHasParent<T>[];
17
+ export declare function getNodeParents(node: any, parentKey?: string, valueKey?: string): any[];
18
18
  /**
19
19
  * Check if any child nodes are selected.
20
20
  * @param node
@@ -3,21 +3,31 @@
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
5
  exports.__esModule = true;
6
- exports.removeAllChildrenValue = exports.getOtherItemValuesByUnselectChild = exports.isSomeParentChecked = exports.isSomeChildChecked = exports.getParents = void 0;
6
+ exports.getNodeParents = getNodeParents;
7
+ exports.removeAllChildrenValue = exports.getOtherItemValuesByUnselectChild = exports.isSomeParentChecked = exports.isSomeChildChecked = void 0;
7
8
  var _remove = _interopRequireDefault(require("lodash/remove"));
8
9
  /**
9
- * Get all parents of a node
10
- * @param node
10
+ * get all ancestor nodes of given node
11
+ * @param {*} node
11
12
  */
12
- var getParents = function getParents(node) {
13
- var parents = [];
14
- if (!node.parent) {
15
- return parents;
13
+ function getNodeParents(node, parentKey, valueKey) {
14
+ if (parentKey === void 0) {
15
+ parentKey = 'parent';
16
16
  }
17
- parents.push(node.parent);
18
- parents = parents.concat(getParents(node.parent));
17
+ var parents = [];
18
+ var traverse = function traverse(node) {
19
+ if (node !== null && node !== void 0 && node[parentKey]) {
20
+ traverse(node[parentKey]);
21
+ if (valueKey) {
22
+ parents.push(node[parentKey][valueKey]);
23
+ } else {
24
+ parents.push(node[parentKey]);
25
+ }
26
+ }
27
+ };
28
+ traverse(node);
19
29
  return parents;
20
- };
30
+ }
21
31
 
22
32
  /**
23
33
  * Check if any child nodes are selected.
@@ -25,7 +35,6 @@ var getParents = function getParents(node) {
25
35
  * @param value
26
36
  * @param itemKeys
27
37
  */
28
- exports.getParents = getParents;
29
38
  var isSomeChildChecked = function isSomeChildChecked(node, value, itemKeys) {
30
39
  var childrenKey = itemKeys.childrenKey,
31
40
  valueKey = itemKeys.valueKey;
@@ -13,9 +13,9 @@ var _pick = _interopRequireDefault(require("lodash/pick"));
13
13
  var _omit = _interopRequireDefault(require("lodash/omit"));
14
14
  var _isFunction = _interopRequireDefault(require("lodash/isFunction"));
15
15
  var _isNil = _interopRequireDefault(require("lodash/isNil"));
16
- var _treeUtils = require("../utils/treeUtils");
17
- var _utils = require("../CascadeTree/utils");
18
- var _utils2 = require("../utils");
16
+ var _utils = require("../internals/Tree/utils");
17
+ var _utils2 = require("../CascadeTree/utils");
18
+ var _utils3 = require("../utils");
19
19
  var _Picker = require("../internals/Picker");
20
20
  var _propTypes2 = require("../internals/propTypes");
21
21
  var _hooks = require("../MultiCascadeTree/hooks");
@@ -95,10 +95,10 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
95
95
  target = _usePickerRef.target,
96
96
  overlay = _usePickerRef.overlay,
97
97
  searchInput = _usePickerRef.searchInput;
98
- var _useCustom = (0, _utils2.useCustom)('Picker', overrideLocale),
98
+ var _useCustom = (0, _utils3.useCustom)('Picker', overrideLocale),
99
99
  locale = _useCustom.locale,
100
100
  rtl = _useCustom.rtl;
101
- var _useClassNames = (0, _utils2.useClassNames)(classPrefix),
101
+ var _useClassNames = (0, _utils3.useClassNames)(classPrefix),
102
102
  prefix = _useClassNames.prefix,
103
103
  merge = _useClassNames.merge;
104
104
  var onSelectCallback = (0, _react.useCallback)(function (node, cascadePaths, event) {
@@ -120,7 +120,7 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
120
120
  setColumnData = _useSelect.setColumnData,
121
121
  setSelectedPaths = _useSelect.setSelectedPaths,
122
122
  handleSelect = _useSelect.handleSelect;
123
- var _useControlled = (0, _utils2.useControlled)(valueProp, defaultValue),
123
+ var _useControlled = (0, _utils3.useControlled)(valueProp, defaultValue),
124
124
  controlledValue = _useControlled[0];
125
125
  var itemKeys = {
126
126
  childrenKey: childrenKey,
@@ -144,7 +144,7 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
144
144
  });
145
145
  }) || [];
146
146
  var onFocusItemCallback = (0, _react.useCallback)(function (value) {
147
- var _getColumnsAndPaths = (0, _utils.getColumnsAndPaths)(data, flattenData.find(function (item) {
147
+ var _getColumnsAndPaths = (0, _utils2.getColumnsAndPaths)(data, flattenData.find(function (item) {
148
148
  return item[valueKey] === value;
149
149
  }), {
150
150
  getParent: function getParent() {
@@ -205,7 +205,7 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
205
205
  active = _useActive.active,
206
206
  handleEntered = _useActive.handleEntered,
207
207
  handleExited = _useActive.handleExited;
208
- var handleClean = (0, _utils2.useEventCallback)(function (event) {
208
+ var handleClean = (0, _utils3.useEventCallback)(function (event) {
209
209
  if (disabled || !target.current) {
210
210
  return;
211
211
  }
@@ -214,9 +214,9 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
214
214
  setColumnData([data]);
215
215
  onChange === null || onChange === void 0 ? void 0 : onChange([], event);
216
216
  });
217
- var handleMenuPressEnter = (0, _utils2.useEventCallback)(function (event) {
217
+ var handleMenuPressEnter = (0, _utils3.useEventCallback)(function (event) {
218
218
  var _overlay$current;
219
- var focusItem = (0, _treeUtils.findNodeOfTree)(data, function (item) {
219
+ var focusItem = (0, _utils.findNodeOfTree)(data, function (item) {
220
220
  return item[valueKey] === focusItemValue;
221
221
  });
222
222
  var checkbox = (_overlay$current = overlay.current) === null || _overlay$current === void 0 ? void 0 : _overlay$current.querySelector("[data-key=\"" + focusItemValue + "\"] [type=\"checkbox\"]");
@@ -264,7 +264,7 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
264
264
  });
265
265
  var classes = merge(className, DEPRECATED_menuClassName, popupClassName, prefix('popup-multi-cascader'));
266
266
  return /*#__PURE__*/_react.default.createElement(_Picker.PickerPopup, {
267
- ref: (0, _utils2.mergeRefs)(overlay, speakerRef),
267
+ ref: (0, _utils3.mergeRefs)(overlay, speakerRef),
268
268
  className: classes,
269
269
  style: styles,
270
270
  target: trigger,
@@ -353,7 +353,7 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
353
353
  appearance: appearance,
354
354
  disabled: disabled,
355
355
  ref: target,
356
- onClean: (0, _utils2.createChainedFunction)(handleClean, onClean),
356
+ onClean: (0, _utils3.createChainedFunction)(handleClean, onClean),
357
357
  onKeyDown: onPickerKeyDown,
358
358
  cleanable: cleanable && !disabled,
359
359
  hasValue: hasValue,
@@ -11,7 +11,6 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
11
11
  var _react = _interopRequireWildcard(require("react"));
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var _pick = _interopRequireDefault(require("lodash/pick"));
14
- var _isUndefined = _interopRequireDefault(require("lodash/isUndefined"));
15
14
  var _isNil = _interopRequireDefault(require("lodash/isNil"));
16
15
  var _isFunction = _interopRequireDefault(require("lodash/isFunction"));
17
16
  var _omit = _interopRequireDefault(require("lodash/omit"));
@@ -236,11 +235,8 @@ var SelectPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
236
235
  listItemAs: _Picker.ListItem,
237
236
  activeItemValues: [value],
238
237
  focusItemValue: focusItemValue,
239
- data: items
240
- // FIXME-Doma
241
- // `group` is redundant so long as `groupBy` exists
242
- ,
243
- group: !(0, _isUndefined.default)(groupBy),
238
+ data: items,
239
+ query: searchKeyword,
244
240
  groupBy: groupBy,
245
241
  onSelect: handleItemSelect,
246
242
  onGroupTitleClick: onGroupTitleClick,
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const IndentLine: () => JSX.Element;
3
+ export default IndentLine;
@@ -0,0 +1,18 @@
1
+ 'use client';
2
+ "use strict";
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ exports.__esModule = true;
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _utils = require("../utils");
9
+ var IndentLine = function IndentLine() {
10
+ var _useClassNames = (0, _utils.useClassNames)('tree'),
11
+ prefix = _useClassNames.prefix;
12
+ return /*#__PURE__*/_react.default.createElement("span", {
13
+ className: prefix('indent-line'),
14
+ "data-testid": "indent-line"
15
+ });
16
+ };
17
+ var _default = IndentLine;
18
+ exports.default = _default;