rsuite 5.40.0 → 5.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (886) hide show
  1. package/CHANGELOG.md +20 -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 +36 -76
  118. package/cjs/Form/FormContext.js +1 -8
  119. package/cjs/Form/index.js +1 -4
  120. package/cjs/Form/useFormClassNames.js +11 -14
  121. package/cjs/Form/useSchemaModel.js +2 -6
  122. package/cjs/FormControl/FormControl.js +50 -82
  123. package/cjs/FormControl/index.js +1 -3
  124. package/cjs/FormControl/useRegisterModel.js +1 -3
  125. package/cjs/FormControlLabel/FormControlLabel.js +10 -22
  126. package/cjs/FormControlLabel/index.js +1 -3
  127. package/cjs/FormErrorMessage/FormErrorMessage.js +12 -27
  128. package/cjs/FormErrorMessage/index.js +1 -3
  129. package/cjs/FormGroup/FormGroup.js +9 -21
  130. package/cjs/FormGroup/index.js +1 -3
  131. package/cjs/FormHelpText/FormHelpText.js +11 -28
  132. package/cjs/FormHelpText/index.js +1 -3
  133. package/cjs/Grid/Grid.js +10 -19
  134. package/cjs/Grid/index.js +1 -3
  135. package/cjs/Header/Header.js +1 -3
  136. package/cjs/Header/index.js +1 -3
  137. package/cjs/IconButton/IconButton.js +11 -21
  138. package/cjs/IconButton/index.js +1 -3
  139. package/cjs/Input/Input.js +26 -43
  140. package/cjs/Input/index.js +1 -3
  141. package/cjs/InputGroup/InputGroup.js +23 -39
  142. package/cjs/InputGroup/InputGroupAddon.js +9 -18
  143. package/cjs/InputGroup/InputGroupButton.js +7 -17
  144. package/cjs/InputGroup/index.js +1 -3
  145. package/cjs/InputNumber/InputNumber.js +42 -88
  146. package/cjs/InputNumber/index.js +1 -3
  147. package/cjs/InputPicker/InputAutosize.js +17 -42
  148. package/cjs/InputPicker/InputPicker.js +149 -250
  149. package/cjs/InputPicker/InputSearch.js +15 -28
  150. package/cjs/InputPicker/index.js +1 -3
  151. package/cjs/List/List.js +37 -51
  152. package/cjs/List/ListContext.js +1 -5
  153. package/cjs/List/ListItem.js +26 -40
  154. package/cjs/List/helper/AutoScroller.js +11 -21
  155. package/cjs/List/helper/useManager.js +1 -8
  156. package/cjs/List/helper/useSortHelper.js +58 -82
  157. package/cjs/List/helper/utils.js +6 -19
  158. package/cjs/List/index.js +1 -3
  159. package/cjs/Loader/Loader.js +17 -26
  160. package/cjs/Loader/index.js +1 -3
  161. package/cjs/MaskedInput/MaskedInput.js +2 -8
  162. package/cjs/MaskedInput/TextMask.js +14 -23
  163. package/cjs/MaskedInput/adjustCaretPosition.js +99 -70
  164. package/cjs/MaskedInput/conformToMask.js +79 -73
  165. package/cjs/MaskedInput/createTextMaskInputElement.js +65 -71
  166. package/cjs/MaskedInput/index.js +1 -3
  167. package/cjs/MaskedInput/types.js +1 -0
  168. package/cjs/MaskedInput/utilities.js +1 -8
  169. package/cjs/Menu/Menu.js +35 -79
  170. package/cjs/Menu/MenuContext.js +1 -8
  171. package/cjs/Menu/MenuItem.js +15 -26
  172. package/cjs/Menu/Menubar.js +13 -32
  173. package/cjs/Menu/index.js +1 -3
  174. package/cjs/Menu/useMenu.js +5 -34
  175. package/cjs/Message/Message.js +23 -45
  176. package/cjs/Message/index.js +1 -3
  177. package/cjs/Modal/Modal.js +70 -91
  178. package/cjs/Modal/ModalBody.js +11 -25
  179. package/cjs/Modal/ModalContext.js +1 -4
  180. package/cjs/Modal/ModalDialog.js +14 -26
  181. package/cjs/Modal/ModalFooter.js +1 -3
  182. package/cjs/Modal/ModalHeader.js +14 -29
  183. package/cjs/Modal/ModalTitle.js +9 -20
  184. package/cjs/Modal/index.js +1 -3
  185. package/cjs/Modal/utils.js +8 -19
  186. package/cjs/MultiCascader/DropdownMenu.js +38 -64
  187. package/cjs/MultiCascader/MultiCascader.js +129 -192
  188. package/cjs/MultiCascader/index.js +1 -3
  189. package/cjs/MultiCascader/utils.js +44 -106
  190. package/cjs/Nav/Nav.js +27 -69
  191. package/cjs/Nav/NavContext.js +1 -4
  192. package/cjs/Nav/NavDropdown.js +28 -60
  193. package/cjs/Nav/NavDropdownItem.js +20 -42
  194. package/cjs/Nav/NavDropdownMenu.js +26 -54
  195. package/cjs/Nav/NavDropdownToggle.js +12 -26
  196. package/cjs/Nav/NavItem.js +20 -39
  197. package/cjs/Nav/NavMenu.js +2 -28
  198. package/cjs/Nav/index.js +1 -3
  199. package/cjs/Navbar/Navbar.js +10 -23
  200. package/cjs/Navbar/NavbarBody.js +1 -6
  201. package/cjs/Navbar/NavbarBrand.js +1 -3
  202. package/cjs/Navbar/NavbarDropdown.js +25 -49
  203. package/cjs/Navbar/NavbarDropdownItem.js +18 -44
  204. package/cjs/Navbar/NavbarDropdownMenu.js +22 -51
  205. package/cjs/Navbar/NavbarDropdownToggle.js +12 -25
  206. package/cjs/Navbar/NavbarHeader.js +1 -6
  207. package/cjs/Navbar/NavbarItem.js +19 -35
  208. package/cjs/Navbar/index.js +1 -3
  209. package/cjs/Notification/Notification.js +20 -43
  210. package/cjs/Notification/index.js +1 -3
  211. package/cjs/Overlay/Modal.js +40 -79
  212. package/cjs/Overlay/ModalManager.js +1 -26
  213. package/cjs/Overlay/Overlay.js +28 -50
  214. package/cjs/Overlay/OverlayContext.js +1 -4
  215. package/cjs/Overlay/OverlayTrigger.js +67 -116
  216. package/cjs/Overlay/Position.js +25 -64
  217. package/cjs/Overlay/index.js +1 -3
  218. package/cjs/Overlay/positionUtils.js +25 -86
  219. package/cjs/Pagination/Pagination.js +30 -70
  220. package/cjs/Pagination/PaginationButton.js +15 -29
  221. package/cjs/Pagination/PaginationGroup.js +38 -63
  222. package/cjs/Pagination/index.js +1 -3
  223. package/cjs/Panel/Panel.js +37 -61
  224. package/cjs/Panel/index.js +1 -3
  225. package/cjs/PanelGroup/PanelGroup.js +16 -29
  226. package/cjs/PanelGroup/index.js +1 -3
  227. package/cjs/Picker/DropdownMenu.js +50 -93
  228. package/cjs/Picker/DropdownMenuCheckItem.js +22 -33
  229. package/cjs/Picker/DropdownMenuGroup.js +10 -22
  230. package/cjs/Picker/DropdownMenuItem.js +15 -26
  231. package/cjs/Picker/PickerOverlay.js +12 -28
  232. package/cjs/Picker/PickerToggle.js +57 -89
  233. package/cjs/Picker/PickerToggleTrigger.js +8 -19
  234. package/cjs/Picker/SearchBar.js +14 -26
  235. package/cjs/Picker/SelectedElement.js +9 -17
  236. package/cjs/Picker/ToggleButton.js +1 -6
  237. package/cjs/Picker/index.js +1 -24
  238. package/cjs/Picker/propTypes.js +1 -7
  239. package/cjs/Picker/types.js +1 -0
  240. package/cjs/Picker/utils.js +94 -200
  241. package/cjs/Placeholder/Placeholder.js +1 -5
  242. package/cjs/Placeholder/PlaceholderGraph.js +13 -22
  243. package/cjs/Placeholder/PlaceholderGrid.js +18 -34
  244. package/cjs/Placeholder/PlaceholderParagraph.js +17 -29
  245. package/cjs/Placeholder/index.js +1 -3
  246. package/cjs/Plaintext/Plaintext.js +14 -23
  247. package/cjs/Plaintext/index.js +1 -3
  248. package/cjs/Popover/Popover.js +16 -27
  249. package/cjs/Popover/index.js +1 -3
  250. package/cjs/Progress/Progress.js +1 -4
  251. package/cjs/Progress/ProgressCircle.js +30 -47
  252. package/cjs/Progress/ProgressLine.js +19 -29
  253. package/cjs/Progress/index.js +1 -3
  254. package/cjs/Radio/Radio.js +42 -62
  255. package/cjs/Radio/index.js +1 -3
  256. package/cjs/RadioGroup/RadioGroup.js +22 -37
  257. package/cjs/RadioGroup/index.js +1 -3
  258. package/cjs/RadioTile/RadioTile.js +30 -47
  259. package/cjs/RadioTile/index.js +1 -3
  260. package/cjs/RadioTileGroup/RadioTileGroup.js +17 -32
  261. package/cjs/RadioTileGroup/index.js +1 -3
  262. package/cjs/RangeSlider/RangeSlider.js +63 -104
  263. package/cjs/RangeSlider/index.js +1 -3
  264. package/cjs/Rate/Character.js +16 -31
  265. package/cjs/Rate/Rate.js +35 -62
  266. package/cjs/Rate/index.js +1 -3
  267. package/cjs/Rate/utils.js +1 -6
  268. package/cjs/Ripple/Ripple.js +16 -40
  269. package/cjs/Ripple/index.js +1 -3
  270. package/cjs/Row/Row.js +11 -22
  271. package/cjs/Row/index.js +1 -3
  272. package/cjs/SafeAnchor/SafeAnchor.js +8 -19
  273. package/cjs/SafeAnchor/index.js +1 -3
  274. package/cjs/Schema/Schema.js +1 -2
  275. package/cjs/Schema/index.js +1 -3
  276. package/cjs/SelectPicker/SelectPicker.js +136 -170
  277. package/cjs/SelectPicker/index.js +1 -3
  278. package/cjs/Sidebar/Sidebar.js +13 -26
  279. package/cjs/Sidebar/index.js +1 -3
  280. package/cjs/Sidenav/ExpandedSidenavDropdown.js +32 -54
  281. package/cjs/Sidenav/ExpandedSidenavDropdownItem.js +19 -41
  282. package/cjs/Sidenav/ExpandedSidenavDropdownMenu.js +22 -46
  283. package/cjs/Sidenav/Node.js +1 -12
  284. package/cjs/Sidenav/Sidenav.js +22 -45
  285. package/cjs/Sidenav/SidenavBody.js +1 -3
  286. package/cjs/Sidenav/SidenavDropdown.js +39 -70
  287. package/cjs/Sidenav/SidenavDropdownCollapse.js +9 -22
  288. package/cjs/Sidenav/SidenavDropdownItem.js +19 -45
  289. package/cjs/Sidenav/SidenavDropdownMenu.js +26 -54
  290. package/cjs/Sidenav/SidenavDropdownToggle.js +12 -25
  291. package/cjs/Sidenav/SidenavHeader.js +1 -3
  292. package/cjs/Sidenav/SidenavItem.js +27 -55
  293. package/cjs/Sidenav/SidenavToggle.js +11 -31
  294. package/cjs/Sidenav/index.js +1 -3
  295. package/cjs/Slider/Graduated.js +14 -29
  296. package/cjs/Slider/Handle.js +27 -52
  297. package/cjs/Slider/Input.js +2 -8
  298. package/cjs/Slider/Mark.js +11 -20
  299. package/cjs/Slider/ProgressBar.js +14 -23
  300. package/cjs/Slider/Slider.js +51 -84
  301. package/cjs/Slider/index.js +1 -3
  302. package/cjs/Slider/utils.js +1 -6
  303. package/cjs/Stack/Stack.js +22 -35
  304. package/cjs/Stack/StackItem.js +11 -17
  305. package/cjs/Stack/index.js +1 -3
  306. package/cjs/Steps/StepItem.js +16 -32
  307. package/cjs/Steps/Steps.js +18 -32
  308. package/cjs/Steps/index.js +1 -3
  309. package/cjs/Table/Table.js +6 -16
  310. package/cjs/Table/index.js +1 -3
  311. package/cjs/Tag/Tag.js +16 -28
  312. package/cjs/Tag/index.js +1 -3
  313. package/cjs/TagGroup/TagGroup.js +1 -3
  314. package/cjs/TagGroup/index.js +1 -3
  315. package/cjs/TagInput/index.js +7 -14
  316. package/cjs/TagPicker/index.js +5 -12
  317. package/cjs/Timeline/Timeline.js +14 -29
  318. package/cjs/Timeline/TimelineItem.js +14 -23
  319. package/cjs/Timeline/index.js +1 -3
  320. package/cjs/Toggle/Toggle.js +26 -45
  321. package/cjs/Toggle/index.js +1 -3
  322. package/cjs/Tooltip/Tooltip.js +13 -22
  323. package/cjs/Tooltip/index.js +1 -3
  324. package/cjs/Tree/Tree.js +1 -10
  325. package/cjs/Tree/TreeContext.js +1 -4
  326. package/cjs/Tree/index.js +1 -3
  327. package/cjs/TreePicker/TreeNode.js +37 -60
  328. package/cjs/TreePicker/TreePicker.js +155 -231
  329. package/cjs/TreePicker/index.js +1 -3
  330. package/cjs/Uploader/UploadFileItem.js +37 -82
  331. package/cjs/Uploader/UploadTrigger.js +24 -46
  332. package/cjs/Uploader/Uploader.js +89 -141
  333. package/cjs/Uploader/index.js +1 -3
  334. package/cjs/Whisper/Whisper.js +8 -20
  335. package/cjs/Whisper/index.js +1 -3
  336. package/cjs/Windowing/AutoSizer.js +13 -33
  337. package/cjs/Windowing/List.d.ts +2 -2
  338. package/cjs/Windowing/List.js +6 -22
  339. package/cjs/Windowing/index.js +1 -7
  340. package/cjs/index.js +1 -164
  341. package/cjs/locales/ar_EG.js +1 -4
  342. package/cjs/locales/da_DK.js +1 -5
  343. package/cjs/locales/de_DE.js +1 -5
  344. package/cjs/locales/default.js +1 -5
  345. package/cjs/locales/en_GB.js +1 -3
  346. package/cjs/locales/en_US.js +1 -4
  347. package/cjs/locales/es_AR.js +1 -5
  348. package/cjs/locales/es_ES.js +1 -5
  349. package/cjs/locales/fa_IR.js +1 -4
  350. package/cjs/locales/fi_FI.js +1 -5
  351. package/cjs/locales/fr_FR.js +1 -4
  352. package/cjs/locales/hu_HU.js +1 -5
  353. package/cjs/locales/index.js +1 -47
  354. package/cjs/locales/it_IT.js +1 -5
  355. package/cjs/locales/ja_JP.js +1 -5
  356. package/cjs/locales/kk_KZ.js +1 -4
  357. package/cjs/locales/ko_KR.js +1 -5
  358. package/cjs/locales/ne_NP.js +1 -5
  359. package/cjs/locales/nl_NL.js +1 -4
  360. package/cjs/locales/pt_BR.js +1 -4
  361. package/cjs/locales/ru_RU.js +1 -4
  362. package/cjs/locales/sv_SE.js +1 -5
  363. package/cjs/locales/tr_TR.js +1 -4
  364. package/cjs/locales/zh_CN.js +1 -4
  365. package/cjs/locales/zh_TW.js +1 -4
  366. package/cjs/toaster/ToastContainer.js +29 -52
  367. package/cjs/toaster/ToastContext.js +1 -4
  368. package/cjs/toaster/index.js +1 -4
  369. package/cjs/toaster/toaster.js +4 -27
  370. package/cjs/toaster/useToaster.js +2 -8
  371. package/cjs/utils/BrowserDetection.js +7 -24
  372. package/cjs/utils/ReactChildren.js +2 -19
  373. package/cjs/utils/ajaxUpload.js +15 -33
  374. package/cjs/utils/appendTooltip.js +3 -9
  375. package/cjs/utils/attachParent.js +1 -1
  376. package/cjs/utils/clone.js +1 -2
  377. package/cjs/utils/composeFunctions.js +1 -3
  378. package/cjs/utils/constants.js +3 -8
  379. package/cjs/utils/createChainedFunction.js +2 -6
  380. package/cjs/utils/createComponent.js +12 -24
  381. package/cjs/utils/dateUtils.js +7 -121
  382. package/cjs/utils/deprecateComponent.js +1 -8
  383. package/cjs/utils/deprecatePropType.js +2 -9
  384. package/cjs/utils/dom.js +3 -2
  385. package/cjs/utils/events.js +2 -3
  386. package/cjs/utils/getDOMNode.js +16 -9
  387. package/cjs/utils/getDataGroupBy.d.ts +0 -23
  388. package/cjs/utils/getDataGroupBy.js +5 -44
  389. package/cjs/utils/getSafeRegExpString.js +1 -1
  390. package/cjs/utils/guid.js +1 -1
  391. package/cjs/utils/htmlPropsUtils.js +23 -20
  392. package/cjs/utils/index.js +1 -86
  393. package/cjs/utils/isOneOf.js +1 -2
  394. package/cjs/utils/mergeRefs.js +1 -2
  395. package/cjs/utils/placementPolyfill.js +2 -5
  396. package/cjs/utils/prefix.js +4 -15
  397. package/cjs/utils/previewFile.js +1 -6
  398. package/cjs/utils/propTypeChecker.js +1 -8
  399. package/cjs/utils/reactToString.js +1 -5
  400. package/cjs/utils/render.js +3 -10
  401. package/cjs/utils/scrollTopAnimation.js +1 -9
  402. package/cjs/utils/shallowEqual.js +8 -14
  403. package/cjs/utils/shallowEqualArray.js +1 -7
  404. package/cjs/utils/statusIcons.js +1 -9
  405. package/cjs/utils/stringToObject.js +1 -7
  406. package/cjs/utils/tplTransform.js +2 -7
  407. package/cjs/utils/treeUtils.js +112 -327
  408. package/cjs/utils/useClassNames.js +9 -15
  409. package/cjs/utils/useClickOutside.js +4 -8
  410. package/cjs/utils/useControlled.js +11 -7
  411. package/cjs/utils/useCustom.js +12 -25
  412. package/cjs/utils/useElementResize.js +1 -6
  413. package/cjs/utils/useEnsuredRef.js +1 -4
  414. package/cjs/utils/useEventCallback.js +1 -4
  415. package/cjs/utils/useEventListener.js +1 -5
  416. package/cjs/utils/useFocus.js +5 -6
  417. package/cjs/utils/useInternalId.js +1 -6
  418. package/cjs/utils/useIsMounted.js +1 -3
  419. package/cjs/utils/useMap.js +5 -7
  420. package/cjs/utils/useMount.js +1 -4
  421. package/cjs/utils/usePortal.js +7 -20
  422. package/cjs/utils/useRootClose.js +9 -19
  423. package/cjs/utils/useTimeout.js +3 -8
  424. package/cjs/utils/useToggleCaret.js +2 -14
  425. package/cjs/utils/useUniqueId.js +2 -9
  426. package/cjs/utils/useUpdateEffect.js +3 -5
  427. package/cjs/utils/useUpdatedRef.js +1 -2
  428. package/cjs/utils/useWillUnmount.js +3 -5
  429. package/cjs/utils/warnOnce.js +2 -2
  430. package/dist/rsuite-no-reset-rtl.css +23 -25
  431. package/dist/rsuite-no-reset-rtl.min.css +1 -1
  432. package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
  433. package/dist/rsuite-no-reset.css +23 -25
  434. package/dist/rsuite-no-reset.min.css +1 -1
  435. package/dist/rsuite-no-reset.min.css.map +1 -1
  436. package/dist/rsuite-rtl.css +23 -25
  437. package/dist/rsuite-rtl.min.css +1 -1
  438. package/dist/rsuite-rtl.min.css.map +1 -1
  439. package/dist/rsuite.css +23 -25
  440. package/dist/rsuite.js +394 -427
  441. package/dist/rsuite.js.map +1 -1
  442. package/dist/rsuite.min.css +1 -1
  443. package/dist/rsuite.min.css.map +1 -1
  444. package/dist/rsuite.min.js +1 -1
  445. package/dist/rsuite.min.js.map +1 -1
  446. package/esm/@types/common.js +1 -0
  447. package/esm/@types/utils.js +14 -2
  448. package/esm/Affix/Affix.js +39 -50
  449. package/esm/Affix/index.js +1 -0
  450. package/esm/Animation/Bounce.js +4 -5
  451. package/esm/Animation/Collapse.js +19 -26
  452. package/esm/Animation/Fade.js +6 -7
  453. package/esm/Animation/Slide.js +6 -7
  454. package/esm/Animation/Transition.js +16 -69
  455. package/esm/Animation/index.js +1 -0
  456. package/esm/Animation/utils.js +1 -2
  457. package/esm/AutoComplete/AutoComplete.js +55 -75
  458. package/esm/AutoComplete/index.js +1 -0
  459. package/esm/AutoComplete/utils.js +1 -4
  460. package/esm/Avatar/Avatar.js +18 -22
  461. package/esm/Avatar/index.js +1 -0
  462. package/esm/AvatarGroup/AvatarGroup.js +13 -16
  463. package/esm/AvatarGroup/index.js +1 -0
  464. package/esm/Badge/Badge.js +14 -19
  465. package/esm/Badge/index.js +1 -0
  466. package/esm/Breadcrumb/Breadcrumb.js +19 -30
  467. package/esm/Breadcrumb/BreadcrumbItem.js +14 -17
  468. package/esm/Breadcrumb/index.js +1 -0
  469. package/esm/Button/Button.js +22 -28
  470. package/esm/Button/index.js +1 -0
  471. package/esm/ButtonGroup/ButtonGroup.js +15 -16
  472. package/esm/ButtonGroup/ButtonGroupContext.js +1 -0
  473. package/esm/ButtonGroup/index.js +1 -0
  474. package/esm/ButtonToolbar/ButtonToolbar.js +10 -12
  475. package/esm/ButtonToolbar/index.js +1 -0
  476. package/esm/Calendar/Calendar.js +24 -29
  477. package/esm/Calendar/CalendarBody.js +14 -18
  478. package/esm/Calendar/CalendarContainer.js +46 -51
  479. package/esm/Calendar/CalendarContext.js +1 -0
  480. package/esm/Calendar/CalendarHeader.js +32 -41
  481. package/esm/Calendar/MonthDropdown.js +22 -27
  482. package/esm/Calendar/MonthDropdownItem.js +16 -20
  483. package/esm/Calendar/Table.js +10 -11
  484. package/esm/Calendar/TableHeaderRow.js +11 -15
  485. package/esm/Calendar/TableRow.js +36 -50
  486. package/esm/Calendar/TimeDropdown.js +24 -48
  487. package/esm/Calendar/index.js +1 -0
  488. package/esm/Calendar/types.js +1 -0
  489. package/esm/Calendar/useCalendarDate.js +3 -11
  490. package/esm/Calendar/useCalendarState.js +3 -6
  491. package/esm/Carousel/Carousel.js +40 -52
  492. package/esm/Carousel/index.js +1 -0
  493. package/esm/Cascader/Cascader.js +126 -178
  494. package/esm/Cascader/DropdownMenu.js +33 -45
  495. package/esm/Cascader/index.js +1 -0
  496. package/esm/Cascader/utils.js +13 -22
  497. package/esm/CheckPicker/CheckPicker.js +105 -139
  498. package/esm/CheckPicker/index.js +1 -0
  499. package/esm/CheckTree/index.js +1 -0
  500. package/esm/CheckTreePicker/CheckTreeNode.js +28 -44
  501. package/esm/CheckTreePicker/CheckTreePicker.js +165 -232
  502. package/esm/CheckTreePicker/index.js +1 -0
  503. package/esm/CheckTreePicker/utils.js +12 -35
  504. package/esm/Checkbox/Checkbox.js +48 -66
  505. package/esm/Checkbox/index.js +1 -0
  506. package/esm/CheckboxGroup/CheckboxGroup.js +20 -25
  507. package/esm/CheckboxGroup/CheckboxGroupContext.js +1 -0
  508. package/esm/CheckboxGroup/index.js +1 -0
  509. package/esm/CloseButton/CloseButton.js +10 -13
  510. package/esm/CloseButton/index.js +1 -0
  511. package/esm/Col/Col.js +10 -13
  512. package/esm/Col/index.js +1 -0
  513. package/esm/Container/Container.js +11 -13
  514. package/esm/Container/index.js +1 -0
  515. package/esm/Content/Content.js +1 -1
  516. package/esm/Content/index.js +1 -0
  517. package/esm/CustomProvider/CustomProvider.js +13 -16
  518. package/esm/CustomProvider/FormattedDate.js +3 -6
  519. package/esm/CustomProvider/index.js +1 -0
  520. package/esm/DOMHelper/index.js +1 -2
  521. package/esm/DOMHelper/isElement.js +1 -1
  522. package/esm/DatePicker/DatePicker.js +108 -131
  523. package/esm/DatePicker/PredefinedRanges.js +12 -19
  524. package/esm/DatePicker/Toolbar.js +20 -26
  525. package/esm/DatePicker/index.js +1 -0
  526. package/esm/DatePicker/types.js +1 -0
  527. package/esm/DatePicker/utils.js +5 -8
  528. package/esm/DateRangePicker/Calendar.js +18 -18
  529. package/esm/DateRangePicker/DateRangePicker.js +128 -184
  530. package/esm/DateRangePicker/DateRangePickerContext.js +1 -0
  531. package/esm/DateRangePicker/disabledDateUtils.js +9 -24
  532. package/esm/DateRangePicker/index.js +1 -0
  533. package/esm/DateRangePicker/types.js +1 -0
  534. package/esm/DateRangePicker/utils.js +7 -12
  535. package/esm/Disclosure/Disclosure.js +13 -24
  536. package/esm/Disclosure/DisclosureButton.js +4 -7
  537. package/esm/Disclosure/DisclosureContent.js +1 -2
  538. package/esm/Disclosure/DisclosureContext.js +1 -2
  539. package/esm/Disclosure/index.js +1 -0
  540. package/esm/Disclosure/useDisclosureContext.js +1 -2
  541. package/esm/Divider/Divider.js +11 -12
  542. package/esm/Divider/index.js +1 -0
  543. package/esm/Drawer/Drawer.js +10 -11
  544. package/esm/Drawer/index.js +1 -0
  545. package/esm/Dropdown/Dropdown.js +35 -50
  546. package/esm/Dropdown/DropdownContext.js +1 -0
  547. package/esm/Dropdown/DropdownItem.js +22 -31
  548. package/esm/Dropdown/DropdownMenu.js +36 -49
  549. package/esm/Dropdown/DropdownSeparator.js +8 -10
  550. package/esm/Dropdown/DropdownState.js +1 -7
  551. package/esm/Dropdown/DropdownToggle.js +17 -17
  552. package/esm/Dropdown/index.js +1 -0
  553. package/esm/Dropdown/useRenderDropdownItem.js +1 -2
  554. package/esm/FlexboxGrid/FlexboxGrid.js +12 -13
  555. package/esm/FlexboxGrid/FlexboxGridItem.js +12 -14
  556. package/esm/FlexboxGrid/index.js +1 -0
  557. package/esm/Footer/Footer.js +1 -0
  558. package/esm/Footer/index.js +1 -0
  559. package/esm/Form/Form.js +36 -63
  560. package/esm/Form/FormContext.js +1 -0
  561. package/esm/Form/index.js +1 -0
  562. package/esm/Form/useFormClassNames.js +11 -13
  563. package/esm/Form/useSchemaModel.js +2 -4
  564. package/esm/FormControl/FormControl.js +48 -68
  565. package/esm/FormControl/index.js +1 -0
  566. package/esm/FormControl/useRegisterModel.js +1 -2
  567. package/esm/FormControlLabel/FormControlLabel.js +10 -12
  568. package/esm/FormControlLabel/index.js +1 -0
  569. package/esm/FormErrorMessage/FormErrorMessage.js +12 -18
  570. package/esm/FormErrorMessage/index.js +1 -0
  571. package/esm/FormGroup/FormGroup.js +9 -10
  572. package/esm/FormGroup/index.js +1 -0
  573. package/esm/FormHelpText/FormHelpText.js +11 -15
  574. package/esm/FormHelpText/index.js +1 -0
  575. package/esm/Grid/Grid.js +10 -11
  576. package/esm/Grid/index.js +1 -0
  577. package/esm/Header/Header.js +1 -0
  578. package/esm/Header/index.js +1 -0
  579. package/esm/IconButton/IconButton.js +11 -12
  580. package/esm/IconButton/index.js +1 -0
  581. package/esm/Input/Input.js +26 -32
  582. package/esm/Input/index.js +1 -0
  583. package/esm/InputGroup/InputGroup.js +23 -26
  584. package/esm/InputGroup/InputGroupAddon.js +9 -10
  585. package/esm/InputGroup/InputGroupButton.js +7 -9
  586. package/esm/InputGroup/index.js +1 -0
  587. package/esm/InputNumber/InputNumber.js +42 -72
  588. package/esm/InputNumber/index.js +1 -0
  589. package/esm/InputPicker/InputAutosize.js +17 -37
  590. package/esm/InputPicker/InputPicker.js +149 -225
  591. package/esm/InputPicker/InputSearch.js +15 -20
  592. package/esm/InputPicker/index.js +1 -0
  593. package/esm/List/List.js +37 -39
  594. package/esm/List/ListContext.js +1 -0
  595. package/esm/List/ListItem.js +26 -30
  596. package/esm/List/helper/AutoScroller.js +11 -21
  597. package/esm/List/helper/useManager.js +1 -6
  598. package/esm/List/helper/useSortHelper.js +58 -74
  599. package/esm/List/helper/utils.js +6 -11
  600. package/esm/List/index.js +1 -0
  601. package/esm/Loader/Loader.js +17 -19
  602. package/esm/Loader/index.js +1 -0
  603. package/esm/MaskedInput/MaskedInput.js +2 -1
  604. package/esm/MaskedInput/TextMask.js +12 -14
  605. package/esm/MaskedInput/adjustCaretPosition.js +99 -69
  606. package/esm/MaskedInput/conformToMask.js +79 -70
  607. package/esm/MaskedInput/createTextMaskInputElement.js +65 -62
  608. package/esm/MaskedInput/index.js +1 -0
  609. package/esm/MaskedInput/types.js +1 -0
  610. package/esm/MaskedInput/utilities.js +1 -6
  611. package/esm/Menu/Menu.js +35 -66
  612. package/esm/Menu/MenuContext.js +1 -4
  613. package/esm/Menu/MenuItem.js +15 -19
  614. package/esm/Menu/Menubar.js +13 -23
  615. package/esm/Menu/index.js +1 -0
  616. package/esm/Menu/useMenu.js +4 -27
  617. package/esm/Message/Message.js +23 -34
  618. package/esm/Message/index.js +1 -0
  619. package/esm/Modal/Modal.js +70 -69
  620. package/esm/Modal/ModalBody.js +11 -13
  621. package/esm/Modal/ModalContext.js +1 -0
  622. package/esm/Modal/ModalDialog.js +14 -18
  623. package/esm/Modal/ModalFooter.js +1 -0
  624. package/esm/Modal/ModalHeader.js +14 -16
  625. package/esm/Modal/ModalTitle.js +9 -10
  626. package/esm/Modal/index.js +1 -0
  627. package/esm/Modal/utils.js +8 -12
  628. package/esm/MultiCascader/DropdownMenu.js +38 -48
  629. package/esm/MultiCascader/MultiCascader.js +129 -174
  630. package/esm/MultiCascader/index.js +1 -0
  631. package/esm/MultiCascader/utils.js +44 -87
  632. package/esm/Nav/Nav.js +27 -45
  633. package/esm/Nav/NavContext.js +1 -0
  634. package/esm/Nav/NavDropdown.js +28 -44
  635. package/esm/Nav/NavDropdownItem.js +20 -31
  636. package/esm/Nav/NavDropdownMenu.js +26 -42
  637. package/esm/Nav/NavDropdownToggle.js +12 -15
  638. package/esm/Nav/NavItem.js +20 -28
  639. package/esm/Nav/NavMenu.js +2 -13
  640. package/esm/Nav/index.js +1 -0
  641. package/esm/Navbar/Navbar.js +10 -11
  642. package/esm/Navbar/NavbarBody.js +1 -0
  643. package/esm/Navbar/NavbarBrand.js +1 -0
  644. package/esm/Navbar/NavbarDropdown.js +25 -33
  645. package/esm/Navbar/NavbarDropdownItem.js +18 -30
  646. package/esm/Navbar/NavbarDropdownMenu.js +22 -37
  647. package/esm/Navbar/NavbarDropdownToggle.js +12 -14
  648. package/esm/Navbar/NavbarHeader.js +1 -0
  649. package/esm/Navbar/NavbarItem.js +19 -23
  650. package/esm/Navbar/index.js +1 -0
  651. package/esm/Notification/Notification.js +20 -32
  652. package/esm/Notification/index.js +1 -0
  653. package/esm/Overlay/Modal.js +40 -64
  654. package/esm/Overlay/ModalManager.js +1 -19
  655. package/esm/Overlay/Overlay.js +28 -37
  656. package/esm/Overlay/OverlayContext.js +1 -0
  657. package/esm/Overlay/OverlayTrigger.js +68 -101
  658. package/esm/Overlay/Position.js +25 -47
  659. package/esm/Overlay/index.js +1 -0
  660. package/esm/Overlay/positionUtils.js +25 -73
  661. package/esm/Pagination/Pagination.js +30 -55
  662. package/esm/Pagination/PaginationButton.js +15 -19
  663. package/esm/Pagination/PaginationGroup.js +38 -49
  664. package/esm/Pagination/index.js +1 -0
  665. package/esm/Panel/Panel.js +37 -49
  666. package/esm/Panel/index.js +1 -0
  667. package/esm/PanelGroup/PanelGroup.js +16 -18
  668. package/esm/PanelGroup/index.js +1 -0
  669. package/esm/Picker/DropdownMenu.js +50 -72
  670. package/esm/Picker/DropdownMenuCheckItem.js +22 -24
  671. package/esm/Picker/DropdownMenuGroup.js +10 -13
  672. package/esm/Picker/DropdownMenuItem.js +15 -18
  673. package/esm/Picker/PickerOverlay.js +12 -17
  674. package/esm/Picker/PickerToggle.js +57 -71
  675. package/esm/Picker/PickerToggleTrigger.js +8 -10
  676. package/esm/Picker/SearchBar.js +14 -15
  677. package/esm/Picker/SelectedElement.js +9 -14
  678. package/esm/Picker/ToggleButton.js +1 -0
  679. package/esm/Picker/index.js +1 -0
  680. package/esm/Picker/propTypes.js +1 -1
  681. package/esm/Picker/types.js +1 -0
  682. package/esm/Picker/utils.js +94 -182
  683. package/esm/Placeholder/Placeholder.js +1 -0
  684. package/esm/Placeholder/PlaceholderGraph.js +13 -16
  685. package/esm/Placeholder/PlaceholderGrid.js +18 -25
  686. package/esm/Placeholder/PlaceholderParagraph.js +17 -20
  687. package/esm/Placeholder/index.js +1 -0
  688. package/esm/Plaintext/Plaintext.js +14 -17
  689. package/esm/Plaintext/index.js +1 -0
  690. package/esm/Popover/Popover.js +16 -21
  691. package/esm/Popover/index.js +1 -0
  692. package/esm/Progress/Progress.js +1 -0
  693. package/esm/Progress/ProgressCircle.js +30 -39
  694. package/esm/Progress/ProgressLine.js +19 -21
  695. package/esm/Progress/index.js +1 -0
  696. package/esm/Radio/Radio.js +42 -52
  697. package/esm/Radio/index.js +1 -0
  698. package/esm/RadioGroup/RadioGroup.js +22 -25
  699. package/esm/RadioGroup/index.js +1 -0
  700. package/esm/RadioTile/RadioTile.js +30 -34
  701. package/esm/RadioTile/index.js +1 -0
  702. package/esm/RadioTileGroup/RadioTileGroup.js +17 -20
  703. package/esm/RadioTileGroup/index.js +1 -0
  704. package/esm/RangeSlider/RangeSlider.js +63 -86
  705. package/esm/RangeSlider/index.js +1 -0
  706. package/esm/Rate/Character.js +16 -21
  707. package/esm/Rate/Rate.js +35 -48
  708. package/esm/Rate/index.js +1 -0
  709. package/esm/Rate/utils.js +1 -2
  710. package/esm/Ripple/Ripple.js +16 -30
  711. package/esm/Ripple/index.js +1 -0
  712. package/esm/Row/Row.js +11 -14
  713. package/esm/Row/index.js +1 -0
  714. package/esm/SafeAnchor/SafeAnchor.js +8 -13
  715. package/esm/SafeAnchor/index.js +1 -0
  716. package/esm/Schema/Schema.js +1 -0
  717. package/esm/Schema/index.js +1 -0
  718. package/esm/SelectPicker/SelectPicker.js +137 -157
  719. package/esm/SelectPicker/index.js +1 -0
  720. package/esm/Sidebar/Sidebar.js +13 -18
  721. package/esm/Sidebar/index.js +1 -0
  722. package/esm/Sidenav/ExpandedSidenavDropdown.js +32 -35
  723. package/esm/Sidenav/ExpandedSidenavDropdownItem.js +19 -27
  724. package/esm/Sidenav/ExpandedSidenavDropdownMenu.js +22 -29
  725. package/esm/Sidenav/Node.js +1 -10
  726. package/esm/Sidenav/Sidenav.js +22 -28
  727. package/esm/Sidenav/SidenavBody.js +1 -0
  728. package/esm/Sidenav/SidenavDropdown.js +39 -52
  729. package/esm/Sidenav/SidenavDropdownCollapse.js +9 -13
  730. package/esm/Sidenav/SidenavDropdownItem.js +19 -31
  731. package/esm/Sidenav/SidenavDropdownMenu.js +26 -41
  732. package/esm/Sidenav/SidenavDropdownToggle.js +12 -14
  733. package/esm/Sidenav/SidenavHeader.js +1 -0
  734. package/esm/Sidenav/SidenavItem.js +27 -37
  735. package/esm/Sidenav/SidenavToggle.js +11 -18
  736. package/esm/Sidenav/index.js +1 -0
  737. package/esm/Slider/Graduated.js +14 -21
  738. package/esm/Slider/Handle.js +27 -39
  739. package/esm/Slider/Input.js +2 -2
  740. package/esm/Slider/Mark.js +11 -14
  741. package/esm/Slider/ProgressBar.js +14 -18
  742. package/esm/Slider/Slider.js +51 -67
  743. package/esm/Slider/index.js +1 -0
  744. package/esm/Slider/utils.js +1 -5
  745. package/esm/Stack/Stack.js +22 -27
  746. package/esm/Stack/StackItem.js +11 -11
  747. package/esm/Stack/index.js +1 -0
  748. package/esm/Steps/StepItem.js +16 -22
  749. package/esm/Steps/Steps.js +18 -22
  750. package/esm/Steps/index.js +1 -0
  751. package/esm/Table/Table.js +6 -7
  752. package/esm/Table/index.js +1 -0
  753. package/esm/Tag/Tag.js +16 -19
  754. package/esm/Tag/index.js +1 -0
  755. package/esm/TagGroup/TagGroup.js +1 -0
  756. package/esm/TagGroup/index.js +1 -0
  757. package/esm/TagInput/index.js +7 -7
  758. package/esm/TagPicker/index.js +5 -5
  759. package/esm/Timeline/Timeline.js +14 -19
  760. package/esm/Timeline/TimelineItem.js +14 -15
  761. package/esm/Timeline/index.js +1 -0
  762. package/esm/Toggle/Toggle.js +26 -35
  763. package/esm/Toggle/index.js +1 -0
  764. package/esm/Tooltip/Tooltip.js +13 -16
  765. package/esm/Tooltip/index.js +1 -0
  766. package/esm/Tree/Tree.js +1 -3
  767. package/esm/Tree/TreeContext.js +1 -0
  768. package/esm/Tree/index.js +1 -0
  769. package/esm/TreePicker/TreeNode.js +37 -49
  770. package/esm/TreePicker/TreePicker.js +155 -218
  771. package/esm/TreePicker/index.js +1 -0
  772. package/esm/Uploader/UploadFileItem.js +37 -68
  773. package/esm/Uploader/UploadTrigger.js +24 -38
  774. package/esm/Uploader/Uploader.js +90 -132
  775. package/esm/Uploader/index.js +1 -0
  776. package/esm/Whisper/Whisper.js +8 -10
  777. package/esm/Whisper/index.js +1 -0
  778. package/esm/Windowing/AutoSizer.js +13 -24
  779. package/esm/Windowing/List.d.ts +2 -2
  780. package/esm/Windowing/List.js +6 -15
  781. package/esm/Windowing/index.js +1 -0
  782. package/esm/index.js +3 -0
  783. package/esm/locales/ar_EG.js +1 -0
  784. package/esm/locales/da_DK.js +1 -1
  785. package/esm/locales/de_DE.js +1 -1
  786. package/esm/locales/default.js +1 -1
  787. package/esm/locales/en_GB.js +1 -0
  788. package/esm/locales/en_US.js +1 -0
  789. package/esm/locales/es_AR.js +1 -1
  790. package/esm/locales/es_ES.js +1 -1
  791. package/esm/locales/fa_IR.js +1 -0
  792. package/esm/locales/fi_FI.js +1 -1
  793. package/esm/locales/fr_FR.js +1 -0
  794. package/esm/locales/hu_HU.js +1 -1
  795. package/esm/locales/index.js +1 -0
  796. package/esm/locales/it_IT.js +1 -1
  797. package/esm/locales/ja_JP.js +1 -1
  798. package/esm/locales/kk_KZ.js +1 -0
  799. package/esm/locales/ko_KR.js +1 -1
  800. package/esm/locales/ne_NP.js +1 -1
  801. package/esm/locales/nl_NL.js +1 -0
  802. package/esm/locales/pt_BR.js +1 -0
  803. package/esm/locales/ru_RU.js +1 -0
  804. package/esm/locales/sv_SE.js +1 -1
  805. package/esm/locales/tr_TR.js +1 -0
  806. package/esm/locales/zh_CN.js +1 -0
  807. package/esm/locales/zh_TW.js +1 -0
  808. package/esm/toaster/ToastContainer.js +29 -42
  809. package/esm/toaster/ToastContext.js +1 -0
  810. package/esm/toaster/index.js +1 -0
  811. package/esm/toaster/toaster.js +4 -22
  812. package/esm/toaster/useToaster.js +3 -5
  813. package/esm/utils/BrowserDetection.js +9 -9
  814. package/esm/utils/ReactChildren.js +2 -8
  815. package/esm/utils/ajaxUpload.js +15 -32
  816. package/esm/utils/appendTooltip.js +3 -3
  817. package/esm/utils/attachParent.js +1 -0
  818. package/esm/utils/clone.js +1 -1
  819. package/esm/utils/composeFunctions.js +1 -1
  820. package/esm/utils/constants.js +4 -7
  821. package/esm/utils/createChainedFunction.js +2 -5
  822. package/esm/utils/createComponent.js +12 -16
  823. package/esm/utils/dateUtils.js +7 -23
  824. package/esm/utils/deprecateComponent.js +2 -2
  825. package/esm/utils/deprecatePropType.js +4 -6
  826. package/esm/utils/dom.js +3 -1
  827. package/esm/utils/events.js +2 -1
  828. package/esm/utils/getDOMNode.js +15 -8
  829. package/esm/utils/getDataGroupBy.d.ts +0 -23
  830. package/esm/utils/getDataGroupBy.js +5 -39
  831. package/esm/utils/getSafeRegExpString.js +1 -0
  832. package/esm/utils/guid.js +1 -0
  833. package/esm/utils/htmlPropsUtils.js +23 -14
  834. package/esm/utils/index.js +2 -1
  835. package/esm/utils/isOneOf.js +1 -1
  836. package/esm/utils/mergeRefs.js +1 -1
  837. package/esm/utils/placementPolyfill.js +2 -4
  838. package/esm/utils/prefix.js +4 -4
  839. package/esm/utils/previewFile.js +1 -3
  840. package/esm/utils/propTypeChecker.js +1 -3
  841. package/esm/utils/reactToString.js +1 -2
  842. package/esm/utils/render.js +3 -5
  843. package/esm/utils/scrollTopAnimation.js +1 -5
  844. package/esm/utils/shallowEqual.js +8 -13
  845. package/esm/utils/shallowEqualArray.js +1 -5
  846. package/esm/utils/statusIcons.js +1 -0
  847. package/esm/utils/stringToObject.js +3 -4
  848. package/esm/utils/tplTransform.js +2 -4
  849. package/esm/utils/treeUtils.js +113 -265
  850. package/esm/utils/useClassNames.js +9 -9
  851. package/esm/utils/useClickOutside.js +4 -6
  852. package/esm/utils/useControlled.js +12 -6
  853. package/esm/utils/useCustom.js +12 -20
  854. package/esm/utils/useElementResize.js +2 -4
  855. package/esm/utils/useEnsuredRef.js +2 -3
  856. package/esm/utils/useEventCallback.js +2 -3
  857. package/esm/utils/useEventListener.js +2 -2
  858. package/esm/utils/useFocus.js +5 -4
  859. package/esm/utils/useInternalId.js +2 -3
  860. package/esm/utils/useIsMounted.js +1 -2
  861. package/esm/utils/useMap.js +5 -5
  862. package/esm/utils/useMount.js +1 -3
  863. package/esm/utils/usePortal.js +7 -13
  864. package/esm/utils/useRootClose.js +9 -13
  865. package/esm/utils/useTimeout.js +3 -7
  866. package/esm/utils/useToggleCaret.js +2 -7
  867. package/esm/utils/useUniqueId.js +2 -4
  868. package/esm/utils/useUpdateEffect.js +3 -4
  869. package/esm/utils/useUpdatedRef.js +2 -1
  870. package/esm/utils/useWillUnmount.js +4 -2
  871. package/esm/utils/warnOnce.js +2 -2
  872. package/package.json +2 -2
  873. package/styles/color-modes/light.less +4 -4
  874. package/styles/mixins/listbox.less +0 -2
  875. package/cjs/SelectPicker/Listbox.d.ts +0 -34
  876. package/cjs/SelectPicker/Listbox.js +0 -263
  877. package/cjs/SelectPicker/ListboxOption.d.ts +0 -11
  878. package/cjs/SelectPicker/ListboxOption.js +0 -50
  879. package/cjs/SelectPicker/ListboxOptionGroup.d.ts +0 -9
  880. package/cjs/SelectPicker/ListboxOptionGroup.js +0 -69
  881. package/esm/SelectPicker/Listbox.d.ts +0 -34
  882. package/esm/SelectPicker/Listbox.js +0 -240
  883. package/esm/SelectPicker/ListboxOption.d.ts +0 -11
  884. package/esm/SelectPicker/ListboxOption.js +0 -37
  885. package/esm/SelectPicker/ListboxOptionGroup.d.ts +0 -9
  886. package/esm/SelectPicker/ListboxOptionGroup.js +0 -53
@@ -1,178 +1,139 @@
1
+ 'use client';
1
2
  "use strict";
2
3
 
3
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
5
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
6
-
7
6
  exports.__esModule = true;
8
7
  exports.default = exports.InputPickerContext = void 0;
9
-
10
8
  var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));
11
-
12
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
-
14
10
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
15
-
16
11
  var _react = _interopRequireWildcard(require("react"));
17
-
18
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
19
-
20
13
  var _isUndefined = _interopRequireDefault(require("lodash/isUndefined"));
21
-
22
14
  var _isNil = _interopRequireDefault(require("lodash/isNil"));
23
-
24
15
  var _isFunction = _interopRequireDefault(require("lodash/isFunction"));
25
-
26
16
  var _remove = _interopRequireDefault(require("lodash/remove"));
27
-
28
17
  var _clone = _interopRequireDefault(require("lodash/clone"));
29
-
30
18
  var _isArray = _interopRequireDefault(require("lodash/isArray"));
31
-
32
19
  var _omit = _interopRequireDefault(require("lodash/omit"));
33
-
34
20
  var _pick = _interopRequireDefault(require("lodash/pick"));
35
-
36
21
  var _getWidth = _interopRequireDefault(require("dom-lib/getWidth"));
37
-
38
22
  var _shallowEqual = _interopRequireDefault(require("../utils/shallowEqual"));
39
-
40
23
  var _treeUtils = require("../utils/treeUtils");
41
-
42
24
  var _Plaintext = _interopRequireDefault(require("../Plaintext"));
43
-
44
25
  var _utils = require("../utils");
45
-
46
26
  var _getDataGroupBy = require("../utils/getDataGroupBy");
47
-
48
27
  var _Picker = require("../Picker");
49
-
50
28
  var _Tag = _interopRequireDefault(require("../Tag"));
51
-
52
29
  var _InputAutosize = _interopRequireDefault(require("./InputAutosize"));
53
-
54
30
  var _InputSearch = _interopRequireDefault(require("./InputSearch"));
55
-
56
31
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
57
-
58
32
  var InputPickerContext = /*#__PURE__*/_react.default.createContext({
59
33
  tagProps: {},
60
34
  trigger: 'Enter'
61
35
  });
62
-
63
36
  exports.InputPickerContext = InputPickerContext;
64
-
65
37
  var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
66
38
  var _merge;
67
-
68
39
  var _props$as = props.as,
69
- Component = _props$as === void 0 ? 'div' : _props$as,
70
- _props$appearance = props.appearance,
71
- appearance = _props$appearance === void 0 ? 'default' : _props$appearance,
72
- _props$cleanable = props.cleanable,
73
- cleanable = _props$cleanable === void 0 ? true : _props$cleanable,
74
- _props$cacheData = props.cacheData,
75
- cacheData = _props$cacheData === void 0 ? [] : _props$cacheData,
76
- _props$classPrefix = props.classPrefix,
77
- classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,
78
- _props$data = props.data,
79
- controlledData = _props$data === void 0 ? [] : _props$data,
80
- disabled = props.disabled,
81
- readOnly = props.readOnly,
82
- plaintext = props.plaintext,
83
- defaultValue = props.defaultValue,
84
- _props$defaultOpen = props.defaultOpen,
85
- defaultOpen = _props$defaultOpen === void 0 ? false : _props$defaultOpen,
86
- _props$disabledItemVa = props.disabledItemValues,
87
- disabledItemValues = _props$disabledItemVa === void 0 ? [] : _props$disabledItemVa,
88
- overrideLocale = props.locale,
89
- toggleAs = props.toggleAs,
90
- style = props.style,
91
- _props$searchable = props.searchable,
92
- searchable = _props$searchable === void 0 ? true : _props$searchable,
93
- controlledOpen = props.open,
94
- placeholder = props.placeholder,
95
- groupBy = props.groupBy,
96
- menuClassName = props.menuClassName,
97
- menuStyle = props.menuStyle,
98
- _props$menuAutoWidth = props.menuAutoWidth,
99
- menuAutoWidth = _props$menuAutoWidth === void 0 ? true : _props$menuAutoWidth,
100
- _props$menuMaxHeight = props.menuMaxHeight,
101
- menuMaxHeight = _props$menuMaxHeight === void 0 ? 320 : _props$menuMaxHeight,
102
- creatable = props.creatable,
103
- shouldDisplayCreateOption = props.shouldDisplayCreateOption,
104
- valueProp = props.value,
105
- _props$valueKey = props.valueKey,
106
- valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,
107
- virtualized = props.virtualized,
108
- _props$labelKey = props.labelKey,
109
- labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,
110
- listProps = props.listProps,
111
- id = props.id,
112
- tabIndex = props.tabIndex,
113
- sort = props.sort,
114
- renderMenu = props.renderMenu,
115
- renderExtraFooter = props.renderExtraFooter,
116
- renderValue = props.renderValue,
117
- renderMenuItem = props.renderMenuItem,
118
- renderMenuGroup = props.renderMenuGroup,
119
- onEnter = props.onEnter,
120
- onEntered = props.onEntered,
121
- onExit = props.onExit,
122
- onExited = props.onExited,
123
- onChange = props.onChange,
124
- onClean = props.onClean,
125
- onCreate = props.onCreate,
126
- onSearch = props.onSearch,
127
- onSelect = props.onSelect,
128
- onOpen = props.onOpen,
129
- onClose = props.onClose,
130
- onBlur = props.onBlur,
131
- onFocus = props.onFocus,
132
- searchBy = props.searchBy,
133
- _props$placement = props.placement,
134
- placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,
135
- rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "appearance", "cleanable", "cacheData", "classPrefix", "data", "disabled", "readOnly", "plaintext", "defaultValue", "defaultOpen", "disabledItemValues", "locale", "toggleAs", "style", "searchable", "open", "placeholder", "groupBy", "menuClassName", "menuStyle", "menuAutoWidth", "menuMaxHeight", "creatable", "shouldDisplayCreateOption", "value", "valueKey", "virtualized", "labelKey", "listProps", "id", "tabIndex", "sort", "renderMenu", "renderExtraFooter", "renderValue", "renderMenuItem", "renderMenuGroup", "onEnter", "onEntered", "onExit", "onExited", "onChange", "onClean", "onCreate", "onSearch", "onSelect", "onOpen", "onClose", "onBlur", "onFocus", "searchBy", "placement"]);
136
-
40
+ Component = _props$as === void 0 ? 'div' : _props$as,
41
+ _props$appearance = props.appearance,
42
+ appearance = _props$appearance === void 0 ? 'default' : _props$appearance,
43
+ _props$cleanable = props.cleanable,
44
+ cleanable = _props$cleanable === void 0 ? true : _props$cleanable,
45
+ _props$cacheData = props.cacheData,
46
+ cacheData = _props$cacheData === void 0 ? [] : _props$cacheData,
47
+ _props$classPrefix = props.classPrefix,
48
+ classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,
49
+ _props$data = props.data,
50
+ controlledData = _props$data === void 0 ? [] : _props$data,
51
+ disabled = props.disabled,
52
+ readOnly = props.readOnly,
53
+ plaintext = props.plaintext,
54
+ defaultValue = props.defaultValue,
55
+ _props$defaultOpen = props.defaultOpen,
56
+ defaultOpen = _props$defaultOpen === void 0 ? false : _props$defaultOpen,
57
+ _props$disabledItemVa = props.disabledItemValues,
58
+ disabledItemValues = _props$disabledItemVa === void 0 ? [] : _props$disabledItemVa,
59
+ overrideLocale = props.locale,
60
+ toggleAs = props.toggleAs,
61
+ style = props.style,
62
+ _props$searchable = props.searchable,
63
+ searchable = _props$searchable === void 0 ? true : _props$searchable,
64
+ controlledOpen = props.open,
65
+ placeholder = props.placeholder,
66
+ groupBy = props.groupBy,
67
+ menuClassName = props.menuClassName,
68
+ menuStyle = props.menuStyle,
69
+ _props$menuAutoWidth = props.menuAutoWidth,
70
+ menuAutoWidth = _props$menuAutoWidth === void 0 ? true : _props$menuAutoWidth,
71
+ _props$menuMaxHeight = props.menuMaxHeight,
72
+ menuMaxHeight = _props$menuMaxHeight === void 0 ? 320 : _props$menuMaxHeight,
73
+ creatable = props.creatable,
74
+ shouldDisplayCreateOption = props.shouldDisplayCreateOption,
75
+ valueProp = props.value,
76
+ _props$valueKey = props.valueKey,
77
+ valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,
78
+ virtualized = props.virtualized,
79
+ _props$labelKey = props.labelKey,
80
+ labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,
81
+ listProps = props.listProps,
82
+ id = props.id,
83
+ tabIndex = props.tabIndex,
84
+ sort = props.sort,
85
+ renderMenu = props.renderMenu,
86
+ renderExtraFooter = props.renderExtraFooter,
87
+ renderValue = props.renderValue,
88
+ renderMenuItem = props.renderMenuItem,
89
+ renderMenuGroup = props.renderMenuGroup,
90
+ onEnter = props.onEnter,
91
+ onEntered = props.onEntered,
92
+ onExit = props.onExit,
93
+ onExited = props.onExited,
94
+ onChange = props.onChange,
95
+ onClean = props.onClean,
96
+ onCreate = props.onCreate,
97
+ onSearch = props.onSearch,
98
+ onSelect = props.onSelect,
99
+ onOpen = props.onOpen,
100
+ onClose = props.onClose,
101
+ onBlur = props.onBlur,
102
+ onFocus = props.onFocus,
103
+ searchBy = props.searchBy,
104
+ _props$placement = props.placement,
105
+ placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,
106
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "appearance", "cleanable", "cacheData", "classPrefix", "data", "disabled", "readOnly", "plaintext", "defaultValue", "defaultOpen", "disabledItemValues", "locale", "toggleAs", "style", "searchable", "open", "placeholder", "groupBy", "menuClassName", "menuStyle", "menuAutoWidth", "menuMaxHeight", "creatable", "shouldDisplayCreateOption", "value", "valueKey", "virtualized", "labelKey", "listProps", "id", "tabIndex", "sort", "renderMenu", "renderExtraFooter", "renderValue", "renderMenuItem", "renderMenuGroup", "onEnter", "onEntered", "onExit", "onExited", "onChange", "onClean", "onCreate", "onSearch", "onSelect", "onOpen", "onClose", "onBlur", "onFocus", "searchBy", "placement"]);
137
107
  var _useContext = (0, _react.useContext)(InputPickerContext),
138
- multi = _useContext.multi,
139
- tagProps = _useContext.tagProps,
140
- trigger = _useContext.trigger,
141
- disabledOptions = _useContext.disabledOptions;
142
-
108
+ multi = _useContext.multi,
109
+ tagProps = _useContext.tagProps,
110
+ trigger = _useContext.trigger,
111
+ disabledOptions = _useContext.disabledOptions;
143
112
  if (groupBy === valueKey || groupBy === labelKey) {
144
113
  throw Error('`groupBy` can not be equal to `valueKey` and `labelKey`');
145
114
  }
146
-
147
115
  var overlayRef = (0, _react.useRef)(null);
148
116
  var targetRef = (0, _react.useRef)(null);
149
117
  var triggerRef = (0, _react.useRef)(null);
150
118
  var inputRef = (0, _react.useRef)();
151
119
  var listRef = (0, _react.useRef)(null);
152
-
153
120
  var _useCustom = (0, _utils.useCustom)(['Picker', 'InputPicker'], overrideLocale),
154
- locale = _useCustom.locale;
155
-
121
+ locale = _useCustom.locale;
156
122
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
157
- prefix = _useClassNames.prefix,
158
- merge = _useClassNames.merge;
159
-
123
+ prefix = _useClassNames.prefix,
124
+ merge = _useClassNames.merge;
160
125
  var _useState = (0, _react.useState)(controlledData),
161
- uncontrolledData = _useState[0],
162
- setData = _useState[1];
163
-
126
+ uncontrolledData = _useState[0],
127
+ setData = _useState[1];
164
128
  var _useState2 = (0, _react.useState)(100),
165
- maxWidth = _useState2[0],
166
- setMaxWidth = _useState2[1];
167
-
129
+ maxWidth = _useState2[0],
130
+ setMaxWidth = _useState2[1];
168
131
  var _useState3 = (0, _react.useState)([]),
169
- newData = _useState3[0],
170
- setNewData = _useState3[1];
171
-
132
+ newData = _useState3[0],
133
+ setNewData = _useState3[1];
172
134
  var _useState4 = (0, _react.useState)(defaultOpen),
173
- uncontrolledOpen = _useState4[0],
174
- setOpen = _useState4[1];
175
-
135
+ uncontrolledOpen = _useState4[0],
136
+ setOpen = _useState4[1];
176
137
  var open = (0, _isUndefined.default)(controlledOpen) ? uncontrolledOpen : controlledOpen;
177
138
  var getAllData = (0, _react.useCallback)(function () {
178
139
  return [].concat(uncontrolledData, newData);
@@ -180,55 +141,49 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
180
141
  var getAllDataAndCache = (0, _react.useCallback)(function () {
181
142
  return [].concat(getAllData(), cacheData);
182
143
  }, [getAllData, cacheData]);
183
-
184
144
  var _useControlled = (0, _utils.useControlled)(valueProp, multi ? defaultValue || [] : defaultValue),
185
- value = _useControlled[0],
186
- setValue = _useControlled[1],
187
- isControlled = _useControlled[2];
188
-
145
+ value = _useControlled[0],
146
+ setValue = _useControlled[1],
147
+ isControlled = _useControlled[2];
189
148
  var cloneValue = (0, _react.useCallback)(function () {
190
149
  return multi ? (0, _clone.default)(value) || [] : value;
191
150
  }, [multi, value]);
192
151
  var handleClose = (0, _react.useCallback)(function () {
193
152
  var _triggerRef$current;
194
-
195
153
  triggerRef === null || triggerRef === void 0 ? void 0 : (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.close();
196
- }, [triggerRef]); // Used to hover the focuse item when trigger `onKeydown`
154
+ }, [triggerRef]);
197
155
 
156
+ // Used to hover the focuse item when trigger `onKeydown`
198
157
  var _useFocusItemValue = (0, _Picker.useFocusItemValue)(multi ? value === null || value === void 0 ? void 0 : value[0] : value, {
199
- data: getAllDataAndCache(),
200
- valueKey: valueKey,
201
- target: function target() {
202
- return overlayRef.current;
203
- }
204
- }),
205
- focusItemValue = _useFocusItemValue.focusItemValue,
206
- setFocusItemValue = _useFocusItemValue.setFocusItemValue,
207
- onKeyDown = _useFocusItemValue.onKeyDown;
208
-
158
+ data: getAllDataAndCache(),
159
+ valueKey: valueKey,
160
+ target: function target() {
161
+ return overlayRef.current;
162
+ }
163
+ }),
164
+ focusItemValue = _useFocusItemValue.focusItemValue,
165
+ setFocusItemValue = _useFocusItemValue.setFocusItemValue,
166
+ onKeyDown = _useFocusItemValue.onKeyDown;
209
167
  var handleSearchCallback = (0, _react.useCallback)(function (searchKeyword, filteredData, event) {
210
168
  var _filteredData$;
211
-
212
169
  // The first option after filtering is the focus.
213
170
  setFocusItemValue(disabledOptions ? searchKeyword : (filteredData === null || filteredData === void 0 ? void 0 : (_filteredData$ = filteredData[0]) === null || _filteredData$ === void 0 ? void 0 : _filteredData$[valueKey]) || searchKeyword);
214
171
  onSearch === null || onSearch === void 0 ? void 0 : onSearch(searchKeyword, event);
215
- }, [disabledOptions, setFocusItemValue, valueKey, onSearch]); // Use search keywords to filter options.
172
+ }, [disabledOptions, setFocusItemValue, valueKey, onSearch]);
216
173
 
174
+ // Use search keywords to filter options.
217
175
  var _useSearch = (0, _Picker.useSearch)(getAllData(), {
218
- labelKey: labelKey,
219
- searchBy: searchBy,
220
- callback: handleSearchCallback
221
- }),
222
- searchKeyword = _useSearch.searchKeyword,
223
- resetSearch = _useSearch.resetSearch,
224
- checkShouldDisplay = _useSearch.checkShouldDisplay,
225
- handleSearch = _useSearch.handleSearch; // Update the state when the data in props changes
226
-
227
-
176
+ labelKey: labelKey,
177
+ searchBy: searchBy,
178
+ callback: handleSearchCallback
179
+ }),
180
+ searchKeyword = _useSearch.searchKeyword,
181
+ resetSearch = _useSearch.resetSearch,
182
+ checkShouldDisplay = _useSearch.checkShouldDisplay,
183
+ handleSearch = _useSearch.handleSearch; // Update the state when the data in props changes
228
184
  (0, _react.useEffect)(function () {
229
185
  if (controlledData && !(0, _shallowEqual.default)(controlledData, uncontrolledData)) {
230
186
  var _controlledData$;
231
-
232
187
  setData(controlledData);
233
188
  setNewData([]);
234
189
  setFocusItemValue(controlledData === null || controlledData === void 0 ? void 0 : (_controlledData$ = controlledData[0]) === null || _controlledData$ === void 0 ? void 0 : _controlledData$[valueKey]);
@@ -236,19 +191,17 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
236
191
  }, [setFocusItemValue, controlledData, uncontrolledData, valueKey]);
237
192
  (0, _react.useEffect)(function () {
238
193
  var _triggerRef$current2;
239
-
240
194
  // In multiple selection, you need to set a maximum width for the input.
241
195
  if ((_triggerRef$current2 = triggerRef.current) !== null && _triggerRef$current2 !== void 0 && _triggerRef$current2.root) {
242
196
  setMaxWidth((0, _getWidth.default)(triggerRef.current.root));
243
197
  }
244
- }, []); // Update the position of the menu when the search keyword and value change
198
+ }, []);
245
199
 
200
+ // Update the position of the menu when the search keyword and value change
246
201
  (0, _react.useEffect)(function () {
247
202
  var _triggerRef$current3, _triggerRef$current3$;
248
-
249
203
  (_triggerRef$current3 = triggerRef.current) === null || _triggerRef$current3 === void 0 ? void 0 : (_triggerRef$current3$ = _triggerRef$current3.updatePosition) === null || _triggerRef$current3$ === void 0 ? void 0 : _triggerRef$current3$.call(_triggerRef$current3);
250
204
  }, [searchKeyword, value]);
251
-
252
205
  var getDateItem = function getDateItem(value) {
253
206
  // Find active `MenuItem` by `value`
254
207
  var allData = getAllDataAndCache();
@@ -256,48 +209,39 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
256
209
  return (0, _shallowEqual.default)(item[valueKey], value);
257
210
  });
258
211
  var itemNode = placeholder;
259
-
260
212
  if (activeItem !== null && activeItem !== void 0 && activeItem[labelKey]) {
261
213
  itemNode = activeItem === null || activeItem === void 0 ? void 0 : activeItem[labelKey];
262
214
  }
263
-
264
215
  return {
265
216
  isValid: !!activeItem,
266
217
  activeItem: activeItem,
267
218
  itemNode: itemNode
268
219
  };
269
220
  };
270
-
271
221
  var getInput = (0, _react.useCallback)(function () {
272
222
  var _inputRef$current;
273
-
274
223
  return multi ? (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.input : inputRef.current;
275
224
  }, [inputRef, multi]);
276
225
  var focusInput = (0, _react.useCallback)(function () {
277
226
  var _getInput;
278
-
279
227
  return (_getInput = getInput()) === null || _getInput === void 0 ? void 0 : _getInput.focus();
280
228
  }, [getInput]);
281
229
  var blurInput = (0, _react.useCallback)(function () {
282
230
  var _getInput2;
283
-
284
231
  return (_getInput2 = getInput()) === null || _getInput2 === void 0 ? void 0 : _getInput2.blur();
285
232
  }, [getInput]);
233
+
286
234
  /**
287
235
  * Convert the string of the newly created option into an object.
288
236
  */
289
-
290
237
  var createOption = (0, _react.useCallback)(function (value) {
291
238
  var _ref2;
292
-
293
239
  if (groupBy) {
294
240
  var _ref;
295
-
296
241
  return _ref = {
297
242
  create: true
298
243
  }, _ref[groupBy] = locale === null || locale === void 0 ? void 0 : locale.newItem, _ref[valueKey] = value, _ref[labelKey] = value, _ref;
299
244
  }
300
-
301
245
  return _ref2 = {
302
246
  create: true
303
247
  }, _ref2[valueKey] = value, _ref2[labelKey] = value, _ref2;
@@ -316,20 +260,19 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
316
260
  }, [setValue, cloneValue, handleChange]);
317
261
  var handleSelect = (0, _react.useCallback)(function (value, item, event) {
318
262
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(value, item, event);
319
-
320
263
  if (creatable && item.create) {
321
264
  delete item.create;
322
265
  onCreate === null || onCreate === void 0 ? void 0 : onCreate(value, item, event);
323
266
  setNewData(newData.concat(item));
324
267
  }
325
268
  }, [creatable, newData, onSelect, onCreate]);
269
+
326
270
  /**
327
271
  * Callback triggered by single selection
328
272
  * @param value
329
273
  * @param item
330
274
  * @param event
331
275
  */
332
-
333
276
  var handleSelectItem = function handleSelectItem(value, item, event) {
334
277
  setValue(value);
335
278
  setFocusItemValue(value);
@@ -338,6 +281,7 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
338
281
  handleChange(value, event);
339
282
  handleClose();
340
283
  };
284
+
341
285
  /**
342
286
  * Callback triggered by multiple selection
343
287
  * @param nextItemValue
@@ -345,11 +289,8 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
345
289
  * @param event
346
290
  * @param checked
347
291
  */
348
-
349
-
350
292
  var handleCheckTag = function handleCheckTag(nextItemValue, item, event, checked) {
351
293
  var val = cloneValue();
352
-
353
294
  if (checked) {
354
295
  val.push(nextItemValue);
355
296
  } else {
@@ -357,7 +298,6 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
357
298
  return (0, _shallowEqual.default)(itemVal, nextItemValue);
358
299
  });
359
300
  }
360
-
361
301
  setValue(val);
362
302
  resetSearch();
363
303
  setFocusItemValue(nextItemValue);
@@ -365,27 +305,23 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
365
305
  handleChange(val, event);
366
306
  focusInput();
367
307
  };
368
-
369
308
  var handleTagKeyPress = (0, _react.useCallback)(function (event) {
370
309
  // When composing, ignore the keypress event.
371
310
  if (event.nativeEvent.isComposing) {
372
311
  return;
373
312
  }
374
-
375
313
  var val = cloneValue();
376
314
  var data = getAllData();
377
-
378
315
  if (!focusItemValue || !data) {
379
316
  return;
380
- } // If the value is disabled in this option, it is returned.
381
-
317
+ }
382
318
 
319
+ // If the value is disabled in this option, it is returned.
383
320
  if (disabledItemValues !== null && disabledItemValues !== void 0 && disabledItemValues.some(function (item) {
384
321
  return item === focusItemValue;
385
322
  })) {
386
323
  return;
387
324
  }
388
-
389
325
  if (!val.some(function (v) {
390
326
  return (0, _shallowEqual.default)(v, focusItemValue);
391
327
  })) {
@@ -395,15 +331,12 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
395
331
  return (0, _shallowEqual.default)(itemVal, focusItemValue);
396
332
  });
397
333
  }
398
-
399
334
  var focusItem = data.find(function (item) {
400
335
  return (0, _shallowEqual.default)(item === null || item === void 0 ? void 0 : item[valueKey], focusItemValue);
401
336
  });
402
-
403
337
  if (!focusItem) {
404
338
  focusItem = createOption(focusItemValue);
405
339
  }
406
-
407
340
  setValue(val);
408
341
  resetSearch();
409
342
  handleSelect(val, focusItem, event);
@@ -412,32 +345,30 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
412
345
  var handleMenuItemKeyPress = (0, _react.useCallback)(function (event) {
413
346
  if (!focusItemValue || !controlledData) {
414
347
  return;
415
- } // If the value is disabled in this option, it is returned.
416
-
348
+ }
417
349
 
350
+ // If the value is disabled in this option, it is returned.
418
351
  if (disabledItemValues !== null && disabledItemValues !== void 0 && disabledItemValues.some(function (item) {
419
352
  return item === focusItemValue;
420
353
  })) {
421
354
  return;
422
- } // Find active `MenuItem` by `value`
423
-
355
+ }
424
356
 
357
+ // Find active `MenuItem` by `value`
425
358
  var allData = getAllData();
426
359
  var focusItem = allData.find(function (item) {
427
360
  return (0, _shallowEqual.default)(item[valueKey], focusItemValue);
428
- }); // FIXME Bad state flow
361
+ });
429
362
 
363
+ // FIXME Bad state flow
430
364
  if (!focusItem && focusItemValue === searchKeyword) {
431
365
  focusItem = createOption(searchKeyword);
432
366
  }
433
-
434
367
  setValue(focusItemValue);
435
368
  resetSearch();
436
-
437
369
  if (focusItem) {
438
370
  handleSelect(focusItemValue, focusItem, event);
439
371
  }
440
-
441
372
  handleChange(focusItemValue, event);
442
373
  handleClose();
443
374
  }, [setValue, disabledItemValues, controlledData, focusItemValue, valueKey, searchKeyword, handleClose, resetSearch, createOption, getAllData, handleChange, handleSelect]);
@@ -447,23 +378,20 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
447
378
  targetRef: targetRef,
448
379
  listRef: listRef
449
380
  });
381
+
450
382
  /**
451
383
  * Remove the last item, after pressing the back key on the keyboard.
452
384
  * @param event
453
385
  */
454
-
455
386
  var removeLastItem = (0, _react.useCallback)(function (event) {
456
387
  var target = event === null || event === void 0 ? void 0 : event.target;
457
-
458
388
  if ((target === null || target === void 0 ? void 0 : target.tagName) !== 'INPUT') {
459
389
  focusInput();
460
390
  return;
461
391
  }
462
-
463
392
  if ((target === null || target === void 0 ? void 0 : target.tagName) === 'INPUT' && target !== null && target !== void 0 && target.value) {
464
393
  return;
465
394
  }
466
-
467
395
  var val = cloneValue();
468
396
  val.pop();
469
397
  setValue(val);
@@ -473,17 +401,14 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
473
401
  if (disabled || searchKeyword !== '') {
474
402
  return;
475
403
  }
476
-
477
404
  setValue(null);
478
405
  setFocusItemValue(null);
479
406
  resetSearch();
480
-
481
407
  if (multi) {
482
408
  handleChange([], event);
483
409
  } else {
484
410
  handleChange(null, event);
485
411
  }
486
-
487
412
  onClean === null || onClean === void 0 ? void 0 : onClean(event);
488
413
  }, [disabled, searchKeyword, setValue, setFocusItemValue, resetSearch, multi, onClean, handleChange]);
489
414
  var events = {
@@ -497,27 +422,24 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
497
422
  if ((0, _utils.isOneOf)('Space', trigger) && event.key === _utils.KEY_VALUES.SPACE) {
498
423
  handleTagKeyPress(event);
499
424
  event.preventDefault();
500
- } // When typing a comma, create a tag.
501
-
425
+ }
502
426
 
427
+ // When typing a comma, create a tag.
503
428
  if ((0, _utils.isOneOf)('Comma', trigger) && event.key === _utils.KEY_VALUES.COMMA) {
504
429
  handleTagKeyPress(event);
505
430
  event.preventDefault();
506
431
  }
507
432
  }, [handleTagKeyPress, trigger]);
508
-
509
433
  if (multi) {
510
434
  if ((0, _utils.isOneOf)('Enter', trigger)) {
511
435
  events.onMenuPressEnter = handleTagKeyPress;
512
436
  }
513
-
514
437
  if (creatable) {
515
438
  events.onKeyDown = handleKeyPress;
516
439
  }
517
440
  } else {
518
441
  events.onMenuPressEnter = handleMenuItemKeyPress;
519
442
  }
520
-
521
443
  var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends2.default)({
522
444
  triggerRef: triggerRef,
523
445
  targetRef: targetRef,
@@ -531,7 +453,6 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
531
453
  var handleFocus = (0, _react.useCallback)(function () {
532
454
  if (!readOnly) {
533
455
  var _triggerRef$current4;
534
-
535
456
  setOpen(true);
536
457
  (_triggerRef$current4 = triggerRef.current) === null || _triggerRef$current4 === void 0 ? void 0 : _triggerRef$current4.open();
537
458
  }
@@ -544,13 +465,11 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
544
465
  blurInput();
545
466
  setOpen(false);
546
467
  }, [blurInput]);
547
-
548
468
  var renderDropdownMenuItem = function renderDropdownMenuItem(label, item) {
549
469
  // 'Create option "{0}"' => Create option "xxxxx"
550
470
  var newLabel = item.create ? /*#__PURE__*/_react.default.createElement("span", null, (0, _utils.tplTransform)(locale.createOption, label)) : label;
551
471
  return renderMenuItem ? renderMenuItem(newLabel, item) : newLabel;
552
472
  };
553
-
554
473
  var checkValue = function checkValue() {
555
474
  if (multi) {
556
475
  return {
@@ -558,43 +477,35 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
558
477
  itemNode: null
559
478
  };
560
479
  }
561
-
562
480
  var dataItem = getDateItem(value);
563
481
  var itemNode = dataItem.itemNode;
564
-
565
482
  if (!(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue)) {
566
483
  itemNode = renderValue(value, dataItem.activeItem, itemNode);
567
484
  }
568
-
569
485
  return {
570
486
  isValid: dataItem.isValid,
571
487
  itemNode: itemNode
572
488
  };
573
489
  };
574
-
575
490
  var renderMultiValue = function renderMultiValue() {
576
491
  if (!multi) {
577
492
  return null;
578
493
  }
579
-
580
494
  var _tagProps$closable = tagProps.closable,
581
- closable = _tagProps$closable === void 0 ? true : _tagProps$closable,
582
- onClose = tagProps.onClose,
583
- tagRest = (0, _objectWithoutPropertiesLoose2.default)(tagProps, ["closable", "onClose"]);
495
+ closable = _tagProps$closable === void 0 ? true : _tagProps$closable,
496
+ onClose = tagProps.onClose,
497
+ tagRest = (0, _objectWithoutPropertiesLoose2.default)(tagProps, ["closable", "onClose"]);
584
498
  var tags = value || [];
585
499
  var items = [];
586
500
  var tagElements = tags.map(function (tag) {
587
501
  var _getDateItem = getDateItem(tag),
588
- isValid = _getDateItem.isValid,
589
- itemNode = _getDateItem.itemNode,
590
- activeItem = _getDateItem.activeItem;
591
-
502
+ isValid = _getDateItem.isValid,
503
+ itemNode = _getDateItem.itemNode,
504
+ activeItem = _getDateItem.activeItem;
592
505
  items.push(activeItem);
593
-
594
506
  if (!isValid) {
595
507
  return null;
596
508
  }
597
-
598
509
  return /*#__PURE__*/_react.default.createElement(_Tag.default, (0, _extends2.default)({}, tagRest, {
599
510
  key: tag,
600
511
  size: rest.size === 'lg' ? 'lg' : rest.size === 'xs' ? 'sm' : 'md',
@@ -605,18 +516,15 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
605
516
  }).filter(function (item) {
606
517
  return item !== null;
607
518
  });
608
-
609
519
  if ((tags.length > 0 || isControlled) && (0, _isFunction.default)(renderValue)) {
610
520
  return renderValue(value, items, tagElements);
611
521
  }
612
-
613
522
  return tagElements;
614
523
  };
615
-
616
524
  var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {
617
525
  var left = positionProps.left,
618
- top = positionProps.top,
619
- className = positionProps.className;
526
+ top = positionProps.top,
527
+ className = positionProps.className;
620
528
  var menuClassPrefix = multi ? 'picker-check-menu' : 'picker-select-menu';
621
529
  var classes = merge(className, menuClassName, prefix(multi ? 'check-menu' : 'select-menu'));
622
530
  var styles = (0, _extends2.default)({}, menuStyle, {
@@ -624,26 +532,23 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
624
532
  top: top
625
533
  });
626
534
  var items = (0, _treeUtils.filterNodesOfTree)(getAllData(), checkShouldDisplay);
627
-
628
535
  if (creatable && (typeof shouldDisplayCreateOption === 'function' ? shouldDisplayCreateOption(searchKeyword, items) : searchKeyword && !items.find(function (item) {
629
536
  return item[valueKey] === searchKeyword;
630
537
  }))) {
631
538
  items = [].concat(items, [createOption(searchKeyword)]);
632
- } // Create a tree structure data when set `groupBy`
633
-
539
+ }
634
540
 
541
+ // Create a tree structure data when set `groupBy`
635
542
  if (groupBy) {
636
543
  items = (0, _getDataGroupBy.getDataGroupBy)(items, groupBy, sort);
637
544
  } else if (typeof sort === 'function') {
638
545
  items = items.sort(sort(false));
639
546
  }
640
-
641
547
  if (disabledOptions) {
642
548
  return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {
643
549
  ref: (0, _utils.mergeRefs)(overlayRef, speakerRef)
644
550
  });
645
551
  }
646
-
647
552
  var menu = items.length ? /*#__PURE__*/_react.default.createElement(_Picker.DropdownMenu, {
648
553
  id: id ? id + "-listbox" : undefined,
649
554
  listProps: listProps,
@@ -657,7 +562,8 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
657
562
  activeItemValues: multi ? value : [value],
658
563
  focusItemValue: focusItemValue,
659
564
  maxHeight: menuMaxHeight,
660
- data: items // FIXME-Doma
565
+ data: items
566
+ // FIXME-Doma
661
567
  // `group` is redundant so long as `groupBy` exists
662
568
  ,
663
569
  group: !(0, _isUndefined.default)(groupBy),
@@ -679,32 +585,28 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
679
585
  onKeyDown: onPickerKeyDown
680
586
  }, renderMenu ? renderMenu(menu) : menu, renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());
681
587
  };
682
-
683
588
  var _checkValue = checkValue(),
684
- isValid = _checkValue.isValid,
685
- itemNode = _checkValue.itemNode;
686
-
589
+ isValid = _checkValue.isValid,
590
+ itemNode = _checkValue.itemNode;
687
591
  var tagElements = renderMultiValue();
592
+
688
593
  /**
689
594
  * 1.Have a value and the value is valid.
690
595
  * 2.Regardless of whether the value is valid, as long as renderValue is set, it is judged to have a value.
691
596
  * 3.If renderValue returns null or undefined, hasValue is false.
692
597
  */
693
-
694
598
  var hasSingleValue = !(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue) && !(0, _isNil.default)(itemNode);
695
599
  var hasMultiValue = (0, _isArray.default)(value) && value.length > 0 && (0, _isFunction.default)(renderValue) && !(0, _isNil.default)(tagElements);
696
600
  var hasValue = multi ? !!(tagElements !== null && tagElements !== void 0 && tagElements.length) || hasMultiValue : isValid || hasSingleValue;
697
-
698
601
  var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends2.default)({}, props, {
699
- classPrefix: classPrefix,
700
- appearance: appearance,
701
- hasValue: hasValue,
702
- name: 'input',
703
- cleanable: cleanable
704
- })),
705
- pickerClasses = _usePickerClassName[0],
706
- usedClassNamePropKeys = _usePickerClassName[1];
707
-
602
+ classPrefix: classPrefix,
603
+ appearance: appearance,
604
+ hasValue: hasValue,
605
+ name: 'input',
606
+ cleanable: cleanable
607
+ })),
608
+ pickerClasses = _usePickerClassName[0],
609
+ usedClassNamePropKeys = _usePickerClassName[1];
708
610
  var classes = merge(pickerClasses, (_merge = {}, _merge[prefix(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["tag"])))] = multi, _merge[prefix(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)(["focused"])))] = open, _merge[prefix(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteralLoose2.default)(["disabled-options"])))] = disabledOptions, _merge));
709
611
  var searching = !!searchKeyword && open;
710
612
  var displaySearchInput = searchable && !disabled;
@@ -716,23 +618,21 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
716
618
  } : {
717
619
  as: 'input'
718
620
  };
719
-
720
621
  if (plaintext) {
721
- var plaintextProps = {}; // TagPicker has -6px margin-left on the plaintext wrapper
722
- // for fixing margin-left on tags from 2nd line on
622
+ var plaintextProps = {};
723
623
 
624
+ // TagPicker has -6px margin-left on the plaintext wrapper
625
+ // for fixing margin-left on tags from 2nd line on
724
626
  if (multi && hasValue) {
725
627
  plaintextProps.style = {
726
628
  marginLeft: -6
727
629
  };
728
630
  }
729
-
730
631
  return /*#__PURE__*/_react.default.createElement(_Plaintext.default, (0, _extends2.default)({
731
632
  localeKey: "notSelected",
732
633
  ref: targetRef
733
634
  }, plaintextProps), itemNode || (tagElements !== null && tagElements !== void 0 && tagElements.length ? tagElements : null) || placeholder);
734
635
  }
735
-
736
636
  var placeholderNode = placeholder || (disabledOptions ? null : locale === null || locale === void 0 ? void 0 : locale.placeholder);
737
637
  return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {
738
638
  pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),
@@ -777,7 +677,6 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
777
677
  value: open ? searchKeyword : ''
778
678
  })))));
779
679
  });
780
-
781
680
  InputPicker.displayName = 'InputPicker';
782
681
  InputPicker.propTypes = (0, _extends2.default)({}, _Picker.listPickerPropTypes, {
783
682
  locale: _propTypes.default.any,