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,189 +1,153 @@
1
+ 'use client';
1
2
  "use strict";
2
3
 
3
4
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
-
7
6
  exports.__esModule = true;
8
7
  exports.default = void 0;
9
-
10
8
  var _extends3 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
-
12
9
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
13
-
14
10
  var _react = _interopRequireWildcard(require("react"));
15
-
16
11
  var _reactUseSet = require("react-use-set");
17
-
18
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
19
-
20
13
  var _omit = _interopRequireDefault(require("lodash/omit"));
21
-
22
14
  var _pick = _interopRequireDefault(require("lodash/pick"));
23
-
24
15
  var _isNil = _interopRequireDefault(require("lodash/isNil"));
25
-
26
16
  var _isFunction = _interopRequireDefault(require("lodash/isFunction"));
27
-
28
17
  var _shallowEqual = _interopRequireDefault(require("../utils/shallowEqual"));
29
-
30
18
  var _DropdownMenu = _interopRequireDefault(require("./DropdownMenu"));
31
-
32
19
  var _treeUtils = require("../utils/treeUtils");
33
-
34
20
  var _utils = require("./utils");
35
-
36
21
  var _utils2 = require("../utils");
37
-
38
22
  var _Picker = require("../Picker");
39
-
40
23
  var _useMap = require("../utils/useMap");
41
-
42
24
  var emptyArray = [];
43
-
44
25
  var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
45
26
  var _props$as = props.as,
46
- Component = _props$as === void 0 ? 'div' : _props$as,
47
- _props$data = props.data,
48
- data = _props$data === void 0 ? emptyArray : _props$data,
49
- _props$classPrefix = props.classPrefix,
50
- classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,
51
- _props$childrenKey = props.childrenKey,
52
- childrenKey = _props$childrenKey === void 0 ? 'children' : _props$childrenKey,
53
- _props$valueKey = props.valueKey,
54
- valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,
55
- _props$labelKey = props.labelKey,
56
- labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,
57
- defaultValue = props.defaultValue,
58
- placeholder = props.placeholder,
59
- disabled = props.disabled,
60
- _props$disabledItemVa = props.disabledItemValues,
61
- disabledItemValues = _props$disabledItemVa === void 0 ? emptyArray : _props$disabledItemVa,
62
- _props$appearance = props.appearance,
63
- appearance = _props$appearance === void 0 ? 'default' : _props$appearance,
64
- _props$cleanable = props.cleanable,
65
- cleanable = _props$cleanable === void 0 ? true : _props$cleanable,
66
- overrideLocale = props.locale,
67
- toggleAs = props.toggleAs,
68
- style = props.style,
69
- valueProp = props.value,
70
- inline = props.inline,
71
- menuClassName = props.menuClassName,
72
- menuStyle = props.menuStyle,
73
- menuWidth = props.menuWidth,
74
- menuHeight = props.menuHeight,
75
- _props$searchable = props.searchable,
76
- searchable = _props$searchable === void 0 ? true : _props$searchable,
77
- parentSelectable = props.parentSelectable,
78
- _props$placement = props.placement,
79
- placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,
80
- id = props.id,
81
- renderMenuItem = props.renderMenuItem,
82
- renderSearchItem = props.renderSearchItem,
83
- renderValue = props.renderValue,
84
- renderMenu = props.renderMenu,
85
- renderExtraFooter = props.renderExtraFooter,
86
- onEnter = props.onEnter,
87
- onExited = props.onExited,
88
- onClean = props.onClean,
89
- onChange = props.onChange,
90
- onSelect = props.onSelect,
91
- onSearch = props.onSearch,
92
- onClose = props.onClose,
93
- onOpen = props.onOpen,
94
- getChildren = props.getChildren,
95
- rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "data", "classPrefix", "childrenKey", "valueKey", "labelKey", "defaultValue", "placeholder", "disabled", "disabledItemValues", "appearance", "cleanable", "locale", "toggleAs", "style", "value", "inline", "menuClassName", "menuStyle", "menuWidth", "menuHeight", "searchable", "parentSelectable", "placement", "id", "renderMenuItem", "renderSearchItem", "renderValue", "renderMenu", "renderExtraFooter", "onEnter", "onExited", "onClean", "onChange", "onSelect", "onSearch", "onClose", "onOpen", "getChildren"]); // Use component active state to support keyboard events.
96
-
27
+ Component = _props$as === void 0 ? 'div' : _props$as,
28
+ _props$data = props.data,
29
+ data = _props$data === void 0 ? emptyArray : _props$data,
30
+ _props$classPrefix = props.classPrefix,
31
+ classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,
32
+ _props$childrenKey = props.childrenKey,
33
+ childrenKey = _props$childrenKey === void 0 ? 'children' : _props$childrenKey,
34
+ _props$valueKey = props.valueKey,
35
+ valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,
36
+ _props$labelKey = props.labelKey,
37
+ labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,
38
+ defaultValue = props.defaultValue,
39
+ placeholder = props.placeholder,
40
+ disabled = props.disabled,
41
+ _props$disabledItemVa = props.disabledItemValues,
42
+ disabledItemValues = _props$disabledItemVa === void 0 ? emptyArray : _props$disabledItemVa,
43
+ _props$appearance = props.appearance,
44
+ appearance = _props$appearance === void 0 ? 'default' : _props$appearance,
45
+ _props$cleanable = props.cleanable,
46
+ cleanable = _props$cleanable === void 0 ? true : _props$cleanable,
47
+ overrideLocale = props.locale,
48
+ toggleAs = props.toggleAs,
49
+ style = props.style,
50
+ valueProp = props.value,
51
+ inline = props.inline,
52
+ menuClassName = props.menuClassName,
53
+ menuStyle = props.menuStyle,
54
+ menuWidth = props.menuWidth,
55
+ menuHeight = props.menuHeight,
56
+ _props$searchable = props.searchable,
57
+ searchable = _props$searchable === void 0 ? true : _props$searchable,
58
+ parentSelectable = props.parentSelectable,
59
+ _props$placement = props.placement,
60
+ placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,
61
+ id = props.id,
62
+ renderMenuItem = props.renderMenuItem,
63
+ renderSearchItem = props.renderSearchItem,
64
+ renderValue = props.renderValue,
65
+ renderMenu = props.renderMenu,
66
+ renderExtraFooter = props.renderExtraFooter,
67
+ onEnter = props.onEnter,
68
+ onExited = props.onExited,
69
+ onClean = props.onClean,
70
+ onChange = props.onChange,
71
+ onSelect = props.onSelect,
72
+ onSearch = props.onSearch,
73
+ onClose = props.onClose,
74
+ onOpen = props.onOpen,
75
+ getChildren = props.getChildren,
76
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "data", "classPrefix", "childrenKey", "valueKey", "labelKey", "defaultValue", "placeholder", "disabled", "disabledItemValues", "appearance", "cleanable", "locale", "toggleAs", "style", "value", "inline", "menuClassName", "menuStyle", "menuWidth", "menuHeight", "searchable", "parentSelectable", "placement", "id", "renderMenuItem", "renderSearchItem", "renderValue", "renderMenu", "renderExtraFooter", "onEnter", "onExited", "onClean", "onChange", "onSelect", "onSearch", "onClose", "onOpen", "getChildren"]); // Use component active state to support keyboard events.
97
77
  var _useState = (0, _react.useState)(false),
98
- active = _useState[0],
99
- setActive = _useState[1];
100
-
78
+ active = _useState[0],
79
+ setActive = _useState[1];
101
80
  var triggerRef = (0, _react.useRef)(null);
102
81
  var overlayRef = (0, _react.useRef)(null);
103
82
  var targetRef = (0, _react.useRef)(null);
104
83
  var searchInputRef = (0, _react.useRef)(null);
105
-
106
84
  var _ref = (0, _utils2.useControlled)(valueProp, defaultValue),
107
- value = _ref[0],
108
- setValue = _ref[1];
109
-
85
+ value = _ref[0],
86
+ setValue = _ref[1];
110
87
  var isMounted = (0, _utils2.useIsMounted)();
111
88
  var loadingItemsSet = (0, _reactUseSet.useSet)();
112
89
  var asyncChildrenMap = (0, _useMap.useMap)();
113
90
  var parentMap = (0, _react.useMemo)(function () {
114
91
  return (0, _treeUtils.getParentMap)(data, function (item) {
115
92
  var _asyncChildrenMap$get;
116
-
117
93
  return (_asyncChildrenMap$get = asyncChildrenMap.get(item)) !== null && _asyncChildrenMap$get !== void 0 ? _asyncChildrenMap$get : item[childrenKey];
118
94
  });
119
95
  }, [asyncChildrenMap, childrenKey, data]);
120
96
  var flattenedData = (0, _react.useMemo)(function () {
121
97
  return (0, _treeUtils.flattenTree)(data, function (item) {
122
98
  var _asyncChildrenMap$get2;
123
-
124
99
  return (_asyncChildrenMap$get2 = asyncChildrenMap.get(item)) !== null && _asyncChildrenMap$get2 !== void 0 ? _asyncChildrenMap$get2 : item[childrenKey];
125
100
  });
126
- }, [asyncChildrenMap, childrenKey, data]); // The item that focus is on
101
+ }, [asyncChildrenMap, childrenKey, data]);
127
102
 
103
+ // The item that focus is on
128
104
  var _useState2 = (0, _react.useState)(),
129
- activeItem = _useState2[0],
130
- setActiveItem = _useState2[1];
131
-
105
+ activeItem = _useState2[0],
106
+ setActiveItem = _useState2[1];
132
107
  var _usePaths = (0, _utils.usePaths)({
133
- data: data,
134
- activeItem: activeItem,
135
- selectedItem: flattenedData.find(function (item) {
136
- return item[valueKey] === value;
108
+ data: data,
109
+ activeItem: activeItem,
110
+ selectedItem: flattenedData.find(function (item) {
111
+ return item[valueKey] === value;
112
+ }),
113
+ getParent: function getParent(item) {
114
+ return parentMap.get(item);
115
+ },
116
+ getChildren: function getChildren(item) {
117
+ var _asyncChildrenMap$get3;
118
+ return (_asyncChildrenMap$get3 = asyncChildrenMap.get(item)) !== null && _asyncChildrenMap$get3 !== void 0 ? _asyncChildrenMap$get3 : item[childrenKey];
119
+ }
137
120
  }),
138
- getParent: function getParent(item) {
139
- return parentMap.get(item);
140
- },
141
- getChildren: function getChildren(item) {
142
- var _asyncChildrenMap$get3;
143
-
144
- return (_asyncChildrenMap$get3 = asyncChildrenMap.get(item)) !== null && _asyncChildrenMap$get3 !== void 0 ? _asyncChildrenMap$get3 : item[childrenKey];
145
- }
146
- }),
147
- columnsToDisplay = _usePaths.columnsToDisplay,
148
- pathTowardsActiveItem = _usePaths.pathTowardsActiveItem,
149
- pathTowardsSelectedItem = _usePaths.pathTowardsSelectedItem;
150
-
121
+ columnsToDisplay = _usePaths.columnsToDisplay,
122
+ pathTowardsActiveItem = _usePaths.pathTowardsActiveItem,
123
+ pathTowardsSelectedItem = _usePaths.pathTowardsSelectedItem;
151
124
  (0, _Picker.usePublicMethods)(ref, {
152
125
  triggerRef: triggerRef,
153
126
  overlayRef: overlayRef,
154
127
  targetRef: targetRef
155
128
  });
156
-
157
129
  var _useCustom = (0, _utils2.useCustom)('Picker', overrideLocale),
158
- locale = _useCustom.locale,
159
- rtl = _useCustom.rtl;
130
+ locale = _useCustom.locale,
131
+ rtl = _useCustom.rtl;
160
132
  /**
161
133
  * 1.Have a value and the value is valid.
162
134
  * 2.Regardless of whether the value is valid, as long as renderValue is set, it is judged to have a value.
163
135
  */
164
-
165
-
166
136
  var hasValue = pathTowardsSelectedItem.length > 0 || !(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue);
167
-
168
137
  var _useClassNames = (0, _utils2.useClassNames)(classPrefix),
169
- prefix = _useClassNames.prefix,
170
- merge = _useClassNames.merge;
171
-
138
+ prefix = _useClassNames.prefix,
139
+ merge = _useClassNames.merge;
172
140
  var _useState3 = (0, _react.useState)(''),
173
- searchKeyword = _useState3[0],
174
- setSearchKeyword = _useState3[1];
175
-
141
+ searchKeyword = _useState3[0],
142
+ setSearchKeyword = _useState3[1];
176
143
  var someKeyword = (0, _react.useCallback)(function (item, keyword) {
177
144
  if (item[labelKey].match(new RegExp((0, _utils2.getSafeRegExpString)(keyword || searchKeyword), 'i'))) {
178
145
  return true;
179
146
  }
180
-
181
147
  var parent = parentMap.get(item);
182
-
183
148
  if (parent && someKeyword(parent)) {
184
149
  return true;
185
150
  }
186
-
187
151
  return false;
188
152
  }, [labelKey, parentMap, searchKeyword]);
189
153
  var getSearchResult = (0, _react.useCallback)(function (keyword) {
@@ -192,49 +156,46 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
192
156
  if (!parentSelectable && item[childrenKey]) {
193
157
  return false;
194
158
  }
195
-
196
159
  return someKeyword(item, keyword);
197
160
  });
198
-
199
161
  for (var i = 0; i < result.length; i++) {
200
- items.push(result[i]); // A maximum of 100 search results are returned.
162
+ items.push(result[i]);
201
163
 
164
+ // A maximum of 100 search results are returned.
202
165
  if (i === 99) {
203
166
  return items;
204
167
  }
205
168
  }
206
-
207
169
  return items;
208
- }, [childrenKey, flattenedData, someKeyword, parentSelectable]); // Used to hover the focuse item when trigger `onKeydown`
170
+ }, [childrenKey, flattenedData, someKeyword, parentSelectable]);
209
171
 
172
+ // Used to hover the focuse item when trigger `onKeydown`
210
173
  var _useFocusItemValue = (0, _Picker.useFocusItemValue)(value, {
211
- rtl: rtl,
212
- data: flattenedData,
213
- valueKey: valueKey,
214
- defaultLayer: pathTowardsSelectedItem !== null && pathTowardsSelectedItem !== void 0 && pathTowardsSelectedItem.length ? pathTowardsSelectedItem.length - 1 : 0,
215
- target: function target() {
216
- return overlayRef.current;
217
- },
218
- getParent: function getParent(item) {
219
- return parentMap.get(item);
220
- },
221
- callback: (0, _react.useCallback)(function (value) {
222
- setActiveItem(flattenedData.find(function (item) {
223
- return item[valueKey] === value;
224
- }));
225
- }, [flattenedData, setActiveItem, valueKey])
226
- }),
227
- focusItemValue = _useFocusItemValue.focusItemValue,
228
- setFocusItemValue = _useFocusItemValue.setFocusItemValue,
229
- setLayer = _useFocusItemValue.setLayer,
230
- setKeys = _useFocusItemValue.setKeys,
231
- onFocusItem = _useFocusItemValue.onKeyDown;
232
-
174
+ rtl: rtl,
175
+ data: flattenedData,
176
+ valueKey: valueKey,
177
+ defaultLayer: pathTowardsSelectedItem !== null && pathTowardsSelectedItem !== void 0 && pathTowardsSelectedItem.length ? pathTowardsSelectedItem.length - 1 : 0,
178
+ target: function target() {
179
+ return overlayRef.current;
180
+ },
181
+ getParent: function getParent(item) {
182
+ return parentMap.get(item);
183
+ },
184
+ callback: (0, _react.useCallback)(function (value) {
185
+ setActiveItem(flattenedData.find(function (item) {
186
+ return item[valueKey] === value;
187
+ }));
188
+ }, [flattenedData, setActiveItem, valueKey])
189
+ }),
190
+ focusItemValue = _useFocusItemValue.focusItemValue,
191
+ setFocusItemValue = _useFocusItemValue.setFocusItemValue,
192
+ setLayer = _useFocusItemValue.setLayer,
193
+ setKeys = _useFocusItemValue.setKeys,
194
+ onFocusItem = _useFocusItemValue.onKeyDown;
233
195
  var handleSearch = (0, _react.useCallback)(function (value, event) {
234
196
  var items = getSearchResult(value);
235
197
  setSearchKeyword(value);
236
198
  onSearch === null || onSearch === void 0 ? void 0 : onSearch(value, event);
237
-
238
199
  if (items.length > 0) {
239
200
  setFocusItemValue(items[0][valueKey]);
240
201
  setLayer(0);
@@ -245,7 +206,6 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
245
206
  if (!targetRef.current) {
246
207
  return;
247
208
  }
248
-
249
209
  onOpen === null || onOpen === void 0 ? void 0 : onOpen();
250
210
  setActive(true);
251
211
  }, [onOpen]);
@@ -253,21 +213,18 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
253
213
  if (!targetRef.current) {
254
214
  return;
255
215
  }
256
-
257
216
  onClose === null || onClose === void 0 ? void 0 : onClose();
258
217
  setActive(false);
259
218
  setSearchKeyword('');
260
219
  }, [onClose]);
261
220
  var handleClose = (0, _react.useCallback)(function () {
262
221
  var _triggerRef$current;
263
-
264
222
  (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.close();
265
223
  }, [triggerRef]);
266
224
  var handleClean = (0, _react.useCallback)(function (event) {
267
225
  if (disabled || !targetRef.current) {
268
226
  return;
269
227
  }
270
-
271
228
  setValue(null);
272
229
  onChange === null || onChange === void 0 ? void 0 : onChange(null, event);
273
230
  }, [disabled, onChange, setValue]);
@@ -276,19 +233,15 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
276
233
  return item[valueKey] === focusItemValue;
277
234
  });
278
235
  var isLeafNode = focusItem && !focusItem[childrenKey];
279
-
280
236
  if (isLeafNode) {
281
237
  setValue(focusItemValue);
282
-
283
238
  if (pathTowardsActiveItem.length) {
284
239
  setLayer(pathTowardsActiveItem.length - 1);
285
240
  }
286
-
287
241
  if (!(0, _shallowEqual.default)(value, focusItemValue)) {
288
242
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(focusItem, pathTowardsActiveItem, event);
289
243
  onChange === null || onChange === void 0 ? void 0 : onChange(focusItemValue !== null && focusItemValue !== void 0 ? focusItemValue : null, event);
290
244
  }
291
-
292
245
  handleClose();
293
246
  }
294
247
  }, [childrenKey, data, focusItemValue, handleClose, onChange, pathTowardsActiveItem, setLayer, setValue, value, valueKey, onSelect]);
@@ -303,18 +256,16 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
303
256
  onMenuKeyDown: onFocusItem,
304
257
  onMenuPressEnter: handleMenuPressEnter
305
258
  }, rest));
306
-
307
259
  var handleSelect = function handleSelect(node, cascadePaths, isLeafNode, event) {
308
260
  var _node$childrenKey, _triggerRef$current2;
309
-
310
261
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, cascadePaths, event);
311
262
  setActiveItem(node);
312
- var nextValue = node[valueKey]; // Lazy load node's children
263
+ var nextValue = node[valueKey];
313
264
 
265
+ // Lazy load node's children
314
266
  if (typeof getChildren === 'function' && ((_node$childrenKey = node[childrenKey]) === null || _node$childrenKey === void 0 ? void 0 : _node$childrenKey.length) === 0 && !asyncChildrenMap.has(node)) {
315
267
  loadingItemsSet.add(node);
316
268
  var children = getChildren(node);
317
-
318
269
  if (children instanceof Promise) {
319
270
  children.then(function (data) {
320
271
  if (isMounted()) {
@@ -327,34 +278,29 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
327
278
  asyncChildrenMap.set(node, children);
328
279
  }
329
280
  }
330
-
331
281
  if (isLeafNode) {
332
282
  // Determines whether the option is a leaf node, and if so, closes the picker.
333
283
  handleClose();
334
284
  setValue(nextValue);
335
-
336
285
  if (!(0, _shallowEqual.default)(value, nextValue)) {
337
286
  onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);
338
287
  }
339
-
340
288
  return;
341
289
  }
342
- /** When the parent is optional, the value and the displayed path are updated. */
343
-
344
290
 
291
+ /** When the parent is optional, the value and the displayed path are updated. */
345
292
  if (parentSelectable && !(0, _shallowEqual.default)(value, nextValue)) {
346
293
  setValue(nextValue);
347
294
  onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);
348
- } // Update menu position
349
-
295
+ }
350
296
 
297
+ // Update menu position
351
298
  (_triggerRef$current2 = triggerRef.current) === null || _triggerRef$current2 === void 0 ? void 0 : _triggerRef$current2.updatePosition();
352
299
  };
300
+
353
301
  /**
354
302
  * The search structure option is processed after being selected.
355
303
  */
356
-
357
-
358
304
  var handleSearchRowSelect = function handleSearchRowSelect(node, nodes, event) {
359
305
  var nextValue = node[valueKey];
360
306
  handleClose();
@@ -363,7 +309,6 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
363
309
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, nodes, event);
364
310
  onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);
365
311
  };
366
-
367
312
  var renderSearchRow = function renderSearchRow(item, key) {
368
313
  var regx = new RegExp((0, _utils2.getSafeRegExpString)(searchKeyword), 'ig');
369
314
  var nodes = (0, _treeUtils.getPathTowardsItem)(item, function (item) {
@@ -371,14 +316,11 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
371
316
  });
372
317
  var formattedNodes = nodes.map(function (node) {
373
318
  var _extends2;
374
-
375
319
  var labelElements = [];
376
320
  var a = node[labelKey].split(regx);
377
321
  var b = node[labelKey].match(regx);
378
-
379
322
  for (var i = 0; i < a.length; i++) {
380
323
  labelElements.push(a[i]);
381
-
382
324
  if (b && b[i]) {
383
325
  labelElements.push( /*#__PURE__*/_react.default.createElement("span", {
384
326
  key: i,
@@ -386,7 +328,6 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
386
328
  }, b[i]));
387
329
  }
388
330
  }
389
-
390
331
  return (0, _extends3.default)({}, node, (_extends2 = {}, _extends2[labelKey] = labelElements, _extends2));
391
332
  });
392
333
  var disabled = disabledItemValues.some(function (value) {
@@ -416,12 +357,10 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
416
357
  }
417
358
  }, renderSearchItem ? renderSearchItem(label, nodes) : label);
418
359
  };
419
-
420
360
  var renderSearchResultPanel = function renderSearchResultPanel() {
421
361
  if (searchKeyword === '') {
422
362
  return null;
423
363
  }
424
-
425
364
  var items = getSearchResult();
426
365
  return /*#__PURE__*/_react.default.createElement("div", {
427
366
  className: prefix('cascader-search-panel'),
@@ -430,13 +369,11 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
430
369
  className: prefix('none')
431
370
  }, locale.noResultsText));
432
371
  };
433
-
434
372
  var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {
435
373
  var _ref2 = positionProps || {},
436
- left = _ref2.left,
437
- top = _ref2.top,
438
- className = _ref2.className;
439
-
374
+ left = _ref2.left,
375
+ top = _ref2.top,
376
+ className = _ref2.className;
440
377
  var styles = (0, _extends3.default)({}, menuStyle, {
441
378
  left: left,
442
379
  top: top
@@ -467,16 +404,15 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
467
404
  classPrefix: 'picker-cascader-menu',
468
405
  cascadeData: columnsToDisplay,
469
406
  cascadePaths: pathTowardsActiveItem,
470
- activeItemValue: value // FIXME make onSelect generic
407
+ activeItemValue: value
408
+ // FIXME make onSelect generic
471
409
  ,
472
410
  onSelect: handleSelect,
473
411
  renderMenu: renderMenu,
474
412
  renderMenuItem: renderMenuItem
475
413
  }), renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());
476
414
  };
477
-
478
415
  var selectedElement = placeholder;
479
-
480
416
  if (pathTowardsSelectedItem.length > 0) {
481
417
  selectedElement = [];
482
418
  pathTowardsSelectedItem.forEach(function (item, index) {
@@ -484,7 +420,6 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
484
420
  selectedElement.push( /*#__PURE__*/_react.default.createElement("span", {
485
421
  key: key
486
422
  }, item[labelKey]));
487
-
488
423
  if (index < pathTowardsSelectedItem.length - 1) {
489
424
  selectedElement.push( /*#__PURE__*/_react.default.createElement("span", {
490
425
  className: "separator",
@@ -493,31 +428,26 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
493
428
  }
494
429
  });
495
430
  }
496
-
497
431
  if (!(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue)) {
498
- selectedElement = renderValue(value, pathTowardsSelectedItem, selectedElement); // If renderValue returns null or undefined, hasValue is false.
499
-
432
+ selectedElement = renderValue(value, pathTowardsSelectedItem, selectedElement);
433
+ // If renderValue returns null or undefined, hasValue is false.
500
434
  if ((0, _isNil.default)(selectedElement)) {
501
435
  hasValue = false;
502
436
  }
503
437
  }
504
-
505
438
  var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends3.default)({}, props, {
506
- classPrefix: classPrefix,
507
- hasValue: hasValue,
508
- name: 'cascader',
509
- appearance: appearance,
510
- cleanable: cleanable
511
- })),
512
- classes = _usePickerClassName[0],
513
- usedClassNamePropKeys = _usePickerClassName[1]; // TODO: bad api design
439
+ classPrefix: classPrefix,
440
+ hasValue: hasValue,
441
+ name: 'cascader',
442
+ appearance: appearance,
443
+ cleanable: cleanable
444
+ })),
445
+ classes = _usePickerClassName[0],
446
+ usedClassNamePropKeys = _usePickerClassName[1]; // TODO: bad api design
514
447
  // consider an isolated Menu component
515
-
516
-
517
448
  if (inline) {
518
449
  return renderDropdownMenu();
519
450
  }
520
-
521
451
  return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {
522
452
  pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),
523
453
  ref: triggerRef,
@@ -543,7 +473,6 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
543
473
  inputValue: value !== null && value !== void 0 ? value : ''
544
474
  }), selectedElement || (locale === null || locale === void 0 ? void 0 : locale.placeholder))));
545
475
  });
546
-
547
476
  Cascader.displayName = 'Cascader';
548
477
  Cascader.propTypes = (0, _extends3.default)({}, _Picker.listPickerPropTypes, {
549
478
  disabledItemValues: _propTypes.default.array,