rsuite 5.50.0 → 5.52.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 (701) hide show
  1. package/Accordion/package.json +7 -0
  2. package/Accordion/styles/index.css +219 -0
  3. package/Accordion/styles/index.less +2 -0
  4. package/Animation/styles/bounce.less +34 -0
  5. package/Animation/styles/collapse.less +22 -0
  6. package/Animation/styles/fade.less +10 -0
  7. package/Animation/styles/index.css +349 -0
  8. package/Animation/styles/index.less +7 -97
  9. package/Animation/styles/slide.less +24 -0
  10. package/AutoComplete/styles/index.css +3229 -0
  11. package/AutoComplete/styles/index.less +1 -3
  12. package/Avatar/styles/index.css +127 -0
  13. package/AvatarGroup/styles/index.css +38 -0
  14. package/AvatarGroup/styles/index.less +2 -1
  15. package/Badge/styles/index.css +119 -0
  16. package/Breadcrumb/styles/index.css +54 -0
  17. package/Button/styles/index.css +1053 -0
  18. package/Button/styles/index.less +1 -1
  19. package/ButtonGroup/styles/index.css +68 -0
  20. package/ButtonToolbar/styles/index.css +20 -0
  21. package/ButtonToolbar/styles/index.less +3 -2
  22. package/CHANGELOG.md +28 -0
  23. package/Calendar/styles/index.css +1954 -0
  24. package/Calendar/styles/index.less +1 -1
  25. package/Carousel/styles/index.css +270 -0
  26. package/Cascader/styles/index.css +3384 -0
  27. package/Cascader/styles/index.less +1 -2
  28. package/CheckPicker/styles/index.css +3427 -0
  29. package/CheckPicker/styles/index.less +1 -1
  30. package/CheckTree/styles/index.css +3543 -0
  31. package/CheckTree/styles/index.less +1 -0
  32. package/CheckTreePicker/styles/index.css +3543 -0
  33. package/CheckTreePicker/styles/index.less +5 -9
  34. package/Checkbox/styles/index.css +263 -0
  35. package/CheckboxGroup/styles/index.css +30 -0
  36. package/Col/styles/index.css +19 -0
  37. package/Col/styles/index.less +14 -0
  38. package/Container/stories/styles.less +23 -0
  39. package/Container/styles/index.css +30 -0
  40. package/Content/styles/index.css +17 -0
  41. package/DateInput/styles/index.css +198 -0
  42. package/DateInput/styles/index.less +1 -0
  43. package/DatePicker/styles/index.css +4113 -0
  44. package/DatePicker/styles/index.less +10 -7
  45. package/DateRangeInput/styles/index.css +198 -0
  46. package/DateRangeInput/styles/index.less +1 -0
  47. package/DateRangePicker/styles/index.css +4179 -0
  48. package/DateRangePicker/styles/index.less +8 -5
  49. package/Divider/styles/index.css +72 -0
  50. package/Drawer/styles/index.css +345 -0
  51. package/Dropdown/styles/index.css +1484 -0
  52. package/FlexboxGrid/stories/styles.less +17 -0
  53. package/FlexboxGrid/styles/index.css +329 -0
  54. package/Footer/styles/index.css +35 -0
  55. package/Form/styles/index.css +25 -0
  56. package/Form/styles/mixin.less +1 -2
  57. package/FormControl/styles/index.css +56 -0
  58. package/FormControlLabel/styles/index.css +35 -0
  59. package/FormErrorMessage/styles/index.css +331 -0
  60. package/FormGroup/styles/index.css +65 -0
  61. package/FormHelpText/styles/index.css +46 -0
  62. package/Grid/stories/styles.less +29 -0
  63. package/Grid/styles/index.css +1869 -0
  64. package/Grid/styles/index.less +0 -13
  65. package/Header/styles/index.css +35 -0
  66. package/IconButton/styles/index.css +1284 -0
  67. package/Input/styles/index.css +198 -0
  68. package/InputGroup/styles/index.css +1694 -0
  69. package/InputGroup/styles/index.less +0 -14
  70. package/InputNumber/styles/index.css +1912 -0
  71. package/InputPicker/styles/index.css +3380 -0
  72. package/InputPicker/styles/index.less +6 -5
  73. package/List/styles/index.css +169 -0
  74. package/Loader/styles/index.css +359 -0
  75. package/Message/styles/index.css +473 -0
  76. package/Message/styles/index.less +4 -3
  77. package/Modal/styles/index.css +255 -0
  78. package/MultiCascader/styles/index.css +3602 -0
  79. package/MultiCascader/styles/index.less +1 -1
  80. package/Nav/styles/index.css +1777 -0
  81. package/Nav/styles/index.less +1 -1
  82. package/Navbar/styles/index.css +1783 -0
  83. package/Navbar/styles/index.less +1 -0
  84. package/Notification/styles/index.css +316 -0
  85. package/Pagination/styles/index.css +3892 -0
  86. package/Pagination/styles/index.less +6 -4
  87. package/Panel/styles/index.css +196 -0
  88. package/Panel/styles/index.less +45 -2
  89. package/PanelGroup/styles/index.css +54 -0
  90. package/Placeholder/styles/index.css +186 -0
  91. package/Popover/styles/index.css +343 -0
  92. package/Progress/styles/index.css +312 -0
  93. package/Radio/styles/index.css +251 -0
  94. package/RadioGroup/styles/index.css +135 -0
  95. package/RadioGroup/styles/index.less +2 -0
  96. package/RadioTile/styles/index.css +61 -0
  97. package/RadioTileGroup/styles/index.css +2 -0
  98. package/RangeSlider/styles/index.css +563 -0
  99. package/RangeSlider/styles/index.less +4 -0
  100. package/Rate/styles/index.css +208 -0
  101. package/Row/styles/index.css +24 -0
  102. package/SelectPicker/styles/index.css +3287 -0
  103. package/SelectPicker/styles/index.less +1 -1
  104. package/Sidebar/styles/index.css +37 -0
  105. package/Sidenav/styles/index.css +823 -0
  106. package/Sidenav/styles/index.less +4 -4
  107. package/Slider/styles/index.css +563 -0
  108. package/Slider/styles/index.less +2 -1
  109. package/Stack/styles/index.css +17 -0
  110. package/Steps/styles/index.css +277 -0
  111. package/Table/styles/index.css +546 -0
  112. package/Tag/styles/index.css +167 -0
  113. package/Tag/styles/index.less +2 -10
  114. package/TagGroup/styles/index.css +19 -0
  115. package/TagGroup/styles/index.less +14 -0
  116. package/TagInput/styles/index.css +3639 -0
  117. package/TagInput/styles/index.less +1 -1
  118. package/TagPicker/styles/index.css +3630 -0
  119. package/TagPicker/styles/index.less +10 -5
  120. package/Timeline/stories/styles.less +29 -0
  121. package/Timeline/styles/index.css +187 -0
  122. package/Toggle/styles/index.css +448 -0
  123. package/Tooltip/styles/index.css +310 -0
  124. package/Tree/styles/index.css +350 -0
  125. package/Tree/styles/index.less +1 -0
  126. package/TreePicker/styles/index.css +350 -0
  127. package/TreePicker/styles/index.less +4 -12
  128. package/Uploader/styles/index.css +1836 -0
  129. package/VisuallyHidden/package.json +7 -0
  130. package/VisuallyHidden/styles/index.css +13 -0
  131. package/VisuallyHidden/styles/index.less +11 -0
  132. package/cjs/@types/common.d.ts +8 -0
  133. package/cjs/Accordion/Accordion.d.ts +13 -0
  134. package/cjs/Accordion/Accordion.js +24 -0
  135. package/cjs/Accordion/index.d.ts +3 -0
  136. package/cjs/Accordion/index.js +9 -0
  137. package/cjs/AutoComplete/AutoComplete.d.ts +1 -1
  138. package/cjs/AutoComplete/AutoComplete.js +19 -15
  139. package/cjs/AutoComplete/Combobox.d.ts +8 -0
  140. package/cjs/AutoComplete/Combobox.js +31 -0
  141. package/cjs/Avatar/Avatar.js +2 -1
  142. package/cjs/AvatarGroup/AvatarGroup.js +2 -1
  143. package/cjs/Badge/Badge.js +2 -1
  144. package/cjs/Button/Button.js +6 -5
  145. package/cjs/ButtonGroup/ButtonGroup.js +2 -1
  146. package/cjs/Calendar/CalendarContainer.js +35 -37
  147. package/cjs/Calendar/MonthDropdown.js +1 -1
  148. package/cjs/Carousel/Carousel.js +3 -2
  149. package/cjs/Cascader/Cascader.d.ts +2 -2
  150. package/cjs/Cascader/Cascader.js +17 -14
  151. package/cjs/Cascader/DropdownMenu.d.ts +3 -20
  152. package/cjs/Cascader/DropdownMenu.js +49 -49
  153. package/cjs/Cascader/TreeView.d.ts +24 -0
  154. package/cjs/Cascader/TreeView.js +174 -0
  155. package/cjs/CheckPicker/CheckPicker.d.ts +1 -1
  156. package/cjs/CheckPicker/CheckPicker.js +14 -11
  157. package/cjs/CheckTreePicker/CheckTreeNode.d.ts +2 -2
  158. package/cjs/CheckTreePicker/CheckTreeNode.js +31 -59
  159. package/cjs/CheckTreePicker/CheckTreePicker.d.ts +1 -1
  160. package/cjs/CheckTreePicker/CheckTreePicker.js +26 -24
  161. package/cjs/Checkbox/Checkbox.js +2 -1
  162. package/cjs/CheckboxGroup/CheckboxGroup.js +1 -1
  163. package/cjs/DateInput/utils.js +1 -1
  164. package/cjs/DatePicker/DatePicker.js +12 -13
  165. package/cjs/DateRangePicker/DateRangePicker.d.ts +7 -1
  166. package/cjs/DateRangePicker/DateRangePicker.js +17 -16
  167. package/cjs/Drawer/Drawer.js +4 -3
  168. package/cjs/Dropdown/Dropdown.js +5 -5
  169. package/cjs/Dropdown/DropdownItem.js +8 -7
  170. package/cjs/Dropdown/DropdownMenu.js +20 -19
  171. package/cjs/Dropdown/DropdownToggle.js +2 -1
  172. package/cjs/FlexboxGrid/FlexboxGrid.js +3 -2
  173. package/cjs/Form/Form.d.ts +14 -0
  174. package/cjs/Form/Form.js +42 -32
  175. package/cjs/Form/FormContext.d.ts +1 -0
  176. package/cjs/FormControl/FormControl.js +43 -20
  177. package/cjs/FormErrorMessage/FormErrorMessage.js +2 -1
  178. package/cjs/FormGroup/FormGroup.js +2 -1
  179. package/cjs/IconButton/IconButton.js +2 -1
  180. package/cjs/Input/Input.js +4 -3
  181. package/cjs/InputGroup/InputGroup.js +2 -1
  182. package/cjs/InputNumber/InputNumber.js +3 -2
  183. package/cjs/InputPicker/InputPicker.d.ts +2 -2
  184. package/cjs/InputPicker/InputPicker.js +50 -32
  185. package/cjs/InputPicker/InputSearch.js +3 -15
  186. package/cjs/InputPicker/TagList.d.ts +3 -0
  187. package/cjs/InputPicker/TagList.js +29 -0
  188. package/cjs/InputPicker/TextBox.d.ts +18 -0
  189. package/cjs/InputPicker/TextBox.js +48 -0
  190. package/cjs/InputPicker/index.d.ts +1 -1
  191. package/cjs/List/List.js +2 -1
  192. package/cjs/List/helper/useSortHelper.d.ts +1 -1
  193. package/cjs/Loader/Loader.js +3 -2
  194. package/cjs/Message/Message.js +3 -2
  195. package/cjs/Modal/Modal.d.ts +1 -1
  196. package/cjs/Modal/Modal.js +5 -6
  197. package/cjs/Modal/ModalDialog.js +2 -1
  198. package/cjs/Modal/ModalHeader.js +1 -1
  199. package/cjs/MultiCascader/MultiCascader.d.ts +1 -1
  200. package/cjs/MultiCascader/MultiCascader.js +18 -13
  201. package/cjs/MultiCascader/{DropdownMenu.d.ts → TreeView.d.ts} +3 -3
  202. package/cjs/MultiCascader/{DropdownMenu.js → TreeView.js} +78 -75
  203. package/cjs/Nav/Nav.js +3 -2
  204. package/cjs/Nav/NavDropdown.js +5 -5
  205. package/cjs/Nav/NavDropdownItem.js +7 -6
  206. package/cjs/Nav/NavDropdownMenu.js +5 -5
  207. package/cjs/Nav/NavDropdownToggle.js +2 -1
  208. package/cjs/Nav/NavItem.js +3 -2
  209. package/cjs/Navbar/NavbarDropdown.js +5 -5
  210. package/cjs/Navbar/NavbarDropdownItem.js +7 -6
  211. package/cjs/Navbar/NavbarDropdownMenu.js +4 -4
  212. package/cjs/Navbar/NavbarDropdownToggle.js +2 -1
  213. package/cjs/Navbar/NavbarItem.js +3 -2
  214. package/cjs/Notification/Notification.js +7 -6
  215. package/cjs/Pagination/PaginationButton.js +1 -1
  216. package/cjs/Panel/AccordionButton.d.ts +10 -0
  217. package/cjs/Panel/AccordionButton.js +46 -0
  218. package/cjs/Panel/Panel.d.ts +17 -9
  219. package/cjs/Panel/Panel.js +45 -40
  220. package/cjs/PanelGroup/PanelGroup.js +2 -3
  221. package/cjs/Placeholder/PlaceholderParagraph.js +2 -1
  222. package/cjs/Progress/ProgressCircle.js +4 -3
  223. package/cjs/Progress/ProgressLine.js +2 -1
  224. package/cjs/Radio/Radio.js +2 -1
  225. package/cjs/RadioGroup/RadioGroup.js +3 -2
  226. package/cjs/RangeSlider/RangeSlider.js +3 -3
  227. package/cjs/Rate/Rate.js +3 -2
  228. package/cjs/SelectPicker/SelectPicker.d.ts +2 -2
  229. package/cjs/SelectPicker/SelectPicker.js +13 -11
  230. package/cjs/Sidenav/ExpandedSidenavDropdown.js +5 -5
  231. package/cjs/Sidenav/ExpandedSidenavDropdownItem.js +3 -2
  232. package/cjs/Sidenav/ExpandedSidenavDropdownMenu.js +2 -2
  233. package/cjs/Sidenav/Sidenav.js +4 -4
  234. package/cjs/Sidenav/SidenavDropdown.js +6 -6
  235. package/cjs/Sidenav/SidenavDropdownItem.js +7 -6
  236. package/cjs/Sidenav/SidenavDropdownMenu.js +2 -2
  237. package/cjs/Sidenav/SidenavDropdownToggle.js +2 -1
  238. package/cjs/Sidenav/SidenavItem.js +8 -8
  239. package/cjs/Sidenav/SidenavToggle.js +2 -2
  240. package/cjs/Slider/Slider.js +1 -1
  241. package/cjs/Stack/Stack.js +4 -3
  242. package/cjs/Stack/StackItem.js +2 -1
  243. package/cjs/Steps/StepItem.js +2 -1
  244. package/cjs/Steps/Steps.js +2 -1
  245. package/cjs/Tag/Tag.js +1 -1
  246. package/cjs/TagInput/index.d.ts +1 -1
  247. package/cjs/TagInput/index.js +4 -0
  248. package/cjs/TagPicker/index.d.ts +1 -1
  249. package/cjs/Timeline/Timeline.js +2 -1
  250. package/cjs/Toggle/Toggle.js +3 -2
  251. package/cjs/Tree/Tree.d.ts +1 -1
  252. package/cjs/TreePicker/TreeNode.d.ts +2 -2
  253. package/cjs/TreePicker/TreeNode.js +22 -56
  254. package/cjs/TreePicker/TreePicker.d.ts +1 -1
  255. package/cjs/TreePicker/TreePicker.js +25 -24
  256. package/cjs/Uploader/UploadFileItem.js +3 -2
  257. package/cjs/Uploader/Uploader.js +3 -2
  258. package/cjs/VisuallyHidden/VisuallyHidden.d.ts +10 -0
  259. package/cjs/VisuallyHidden/VisuallyHidden.js +19 -0
  260. package/cjs/VisuallyHidden/index.d.ts +3 -0
  261. package/cjs/VisuallyHidden/index.js +9 -0
  262. package/cjs/Whisper/Whisper.d.ts +2 -2
  263. package/cjs/Whisper/Whisper.js +3 -2
  264. package/cjs/index.d.ts +5 -1
  265. package/cjs/index.js +6 -2
  266. package/cjs/{CloseButton → internals/CloseButton}/CloseButton.d.ts +2 -2
  267. package/cjs/{CloseButton → internals/CloseButton}/CloseButton.js +1 -1
  268. package/cjs/{Disclosure → internals/Disclosure}/Disclosure.js +1 -1
  269. package/cjs/{Disclosure → internals/Disclosure}/DisclosureButton.js +1 -1
  270. package/cjs/{Menu → internals/Menu}/Menu.js +6 -6
  271. package/cjs/{Menu → internals/Menu}/MenuItem.js +1 -1
  272. package/cjs/{Menu → internals/Menu}/Menubar.js +3 -3
  273. package/cjs/{Overlay → internals/Overlay}/Modal.d.ts +1 -1
  274. package/cjs/{Overlay → internals/Overlay}/Modal.js +3 -3
  275. package/{esm → cjs/internals}/Overlay/Overlay.d.ts +1 -1
  276. package/cjs/{Overlay → internals/Overlay}/Overlay.js +2 -2
  277. package/{esm → cjs/internals}/Overlay/OverlayTrigger.d.ts +1 -1
  278. package/cjs/{Overlay → internals/Overlay}/OverlayTrigger.js +2 -2
  279. package/cjs/{Overlay → internals/Overlay}/Position.d.ts +1 -1
  280. package/cjs/{Overlay → internals/Overlay}/Position.js +2 -2
  281. package/cjs/{Overlay → internals/Overlay}/positionUtils.d.ts +1 -1
  282. package/{esm/Picker/DropdownMenuCheckItem.d.ts → cjs/internals/Picker/ListCheckItem.d.ts} +5 -5
  283. package/cjs/{Picker/DropdownMenuCheckItem.js → internals/Picker/ListCheckItem.js} +16 -32
  284. package/cjs/internals/Picker/ListItem.d.ts +14 -0
  285. package/cjs/{Picker/DropdownMenuItem.js → internals/Picker/ListItem.js} +16 -25
  286. package/cjs/internals/Picker/ListItemGroup.d.ts +6 -0
  287. package/cjs/{Picker/DropdownMenuGroup.js → internals/Picker/ListItemGroup.js} +4 -10
  288. package/cjs/internals/Picker/Listbox.d.ts +35 -0
  289. package/cjs/{Picker/DropdownMenu.js → internals/Picker/Listbox.js} +54 -69
  290. package/cjs/{Picker → internals/Picker}/PickerIndicator.js +3 -3
  291. package/cjs/{Picker → internals/Picker}/PickerLabel.js +1 -1
  292. package/cjs/internals/Picker/PickerPopup.d.ts +12 -0
  293. package/cjs/{Picker/PickerOverlay.js → internals/Picker/PickerPopup.js} +10 -8
  294. package/cjs/{Picker → internals/Picker}/PickerToggle.d.ts +2 -2
  295. package/cjs/{Picker → internals/Picker}/PickerToggle.js +19 -12
  296. package/{esm → cjs/internals}/Picker/PickerToggleTrigger.d.ts +18 -3
  297. package/cjs/{Picker → internals/Picker}/PickerToggleTrigger.js +23 -7
  298. package/{esm → cjs/internals}/Picker/SelectedElement.d.ts +1 -1
  299. package/cjs/{Picker → internals/Picker}/SelectedElement.js +1 -1
  300. package/{esm → cjs/internals}/Picker/ToggleButton.d.ts +1 -1
  301. package/cjs/{Picker → internals/Picker}/ToggleButton.js +1 -1
  302. package/cjs/internals/Picker/TreeView.d.ts +7 -0
  303. package/cjs/internals/Picker/TreeView.js +31 -0
  304. package/cjs/internals/Picker/hooks/index.d.ts +6 -0
  305. package/cjs/internals/Picker/hooks/index.js +18 -0
  306. package/cjs/internals/Picker/hooks/useCombobox.d.ts +7 -0
  307. package/cjs/internals/Picker/hooks/useCombobox.js +22 -0
  308. package/cjs/internals/Picker/hooks/useFocusItemValue.d.ts +30 -0
  309. package/cjs/internals/Picker/hooks/useFocusItemValue.js +246 -0
  310. package/cjs/internals/Picker/hooks/usePickerClassName.d.ts +21 -0
  311. package/cjs/internals/Picker/hooks/usePickerClassName.js +39 -0
  312. package/{esm/Picker → cjs/internals/Picker/hooks}/usePickerRef.d.ts +2 -2
  313. package/cjs/{Picker → internals/Picker/hooks}/usePickerRef.js +1 -1
  314. package/cjs/internals/Picker/hooks/useSearch.d.ts +18 -0
  315. package/cjs/internals/Picker/hooks/useSearch.js +57 -0
  316. package/cjs/internals/Picker/hooks/useToggleKeyDownEvent.d.ts +25 -0
  317. package/cjs/internals/Picker/hooks/useToggleKeyDownEvent.js +101 -0
  318. package/cjs/{Picker → internals/Picker}/index.d.ts +7 -7
  319. package/cjs/{Picker → internals/Picker}/index.js +26 -22
  320. package/{esm → cjs/internals}/Picker/propTypes.d.ts +0 -6
  321. package/cjs/{Picker → internals/Picker}/propTypes.js +5 -9
  322. package/cjs/{Picker → internals/Picker}/types.d.ts +2 -2
  323. package/cjs/internals/Picker/utils.d.ts +22 -0
  324. package/cjs/internals/Picker/utils.js +95 -0
  325. package/cjs/{Plaintext → internals/Plaintext}/Plaintext.d.ts +1 -1
  326. package/cjs/{Plaintext → internals/Plaintext}/Plaintext.js +1 -1
  327. package/cjs/{Ripple → internals/Ripple}/Ripple.d.ts +1 -1
  328. package/cjs/{Ripple → internals/Ripple}/Ripple.js +2 -2
  329. package/cjs/internals/SearchBox/SearchBox.d.ts +11 -0
  330. package/cjs/internals/SearchBox/SearchBox.js +50 -0
  331. package/cjs/internals/SearchBox/index.d.ts +2 -0
  332. package/cjs/internals/SearchBox/index.js +9 -0
  333. package/cjs/{Windowing → internals/Windowing}/AutoSizer.js +1 -1
  334. package/{esm → cjs/internals}/Windowing/List.d.ts +1 -1
  335. package/cjs/{Windowing → internals/Windowing}/List.js +1 -1
  336. package/cjs/internals/index.d.ts +0 -0
  337. package/cjs/internals/index.js +2 -0
  338. package/cjs/{utils → internals/propTypes}/deprecatePropType.js +1 -1
  339. package/cjs/{utils/propTypeChecker.d.ts → internals/propTypes/index.d.ts} +2 -0
  340. package/cjs/{utils/propTypeChecker.js → internals/propTypes/index.js} +7 -1
  341. package/cjs/internals/propTypes/oneOf.d.ts +3 -0
  342. package/cjs/internals/propTypes/oneOf.js +19 -0
  343. package/cjs/utils/ReactChildren.d.ts +1 -1
  344. package/cjs/utils/ReactChildren.js +14 -1
  345. package/cjs/utils/dateUtils.js +5 -2
  346. package/cjs/utils/index.d.ts +0 -1
  347. package/cjs/utils/index.js +2 -5
  348. package/cjs/utils/treeUtils.d.ts +1 -1
  349. package/cjs/utils/treeUtils.js +1 -1
  350. package/cjs/utils/useUniqueId.js +1 -1
  351. package/dist/rsuite-no-reset-rtl.css +4823 -5072
  352. package/dist/rsuite-no-reset-rtl.min.css +1 -1
  353. package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
  354. package/dist/rsuite-no-reset.css +4846 -5095
  355. package/dist/rsuite-no-reset.min.css +1 -1
  356. package/dist/rsuite-no-reset.min.css.map +1 -1
  357. package/dist/rsuite-rtl.css +4823 -5072
  358. package/dist/rsuite-rtl.min.css +1 -1
  359. package/dist/rsuite-rtl.min.css.map +1 -1
  360. package/dist/rsuite.css +4846 -5095
  361. package/dist/rsuite.js +832 -645
  362. package/dist/rsuite.js.map +1 -1
  363. package/dist/rsuite.min.css +1 -1
  364. package/dist/rsuite.min.css.map +1 -1
  365. package/dist/rsuite.min.js +1 -1
  366. package/dist/rsuite.min.js.map +1 -1
  367. package/esm/@types/common.d.ts +8 -0
  368. package/esm/Accordion/Accordion.d.ts +13 -0
  369. package/esm/Accordion/Accordion.js +18 -0
  370. package/esm/Accordion/index.d.ts +3 -0
  371. package/esm/Accordion/index.js +3 -0
  372. package/esm/AutoComplete/AutoComplete.d.ts +1 -1
  373. package/esm/AutoComplete/AutoComplete.js +19 -15
  374. package/esm/AutoComplete/Combobox.d.ts +8 -0
  375. package/esm/AutoComplete/Combobox.js +25 -0
  376. package/esm/Avatar/Avatar.js +2 -1
  377. package/esm/AvatarGroup/AvatarGroup.js +2 -1
  378. package/esm/Badge/Badge.js +2 -1
  379. package/esm/Button/Button.js +6 -5
  380. package/esm/ButtonGroup/ButtonGroup.js +2 -1
  381. package/esm/Calendar/CalendarContainer.js +37 -39
  382. package/esm/Calendar/MonthDropdown.js +1 -1
  383. package/esm/Carousel/Carousel.js +3 -2
  384. package/esm/Cascader/Cascader.d.ts +2 -2
  385. package/esm/Cascader/Cascader.js +17 -14
  386. package/esm/Cascader/DropdownMenu.d.ts +3 -20
  387. package/esm/Cascader/DropdownMenu.js +50 -49
  388. package/esm/Cascader/TreeView.d.ts +24 -0
  389. package/esm/Cascader/TreeView.js +167 -0
  390. package/esm/CheckPicker/CheckPicker.d.ts +1 -1
  391. package/esm/CheckPicker/CheckPicker.js +14 -11
  392. package/esm/CheckTreePicker/CheckTreeNode.d.ts +2 -2
  393. package/esm/CheckTreePicker/CheckTreeNode.js +33 -61
  394. package/esm/CheckTreePicker/CheckTreePicker.d.ts +1 -1
  395. package/esm/CheckTreePicker/CheckTreePicker.js +26 -24
  396. package/esm/Checkbox/Checkbox.js +3 -2
  397. package/esm/CheckboxGroup/CheckboxGroup.js +1 -1
  398. package/esm/DateInput/utils.js +1 -1
  399. package/esm/DatePicker/DatePicker.js +7 -8
  400. package/esm/DateRangePicker/DateRangePicker.d.ts +7 -1
  401. package/esm/DateRangePicker/DateRangePicker.js +15 -14
  402. package/esm/Drawer/Drawer.js +4 -3
  403. package/esm/Dropdown/Dropdown.js +4 -4
  404. package/esm/Dropdown/DropdownItem.js +5 -4
  405. package/esm/Dropdown/DropdownMenu.js +5 -4
  406. package/esm/Dropdown/DropdownToggle.js +2 -1
  407. package/esm/FlexboxGrid/FlexboxGrid.js +3 -2
  408. package/esm/Form/Form.d.ts +14 -0
  409. package/esm/Form/Form.js +44 -34
  410. package/esm/Form/FormContext.d.ts +1 -0
  411. package/esm/FormControl/FormControl.js +42 -19
  412. package/esm/FormErrorMessage/FormErrorMessage.js +2 -1
  413. package/esm/FormGroup/FormGroup.js +3 -2
  414. package/esm/IconButton/IconButton.js +2 -1
  415. package/esm/Input/Input.js +5 -4
  416. package/esm/InputGroup/InputGroup.js +2 -1
  417. package/esm/InputNumber/InputNumber.js +3 -2
  418. package/esm/InputPicker/InputPicker.d.ts +2 -2
  419. package/esm/InputPicker/InputPicker.js +50 -32
  420. package/esm/InputPicker/InputSearch.js +4 -15
  421. package/esm/InputPicker/TagList.d.ts +3 -0
  422. package/esm/InputPicker/TagList.js +23 -0
  423. package/esm/InputPicker/TextBox.d.ts +18 -0
  424. package/esm/InputPicker/TextBox.js +42 -0
  425. package/esm/InputPicker/index.d.ts +1 -1
  426. package/esm/List/List.js +2 -1
  427. package/esm/List/helper/useSortHelper.d.ts +1 -1
  428. package/esm/Loader/Loader.js +3 -2
  429. package/esm/Message/Message.js +3 -2
  430. package/esm/Modal/Modal.d.ts +1 -1
  431. package/esm/Modal/Modal.js +4 -5
  432. package/esm/Modal/ModalDialog.js +2 -1
  433. package/esm/Modal/ModalHeader.js +1 -1
  434. package/esm/MultiCascader/MultiCascader.d.ts +1 -1
  435. package/esm/MultiCascader/MultiCascader.js +18 -13
  436. package/esm/MultiCascader/{DropdownMenu.d.ts → TreeView.d.ts} +3 -3
  437. package/esm/MultiCascader/{DropdownMenu.js → TreeView.js} +79 -75
  438. package/esm/Nav/Nav.js +3 -2
  439. package/esm/Nav/NavDropdown.js +4 -4
  440. package/esm/Nav/NavDropdownItem.js +5 -4
  441. package/esm/Nav/NavDropdownMenu.js +4 -4
  442. package/esm/Nav/NavDropdownToggle.js +2 -1
  443. package/esm/Nav/NavItem.js +3 -2
  444. package/esm/Navbar/NavbarDropdown.js +4 -4
  445. package/esm/Navbar/NavbarDropdownItem.js +5 -4
  446. package/esm/Navbar/NavbarDropdownMenu.js +3 -3
  447. package/esm/Navbar/NavbarDropdownToggle.js +2 -1
  448. package/esm/Navbar/NavbarItem.js +3 -2
  449. package/esm/Notification/Notification.js +9 -8
  450. package/esm/Pagination/PaginationButton.js +1 -1
  451. package/esm/Panel/AccordionButton.d.ts +10 -0
  452. package/esm/Panel/AccordionButton.js +40 -0
  453. package/esm/Panel/Panel.d.ts +17 -9
  454. package/esm/Panel/Panel.js +47 -42
  455. package/esm/PanelGroup/PanelGroup.js +4 -5
  456. package/esm/Placeholder/PlaceholderParagraph.js +2 -1
  457. package/esm/Progress/ProgressCircle.js +4 -3
  458. package/esm/Progress/ProgressLine.js +2 -1
  459. package/esm/Radio/Radio.js +3 -2
  460. package/esm/RadioGroup/RadioGroup.js +3 -2
  461. package/esm/RangeSlider/RangeSlider.js +1 -1
  462. package/esm/Rate/Rate.js +3 -2
  463. package/esm/SelectPicker/SelectPicker.d.ts +2 -2
  464. package/esm/SelectPicker/SelectPicker.js +13 -11
  465. package/esm/Sidenav/ExpandedSidenavDropdown.js +3 -3
  466. package/esm/Sidenav/ExpandedSidenavDropdownItem.js +3 -2
  467. package/esm/Sidenav/ExpandedSidenavDropdownMenu.js +2 -2
  468. package/esm/Sidenav/Sidenav.js +2 -2
  469. package/esm/Sidenav/SidenavDropdown.js +5 -5
  470. package/esm/Sidenav/SidenavDropdownItem.js +5 -4
  471. package/esm/Sidenav/SidenavDropdownMenu.js +2 -2
  472. package/esm/Sidenav/SidenavDropdownToggle.js +2 -1
  473. package/esm/Sidenav/SidenavItem.js +8 -8
  474. package/esm/Sidenav/SidenavToggle.js +1 -1
  475. package/esm/Slider/Slider.js +1 -1
  476. package/esm/Stack/Stack.js +4 -3
  477. package/esm/Stack/StackItem.js +2 -1
  478. package/esm/Steps/StepItem.js +2 -1
  479. package/esm/Steps/Steps.js +2 -1
  480. package/esm/Tag/Tag.js +1 -1
  481. package/esm/TagInput/index.d.ts +1 -1
  482. package/esm/TagInput/index.js +4 -0
  483. package/esm/TagPicker/index.d.ts +1 -1
  484. package/esm/Timeline/Timeline.js +2 -1
  485. package/esm/Toggle/Toggle.js +3 -2
  486. package/esm/Tree/Tree.d.ts +1 -1
  487. package/esm/TreePicker/TreeNode.d.ts +2 -2
  488. package/esm/TreePicker/TreeNode.js +24 -58
  489. package/esm/TreePicker/TreePicker.d.ts +1 -1
  490. package/esm/TreePicker/TreePicker.js +25 -24
  491. package/esm/Uploader/UploadFileItem.js +3 -2
  492. package/esm/Uploader/Uploader.js +3 -2
  493. package/esm/VisuallyHidden/VisuallyHidden.d.ts +10 -0
  494. package/esm/VisuallyHidden/VisuallyHidden.js +13 -0
  495. package/esm/VisuallyHidden/index.d.ts +3 -0
  496. package/esm/VisuallyHidden/index.js +3 -0
  497. package/esm/Whisper/Whisper.d.ts +2 -2
  498. package/esm/Whisper/Whisper.js +3 -2
  499. package/esm/index.d.ts +5 -1
  500. package/esm/index.js +3 -1
  501. package/esm/{CloseButton → internals/CloseButton}/CloseButton.d.ts +2 -2
  502. package/esm/{CloseButton → internals/CloseButton}/CloseButton.js +1 -1
  503. package/esm/{Disclosure → internals/Disclosure}/Disclosure.js +1 -1
  504. package/esm/{Disclosure → internals/Disclosure}/DisclosureButton.js +1 -1
  505. package/esm/{Menu → internals/Menu}/Menu.js +6 -6
  506. package/esm/{Menu → internals/Menu}/MenuItem.js +1 -1
  507. package/esm/{Menu → internals/Menu}/Menubar.js +3 -3
  508. package/esm/{Overlay → internals/Overlay}/Modal.d.ts +1 -1
  509. package/esm/{Overlay → internals/Overlay}/Modal.js +3 -3
  510. package/{cjs → esm/internals}/Overlay/Overlay.d.ts +1 -1
  511. package/esm/{Overlay → internals/Overlay}/Overlay.js +2 -2
  512. package/{cjs → esm/internals}/Overlay/OverlayTrigger.d.ts +1 -1
  513. package/esm/{Overlay → internals/Overlay}/OverlayTrigger.js +2 -2
  514. package/esm/{Overlay → internals/Overlay}/Position.d.ts +1 -1
  515. package/esm/{Overlay → internals/Overlay}/Position.js +3 -3
  516. package/esm/{Overlay → internals/Overlay}/positionUtils.d.ts +1 -1
  517. package/{cjs/Picker/DropdownMenuCheckItem.d.ts → esm/internals/Picker/ListCheckItem.d.ts} +5 -5
  518. package/esm/{Picker/DropdownMenuCheckItem.js → internals/Picker/ListCheckItem.js} +16 -31
  519. package/esm/internals/Picker/ListItem.d.ts +14 -0
  520. package/esm/{Picker/DropdownMenuItem.js → internals/Picker/ListItem.js} +16 -24
  521. package/esm/internals/Picker/ListItemGroup.d.ts +6 -0
  522. package/esm/{Picker/DropdownMenuGroup.js → internals/Picker/ListItemGroup.js} +4 -10
  523. package/esm/internals/Picker/Listbox.d.ts +35 -0
  524. package/esm/{Picker/DropdownMenu.js → internals/Picker/Listbox.js} +54 -68
  525. package/esm/{Picker → internals/Picker}/PickerIndicator.js +3 -3
  526. package/esm/{Picker → internals/Picker}/PickerLabel.js +1 -1
  527. package/esm/internals/Picker/PickerPopup.d.ts +12 -0
  528. package/esm/{Picker/PickerOverlay.js → internals/Picker/PickerPopup.js} +10 -8
  529. package/esm/{Picker → internals/Picker}/PickerToggle.d.ts +2 -2
  530. package/esm/{Picker → internals/Picker}/PickerToggle.js +19 -12
  531. package/{cjs → esm/internals}/Picker/PickerToggleTrigger.d.ts +18 -3
  532. package/esm/{Picker → internals/Picker}/PickerToggleTrigger.js +21 -6
  533. package/{cjs → esm/internals}/Picker/SelectedElement.d.ts +1 -1
  534. package/esm/{Picker → internals/Picker}/SelectedElement.js +1 -1
  535. package/{cjs → esm/internals}/Picker/ToggleButton.d.ts +1 -1
  536. package/esm/{Picker → internals/Picker}/ToggleButton.js +1 -1
  537. package/esm/internals/Picker/TreeView.d.ts +7 -0
  538. package/esm/internals/Picker/TreeView.js +25 -0
  539. package/esm/internals/Picker/hooks/index.d.ts +6 -0
  540. package/esm/internals/Picker/hooks/index.js +7 -0
  541. package/esm/internals/Picker/hooks/useCombobox.d.ts +7 -0
  542. package/esm/internals/Picker/hooks/useCombobox.js +17 -0
  543. package/esm/internals/Picker/hooks/useFocusItemValue.d.ts +30 -0
  544. package/esm/internals/Picker/hooks/useFocusItemValue.js +240 -0
  545. package/esm/internals/Picker/hooks/usePickerClassName.d.ts +21 -0
  546. package/esm/internals/Picker/hooks/usePickerClassName.js +33 -0
  547. package/{cjs/Picker → esm/internals/Picker/hooks}/usePickerRef.d.ts +2 -2
  548. package/esm/{Picker → internals/Picker/hooks}/usePickerRef.js +1 -1
  549. package/esm/internals/Picker/hooks/useSearch.d.ts +18 -0
  550. package/esm/internals/Picker/hooks/useSearch.js +51 -0
  551. package/esm/internals/Picker/hooks/useToggleKeyDownEvent.d.ts +25 -0
  552. package/esm/internals/Picker/hooks/useToggleKeyDownEvent.js +96 -0
  553. package/esm/{Picker → internals/Picker}/index.d.ts +7 -7
  554. package/esm/{Picker → internals/Picker}/index.js +7 -7
  555. package/{cjs → esm/internals}/Picker/propTypes.d.ts +0 -6
  556. package/esm/{Picker → internals/Picker}/propTypes.js +5 -9
  557. package/esm/{Picker → internals/Picker}/types.d.ts +2 -2
  558. package/esm/internals/Picker/utils.d.ts +22 -0
  559. package/esm/internals/Picker/utils.js +88 -0
  560. package/esm/{Plaintext → internals/Plaintext}/Plaintext.d.ts +1 -1
  561. package/esm/{Plaintext → internals/Plaintext}/Plaintext.js +1 -1
  562. package/esm/{Ripple → internals/Ripple}/Ripple.d.ts +1 -1
  563. package/esm/{Ripple → internals/Ripple}/Ripple.js +2 -2
  564. package/esm/internals/SearchBox/SearchBox.d.ts +11 -0
  565. package/esm/internals/SearchBox/SearchBox.js +44 -0
  566. package/esm/internals/SearchBox/index.d.ts +2 -0
  567. package/esm/internals/SearchBox/index.js +3 -0
  568. package/esm/{Windowing → internals/Windowing}/AutoSizer.js +1 -1
  569. package/{cjs → esm/internals}/Windowing/List.d.ts +1 -1
  570. package/esm/{Windowing → internals/Windowing}/List.js +1 -1
  571. package/esm/internals/index.d.ts +0 -0
  572. package/esm/internals/index.js +1 -0
  573. package/esm/{utils → internals/propTypes}/deprecatePropType.js +1 -1
  574. package/esm/{utils/propTypeChecker.d.ts → internals/propTypes/index.d.ts} +2 -0
  575. package/esm/{utils/propTypeChecker.js → internals/propTypes/index.js} +2 -0
  576. package/esm/internals/propTypes/oneOf.d.ts +3 -0
  577. package/esm/internals/propTypes/oneOf.js +13 -0
  578. package/esm/utils/ReactChildren.d.ts +1 -1
  579. package/esm/utils/ReactChildren.js +14 -1
  580. package/esm/utils/dateUtils.js +4 -0
  581. package/esm/utils/index.d.ts +0 -1
  582. package/esm/utils/index.js +0 -2
  583. package/esm/utils/treeUtils.d.ts +1 -1
  584. package/esm/utils/treeUtils.js +1 -1
  585. package/esm/utils/useUniqueId.js +1 -1
  586. package/{CloseButton → internals/CloseButton}/styles/index.less +1 -1
  587. package/{Picker → internals/Picker}/styles/index.less +24 -45
  588. package/{Picker → internals/Picker}/styles/mixin.less +6 -8
  589. package/{Ripple → internals/Ripple}/styles/index.less +1 -1
  590. package/internals/SearchBox/styles/index.less +11 -0
  591. package/internals/package.json +7 -0
  592. package/package.json +1 -1
  593. package/styles/color-modes/dark.less +40 -0
  594. package/styles/color-modes/high-contrast.less +35 -0
  595. package/styles/color-modes/light.less +46 -0
  596. package/styles/index.less +10 -4
  597. package/styles/variables.less +1 -4
  598. package/toaster/styles/index.css +239 -0
  599. package/CloseButton/package.json +0 -7
  600. package/Disclosure/package.json +0 -7
  601. package/Menu/package.json +0 -7
  602. package/Overlay/package.json +0 -7
  603. package/Picker/package.json +0 -7
  604. package/Plaintext/package.json +0 -7
  605. package/Ripple/package.json +0 -7
  606. package/Windowing/package.json +0 -7
  607. package/cjs/Picker/DropdownMenu.d.ts +0 -59
  608. package/cjs/Picker/DropdownMenuGroup.d.ts +0 -6
  609. package/cjs/Picker/DropdownMenuItem.d.ts +0 -14
  610. package/cjs/Picker/PickerOverlay.d.ts +0 -12
  611. package/cjs/Picker/SearchBar.d.ts +0 -11
  612. package/cjs/Picker/SearchBar.js +0 -61
  613. package/cjs/Picker/utils.d.ts +0 -116
  614. package/cjs/Picker/utils.js +0 -500
  615. package/esm/Picker/DropdownMenu.d.ts +0 -59
  616. package/esm/Picker/DropdownMenuGroup.d.ts +0 -6
  617. package/esm/Picker/DropdownMenuItem.d.ts +0 -14
  618. package/esm/Picker/PickerOverlay.d.ts +0 -12
  619. package/esm/Picker/SearchBar.d.ts +0 -11
  620. package/esm/Picker/SearchBar.js +0 -54
  621. package/esm/Picker/utils.d.ts +0 -116
  622. package/esm/Picker/utils.js +0 -487
  623. /package/cjs/{CloseButton → internals/CloseButton}/index.d.ts +0 -0
  624. /package/cjs/{CloseButton → internals/CloseButton}/index.js +0 -0
  625. /package/cjs/{Disclosure → internals/Disclosure}/Disclosure.d.ts +0 -0
  626. /package/cjs/{Disclosure → internals/Disclosure}/DisclosureButton.d.ts +0 -0
  627. /package/cjs/{Disclosure → internals/Disclosure}/DisclosureContent.d.ts +0 -0
  628. /package/cjs/{Disclosure → internals/Disclosure}/DisclosureContent.js +0 -0
  629. /package/cjs/{Disclosure → internals/Disclosure}/DisclosureContext.d.ts +0 -0
  630. /package/cjs/{Disclosure → internals/Disclosure}/DisclosureContext.js +0 -0
  631. /package/cjs/{Disclosure → internals/Disclosure}/index.d.ts +0 -0
  632. /package/cjs/{Disclosure → internals/Disclosure}/index.js +0 -0
  633. /package/cjs/{Disclosure → internals/Disclosure}/useDisclosureContext.d.ts +0 -0
  634. /package/cjs/{Disclosure → internals/Disclosure}/useDisclosureContext.js +0 -0
  635. /package/cjs/{Menu → internals/Menu}/Menu.d.ts +0 -0
  636. /package/cjs/{Menu → internals/Menu}/MenuContext.d.ts +0 -0
  637. /package/cjs/{Menu → internals/Menu}/MenuContext.js +0 -0
  638. /package/cjs/{Menu → internals/Menu}/MenuItem.d.ts +0 -0
  639. /package/cjs/{Menu → internals/Menu}/Menubar.d.ts +0 -0
  640. /package/cjs/{Menu → internals/Menu}/index.d.ts +0 -0
  641. /package/cjs/{Menu → internals/Menu}/index.js +0 -0
  642. /package/cjs/{Menu → internals/Menu}/useMenu.d.ts +0 -0
  643. /package/cjs/{Menu → internals/Menu}/useMenu.js +0 -0
  644. /package/cjs/{Overlay → internals/Overlay}/ModalManager.d.ts +0 -0
  645. /package/cjs/{Overlay → internals/Overlay}/ModalManager.js +0 -0
  646. /package/cjs/{Overlay → internals/Overlay}/OverlayContext.d.ts +0 -0
  647. /package/cjs/{Overlay → internals/Overlay}/OverlayContext.js +0 -0
  648. /package/cjs/{Overlay → internals/Overlay}/index.d.ts +0 -0
  649. /package/cjs/{Overlay → internals/Overlay}/index.js +0 -0
  650. /package/cjs/{Overlay → internals/Overlay}/positionUtils.js +0 -0
  651. /package/cjs/{Picker → internals/Picker}/PickerIndicator.d.ts +0 -0
  652. /package/cjs/{Picker → internals/Picker}/PickerLabel.d.ts +0 -0
  653. /package/cjs/{Picker → internals/Picker}/types.js +0 -0
  654. /package/cjs/{Plaintext → internals/Plaintext}/index.d.ts +0 -0
  655. /package/cjs/{Plaintext → internals/Plaintext}/index.js +0 -0
  656. /package/cjs/{Ripple → internals/Ripple}/index.d.ts +0 -0
  657. /package/cjs/{Ripple → internals/Ripple}/index.js +0 -0
  658. /package/cjs/{Windowing → internals/Windowing}/AutoSizer.d.ts +0 -0
  659. /package/cjs/{Windowing → internals/Windowing}/index.d.ts +0 -0
  660. /package/cjs/{Windowing → internals/Windowing}/index.js +0 -0
  661. /package/cjs/{utils → internals/propTypes}/deprecatePropType.d.ts +0 -0
  662. /package/esm/{CloseButton → internals/CloseButton}/index.d.ts +0 -0
  663. /package/esm/{CloseButton → internals/CloseButton}/index.js +0 -0
  664. /package/esm/{Disclosure → internals/Disclosure}/Disclosure.d.ts +0 -0
  665. /package/esm/{Disclosure → internals/Disclosure}/DisclosureButton.d.ts +0 -0
  666. /package/esm/{Disclosure → internals/Disclosure}/DisclosureContent.d.ts +0 -0
  667. /package/esm/{Disclosure → internals/Disclosure}/DisclosureContent.js +0 -0
  668. /package/esm/{Disclosure → internals/Disclosure}/DisclosureContext.d.ts +0 -0
  669. /package/esm/{Disclosure → internals/Disclosure}/DisclosureContext.js +0 -0
  670. /package/esm/{Disclosure → internals/Disclosure}/index.d.ts +0 -0
  671. /package/esm/{Disclosure → internals/Disclosure}/index.js +0 -0
  672. /package/esm/{Disclosure → internals/Disclosure}/useDisclosureContext.d.ts +0 -0
  673. /package/esm/{Disclosure → internals/Disclosure}/useDisclosureContext.js +0 -0
  674. /package/esm/{Menu → internals/Menu}/Menu.d.ts +0 -0
  675. /package/esm/{Menu → internals/Menu}/MenuContext.d.ts +0 -0
  676. /package/esm/{Menu → internals/Menu}/MenuContext.js +0 -0
  677. /package/esm/{Menu → internals/Menu}/MenuItem.d.ts +0 -0
  678. /package/esm/{Menu → internals/Menu}/Menubar.d.ts +0 -0
  679. /package/esm/{Menu → internals/Menu}/index.d.ts +0 -0
  680. /package/esm/{Menu → internals/Menu}/index.js +0 -0
  681. /package/esm/{Menu → internals/Menu}/useMenu.d.ts +0 -0
  682. /package/esm/{Menu → internals/Menu}/useMenu.js +0 -0
  683. /package/esm/{Overlay → internals/Overlay}/ModalManager.d.ts +0 -0
  684. /package/esm/{Overlay → internals/Overlay}/ModalManager.js +0 -0
  685. /package/esm/{Overlay → internals/Overlay}/OverlayContext.d.ts +0 -0
  686. /package/esm/{Overlay → internals/Overlay}/OverlayContext.js +0 -0
  687. /package/esm/{Overlay → internals/Overlay}/index.d.ts +0 -0
  688. /package/esm/{Overlay → internals/Overlay}/index.js +0 -0
  689. /package/esm/{Overlay → internals/Overlay}/positionUtils.js +0 -0
  690. /package/esm/{Picker → internals/Picker}/PickerIndicator.d.ts +0 -0
  691. /package/esm/{Picker → internals/Picker}/PickerLabel.d.ts +0 -0
  692. /package/esm/{Picker → internals/Picker}/types.js +0 -0
  693. /package/esm/{Plaintext → internals/Plaintext}/index.d.ts +0 -0
  694. /package/esm/{Plaintext → internals/Plaintext}/index.js +0 -0
  695. /package/esm/{Ripple → internals/Ripple}/index.d.ts +0 -0
  696. /package/esm/{Ripple → internals/Ripple}/index.js +0 -0
  697. /package/esm/{Windowing → internals/Windowing}/AutoSizer.d.ts +0 -0
  698. /package/esm/{Windowing → internals/Windowing}/index.d.ts +0 -0
  699. /package/esm/{Windowing → internals/Windowing}/index.js +0 -0
  700. /package/esm/{utils → internals/propTypes}/deprecatePropType.d.ts +0 -0
  701. /package/{Ripple → internals/Ripple}/styles/mixins.less +0 -0
@@ -1,21 +1,22 @@
1
1
  'use client';
2
2
  "use strict";
3
3
 
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
5
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
5
  exports.__esModule = true;
7
6
  exports.default = void 0;
8
7
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
8
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
- var _react = _interopRequireWildcard(require("react"));
11
- var _propTypes = _interopRequireDefault(require("prop-types"));
12
- var _utils = require("../utils");
13
- var DropdownMenuItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _utils = require("../../utils");
11
+ var _useCombobox2 = _interopRequireDefault(require("./hooks/useCombobox"));
12
+ var ListItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
14
13
  var _props$as = props.as,
15
14
  Component = _props$as === void 0 ? 'div' : _props$as,
16
- active = props.active,
15
+ _props$role = props.role,
16
+ role = _props$role === void 0 ? 'option' : _props$role,
17
17
  _props$classPrefix = props.classPrefix,
18
18
  classPrefix = _props$classPrefix === void 0 ? 'dropdown-menu-item' : _props$classPrefix,
19
+ active = props.active,
19
20
  children = props.children,
20
21
  className = props.className,
21
22
  disabled = props.disabled,
@@ -24,13 +25,15 @@ var DropdownMenuItem = /*#__PURE__*/_react.default.forwardRef(function (props, r
24
25
  onKeyDown = props.onKeyDown,
25
26
  onSelect = props.onSelect,
26
27
  renderItem = props.renderItem,
27
- rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "active", "classPrefix", "children", "className", "disabled", "focus", "value", "onKeyDown", "onSelect", "renderItem"]);
28
- var handleClick = (0, _react.useCallback)(function (event) {
28
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "role", "classPrefix", "active", "children", "className", "disabled", "focus", "value", "onKeyDown", "onSelect", "renderItem"]);
29
+ var _useCombobox = (0, _useCombobox2.default)(),
30
+ id = _useCombobox.id;
31
+ var handleClick = (0, _utils.useEventCallback)(function (event) {
29
32
  event.preventDefault();
30
33
  if (!disabled) {
31
34
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(value, event);
32
35
  }
33
- }, [onSelect, disabled, value]);
36
+ });
34
37
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
35
38
  withClassPrefix = _useClassNames.withClassPrefix;
36
39
  var classes = withClassPrefix({
@@ -39,9 +42,10 @@ var DropdownMenuItem = /*#__PURE__*/_react.default.forwardRef(function (props, r
39
42
  disabled: disabled
40
43
  });
41
44
  return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
42
- role: "option",
45
+ role: role,
43
46
  "aria-selected": active,
44
47
  "aria-disabled": disabled,
48
+ id: id ? id + "-opt-" + value : undefined,
45
49
  "data-key": value
46
50
  }, rest, {
47
51
  ref: ref,
@@ -53,19 +57,6 @@ var DropdownMenuItem = /*#__PURE__*/_react.default.forwardRef(function (props, r
53
57
  className: classes
54
58
  }, renderItem ? renderItem(value) : children));
55
59
  });
56
- DropdownMenuItem.displayName = 'DropdownMenuItem';
57
- DropdownMenuItem.propTypes = {
58
- classPrefix: _propTypes.default.string,
59
- active: _propTypes.default.bool,
60
- disabled: _propTypes.default.bool,
61
- value: _propTypes.default.any,
62
- onSelect: _propTypes.default.func,
63
- onKeyDown: _propTypes.default.func,
64
- focus: _propTypes.default.bool,
65
- title: _propTypes.default.string,
66
- className: _propTypes.default.string,
67
- children: _propTypes.default.node,
68
- as: _propTypes.default.elementType
69
- };
70
- var _default = DropdownMenuItem;
60
+ ListItem.displayName = 'ListItem';
61
+ var _default = ListItem;
71
62
  exports.default = _default;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { WithAsProps } from '../../@types/common';
3
+ export interface ListItemGroupProps extends WithAsProps, React.HTMLAttributes<HTMLDivElement> {
4
+ }
5
+ declare const ListItemGroup: React.ForwardRefExoticComponent<ListItemGroupProps & React.RefAttributes<HTMLDivElement>>;
6
+ export default ListItemGroup;
@@ -8,11 +8,10 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
8
8
  var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));
9
9
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
10
  var _react = _interopRequireDefault(require("react"));
11
- var _propTypes = _interopRequireDefault(require("prop-types"));
12
- var _utils = require("../utils");
11
+ var _utils = require("../../utils");
13
12
  var _ArrowDown = _interopRequireDefault(require("@rsuite/icons/legacy/ArrowDown"));
14
13
  var _templateObject, _templateObject2;
15
- var DropdownMenuGroup = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
14
+ var ListItemGroup = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
16
15
  var _props$as = props.as,
17
16
  Component = _props$as === void 0 ? 'div' : _props$as,
18
17
  _props$classPrefix = props.classPrefix,
@@ -38,11 +37,6 @@ var DropdownMenuGroup = /*#__PURE__*/_react.default.forwardRef(function (props,
38
37
  className: prefix(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["caret"])))
39
38
  })));
40
39
  });
41
- DropdownMenuGroup.displayName = 'DropdownMenuGroup';
42
- DropdownMenuGroup.propTypes = {
43
- classPrefix: _propTypes.default.string,
44
- className: _propTypes.default.string,
45
- children: _propTypes.default.node
46
- };
47
- var _default = DropdownMenuGroup;
40
+ ListItemGroup.displayName = 'ListItemGroup';
41
+ var _default = ListItemGroup;
48
42
  exports.default = _default;
@@ -0,0 +1,35 @@
1
+ import React from 'react';
2
+ import { ListProps, ListHandle } from '../../internals/Windowing';
3
+ import { StandardProps, ItemDataType } from '../../@types/common';
4
+ export interface ListboxProps<Multiple = false> extends StandardProps, Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> {
5
+ classPrefix: string;
6
+ data?: ItemDataType[];
7
+ group?: boolean;
8
+ groupBy?: string;
9
+ disabledItemValues?: any[];
10
+ activeItemValues?: any[];
11
+ focusItemValue?: any;
12
+ maxHeight?: number;
13
+ valueKey?: string;
14
+ labelKey?: string;
15
+ className?: string;
16
+ style?: React.CSSProperties;
17
+ listItemAs: React.ElementType | string;
18
+ listItemClassPrefix?: string;
19
+ listItemProps?: any;
20
+ rowHeight?: number;
21
+ rowGroupHeight?: number;
22
+ virtualized?: boolean;
23
+ listProps?: Partial<ListProps>;
24
+ listRef?: React.Ref<ListHandle>;
25
+ /** Custom selected option */
26
+ renderMenuItem?: (itemLabel: React.ReactNode, item: any) => React.ReactNode;
27
+ renderMenuGroup?: (title: React.ReactNode, item: any) => React.ReactNode;
28
+ onSelect?: Multiple extends true ? (value: any, item: any, event: React.MouseEvent, checked: boolean) => void : Multiple extends false ? (value: any, item: any, event: React.MouseEvent) => void : any;
29
+ onGroupTitleClick?: (event: React.MouseEvent) => void;
30
+ }
31
+ export declare type ListboxComponent = React.ForwardRefExoticComponent<ListboxProps> & {
32
+ <Multiple = false>(props: ListboxProps<Multiple>): React.ReactElement | null;
33
+ };
34
+ declare const Listbox: ListboxComponent;
35
+ export default Listbox;
@@ -4,12 +4,10 @@
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
5
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
6
6
  exports.__esModule = true;
7
- exports.default = exports.dropdownMenuPropTypes = void 0;
7
+ exports.default = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
- var _get2 = _interopRequireDefault(require("lodash/get"));
11
10
  var _react = _interopRequireWildcard(require("react"));
12
- var _propTypes = _interopRequireDefault(require("prop-types"));
13
11
  var _isUndefined = _interopRequireDefault(require("lodash/isUndefined"));
14
12
  var _isString = _interopRequireDefault(require("lodash/isString"));
15
13
  var _isNumber = _interopRequireDefault(require("lodash/isNumber"));
@@ -18,14 +16,16 @@ var _pickBy = _interopRequireDefault(require("lodash/pickBy"));
18
16
  var _getPosition = _interopRequireDefault(require("dom-lib/getPosition"));
19
17
  var _scrollTop = _interopRequireDefault(require("dom-lib/scrollTop"));
20
18
  var _getHeight = _interopRequireDefault(require("dom-lib/getHeight"));
19
+ var _get = _interopRequireDefault(require("lodash/get"));
21
20
  var _classnames = _interopRequireDefault(require("classnames"));
22
- var _Windowing = require("../Windowing");
23
- var _shallowEqual = _interopRequireDefault(require("../utils/shallowEqual"));
24
- var _utils = require("../utils");
25
- var _DropdownMenuGroup = _interopRequireDefault(require("./DropdownMenuGroup"));
26
- var _getDataGroupBy = require("../utils/getDataGroupBy");
21
+ var _Windowing = require("../../internals/Windowing");
22
+ var _shallowEqual = _interopRequireDefault(require("../../utils/shallowEqual"));
23
+ var _utils = require("../../utils");
24
+ var _ListItemGroup = _interopRequireDefault(require("./ListItemGroup"));
25
+ var _getDataGroupBy = require("../../utils/getDataGroupBy");
26
+ var _useCombobox2 = _interopRequireDefault(require("./hooks/useCombobox"));
27
27
  var _this = void 0;
28
- var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
28
+ var Listbox = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
29
29
  var _props$data = props.data,
30
30
  data = _props$data === void 0 ? [] : _props$data,
31
31
  group = props.group,
@@ -37,7 +37,7 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
37
37
  _props$disabledItemVa = props.disabledItemValues,
38
38
  disabledItemValues = _props$disabledItemVa === void 0 ? [] : _props$disabledItemVa,
39
39
  _props$classPrefix = props.classPrefix,
40
- classPrefix = _props$classPrefix === void 0 ? 'dropdown-menu' : _props$classPrefix,
40
+ classPrefix = _props$classPrefix === void 0 ? 'listbox' : _props$classPrefix,
41
41
  _props$valueKey = props.valueKey,
42
42
  valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,
43
43
  _props$labelKey = props.labelKey,
@@ -48,9 +48,9 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
48
48
  className = props.className,
49
49
  style = props.style,
50
50
  focusItemValue = props.focusItemValue,
51
- dropdownMenuItemClassPrefix = props.dropdownMenuItemClassPrefix,
52
- DropdownMenuItem = props.dropdownMenuItemAs,
53
- dropdownMenuItemProps = props.dropdownMenuItemProps,
51
+ listItemClassPrefix = props.listItemClassPrefix,
52
+ ListItem = props.listItemAs,
53
+ listItemProps = props.listItemProps,
54
54
  _props$rowHeight = props.rowHeight,
55
55
  rowHeight = _props$rowHeight === void 0 ? 36 : _props$rowHeight,
56
56
  _props$rowGroupHeight = props.rowGroupHeight,
@@ -59,7 +59,7 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
59
59
  renderMenuItem = props.renderMenuItem,
60
60
  onGroupTitleClick = props.onGroupTitleClick,
61
61
  onSelect = props.onSelect,
62
- rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["data", "group", "groupBy", "maxHeight", "activeItemValues", "disabledItemValues", "classPrefix", "valueKey", "labelKey", "virtualized", "listProps", "listRef", "className", "style", "focusItemValue", "dropdownMenuItemClassPrefix", "dropdownMenuItemAs", "dropdownMenuItemProps", "rowHeight", "rowGroupHeight", "renderMenuGroup", "renderMenuItem", "onGroupTitleClick", "onSelect"]);
62
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["data", "group", "groupBy", "maxHeight", "activeItemValues", "disabledItemValues", "classPrefix", "valueKey", "labelKey", "virtualized", "listProps", "listRef", "className", "style", "focusItemValue", "listItemClassPrefix", "listItemAs", "listItemProps", "rowHeight", "rowGroupHeight", "renderMenuGroup", "renderMenuItem", "onGroupTitleClick", "onSelect"]);
63
63
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
64
64
  withClassPrefix = _useClassNames.withClassPrefix,
65
65
  prefix = _useClassNames.prefix,
@@ -67,12 +67,17 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
67
67
  var classes = merge(className, withClassPrefix('items', {
68
68
  grouped: group
69
69
  }));
70
+ var _useCombobox = (0, _useCombobox2.default)(),
71
+ id = _useCombobox.id,
72
+ labelId = _useCombobox.labelId,
73
+ popupType = _useCombobox.popupType,
74
+ multiple = _useCombobox.multiple;
70
75
  var menuBodyContainerRef = (0, _react.useRef)(null);
71
76
  var listRef = (0, _react.useRef)(null);
72
77
  var _useState = (0, _react.useState)([]),
73
78
  foldedGroupKeys = _useState[0],
74
79
  setFoldedGroupKeys = _useState[1];
75
- var handleGroupTitleClick = (0, _react.useCallback)(function (key, event) {
80
+ var handleGroupTitleClick = (0, _utils.useEventCallback)(function (key, event) {
76
81
  var nextGroupKeys = foldedGroupKeys.filter(function (item) {
77
82
  return item !== key;
78
83
  });
@@ -81,10 +86,10 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
81
86
  }
82
87
  setFoldedGroupKeys(nextGroupKeys);
83
88
  onGroupTitleClick === null || onGroupTitleClick === void 0 ? void 0 : onGroupTitleClick(event);
84
- }, [onGroupTitleClick, foldedGroupKeys]);
85
- var handleSelect = (0, _react.useCallback)(function (item, value, event, checked) {
89
+ });
90
+ var handleSelect = (0, _utils.useEventCallback)(function (item, value, event, checked) {
86
91
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(value, item, event, checked);
87
- }, [onSelect]);
92
+ });
88
93
  var getRowHeight = function getRowHeight(list, index) {
89
94
  var item = list[index];
90
95
  if (group && item[_getDataGroupBy.KEY_GROUP] && index !== 0) {
@@ -113,6 +118,24 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
113
118
  (0, _scrollTop.default)(container, Math.max(0, position.top - sHeight + 32));
114
119
  }
115
120
  }, [focusItemValue, menuBodyContainerRef, prefix]);
121
+ var filteredItems = group ? data.filter(function (item) {
122
+ var _item$parent;
123
+ // Display group title items
124
+ if (item[_getDataGroupBy.KEY_GROUP]) return true;
125
+
126
+ // Display items under the unfolded group
127
+ // FIXME-Doma
128
+ // `groupBy` is bound to be string when `group` is true
129
+ // because `group` is actually redundant as a prop
130
+ // It could simply be derived from `groupBy` value
131
+ var groupValue = (0, _get.default)(item, groupBy, '') || ( // FIXME-Doma
132
+ // Usage of `item.parent` is strongly discouraged
133
+ // It's only here for legacy support
134
+ // Remove once `item.parent` is completely removed across related components
135
+ (_item$parent = item.parent) === null || _item$parent === void 0 ? void 0 : _item$parent[_getDataGroupBy.KEY_GROUP_TITLE]);
136
+ return !foldedGroupKeys.includes(groupValue);
137
+ }) : data;
138
+ var rowCount = filteredItems.length;
116
139
  var renderItem = function renderItem(_ref) {
117
140
  var _ref$index = _ref.index,
118
141
  index = _ref$index === void 0 ? 0 : _ref$index,
@@ -130,13 +153,13 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
130
153
  var itemKey = (0, _isString.default)(value) || (0, _isNumber.default)(value) ? value : index;
131
154
 
132
155
  /**
133
- * Render <DropdownMenuGroup>
156
+ * Render <ListboxGroup>
134
157
  * when if `group` is enabled
135
158
  */
136
159
  if (group && item[_getDataGroupBy.KEY_GROUP]) {
137
160
  var groupValue = item[_getDataGroupBy.KEY_GROUP_TITLE];
138
161
  // TODO: grouped options should be owned by group
139
- return /*#__PURE__*/_react.default.createElement(_DropdownMenuGroup.default, {
162
+ return /*#__PURE__*/_react.default.createElement(_ListItemGroup.default, {
140
163
  style: style,
141
164
  classPrefix: 'picker-menu-group',
142
165
  className: (0, _classnames.default)({
@@ -157,37 +180,21 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
157
180
  return (0, _shallowEqual.default)(v, value);
158
181
  });
159
182
  var focus = !(0, _isUndefined.default)(focusItemValue) && (0, _shallowEqual.default)(focusItemValue, value);
160
- return /*#__PURE__*/_react.default.createElement(DropdownMenuItem, (0, _extends2.default)({
183
+ return /*#__PURE__*/_react.default.createElement(ListItem, (0, _extends2.default)({
184
+ "aria-posinset": index + 1,
185
+ "aria-setsize": rowCount,
161
186
  style: style,
162
187
  key: itemKey,
163
188
  disabled: disabled,
164
189
  active: active,
165
190
  focus: focus,
166
191
  value: value,
167
- classPrefix: dropdownMenuItemClassPrefix,
192
+ classPrefix: listItemClassPrefix,
168
193
  onSelect: handleSelect.bind(null, item)
169
- }, (0, _pickBy.default)(dropdownMenuItemProps, function (v) {
194
+ }, (0, _pickBy.default)(listItemProps, function (v) {
170
195
  return v !== undefined;
171
196
  })), renderMenuItem ? renderMenuItem(label, item) : label);
172
197
  };
173
- var filteredItems = group ? data.filter(function (item) {
174
- var _item$parent;
175
- // Display group title items
176
- if (item[_getDataGroupBy.KEY_GROUP]) return true;
177
-
178
- // Display items under the unfolded group
179
- // FIXME-Doma
180
- // `groupBy` is bound to be string when `group` is true
181
- // because `group` is actually redundant as a prop
182
- // It could simply be derived from `groupBy` value
183
- var groupValue = (0, _get2.default)(item, groupBy, '') || ( // FIXME-Doma
184
- // Usage of `item.parent` is strongly discouraged
185
- // It's only here for legacy support
186
- // Remove once `item.parent` is completely removed across related components
187
- (_item$parent = item.parent) === null || _item$parent === void 0 ? void 0 : _item$parent[_getDataGroupBy.KEY_GROUP_TITLE]);
188
- return !foldedGroupKeys.includes(groupValue);
189
- }) : data;
190
- var rowCount = filteredItems.length;
191
198
  (0, _utils.useMount)(function () {
192
199
  var _listRef$current, _listRef$current$scro;
193
200
  var itemIndex = (0, _findIndex.default)(filteredItems, function (item) {
@@ -196,7 +203,10 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
196
203
  (_listRef$current = listRef.current) === null || _listRef$current === void 0 ? void 0 : (_listRef$current$scro = _listRef$current.scrollToItem) === null || _listRef$current$scro === void 0 ? void 0 : _listRef$current$scro.call(_listRef$current, itemIndex);
197
204
  });
198
205
  return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
199
- role: "listbox"
206
+ role: "listbox",
207
+ id: id + "-" + popupType,
208
+ "aria-labelledby": labelId,
209
+ "aria-multiselectable": multiple
200
210
  }, rest, {
201
211
  className: classes,
202
212
  ref: (0, _utils.mergeRefs)(menuBodyContainerRef, ref),
@@ -226,31 +236,6 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
226
236
  });
227
237
  }));
228
238
  });
229
- var dropdownMenuPropTypes = {
230
- classPrefix: _propTypes.default.string.isRequired,
231
- className: _propTypes.default.string,
232
- dropdownMenuItemAs: _propTypes.default.elementType.isRequired,
233
- dropdownMenuItemClassPrefix: _propTypes.default.string,
234
- data: _propTypes.default.array,
235
- group: _propTypes.default.bool,
236
- disabledItemValues: _propTypes.default.array,
237
- activeItemValues: _propTypes.default.array,
238
- focusItemValue: _propTypes.default.any,
239
- maxHeight: _propTypes.default.number,
240
- valueKey: _propTypes.default.string,
241
- labelKey: _propTypes.default.string,
242
- style: _propTypes.default.object,
243
- renderMenuItem: _propTypes.default.func,
244
- renderMenuGroup: _propTypes.default.func,
245
- onSelect: _propTypes.default.func,
246
- onGroupTitleClick: _propTypes.default.func,
247
- virtualized: _propTypes.default.bool,
248
- listProps: _propTypes.default.any,
249
- rowHeight: _propTypes.default.number,
250
- rowGroupHeight: _propTypes.default.number
251
- };
252
- exports.dropdownMenuPropTypes = dropdownMenuPropTypes;
253
- DropdownMenu.displayName = 'DropdownMenu';
254
- DropdownMenu.propTypes = dropdownMenuPropTypes;
255
- var _default = DropdownMenu;
239
+ Listbox.displayName = 'Listbox';
240
+ var _default = Listbox;
256
241
  exports.default = _default;
@@ -6,10 +6,10 @@ exports.__esModule = true;
6
6
  exports.default = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
8
  var _icons = require("@rsuite/icons");
9
- var _utils = require("../utils");
10
- var _InputGroup = _interopRequireDefault(require("../InputGroup"));
9
+ var _utils = require("../../utils");
10
+ var _InputGroup = _interopRequireDefault(require("../../InputGroup"));
11
11
  var _CloseButton = _interopRequireDefault(require("../CloseButton"));
12
- var _Loader = _interopRequireDefault(require("../Loader"));
12
+ var _Loader = _interopRequireDefault(require("../../Loader"));
13
13
  var PickerIndicator = function PickerIndicator(_ref) {
14
14
  var loading = _ref.loading,
15
15
  caretAs = _ref.caretAs,
@@ -7,7 +7,7 @@ exports.default = void 0;
7
7
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
8
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
9
9
  var _react = _interopRequireDefault(require("react"));
10
- var _InputGroup = _interopRequireDefault(require("../InputGroup"));
10
+ var _InputGroup = _interopRequireDefault(require("../../InputGroup"));
11
11
  var PickerLabel = function PickerLabel(_ref) {
12
12
  var children = _ref.children,
13
13
  className = _ref.className,
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { WithAsProps, RsRefForwardingComponent } from '../../@types/common';
3
+ import type { OverlayTriggerHandle } from './PickerToggleTrigger';
4
+ export interface PickerPopupProps extends WithAsProps {
5
+ placement?: string;
6
+ autoWidth?: boolean;
7
+ children?: React.ReactNode;
8
+ target?: React.RefObject<OverlayTriggerHandle>;
9
+ onKeyDown?: (event: React.KeyboardEvent) => void;
10
+ }
11
+ declare const PickerPopup: RsRefForwardingComponent<'div', PickerPopupProps>;
12
+ export default PickerPopup;
@@ -11,14 +11,14 @@ var _react = _interopRequireWildcard(require("react"));
11
11
  var _omit = _interopRequireDefault(require("lodash/omit"));
12
12
  var _addStyle = _interopRequireDefault(require("dom-lib/addStyle"));
13
13
  var _getWidth = _interopRequireDefault(require("dom-lib/getWidth"));
14
- var _utils = require("../utils");
14
+ var _utils = require("../../utils");
15
15
  var omitProps = ['placement', 'arrowOffsetLeft', 'arrowOffsetTop', 'positionLeft', 'positionTop', 'getPositionInstance', 'getToggleInstance', 'autoWidth'];
16
16
  var resizePlacement = ['topStart', 'topEnd', 'leftEnd', 'rightEnd', 'auto', 'autoVerticalStart', 'autoVerticalEnd', 'autoHorizontalEnd'];
17
- var PickerOverlay = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
17
+ var PickerPopup = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
18
18
  var _props$as = props.as,
19
19
  Component = _props$as === void 0 ? 'div' : _props$as,
20
20
  _props$classPrefix = props.classPrefix,
21
- classPrefix = _props$classPrefix === void 0 ? 'picker-menu' : _props$classPrefix,
21
+ classPrefix = _props$classPrefix === void 0 ? 'picker-popup' : _props$classPrefix,
22
22
  autoWidth = props.autoWidth,
23
23
  className = props.className,
24
24
  _props$placement = props.placement,
@@ -26,12 +26,12 @@ var PickerOverlay = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
26
26
  target = props.target,
27
27
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "classPrefix", "autoWidth", "className", "placement", "target"]);
28
28
  var overlayRef = (0, _react.useRef)(null);
29
- var handleResize = (0, _react.useCallback)(function () {
29
+ var handleResize = (0, _utils.useEventCallback)(function () {
30
30
  var instance = target === null || target === void 0 ? void 0 : target.current;
31
31
  if (instance && resizePlacement.includes(placement)) {
32
32
  instance.updatePosition();
33
33
  }
34
- }, [target, placement]);
34
+ });
35
35
  (0, _utils.useElementResize)((0, _react.useCallback)(function () {
36
36
  return overlayRef.current;
37
37
  }, []), handleResize);
@@ -50,11 +50,13 @@ var PickerOverlay = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
50
50
  withClassPrefix = _useClassNames.withClassPrefix,
51
51
  merge = _useClassNames.merge;
52
52
  var classes = merge(className, withClassPrefix());
53
- return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, (0, _omit.default)(rest, omitProps), {
53
+ return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
54
+ "data-testid": "picker-popup"
55
+ }, (0, _omit.default)(rest, omitProps), {
54
56
  ref: (0, _utils.mergeRefs)(overlayRef, ref),
55
57
  className: classes
56
58
  }));
57
59
  });
58
- PickerOverlay.displayName = 'PickerOverlay';
59
- var _default = PickerOverlay;
60
+ PickerPopup.displayName = 'PickerPopup';
61
+ var _default = PickerPopup;
60
62
  exports.default = _default;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import ToggleButton, { ToggleButtonProps } from './ToggleButton';
3
- import { RsRefForwardingComponent, TypeAttributes } from '../@types/common';
3
+ import { RsRefForwardingComponent, TypeAttributes } from '../../@types/common';
4
4
  import { IconProps } from '@rsuite/icons/lib/Icon';
5
5
  declare type ValueType = string | number;
6
6
  export interface PickerToggleProps extends ToggleButtonProps {
@@ -28,8 +28,8 @@ export interface PickerToggleProps extends ToggleButtonProps {
28
28
  loading?: boolean;
29
29
  label?: React.ReactNode;
30
30
  name?: string;
31
- id?: string;
32
31
  inputValue?: ValueType | ValueType[];
32
+ focusItemValue?: ValueType | null;
33
33
  onClean?: (event: React.MouseEvent) => void;
34
34
  }
35
35
  declare const PickerToggle: RsRefForwardingComponent<typeof ToggleButton, PickerToggleProps>;
@@ -10,12 +10,13 @@ var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtim
10
10
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
11
  var _react = _interopRequireWildcard(require("react"));
12
12
  var _ToggleButton = _interopRequireDefault(require("./ToggleButton"));
13
- var _utils = require("../utils");
13
+ var _utils = require("../../utils");
14
14
  var _Plaintext = _interopRequireDefault(require("../Plaintext"));
15
- var _useToggleCaret = _interopRequireDefault(require("../utils/useToggleCaret"));
16
- var _Stack = _interopRequireDefault(require("../Stack"));
15
+ var _useToggleCaret = _interopRequireDefault(require("../../utils/useToggleCaret"));
16
+ var _Stack = _interopRequireDefault(require("../../Stack"));
17
17
  var _PickerIndicator = _interopRequireDefault(require("./PickerIndicator"));
18
18
  var _PickerLabel = _interopRequireDefault(require("./PickerLabel"));
19
+ var _useCombobox2 = _interopRequireDefault(require("./hooks/useCombobox"));
19
20
  var _templateObject;
20
21
  var PickerToggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
21
22
  var active = props.active,
@@ -36,8 +37,8 @@ var PickerToggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
36
37
  cleanable = props.cleanable,
37
38
  _props$tabIndex = props.tabIndex,
38
39
  tabIndex = _props$tabIndex === void 0 ? 0 : _props$tabIndex,
39
- id = props.id,
40
40
  inputValueProp = props.inputValue,
41
+ focusItemValue = props.focusItemValue,
41
42
  onClean = props.onClean,
42
43
  _props$placement = props.placement,
43
44
  placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,
@@ -46,12 +47,16 @@ var PickerToggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
46
47
  caretAs = _props$caretAs === void 0 ? caretComponent : _props$caretAs,
47
48
  label = props.label,
48
49
  name = props.name,
49
- rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["active", "as", "classPrefix", "children", "caret", "className", "disabled", "readOnly", "plaintext", "hasValue", "loading", "cleanable", "tabIndex", "id", "inputValue", "onClean", "placement", "caretComponent", "caretAs", "label", "name"]);
50
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["active", "as", "classPrefix", "children", "caret", "className", "disabled", "readOnly", "plaintext", "hasValue", "loading", "cleanable", "tabIndex", "inputValue", "focusItemValue", "onClean", "placement", "caretComponent", "caretAs", "label", "name"]);
50
51
  var combobox = (0, _react.useRef)(null);
51
52
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
52
53
  withClassPrefix = _useClassNames.withClassPrefix,
53
54
  merge = _useClassNames.merge,
54
55
  prefix = _useClassNames.prefix;
56
+ var _useCombobox = (0, _useCombobox2.default)(),
57
+ id = _useCombobox.id,
58
+ labelId = _useCombobox.labelId,
59
+ popupType = _useCombobox.popupType;
55
60
  var inputValue = (0, _react.useMemo)(function () {
56
61
  if (typeof inputValueProp === 'number' || typeof inputValueProp === 'string') {
57
62
  return inputValueProp;
@@ -80,10 +85,14 @@ var PickerToggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
80
85
  var showCleanButton = cleanable && hasValue && !readOnly;
81
86
  return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
82
87
  role: "combobox",
83
- "aria-haspopup": "listbox",
88
+ id: id,
89
+ "aria-haspopup": popupType,
84
90
  "aria-expanded": active,
85
91
  "aria-disabled": disabled,
86
- "aria-owns": id ? id + "-listbox" : undefined
92
+ "aria-controls": id + "-" + popupType,
93
+ "aria-labelledby": labelId,
94
+ "aria-describedby": id + "-describe",
95
+ "aria-activedescendant": active && focusItemValue ? id + "-opt-" + focusItemValue : undefined
87
96
  }, rest, {
88
97
  ref: (0, _utils.mergeRefs)(combobox, ref),
89
98
  disabled: disabled,
@@ -92,7 +101,7 @@ var PickerToggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
92
101
  }), /*#__PURE__*/_react.default.createElement(_Stack.default, null, label && /*#__PURE__*/_react.default.createElement(_Stack.default.Item, null, /*#__PURE__*/_react.default.createElement(_PickerLabel.default, {
93
102
  as: "span",
94
103
  className: prefix('label'),
95
- id: id ? id + "-label" : undefined
104
+ id: labelId
96
105
  }, label)), /*#__PURE__*/_react.default.createElement(_Stack.default.Item, {
97
106
  grow: 1,
98
107
  style: {
@@ -101,20 +110,18 @@ var PickerToggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
101
110
  }, /*#__PURE__*/_react.default.createElement("input", {
102
111
  readOnly: true,
103
112
  "aria-hidden": true,
104
- "aria-controls": id ? id + "-listbox" : undefined,
105
- "aria-labelledby": label ? id + "-label" : undefined,
106
113
  tabIndex: -1,
107
114
  "data-testid": "picker-toggle-input",
108
115
  name: name,
109
116
  value: inputValue,
110
- id: id,
111
117
  className: prefix('textbox', 'read-only'),
112
118
  style: {
113
119
  pointerEvents: 'none'
114
120
  }
115
121
  }), children ? /*#__PURE__*/_react.default.createElement("span", {
116
122
  className: prefix(hasValue ? 'value' : 'placeholder'),
117
- "aria-placeholder": typeof children === 'string' ? children : undefined
123
+ id: id + "-describe",
124
+ "data-testid": "picker-describe"
118
125
  }, children) : null), /*#__PURE__*/_react.default.createElement(_Stack.default.Item, {
119
126
  className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["indicator"])))
120
127
  }, /*#__PURE__*/_react.default.createElement(_PickerIndicator.default, {
@@ -1,9 +1,17 @@
1
1
  import React from 'react';
2
- import { OverlayTriggerHandle, OverlayTriggerProps, OverlayTriggerType } from '../Overlay/OverlayTrigger';
3
- import { PositionChildProps } from '../Overlay/Position';
4
- import { TypeAttributes, AnimationEventProps } from '../@types/common';
2
+ import { OverlayTriggerHandle, OverlayTriggerProps, OverlayTriggerType } from '../../internals/Overlay/OverlayTrigger';
3
+ import { PositionChildProps } from '../../internals/Overlay/Position';
4
+ import { TypeAttributes, AnimationEventProps } from '../../@types/common';
5
5
  export type { OverlayTriggerHandle, PositionChildProps };
6
6
  export interface PickerToggleTriggerProps extends Omit<AnimationEventProps, 'onEntering' | 'onExiting'>, Pick<OverlayTriggerProps, 'speaker' | 'onClose'> {
7
+ id?: string;
8
+ /**
9
+ * Identifies the combobox has having a popout, and indicates the type.
10
+ *
11
+ * @see MDN https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-haspopup
12
+ */
13
+ popupType?: 'listbox' | 'tree' | 'grid' | 'dialog' | 'menu';
14
+ multiple?: boolean;
7
15
  placement?: TypeAttributes.Placement;
8
16
  pickerProps: any;
9
17
  open?: boolean;
@@ -12,5 +20,12 @@ export interface PickerToggleTriggerProps extends Omit<AnimationEventProps, 'onE
12
20
  }
13
21
  export declare const omitTriggerPropKeys: string[];
14
22
  export declare const pickTriggerPropKeys: string[];
23
+ export interface ComboboxContextProps {
24
+ id?: string;
25
+ multiple?: boolean;
26
+ hasLabel?: boolean;
27
+ popupType?: 'listbox' | 'tree' | 'grid' | 'dialog' | 'menu';
28
+ }
29
+ export declare const ComboboxContextContext: React.Context<ComboboxContextProps>;
15
30
  declare const PickerToggleTrigger: React.ForwardRefExoticComponent<PickerToggleTriggerProps & React.RefAttributes<any>>;
16
31
  export default PickerToggleTrigger;