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,178 +1,140 @@
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,
112
+ onTagRemove = _useContext.onTagRemove;
143
113
  if (groupBy === valueKey || groupBy === labelKey) {
144
114
  throw Error('`groupBy` can not be equal to `valueKey` and `labelKey`');
145
115
  }
146
-
147
116
  var overlayRef = (0, _react.useRef)(null);
148
117
  var targetRef = (0, _react.useRef)(null);
149
118
  var triggerRef = (0, _react.useRef)(null);
150
119
  var inputRef = (0, _react.useRef)();
151
120
  var listRef = (0, _react.useRef)(null);
152
-
153
121
  var _useCustom = (0, _utils.useCustom)(['Picker', 'InputPicker'], overrideLocale),
154
- locale = _useCustom.locale;
155
-
122
+ locale = _useCustom.locale;
156
123
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
157
- prefix = _useClassNames.prefix,
158
- merge = _useClassNames.merge;
159
-
124
+ prefix = _useClassNames.prefix,
125
+ merge = _useClassNames.merge;
160
126
  var _useState = (0, _react.useState)(controlledData),
161
- uncontrolledData = _useState[0],
162
- setData = _useState[1];
163
-
127
+ uncontrolledData = _useState[0],
128
+ setData = _useState[1];
164
129
  var _useState2 = (0, _react.useState)(100),
165
- maxWidth = _useState2[0],
166
- setMaxWidth = _useState2[1];
167
-
130
+ maxWidth = _useState2[0],
131
+ setMaxWidth = _useState2[1];
168
132
  var _useState3 = (0, _react.useState)([]),
169
- newData = _useState3[0],
170
- setNewData = _useState3[1];
171
-
133
+ newData = _useState3[0],
134
+ setNewData = _useState3[1];
172
135
  var _useState4 = (0, _react.useState)(defaultOpen),
173
- uncontrolledOpen = _useState4[0],
174
- setOpen = _useState4[1];
175
-
136
+ uncontrolledOpen = _useState4[0],
137
+ setOpen = _useState4[1];
176
138
  var open = (0, _isUndefined.default)(controlledOpen) ? uncontrolledOpen : controlledOpen;
177
139
  var getAllData = (0, _react.useCallback)(function () {
178
140
  return [].concat(uncontrolledData, newData);
@@ -180,55 +142,49 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
180
142
  var getAllDataAndCache = (0, _react.useCallback)(function () {
181
143
  return [].concat(getAllData(), cacheData);
182
144
  }, [getAllData, cacheData]);
183
-
184
145
  var _useControlled = (0, _utils.useControlled)(valueProp, multi ? defaultValue || [] : defaultValue),
185
- value = _useControlled[0],
186
- setValue = _useControlled[1],
187
- isControlled = _useControlled[2];
188
-
146
+ value = _useControlled[0],
147
+ setValue = _useControlled[1],
148
+ isControlled = _useControlled[2];
189
149
  var cloneValue = (0, _react.useCallback)(function () {
190
150
  return multi ? (0, _clone.default)(value) || [] : value;
191
151
  }, [multi, value]);
192
152
  var handleClose = (0, _react.useCallback)(function () {
193
153
  var _triggerRef$current;
194
-
195
154
  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`
155
+ }, [triggerRef]);
197
156
 
157
+ // Used to hover the focuse item when trigger `onKeydown`
198
158
  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
-
159
+ data: getAllDataAndCache(),
160
+ valueKey: valueKey,
161
+ target: function target() {
162
+ return overlayRef.current;
163
+ }
164
+ }),
165
+ focusItemValue = _useFocusItemValue.focusItemValue,
166
+ setFocusItemValue = _useFocusItemValue.setFocusItemValue,
167
+ onKeyDown = _useFocusItemValue.onKeyDown;
209
168
  var handleSearchCallback = (0, _react.useCallback)(function (searchKeyword, filteredData, event) {
210
169
  var _filteredData$;
211
-
212
170
  // The first option after filtering is the focus.
213
171
  setFocusItemValue(disabledOptions ? searchKeyword : (filteredData === null || filteredData === void 0 ? void 0 : (_filteredData$ = filteredData[0]) === null || _filteredData$ === void 0 ? void 0 : _filteredData$[valueKey]) || searchKeyword);
214
172
  onSearch === null || onSearch === void 0 ? void 0 : onSearch(searchKeyword, event);
215
- }, [disabledOptions, setFocusItemValue, valueKey, onSearch]); // Use search keywords to filter options.
173
+ }, [disabledOptions, setFocusItemValue, valueKey, onSearch]);
216
174
 
175
+ // Use search keywords to filter options.
217
176
  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
-
177
+ labelKey: labelKey,
178
+ searchBy: searchBy,
179
+ callback: handleSearchCallback
180
+ }),
181
+ searchKeyword = _useSearch.searchKeyword,
182
+ resetSearch = _useSearch.resetSearch,
183
+ checkShouldDisplay = _useSearch.checkShouldDisplay,
184
+ handleSearch = _useSearch.handleSearch; // Update the state when the data in props changes
228
185
  (0, _react.useEffect)(function () {
229
186
  if (controlledData && !(0, _shallowEqual.default)(controlledData, uncontrolledData)) {
230
187
  var _controlledData$;
231
-
232
188
  setData(controlledData);
233
189
  setNewData([]);
234
190
  setFocusItemValue(controlledData === null || controlledData === void 0 ? void 0 : (_controlledData$ = controlledData[0]) === null || _controlledData$ === void 0 ? void 0 : _controlledData$[valueKey]);
@@ -236,19 +192,17 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
236
192
  }, [setFocusItemValue, controlledData, uncontrolledData, valueKey]);
237
193
  (0, _react.useEffect)(function () {
238
194
  var _triggerRef$current2;
239
-
240
195
  // In multiple selection, you need to set a maximum width for the input.
241
196
  if ((_triggerRef$current2 = triggerRef.current) !== null && _triggerRef$current2 !== void 0 && _triggerRef$current2.root) {
242
197
  setMaxWidth((0, _getWidth.default)(triggerRef.current.root));
243
198
  }
244
- }, []); // Update the position of the menu when the search keyword and value change
199
+ }, []);
245
200
 
201
+ // Update the position of the menu when the search keyword and value change
246
202
  (0, _react.useEffect)(function () {
247
203
  var _triggerRef$current3, _triggerRef$current3$;
248
-
249
204
  (_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
205
  }, [searchKeyword, value]);
251
-
252
206
  var getDateItem = function getDateItem(value) {
253
207
  // Find active `MenuItem` by `value`
254
208
  var allData = getAllDataAndCache();
@@ -256,48 +210,39 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
256
210
  return (0, _shallowEqual.default)(item[valueKey], value);
257
211
  });
258
212
  var itemNode = placeholder;
259
-
260
213
  if (activeItem !== null && activeItem !== void 0 && activeItem[labelKey]) {
261
214
  itemNode = activeItem === null || activeItem === void 0 ? void 0 : activeItem[labelKey];
262
215
  }
263
-
264
216
  return {
265
217
  isValid: !!activeItem,
266
218
  activeItem: activeItem,
267
219
  itemNode: itemNode
268
220
  };
269
221
  };
270
-
271
222
  var getInput = (0, _react.useCallback)(function () {
272
223
  var _inputRef$current;
273
-
274
224
  return multi ? (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.input : inputRef.current;
275
225
  }, [inputRef, multi]);
276
226
  var focusInput = (0, _react.useCallback)(function () {
277
227
  var _getInput;
278
-
279
228
  return (_getInput = getInput()) === null || _getInput === void 0 ? void 0 : _getInput.focus();
280
229
  }, [getInput]);
281
230
  var blurInput = (0, _react.useCallback)(function () {
282
231
  var _getInput2;
283
-
284
232
  return (_getInput2 = getInput()) === null || _getInput2 === void 0 ? void 0 : _getInput2.blur();
285
233
  }, [getInput]);
234
+
286
235
  /**
287
236
  * Convert the string of the newly created option into an object.
288
237
  */
289
-
290
238
  var createOption = (0, _react.useCallback)(function (value) {
291
239
  var _ref2;
292
-
293
240
  if (groupBy) {
294
241
  var _ref;
295
-
296
242
  return _ref = {
297
243
  create: true
298
244
  }, _ref[groupBy] = locale === null || locale === void 0 ? void 0 : locale.newItem, _ref[valueKey] = value, _ref[labelKey] = value, _ref;
299
245
  }
300
-
301
246
  return _ref2 = {
302
247
  create: true
303
248
  }, _ref2[valueKey] = value, _ref2[labelKey] = value, _ref2;
@@ -313,23 +258,23 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
313
258
  });
314
259
  setValue(val);
315
260
  handleChange(val, event);
316
- }, [setValue, cloneValue, handleChange]);
261
+ onTagRemove === null || onTagRemove === void 0 ? void 0 : onTagRemove(tag, event);
262
+ }, [cloneValue, setValue, handleChange, onTagRemove]);
317
263
  var handleSelect = (0, _react.useCallback)(function (value, item, event) {
318
264
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(value, item, event);
319
-
320
265
  if (creatable && item.create) {
321
266
  delete item.create;
322
267
  onCreate === null || onCreate === void 0 ? void 0 : onCreate(value, item, event);
323
268
  setNewData(newData.concat(item));
324
269
  }
325
270
  }, [creatable, newData, onSelect, onCreate]);
271
+
326
272
  /**
327
273
  * Callback triggered by single selection
328
274
  * @param value
329
275
  * @param item
330
276
  * @param event
331
277
  */
332
-
333
278
  var handleSelectItem = function handleSelectItem(value, item, event) {
334
279
  setValue(value);
335
280
  setFocusItemValue(value);
@@ -338,6 +283,7 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
338
283
  handleChange(value, event);
339
284
  handleClose();
340
285
  };
286
+
341
287
  /**
342
288
  * Callback triggered by multiple selection
343
289
  * @param nextItemValue
@@ -345,11 +291,8 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
345
291
  * @param event
346
292
  * @param checked
347
293
  */
348
-
349
-
350
294
  var handleCheckTag = function handleCheckTag(nextItemValue, item, event, checked) {
351
295
  var val = cloneValue();
352
-
353
296
  if (checked) {
354
297
  val.push(nextItemValue);
355
298
  } else {
@@ -357,7 +300,6 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
357
300
  return (0, _shallowEqual.default)(itemVal, nextItemValue);
358
301
  });
359
302
  }
360
-
361
303
  setValue(val);
362
304
  resetSearch();
363
305
  setFocusItemValue(nextItemValue);
@@ -365,27 +307,23 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
365
307
  handleChange(val, event);
366
308
  focusInput();
367
309
  };
368
-
369
310
  var handleTagKeyPress = (0, _react.useCallback)(function (event) {
370
311
  // When composing, ignore the keypress event.
371
312
  if (event.nativeEvent.isComposing) {
372
313
  return;
373
314
  }
374
-
375
315
  var val = cloneValue();
376
316
  var data = getAllData();
377
-
378
317
  if (!focusItemValue || !data) {
379
318
  return;
380
- } // If the value is disabled in this option, it is returned.
381
-
319
+ }
382
320
 
321
+ // If the value is disabled in this option, it is returned.
383
322
  if (disabledItemValues !== null && disabledItemValues !== void 0 && disabledItemValues.some(function (item) {
384
323
  return item === focusItemValue;
385
324
  })) {
386
325
  return;
387
326
  }
388
-
389
327
  if (!val.some(function (v) {
390
328
  return (0, _shallowEqual.default)(v, focusItemValue);
391
329
  })) {
@@ -395,15 +333,12 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
395
333
  return (0, _shallowEqual.default)(itemVal, focusItemValue);
396
334
  });
397
335
  }
398
-
399
336
  var focusItem = data.find(function (item) {
400
337
  return (0, _shallowEqual.default)(item === null || item === void 0 ? void 0 : item[valueKey], focusItemValue);
401
338
  });
402
-
403
339
  if (!focusItem) {
404
340
  focusItem = createOption(focusItemValue);
405
341
  }
406
-
407
342
  setValue(val);
408
343
  resetSearch();
409
344
  handleSelect(val, focusItem, event);
@@ -412,32 +347,30 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
412
347
  var handleMenuItemKeyPress = (0, _react.useCallback)(function (event) {
413
348
  if (!focusItemValue || !controlledData) {
414
349
  return;
415
- } // If the value is disabled in this option, it is returned.
416
-
350
+ }
417
351
 
352
+ // If the value is disabled in this option, it is returned.
418
353
  if (disabledItemValues !== null && disabledItemValues !== void 0 && disabledItemValues.some(function (item) {
419
354
  return item === focusItemValue;
420
355
  })) {
421
356
  return;
422
- } // Find active `MenuItem` by `value`
423
-
357
+ }
424
358
 
359
+ // Find active `MenuItem` by `value`
425
360
  var allData = getAllData();
426
361
  var focusItem = allData.find(function (item) {
427
362
  return (0, _shallowEqual.default)(item[valueKey], focusItemValue);
428
- }); // FIXME Bad state flow
363
+ });
429
364
 
365
+ // FIXME Bad state flow
430
366
  if (!focusItem && focusItemValue === searchKeyword) {
431
367
  focusItem = createOption(searchKeyword);
432
368
  }
433
-
434
369
  setValue(focusItemValue);
435
370
  resetSearch();
436
-
437
371
  if (focusItem) {
438
372
  handleSelect(focusItemValue, focusItem, event);
439
373
  }
440
-
441
374
  handleChange(focusItemValue, event);
442
375
  handleClose();
443
376
  }, [setValue, disabledItemValues, controlledData, focusItemValue, valueKey, searchKeyword, handleClose, resetSearch, createOption, getAllData, handleChange, handleSelect]);
@@ -447,23 +380,20 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
447
380
  targetRef: targetRef,
448
381
  listRef: listRef
449
382
  });
383
+
450
384
  /**
451
385
  * Remove the last item, after pressing the back key on the keyboard.
452
386
  * @param event
453
387
  */
454
-
455
388
  var removeLastItem = (0, _react.useCallback)(function (event) {
456
389
  var target = event === null || event === void 0 ? void 0 : event.target;
457
-
458
390
  if ((target === null || target === void 0 ? void 0 : target.tagName) !== 'INPUT') {
459
391
  focusInput();
460
392
  return;
461
393
  }
462
-
463
394
  if ((target === null || target === void 0 ? void 0 : target.tagName) === 'INPUT' && target !== null && target !== void 0 && target.value) {
464
395
  return;
465
396
  }
466
-
467
397
  var val = cloneValue();
468
398
  val.pop();
469
399
  setValue(val);
@@ -473,17 +403,14 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
473
403
  if (disabled || searchKeyword !== '') {
474
404
  return;
475
405
  }
476
-
477
406
  setValue(null);
478
407
  setFocusItemValue(null);
479
408
  resetSearch();
480
-
481
409
  if (multi) {
482
410
  handleChange([], event);
483
411
  } else {
484
412
  handleChange(null, event);
485
413
  }
486
-
487
414
  onClean === null || onClean === void 0 ? void 0 : onClean(event);
488
415
  }, [disabled, searchKeyword, setValue, setFocusItemValue, resetSearch, multi, onClean, handleChange]);
489
416
  var events = {
@@ -497,27 +424,24 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
497
424
  if ((0, _utils.isOneOf)('Space', trigger) && event.key === _utils.KEY_VALUES.SPACE) {
498
425
  handleTagKeyPress(event);
499
426
  event.preventDefault();
500
- } // When typing a comma, create a tag.
501
-
427
+ }
502
428
 
429
+ // When typing a comma, create a tag.
503
430
  if ((0, _utils.isOneOf)('Comma', trigger) && event.key === _utils.KEY_VALUES.COMMA) {
504
431
  handleTagKeyPress(event);
505
432
  event.preventDefault();
506
433
  }
507
434
  }, [handleTagKeyPress, trigger]);
508
-
509
435
  if (multi) {
510
436
  if ((0, _utils.isOneOf)('Enter', trigger)) {
511
437
  events.onMenuPressEnter = handleTagKeyPress;
512
438
  }
513
-
514
439
  if (creatable) {
515
440
  events.onKeyDown = handleKeyPress;
516
441
  }
517
442
  } else {
518
443
  events.onMenuPressEnter = handleMenuItemKeyPress;
519
444
  }
520
-
521
445
  var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends2.default)({
522
446
  triggerRef: triggerRef,
523
447
  targetRef: targetRef,
@@ -531,7 +455,6 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
531
455
  var handleFocus = (0, _react.useCallback)(function () {
532
456
  if (!readOnly) {
533
457
  var _triggerRef$current4;
534
-
535
458
  setOpen(true);
536
459
  (_triggerRef$current4 = triggerRef.current) === null || _triggerRef$current4 === void 0 ? void 0 : _triggerRef$current4.open();
537
460
  }
@@ -544,13 +467,11 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
544
467
  blurInput();
545
468
  setOpen(false);
546
469
  }, [blurInput]);
547
-
548
470
  var renderDropdownMenuItem = function renderDropdownMenuItem(label, item) {
549
471
  // 'Create option "{0}"' => Create option "xxxxx"
550
472
  var newLabel = item.create ? /*#__PURE__*/_react.default.createElement("span", null, (0, _utils.tplTransform)(locale.createOption, label)) : label;
551
473
  return renderMenuItem ? renderMenuItem(newLabel, item) : newLabel;
552
474
  };
553
-
554
475
  var checkValue = function checkValue() {
555
476
  if (multi) {
556
477
  return {
@@ -558,43 +479,35 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
558
479
  itemNode: null
559
480
  };
560
481
  }
561
-
562
482
  var dataItem = getDateItem(value);
563
483
  var itemNode = dataItem.itemNode;
564
-
565
484
  if (!(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue)) {
566
485
  itemNode = renderValue(value, dataItem.activeItem, itemNode);
567
486
  }
568
-
569
487
  return {
570
488
  isValid: dataItem.isValid,
571
489
  itemNode: itemNode
572
490
  };
573
491
  };
574
-
575
492
  var renderMultiValue = function renderMultiValue() {
576
493
  if (!multi) {
577
494
  return null;
578
495
  }
579
-
580
496
  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"]);
497
+ closable = _tagProps$closable === void 0 ? true : _tagProps$closable,
498
+ onClose = tagProps.onClose,
499
+ tagRest = (0, _objectWithoutPropertiesLoose2.default)(tagProps, ["closable", "onClose"]);
584
500
  var tags = value || [];
585
501
  var items = [];
586
502
  var tagElements = tags.map(function (tag) {
587
503
  var _getDateItem = getDateItem(tag),
588
- isValid = _getDateItem.isValid,
589
- itemNode = _getDateItem.itemNode,
590
- activeItem = _getDateItem.activeItem;
591
-
504
+ isValid = _getDateItem.isValid,
505
+ itemNode = _getDateItem.itemNode,
506
+ activeItem = _getDateItem.activeItem;
592
507
  items.push(activeItem);
593
-
594
508
  if (!isValid) {
595
509
  return null;
596
510
  }
597
-
598
511
  return /*#__PURE__*/_react.default.createElement(_Tag.default, (0, _extends2.default)({}, tagRest, {
599
512
  key: tag,
600
513
  size: rest.size === 'lg' ? 'lg' : rest.size === 'xs' ? 'sm' : 'md',
@@ -605,18 +518,15 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
605
518
  }).filter(function (item) {
606
519
  return item !== null;
607
520
  });
608
-
609
521
  if ((tags.length > 0 || isControlled) && (0, _isFunction.default)(renderValue)) {
610
522
  return renderValue(value, items, tagElements);
611
523
  }
612
-
613
524
  return tagElements;
614
525
  };
615
-
616
526
  var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {
617
527
  var left = positionProps.left,
618
- top = positionProps.top,
619
- className = positionProps.className;
528
+ top = positionProps.top,
529
+ className = positionProps.className;
620
530
  var menuClassPrefix = multi ? 'picker-check-menu' : 'picker-select-menu';
621
531
  var classes = merge(className, menuClassName, prefix(multi ? 'check-menu' : 'select-menu'));
622
532
  var styles = (0, _extends2.default)({}, menuStyle, {
@@ -624,26 +534,23 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
624
534
  top: top
625
535
  });
626
536
  var items = (0, _treeUtils.filterNodesOfTree)(getAllData(), checkShouldDisplay);
627
-
628
537
  if (creatable && (typeof shouldDisplayCreateOption === 'function' ? shouldDisplayCreateOption(searchKeyword, items) : searchKeyword && !items.find(function (item) {
629
538
  return item[valueKey] === searchKeyword;
630
539
  }))) {
631
540
  items = [].concat(items, [createOption(searchKeyword)]);
632
- } // Create a tree structure data when set `groupBy`
633
-
541
+ }
634
542
 
543
+ // Create a tree structure data when set `groupBy`
635
544
  if (groupBy) {
636
545
  items = (0, _getDataGroupBy.getDataGroupBy)(items, groupBy, sort);
637
546
  } else if (typeof sort === 'function') {
638
547
  items = items.sort(sort(false));
639
548
  }
640
-
641
549
  if (disabledOptions) {
642
550
  return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {
643
551
  ref: (0, _utils.mergeRefs)(overlayRef, speakerRef)
644
552
  });
645
553
  }
646
-
647
554
  var menu = items.length ? /*#__PURE__*/_react.default.createElement(_Picker.DropdownMenu, {
648
555
  id: id ? id + "-listbox" : undefined,
649
556
  listProps: listProps,
@@ -657,7 +564,8 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
657
564
  activeItemValues: multi ? value : [value],
658
565
  focusItemValue: focusItemValue,
659
566
  maxHeight: menuMaxHeight,
660
- data: items // FIXME-Doma
567
+ data: items
568
+ // FIXME-Doma
661
569
  // `group` is redundant so long as `groupBy` exists
662
570
  ,
663
571
  group: !(0, _isUndefined.default)(groupBy),
@@ -679,32 +587,28 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
679
587
  onKeyDown: onPickerKeyDown
680
588
  }, renderMenu ? renderMenu(menu) : menu, renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());
681
589
  };
682
-
683
590
  var _checkValue = checkValue(),
684
- isValid = _checkValue.isValid,
685
- itemNode = _checkValue.itemNode;
686
-
591
+ isValid = _checkValue.isValid,
592
+ itemNode = _checkValue.itemNode;
687
593
  var tagElements = renderMultiValue();
594
+
688
595
  /**
689
596
  * 1.Have a value and the value is valid.
690
597
  * 2.Regardless of whether the value is valid, as long as renderValue is set, it is judged to have a value.
691
598
  * 3.If renderValue returns null or undefined, hasValue is false.
692
599
  */
693
-
694
600
  var hasSingleValue = !(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue) && !(0, _isNil.default)(itemNode);
695
601
  var hasMultiValue = (0, _isArray.default)(value) && value.length > 0 && (0, _isFunction.default)(renderValue) && !(0, _isNil.default)(tagElements);
696
602
  var hasValue = multi ? !!(tagElements !== null && tagElements !== void 0 && tagElements.length) || hasMultiValue : isValid || hasSingleValue;
697
-
698
603
  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
-
604
+ classPrefix: classPrefix,
605
+ appearance: appearance,
606
+ hasValue: hasValue,
607
+ name: 'input',
608
+ cleanable: cleanable
609
+ })),
610
+ pickerClasses = _usePickerClassName[0],
611
+ usedClassNamePropKeys = _usePickerClassName[1];
708
612
  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
613
  var searching = !!searchKeyword && open;
710
614
  var displaySearchInput = searchable && !disabled;
@@ -716,23 +620,21 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
716
620
  } : {
717
621
  as: 'input'
718
622
  };
719
-
720
623
  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
624
+ var plaintextProps = {};
723
625
 
626
+ // TagPicker has -6px margin-left on the plaintext wrapper
627
+ // for fixing margin-left on tags from 2nd line on
724
628
  if (multi && hasValue) {
725
629
  plaintextProps.style = {
726
630
  marginLeft: -6
727
631
  };
728
632
  }
729
-
730
633
  return /*#__PURE__*/_react.default.createElement(_Plaintext.default, (0, _extends2.default)({
731
634
  localeKey: "notSelected",
732
635
  ref: targetRef
733
636
  }, plaintextProps), itemNode || (tagElements !== null && tagElements !== void 0 && tagElements.length ? tagElements : null) || placeholder);
734
637
  }
735
-
736
638
  var placeholderNode = placeholder || (disabledOptions ? null : locale === null || locale === void 0 ? void 0 : locale.placeholder);
737
639
  return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {
738
640
  pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),
@@ -777,7 +679,6 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
777
679
  value: open ? searchKeyword : ''
778
680
  })))));
779
681
  });
780
-
781
682
  InputPicker.displayName = 'InputPicker';
782
683
  InputPicker.propTypes = (0, _extends2.default)({}, _Picker.listPickerPropTypes, {
783
684
  locale: _propTypes.default.any,