rsuite 5.39.0 → 5.41.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 (890) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/Navbar/styles/index.less +1 -1
  3. package/SelectPicker/styles/index.less +4 -8
  4. package/cjs/@types/common.js +1 -0
  5. package/cjs/@types/utils.js +12 -2
  6. package/cjs/Affix/Affix.js +39 -59
  7. package/cjs/Affix/index.js +1 -3
  8. package/cjs/Animation/Bounce.js +4 -13
  9. package/cjs/Animation/Collapse.js +19 -40
  10. package/cjs/Animation/Fade.js +6 -15
  11. package/cjs/Animation/Slide.js +6 -15
  12. package/cjs/Animation/Transition.js +16 -83
  13. package/cjs/Animation/index.js +1 -7
  14. package/cjs/Animation/utils.js +1 -6
  15. package/cjs/AutoComplete/AutoComplete.js +55 -90
  16. package/cjs/AutoComplete/index.js +1 -3
  17. package/cjs/AutoComplete/utils.js +1 -9
  18. package/cjs/Avatar/Avatar.js +18 -32
  19. package/cjs/Avatar/index.js +1 -3
  20. package/cjs/AvatarGroup/AvatarGroup.js +13 -27
  21. package/cjs/AvatarGroup/index.js +1 -3
  22. package/cjs/Badge/Badge.js +14 -27
  23. package/cjs/Badge/index.js +1 -3
  24. package/cjs/Breadcrumb/Breadcrumb.js +19 -41
  25. package/cjs/Breadcrumb/BreadcrumbItem.js +14 -26
  26. package/cjs/Breadcrumb/index.js +1 -3
  27. package/cjs/Button/Button.js +22 -40
  28. package/cjs/Button/index.js +1 -3
  29. package/cjs/ButtonGroup/ButtonGroup.js +15 -26
  30. package/cjs/ButtonGroup/ButtonGroupContext.js +1 -4
  31. package/cjs/ButtonGroup/index.js +1 -4
  32. package/cjs/ButtonToolbar/ButtonToolbar.js +10 -20
  33. package/cjs/ButtonToolbar/index.js +1 -3
  34. package/cjs/Calendar/Calendar.js +24 -43
  35. package/cjs/Calendar/CalendarBody.js +14 -28
  36. package/cjs/Calendar/CalendarContainer.js +46 -69
  37. package/cjs/Calendar/CalendarContext.js +1 -6
  38. package/cjs/Calendar/CalendarHeader.js +32 -59
  39. package/cjs/Calendar/MonthDropdown.js +22 -45
  40. package/cjs/Calendar/MonthDropdownItem.js +16 -31
  41. package/cjs/Calendar/Table.js +10 -21
  42. package/cjs/Calendar/TableHeaderRow.js +11 -25
  43. package/cjs/Calendar/TableRow.js +35 -66
  44. package/cjs/Calendar/TimeDropdown.js +24 -64
  45. package/cjs/Calendar/index.js +1 -8
  46. package/cjs/Calendar/types.js +1 -0
  47. package/cjs/Calendar/useCalendarDate.js +3 -13
  48. package/cjs/Calendar/useCalendarState.js +3 -8
  49. package/cjs/Carousel/Carousel.js +40 -65
  50. package/cjs/Carousel/index.js +1 -3
  51. package/cjs/Cascader/Cascader.js +126 -197
  52. package/cjs/Cascader/DropdownMenu.js +33 -65
  53. package/cjs/Cascader/index.js +1 -3
  54. package/cjs/Cascader/utils.js +13 -24
  55. package/cjs/CheckPicker/CheckPicker.js +105 -156
  56. package/cjs/CheckPicker/index.js +1 -3
  57. package/cjs/CheckTree/index.js +1 -8
  58. package/cjs/CheckTreePicker/CheckTreeNode.js +28 -54
  59. package/cjs/CheckTreePicker/CheckTreePicker.js +166 -248
  60. package/cjs/CheckTreePicker/index.js +1 -3
  61. package/cjs/CheckTreePicker/utils.d.ts +1 -1
  62. package/cjs/CheckTreePicker/utils.js +14 -54
  63. package/cjs/Checkbox/Checkbox.js +48 -77
  64. package/cjs/Checkbox/index.js +1 -3
  65. package/cjs/CheckboxGroup/CheckboxGroup.js +20 -38
  66. package/cjs/CheckboxGroup/CheckboxGroupContext.js +1 -4
  67. package/cjs/CheckboxGroup/index.js +1 -4
  68. package/cjs/CloseButton/CloseButton.js +10 -20
  69. package/cjs/CloseButton/index.js +1 -3
  70. package/cjs/Col/Col.js +10 -23
  71. package/cjs/Col/index.js +1 -3
  72. package/cjs/Container/Container.js +11 -24
  73. package/cjs/Container/index.js +1 -3
  74. package/cjs/Content/Content.js +1 -3
  75. package/cjs/Content/index.js +1 -3
  76. package/cjs/CustomProvider/CustomProvider.js +13 -28
  77. package/cjs/CustomProvider/FormattedDate.js +3 -9
  78. package/cjs/CustomProvider/index.js +1 -6
  79. package/cjs/DOMHelper/index.js +1 -7
  80. package/cjs/DOMHelper/isElement.js +1 -2
  81. package/cjs/DatePicker/DatePicker.js +108 -161
  82. package/cjs/DatePicker/PredefinedRanges.js +12 -29
  83. package/cjs/DatePicker/Toolbar.js +20 -36
  84. package/cjs/DatePicker/index.js +1 -3
  85. package/cjs/DatePicker/types.js +1 -0
  86. package/cjs/DatePicker/utils.js +5 -13
  87. package/cjs/DateRangePicker/Calendar.js +18 -28
  88. package/cjs/DateRangePicker/DateRangePicker.js +128 -207
  89. package/cjs/DateRangePicker/DateRangePickerContext.js +1 -6
  90. package/cjs/DateRangePicker/disabledDateUtils.js +9 -32
  91. package/cjs/DateRangePicker/index.js +1 -3
  92. package/cjs/DateRangePicker/types.js +1 -0
  93. package/cjs/DateRangePicker/utils.js +7 -20
  94. package/cjs/Disclosure/Disclosure.js +14 -34
  95. package/cjs/Disclosure/DisclosureButton.js +4 -12
  96. package/cjs/Disclosure/DisclosureContent.js +1 -5
  97. package/cjs/Disclosure/DisclosureContext.js +1 -6
  98. package/cjs/Disclosure/index.js +1 -3
  99. package/cjs/Disclosure/useDisclosureContext.js +1 -6
  100. package/cjs/Divider/Divider.js +11 -20
  101. package/cjs/Divider/index.js +1 -3
  102. package/cjs/Drawer/Drawer.js +10 -27
  103. package/cjs/Drawer/index.js +1 -3
  104. package/cjs/Dropdown/Dropdown.js +35 -68
  105. package/cjs/Dropdown/DropdownContext.js +1 -4
  106. package/cjs/Dropdown/DropdownItem.js +22 -49
  107. package/cjs/Dropdown/DropdownMenu.js +36 -63
  108. package/cjs/Dropdown/DropdownSeparator.js +8 -17
  109. package/cjs/Dropdown/DropdownState.js +1 -10
  110. package/cjs/Dropdown/DropdownToggle.js +17 -29
  111. package/cjs/Dropdown/index.js +1 -3
  112. package/cjs/Dropdown/useRenderDropdownItem.js +1 -5
  113. package/cjs/FlexboxGrid/FlexboxGrid.js +12 -22
  114. package/cjs/FlexboxGrid/FlexboxGridItem.js +12 -22
  115. package/cjs/FlexboxGrid/index.js +1 -3
  116. package/cjs/Footer/Footer.js +1 -3
  117. package/cjs/Footer/index.js +1 -3
  118. package/cjs/Form/Form.js +36 -76
  119. package/cjs/Form/FormContext.js +1 -8
  120. package/cjs/Form/index.js +1 -4
  121. package/cjs/Form/useFormClassNames.js +11 -14
  122. package/cjs/Form/useSchemaModel.js +2 -6
  123. package/cjs/FormControl/FormControl.js +50 -82
  124. package/cjs/FormControl/index.js +1 -3
  125. package/cjs/FormControl/useRegisterModel.js +1 -3
  126. package/cjs/FormControlLabel/FormControlLabel.js +10 -22
  127. package/cjs/FormControlLabel/index.js +1 -3
  128. package/cjs/FormErrorMessage/FormErrorMessage.js +12 -27
  129. package/cjs/FormErrorMessage/index.js +1 -3
  130. package/cjs/FormGroup/FormGroup.js +9 -21
  131. package/cjs/FormGroup/index.js +1 -3
  132. package/cjs/FormHelpText/FormHelpText.js +11 -28
  133. package/cjs/FormHelpText/index.js +1 -3
  134. package/cjs/Grid/Grid.js +10 -19
  135. package/cjs/Grid/index.js +1 -3
  136. package/cjs/Header/Header.js +1 -3
  137. package/cjs/Header/index.js +1 -3
  138. package/cjs/IconButton/IconButton.js +11 -21
  139. package/cjs/IconButton/index.js +1 -3
  140. package/cjs/Input/Input.js +26 -43
  141. package/cjs/Input/index.js +1 -3
  142. package/cjs/InputGroup/InputGroup.js +23 -39
  143. package/cjs/InputGroup/InputGroupAddon.js +9 -18
  144. package/cjs/InputGroup/InputGroupButton.js +7 -17
  145. package/cjs/InputGroup/index.js +1 -3
  146. package/cjs/InputNumber/InputNumber.js +42 -88
  147. package/cjs/InputNumber/index.js +1 -3
  148. package/cjs/InputPicker/InputAutosize.js +17 -42
  149. package/cjs/InputPicker/InputPicker.js +149 -250
  150. package/cjs/InputPicker/InputSearch.js +15 -28
  151. package/cjs/InputPicker/index.js +1 -3
  152. package/cjs/List/List.js +37 -51
  153. package/cjs/List/ListContext.js +1 -5
  154. package/cjs/List/ListItem.js +26 -40
  155. package/cjs/List/helper/AutoScroller.js +11 -21
  156. package/cjs/List/helper/useManager.js +1 -8
  157. package/cjs/List/helper/useSortHelper.js +58 -82
  158. package/cjs/List/helper/utils.js +6 -19
  159. package/cjs/List/index.js +1 -3
  160. package/cjs/Loader/Loader.js +17 -26
  161. package/cjs/Loader/index.js +1 -3
  162. package/cjs/MaskedInput/MaskedInput.js +2 -8
  163. package/cjs/MaskedInput/TextMask.js +14 -23
  164. package/cjs/MaskedInput/adjustCaretPosition.js +99 -70
  165. package/cjs/MaskedInput/conformToMask.js +79 -73
  166. package/cjs/MaskedInput/createTextMaskInputElement.js +65 -71
  167. package/cjs/MaskedInput/index.js +1 -3
  168. package/cjs/MaskedInput/types.js +1 -0
  169. package/cjs/MaskedInput/utilities.js +1 -8
  170. package/cjs/Menu/Menu.js +35 -79
  171. package/cjs/Menu/MenuContext.js +1 -8
  172. package/cjs/Menu/MenuItem.js +15 -26
  173. package/cjs/Menu/Menubar.js +13 -32
  174. package/cjs/Menu/index.js +1 -3
  175. package/cjs/Menu/useMenu.js +5 -34
  176. package/cjs/Message/Message.js +23 -45
  177. package/cjs/Message/index.js +1 -3
  178. package/cjs/Modal/Modal.js +70 -91
  179. package/cjs/Modal/ModalBody.js +11 -25
  180. package/cjs/Modal/ModalContext.js +1 -4
  181. package/cjs/Modal/ModalDialog.js +14 -26
  182. package/cjs/Modal/ModalFooter.js +1 -3
  183. package/cjs/Modal/ModalHeader.js +14 -29
  184. package/cjs/Modal/ModalTitle.js +9 -20
  185. package/cjs/Modal/index.js +1 -3
  186. package/cjs/Modal/utils.js +8 -19
  187. package/cjs/MultiCascader/DropdownMenu.js +38 -64
  188. package/cjs/MultiCascader/MultiCascader.js +129 -192
  189. package/cjs/MultiCascader/index.js +1 -3
  190. package/cjs/MultiCascader/utils.js +44 -106
  191. package/cjs/Nav/Nav.js +27 -69
  192. package/cjs/Nav/NavContext.js +1 -4
  193. package/cjs/Nav/NavDropdown.js +28 -60
  194. package/cjs/Nav/NavDropdownItem.js +20 -42
  195. package/cjs/Nav/NavDropdownMenu.js +26 -54
  196. package/cjs/Nav/NavDropdownToggle.js +12 -26
  197. package/cjs/Nav/NavItem.js +20 -39
  198. package/cjs/Nav/NavMenu.js +2 -28
  199. package/cjs/Nav/index.js +1 -3
  200. package/cjs/Navbar/Navbar.js +10 -23
  201. package/cjs/Navbar/NavbarBody.js +1 -6
  202. package/cjs/Navbar/NavbarBrand.js +1 -3
  203. package/cjs/Navbar/NavbarDropdown.js +25 -49
  204. package/cjs/Navbar/NavbarDropdownItem.js +18 -44
  205. package/cjs/Navbar/NavbarDropdownMenu.js +22 -51
  206. package/cjs/Navbar/NavbarDropdownToggle.js +12 -25
  207. package/cjs/Navbar/NavbarHeader.js +1 -6
  208. package/cjs/Navbar/NavbarItem.js +19 -35
  209. package/cjs/Navbar/index.js +1 -3
  210. package/cjs/Notification/Notification.js +20 -43
  211. package/cjs/Notification/index.js +1 -3
  212. package/cjs/Overlay/Modal.js +40 -79
  213. package/cjs/Overlay/ModalManager.js +1 -26
  214. package/cjs/Overlay/Overlay.js +28 -50
  215. package/cjs/Overlay/OverlayContext.js +1 -4
  216. package/cjs/Overlay/OverlayTrigger.js +67 -116
  217. package/cjs/Overlay/Position.js +25 -64
  218. package/cjs/Overlay/index.js +1 -3
  219. package/cjs/Overlay/positionUtils.js +25 -86
  220. package/cjs/Pagination/Pagination.js +30 -70
  221. package/cjs/Pagination/PaginationButton.js +15 -29
  222. package/cjs/Pagination/PaginationGroup.js +38 -63
  223. package/cjs/Pagination/index.js +1 -3
  224. package/cjs/Panel/Panel.js +37 -61
  225. package/cjs/Panel/index.js +1 -3
  226. package/cjs/PanelGroup/PanelGroup.js +16 -29
  227. package/cjs/PanelGroup/index.js +1 -3
  228. package/cjs/Picker/DropdownMenu.js +50 -93
  229. package/cjs/Picker/DropdownMenuCheckItem.js +22 -33
  230. package/cjs/Picker/DropdownMenuGroup.js +10 -22
  231. package/cjs/Picker/DropdownMenuItem.js +15 -26
  232. package/cjs/Picker/PickerOverlay.js +12 -28
  233. package/cjs/Picker/PickerToggle.js +57 -89
  234. package/cjs/Picker/PickerToggleTrigger.js +8 -19
  235. package/cjs/Picker/SearchBar.js +14 -26
  236. package/cjs/Picker/SelectedElement.js +9 -17
  237. package/cjs/Picker/ToggleButton.js +1 -6
  238. package/cjs/Picker/index.js +1 -24
  239. package/cjs/Picker/propTypes.js +1 -7
  240. package/cjs/Picker/types.js +1 -0
  241. package/cjs/Picker/utils.js +94 -200
  242. package/cjs/Placeholder/Placeholder.js +1 -5
  243. package/cjs/Placeholder/PlaceholderGraph.js +13 -22
  244. package/cjs/Placeholder/PlaceholderGrid.js +18 -34
  245. package/cjs/Placeholder/PlaceholderParagraph.js +17 -29
  246. package/cjs/Placeholder/index.js +1 -3
  247. package/cjs/Plaintext/Plaintext.js +14 -23
  248. package/cjs/Plaintext/index.js +1 -3
  249. package/cjs/Popover/Popover.js +16 -27
  250. package/cjs/Popover/index.js +1 -3
  251. package/cjs/Progress/Progress.js +1 -4
  252. package/cjs/Progress/ProgressCircle.js +30 -47
  253. package/cjs/Progress/ProgressLine.js +19 -29
  254. package/cjs/Progress/index.js +1 -3
  255. package/cjs/Radio/Radio.js +42 -62
  256. package/cjs/Radio/index.js +1 -3
  257. package/cjs/RadioGroup/RadioGroup.js +22 -37
  258. package/cjs/RadioGroup/index.js +1 -3
  259. package/cjs/RadioTile/RadioTile.js +30 -47
  260. package/cjs/RadioTile/index.js +1 -3
  261. package/cjs/RadioTileGroup/RadioTileGroup.js +17 -32
  262. package/cjs/RadioTileGroup/index.js +1 -3
  263. package/cjs/RangeSlider/RangeSlider.js +63 -104
  264. package/cjs/RangeSlider/index.js +1 -3
  265. package/cjs/Rate/Character.js +16 -31
  266. package/cjs/Rate/Rate.js +35 -62
  267. package/cjs/Rate/index.js +1 -3
  268. package/cjs/Rate/utils.js +1 -6
  269. package/cjs/Ripple/Ripple.js +16 -40
  270. package/cjs/Ripple/index.js +1 -3
  271. package/cjs/Row/Row.js +11 -22
  272. package/cjs/Row/index.js +1 -3
  273. package/cjs/SafeAnchor/SafeAnchor.js +8 -19
  274. package/cjs/SafeAnchor/index.js +1 -3
  275. package/cjs/Schema/Schema.js +1 -2
  276. package/cjs/Schema/index.js +1 -3
  277. package/cjs/SelectPicker/SelectPicker.js +136 -170
  278. package/cjs/SelectPicker/index.js +1 -3
  279. package/cjs/Sidebar/Sidebar.js +13 -26
  280. package/cjs/Sidebar/index.js +1 -3
  281. package/cjs/Sidenav/ExpandedSidenavDropdown.js +32 -54
  282. package/cjs/Sidenav/ExpandedSidenavDropdownItem.js +19 -41
  283. package/cjs/Sidenav/ExpandedSidenavDropdownMenu.js +22 -46
  284. package/cjs/Sidenav/Node.js +1 -12
  285. package/cjs/Sidenav/Sidenav.js +22 -45
  286. package/cjs/Sidenav/SidenavBody.js +1 -3
  287. package/cjs/Sidenav/SidenavDropdown.js +39 -70
  288. package/cjs/Sidenav/SidenavDropdownCollapse.js +9 -22
  289. package/cjs/Sidenav/SidenavDropdownItem.js +19 -45
  290. package/cjs/Sidenav/SidenavDropdownMenu.js +26 -54
  291. package/cjs/Sidenav/SidenavDropdownToggle.js +12 -25
  292. package/cjs/Sidenav/SidenavHeader.js +1 -3
  293. package/cjs/Sidenav/SidenavItem.js +27 -55
  294. package/cjs/Sidenav/SidenavToggle.js +11 -31
  295. package/cjs/Sidenav/index.js +1 -3
  296. package/cjs/Slider/Graduated.js +14 -29
  297. package/cjs/Slider/Handle.js +27 -52
  298. package/cjs/Slider/Input.js +2 -8
  299. package/cjs/Slider/Mark.js +11 -20
  300. package/cjs/Slider/ProgressBar.js +14 -23
  301. package/cjs/Slider/Slider.js +51 -84
  302. package/cjs/Slider/index.js +1 -3
  303. package/cjs/Slider/utils.js +1 -6
  304. package/cjs/Stack/Stack.js +22 -35
  305. package/cjs/Stack/StackItem.js +11 -17
  306. package/cjs/Stack/index.js +1 -3
  307. package/cjs/Steps/StepItem.js +16 -32
  308. package/cjs/Steps/Steps.js +18 -32
  309. package/cjs/Steps/index.js +1 -3
  310. package/cjs/Table/Table.js +6 -16
  311. package/cjs/Table/index.js +1 -3
  312. package/cjs/Tag/Tag.js +16 -28
  313. package/cjs/Tag/index.js +1 -3
  314. package/cjs/TagGroup/TagGroup.js +1 -3
  315. package/cjs/TagGroup/index.js +1 -3
  316. package/cjs/TagInput/index.js +7 -14
  317. package/cjs/TagPicker/index.js +5 -12
  318. package/cjs/Timeline/Timeline.js +14 -29
  319. package/cjs/Timeline/TimelineItem.js +14 -23
  320. package/cjs/Timeline/index.js +1 -3
  321. package/cjs/Toggle/Toggle.js +26 -45
  322. package/cjs/Toggle/index.js +1 -3
  323. package/cjs/Tooltip/Tooltip.js +13 -22
  324. package/cjs/Tooltip/index.js +1 -3
  325. package/cjs/Tree/Tree.js +1 -10
  326. package/cjs/Tree/TreeContext.js +1 -4
  327. package/cjs/Tree/index.js +1 -3
  328. package/cjs/TreePicker/TreeNode.js +37 -60
  329. package/cjs/TreePicker/TreePicker.js +155 -231
  330. package/cjs/TreePicker/index.js +1 -3
  331. package/cjs/Uploader/UploadFileItem.js +37 -82
  332. package/cjs/Uploader/UploadTrigger.js +24 -46
  333. package/cjs/Uploader/Uploader.js +89 -141
  334. package/cjs/Uploader/index.js +1 -3
  335. package/cjs/Whisper/Whisper.js +8 -20
  336. package/cjs/Whisper/index.js +1 -3
  337. package/cjs/Windowing/AutoSizer.js +13 -33
  338. package/cjs/Windowing/List.d.ts +2 -2
  339. package/cjs/Windowing/List.js +6 -22
  340. package/cjs/Windowing/index.js +1 -7
  341. package/cjs/index.js +1 -164
  342. package/cjs/locales/ar_EG.js +1 -4
  343. package/cjs/locales/da_DK.js +1 -5
  344. package/cjs/locales/de_DE.js +1 -5
  345. package/cjs/locales/default.js +1 -5
  346. package/cjs/locales/en_GB.js +1 -3
  347. package/cjs/locales/en_US.js +1 -4
  348. package/cjs/locales/es_AR.js +1 -5
  349. package/cjs/locales/es_ES.js +1 -5
  350. package/cjs/locales/fa_IR.js +1 -4
  351. package/cjs/locales/fi_FI.js +1 -5
  352. package/cjs/locales/fr_FR.js +1 -4
  353. package/cjs/locales/hu_HU.js +1 -5
  354. package/cjs/locales/index.js +1 -47
  355. package/cjs/locales/it_IT.js +1 -5
  356. package/cjs/locales/ja_JP.js +1 -5
  357. package/cjs/locales/kk_KZ.js +1 -4
  358. package/cjs/locales/ko_KR.js +1 -5
  359. package/cjs/locales/ne_NP.js +1 -5
  360. package/cjs/locales/nl_NL.js +1 -4
  361. package/cjs/locales/pt_BR.js +1 -4
  362. package/cjs/locales/ru_RU.js +1 -4
  363. package/cjs/locales/sv_SE.js +1 -5
  364. package/cjs/locales/tr_TR.js +1 -4
  365. package/cjs/locales/zh_CN.js +1 -4
  366. package/cjs/locales/zh_TW.js +1 -4
  367. package/cjs/toaster/ToastContainer.js +29 -52
  368. package/cjs/toaster/ToastContext.js +1 -4
  369. package/cjs/toaster/index.js +1 -4
  370. package/cjs/toaster/toaster.js +4 -27
  371. package/cjs/toaster/useToaster.js +2 -8
  372. package/cjs/utils/BrowserDetection.js +7 -24
  373. package/cjs/utils/ReactChildren.js +2 -19
  374. package/cjs/utils/ajaxUpload.js +15 -33
  375. package/cjs/utils/appendTooltip.js +3 -9
  376. package/cjs/utils/attachParent.js +1 -1
  377. package/cjs/utils/clone.js +1 -2
  378. package/cjs/utils/composeFunctions.js +1 -3
  379. package/cjs/utils/constants.js +3 -8
  380. package/cjs/utils/createChainedFunction.js +2 -6
  381. package/cjs/utils/createComponent.js +12 -24
  382. package/cjs/utils/dateUtils.js +7 -121
  383. package/cjs/utils/deprecateComponent.js +1 -8
  384. package/cjs/utils/deprecatePropType.js +2 -9
  385. package/cjs/utils/dom.js +3 -2
  386. package/cjs/utils/events.js +2 -3
  387. package/cjs/utils/getDOMNode.js +16 -9
  388. package/cjs/utils/getDataGroupBy.d.ts +0 -23
  389. package/cjs/utils/getDataGroupBy.js +5 -44
  390. package/cjs/utils/getSafeRegExpString.js +1 -1
  391. package/cjs/utils/guid.js +1 -1
  392. package/cjs/utils/htmlPropsUtils.js +23 -20
  393. package/cjs/utils/index.js +1 -86
  394. package/cjs/utils/isOneOf.js +1 -2
  395. package/cjs/utils/mergeRefs.js +1 -2
  396. package/cjs/utils/placementPolyfill.js +2 -5
  397. package/cjs/utils/prefix.js +4 -15
  398. package/cjs/utils/previewFile.js +1 -6
  399. package/cjs/utils/propTypeChecker.js +1 -8
  400. package/cjs/utils/reactToString.js +1 -5
  401. package/cjs/utils/render.js +3 -10
  402. package/cjs/utils/scrollTopAnimation.js +1 -9
  403. package/cjs/utils/shallowEqual.js +8 -14
  404. package/cjs/utils/shallowEqualArray.js +1 -7
  405. package/cjs/utils/statusIcons.js +1 -9
  406. package/cjs/utils/stringToObject.js +1 -7
  407. package/cjs/utils/tplTransform.js +2 -7
  408. package/cjs/utils/treeUtils.d.ts +1 -1
  409. package/cjs/utils/treeUtils.js +119 -334
  410. package/cjs/utils/useClassNames.js +9 -15
  411. package/cjs/utils/useClickOutside.js +4 -8
  412. package/cjs/utils/useControlled.js +11 -7
  413. package/cjs/utils/useCustom.js +12 -25
  414. package/cjs/utils/useElementResize.js +1 -6
  415. package/cjs/utils/useEnsuredRef.js +1 -4
  416. package/cjs/utils/useEventCallback.js +1 -4
  417. package/cjs/utils/useEventListener.js +1 -5
  418. package/cjs/utils/useFocus.js +5 -6
  419. package/cjs/utils/useInternalId.js +1 -6
  420. package/cjs/utils/useIsMounted.js +1 -3
  421. package/cjs/utils/useMap.js +5 -7
  422. package/cjs/utils/useMount.js +1 -4
  423. package/cjs/utils/usePortal.js +7 -20
  424. package/cjs/utils/useRootClose.js +9 -19
  425. package/cjs/utils/useTimeout.js +3 -8
  426. package/cjs/utils/useToggleCaret.js +2 -14
  427. package/cjs/utils/useUniqueId.js +2 -9
  428. package/cjs/utils/useUpdateEffect.js +3 -5
  429. package/cjs/utils/useUpdatedRef.js +1 -2
  430. package/cjs/utils/useWillUnmount.js +3 -5
  431. package/cjs/utils/warnOnce.js +2 -2
  432. package/dist/rsuite-no-reset-rtl.css +23 -25
  433. package/dist/rsuite-no-reset-rtl.min.css +1 -1
  434. package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
  435. package/dist/rsuite-no-reset.css +23 -25
  436. package/dist/rsuite-no-reset.min.css +1 -1
  437. package/dist/rsuite-no-reset.min.css.map +1 -1
  438. package/dist/rsuite-rtl.css +23 -25
  439. package/dist/rsuite-rtl.min.css +1 -1
  440. package/dist/rsuite-rtl.min.css.map +1 -1
  441. package/dist/rsuite.css +23 -25
  442. package/dist/rsuite.js +407 -440
  443. package/dist/rsuite.js.map +1 -1
  444. package/dist/rsuite.min.css +1 -1
  445. package/dist/rsuite.min.css.map +1 -1
  446. package/dist/rsuite.min.js +1 -1
  447. package/dist/rsuite.min.js.map +1 -1
  448. package/esm/@types/common.js +1 -0
  449. package/esm/@types/utils.js +14 -2
  450. package/esm/Affix/Affix.js +39 -50
  451. package/esm/Affix/index.js +1 -0
  452. package/esm/Animation/Bounce.js +4 -5
  453. package/esm/Animation/Collapse.js +19 -26
  454. package/esm/Animation/Fade.js +6 -7
  455. package/esm/Animation/Slide.js +6 -7
  456. package/esm/Animation/Transition.js +16 -69
  457. package/esm/Animation/index.js +1 -0
  458. package/esm/Animation/utils.js +1 -2
  459. package/esm/AutoComplete/AutoComplete.js +55 -75
  460. package/esm/AutoComplete/index.js +1 -0
  461. package/esm/AutoComplete/utils.js +1 -4
  462. package/esm/Avatar/Avatar.js +18 -22
  463. package/esm/Avatar/index.js +1 -0
  464. package/esm/AvatarGroup/AvatarGroup.js +13 -16
  465. package/esm/AvatarGroup/index.js +1 -0
  466. package/esm/Badge/Badge.js +14 -19
  467. package/esm/Badge/index.js +1 -0
  468. package/esm/Breadcrumb/Breadcrumb.js +19 -30
  469. package/esm/Breadcrumb/BreadcrumbItem.js +14 -17
  470. package/esm/Breadcrumb/index.js +1 -0
  471. package/esm/Button/Button.js +22 -28
  472. package/esm/Button/index.js +1 -0
  473. package/esm/ButtonGroup/ButtonGroup.js +15 -16
  474. package/esm/ButtonGroup/ButtonGroupContext.js +1 -0
  475. package/esm/ButtonGroup/index.js +1 -0
  476. package/esm/ButtonToolbar/ButtonToolbar.js +10 -12
  477. package/esm/ButtonToolbar/index.js +1 -0
  478. package/esm/Calendar/Calendar.js +24 -29
  479. package/esm/Calendar/CalendarBody.js +14 -18
  480. package/esm/Calendar/CalendarContainer.js +46 -51
  481. package/esm/Calendar/CalendarContext.js +1 -0
  482. package/esm/Calendar/CalendarHeader.js +32 -41
  483. package/esm/Calendar/MonthDropdown.js +22 -27
  484. package/esm/Calendar/MonthDropdownItem.js +16 -20
  485. package/esm/Calendar/Table.js +10 -11
  486. package/esm/Calendar/TableHeaderRow.js +11 -15
  487. package/esm/Calendar/TableRow.js +36 -50
  488. package/esm/Calendar/TimeDropdown.js +24 -48
  489. package/esm/Calendar/index.js +1 -0
  490. package/esm/Calendar/types.js +1 -0
  491. package/esm/Calendar/useCalendarDate.js +3 -11
  492. package/esm/Calendar/useCalendarState.js +3 -6
  493. package/esm/Carousel/Carousel.js +40 -52
  494. package/esm/Carousel/index.js +1 -0
  495. package/esm/Cascader/Cascader.js +126 -178
  496. package/esm/Cascader/DropdownMenu.js +33 -45
  497. package/esm/Cascader/index.js +1 -0
  498. package/esm/Cascader/utils.js +13 -22
  499. package/esm/CheckPicker/CheckPicker.js +105 -139
  500. package/esm/CheckPicker/index.js +1 -0
  501. package/esm/CheckTree/index.js +1 -0
  502. package/esm/CheckTreePicker/CheckTreeNode.js +28 -44
  503. package/esm/CheckTreePicker/CheckTreePicker.js +166 -233
  504. package/esm/CheckTreePicker/index.js +1 -0
  505. package/esm/CheckTreePicker/utils.d.ts +1 -1
  506. package/esm/CheckTreePicker/utils.js +14 -37
  507. package/esm/Checkbox/Checkbox.js +48 -66
  508. package/esm/Checkbox/index.js +1 -0
  509. package/esm/CheckboxGroup/CheckboxGroup.js +20 -25
  510. package/esm/CheckboxGroup/CheckboxGroupContext.js +1 -0
  511. package/esm/CheckboxGroup/index.js +1 -0
  512. package/esm/CloseButton/CloseButton.js +10 -13
  513. package/esm/CloseButton/index.js +1 -0
  514. package/esm/Col/Col.js +10 -13
  515. package/esm/Col/index.js +1 -0
  516. package/esm/Container/Container.js +11 -13
  517. package/esm/Container/index.js +1 -0
  518. package/esm/Content/Content.js +1 -1
  519. package/esm/Content/index.js +1 -0
  520. package/esm/CustomProvider/CustomProvider.js +13 -16
  521. package/esm/CustomProvider/FormattedDate.js +3 -6
  522. package/esm/CustomProvider/index.js +1 -0
  523. package/esm/DOMHelper/index.js +1 -2
  524. package/esm/DOMHelper/isElement.js +1 -1
  525. package/esm/DatePicker/DatePicker.js +108 -131
  526. package/esm/DatePicker/PredefinedRanges.js +12 -19
  527. package/esm/DatePicker/Toolbar.js +20 -26
  528. package/esm/DatePicker/index.js +1 -0
  529. package/esm/DatePicker/types.js +1 -0
  530. package/esm/DatePicker/utils.js +5 -8
  531. package/esm/DateRangePicker/Calendar.js +18 -18
  532. package/esm/DateRangePicker/DateRangePicker.js +128 -184
  533. package/esm/DateRangePicker/DateRangePickerContext.js +1 -0
  534. package/esm/DateRangePicker/disabledDateUtils.js +9 -24
  535. package/esm/DateRangePicker/index.js +1 -0
  536. package/esm/DateRangePicker/types.js +1 -0
  537. package/esm/DateRangePicker/utils.js +7 -12
  538. package/esm/Disclosure/Disclosure.js +13 -24
  539. package/esm/Disclosure/DisclosureButton.js +4 -7
  540. package/esm/Disclosure/DisclosureContent.js +1 -2
  541. package/esm/Disclosure/DisclosureContext.js +1 -2
  542. package/esm/Disclosure/index.js +1 -0
  543. package/esm/Disclosure/useDisclosureContext.js +1 -2
  544. package/esm/Divider/Divider.js +11 -12
  545. package/esm/Divider/index.js +1 -0
  546. package/esm/Drawer/Drawer.js +10 -11
  547. package/esm/Drawer/index.js +1 -0
  548. package/esm/Dropdown/Dropdown.js +35 -50
  549. package/esm/Dropdown/DropdownContext.js +1 -0
  550. package/esm/Dropdown/DropdownItem.js +22 -31
  551. package/esm/Dropdown/DropdownMenu.js +36 -49
  552. package/esm/Dropdown/DropdownSeparator.js +8 -10
  553. package/esm/Dropdown/DropdownState.js +1 -7
  554. package/esm/Dropdown/DropdownToggle.js +17 -17
  555. package/esm/Dropdown/index.js +1 -0
  556. package/esm/Dropdown/useRenderDropdownItem.js +1 -2
  557. package/esm/FlexboxGrid/FlexboxGrid.js +12 -13
  558. package/esm/FlexboxGrid/FlexboxGridItem.js +12 -14
  559. package/esm/FlexboxGrid/index.js +1 -0
  560. package/esm/Footer/Footer.js +1 -0
  561. package/esm/Footer/index.js +1 -0
  562. package/esm/Form/Form.js +36 -63
  563. package/esm/Form/FormContext.js +1 -0
  564. package/esm/Form/index.js +1 -0
  565. package/esm/Form/useFormClassNames.js +11 -13
  566. package/esm/Form/useSchemaModel.js +2 -4
  567. package/esm/FormControl/FormControl.js +48 -68
  568. package/esm/FormControl/index.js +1 -0
  569. package/esm/FormControl/useRegisterModel.js +1 -2
  570. package/esm/FormControlLabel/FormControlLabel.js +10 -12
  571. package/esm/FormControlLabel/index.js +1 -0
  572. package/esm/FormErrorMessage/FormErrorMessage.js +12 -18
  573. package/esm/FormErrorMessage/index.js +1 -0
  574. package/esm/FormGroup/FormGroup.js +9 -10
  575. package/esm/FormGroup/index.js +1 -0
  576. package/esm/FormHelpText/FormHelpText.js +11 -15
  577. package/esm/FormHelpText/index.js +1 -0
  578. package/esm/Grid/Grid.js +10 -11
  579. package/esm/Grid/index.js +1 -0
  580. package/esm/Header/Header.js +1 -0
  581. package/esm/Header/index.js +1 -0
  582. package/esm/IconButton/IconButton.js +11 -12
  583. package/esm/IconButton/index.js +1 -0
  584. package/esm/Input/Input.js +26 -32
  585. package/esm/Input/index.js +1 -0
  586. package/esm/InputGroup/InputGroup.js +23 -26
  587. package/esm/InputGroup/InputGroupAddon.js +9 -10
  588. package/esm/InputGroup/InputGroupButton.js +7 -9
  589. package/esm/InputGroup/index.js +1 -0
  590. package/esm/InputNumber/InputNumber.js +42 -72
  591. package/esm/InputNumber/index.js +1 -0
  592. package/esm/InputPicker/InputAutosize.js +17 -37
  593. package/esm/InputPicker/InputPicker.js +149 -225
  594. package/esm/InputPicker/InputSearch.js +15 -20
  595. package/esm/InputPicker/index.js +1 -0
  596. package/esm/List/List.js +37 -39
  597. package/esm/List/ListContext.js +1 -0
  598. package/esm/List/ListItem.js +26 -30
  599. package/esm/List/helper/AutoScroller.js +11 -21
  600. package/esm/List/helper/useManager.js +1 -6
  601. package/esm/List/helper/useSortHelper.js +58 -74
  602. package/esm/List/helper/utils.js +6 -11
  603. package/esm/List/index.js +1 -0
  604. package/esm/Loader/Loader.js +17 -19
  605. package/esm/Loader/index.js +1 -0
  606. package/esm/MaskedInput/MaskedInput.js +2 -1
  607. package/esm/MaskedInput/TextMask.js +12 -14
  608. package/esm/MaskedInput/adjustCaretPosition.js +99 -69
  609. package/esm/MaskedInput/conformToMask.js +79 -70
  610. package/esm/MaskedInput/createTextMaskInputElement.js +65 -62
  611. package/esm/MaskedInput/index.js +1 -0
  612. package/esm/MaskedInput/types.js +1 -0
  613. package/esm/MaskedInput/utilities.js +1 -6
  614. package/esm/Menu/Menu.js +35 -66
  615. package/esm/Menu/MenuContext.js +1 -4
  616. package/esm/Menu/MenuItem.js +15 -19
  617. package/esm/Menu/Menubar.js +13 -23
  618. package/esm/Menu/index.js +1 -0
  619. package/esm/Menu/useMenu.js +4 -27
  620. package/esm/Message/Message.js +23 -34
  621. package/esm/Message/index.js +1 -0
  622. package/esm/Modal/Modal.js +70 -69
  623. package/esm/Modal/ModalBody.js +11 -13
  624. package/esm/Modal/ModalContext.js +1 -0
  625. package/esm/Modal/ModalDialog.js +14 -18
  626. package/esm/Modal/ModalFooter.js +1 -0
  627. package/esm/Modal/ModalHeader.js +14 -16
  628. package/esm/Modal/ModalTitle.js +9 -10
  629. package/esm/Modal/index.js +1 -0
  630. package/esm/Modal/utils.js +8 -12
  631. package/esm/MultiCascader/DropdownMenu.js +38 -48
  632. package/esm/MultiCascader/MultiCascader.js +129 -174
  633. package/esm/MultiCascader/index.js +1 -0
  634. package/esm/MultiCascader/utils.js +44 -87
  635. package/esm/Nav/Nav.js +27 -45
  636. package/esm/Nav/NavContext.js +1 -0
  637. package/esm/Nav/NavDropdown.js +28 -44
  638. package/esm/Nav/NavDropdownItem.js +20 -31
  639. package/esm/Nav/NavDropdownMenu.js +26 -42
  640. package/esm/Nav/NavDropdownToggle.js +12 -15
  641. package/esm/Nav/NavItem.js +20 -28
  642. package/esm/Nav/NavMenu.js +2 -13
  643. package/esm/Nav/index.js +1 -0
  644. package/esm/Navbar/Navbar.js +10 -11
  645. package/esm/Navbar/NavbarBody.js +1 -0
  646. package/esm/Navbar/NavbarBrand.js +1 -0
  647. package/esm/Navbar/NavbarDropdown.js +25 -33
  648. package/esm/Navbar/NavbarDropdownItem.js +18 -30
  649. package/esm/Navbar/NavbarDropdownMenu.js +22 -37
  650. package/esm/Navbar/NavbarDropdownToggle.js +12 -14
  651. package/esm/Navbar/NavbarHeader.js +1 -0
  652. package/esm/Navbar/NavbarItem.js +19 -23
  653. package/esm/Navbar/index.js +1 -0
  654. package/esm/Notification/Notification.js +20 -32
  655. package/esm/Notification/index.js +1 -0
  656. package/esm/Overlay/Modal.js +40 -64
  657. package/esm/Overlay/ModalManager.js +1 -19
  658. package/esm/Overlay/Overlay.js +28 -37
  659. package/esm/Overlay/OverlayContext.js +1 -0
  660. package/esm/Overlay/OverlayTrigger.js +68 -101
  661. package/esm/Overlay/Position.js +25 -47
  662. package/esm/Overlay/index.js +1 -0
  663. package/esm/Overlay/positionUtils.js +25 -73
  664. package/esm/Pagination/Pagination.js +30 -55
  665. package/esm/Pagination/PaginationButton.js +15 -19
  666. package/esm/Pagination/PaginationGroup.js +38 -49
  667. package/esm/Pagination/index.js +1 -0
  668. package/esm/Panel/Panel.js +37 -49
  669. package/esm/Panel/index.js +1 -0
  670. package/esm/PanelGroup/PanelGroup.js +16 -18
  671. package/esm/PanelGroup/index.js +1 -0
  672. package/esm/Picker/DropdownMenu.js +50 -72
  673. package/esm/Picker/DropdownMenuCheckItem.js +22 -24
  674. package/esm/Picker/DropdownMenuGroup.js +10 -13
  675. package/esm/Picker/DropdownMenuItem.js +15 -18
  676. package/esm/Picker/PickerOverlay.js +12 -17
  677. package/esm/Picker/PickerToggle.js +57 -71
  678. package/esm/Picker/PickerToggleTrigger.js +8 -10
  679. package/esm/Picker/SearchBar.js +14 -15
  680. package/esm/Picker/SelectedElement.js +9 -14
  681. package/esm/Picker/ToggleButton.js +1 -0
  682. package/esm/Picker/index.js +1 -0
  683. package/esm/Picker/propTypes.js +1 -1
  684. package/esm/Picker/types.js +1 -0
  685. package/esm/Picker/utils.js +94 -182
  686. package/esm/Placeholder/Placeholder.js +1 -0
  687. package/esm/Placeholder/PlaceholderGraph.js +13 -16
  688. package/esm/Placeholder/PlaceholderGrid.js +18 -25
  689. package/esm/Placeholder/PlaceholderParagraph.js +17 -20
  690. package/esm/Placeholder/index.js +1 -0
  691. package/esm/Plaintext/Plaintext.js +14 -17
  692. package/esm/Plaintext/index.js +1 -0
  693. package/esm/Popover/Popover.js +16 -21
  694. package/esm/Popover/index.js +1 -0
  695. package/esm/Progress/Progress.js +1 -0
  696. package/esm/Progress/ProgressCircle.js +30 -39
  697. package/esm/Progress/ProgressLine.js +19 -21
  698. package/esm/Progress/index.js +1 -0
  699. package/esm/Radio/Radio.js +42 -52
  700. package/esm/Radio/index.js +1 -0
  701. package/esm/RadioGroup/RadioGroup.js +22 -25
  702. package/esm/RadioGroup/index.js +1 -0
  703. package/esm/RadioTile/RadioTile.js +30 -34
  704. package/esm/RadioTile/index.js +1 -0
  705. package/esm/RadioTileGroup/RadioTileGroup.js +17 -20
  706. package/esm/RadioTileGroup/index.js +1 -0
  707. package/esm/RangeSlider/RangeSlider.js +63 -86
  708. package/esm/RangeSlider/index.js +1 -0
  709. package/esm/Rate/Character.js +16 -21
  710. package/esm/Rate/Rate.js +35 -48
  711. package/esm/Rate/index.js +1 -0
  712. package/esm/Rate/utils.js +1 -2
  713. package/esm/Ripple/Ripple.js +16 -30
  714. package/esm/Ripple/index.js +1 -0
  715. package/esm/Row/Row.js +11 -14
  716. package/esm/Row/index.js +1 -0
  717. package/esm/SafeAnchor/SafeAnchor.js +8 -13
  718. package/esm/SafeAnchor/index.js +1 -0
  719. package/esm/Schema/Schema.js +1 -0
  720. package/esm/Schema/index.js +1 -0
  721. package/esm/SelectPicker/SelectPicker.js +137 -157
  722. package/esm/SelectPicker/index.js +1 -0
  723. package/esm/Sidebar/Sidebar.js +13 -18
  724. package/esm/Sidebar/index.js +1 -0
  725. package/esm/Sidenav/ExpandedSidenavDropdown.js +32 -35
  726. package/esm/Sidenav/ExpandedSidenavDropdownItem.js +19 -27
  727. package/esm/Sidenav/ExpandedSidenavDropdownMenu.js +22 -29
  728. package/esm/Sidenav/Node.js +1 -10
  729. package/esm/Sidenav/Sidenav.js +22 -28
  730. package/esm/Sidenav/SidenavBody.js +1 -0
  731. package/esm/Sidenav/SidenavDropdown.js +39 -52
  732. package/esm/Sidenav/SidenavDropdownCollapse.js +9 -13
  733. package/esm/Sidenav/SidenavDropdownItem.js +19 -31
  734. package/esm/Sidenav/SidenavDropdownMenu.js +26 -41
  735. package/esm/Sidenav/SidenavDropdownToggle.js +12 -14
  736. package/esm/Sidenav/SidenavHeader.js +1 -0
  737. package/esm/Sidenav/SidenavItem.js +27 -37
  738. package/esm/Sidenav/SidenavToggle.js +11 -18
  739. package/esm/Sidenav/index.js +1 -0
  740. package/esm/Slider/Graduated.js +14 -21
  741. package/esm/Slider/Handle.js +27 -39
  742. package/esm/Slider/Input.js +2 -2
  743. package/esm/Slider/Mark.js +11 -14
  744. package/esm/Slider/ProgressBar.js +14 -18
  745. package/esm/Slider/Slider.js +51 -67
  746. package/esm/Slider/index.js +1 -0
  747. package/esm/Slider/utils.js +1 -5
  748. package/esm/Stack/Stack.js +22 -27
  749. package/esm/Stack/StackItem.js +11 -11
  750. package/esm/Stack/index.js +1 -0
  751. package/esm/Steps/StepItem.js +16 -22
  752. package/esm/Steps/Steps.js +18 -22
  753. package/esm/Steps/index.js +1 -0
  754. package/esm/Table/Table.js +6 -7
  755. package/esm/Table/index.js +1 -0
  756. package/esm/Tag/Tag.js +16 -19
  757. package/esm/Tag/index.js +1 -0
  758. package/esm/TagGroup/TagGroup.js +1 -0
  759. package/esm/TagGroup/index.js +1 -0
  760. package/esm/TagInput/index.js +7 -7
  761. package/esm/TagPicker/index.js +5 -5
  762. package/esm/Timeline/Timeline.js +14 -19
  763. package/esm/Timeline/TimelineItem.js +14 -15
  764. package/esm/Timeline/index.js +1 -0
  765. package/esm/Toggle/Toggle.js +26 -35
  766. package/esm/Toggle/index.js +1 -0
  767. package/esm/Tooltip/Tooltip.js +13 -16
  768. package/esm/Tooltip/index.js +1 -0
  769. package/esm/Tree/Tree.js +1 -3
  770. package/esm/Tree/TreeContext.js +1 -0
  771. package/esm/Tree/index.js +1 -0
  772. package/esm/TreePicker/TreeNode.js +37 -49
  773. package/esm/TreePicker/TreePicker.js +155 -218
  774. package/esm/TreePicker/index.js +1 -0
  775. package/esm/Uploader/UploadFileItem.js +37 -68
  776. package/esm/Uploader/UploadTrigger.js +24 -38
  777. package/esm/Uploader/Uploader.js +90 -132
  778. package/esm/Uploader/index.js +1 -0
  779. package/esm/Whisper/Whisper.js +8 -10
  780. package/esm/Whisper/index.js +1 -0
  781. package/esm/Windowing/AutoSizer.js +13 -24
  782. package/esm/Windowing/List.d.ts +2 -2
  783. package/esm/Windowing/List.js +6 -15
  784. package/esm/Windowing/index.js +1 -0
  785. package/esm/index.js +3 -0
  786. package/esm/locales/ar_EG.js +1 -0
  787. package/esm/locales/da_DK.js +1 -1
  788. package/esm/locales/de_DE.js +1 -1
  789. package/esm/locales/default.js +1 -1
  790. package/esm/locales/en_GB.js +1 -0
  791. package/esm/locales/en_US.js +1 -0
  792. package/esm/locales/es_AR.js +1 -1
  793. package/esm/locales/es_ES.js +1 -1
  794. package/esm/locales/fa_IR.js +1 -0
  795. package/esm/locales/fi_FI.js +1 -1
  796. package/esm/locales/fr_FR.js +1 -0
  797. package/esm/locales/hu_HU.js +1 -1
  798. package/esm/locales/index.js +1 -0
  799. package/esm/locales/it_IT.js +1 -1
  800. package/esm/locales/ja_JP.js +1 -1
  801. package/esm/locales/kk_KZ.js +1 -0
  802. package/esm/locales/ko_KR.js +1 -1
  803. package/esm/locales/ne_NP.js +1 -1
  804. package/esm/locales/nl_NL.js +1 -0
  805. package/esm/locales/pt_BR.js +1 -0
  806. package/esm/locales/ru_RU.js +1 -0
  807. package/esm/locales/sv_SE.js +1 -1
  808. package/esm/locales/tr_TR.js +1 -0
  809. package/esm/locales/zh_CN.js +1 -0
  810. package/esm/locales/zh_TW.js +1 -0
  811. package/esm/toaster/ToastContainer.js +29 -42
  812. package/esm/toaster/ToastContext.js +1 -0
  813. package/esm/toaster/index.js +1 -0
  814. package/esm/toaster/toaster.js +4 -22
  815. package/esm/toaster/useToaster.js +3 -5
  816. package/esm/utils/BrowserDetection.js +9 -9
  817. package/esm/utils/ReactChildren.js +2 -8
  818. package/esm/utils/ajaxUpload.js +15 -32
  819. package/esm/utils/appendTooltip.js +3 -3
  820. package/esm/utils/attachParent.js +1 -0
  821. package/esm/utils/clone.js +1 -1
  822. package/esm/utils/composeFunctions.js +1 -1
  823. package/esm/utils/constants.js +4 -7
  824. package/esm/utils/createChainedFunction.js +2 -5
  825. package/esm/utils/createComponent.js +12 -16
  826. package/esm/utils/dateUtils.js +7 -23
  827. package/esm/utils/deprecateComponent.js +2 -2
  828. package/esm/utils/deprecatePropType.js +4 -6
  829. package/esm/utils/dom.js +3 -1
  830. package/esm/utils/events.js +2 -1
  831. package/esm/utils/getDOMNode.js +15 -8
  832. package/esm/utils/getDataGroupBy.d.ts +0 -23
  833. package/esm/utils/getDataGroupBy.js +5 -39
  834. package/esm/utils/getSafeRegExpString.js +1 -0
  835. package/esm/utils/guid.js +1 -0
  836. package/esm/utils/htmlPropsUtils.js +23 -14
  837. package/esm/utils/index.js +2 -1
  838. package/esm/utils/isOneOf.js +1 -1
  839. package/esm/utils/mergeRefs.js +1 -1
  840. package/esm/utils/placementPolyfill.js +2 -4
  841. package/esm/utils/prefix.js +4 -4
  842. package/esm/utils/previewFile.js +1 -3
  843. package/esm/utils/propTypeChecker.js +1 -3
  844. package/esm/utils/reactToString.js +1 -2
  845. package/esm/utils/render.js +3 -5
  846. package/esm/utils/scrollTopAnimation.js +1 -5
  847. package/esm/utils/shallowEqual.js +8 -13
  848. package/esm/utils/shallowEqualArray.js +1 -5
  849. package/esm/utils/statusIcons.js +1 -0
  850. package/esm/utils/stringToObject.js +3 -4
  851. package/esm/utils/tplTransform.js +2 -4
  852. package/esm/utils/treeUtils.d.ts +1 -1
  853. package/esm/utils/treeUtils.js +120 -272
  854. package/esm/utils/useClassNames.js +9 -9
  855. package/esm/utils/useClickOutside.js +4 -6
  856. package/esm/utils/useControlled.js +12 -6
  857. package/esm/utils/useCustom.js +12 -20
  858. package/esm/utils/useElementResize.js +2 -4
  859. package/esm/utils/useEnsuredRef.js +2 -3
  860. package/esm/utils/useEventCallback.js +2 -3
  861. package/esm/utils/useEventListener.js +2 -2
  862. package/esm/utils/useFocus.js +5 -4
  863. package/esm/utils/useInternalId.js +2 -3
  864. package/esm/utils/useIsMounted.js +1 -2
  865. package/esm/utils/useMap.js +5 -5
  866. package/esm/utils/useMount.js +1 -3
  867. package/esm/utils/usePortal.js +7 -13
  868. package/esm/utils/useRootClose.js +9 -13
  869. package/esm/utils/useTimeout.js +3 -7
  870. package/esm/utils/useToggleCaret.js +2 -7
  871. package/esm/utils/useUniqueId.js +2 -4
  872. package/esm/utils/useUpdateEffect.js +3 -4
  873. package/esm/utils/useUpdatedRef.js +2 -1
  874. package/esm/utils/useWillUnmount.js +4 -2
  875. package/esm/utils/warnOnce.js +2 -2
  876. package/package.json +2 -2
  877. package/styles/color-modes/light.less +4 -4
  878. package/styles/mixins/listbox.less +0 -2
  879. package/cjs/SelectPicker/Listbox.d.ts +0 -34
  880. package/cjs/SelectPicker/Listbox.js +0 -263
  881. package/cjs/SelectPicker/ListboxOption.d.ts +0 -11
  882. package/cjs/SelectPicker/ListboxOption.js +0 -50
  883. package/cjs/SelectPicker/ListboxOptionGroup.d.ts +0 -9
  884. package/cjs/SelectPicker/ListboxOptionGroup.js +0 -69
  885. package/esm/SelectPicker/Listbox.d.ts +0 -34
  886. package/esm/SelectPicker/Listbox.js +0 -240
  887. package/esm/SelectPicker/ListboxOption.d.ts +0 -11
  888. package/esm/SelectPicker/ListboxOption.js +0 -37
  889. package/esm/SelectPicker/ListboxOptionGroup.d.ts +0 -9
  890. package/esm/SelectPicker/ListboxOptionGroup.js +0 -53
@@ -1,9 +1,8 @@
1
+ 'use client';
1
2
  "use strict";
2
3
 
3
4
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
-
7
6
  exports.__esModule = true;
8
7
  exports.shouldShowNodeByParentExpanded = shouldShowNodeByParentExpanded;
9
8
  exports.UNSAFE_flattenTree = UNSAFE_flattenTree;
@@ -45,70 +44,47 @@ exports.getParentMap = getParentMap;
45
44
  exports.getKeyParentMap = getKeyParentMap;
46
45
  exports.getPathTowardsItem = getPathTowardsItem;
47
46
  exports.getScrollToIndex = exports.focusPreviousItem = exports.focusNextItem = exports.focusTreeNode = exports.getElementByDataKey = exports.getActiveItem = exports.getActiveIndex = exports.getFocusableItems = exports.WalkTreeStrategy = void 0;
48
-
49
47
  var _extends3 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
50
-
51
48
  var _isEmpty2 = _interopRequireDefault(require("lodash/isEmpty"));
52
-
53
49
  var _clone2 = _interopRequireDefault(require("lodash/clone"));
54
-
55
50
  var _isNil2 = _interopRequireDefault(require("lodash/isNil"));
56
-
57
51
  var _isArray2 = _interopRequireDefault(require("lodash/isArray"));
58
-
59
52
  var _omit2 = _interopRequireDefault(require("lodash/omit"));
60
-
61
53
  var _isUndefined2 = _interopRequireDefault(require("lodash/isUndefined"));
62
-
63
54
  var _intersection2 = _interopRequireDefault(require("lodash/intersection"));
64
-
65
55
  var _react = _interopRequireWildcard(require("react"));
66
-
67
56
  var _shallowEqualArray = _interopRequireDefault(require("../utils/shallowEqualArray"));
68
-
69
57
  var _utils = require("../CheckTreePicker/utils");
70
-
71
58
  var _utils2 = require("../utils");
72
-
73
59
  var _Picker = require("../Picker");
74
-
75
60
  var _reactToString = _interopRequireDefault(require("./reactToString"));
76
-
77
61
  var _constants = require("./constants");
78
-
79
62
  var _attachParent = require("./attachParent");
80
-
81
63
  function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
82
-
83
64
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
84
-
85
65
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
86
-
87
66
  // gap of tree node
88
67
  var TREE_NODE_GAP = 4;
68
+
89
69
  /**
90
70
  * according node parentNode expand state decide node whether to show
91
71
  * @param {*} expandItemValues
92
72
  * @param {*} parentKeys
93
73
  */
94
-
95
74
  function shouldShowNodeByParentExpanded(expandItemValues, parentKeys) {
96
75
  if (expandItemValues === void 0) {
97
76
  expandItemValues = [];
98
77
  }
99
-
100
78
  if (parentKeys === void 0) {
101
79
  parentKeys = [];
102
80
  }
103
-
104
81
  var intersectionKeys = (0, _intersection2.default)(expandItemValues, parentKeys);
105
-
106
82
  if (intersectionKeys.length === parentKeys.length) {
107
83
  return true;
108
84
  }
109
-
110
85
  return false;
111
86
  }
87
+
112
88
  /**
113
89
  * flatten tree structure to array
114
90
  * @param {*} tree
@@ -118,49 +94,37 @@ function shouldShowNodeByParentExpanded(expandItemValues, parentKeys) {
118
94
  * @deprecated This {@link UNSAFE_flattenTree} function is considered unsafe because it mutates `tree` argument in-place
119
95
  * Use {@link flattenTree} instead.
120
96
  */
121
-
122
-
123
97
  function UNSAFE_flattenTree(tree, childrenKey, executor) {
124
98
  if (childrenKey === void 0) {
125
99
  childrenKey = 'children';
126
100
  }
127
-
128
101
  var flattenData = [];
129
-
130
102
  var traverse = function traverse(data, parent) {
131
103
  if (!(0, _isArray2.default)(data)) {
132
104
  return;
133
105
  }
134
-
135
106
  data.forEach(function (item, index) {
136
107
  var node = typeof executor === 'function' ? executor(item, index) : item;
137
108
  flattenData.push((0, _attachParent.attachParent)(node, parent));
138
-
139
109
  if (item[childrenKey]) {
140
110
  traverse(item[childrenKey], item);
141
111
  }
142
112
  });
143
113
  };
144
-
145
114
  traverse(tree, null);
146
115
  return flattenData;
147
116
  }
148
-
149
117
  var WalkTreeStrategy;
150
118
  exports.WalkTreeStrategy = WalkTreeStrategy;
151
-
152
119
  (function (WalkTreeStrategy) {
153
120
  WalkTreeStrategy[WalkTreeStrategy["DFS"] = 0] = "DFS";
154
121
  WalkTreeStrategy[WalkTreeStrategy["BFS"] = 1] = "BFS";
155
122
  })(WalkTreeStrategy || (exports.WalkTreeStrategy = WalkTreeStrategy = {}));
156
-
157
123
  function flattenTree(rootNodes, getChildren, walkStrategy) {
158
124
  if (walkStrategy === void 0) {
159
125
  walkStrategy = WalkTreeStrategy.BFS;
160
126
  }
161
-
162
127
  var result = [];
163
-
164
128
  if (walkStrategy === WalkTreeStrategy.BFS) {
165
129
  walkTreeBfs(rootNodes, getChildren, function (node) {
166
130
  return result.push(node);
@@ -170,51 +134,41 @@ function flattenTree(rootNodes, getChildren, walkStrategy) {
170
134
  return result.push(node);
171
135
  });
172
136
  }
173
-
174
137
  return result;
175
138
  }
176
-
177
139
  function walkTreeBfs(rootNodes, getChildren, callback) {
178
140
  for (var queue = [].concat(rootNodes); queue.length > 0;) {
179
141
  var _node = queue.shift();
180
-
181
142
  callback(_node);
182
143
  var children = getChildren(_node);
183
-
184
144
  if (children) {
185
145
  queue.push.apply(queue, children);
186
146
  }
187
147
  }
188
148
  }
189
-
190
149
  function walkTreeDfs(rootNodes, getChildren, callback) {
191
150
  for (var _iterator = _createForOfIteratorHelperLoose(rootNodes), _step; !(_step = _iterator()).done;) {
192
151
  var _node2 = _step.value;
193
152
  callback(_node2);
194
153
  var children = getChildren(_node2);
195
-
196
154
  if (children) {
197
155
  walkTreeDfs(children, getChildren, callback);
198
156
  }
199
157
  }
200
158
  }
159
+
201
160
  /**
202
161
  * get all ancestor nodes of given node
203
162
  * @param {*} node
204
163
  */
205
-
206
-
207
164
  function getNodeParents(node, parentKey, valueKey) {
208
165
  if (parentKey === void 0) {
209
166
  parentKey = 'parent';
210
167
  }
211
-
212
168
  var parents = [];
213
-
214
169
  var traverse = function traverse(node) {
215
170
  if (node !== null && node !== void 0 && node[parentKey]) {
216
171
  traverse(node[parentKey]);
217
-
218
172
  if (valueKey) {
219
173
  parents.push(node[parentKey][valueKey]);
220
174
  } else {
@@ -222,63 +176,52 @@ function getNodeParents(node, parentKey, valueKey) {
222
176
  }
223
177
  }
224
178
  };
225
-
226
179
  traverse(node);
227
180
  return parents;
228
181
  }
182
+
229
183
  /**
230
184
  * get all parentKeys of given node
231
185
  * @param nodes
232
186
  * @param node
233
187
  * @param valueKey
234
188
  */
235
-
236
-
237
189
  function getNodeParentKeys(nodes, node, valueKey) {
238
190
  var parentKeys = [];
239
-
240
191
  var traverse = function traverse(node) {
241
192
  var _node$parent;
242
-
243
193
  if (node !== null && node !== void 0 && (_node$parent = node.parent) !== null && _node$parent !== void 0 && _node$parent.refKey) {
244
194
  var _node$parent2;
245
-
246
195
  traverse(nodes[node.parent.refKey]);
247
196
  parentKeys.push(node === null || node === void 0 ? void 0 : (_node$parent2 = node.parent) === null || _node$parent2 === void 0 ? void 0 : _node$parent2[valueKey]);
248
197
  }
249
198
  };
250
-
251
199
  traverse(node);
252
200
  return parentKeys;
253
201
  }
254
-
255
202
  function hasVisibleChildren(node, childrenKey) {
256
203
  if (!Array.isArray(node[childrenKey])) {
257
204
  return false;
258
205
  }
259
-
260
206
  return node[childrenKey].some(function (child) {
261
207
  return child.visible;
262
208
  });
263
209
  }
210
+
264
211
  /**
265
212
  * shallow equal array
266
213
  * @param a
267
214
  * @param b
268
215
  */
269
-
270
-
271
216
  function compareArray(a, b) {
272
217
  return (0, _isArray2.default)(a) && (0, _isArray2.default)(b) && !(0, _shallowEqualArray.default)(a, b);
273
218
  }
274
-
275
219
  function getDefaultExpandItemValues(data, props) {
276
220
  var valueKey = props.valueKey,
277
- defaultExpandAll = props.defaultExpandAll,
278
- childrenKey = props.childrenKey,
279
- _props$defaultExpandI = props.defaultExpandItemValues,
280
- defaultExpandItemValues = _props$defaultExpandI === void 0 ? [] : _props$defaultExpandI;
281
-
221
+ defaultExpandAll = props.defaultExpandAll,
222
+ childrenKey = props.childrenKey,
223
+ _props$defaultExpandI = props.defaultExpandItemValues,
224
+ defaultExpandItemValues = _props$defaultExpandI === void 0 ? [] : _props$defaultExpandI;
282
225
  if (defaultExpandAll) {
283
226
  return UNSAFE_flattenTree(data, childrenKey).filter(function (item) {
284
227
  return Array.isArray(item[childrenKey]) && item[childrenKey].length > 0;
@@ -286,134 +229,110 @@ function getDefaultExpandItemValues(data, props) {
286
229
  return item[valueKey];
287
230
  });
288
231
  }
289
-
290
232
  return defaultExpandItemValues;
291
233
  }
234
+
292
235
  /**
293
236
  * 获取 expandItemValues 的 value
294
237
  * @param props
295
238
  */
296
-
297
-
298
239
  function getExpandItemValues(props) {
299
240
  var expandItemValues = props.expandItemValues,
300
- defaultExpandItemValues = props.defaultExpandItemValues;
301
-
241
+ defaultExpandItemValues = props.defaultExpandItemValues;
302
242
  if (!(0, _isUndefined2.default)(expandItemValues) && Array.isArray(expandItemValues)) {
303
243
  return expandItemValues;
304
244
  }
305
-
306
245
  if (!(0, _isUndefined2.default)(defaultExpandItemValues) && Array.isArray(defaultExpandItemValues)) {
307
246
  return defaultExpandItemValues;
308
247
  }
309
-
310
248
  return [];
311
249
  }
250
+
312
251
  /**
313
252
  * get dragNode and it's children node keys
314
253
  * @param node
315
254
  * @param childrenKey
316
255
  * @param valueKey
317
256
  */
318
-
319
-
320
257
  function getDragNodeKeys(dragNode, childrenKey, valueKey) {
321
258
  var dragNodeKeys = [dragNode[valueKey]];
322
-
323
259
  var traverse = function traverse(data) {
324
260
  if ((data === null || data === void 0 ? void 0 : data.length) > 0) {
325
261
  data.forEach(function (node) {
326
262
  dragNodeKeys = dragNodeKeys.concat([node[valueKey]]);
327
-
328
263
  if (node[childrenKey]) {
329
264
  traverse(node[childrenKey]);
330
265
  }
331
266
  });
332
267
  }
333
268
  };
334
-
335
269
  traverse(dragNode[childrenKey]);
336
270
  return dragNodeKeys;
337
271
  }
338
-
339
272
  function calDropNodePosition(event, treeNodeElement) {
340
273
  var clientY = event.clientY;
341
-
342
274
  var _treeNodeElement$getB = treeNodeElement.getBoundingClientRect(),
343
- top = _treeNodeElement$getB.top,
344
- bottom = _treeNodeElement$getB.bottom;
345
-
346
- var gap = TREE_NODE_GAP; // bottom of node
275
+ top = _treeNodeElement$getB.top,
276
+ bottom = _treeNodeElement$getB.bottom;
277
+ var gap = TREE_NODE_GAP;
347
278
 
279
+ // bottom of node
348
280
  if (clientY >= bottom - gap && clientY <= bottom) {
349
281
  return _utils2.TREE_NODE_DROP_POSITION.DRAG_OVER_BOTTOM;
350
- } // top of node
351
-
282
+ }
352
283
 
284
+ // top of node
353
285
  if (clientY <= top + gap && clientY >= top) {
354
286
  return _utils2.TREE_NODE_DROP_POSITION.DRAG_OVER_TOP;
355
287
  }
356
-
357
288
  if (clientY >= top + gap && clientY <= bottom - gap) {
358
289
  return _utils2.TREE_NODE_DROP_POSITION.DRAG_OVER;
359
290
  }
360
-
361
291
  return -1;
362
292
  }
363
-
364
293
  function removeDragNode(data, params, _ref) {
365
294
  var valueKey = _ref.valueKey,
366
- childrenKey = _ref.childrenKey;
295
+ childrenKey = _ref.childrenKey;
367
296
  var dragNode = params.dragNode;
368
-
369
297
  var traverse = function traverse(items, parent) {
370
298
  for (var _index = 0; _index < items.length; _index += 1) {
371
299
  var _item = items[_index];
372
-
373
300
  if ((0, _utils2.shallowEqual)(_item[valueKey], dragNode[valueKey])) {
374
- items.splice(_index, 1); // when children is empty, delete children prop for hidden anchor
375
-
301
+ items.splice(_index, 1);
302
+ // when children is empty, delete children prop for hidden anchor
376
303
  if (items.length === 0 && parent) {
377
304
  delete parent.children;
378
305
  }
379
-
380
306
  break;
381
307
  }
382
-
383
308
  if (Array.isArray(_item[childrenKey])) {
384
309
  traverse(_item[childrenKey], _item);
385
310
  }
386
311
  }
387
312
  };
388
-
389
313
  traverse(data);
390
314
  }
391
-
392
315
  function createUpdateTreeDataFunction(params, _ref2) {
393
316
  var valueKey = _ref2.valueKey,
394
- childrenKey = _ref2.childrenKey;
317
+ childrenKey = _ref2.childrenKey;
395
318
  return function (tree) {
396
319
  var data = [].concat(tree);
397
320
  var dragNode = params.dragNode,
398
- dropNode = params.dropNode,
399
- dropNodePosition = params.dropNodePosition;
321
+ dropNode = params.dropNode,
322
+ dropNodePosition = params.dropNodePosition;
400
323
  var cloneDragNode = (0, _extends3.default)({}, dragNode);
401
324
  removeDragNode(data, params, {
402
325
  valueKey: valueKey,
403
326
  childrenKey: childrenKey
404
327
  });
405
-
406
328
  var updateTree = function updateTree(items) {
407
329
  for (var _index2 = 0; _index2 < items.length; _index2 += 1) {
408
330
  var _item2 = items[_index2];
409
-
410
331
  if ((0, _utils2.shallowEqual)(_item2[valueKey], dropNode[valueKey])) {
411
332
  // drag to node inside
412
333
  if (dropNodePosition === _utils2.TREE_NODE_DROP_POSITION.DRAG_OVER) {
413
334
  _item2[childrenKey] = (0, _isNil2.default)(_item2[childrenKey]) ? [] : _item2[childrenKey];
414
-
415
335
  _item2[childrenKey].push(cloneDragNode);
416
-
417
336
  break;
418
337
  } else if (dropNodePosition === _utils2.TREE_NODE_DROP_POSITION.DRAG_OVER_TOP) {
419
338
  // drag to top of node
@@ -425,77 +344,61 @@ function createUpdateTreeDataFunction(params, _ref2) {
425
344
  break;
426
345
  }
427
346
  }
428
-
429
347
  if (Array.isArray(_item2[childrenKey]) && _item2[childrenKey].length > 0) {
430
348
  updateTree(_item2[childrenKey]);
431
349
  }
432
350
  }
433
351
  };
434
-
435
352
  updateTree(data);
436
353
  return [].concat(data);
437
354
  };
438
355
  }
439
-
440
356
  function findNodeOfTree(data, check) {
441
357
  var findNode = function findNode(nodes) {
442
358
  if (nodes === void 0) {
443
359
  nodes = [];
444
360
  }
445
-
446
361
  for (var i = 0; i < nodes.length; i += 1) {
447
362
  var _item3 = nodes[i];
448
-
449
363
  if ((0, _isArray2.default)(_item3.children)) {
450
364
  var _node3 = findNode(_item3.children);
451
-
452
365
  if (_node3) {
453
366
  return _node3;
454
367
  }
455
368
  }
456
-
457
369
  if (check(_item3)) {
458
370
  return _item3;
459
371
  }
460
372
  }
461
-
462
373
  return undefined;
463
374
  };
464
-
465
375
  return findNode(data);
466
376
  }
467
-
468
377
  function filterNodesOfTree(data, check) {
469
378
  var findNodes = function findNodes(nodes) {
470
379
  if (nodes === void 0) {
471
380
  nodes = [];
472
381
  }
473
-
474
382
  var nextNodes = [];
475
-
476
383
  for (var i = 0; i < nodes.length; i += 1) {
477
384
  if ((0, _isArray2.default)(nodes[i].children)) {
478
385
  var nextChildren = findNodes(nodes[i].children);
479
-
480
386
  if (nextChildren.length) {
481
387
  var _item4 = (0, _clone2.default)(nodes[i]);
482
-
483
388
  _item4.children = nextChildren;
484
389
  nextNodes.push(_item4);
485
390
  continue;
486
391
  }
487
392
  }
488
-
489
393
  if (check(nodes[i])) {
490
394
  nextNodes.push(nodes[i]);
491
395
  }
492
396
  }
493
-
494
397
  return nextNodes;
495
398
  };
496
-
497
399
  return findNodes(data);
498
400
  }
401
+
499
402
  /**
500
403
  * get all focusable items
501
404
  * exclude not visible and disabled node
@@ -504,46 +407,37 @@ function filterNodesOfTree(data, check) {
504
407
  * @param isSearching - component is in Searching
505
408
  * @returns
506
409
  */
507
-
508
-
509
410
  var getFocusableItems = function getFocusableItems(filteredData, props, isSearching) {
510
411
  var disabledItemValues = props.disabledItemValues,
511
- valueKey = props.valueKey,
512
- childrenKey = props.childrenKey,
513
- expandItemValues = props.expandItemValues;
412
+ valueKey = props.valueKey,
413
+ childrenKey = props.childrenKey,
414
+ expandItemValues = props.expandItemValues;
514
415
  var items = [];
515
-
516
416
  var loop = function loop(nodes) {
517
417
  nodes.forEach(function (node) {
518
418
  var disabled = disabledItemValues.some(function (disabledItem) {
519
419
  return (0, _utils2.shallowEqual)(disabledItem, node[valueKey]);
520
420
  });
521
-
522
421
  if (!disabled && node.visible) {
523
422
  items.push(node);
524
- } // always expand when searching
525
-
526
-
423
+ }
424
+ // always expand when searching
527
425
  var expand = isSearching ? true : expandItemValues.includes(node[valueKey]);
528
-
529
426
  if (node[childrenKey] && expand) {
530
427
  loop(node[childrenKey]);
531
428
  }
532
429
  });
533
430
  };
534
-
535
431
  loop(filteredData);
536
432
  return items;
537
433
  };
434
+
538
435
  /**
539
436
  * return all focusable Item and active Element index
540
437
  * @param focusItemValue
541
438
  * @param focusableItems items
542
439
  */
543
-
544
-
545
440
  exports.getFocusableItems = getFocusableItems;
546
-
547
441
  var getActiveIndex = function getActiveIndex(focusItemValue, focusItems, valueKey) {
548
442
  var activeIndex = -1;
549
443
  focusItems.forEach(function (item, index) {
@@ -553,109 +447,88 @@ var getActiveIndex = function getActiveIndex(focusItemValue, focusItems, valueKe
553
447
  });
554
448
  return activeIndex;
555
449
  };
450
+
556
451
  /**
557
452
  * get current active element and node data
558
453
  * @param flattenNodes - flattenData
559
454
  */
560
-
561
-
562
455
  exports.getActiveIndex = getActiveIndex;
563
-
564
456
  var getActiveItem = function getActiveItem(focusItemValue, flattenNodes, valueKey) {
565
457
  var nodeData = null;
566
458
  var activeNode = Object.values(flattenNodes).find(function (node) {
567
459
  return (0, _utils2.shallowEqual)(node[valueKey], focusItemValue);
568
460
  });
569
-
570
461
  if (activeNode) {
571
462
  nodeData = activeNode;
572
463
  }
573
-
574
464
  return nodeData;
575
465
  };
576
-
577
466
  exports.getActiveItem = getActiveItem;
578
-
579
467
  var getElementByDataKey = function getElementByDataKey(dataKey, treeNodesRefs, selector) {
580
468
  var ele = treeNodesRefs[dataKey];
581
-
582
469
  if (ele instanceof Element) {
583
470
  return ele.querySelector(selector);
584
471
  }
585
-
586
472
  return null;
587
473
  };
474
+
588
475
  /**
589
476
  * focus to specify tree node
590
477
  * @param refKey - target node refKey
591
478
  * @param treeNodeRefs - all tree node refs object
592
479
  * @param selector - node css selector
593
480
  */
594
-
595
-
596
481
  exports.getElementByDataKey = getElementByDataKey;
597
-
598
482
  var focusTreeNode = function focusTreeNode(refKey, treeNodeRefs, selector) {
599
483
  var _node$focus;
600
-
601
484
  var node = getElementByDataKey(refKey, treeNodeRefs, selector);
602
485
  node === null || node === void 0 ? void 0 : (_node$focus = node.focus) === null || _node$focus === void 0 ? void 0 : _node$focus.call(node);
603
486
  };
604
-
605
487
  exports.focusTreeNode = focusTreeNode;
606
-
607
488
  /**
608
489
  * focus next item with keyboard
609
490
  * @param param
610
491
  */
611
492
  var focusNextItem = function focusNextItem(_ref3) {
612
493
  var focusItemValue = _ref3.focusItemValue,
613
- focusableItems = _ref3.focusableItems,
614
- treeNodesRefs = _ref3.treeNodesRefs,
615
- selector = _ref3.selector,
616
- valueKey = _ref3.valueKey,
617
- callback = _ref3.callback;
494
+ focusableItems = _ref3.focusableItems,
495
+ treeNodesRefs = _ref3.treeNodesRefs,
496
+ selector = _ref3.selector,
497
+ valueKey = _ref3.valueKey,
498
+ callback = _ref3.callback;
618
499
  var activeIndex = getActiveIndex(focusItemValue, focusableItems, valueKey);
619
-
620
500
  if (focusableItems.length === 0) {
621
501
  return;
622
502
  }
623
-
624
503
  var nextIndex = activeIndex === focusableItems.length - 1 ? 0 : activeIndex + 1;
625
504
  var nextFocusItemValue = focusableItems[nextIndex][valueKey];
626
505
  callback === null || callback === void 0 ? void 0 : callback(nextFocusItemValue);
627
506
  focusTreeNode(focusableItems[nextIndex].refKey, treeNodesRefs, selector);
628
507
  };
508
+
629
509
  /**
630
510
  * focus prev item with keyboard
631
511
  * @param param
632
512
  */
633
-
634
-
635
513
  exports.focusNextItem = focusNextItem;
636
-
637
514
  var focusPreviousItem = function focusPreviousItem(_ref4) {
638
515
  var focusItemValue = _ref4.focusItemValue,
639
- focusableItems = _ref4.focusableItems,
640
- treeNodesRefs = _ref4.treeNodesRefs,
641
- selector = _ref4.selector,
642
- valueKey = _ref4.valueKey,
643
- callback = _ref4.callback;
516
+ focusableItems = _ref4.focusableItems,
517
+ treeNodesRefs = _ref4.treeNodesRefs,
518
+ selector = _ref4.selector,
519
+ valueKey = _ref4.valueKey,
520
+ callback = _ref4.callback;
644
521
  var activeIndex = getActiveIndex(focusItemValue, focusableItems, valueKey);
645
-
646
522
  if (focusableItems.length === 0) {
647
523
  return;
648
524
  }
649
-
650
525
  var prevIndex = activeIndex === 0 ? focusableItems.length - 1 : activeIndex - 1;
651
526
  prevIndex = prevIndex >= 0 ? prevIndex : 0;
652
527
  var prevFocusItemValue = focusableItems[prevIndex][valueKey];
653
528
  callback === null || callback === void 0 ? void 0 : callback(prevFocusItemValue);
654
529
  focusTreeNode(focusableItems[prevIndex].refKey, treeNodesRefs, selector);
655
530
  };
656
-
657
531
  exports.focusPreviousItem = focusPreviousItem;
658
-
659
532
  /**
660
533
  * Left arrow keyboard event handler
661
534
  * When focus is on an open node, closes the node.
@@ -665,14 +538,12 @@ exports.focusPreviousItem = focusPreviousItem;
665
538
  */
666
539
  function leftArrowHandler(_ref5) {
667
540
  var focusItem = _ref5.focusItem,
668
- expand = _ref5.expand,
669
- onExpand = _ref5.onExpand,
670
- onFocusItem = _ref5.onFocusItem;
671
-
541
+ expand = _ref5.expand,
542
+ onExpand = _ref5.onExpand,
543
+ onFocusItem = _ref5.onFocusItem;
672
544
  if ((0, _isEmpty2.default)(focusItem)) {
673
545
  return;
674
546
  }
675
-
676
547
  if (expand) {
677
548
  onExpand((0, _extends3.default)({}, focusItem, {
678
549
  expand: expand
@@ -681,6 +552,7 @@ function leftArrowHandler(_ref5) {
681
552
  onFocusItem();
682
553
  }
683
554
  }
555
+
684
556
  /**
685
557
  * Right arrow keyboard event handler
686
558
  * When focus is on a closed node, opens the node; focus does not move.
@@ -688,19 +560,15 @@ function leftArrowHandler(_ref5) {
688
560
  * When focus is on an end node, does nothing.
689
561
  * @see https://www.w3.org/TR/wai-aria-practices/#TreeView
690
562
  */
691
-
692
-
693
563
  function rightArrowHandler(_ref6) {
694
564
  var focusItem = _ref6.focusItem,
695
- expand = _ref6.expand,
696
- childrenKey = _ref6.childrenKey,
697
- onExpand = _ref6.onExpand,
698
- onFocusItem = _ref6.onFocusItem;
699
-
565
+ expand = _ref6.expand,
566
+ childrenKey = _ref6.childrenKey,
567
+ onExpand = _ref6.onExpand,
568
+ onFocusItem = _ref6.onFocusItem;
700
569
  if ((0, _isEmpty2.default)(focusItem) || !Array.isArray(focusItem[childrenKey])) {
701
570
  return;
702
571
  }
703
-
704
572
  if (!expand) {
705
573
  onExpand((0, _extends3.default)({}, focusItem, {
706
574
  expand: expand
@@ -709,14 +577,13 @@ function rightArrowHandler(_ref6) {
709
577
  onFocusItem();
710
578
  }
711
579
  }
580
+
712
581
  /**
713
582
  * get scrollIndex in virtualized list
714
583
  * @param nodes - data
715
584
  * @param value - activeItem value
716
585
  * @param valueKey
717
586
  */
718
-
719
-
720
587
  var getScrollToIndex = function getScrollToIndex(nodes, value, valueKey) {
721
588
  return nodes.filter(function (n) {
722
589
  return n.visible;
@@ -724,100 +591,81 @@ var getScrollToIndex = function getScrollToIndex(nodes, value, valueKey) {
724
591
  return item[valueKey] === value;
725
592
  });
726
593
  };
594
+
727
595
  /**
728
596
  * when searching, expand state always return true
729
597
  * @param searchKeyword
730
598
  * @param expand
731
599
  */
732
-
733
-
734
600
  exports.getScrollToIndex = getScrollToIndex;
735
-
736
601
  function getExpandWhenSearching(searchKeyword, expand) {
737
602
  return isSearching(searchKeyword) ? true : expand;
738
603
  }
739
-
740
604
  function getTreeActiveNode(nodes, value, valueKey) {
741
605
  if ((0, _isUndefined2.default)(value)) {
742
606
  return undefined;
743
607
  }
744
-
745
608
  for (var refKey in nodes) {
746
609
  if ((0, _utils2.shallowEqual)(nodes[refKey][valueKey], value)) {
747
610
  return nodes[refKey];
748
611
  }
749
612
  }
750
613
  }
751
-
752
614
  /**
753
615
  * toggle tree node
754
616
  * @param param0
755
617
  */
756
618
  function toggleExpand(_ref7) {
757
619
  var node = _ref7.node,
758
- isExpand = _ref7.isExpand,
759
- expandItemValues = _ref7.expandItemValues,
760
- valueKey = _ref7.valueKey;
620
+ isExpand = _ref7.isExpand,
621
+ expandItemValues = _ref7.expandItemValues,
622
+ valueKey = _ref7.valueKey;
761
623
  var newExpandItemValues = new Set(expandItemValues);
762
-
763
624
  if (isExpand) {
764
625
  newExpandItemValues.add(node[valueKey]);
765
626
  } else {
766
627
  newExpandItemValues.delete(node[valueKey]);
767
628
  }
768
-
769
629
  return Array.from(newExpandItemValues);
770
630
  }
771
-
772
631
  function getTreeNodeTitle(label) {
773
632
  if (typeof label === 'string') {
774
633
  return label;
775
634
  } else if ( /*#__PURE__*/_react.default.isValidElement(label)) {
776
635
  var _nodes = (0, _reactToString.default)(label);
777
-
778
636
  return _nodes.join('');
779
637
  }
780
638
  }
639
+
781
640
  /**
782
641
  * get all children from flattenNodes object by given parent node
783
642
  * @param nodes
784
643
  * @param parent
785
644
  */
786
-
787
-
788
645
  function getChildrenByFlattenNodes(nodes, parent) {
789
646
  if (!(0, _isNil2.default)(parent.refKey) && (0, _isNil2.default)(nodes[parent.refKey])) {
790
647
  return [];
791
648
  }
792
-
793
649
  return Object.values(nodes).filter(function (item) {
794
650
  var _item$parent;
795
-
796
651
  return (item === null || item === void 0 ? void 0 : (_item$parent = item.parent) === null || _item$parent === void 0 ? void 0 : _item$parent.refKey) === parent.refKey && item.refKey && !nodes[item.refKey].uncheckable;
797
652
  });
798
653
  }
799
-
800
654
  function useTreeDrag() {
801
655
  // current dragging node
802
656
  var dragNode = (0, _react.useRef)(null);
803
-
804
657
  var _useState = (0, _react.useState)(null),
805
- dragOverNodeKey = _useState[0],
806
- setDragOverNodeKey = _useState[1]; // drag node and it's children nodes key
807
-
808
-
658
+ dragOverNodeKey = _useState[0],
659
+ setDragOverNodeKey = _useState[1]; // drag node and it's children nodes key
809
660
  var _useState2 = (0, _react.useState)([]),
810
- dragNodeKeys = _useState2[0],
811
- setDragNodeKeys = _useState2[1];
812
-
661
+ dragNodeKeys = _useState2[0],
662
+ setDragNodeKeys = _useState2[1];
813
663
  var _useState3 = (0, _react.useState)(null),
814
- dropNodePosition = _useState3[0],
815
- setDropNodePosition = _useState3[1];
816
-
664
+ dropNodePosition = _useState3[0],
665
+ setDropNodePosition = _useState3[1];
817
666
  var setDragNode = function setDragNode(node) {
818
667
  dragNode.current = node;
819
668
  };
820
-
821
669
  return {
822
670
  dragNode: dragNode === null || dragNode === void 0 ? void 0 : dragNode.current,
823
671
  dragOverNodeKey: dragOverNodeKey,
@@ -829,23 +677,20 @@ function useTreeDrag() {
829
677
  setDropNodePosition: setDropNodePosition
830
678
  };
831
679
  }
832
-
833
680
  /**
834
681
  * hooks for flatten tree structure
835
682
  * @param param0
836
683
  */
837
684
  function useFlattenTreeData(_ref8) {
838
685
  var data = _ref8.data,
839
- labelKey = _ref8.labelKey,
840
- valueKey = _ref8.valueKey,
841
- childrenKey = _ref8.childrenKey,
842
- _ref8$uncheckableItem = _ref8.uncheckableItemValues,
843
- uncheckableItemValues = _ref8$uncheckableItem === void 0 ? [] : _ref8$uncheckableItem,
844
- callback = _ref8.callback;
845
-
686
+ labelKey = _ref8.labelKey,
687
+ valueKey = _ref8.valueKey,
688
+ childrenKey = _ref8.childrenKey,
689
+ _ref8$uncheckableItem = _ref8.uncheckableItemValues,
690
+ uncheckableItemValues = _ref8$uncheckableItem === void 0 ? [] : _ref8$uncheckableItem,
691
+ callback = _ref8.callback;
846
692
  var _useState4 = (0, _react.useState)(Object.create(null)),
847
- dispatch = _useState4[1];
848
-
693
+ dispatch = _useState4[1];
849
694
  var forceUpdate = (0, _react.useCallback)(function () {
850
695
  dispatch(Object.create(null));
851
696
  }, [dispatch]);
@@ -854,14 +699,11 @@ function useFlattenTreeData(_ref8) {
854
699
  if (layer === void 0) {
855
700
  layer = 1;
856
701
  }
857
-
858
702
  if (!Array.isArray(treeData) || treeData.length === 0) {
859
703
  return [];
860
704
  }
861
-
862
705
  treeData.map(function (node) {
863
706
  var _extends2;
864
-
865
707
  var value = node[valueKey];
866
708
  /**
867
709
  * because the value of the node's type is string or number,
@@ -869,7 +711,6 @@ function useFlattenTreeData(_ref8) {
869
711
  * to avoid number value is converted to string. 1 and '1' will be convert to '1'
870
712
  * we used `String_` or `Number_` prefix
871
713
  */
872
-
873
714
  var refKey = getNodeFormattedRefKey(value);
874
715
  node.refKey = refKey;
875
716
  flattenNodes.current[refKey] = (0, _extends3.default)((_extends2 = {
@@ -877,11 +718,9 @@ function useFlattenTreeData(_ref8) {
877
718
  }, _extends2[labelKey] = node[labelKey], _extends2[valueKey] = node[valueKey], _extends2.uncheckable = uncheckableItemValues.some(function (value) {
878
719
  return (0, _utils2.shallowEqual)(node[valueKey], value);
879
720
  }), _extends2), node);
880
-
881
721
  if (parent) {
882
722
  flattenNodes.current[refKey].parent = (0, _omit2.default)(parent, 'parent', 'children');
883
723
  }
884
-
885
724
  flattenTreeData(node[childrenKey], node, layer + 1);
886
725
  });
887
726
  callback === null || callback === void 0 ? void 0 : callback(flattenNodes.current);
@@ -890,10 +729,8 @@ function useFlattenTreeData(_ref8) {
890
729
  var list = [];
891
730
  Object.keys(nodes).forEach(function (refKey) {
892
731
  var currentNode = nodes[refKey];
893
-
894
732
  if (!(0, _isNil2.default)(currentNode.parent) && !(0, _isNil2.default)(currentNode.parent.refKey)) {
895
733
  var parentNode = nodes[currentNode.parent.refKey];
896
-
897
734
  if (currentNode[key]) {
898
735
  if (!(parentNode !== null && parentNode !== void 0 && parentNode.checkAll)) {
899
736
  list.push(nodes[refKey][valueKey]);
@@ -909,27 +746,25 @@ function useFlattenTreeData(_ref8) {
909
746
  });
910
747
  return list;
911
748
  }, [valueKey]);
749
+
912
750
  /**
913
751
  * using in CheckTreePicker, to unSerializeList check property
914
752
  */
915
-
916
753
  var unSerializeList = (0, _react.useCallback)(function (_ref9) {
917
754
  var nodes = _ref9.nodes,
918
- key = _ref9.key,
919
- _ref9$value = _ref9.value,
920
- value = _ref9$value === void 0 ? [] : _ref9$value,
921
- cascade = _ref9.cascade,
922
- uncheckableItemValues = _ref9.uncheckableItemValues;
755
+ key = _ref9.key,
756
+ _ref9$value = _ref9.value,
757
+ value = _ref9$value === void 0 ? [] : _ref9$value,
758
+ cascade = _ref9.cascade,
759
+ uncheckableItemValues = _ref9.uncheckableItemValues;
923
760
  // Reset values to false
924
761
  Object.keys(nodes).forEach(function (refKey) {
925
762
  var node = nodes[refKey];
926
-
927
763
  if (cascade && !(0, _isNil2.default)(node.parent) && !(0, _isNil2.default)(node.parent.refKey)) {
928
764
  node[key] = nodes[node.parent.refKey][key];
929
765
  } else {
930
766
  node[key] = false;
931
767
  }
932
-
933
768
  value.forEach(function (value) {
934
769
  if ((0, _utils2.shallowEqual)(nodes[refKey][valueKey], value) && !uncheckableItemValues.some(function (uncheckableValue) {
935
770
  return (0, _utils2.shallowEqual)(value, uncheckableValue);
@@ -939,10 +774,9 @@ function useFlattenTreeData(_ref8) {
939
774
  });
940
775
  });
941
776
  }, [valueKey]);
942
-
943
777
  var formatVirtualizedTreeData = function formatVirtualizedTreeData(nodes, data, expandItemValues, options) {
944
778
  var cascade = options.cascade,
945
- searchKeyword = options.searchKeyword;
779
+ searchKeyword = options.searchKeyword;
946
780
  return UNSAFE_flattenTree(data, childrenKey, function (node) {
947
781
  var formatted = {};
948
782
  var curNode = nodes === null || nodes === void 0 ? void 0 : nodes[node.refKey];
@@ -952,17 +786,15 @@ function useFlattenTreeData(_ref8) {
952
786
  * if the parent node is collapsed, the child nodes should be hidden
953
787
  * avoid component height calculation errors
954
788
  */
955
-
956
789
  var visible = curNode !== null && curNode !== void 0 && curNode.parent ? shouldShowNodeByParentExpanded(expandItemValues, parentKeys) : true;
790
+
957
791
  /**
958
792
  * when searching, every node default expand
959
793
  * the node's visible should follow the original state
960
794
  */
961
-
962
795
  if (isSearching(searchKeyword)) {
963
796
  visible = node.visible;
964
797
  }
965
-
966
798
  if (curNode) {
967
799
  var checkState = !(0, _isUndefined2.default)(cascade) ? (0, _utils.getNodeCheckState)({
968
800
  node: curNode,
@@ -980,11 +812,9 @@ function useFlattenTreeData(_ref8) {
980
812
  visible: visible
981
813
  });
982
814
  }
983
-
984
815
  return formatted;
985
816
  });
986
817
  };
987
-
988
818
  (0, _react.useEffect)(function () {
989
819
  // when data is changed, should clear the flattenNodes, avoid duplicate keys
990
820
  flattenNodes.current = {};
@@ -1000,42 +830,37 @@ function useFlattenTreeData(_ref8) {
1000
830
  formatVirtualizedTreeData: formatVirtualizedTreeData
1001
831
  };
1002
832
  }
833
+
1003
834
  /**
1004
835
  * A hook that saving every tree node ref
1005
836
  */
1006
-
1007
-
1008
837
  function useTreeNodeRefs() {
1009
838
  var treeNodeRefs = (0, _react.useRef)({});
1010
-
1011
839
  var saveTreeNodeRef = function saveTreeNodeRef(ref, refKey) {
1012
840
  if (!(0, _isNil2.default)(refKey)) {
1013
841
  treeNodeRefs.current[refKey] = ref;
1014
842
  }
1015
843
  };
1016
-
1017
844
  return {
1018
845
  treeNodesRefs: treeNodeRefs.current,
1019
846
  saveTreeNodeRef: saveTreeNodeRef
1020
847
  };
1021
848
  }
1022
-
1023
849
  /**
1024
850
  * A hook that handles tree search filter options
1025
851
  * @param props
1026
852
  */
1027
853
  function useTreeSearch(props) {
1028
854
  var labelKey = props.labelKey,
1029
- childrenKey = props.childrenKey,
1030
- searchKeyword = props.searchKeyword,
1031
- data = props.data,
1032
- searchBy = props.searchBy,
1033
- callback = props.callback;
855
+ childrenKey = props.childrenKey,
856
+ searchKeyword = props.searchKeyword,
857
+ data = props.data,
858
+ searchBy = props.searchBy,
859
+ callback = props.callback;
1034
860
  var filterVisibleData = (0, _react.useCallback)(function (data, searchKeyword) {
1035
861
  var setVisible = function setVisible(nodes) {
1036
862
  return nodes.forEach(function (item) {
1037
863
  item.visible = searchBy ? searchBy(searchKeyword, item[labelKey], item) : (0, _Picker.shouldDisplay)(item[labelKey], searchKeyword);
1038
-
1039
864
  if ((0, _isArray2.default)(item[childrenKey])) {
1040
865
  filterVisibleData(item[childrenKey], searchKeyword);
1041
866
  item[childrenKey].forEach(function (child) {
@@ -1046,34 +871,32 @@ function useTreeSearch(props) {
1046
871
  }
1047
872
  });
1048
873
  };
1049
-
1050
874
  setVisible(data);
1051
875
  return data;
1052
- }, [childrenKey, labelKey, searchBy]); // Use search keywords to filter options.
1053
-
1054
- var _useState5 = (0, _react.useState)(function () {
1055
- return searchKeyword !== null && searchKeyword !== void 0 ? searchKeyword : '';
1056
- }),
1057
- searchKeywordState = _useState5[0],
1058
- setSearchKeyword = _useState5[1];
876
+ }, [childrenKey, labelKey, searchBy]);
1059
877
 
878
+ // Use search keywords to filter options.
879
+ var _useState5 = (0, _react.useState)(searchKeyword !== null && searchKeyword !== void 0 ? searchKeyword : ''),
880
+ searchKeywordState = _useState5[0],
881
+ setSearchKeyword = _useState5[1];
1060
882
  var _useState6 = (0, _react.useState)(function () {
1061
- return filterVisibleData(data, searchKeywordState);
1062
- }),
1063
- filteredData = _useState6[0],
1064
- setFilteredData = _useState6[1];
1065
-
1066
- var handleSetFilteredData = (0, _react.useCallback)(function (data, searchKeyword) {
1067
- setFilteredData(filterVisibleData(data, searchKeyword));
1068
- }, [filterVisibleData]);
1069
-
883
+ return filterVisibleData(data, searchKeywordState);
884
+ }),
885
+ filteredData = _useState6[0],
886
+ setFilteredData = _useState6[1];
1070
887
  var handleSearch = function handleSearch(searchKeyword, event) {
1071
888
  var filteredData = filterVisibleData(data, searchKeyword);
1072
889
  setFilteredData(filteredData);
1073
890
  setSearchKeyword(searchKeyword);
1074
- callback === null || callback === void 0 ? void 0 : callback(searchKeyword, filteredData, event);
891
+ event && (callback === null || callback === void 0 ? void 0 : callback(searchKeyword, filteredData, event));
1075
892
  };
1076
-
893
+ (0, _react.useEffect)(function () {
894
+ handleSearch(searchKeyword !== null && searchKeyword !== void 0 ? searchKeyword : '');
895
+ // eslint-disable-next-line react-hooks/exhaustive-deps
896
+ }, [searchKeyword]);
897
+ var handleSetFilteredData = (0, _react.useCallback)(function (data, searchKeyword) {
898
+ setFilteredData(filterVisibleData(data, searchKeyword));
899
+ }, [filterVisibleData]);
1077
900
  return {
1078
901
  searchKeywordState: searchKeywordState,
1079
902
  filteredData: filteredData,
@@ -1082,16 +905,13 @@ function useTreeSearch(props) {
1082
905
  handleSearch: handleSearch
1083
906
  };
1084
907
  }
1085
-
1086
908
  function useGetTreeNodeChildren(treeData, valueKey, childrenKey) {
1087
909
  var _useState7 = (0, _react.useState)([]),
1088
- loadingNodeValues = _useState7[0],
1089
- setLoadingNodeValues = _useState7[1];
1090
-
910
+ loadingNodeValues = _useState7[0],
911
+ setLoadingNodeValues = _useState7[1];
1091
912
  var _useState8 = (0, _react.useState)(treeData),
1092
- data = _useState8[0],
1093
- setData = _useState8[1];
1094
-
913
+ data = _useState8[0],
914
+ setData = _useState8[1];
1095
915
  var concatChildren = (0, _react.useCallback)(function (treeNode, children) {
1096
916
  var value = treeNode[valueKey];
1097
917
  treeNode = findNodeOfTree(data, function (item) {
@@ -1107,7 +927,6 @@ function useGetTreeNodeChildren(treeData, valueKey, childrenKey) {
1107
927
  return prev.concat(node[valueKey]);
1108
928
  });
1109
929
  var children = getChildren(node);
1110
-
1111
930
  if (children instanceof Promise) {
1112
931
  children.then(function (res) {
1113
932
  var newData = concatChildren(node, res);
@@ -1134,80 +953,64 @@ function useGetTreeNodeChildren(treeData, valueKey, childrenKey) {
1134
953
  loadChildren: loadChildren
1135
954
  };
1136
955
  }
1137
-
1138
956
  /**
1139
957
  * Focus to active tree node.
1140
958
  * @param param0
1141
959
  */
1142
960
  function focusToActiveTreeNode(_ref10) {
1143
961
  var _activeItem$focus;
1144
-
1145
962
  var list = _ref10.list,
1146
- valueKey = _ref10.valueKey,
1147
- activeNode = _ref10.activeNode,
1148
- virtualized = _ref10.virtualized,
1149
- container = _ref10.container,
1150
- selector = _ref10.selector,
1151
- formattedNodes = _ref10.formattedNodes;
963
+ valueKey = _ref10.valueKey,
964
+ activeNode = _ref10.activeNode,
965
+ virtualized = _ref10.virtualized,
966
+ container = _ref10.container,
967
+ selector = _ref10.selector,
968
+ formattedNodes = _ref10.formattedNodes;
1152
969
  if (!container) return;
1153
-
1154
970
  if (virtualized && activeNode) {
1155
971
  var _list$scrollToRow;
1156
-
1157
972
  var scrollIndex = getScrollToIndex(formattedNodes, activeNode === null || activeNode === void 0 ? void 0 : activeNode[valueKey], valueKey);
1158
973
  (_list$scrollToRow = list.scrollToRow) === null || _list$scrollToRow === void 0 ? void 0 : _list$scrollToRow.call(list, scrollIndex);
1159
974
  return;
1160
975
  }
1161
-
1162
976
  var activeItem = container.querySelector(selector);
1163
-
1164
977
  if (!activeItem) {
1165
978
  return;
1166
979
  }
1167
-
1168
980
  activeItem === null || activeItem === void 0 ? void 0 : (_activeItem$focus = activeItem.focus) === null || _activeItem$focus === void 0 ? void 0 : _activeItem$focus.call(activeItem);
1169
981
  }
1170
-
1171
982
  function isSearching(searchKeyword) {
1172
983
  return !(0, _isEmpty2.default)(searchKeyword);
1173
984
  }
1174
-
1175
985
  function getTreeNodeIndent(rtl, layer, absolute) {
1176
986
  var _ref12;
1177
-
1178
987
  if (absolute === void 0) {
1179
988
  absolute = false;
1180
989
  }
1181
-
1182
990
  // layer start from 1
1183
991
  var offset = layer * _constants.TREE_NODE_PADDING + _constants.TREE_NODE_ROOT_PADDING;
1184
-
1185
992
  if (absolute) {
1186
993
  var _ref11;
1187
-
1188
994
  return _ref11 = {}, _ref11[rtl ? 'right' : 'left'] = offset, _ref11;
1189
995
  }
1190
-
1191
996
  return _ref12 = {}, _ref12[rtl ? 'paddingRight' : 'paddingLeft'] = offset, _ref12;
1192
997
  }
998
+
1193
999
  /**
1194
1000
  * according to the value type to get the formatted valueKey of the node
1195
1001
  * @param value
1196
1002
  * @returns
1197
1003
  */
1198
-
1199
-
1200
1004
  function getNodeFormattedRefKey(value) {
1201
1005
  return "" + (typeof value === 'number' ? 'Number_' : 'String_') + value;
1202
1006
  }
1007
+
1203
1008
  /**
1204
1009
  * create drag preview when tree node start drag
1205
1010
  * @param name
1206
1011
  * @param className
1207
1012
  * @returns
1208
1013
  */
1209
-
1210
-
1211
1014
  function createDragPreview(name, className) {
1212
1015
  var dragPreview = document.createElement('div');
1213
1016
  dragPreview.id = 'rs-tree-drag-preview';
@@ -1216,43 +1019,34 @@ function createDragPreview(name, className) {
1216
1019
  document.body.appendChild(dragPreview);
1217
1020
  return dragPreview;
1218
1021
  }
1022
+
1219
1023
  /**
1220
1024
  * remove drag preview when tree node drop
1221
1025
  */
1222
-
1223
-
1224
1026
  function removeDragPreview() {
1225
1027
  var _dragPreview$parentNo, _dragPreview$parentNo2;
1226
-
1227
1028
  var dragPreview = document.getElementById('rs-tree-drag-preview');
1228
1029
  dragPreview === null || dragPreview === void 0 ? void 0 : (_dragPreview$parentNo = dragPreview.parentNode) === null || _dragPreview$parentNo === void 0 ? void 0 : (_dragPreview$parentNo2 = _dragPreview$parentNo.removeChild) === null || _dragPreview$parentNo2 === void 0 ? void 0 : _dragPreview$parentNo2.call(_dragPreview$parentNo, dragPreview);
1229
1030
  }
1230
-
1231
1031
  function stringifyTreeNodeLabel(label) {
1232
1032
  if (typeof label === 'string') {
1233
1033
  return label;
1234
1034
  } else if ( /*#__PURE__*/_react.default.isValidElement(label)) {
1235
1035
  var _nodes2 = (0, _reactToString.default)(label);
1236
-
1237
1036
  return _nodes2.join('');
1238
1037
  }
1239
-
1240
1038
  return '';
1241
1039
  }
1040
+
1242
1041
  /**
1243
1042
  * Returns a WeakMap that maps each item in `items` to its parent
1244
1043
  * indicated by `getChildren` function
1245
1044
  */
1246
-
1247
-
1248
1045
  function getParentMap(items, getChildren) {
1249
1046
  var map = new WeakMap();
1250
-
1251
1047
  for (var queue = [].concat(items); queue.length > 0;) {
1252
1048
  var _item5 = queue.shift();
1253
-
1254
1049
  var children = getChildren(_item5);
1255
-
1256
1050
  if (children) {
1257
1051
  for (var _iterator2 = _createForOfIteratorHelperLoose(children), _step2; !(_step2 = _iterator2()).done;) {
1258
1052
  var child = _step2.value;
@@ -1261,9 +1055,9 @@ function getParentMap(items, getChildren) {
1261
1055
  }
1262
1056
  }
1263
1057
  }
1264
-
1265
1058
  return map;
1266
1059
  }
1060
+
1267
1061
  /**
1268
1062
  * Returns a Map that maps each item's "key", indicated by `getKey` function,
1269
1063
  * to its parent indicated by `getChildren` function
@@ -1272,16 +1066,11 @@ function getParentMap(items, getChildren) {
1272
1066
  * Using this function is discouraged.
1273
1067
  * Use {@link getParentMap} whenever possible.
1274
1068
  */
1275
-
1276
-
1277
1069
  function getKeyParentMap(items, getKey, getChildren) {
1278
1070
  var map = new Map();
1279
-
1280
1071
  for (var queue = [].concat(items); queue.length > 0;) {
1281
1072
  var _item6 = queue.shift();
1282
-
1283
1073
  var children = getChildren(_item6);
1284
-
1285
1074
  if (children) {
1286
1075
  for (var _iterator3 = _createForOfIteratorHelperLoose(children), _step3; !(_step3 = _iterator3()).done;) {
1287
1076
  var child = _step3.value;
@@ -1290,21 +1079,17 @@ function getKeyParentMap(items, getKey, getChildren) {
1290
1079
  }
1291
1080
  }
1292
1081
  }
1293
-
1294
1082
  return map;
1295
1083
  }
1084
+
1296
1085
  /**
1297
1086
  * Returns an array indicating the hierarchy path from root towards `target` item
1298
1087
  */
1299
-
1300
-
1301
1088
  function getPathTowardsItem(target, getParent) {
1302
1089
  if (!target) return [];
1303
1090
  var path = [target];
1304
-
1305
1091
  for (var parent = getParent(target); !!parent; parent = getParent(parent)) {
1306
1092
  path.unshift(parent);
1307
1093
  }
1308
-
1309
1094
  return path;
1310
1095
  }