rsuite 5.2.2 → 5.4.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 (485) hide show
  1. package/Avatar/styles/index.less +2 -2
  2. package/AvatarGroup/package.json +7 -0
  3. package/AvatarGroup/styles/index.less +19 -0
  4. package/ButtonGroup/styles/index.less +0 -18
  5. package/CHANGELOG.md +61 -0
  6. package/CheckTreePicker/styles/index.less +14 -1
  7. package/Dropdown/styles/index.less +1 -0
  8. package/Nav/styles/index.less +1 -0
  9. package/Navbar/styles/index.less +7 -0
  10. package/Radio/styles/index.less +6 -0
  11. package/Stack/package.json +7 -0
  12. package/Stack/styles/index.less +5 -0
  13. package/Table/styles/index.less +0 -4
  14. package/TreePicker/styles/index.less +10 -14
  15. package/cjs/@types/common.d.ts +13 -12
  16. package/cjs/@types/utils.d.ts +12 -0
  17. package/cjs/Affix/Affix.js +5 -5
  18. package/cjs/Animation/Transition.d.ts +21 -12
  19. package/cjs/Animation/Transition.js +4 -1
  20. package/cjs/AutoComplete/AutoComplete.js +1 -1
  21. package/cjs/AutoComplete/utils.d.ts +1 -1
  22. package/cjs/Avatar/Avatar.js +10 -3
  23. package/cjs/AvatarGroup/AvatarGroup.d.ts +15 -0
  24. package/cjs/AvatarGroup/AvatarGroup.js +71 -0
  25. package/cjs/AvatarGroup/index.d.ts +3 -0
  26. package/cjs/AvatarGroup/index.js +11 -0
  27. package/cjs/Breadcrumb/Breadcrumb.js +1 -1
  28. package/cjs/Button/Button.js +8 -2
  29. package/cjs/ButtonGroup/ButtonGroup.js +8 -2
  30. package/cjs/ButtonGroup/ButtonGroupContext.d.ts +7 -0
  31. package/cjs/ButtonGroup/ButtonGroupContext.js +13 -0
  32. package/cjs/ButtonGroup/index.d.ts +2 -0
  33. package/cjs/ButtonGroup/index.js +3 -0
  34. package/cjs/Calendar/Calendar.d.ts +4 -4
  35. package/cjs/Calendar/Calendar.js +5 -2
  36. package/cjs/Calendar/CalendarContext.js +1 -1
  37. package/cjs/Calendar/TableRow.js +1 -1
  38. package/cjs/Calendar/TimeDropdown.js +6 -5
  39. package/cjs/Calendar/types.d.ts +2 -2
  40. package/cjs/Calendar/useCalendarDate.d.ts +2 -2
  41. package/cjs/Carousel/Carousel.d.ts +2 -2
  42. package/cjs/Carousel/Carousel.js +1 -1
  43. package/cjs/Cascader/Cascader.d.ts +1 -1
  44. package/cjs/Cascader/Cascader.js +10 -10
  45. package/cjs/Cascader/DropdownMenu.d.ts +5 -4
  46. package/cjs/Cascader/utils.d.ts +10 -10
  47. package/cjs/CheckPicker/CheckPicker.d.ts +9 -4
  48. package/cjs/CheckPicker/CheckPicker.js +4 -4
  49. package/cjs/CheckPicker/test/CheckPicker.test.d.ts +1 -0
  50. package/cjs/CheckPicker/test/CheckPicker.test.js +76 -0
  51. package/cjs/CheckTree/index.js +2 -6
  52. package/cjs/CheckTreePicker/CheckTreeNode.d.ts +1 -1
  53. package/cjs/CheckTreePicker/CheckTreeNode.js +7 -9
  54. package/cjs/CheckTreePicker/CheckTreePicker.js +34 -27
  55. package/cjs/CheckTreePicker/utils.d.ts +3 -1
  56. package/cjs/CheckTreePicker/utils.js +12 -10
  57. package/cjs/Checkbox/Checkbox.d.ts +1 -1
  58. package/cjs/CheckboxGroup/CheckboxGroup.js +2 -2
  59. package/cjs/CustomProvider/CustomProvider.d.ts +31 -57
  60. package/cjs/DOMHelper/index.d.ts +12 -12
  61. package/cjs/DatePicker/DatePicker.d.ts +1 -1
  62. package/cjs/DatePicker/DatePicker.js +17 -11
  63. package/cjs/DatePicker/Toolbar.d.ts +12 -9
  64. package/cjs/DatePicker/Toolbar.js +6 -8
  65. package/cjs/DatePicker/types.d.ts +4 -4
  66. package/cjs/DatePicker/utils.d.ts +4 -3
  67. package/cjs/DateRangePicker/Calendar.d.ts +9 -7
  68. package/cjs/DateRangePicker/Calendar.js +27 -6
  69. package/cjs/DateRangePicker/DateRangePicker.d.ts +8 -6
  70. package/cjs/DateRangePicker/DateRangePicker.js +131 -108
  71. package/cjs/DateRangePicker/types.d.ts +2 -1
  72. package/cjs/DateRangePicker/utils.d.ts +6 -6
  73. package/cjs/DateRangePicker/utils.js +7 -2
  74. package/cjs/Disclosure/Disclosure.js +4 -2
  75. package/cjs/Disclosure/DisclosureButton.js +9 -7
  76. package/cjs/Disclosure/DisclosureContent.js +4 -6
  77. package/cjs/Disclosure/DisclosureContext.d.ts +2 -2
  78. package/cjs/Disclosure/useDisclosureContext.d.ts +2 -0
  79. package/cjs/Disclosure/useDisclosureContext.js +20 -0
  80. package/cjs/Dropdown/Dropdown.d.ts +1 -1
  81. package/cjs/Dropdown/DropdownContext.d.ts +2 -2
  82. package/cjs/Dropdown/DropdownItem.js +1 -1
  83. package/cjs/Dropdown/DropdownMenu.d.ts +3 -3
  84. package/cjs/Dropdown/DropdownState.d.ts +1 -1
  85. package/cjs/Dropdown/DropdownToggle.js +10 -2
  86. package/cjs/Dropdown/useRenderDropdownItem.d.ts +1 -1
  87. package/cjs/Form/Form.js +1 -1
  88. package/cjs/Form/FormContext.d.ts +1 -1
  89. package/cjs/FormControl/FormControl.d.ts +1 -1
  90. package/cjs/FormControl/FormControl.js +5 -4
  91. package/cjs/FormGroup/FormGroup.d.ts +1 -1
  92. package/cjs/Input/Input.d.ts +3 -2
  93. package/cjs/InputGroup/InputGroup.d.ts +1 -1
  94. package/cjs/InputNumber/InputNumber.js +6 -2
  95. package/cjs/InputPicker/InputAutosize.js +4 -4
  96. package/cjs/InputPicker/InputPicker.d.ts +2 -2
  97. package/cjs/InputPicker/InputPicker.js +16 -11
  98. package/cjs/List/ListContext.d.ts +1 -1
  99. package/cjs/List/ListContext.js +8 -1
  100. package/cjs/List/helper/AutoScroller.js +4 -2
  101. package/cjs/List/helper/useManager.d.ts +3 -3
  102. package/cjs/List/helper/useManager.js +1 -1
  103. package/cjs/List/helper/useSortHelper.d.ts +3 -3
  104. package/cjs/List/helper/useSortHelper.js +6 -4
  105. package/cjs/List/helper/utils.d.ts +2 -2
  106. package/cjs/MaskedInput/TextMask.d.ts +5 -5
  107. package/cjs/MaskedInput/adjustCaretPosition.d.ts +6 -6
  108. package/cjs/MaskedInput/conformToMask.js +5 -4
  109. package/cjs/MaskedInput/createTextMaskInputElement.d.ts +2 -2
  110. package/cjs/MaskedInput/utilities.d.ts +1 -1
  111. package/cjs/Menu/Menu.js +60 -41
  112. package/cjs/Menu/MenuContext.d.ts +1 -1
  113. package/cjs/Menu/MenuItem.d.ts +1 -1
  114. package/cjs/Menu/MenuItem.js +31 -23
  115. package/cjs/Menu/Menubar.js +8 -8
  116. package/cjs/Menu/useMenu.js +17 -7
  117. package/cjs/Modal/Modal.js +12 -6
  118. package/cjs/Modal/ModalContext.d.ts +2 -2
  119. package/cjs/Modal/utils.d.ts +1 -1
  120. package/cjs/Modal/utils.js +3 -5
  121. package/cjs/MultiCascader/DropdownMenu.d.ts +4 -4
  122. package/cjs/MultiCascader/MultiCascader.js +6 -6
  123. package/cjs/MultiCascader/utils.d.ts +17 -17
  124. package/cjs/Nav/Nav.d.ts +1 -1
  125. package/cjs/Nav/Nav.js +3 -0
  126. package/cjs/Nav/NavContext.d.ts +7 -1
  127. package/cjs/Nav/NavContext.js +1 -0
  128. package/cjs/Nav/NavItem.d.ts +1 -1
  129. package/cjs/Navbar/Navbar.js +1 -1
  130. package/cjs/Navbar/NavbarItem.d.ts +1 -1
  131. package/cjs/Overlay/Modal.d.ts +2 -2
  132. package/cjs/Overlay/Modal.js +67 -45
  133. package/cjs/Overlay/ModalManager.d.ts +17 -8
  134. package/cjs/Overlay/ModalManager.js +11 -20
  135. package/cjs/Overlay/Overlay.d.ts +3 -3
  136. package/cjs/Overlay/Overlay.js +8 -2
  137. package/cjs/Overlay/OverlayContext.d.ts +6 -0
  138. package/cjs/Overlay/OverlayContext.js +14 -0
  139. package/cjs/Overlay/OverlayTrigger.d.ts +11 -11
  140. package/cjs/Overlay/OverlayTrigger.js +21 -7
  141. package/cjs/Overlay/Position.d.ts +4 -4
  142. package/cjs/Overlay/Position.js +14 -8
  143. package/cjs/Overlay/positionUtils.d.ts +1 -1
  144. package/cjs/Overlay/positionUtils.js +8 -8
  145. package/cjs/Pagination/Pagination.d.ts +1 -1
  146. package/cjs/Pagination/PaginationButton.d.ts +3 -3
  147. package/cjs/Pagination/PaginationGroup.js +5 -3
  148. package/cjs/Panel/Panel.d.ts +1 -1
  149. package/cjs/Panel/Panel.js +2 -2
  150. package/cjs/PanelGroup/PanelGroup.d.ts +2 -2
  151. package/cjs/Picker/DropdownMenu.d.ts +8 -5
  152. package/cjs/Picker/DropdownMenu.js +5 -5
  153. package/cjs/Picker/PickerOverlay.js +4 -3
  154. package/cjs/Picker/PickerToggle.js +9 -6
  155. package/cjs/Picker/PickerToggleTrigger.d.ts +2 -6
  156. package/cjs/Picker/SearchBar.d.ts +1 -1
  157. package/cjs/Picker/SelectedElement.js +2 -1
  158. package/cjs/Picker/VirtualizedList.d.ts +29 -2
  159. package/cjs/Picker/propTypes.d.ts +5 -7
  160. package/cjs/Picker/propTypes.js +4 -3
  161. package/cjs/Picker/utils.d.ts +15 -23
  162. package/cjs/Picker/utils.js +71 -46
  163. package/cjs/Placeholder/PlaceholderGrid.js +1 -1
  164. package/cjs/Plaintext/Plaintext.js +2 -1
  165. package/cjs/Radio/Radio.d.ts +1 -1
  166. package/cjs/RadioGroup/RadioGroup.d.ts +2 -2
  167. package/cjs/RadioGroup/RadioGroup.js +3 -3
  168. package/cjs/RangeSlider/RangeSlider.d.ts +2 -2
  169. package/cjs/RangeSlider/RangeSlider.js +6 -4
  170. package/cjs/Rate/Character.js +4 -2
  171. package/cjs/Rate/Rate.js +5 -2
  172. package/cjs/Ripple/Ripple.js +1 -1
  173. package/cjs/SelectPicker/SelectPicker.d.ts +12 -5
  174. package/cjs/SelectPicker/SelectPicker.js +8 -8
  175. package/cjs/SelectPicker/index.d.ts +1 -1
  176. package/cjs/SelectPicker/test/SelectPicker.test.d.ts +1 -0
  177. package/cjs/SelectPicker/test/SelectPicker.test.js +62 -0
  178. package/cjs/Sidenav/Node.d.ts +1 -1
  179. package/cjs/Sidenav/Sidenav.d.ts +4 -4
  180. package/cjs/Sidenav/Sidenav.js +5 -2
  181. package/cjs/Sidenav/SidenavDropdown.js +11 -8
  182. package/cjs/Sidenav/SidenavDropdownItem.js +10 -5
  183. package/cjs/Sidenav/SidenavDropdownMenu.js +9 -5
  184. package/cjs/Sidenav/SidenavItem.d.ts +1 -1
  185. package/cjs/Sidenav/SidenavItem.js +4 -0
  186. package/cjs/Slider/Graduated.d.ts +5 -5
  187. package/cjs/Slider/Handle.d.ts +1 -1
  188. package/cjs/Slider/Handle.js +10 -6
  189. package/cjs/Slider/Mark.d.ts +1 -1
  190. package/cjs/Slider/Slider.d.ts +1 -1
  191. package/cjs/Slider/Slider.js +2 -2
  192. package/cjs/Slider/utils.d.ts +2 -1
  193. package/cjs/Slider/utils.js +4 -5
  194. package/cjs/Stack/Stack.d.ts +26 -0
  195. package/cjs/Stack/Stack.js +86 -0
  196. package/cjs/Stack/index.d.ts +3 -0
  197. package/cjs/Stack/index.js +11 -0
  198. package/cjs/Steps/StepItem.js +1 -1
  199. package/cjs/TagInput/index.js +1 -1
  200. package/cjs/Toggle/Toggle.js +3 -3
  201. package/cjs/Tree/Tree.d.ts +3 -2
  202. package/cjs/Tree/Tree.js +2 -6
  203. package/cjs/Tree/TreeContext.d.ts +0 -1
  204. package/cjs/TreePicker/TreeNode.js +7 -22
  205. package/cjs/TreePicker/TreePicker.js +37 -54
  206. package/cjs/Uploader/UploadFileItem.d.ts +1 -1
  207. package/cjs/Uploader/UploadFileItem.js +2 -2
  208. package/cjs/Uploader/UploadTrigger.d.ts +1 -1
  209. package/cjs/Uploader/UploadTrigger.js +2 -3
  210. package/cjs/Uploader/Uploader.d.ts +5 -5
  211. package/cjs/Uploader/Uploader.js +1 -2
  212. package/cjs/index.d.ts +6 -2
  213. package/cjs/index.js +13 -5
  214. package/cjs/locales/index.d.ts +3 -3
  215. package/cjs/toaster/ToastContainer.d.ts +1 -1
  216. package/cjs/toaster/ToastContainer.js +1 -1
  217. package/cjs/toaster/toaster.js +3 -1
  218. package/cjs/utils/BrowserDetection.js +1 -1
  219. package/cjs/utils/ReactChildren.d.ts +2 -2
  220. package/cjs/utils/ajaxUpload.d.ts +1 -1
  221. package/cjs/utils/ajaxUpload.js +5 -4
  222. package/cjs/utils/appendTooltip.d.ts +1 -1
  223. package/cjs/utils/constants.d.ts +4 -4
  224. package/cjs/utils/createChainedFunction.d.ts +1 -1
  225. package/cjs/utils/getDataGroupBy.d.ts +1 -1
  226. package/cjs/utils/mergeRefs.d.ts +2 -2
  227. package/cjs/utils/previewFile.d.ts +1 -1
  228. package/cjs/utils/propTypeChecker.d.ts +6 -2
  229. package/cjs/utils/propTypeChecker.js +7 -6
  230. package/cjs/utils/reactToString.d.ts +2 -1
  231. package/cjs/utils/statusIcons.d.ts +1 -1
  232. package/cjs/utils/stringToObject.d.ts +1 -1
  233. package/cjs/utils/treeUtils.d.ts +35 -32
  234. package/cjs/utils/treeUtils.js +46 -23
  235. package/cjs/utils/useControlled.d.ts +6 -1
  236. package/cjs/utils/useControlled.js +0 -8
  237. package/cjs/utils/useCustom.js +6 -4
  238. package/cjs/utils/useElementResize.js +6 -3
  239. package/cjs/utils/useFocus.d.ts +2 -2
  240. package/cjs/utils/usePortal.d.ts +2 -2
  241. package/cjs/utils/useRootClose.d.ts +2 -2
  242. package/cjs/utils/useTimeout.d.ts +1 -1
  243. package/cjs/utils/useTimeout.js +5 -3
  244. package/dist/rsuite-rtl.css +60 -178
  245. package/dist/rsuite-rtl.min.css +1 -1
  246. package/dist/rsuite-rtl.min.css.map +1 -1
  247. package/dist/rsuite.css +60 -178
  248. package/dist/rsuite.js +216 -117
  249. package/dist/rsuite.js.map +1 -1
  250. package/dist/rsuite.min.css +1 -1
  251. package/dist/rsuite.min.css.map +1 -1
  252. package/dist/rsuite.min.js +1 -1
  253. package/dist/rsuite.min.js.LICENSE.txt +9 -0
  254. package/dist/rsuite.min.js.map +1 -1
  255. package/esm/@types/common.d.ts +13 -12
  256. package/esm/@types/utils.d.ts +12 -0
  257. package/esm/Affix/Affix.js +5 -5
  258. package/esm/Animation/Transition.d.ts +21 -12
  259. package/esm/Animation/Transition.js +4 -1
  260. package/esm/AutoComplete/AutoComplete.js +1 -1
  261. package/esm/AutoComplete/utils.d.ts +1 -1
  262. package/esm/Avatar/Avatar.js +7 -3
  263. package/esm/AvatarGroup/AvatarGroup.d.ts +15 -0
  264. package/esm/AvatarGroup/AvatarGroup.js +54 -0
  265. package/esm/AvatarGroup/index.d.ts +3 -0
  266. package/esm/AvatarGroup/index.js +2 -0
  267. package/esm/Breadcrumb/Breadcrumb.js +1 -1
  268. package/esm/Button/Button.js +6 -2
  269. package/esm/ButtonGroup/ButtonGroup.js +7 -2
  270. package/esm/ButtonGroup/ButtonGroupContext.d.ts +7 -0
  271. package/esm/ButtonGroup/ButtonGroupContext.js +3 -0
  272. package/esm/ButtonGroup/index.d.ts +2 -0
  273. package/esm/ButtonGroup/index.js +2 -0
  274. package/esm/Calendar/Calendar.d.ts +4 -4
  275. package/esm/Calendar/Calendar.js +5 -2
  276. package/esm/Calendar/CalendarContext.js +1 -1
  277. package/esm/Calendar/TableRow.js +1 -1
  278. package/esm/Calendar/TimeDropdown.js +5 -4
  279. package/esm/Calendar/types.d.ts +2 -2
  280. package/esm/Calendar/useCalendarDate.d.ts +2 -2
  281. package/esm/Carousel/Carousel.d.ts +2 -2
  282. package/esm/Carousel/Carousel.js +1 -1
  283. package/esm/Cascader/Cascader.d.ts +1 -1
  284. package/esm/Cascader/Cascader.js +10 -10
  285. package/esm/Cascader/DropdownMenu.d.ts +5 -4
  286. package/esm/Cascader/utils.d.ts +10 -10
  287. package/esm/CheckPicker/CheckPicker.d.ts +9 -4
  288. package/esm/CheckPicker/CheckPicker.js +4 -4
  289. package/esm/CheckPicker/test/CheckPicker.test.d.ts +1 -0
  290. package/esm/CheckPicker/test/CheckPicker.test.js +64 -0
  291. package/esm/CheckTree/index.js +2 -4
  292. package/esm/CheckTreePicker/CheckTreeNode.d.ts +1 -1
  293. package/esm/CheckTreePicker/CheckTreeNode.js +4 -7
  294. package/esm/CheckTreePicker/CheckTreePicker.js +33 -25
  295. package/esm/CheckTreePicker/utils.d.ts +3 -1
  296. package/esm/CheckTreePicker/utils.js +12 -10
  297. package/esm/Checkbox/Checkbox.d.ts +1 -1
  298. package/esm/CheckboxGroup/CheckboxGroup.js +2 -2
  299. package/esm/CustomProvider/CustomProvider.d.ts +31 -57
  300. package/esm/DOMHelper/index.d.ts +12 -12
  301. package/esm/DatePicker/DatePicker.d.ts +1 -1
  302. package/esm/DatePicker/DatePicker.js +16 -11
  303. package/esm/DatePicker/Toolbar.d.ts +12 -9
  304. package/esm/DatePicker/Toolbar.js +6 -8
  305. package/esm/DatePicker/types.d.ts +4 -4
  306. package/esm/DatePicker/utils.d.ts +4 -3
  307. package/esm/DateRangePicker/Calendar.d.ts +9 -7
  308. package/esm/DateRangePicker/Calendar.js +28 -6
  309. package/esm/DateRangePicker/DateRangePicker.d.ts +8 -6
  310. package/esm/DateRangePicker/DateRangePicker.js +129 -108
  311. package/esm/DateRangePicker/types.d.ts +2 -1
  312. package/esm/DateRangePicker/utils.d.ts +6 -6
  313. package/esm/DateRangePicker/utils.js +6 -2
  314. package/esm/Disclosure/Disclosure.js +4 -2
  315. package/esm/Disclosure/DisclosureButton.js +8 -7
  316. package/esm/Disclosure/DisclosureContent.js +5 -7
  317. package/esm/Disclosure/DisclosureContext.d.ts +2 -2
  318. package/esm/Disclosure/useDisclosureContext.d.ts +2 -0
  319. package/esm/Disclosure/useDisclosureContext.js +11 -0
  320. package/esm/Dropdown/Dropdown.d.ts +1 -1
  321. package/esm/Dropdown/DropdownContext.d.ts +2 -2
  322. package/esm/Dropdown/DropdownItem.js +1 -1
  323. package/esm/Dropdown/DropdownMenu.d.ts +3 -3
  324. package/esm/Dropdown/DropdownState.d.ts +1 -1
  325. package/esm/Dropdown/DropdownToggle.js +9 -2
  326. package/esm/Dropdown/useRenderDropdownItem.d.ts +1 -1
  327. package/esm/Form/Form.js +1 -1
  328. package/esm/Form/FormContext.d.ts +1 -1
  329. package/esm/FormControl/FormControl.d.ts +1 -1
  330. package/esm/FormControl/FormControl.js +5 -4
  331. package/esm/FormGroup/FormGroup.d.ts +1 -1
  332. package/esm/Input/Input.d.ts +3 -2
  333. package/esm/InputGroup/InputGroup.d.ts +1 -1
  334. package/esm/InputNumber/InputNumber.js +6 -2
  335. package/esm/InputPicker/InputAutosize.js +4 -4
  336. package/esm/InputPicker/InputPicker.d.ts +2 -2
  337. package/esm/InputPicker/InputPicker.js +16 -11
  338. package/esm/List/ListContext.d.ts +1 -1
  339. package/esm/List/ListContext.js +7 -1
  340. package/esm/List/helper/AutoScroller.js +4 -2
  341. package/esm/List/helper/useManager.d.ts +3 -3
  342. package/esm/List/helper/useManager.js +1 -1
  343. package/esm/List/helper/useSortHelper.d.ts +3 -3
  344. package/esm/List/helper/useSortHelper.js +6 -4
  345. package/esm/List/helper/utils.d.ts +2 -2
  346. package/esm/MaskedInput/TextMask.d.ts +5 -5
  347. package/esm/MaskedInput/adjustCaretPosition.d.ts +6 -6
  348. package/esm/MaskedInput/conformToMask.js +5 -4
  349. package/esm/MaskedInput/createTextMaskInputElement.d.ts +2 -2
  350. package/esm/MaskedInput/utilities.d.ts +1 -1
  351. package/esm/Menu/Menu.js +59 -43
  352. package/esm/Menu/MenuContext.d.ts +1 -1
  353. package/esm/Menu/MenuItem.d.ts +1 -1
  354. package/esm/Menu/MenuItem.js +30 -23
  355. package/esm/Menu/Menubar.js +7 -8
  356. package/esm/Menu/useMenu.js +17 -7
  357. package/esm/Modal/Modal.js +12 -6
  358. package/esm/Modal/ModalContext.d.ts +2 -2
  359. package/esm/Modal/utils.d.ts +1 -1
  360. package/esm/Modal/utils.js +3 -5
  361. package/esm/MultiCascader/DropdownMenu.d.ts +4 -4
  362. package/esm/MultiCascader/MultiCascader.js +6 -6
  363. package/esm/MultiCascader/utils.d.ts +17 -17
  364. package/esm/Nav/Nav.d.ts +1 -1
  365. package/esm/Nav/Nav.js +3 -0
  366. package/esm/Nav/NavContext.d.ts +7 -1
  367. package/esm/Nav/NavContext.js +1 -0
  368. package/esm/Nav/NavItem.d.ts +1 -1
  369. package/esm/Navbar/Navbar.js +1 -1
  370. package/esm/Navbar/NavbarItem.d.ts +1 -1
  371. package/esm/Overlay/Modal.d.ts +2 -2
  372. package/esm/Overlay/Modal.js +67 -45
  373. package/esm/Overlay/ModalManager.d.ts +17 -8
  374. package/esm/Overlay/ModalManager.js +11 -20
  375. package/esm/Overlay/Overlay.d.ts +3 -3
  376. package/esm/Overlay/Overlay.js +8 -3
  377. package/esm/Overlay/OverlayContext.d.ts +6 -0
  378. package/esm/Overlay/OverlayContext.js +4 -0
  379. package/esm/Overlay/OverlayTrigger.d.ts +11 -11
  380. package/esm/Overlay/OverlayTrigger.js +21 -8
  381. package/esm/Overlay/Position.d.ts +4 -4
  382. package/esm/Overlay/Position.js +14 -8
  383. package/esm/Overlay/positionUtils.d.ts +1 -1
  384. package/esm/Overlay/positionUtils.js +6 -6
  385. package/esm/Pagination/Pagination.d.ts +1 -1
  386. package/esm/Pagination/PaginationButton.d.ts +3 -3
  387. package/esm/Pagination/PaginationGroup.js +5 -3
  388. package/esm/Panel/Panel.d.ts +1 -1
  389. package/esm/Panel/Panel.js +2 -2
  390. package/esm/PanelGroup/PanelGroup.d.ts +2 -2
  391. package/esm/Picker/DropdownMenu.d.ts +8 -5
  392. package/esm/Picker/DropdownMenu.js +5 -5
  393. package/esm/Picker/PickerOverlay.js +4 -3
  394. package/esm/Picker/PickerToggle.js +9 -6
  395. package/esm/Picker/PickerToggleTrigger.d.ts +2 -6
  396. package/esm/Picker/SearchBar.d.ts +1 -1
  397. package/esm/Picker/SelectedElement.js +2 -1
  398. package/esm/Picker/VirtualizedList.d.ts +29 -2
  399. package/esm/Picker/propTypes.d.ts +5 -7
  400. package/esm/Picker/propTypes.js +4 -3
  401. package/esm/Picker/utils.d.ts +15 -23
  402. package/esm/Picker/utils.js +70 -46
  403. package/esm/Placeholder/PlaceholderGrid.js +1 -1
  404. package/esm/Plaintext/Plaintext.js +2 -1
  405. package/esm/Radio/Radio.d.ts +1 -1
  406. package/esm/RadioGroup/RadioGroup.d.ts +2 -2
  407. package/esm/RadioGroup/RadioGroup.js +3 -3
  408. package/esm/RangeSlider/RangeSlider.d.ts +2 -2
  409. package/esm/RangeSlider/RangeSlider.js +5 -4
  410. package/esm/Rate/Character.js +3 -2
  411. package/esm/Rate/Rate.js +4 -2
  412. package/esm/Ripple/Ripple.js +1 -1
  413. package/esm/SelectPicker/SelectPicker.d.ts +12 -5
  414. package/esm/SelectPicker/SelectPicker.js +8 -8
  415. package/esm/SelectPicker/index.d.ts +1 -1
  416. package/esm/SelectPicker/test/SelectPicker.test.d.ts +1 -0
  417. package/esm/SelectPicker/test/SelectPicker.test.js +52 -0
  418. package/esm/Sidenav/Node.d.ts +1 -1
  419. package/esm/Sidenav/Sidenav.d.ts +4 -4
  420. package/esm/Sidenav/Sidenav.js +5 -2
  421. package/esm/Sidenav/SidenavDropdown.js +11 -7
  422. package/esm/Sidenav/SidenavDropdownItem.js +11 -5
  423. package/esm/Sidenav/SidenavDropdownMenu.js +9 -5
  424. package/esm/Sidenav/SidenavItem.d.ts +1 -1
  425. package/esm/Sidenav/SidenavItem.js +4 -0
  426. package/esm/Slider/Graduated.d.ts +5 -5
  427. package/esm/Slider/Handle.d.ts +1 -1
  428. package/esm/Slider/Handle.js +10 -6
  429. package/esm/Slider/Mark.d.ts +1 -1
  430. package/esm/Slider/Slider.d.ts +1 -1
  431. package/esm/Slider/Slider.js +2 -2
  432. package/esm/Slider/utils.d.ts +2 -1
  433. package/esm/Slider/utils.js +5 -2
  434. package/esm/Stack/Stack.d.ts +26 -0
  435. package/esm/Stack/Stack.js +71 -0
  436. package/esm/Stack/index.d.ts +3 -0
  437. package/esm/Stack/index.js +2 -0
  438. package/esm/Steps/StepItem.js +1 -1
  439. package/esm/TagInput/index.js +1 -1
  440. package/esm/Toggle/Toggle.js +3 -3
  441. package/esm/Tree/Tree.d.ts +3 -2
  442. package/esm/Tree/Tree.js +2 -4
  443. package/esm/Tree/TreeContext.d.ts +0 -1
  444. package/esm/TreePicker/TreeNode.js +6 -21
  445. package/esm/TreePicker/TreePicker.js +36 -52
  446. package/esm/Uploader/UploadFileItem.d.ts +1 -1
  447. package/esm/Uploader/UploadFileItem.js +2 -2
  448. package/esm/Uploader/UploadTrigger.d.ts +1 -1
  449. package/esm/Uploader/UploadTrigger.js +2 -3
  450. package/esm/Uploader/Uploader.d.ts +5 -5
  451. package/esm/Uploader/Uploader.js +1 -2
  452. package/esm/index.d.ts +6 -2
  453. package/esm/index.js +3 -1
  454. package/esm/locales/index.d.ts +3 -3
  455. package/esm/toaster/ToastContainer.d.ts +1 -1
  456. package/esm/toaster/ToastContainer.js +1 -1
  457. package/esm/toaster/toaster.js +3 -1
  458. package/esm/utils/BrowserDetection.js +1 -1
  459. package/esm/utils/ReactChildren.d.ts +2 -2
  460. package/esm/utils/ajaxUpload.d.ts +1 -1
  461. package/esm/utils/ajaxUpload.js +5 -4
  462. package/esm/utils/appendTooltip.d.ts +1 -1
  463. package/esm/utils/constants.d.ts +4 -4
  464. package/esm/utils/createChainedFunction.d.ts +1 -1
  465. package/esm/utils/getDataGroupBy.d.ts +1 -1
  466. package/esm/utils/mergeRefs.d.ts +2 -2
  467. package/esm/utils/previewFile.d.ts +1 -1
  468. package/esm/utils/propTypeChecker.d.ts +6 -2
  469. package/esm/utils/propTypeChecker.js +7 -6
  470. package/esm/utils/reactToString.d.ts +2 -1
  471. package/esm/utils/statusIcons.d.ts +1 -1
  472. package/esm/utils/stringToObject.d.ts +1 -1
  473. package/esm/utils/treeUtils.d.ts +35 -32
  474. package/esm/utils/treeUtils.js +45 -21
  475. package/esm/utils/useControlled.d.ts +6 -1
  476. package/esm/utils/useControlled.js +0 -8
  477. package/esm/utils/useCustom.js +6 -4
  478. package/esm/utils/useElementResize.js +6 -3
  479. package/esm/utils/useFocus.d.ts +2 -2
  480. package/esm/utils/usePortal.d.ts +2 -2
  481. package/esm/utils/useRootClose.d.ts +2 -2
  482. package/esm/utils/useTimeout.d.ts +1 -1
  483. package/esm/utils/useTimeout.js +5 -3
  484. package/package.json +3 -3
  485. package/styles/index.less +2 -0
@@ -1 +1,2 @@
1
- export default function reactToString(element: any): any[];
1
+ import React from 'react';
2
+ export default function reactToString(element: React.ReactElement): string[];
@@ -7,6 +7,6 @@ export declare const MESSAGE_STATUS_ICONS: {
7
7
  };
8
8
  export declare const PROGRESS_STATUS_ICON: {
9
9
  success: JSX.Element;
10
- active: any;
10
+ active: null;
11
11
  fail: JSX.Element;
12
12
  };
@@ -1,2 +1,2 @@
1
- declare const _default: (value: any, labelKey?: string, valueKey?: string) => object;
1
+ declare const _default: (value: any, labelKey?: string | undefined, valueKey?: string | undefined) => object | null;
2
2
  export default _default;
@@ -30,7 +30,7 @@ export declare function getNodeParents(node: any, parentKey?: string, valueKey?:
30
30
  * @param node
31
31
  * @param valueKey
32
32
  */
33
- export declare function getNodeParentKeys(nodes: TreeNodesType, node: TreeNodeType, valueKey: string): any[];
33
+ export declare function getNodeParentKeys(nodes: TreeNodesType, node: TreeNodeType, valueKey: string): TreeNodeType[];
34
34
  export declare function hasVisibleChildren(node: TreeNodeType, childrenKey: string): any;
35
35
  /**
36
36
  * shallow equal array
@@ -61,7 +61,7 @@ export declare function createUpdateTreeDataFunction(params: any, { valueKey, ch
61
61
  childrenKey: any;
62
62
  }): (tree: any[]) => any[];
63
63
  export declare function findNodeOfTree(data: any, check: any): any;
64
- export declare function filterNodesOfTree(data: any, check: any): any[];
64
+ export declare function filterNodesOfTree(data: any, check: any): TreeNodeType[];
65
65
  /**
66
66
  * get all focusable items
67
67
  * exclude not visible and disabled node
@@ -70,7 +70,7 @@ export declare function filterNodesOfTree(data: any, check: any): any[];
70
70
  * @param isSearching - component is in Searching
71
71
  * @returns
72
72
  */
73
- export declare const getFocusableItems: (filteredData: ItemDataType[], props: PartialTreeProps, isSearching?: boolean) => any[];
73
+ export declare const getFocusableItems: (filteredData: ItemDataType[], props: PartialTreeProps, isSearching?: boolean | undefined) => TreeNodeType[];
74
74
  /**
75
75
  * return all focusable Item and active Element index
76
76
  * @param focusItemValue
@@ -82,7 +82,7 @@ export declare const getActiveIndex: (focusItemValue: any, focusItems: any[], va
82
82
  * @param flattenNodes - flattenData
83
83
  */
84
84
  export declare const getActiveItem: (focusItemValue: string | number, flattenNodes: TreeNodesType, valueKey: string) => any;
85
- export declare const getElementByDataKey: (dataKey: string, treeNodesRefs: any, selector: string) => Element;
85
+ export declare const getElementByDataKey: (dataKey: string, treeNodesRefs: any, selector: string) => Element | null;
86
86
  /**
87
87
  * focus to specify tree node
88
88
  * @param refKey - target node refKey
@@ -91,7 +91,7 @@ export declare const getElementByDataKey: (dataKey: string, treeNodesRefs: any,
91
91
  */
92
92
  export declare const focusTreeNode: (refKey: string, treeNodeRefs: any, selector: string) => void;
93
93
  export interface FocusPrevOrNextProps {
94
- focusItemValue: string | number;
94
+ focusItemValue: string | number | null;
95
95
  focusableItems: any[];
96
96
  treeNodesRefs: any;
97
97
  selector: string;
@@ -111,7 +111,7 @@ export declare const focusPreviousItem: ({ focusItemValue, focusableItems, treeN
111
111
  export interface ArrowHandlerProps {
112
112
  focusItem: TreeNodeType;
113
113
  expand: boolean;
114
- childrenKey?: string;
114
+ childrenKey: string;
115
115
  onExpand: (focusItem: TreeNodeType) => void;
116
116
  onFocusItem: () => void;
117
117
  }
@@ -137,20 +137,21 @@ export declare function rightArrowHandler({ focusItem, expand, childrenKey, onEx
137
137
  * @param value - activeItem value
138
138
  * @param valueKey
139
139
  */
140
- export declare const getScrollToIndex: (nodes: TreeNodeType[], value: string | number, valueKey: string) => number;
140
+ export declare const getScrollToIndex: (nodes: readonly TreeNodeType[], value: string | number, valueKey: string) => number;
141
141
  /**
142
142
  * when searching, expand state always return true
143
143
  * @param searchKeyword
144
144
  * @param expand
145
145
  */
146
146
  export declare function getExpandWhenSearching(searchKeyword: string, expand: boolean): boolean;
147
- export declare function getTreeActiveNode(nodes: TreeNodesType, value: number | string, valueKey: string): any;
147
+ declare function getTreeActiveNode<T extends number | string | undefined>(nodes: TreeNodesType, value: T, valueKey: string): T extends undefined ? undefined : TreeNodeType | undefined;
148
+ export { getTreeActiveNode };
148
149
  /**
149
150
  * toggle tree node
150
151
  * @param param0
151
152
  */
152
- export declare function toggleExpand({ node, isExpand, expandItemValues, valueKey }: any): unknown[];
153
- export declare function getTreeNodeTitle(label: any): string;
153
+ export declare function toggleExpand({ node, isExpand, expandItemValues, valueKey }: any): ItemDataType<string | number>[];
154
+ export declare function getTreeNodeTitle(label: any): string | undefined;
154
155
  /**
155
156
  * get all children from flattenNodes object by given parent node
156
157
  * @param nodes
@@ -158,14 +159,14 @@ export declare function getTreeNodeTitle(label: any): string;
158
159
  */
159
160
  export declare function getChildrenByFlattenNodes(nodes: TreeNodesType, parent: TreeNodeType): TreeNodeType[];
160
161
  export declare function useTreeDrag(): {
161
- dragNode: any;
162
- dragOverNodeKey: any;
163
- dragNodeKeys: any[];
164
- dropNodePosition: TREE_NODE_DROP_POSITION;
165
- setDragNode: (node: ItemDataType) => void;
166
- setDragOverNodeKey: React.Dispatch<any>;
167
- setDragNodeKeys: React.Dispatch<React.SetStateAction<any[]>>;
168
- setDropNodePosition: React.Dispatch<React.SetStateAction<TREE_NODE_DROP_POSITION>>;
162
+ dragNode: ItemDataType<string | number> | null;
163
+ dragOverNodeKey: null;
164
+ dragNodeKeys: (string | number)[];
165
+ dropNodePosition: TREE_NODE_DROP_POSITION | null;
166
+ setDragNode: (node: ItemDataType | null) => void;
167
+ setDragOverNodeKey: React.Dispatch<React.SetStateAction<null>>;
168
+ setDragNodeKeys: React.Dispatch<React.SetStateAction<(string | number)[]>>;
169
+ setDropNodePosition: React.Dispatch<React.SetStateAction<TREE_NODE_DROP_POSITION | null>>;
169
170
  };
170
171
  interface FlattenTreeDataProps {
171
172
  data: TreeNodeType[];
@@ -189,44 +190,44 @@ interface UnSerializeListProps {
189
190
  export declare function useFlattenTreeData({ data, labelKey, valueKey, childrenKey, uncheckableItemValues, callback }: FlattenTreeDataProps): {
190
191
  forceUpdate: () => void;
191
192
  flattenNodes: TreeNodesType;
192
- flattenTreeData: (treeData: TreeNodeType[], ref: string, parent?: TreeNodeType, layer?: any) => any[];
193
- serializeListOnlyParent: (nodes: TreeNodesType, key: string) => any[];
193
+ flattenTreeData: (treeData: TreeNodeType[], ref: string, parent?: TreeNodeType | undefined, layer?: any) => never[] | undefined;
194
+ serializeListOnlyParent: (nodes: TreeNodesType, key: string) => (string | number)[];
194
195
  unSerializeList: ({ nodes, key, value, cascade, uncheckableItemValues }: UnSerializeListProps) => void;
195
196
  formatVirtualizedTreeData: (nodes: TreeNodesType, data: any[], expandItemValues: ItemDataType[], options: {
196
197
  cascade?: boolean;
197
198
  searchKeyword?: string;
198
- }) => any[];
199
+ }) => TreeNodeType[];
199
200
  };
200
201
  /**
201
202
  * A hook that saving every tree node ref
202
203
  */
203
204
  export declare function useTreeNodeRefs(): {
204
205
  treeNodesRefs: {};
205
- saveTreeNodeRef: (refKey: string, ref: React.Ref<any>) => void;
206
+ saveTreeNodeRef: (ref: React.Ref<any>, refKey?: string | undefined) => void;
206
207
  };
207
208
  interface TreeSearchProps {
208
209
  labelKey: string;
209
210
  childrenKey: string;
210
- searchKeyword: string;
211
+ searchKeyword?: string;
211
212
  data: ItemDataType[];
212
- searchBy: (keyword: any, label: any, item: any) => boolean;
213
+ searchBy?: (keyword: any, label: any, item: any) => boolean;
213
214
  callback?: (keyword: string, data: ItemDataType[], event: React.SyntheticEvent) => void;
214
215
  }
215
216
  /**
216
217
  * A hook that handles tree search filter options
217
218
  * @param props
218
219
  */
219
- export declare function useTreeSearch(props: TreeSearchProps): {
220
+ export declare function useTreeSearch<T extends HTMLElement = HTMLInputElement>(props: TreeSearchProps): {
220
221
  searchKeywordState: string;
221
- filteredData: ItemDataType[];
222
+ filteredData: ItemDataType<string | number>[];
222
223
  setFilteredData: (data: ItemDataType[], searchKeyword: string) => void;
223
224
  setSearchKeyword: React.Dispatch<React.SetStateAction<string>>;
224
- handleSearch: (searchKeyword: string, event: React.SyntheticEvent) => void;
225
+ handleSearch: (searchKeyword: string, event: React.ChangeEvent<T>) => void;
225
226
  };
226
227
  export declare function useGetTreeNodeChildren(treeData: ItemDataType[], valueKey: string, childrenKey: string): {
227
- data: ItemDataType[];
228
- setData: React.Dispatch<React.SetStateAction<ItemDataType[]>>;
229
- loadingNodeValues: any[];
228
+ data: ItemDataType<string | number>[];
229
+ setData: React.Dispatch<React.SetStateAction<ItemDataType<string | number>[]>>;
230
+ loadingNodeValues: never[];
230
231
  loadChildren: (node: any, getChildren: any) => void;
231
232
  };
232
233
  export interface FocusToTreeNodeProps {
@@ -236,7 +237,7 @@ export interface FocusToTreeNodeProps {
236
237
  virtualized: boolean;
237
238
  container: HTMLDivElement;
238
239
  list: ListInstance;
239
- formattedNodes: TreeNodesType[];
240
+ formattedNodes: TreeNodeType[];
240
241
  }
241
242
  /**
242
243
  * Focus to active tree node.
@@ -244,4 +245,6 @@ export interface FocusToTreeNodeProps {
244
245
  */
245
246
  export declare function focusToActiveTreeNode({ list, valueKey, activeNode, virtualized, container, selector, formattedNodes }: FocusToTreeNodeProps): void;
246
247
  export declare function isSearching(searchKeyword?: string): boolean;
247
- export {};
248
+ export declare function getTreeNodeIndent(rtl: any, layer: any, absolute?: boolean): {
249
+ [x: string]: number;
250
+ };
@@ -33,6 +33,7 @@ exports.useTreeSearch = useTreeSearch;
33
33
  exports.useGetTreeNodeChildren = useGetTreeNodeChildren;
34
34
  exports.focusToActiveTreeNode = focusToActiveTreeNode;
35
35
  exports.isSearching = isSearching;
36
+ exports.getTreeNodeIndent = getTreeNodeIndent;
36
37
  exports.getScrollToIndex = exports.focusPreviousItem = exports.focusNextItem = exports.focusTreeNode = exports.getElementByDataKey = exports.getActiveItem = exports.getActiveIndex = exports.getFocusableItems = void 0;
37
38
 
38
39
  var _extends3 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
@@ -63,6 +64,8 @@ var _Picker = require("../Picker");
63
64
 
64
65
  var _reactToString = _interopRequireDefault(require("./reactToString"));
65
66
 
67
+ var _constants = require("./constants");
68
+
66
69
  // gap of tree node
67
70
  var TREE_NODE_GAP = 4;
68
71
  /**
@@ -659,24 +662,21 @@ function getExpandWhenSearching(searchKeyword, expand) {
659
662
  }
660
663
 
661
664
  function getTreeActiveNode(nodes, value, valueKey) {
662
- var activeNode = null;
663
-
664
- if (!(0, _isUndefined2.default)(value)) {
665
- Object.keys(nodes).forEach(function (refKey) {
666
- if ((0, _utils2.shallowEqual)(nodes[refKey][valueKey], value)) {
667
- activeNode = nodes[refKey];
668
- }
669
- });
665
+ if ((0, _isUndefined2.default)(value)) {
666
+ return undefined;
670
667
  }
671
668
 
672
- return activeNode;
669
+ for (var refKey in nodes) {
670
+ if ((0, _utils2.shallowEqual)(nodes[refKey][valueKey], value)) {
671
+ return nodes[refKey];
672
+ }
673
+ }
673
674
  }
675
+
674
676
  /**
675
677
  * toggle tree node
676
678
  * @param param0
677
679
  */
678
-
679
-
680
680
  function toggleExpand(_ref7) {
681
681
  var node = _ref7.node,
682
682
  isExpand = _ref7.isExpand,
@@ -710,7 +710,7 @@ function getTreeNodeTitle(label) {
710
710
 
711
711
 
712
712
  function getChildrenByFlattenNodes(nodes, parent) {
713
- if ((0, _isNil2.default)(nodes[parent.refKey])) {
713
+ if (!(0, _isNil2.default)(parent.refKey) && (0, _isNil2.default)(nodes[parent.refKey])) {
714
714
  return [];
715
715
  }
716
716
 
@@ -794,7 +794,7 @@ function useFlattenTreeData(_ref8) {
794
794
  node.refKey = refKey;
795
795
  flattenNodes[refKey] = (0, _extends3.default)((_extends2 = {
796
796
  layer: layer
797
- }, _extends2[labelKey] = node[labelKey], _extends2[valueKey] = node[valueKey], _extends2.refKey = refKey, _extends2.uncheckable = uncheckableItemValues.some(function (value) {
797
+ }, _extends2[labelKey] = node[labelKey], _extends2[valueKey] = node[valueKey], _extends2.uncheckable = uncheckableItemValues.some(function (value) {
798
798
  return (0, _utils2.shallowEqual)(node[valueKey], value);
799
799
  }), _extends2), node);
800
800
 
@@ -811,10 +811,8 @@ function useFlattenTreeData(_ref8) {
811
811
  Object.keys(nodes).forEach(function (refKey) {
812
812
  var currentNode = nodes[refKey];
813
813
 
814
- if (currentNode.parent) {
815
- var _currentNode$parent;
816
-
817
- var parentNode = nodes[(_currentNode$parent = currentNode.parent) === null || _currentNode$parent === void 0 ? void 0 : _currentNode$parent.refKey];
814
+ if (!(0, _isNil2.default)(currentNode.parent) && !(0, _isNil2.default)(currentNode.parent.refKey)) {
815
+ var parentNode = nodes[currentNode.parent.refKey];
818
816
 
819
817
  if (currentNode[key]) {
820
818
  if (!(parentNode !== null && parentNode !== void 0 && parentNode.checkAll)) {
@@ -846,7 +844,7 @@ function useFlattenTreeData(_ref8) {
846
844
  Object.keys(nodes).forEach(function (refKey) {
847
845
  var node = nodes[refKey];
848
846
 
849
- if (cascade && node.parent) {
847
+ if (cascade && !(0, _isNil2.default)(node.parent) && !(0, _isNil2.default)(node.parent.refKey)) {
850
848
  node[key] = nodes[node.parent.refKey][key];
851
849
  } else {
852
850
  node[key] = false;
@@ -928,8 +926,8 @@ function useFlattenTreeData(_ref8) {
928
926
  function useTreeNodeRefs() {
929
927
  var treeNodeRefs = (0, _react.useRef)({});
930
928
 
931
- var saveTreeNodeRef = function saveTreeNodeRef(refKey, ref) {
932
- if (refKey) {
929
+ var saveTreeNodeRef = function saveTreeNodeRef(ref, refKey) {
930
+ if (!(0, _isNil2.default)(refKey)) {
933
931
  treeNodeRefs.current[refKey] = ref;
934
932
  }
935
933
  };
@@ -971,11 +969,15 @@ function useTreeSearch(props) {
971
969
  return data;
972
970
  }, [childrenKey, labelKey, searchBy]); // Use search keywords to filter options.
973
971
 
974
- var _useState5 = (0, _react.useState)(searchKeyword !== null && searchKeyword !== void 0 ? searchKeyword : ''),
972
+ var _useState5 = (0, _react.useState)(function () {
973
+ return searchKeyword !== null && searchKeyword !== void 0 ? searchKeyword : '';
974
+ }),
975
975
  searchKeywordState = _useState5[0],
976
976
  setSearchKeyword = _useState5[1];
977
977
 
978
- var _useState6 = (0, _react.useState)(filterVisibleData(data, searchKeywordState)),
978
+ var _useState6 = (0, _react.useState)(function () {
979
+ return filterVisibleData(data, searchKeywordState);
980
+ }),
979
981
  filteredData = _useState6[0],
980
982
  setFilteredData = _useState6[1];
981
983
 
@@ -1068,8 +1070,10 @@ function focusToActiveTreeNode(_ref10) {
1068
1070
  if (!container) return;
1069
1071
 
1070
1072
  if (virtualized && activeNode) {
1073
+ var _list$scrollToRow;
1074
+
1071
1075
  var scrollIndex = getScrollToIndex(formattedNodes, activeNode === null || activeNode === void 0 ? void 0 : activeNode[valueKey], valueKey);
1072
- list.scrollToRow(scrollIndex);
1076
+ (_list$scrollToRow = list.scrollToRow) === null || _list$scrollToRow === void 0 ? void 0 : _list$scrollToRow.call(list, scrollIndex);
1073
1077
  return;
1074
1078
  }
1075
1079
 
@@ -1084,4 +1088,23 @@ function focusToActiveTreeNode(_ref10) {
1084
1088
 
1085
1089
  function isSearching(searchKeyword) {
1086
1090
  return !(0, _isEmpty2.default)(searchKeyword);
1091
+ }
1092
+
1093
+ function getTreeNodeIndent(rtl, layer, absolute) {
1094
+ var _ref12;
1095
+
1096
+ if (absolute === void 0) {
1097
+ absolute = false;
1098
+ }
1099
+
1100
+ // layer start from 1
1101
+ var offset = layer * _constants.TREE_NODE_PADDING + _constants.TREE_NODE_ROOT_PADDING;
1102
+
1103
+ if (absolute) {
1104
+ var _ref11;
1105
+
1106
+ return _ref11 = {}, _ref11[rtl ? 'right' : 'left'] = offset, _ref11;
1107
+ }
1108
+
1109
+ return _ref12 = {}, _ref12[rtl ? 'paddingRight' : 'paddingLeft'] = offset, _ref12;
1087
1110
  }
@@ -1,4 +1,5 @@
1
1
  /// <reference types="react" />
2
+ declare type InferDefined<T> = T extends infer U | undefined ? U : never;
2
3
  /**
3
4
  * A hook for controlled value management.
4
5
  * In the case of passing the controlled value, the controlled value is returned, otherwise the value in state is returned.
@@ -7,5 +8,9 @@
7
8
  * @param defaultValue
8
9
  * @param formatValue
9
10
  */
10
- declare function useControlled<T = any>(controlledValue: T, defaultValue: T): [T, (value: React.SetStateAction<T>) => void, boolean];
11
+ declare function useControlled<V = any, D = V>(controlledValue: V, defaultValue: D): [
12
+ V extends undefined ? D : InferDefined<V>,
13
+ (value: React.SetStateAction<V | null>) => void,
14
+ boolean
15
+ ];
11
16
  export default useControlled;
@@ -5,14 +5,6 @@ exports.default = void 0;
5
5
 
6
6
  var _react = require("react");
7
7
 
8
- /**
9
- * A hook for controlled value management.
10
- * In the case of passing the controlled value, the controlled value is returned, otherwise the value in state is returned.
11
- * Generally used for a component including controlled and uncontrolled modes.
12
- * @param controlledValue
13
- * @param defaultValue
14
- * @param formatValue
15
- */
16
8
  function useControlled(controlledValue, defaultValue) {
17
9
  var controlledRef = (0, _react.useRef)(false);
18
10
  controlledRef.current = controlledValue !== undefined;
@@ -32,6 +32,8 @@ var getDefaultRTL = function getDefaultRTL() {
32
32
 
33
33
 
34
34
  function useCustom(keys, overrideLocale) {
35
+ var _locale$Calendar2, _locale$Calendar4;
36
+
35
37
  var _useContext = (0, _react.useContext)(_CustomProvider.CustomContext),
36
38
  _useContext$locale = _useContext.locale,
37
39
  locale = _useContext$locale === void 0 ? _default2.default : _useContext$locale,
@@ -54,14 +56,14 @@ function useCustom(keys, overrideLocale) {
54
56
  return (0, _dateUtils.format)(date, formatStr, {
55
57
  locale: locale === null || locale === void 0 ? void 0 : (_locale$Calendar = locale.Calendar) === null || _locale$Calendar === void 0 ? void 0 : _locale$Calendar.dateLocale
56
58
  });
57
- }, [locale.Calendar.dateLocale]);
59
+ }, [(_locale$Calendar2 = locale.Calendar) === null || _locale$Calendar2 === void 0 ? void 0 : _locale$Calendar2.dateLocale]);
58
60
  var defaultParseDate = (0, _react.useCallback)(function (dateString, formatString) {
59
- var _locale$Calendar2;
61
+ var _locale$Calendar3;
60
62
 
61
63
  return (0, _dateUtils.parse)(dateString, formatString, new Date(), {
62
- locale: locale === null || locale === void 0 ? void 0 : (_locale$Calendar2 = locale.Calendar) === null || _locale$Calendar2 === void 0 ? void 0 : _locale$Calendar2.dateLocale
64
+ locale: locale === null || locale === void 0 ? void 0 : (_locale$Calendar3 = locale.Calendar) === null || _locale$Calendar3 === void 0 ? void 0 : _locale$Calendar3.dateLocale
63
65
  });
64
- }, [locale.Calendar.dateLocale]);
66
+ }, [(_locale$Calendar4 = locale.Calendar) === null || _locale$Calendar4 === void 0 ? void 0 : _locale$Calendar4.dateLocale]);
65
67
  return {
66
68
  locale: componentLocale,
67
69
  rtl: rtl,
@@ -17,9 +17,12 @@ var _resizeObserver = require("@juggle/resize-observer");
17
17
  function useElementResize(eventTarget, listener) {
18
18
  var resizeObserver = (0, _react.useRef)();
19
19
  (0, _react.useEffect)(function () {
20
- var target = typeof eventTarget === 'function' ? eventTarget() : eventTarget;
21
- resizeObserver.current = new _resizeObserver.ResizeObserver(listener);
22
- resizeObserver.current.observe(target);
20
+ if (!resizeObserver.current) {
21
+ var target = typeof eventTarget === 'function' ? eventTarget() : eventTarget;
22
+ resizeObserver.current = new _resizeObserver.ResizeObserver(listener);
23
+ resizeObserver.current.observe(target);
24
+ }
25
+
23
26
  return function () {
24
27
  var _resizeObserver$curre;
25
28
 
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- export default function useFocus<E extends HTMLElement>(elementRef: React.MutableRefObject<E>): {
2
+ export default function useFocus<E extends HTMLElement>(elementRef: React.RefObject<E>): {
3
3
  grab: () => void;
4
- release: (options?: FocusOptions) => void;
4
+ release: (options?: FocusOptions | undefined) => void;
5
5
  };
@@ -1,10 +1,10 @@
1
1
  import React from 'react';
2
2
  interface PortalProps {
3
3
  id?: string;
4
- container?: HTMLElement | (() => HTMLElement);
4
+ container?: HTMLElement | (() => HTMLElement | null) | null;
5
5
  }
6
6
  declare function usePortal(props?: PortalProps): {
7
- target: Element | HTMLElement;
7
+ target: HTMLElement | null;
8
8
  Portal: React.FC<any>;
9
9
  };
10
10
  export default usePortal;
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  declare type TargetType = React.RefObject<Element> | Element | null | undefined;
3
3
  interface Options {
4
4
  disabled: boolean;
@@ -16,5 +16,5 @@ interface Options {
16
16
  * @param param1
17
17
  * @todo Allow different behaviors based on whether clicked element is focusable
18
18
  */
19
- declare function useRootClose(onRootClose: (e: Event) => void, { disabled, triggerTarget, overlayTarget, listenEscape }: Options): void;
19
+ declare function useRootClose(onRootClose: React.ReactEventHandler | undefined, { disabled, triggerTarget, overlayTarget, listenEscape }: Options): void;
20
20
  export default useRootClose;
@@ -8,5 +8,5 @@ export interface UseTimeoutFnReturn {
8
8
  * @param ms Milliseconds of the timer
9
9
  * @param open Whether to open the timer
10
10
  */
11
- declare function useTimeout(fn: () => void, ms?: number, open?: boolean): UseTimeoutFnReturn;
11
+ declare function useTimeout(fn: (() => void) | undefined, ms?: number, open?: boolean): UseTimeoutFnReturn;
12
12
  export default useTimeout;
@@ -25,9 +25,11 @@ function useTimeout(fn, ms, open) {
25
25
  timeout.current && clearTimeout(timeout.current);
26
26
  }, []);
27
27
  var set = (0, _react.useCallback)(function () {
28
- timeout.current = open && setTimeout(function () {
29
- return fn === null || fn === void 0 ? void 0 : fn();
30
- }, ms);
28
+ if (open) {
29
+ timeout.current = setTimeout(function () {
30
+ return fn === null || fn === void 0 ? void 0 : fn();
31
+ }, ms);
32
+ }
31
33
  }, [ms, fn, open]);
32
34
  (0, _react.useEffect)(function () {
33
35
  set();