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,9 +1,8 @@
1
+ 'use client';
1
2
  import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTemplateLiteralLoose";
2
3
  import _extends from "@babel/runtime/helpers/esm/extends";
3
4
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
-
5
5
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
6
-
7
6
  import React, { useState, useRef, useEffect, useCallback, useContext } from 'react';
8
7
  import PropTypes from 'prop-types';
9
8
  import isUndefined from 'lodash/isUndefined';
@@ -30,115 +29,105 @@ export var InputPickerContext = /*#__PURE__*/React.createContext({
30
29
  });
31
30
  var InputPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
32
31
  var _merge;
33
-
34
32
  var _props$as = props.as,
35
- Component = _props$as === void 0 ? 'div' : _props$as,
36
- _props$appearance = props.appearance,
37
- appearance = _props$appearance === void 0 ? 'default' : _props$appearance,
38
- _props$cleanable = props.cleanable,
39
- cleanable = _props$cleanable === void 0 ? true : _props$cleanable,
40
- _props$cacheData = props.cacheData,
41
- cacheData = _props$cacheData === void 0 ? [] : _props$cacheData,
42
- _props$classPrefix = props.classPrefix,
43
- classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,
44
- _props$data = props.data,
45
- controlledData = _props$data === void 0 ? [] : _props$data,
46
- disabled = props.disabled,
47
- readOnly = props.readOnly,
48
- plaintext = props.plaintext,
49
- defaultValue = props.defaultValue,
50
- _props$defaultOpen = props.defaultOpen,
51
- defaultOpen = _props$defaultOpen === void 0 ? false : _props$defaultOpen,
52
- _props$disabledItemVa = props.disabledItemValues,
53
- disabledItemValues = _props$disabledItemVa === void 0 ? [] : _props$disabledItemVa,
54
- overrideLocale = props.locale,
55
- toggleAs = props.toggleAs,
56
- style = props.style,
57
- _props$searchable = props.searchable,
58
- searchable = _props$searchable === void 0 ? true : _props$searchable,
59
- controlledOpen = props.open,
60
- placeholder = props.placeholder,
61
- groupBy = props.groupBy,
62
- menuClassName = props.menuClassName,
63
- menuStyle = props.menuStyle,
64
- _props$menuAutoWidth = props.menuAutoWidth,
65
- menuAutoWidth = _props$menuAutoWidth === void 0 ? true : _props$menuAutoWidth,
66
- _props$menuMaxHeight = props.menuMaxHeight,
67
- menuMaxHeight = _props$menuMaxHeight === void 0 ? 320 : _props$menuMaxHeight,
68
- creatable = props.creatable,
69
- shouldDisplayCreateOption = props.shouldDisplayCreateOption,
70
- valueProp = props.value,
71
- _props$valueKey = props.valueKey,
72
- valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,
73
- virtualized = props.virtualized,
74
- _props$labelKey = props.labelKey,
75
- labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,
76
- listProps = props.listProps,
77
- id = props.id,
78
- tabIndex = props.tabIndex,
79
- sort = props.sort,
80
- renderMenu = props.renderMenu,
81
- renderExtraFooter = props.renderExtraFooter,
82
- renderValue = props.renderValue,
83
- renderMenuItem = props.renderMenuItem,
84
- renderMenuGroup = props.renderMenuGroup,
85
- onEnter = props.onEnter,
86
- onEntered = props.onEntered,
87
- onExit = props.onExit,
88
- onExited = props.onExited,
89
- onChange = props.onChange,
90
- onClean = props.onClean,
91
- onCreate = props.onCreate,
92
- onSearch = props.onSearch,
93
- onSelect = props.onSelect,
94
- onOpen = props.onOpen,
95
- onClose = props.onClose,
96
- onBlur = props.onBlur,
97
- onFocus = props.onFocus,
98
- searchBy = props.searchBy,
99
- _props$placement = props.placement,
100
- placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,
101
- rest = _objectWithoutPropertiesLoose(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"]);
102
-
33
+ Component = _props$as === void 0 ? 'div' : _props$as,
34
+ _props$appearance = props.appearance,
35
+ appearance = _props$appearance === void 0 ? 'default' : _props$appearance,
36
+ _props$cleanable = props.cleanable,
37
+ cleanable = _props$cleanable === void 0 ? true : _props$cleanable,
38
+ _props$cacheData = props.cacheData,
39
+ cacheData = _props$cacheData === void 0 ? [] : _props$cacheData,
40
+ _props$classPrefix = props.classPrefix,
41
+ classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,
42
+ _props$data = props.data,
43
+ controlledData = _props$data === void 0 ? [] : _props$data,
44
+ disabled = props.disabled,
45
+ readOnly = props.readOnly,
46
+ plaintext = props.plaintext,
47
+ defaultValue = props.defaultValue,
48
+ _props$defaultOpen = props.defaultOpen,
49
+ defaultOpen = _props$defaultOpen === void 0 ? false : _props$defaultOpen,
50
+ _props$disabledItemVa = props.disabledItemValues,
51
+ disabledItemValues = _props$disabledItemVa === void 0 ? [] : _props$disabledItemVa,
52
+ overrideLocale = props.locale,
53
+ toggleAs = props.toggleAs,
54
+ style = props.style,
55
+ _props$searchable = props.searchable,
56
+ searchable = _props$searchable === void 0 ? true : _props$searchable,
57
+ controlledOpen = props.open,
58
+ placeholder = props.placeholder,
59
+ groupBy = props.groupBy,
60
+ menuClassName = props.menuClassName,
61
+ menuStyle = props.menuStyle,
62
+ _props$menuAutoWidth = props.menuAutoWidth,
63
+ menuAutoWidth = _props$menuAutoWidth === void 0 ? true : _props$menuAutoWidth,
64
+ _props$menuMaxHeight = props.menuMaxHeight,
65
+ menuMaxHeight = _props$menuMaxHeight === void 0 ? 320 : _props$menuMaxHeight,
66
+ creatable = props.creatable,
67
+ shouldDisplayCreateOption = props.shouldDisplayCreateOption,
68
+ valueProp = props.value,
69
+ _props$valueKey = props.valueKey,
70
+ valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,
71
+ virtualized = props.virtualized,
72
+ _props$labelKey = props.labelKey,
73
+ labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,
74
+ listProps = props.listProps,
75
+ id = props.id,
76
+ tabIndex = props.tabIndex,
77
+ sort = props.sort,
78
+ renderMenu = props.renderMenu,
79
+ renderExtraFooter = props.renderExtraFooter,
80
+ renderValue = props.renderValue,
81
+ renderMenuItem = props.renderMenuItem,
82
+ renderMenuGroup = props.renderMenuGroup,
83
+ onEnter = props.onEnter,
84
+ onEntered = props.onEntered,
85
+ onExit = props.onExit,
86
+ onExited = props.onExited,
87
+ onChange = props.onChange,
88
+ onClean = props.onClean,
89
+ onCreate = props.onCreate,
90
+ onSearch = props.onSearch,
91
+ onSelect = props.onSelect,
92
+ onOpen = props.onOpen,
93
+ onClose = props.onClose,
94
+ onBlur = props.onBlur,
95
+ onFocus = props.onFocus,
96
+ searchBy = props.searchBy,
97
+ _props$placement = props.placement,
98
+ placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,
99
+ rest = _objectWithoutPropertiesLoose(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"]);
103
100
  var _useContext = useContext(InputPickerContext),
104
- multi = _useContext.multi,
105
- tagProps = _useContext.tagProps,
106
- trigger = _useContext.trigger,
107
- disabledOptions = _useContext.disabledOptions;
108
-
101
+ multi = _useContext.multi,
102
+ tagProps = _useContext.tagProps,
103
+ trigger = _useContext.trigger,
104
+ disabledOptions = _useContext.disabledOptions,
105
+ onTagRemove = _useContext.onTagRemove;
109
106
  if (groupBy === valueKey || groupBy === labelKey) {
110
107
  throw Error('`groupBy` can not be equal to `valueKey` and `labelKey`');
111
108
  }
112
-
113
109
  var overlayRef = useRef(null);
114
110
  var targetRef = useRef(null);
115
111
  var triggerRef = useRef(null);
116
112
  var inputRef = useRef();
117
113
  var listRef = useRef(null);
118
-
119
114
  var _useCustom = useCustom(['Picker', 'InputPicker'], overrideLocale),
120
- locale = _useCustom.locale;
121
-
115
+ locale = _useCustom.locale;
122
116
  var _useClassNames = useClassNames(classPrefix),
123
- prefix = _useClassNames.prefix,
124
- merge = _useClassNames.merge;
125
-
117
+ prefix = _useClassNames.prefix,
118
+ merge = _useClassNames.merge;
126
119
  var _useState = useState(controlledData),
127
- uncontrolledData = _useState[0],
128
- setData = _useState[1];
129
-
120
+ uncontrolledData = _useState[0],
121
+ setData = _useState[1];
130
122
  var _useState2 = useState(100),
131
- maxWidth = _useState2[0],
132
- setMaxWidth = _useState2[1];
133
-
123
+ maxWidth = _useState2[0],
124
+ setMaxWidth = _useState2[1];
134
125
  var _useState3 = useState([]),
135
- newData = _useState3[0],
136
- setNewData = _useState3[1];
137
-
126
+ newData = _useState3[0],
127
+ setNewData = _useState3[1];
138
128
  var _useState4 = useState(defaultOpen),
139
- uncontrolledOpen = _useState4[0],
140
- setOpen = _useState4[1];
141
-
129
+ uncontrolledOpen = _useState4[0],
130
+ setOpen = _useState4[1];
142
131
  var open = isUndefined(controlledOpen) ? uncontrolledOpen : controlledOpen;
143
132
  var getAllData = useCallback(function () {
144
133
  return [].concat(uncontrolledData, newData);
@@ -146,55 +135,49 @@ var InputPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
146
135
  var getAllDataAndCache = useCallback(function () {
147
136
  return [].concat(getAllData(), cacheData);
148
137
  }, [getAllData, cacheData]);
149
-
150
138
  var _useControlled = useControlled(valueProp, multi ? defaultValue || [] : defaultValue),
151
- value = _useControlled[0],
152
- setValue = _useControlled[1],
153
- isControlled = _useControlled[2];
154
-
139
+ value = _useControlled[0],
140
+ setValue = _useControlled[1],
141
+ isControlled = _useControlled[2];
155
142
  var cloneValue = useCallback(function () {
156
143
  return multi ? clone(value) || [] : value;
157
144
  }, [multi, value]);
158
145
  var handleClose = useCallback(function () {
159
146
  var _triggerRef$current;
160
-
161
147
  triggerRef === null || triggerRef === void 0 ? void 0 : (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.close();
162
- }, [triggerRef]); // Used to hover the focuse item when trigger `onKeydown`
148
+ }, [triggerRef]);
163
149
 
150
+ // Used to hover the focuse item when trigger `onKeydown`
164
151
  var _useFocusItemValue = useFocusItemValue(multi ? value === null || value === void 0 ? void 0 : value[0] : value, {
165
- data: getAllDataAndCache(),
166
- valueKey: valueKey,
167
- target: function target() {
168
- return overlayRef.current;
169
- }
170
- }),
171
- focusItemValue = _useFocusItemValue.focusItemValue,
172
- setFocusItemValue = _useFocusItemValue.setFocusItemValue,
173
- onKeyDown = _useFocusItemValue.onKeyDown;
174
-
152
+ data: getAllDataAndCache(),
153
+ valueKey: valueKey,
154
+ target: function target() {
155
+ return overlayRef.current;
156
+ }
157
+ }),
158
+ focusItemValue = _useFocusItemValue.focusItemValue,
159
+ setFocusItemValue = _useFocusItemValue.setFocusItemValue,
160
+ onKeyDown = _useFocusItemValue.onKeyDown;
175
161
  var handleSearchCallback = useCallback(function (searchKeyword, filteredData, event) {
176
162
  var _filteredData$;
177
-
178
163
  // The first option after filtering is the focus.
179
164
  setFocusItemValue(disabledOptions ? searchKeyword : (filteredData === null || filteredData === void 0 ? void 0 : (_filteredData$ = filteredData[0]) === null || _filteredData$ === void 0 ? void 0 : _filteredData$[valueKey]) || searchKeyword);
180
165
  onSearch === null || onSearch === void 0 ? void 0 : onSearch(searchKeyword, event);
181
- }, [disabledOptions, setFocusItemValue, valueKey, onSearch]); // Use search keywords to filter options.
166
+ }, [disabledOptions, setFocusItemValue, valueKey, onSearch]);
182
167
 
168
+ // Use search keywords to filter options.
183
169
  var _useSearch = useSearch(getAllData(), {
184
- labelKey: labelKey,
185
- searchBy: searchBy,
186
- callback: handleSearchCallback
187
- }),
188
- searchKeyword = _useSearch.searchKeyword,
189
- resetSearch = _useSearch.resetSearch,
190
- checkShouldDisplay = _useSearch.checkShouldDisplay,
191
- handleSearch = _useSearch.handleSearch; // Update the state when the data in props changes
192
-
193
-
170
+ labelKey: labelKey,
171
+ searchBy: searchBy,
172
+ callback: handleSearchCallback
173
+ }),
174
+ searchKeyword = _useSearch.searchKeyword,
175
+ resetSearch = _useSearch.resetSearch,
176
+ checkShouldDisplay = _useSearch.checkShouldDisplay,
177
+ handleSearch = _useSearch.handleSearch; // Update the state when the data in props changes
194
178
  useEffect(function () {
195
179
  if (controlledData && !shallowEqual(controlledData, uncontrolledData)) {
196
180
  var _controlledData$;
197
-
198
181
  setData(controlledData);
199
182
  setNewData([]);
200
183
  setFocusItemValue(controlledData === null || controlledData === void 0 ? void 0 : (_controlledData$ = controlledData[0]) === null || _controlledData$ === void 0 ? void 0 : _controlledData$[valueKey]);
@@ -202,19 +185,17 @@ var InputPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
202
185
  }, [setFocusItemValue, controlledData, uncontrolledData, valueKey]);
203
186
  useEffect(function () {
204
187
  var _triggerRef$current2;
205
-
206
188
  // In multiple selection, you need to set a maximum width for the input.
207
189
  if ((_triggerRef$current2 = triggerRef.current) !== null && _triggerRef$current2 !== void 0 && _triggerRef$current2.root) {
208
190
  setMaxWidth(getWidth(triggerRef.current.root));
209
191
  }
210
- }, []); // Update the position of the menu when the search keyword and value change
192
+ }, []);
211
193
 
194
+ // Update the position of the menu when the search keyword and value change
212
195
  useEffect(function () {
213
196
  var _triggerRef$current3, _triggerRef$current3$;
214
-
215
197
  (_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);
216
198
  }, [searchKeyword, value]);
217
-
218
199
  var getDateItem = function getDateItem(value) {
219
200
  // Find active `MenuItem` by `value`
220
201
  var allData = getAllDataAndCache();
@@ -222,48 +203,39 @@ var InputPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
222
203
  return shallowEqual(item[valueKey], value);
223
204
  });
224
205
  var itemNode = placeholder;
225
-
226
206
  if (activeItem !== null && activeItem !== void 0 && activeItem[labelKey]) {
227
207
  itemNode = activeItem === null || activeItem === void 0 ? void 0 : activeItem[labelKey];
228
208
  }
229
-
230
209
  return {
231
210
  isValid: !!activeItem,
232
211
  activeItem: activeItem,
233
212
  itemNode: itemNode
234
213
  };
235
214
  };
236
-
237
215
  var getInput = useCallback(function () {
238
216
  var _inputRef$current;
239
-
240
217
  return multi ? (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.input : inputRef.current;
241
218
  }, [inputRef, multi]);
242
219
  var focusInput = useCallback(function () {
243
220
  var _getInput;
244
-
245
221
  return (_getInput = getInput()) === null || _getInput === void 0 ? void 0 : _getInput.focus();
246
222
  }, [getInput]);
247
223
  var blurInput = useCallback(function () {
248
224
  var _getInput2;
249
-
250
225
  return (_getInput2 = getInput()) === null || _getInput2 === void 0 ? void 0 : _getInput2.blur();
251
226
  }, [getInput]);
227
+
252
228
  /**
253
229
  * Convert the string of the newly created option into an object.
254
230
  */
255
-
256
231
  var createOption = useCallback(function (value) {
257
232
  var _ref2;
258
-
259
233
  if (groupBy) {
260
234
  var _ref;
261
-
262
235
  return _ref = {
263
236
  create: true
264
237
  }, _ref[groupBy] = locale === null || locale === void 0 ? void 0 : locale.newItem, _ref[valueKey] = value, _ref[labelKey] = value, _ref;
265
238
  }
266
-
267
239
  return _ref2 = {
268
240
  create: true
269
241
  }, _ref2[valueKey] = value, _ref2[labelKey] = value, _ref2;
@@ -279,23 +251,23 @@ var InputPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
279
251
  });
280
252
  setValue(val);
281
253
  handleChange(val, event);
282
- }, [setValue, cloneValue, handleChange]);
254
+ onTagRemove === null || onTagRemove === void 0 ? void 0 : onTagRemove(tag, event);
255
+ }, [cloneValue, setValue, handleChange, onTagRemove]);
283
256
  var handleSelect = useCallback(function (value, item, event) {
284
257
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(value, item, event);
285
-
286
258
  if (creatable && item.create) {
287
259
  delete item.create;
288
260
  onCreate === null || onCreate === void 0 ? void 0 : onCreate(value, item, event);
289
261
  setNewData(newData.concat(item));
290
262
  }
291
263
  }, [creatable, newData, onSelect, onCreate]);
264
+
292
265
  /**
293
266
  * Callback triggered by single selection
294
267
  * @param value
295
268
  * @param item
296
269
  * @param event
297
270
  */
298
-
299
271
  var handleSelectItem = function handleSelectItem(value, item, event) {
300
272
  setValue(value);
301
273
  setFocusItemValue(value);
@@ -304,6 +276,7 @@ var InputPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
304
276
  handleChange(value, event);
305
277
  handleClose();
306
278
  };
279
+
307
280
  /**
308
281
  * Callback triggered by multiple selection
309
282
  * @param nextItemValue
@@ -311,11 +284,8 @@ var InputPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
311
284
  * @param event
312
285
  * @param checked
313
286
  */
314
-
315
-
316
287
  var handleCheckTag = function handleCheckTag(nextItemValue, item, event, checked) {
317
288
  var val = cloneValue();
318
-
319
289
  if (checked) {
320
290
  val.push(nextItemValue);
321
291
  } else {
@@ -323,7 +293,6 @@ var InputPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
323
293
  return shallowEqual(itemVal, nextItemValue);
324
294
  });
325
295
  }
326
-
327
296
  setValue(val);
328
297
  resetSearch();
329
298
  setFocusItemValue(nextItemValue);
@@ -331,27 +300,23 @@ var InputPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
331
300
  handleChange(val, event);
332
301
  focusInput();
333
302
  };
334
-
335
303
  var handleTagKeyPress = useCallback(function (event) {
336
304
  // When composing, ignore the keypress event.
337
305
  if (event.nativeEvent.isComposing) {
338
306
  return;
339
307
  }
340
-
341
308
  var val = cloneValue();
342
309
  var data = getAllData();
343
-
344
310
  if (!focusItemValue || !data) {
345
311
  return;
346
- } // If the value is disabled in this option, it is returned.
347
-
312
+ }
348
313
 
314
+ // If the value is disabled in this option, it is returned.
349
315
  if (disabledItemValues !== null && disabledItemValues !== void 0 && disabledItemValues.some(function (item) {
350
316
  return item === focusItemValue;
351
317
  })) {
352
318
  return;
353
319
  }
354
-
355
320
  if (!val.some(function (v) {
356
321
  return shallowEqual(v, focusItemValue);
357
322
  })) {
@@ -361,15 +326,12 @@ var InputPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
361
326
  return shallowEqual(itemVal, focusItemValue);
362
327
  });
363
328
  }
364
-
365
329
  var focusItem = data.find(function (item) {
366
330
  return shallowEqual(item === null || item === void 0 ? void 0 : item[valueKey], focusItemValue);
367
331
  });
368
-
369
332
  if (!focusItem) {
370
333
  focusItem = createOption(focusItemValue);
371
334
  }
372
-
373
335
  setValue(val);
374
336
  resetSearch();
375
337
  handleSelect(val, focusItem, event);
@@ -378,32 +340,30 @@ var InputPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
378
340
  var handleMenuItemKeyPress = useCallback(function (event) {
379
341
  if (!focusItemValue || !controlledData) {
380
342
  return;
381
- } // If the value is disabled in this option, it is returned.
382
-
343
+ }
383
344
 
345
+ // If the value is disabled in this option, it is returned.
384
346
  if (disabledItemValues !== null && disabledItemValues !== void 0 && disabledItemValues.some(function (item) {
385
347
  return item === focusItemValue;
386
348
  })) {
387
349
  return;
388
- } // Find active `MenuItem` by `value`
389
-
350
+ }
390
351
 
352
+ // Find active `MenuItem` by `value`
391
353
  var allData = getAllData();
392
354
  var focusItem = allData.find(function (item) {
393
355
  return shallowEqual(item[valueKey], focusItemValue);
394
- }); // FIXME Bad state flow
356
+ });
395
357
 
358
+ // FIXME Bad state flow
396
359
  if (!focusItem && focusItemValue === searchKeyword) {
397
360
  focusItem = createOption(searchKeyword);
398
361
  }
399
-
400
362
  setValue(focusItemValue);
401
363
  resetSearch();
402
-
403
364
  if (focusItem) {
404
365
  handleSelect(focusItemValue, focusItem, event);
405
366
  }
406
-
407
367
  handleChange(focusItemValue, event);
408
368
  handleClose();
409
369
  }, [setValue, disabledItemValues, controlledData, focusItemValue, valueKey, searchKeyword, handleClose, resetSearch, createOption, getAllData, handleChange, handleSelect]);
@@ -413,23 +373,20 @@ var InputPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
413
373
  targetRef: targetRef,
414
374
  listRef: listRef
415
375
  });
376
+
416
377
  /**
417
378
  * Remove the last item, after pressing the back key on the keyboard.
418
379
  * @param event
419
380
  */
420
-
421
381
  var removeLastItem = useCallback(function (event) {
422
382
  var target = event === null || event === void 0 ? void 0 : event.target;
423
-
424
383
  if ((target === null || target === void 0 ? void 0 : target.tagName) !== 'INPUT') {
425
384
  focusInput();
426
385
  return;
427
386
  }
428
-
429
387
  if ((target === null || target === void 0 ? void 0 : target.tagName) === 'INPUT' && target !== null && target !== void 0 && target.value) {
430
388
  return;
431
389
  }
432
-
433
390
  var val = cloneValue();
434
391
  val.pop();
435
392
  setValue(val);
@@ -439,17 +396,14 @@ var InputPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
439
396
  if (disabled || searchKeyword !== '') {
440
397
  return;
441
398
  }
442
-
443
399
  setValue(null);
444
400
  setFocusItemValue(null);
445
401
  resetSearch();
446
-
447
402
  if (multi) {
448
403
  handleChange([], event);
449
404
  } else {
450
405
  handleChange(null, event);
451
406
  }
452
-
453
407
  onClean === null || onClean === void 0 ? void 0 : onClean(event);
454
408
  }, [disabled, searchKeyword, setValue, setFocusItemValue, resetSearch, multi, onClean, handleChange]);
455
409
  var events = {
@@ -463,27 +417,24 @@ var InputPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
463
417
  if (isOneOf('Space', trigger) && event.key === KEY_VALUES.SPACE) {
464
418
  handleTagKeyPress(event);
465
419
  event.preventDefault();
466
- } // When typing a comma, create a tag.
467
-
420
+ }
468
421
 
422
+ // When typing a comma, create a tag.
469
423
  if (isOneOf('Comma', trigger) && event.key === KEY_VALUES.COMMA) {
470
424
  handleTagKeyPress(event);
471
425
  event.preventDefault();
472
426
  }
473
427
  }, [handleTagKeyPress, trigger]);
474
-
475
428
  if (multi) {
476
429
  if (isOneOf('Enter', trigger)) {
477
430
  events.onMenuPressEnter = handleTagKeyPress;
478
431
  }
479
-
480
432
  if (creatable) {
481
433
  events.onKeyDown = handleKeyPress;
482
434
  }
483
435
  } else {
484
436
  events.onMenuPressEnter = handleMenuItemKeyPress;
485
437
  }
486
-
487
438
  var onPickerKeyDown = useToggleKeyDownEvent(_extends({
488
439
  triggerRef: triggerRef,
489
440
  targetRef: targetRef,
@@ -497,7 +448,6 @@ var InputPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
497
448
  var handleFocus = useCallback(function () {
498
449
  if (!readOnly) {
499
450
  var _triggerRef$current4;
500
-
501
451
  setOpen(true);
502
452
  (_triggerRef$current4 = triggerRef.current) === null || _triggerRef$current4 === void 0 ? void 0 : _triggerRef$current4.open();
503
453
  }
@@ -510,13 +460,11 @@ var InputPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
510
460
  blurInput();
511
461
  setOpen(false);
512
462
  }, [blurInput]);
513
-
514
463
  var renderDropdownMenuItem = function renderDropdownMenuItem(label, item) {
515
464
  // 'Create option "{0}"' => Create option "xxxxx"
516
465
  var newLabel = item.create ? /*#__PURE__*/React.createElement("span", null, tplTransform(locale.createOption, label)) : label;
517
466
  return renderMenuItem ? renderMenuItem(newLabel, item) : newLabel;
518
467
  };
519
-
520
468
  var checkValue = function checkValue() {
521
469
  if (multi) {
522
470
  return {
@@ -524,44 +472,35 @@ var InputPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
524
472
  itemNode: null
525
473
  };
526
474
  }
527
-
528
475
  var dataItem = getDateItem(value);
529
476
  var itemNode = dataItem.itemNode;
530
-
531
477
  if (!isNil(value) && isFunction(renderValue)) {
532
478
  itemNode = renderValue(value, dataItem.activeItem, itemNode);
533
479
  }
534
-
535
480
  return {
536
481
  isValid: dataItem.isValid,
537
482
  itemNode: itemNode
538
483
  };
539
484
  };
540
-
541
485
  var renderMultiValue = function renderMultiValue() {
542
486
  if (!multi) {
543
487
  return null;
544
488
  }
545
-
546
489
  var _tagProps$closable = tagProps.closable,
547
- closable = _tagProps$closable === void 0 ? true : _tagProps$closable,
548
- onClose = tagProps.onClose,
549
- tagRest = _objectWithoutPropertiesLoose(tagProps, ["closable", "onClose"]);
550
-
490
+ closable = _tagProps$closable === void 0 ? true : _tagProps$closable,
491
+ onClose = tagProps.onClose,
492
+ tagRest = _objectWithoutPropertiesLoose(tagProps, ["closable", "onClose"]);
551
493
  var tags = value || [];
552
494
  var items = [];
553
495
  var tagElements = tags.map(function (tag) {
554
496
  var _getDateItem = getDateItem(tag),
555
- isValid = _getDateItem.isValid,
556
- itemNode = _getDateItem.itemNode,
557
- activeItem = _getDateItem.activeItem;
558
-
497
+ isValid = _getDateItem.isValid,
498
+ itemNode = _getDateItem.itemNode,
499
+ activeItem = _getDateItem.activeItem;
559
500
  items.push(activeItem);
560
-
561
501
  if (!isValid) {
562
502
  return null;
563
503
  }
564
-
565
504
  return /*#__PURE__*/React.createElement(Tag, _extends({}, tagRest, {
566
505
  key: tag,
567
506
  size: rest.size === 'lg' ? 'lg' : rest.size === 'xs' ? 'sm' : 'md',
@@ -572,47 +511,39 @@ var InputPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
572
511
  }).filter(function (item) {
573
512
  return item !== null;
574
513
  });
575
-
576
514
  if ((tags.length > 0 || isControlled) && isFunction(renderValue)) {
577
515
  return renderValue(value, items, tagElements);
578
516
  }
579
-
580
517
  return tagElements;
581
518
  };
582
-
583
519
  var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {
584
520
  var left = positionProps.left,
585
- top = positionProps.top,
586
- className = positionProps.className;
521
+ top = positionProps.top,
522
+ className = positionProps.className;
587
523
  var menuClassPrefix = multi ? 'picker-check-menu' : 'picker-select-menu';
588
524
  var classes = merge(className, menuClassName, prefix(multi ? 'check-menu' : 'select-menu'));
589
-
590
525
  var styles = _extends({}, menuStyle, {
591
526
  left: left,
592
527
  top: top
593
528
  });
594
-
595
529
  var items = filterNodesOfTree(getAllData(), checkShouldDisplay);
596
-
597
530
  if (creatable && (typeof shouldDisplayCreateOption === 'function' ? shouldDisplayCreateOption(searchKeyword, items) : searchKeyword && !items.find(function (item) {
598
531
  return item[valueKey] === searchKeyword;
599
532
  }))) {
600
533
  items = [].concat(items, [createOption(searchKeyword)]);
601
- } // Create a tree structure data when set `groupBy`
602
-
534
+ }
603
535
 
536
+ // Create a tree structure data when set `groupBy`
604
537
  if (groupBy) {
605
538
  items = getDataGroupBy(items, groupBy, sort);
606
539
  } else if (typeof sort === 'function') {
607
540
  items = items.sort(sort(false));
608
541
  }
609
-
610
542
  if (disabledOptions) {
611
543
  return /*#__PURE__*/React.createElement(PickerOverlay, {
612
544
  ref: mergeRefs(overlayRef, speakerRef)
613
545
  });
614
546
  }
615
-
616
547
  var menu = items.length ? /*#__PURE__*/React.createElement(DropdownMenu, {
617
548
  id: id ? id + "-listbox" : undefined,
618
549
  listProps: listProps,
@@ -626,7 +557,8 @@ var InputPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
626
557
  activeItemValues: multi ? value : [value],
627
558
  focusItemValue: focusItemValue,
628
559
  maxHeight: menuMaxHeight,
629
- data: items // FIXME-Doma
560
+ data: items
561
+ // FIXME-Doma
630
562
  // `group` is redundant so long as `groupBy` exists
631
563
  ,
632
564
  group: !isUndefined(groupBy),
@@ -648,32 +580,28 @@ var InputPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
648
580
  onKeyDown: onPickerKeyDown
649
581
  }, renderMenu ? renderMenu(menu) : menu, renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());
650
582
  };
651
-
652
583
  var _checkValue = checkValue(),
653
- isValid = _checkValue.isValid,
654
- itemNode = _checkValue.itemNode;
655
-
584
+ isValid = _checkValue.isValid,
585
+ itemNode = _checkValue.itemNode;
656
586
  var tagElements = renderMultiValue();
587
+
657
588
  /**
658
589
  * 1.Have a value and the value is valid.
659
590
  * 2.Regardless of whether the value is valid, as long as renderValue is set, it is judged to have a value.
660
591
  * 3.If renderValue returns null or undefined, hasValue is false.
661
592
  */
662
-
663
593
  var hasSingleValue = !isNil(value) && isFunction(renderValue) && !isNil(itemNode);
664
594
  var hasMultiValue = isArray(value) && value.length > 0 && isFunction(renderValue) && !isNil(tagElements);
665
595
  var hasValue = multi ? !!(tagElements !== null && tagElements !== void 0 && tagElements.length) || hasMultiValue : isValid || hasSingleValue;
666
-
667
596
  var _usePickerClassName = usePickerClassName(_extends({}, props, {
668
- classPrefix: classPrefix,
669
- appearance: appearance,
670
- hasValue: hasValue,
671
- name: 'input',
672
- cleanable: cleanable
673
- })),
674
- pickerClasses = _usePickerClassName[0],
675
- usedClassNamePropKeys = _usePickerClassName[1];
676
-
597
+ classPrefix: classPrefix,
598
+ appearance: appearance,
599
+ hasValue: hasValue,
600
+ name: 'input',
601
+ cleanable: cleanable
602
+ })),
603
+ pickerClasses = _usePickerClassName[0],
604
+ usedClassNamePropKeys = _usePickerClassName[1];
677
605
  var classes = merge(pickerClasses, (_merge = {}, _merge[prefix(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["tag"])))] = multi, _merge[prefix(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["focused"])))] = open, _merge[prefix(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["disabled-options"])))] = disabledOptions, _merge));
678
606
  var searching = !!searchKeyword && open;
679
607
  var displaySearchInput = searchable && !disabled;
@@ -685,23 +613,21 @@ var InputPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
685
613
  } : {
686
614
  as: 'input'
687
615
  };
688
-
689
616
  if (plaintext) {
690
- var plaintextProps = {}; // TagPicker has -6px margin-left on the plaintext wrapper
691
- // for fixing margin-left on tags from 2nd line on
617
+ var plaintextProps = {};
692
618
 
619
+ // TagPicker has -6px margin-left on the plaintext wrapper
620
+ // for fixing margin-left on tags from 2nd line on
693
621
  if (multi && hasValue) {
694
622
  plaintextProps.style = {
695
623
  marginLeft: -6
696
624
  };
697
625
  }
698
-
699
626
  return /*#__PURE__*/React.createElement(Plaintext, _extends({
700
627
  localeKey: "notSelected",
701
628
  ref: targetRef
702
629
  }, plaintextProps), itemNode || (tagElements !== null && tagElements !== void 0 && tagElements.length ? tagElements : null) || placeholder);
703
630
  }
704
-
705
631
  var placeholderNode = placeholder || (disabledOptions ? null : locale === null || locale === void 0 ? void 0 : locale.placeholder);
706
632
  return /*#__PURE__*/React.createElement(PickerToggleTrigger, {
707
633
  pickerProps: pick(props, pickTriggerPropKeys),