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