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,10 +1,8 @@
1
1
  'use client';
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
3
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
- import _get from "lodash/get";
5
4
  var _this = this;
6
- import React, { useRef, useState, useEffect, useCallback } from 'react';
7
- import PropTypes from 'prop-types';
5
+ import React, { useRef, useState, useEffect } from 'react';
8
6
  import isUndefined from 'lodash/isUndefined';
9
7
  import isString from 'lodash/isString';
10
8
  import isNumber from 'lodash/isNumber';
@@ -13,13 +11,15 @@ import pickBy from 'lodash/pickBy';
13
11
  import getPosition from 'dom-lib/getPosition';
14
12
  import scrollTop from 'dom-lib/scrollTop';
15
13
  import getHeight from 'dom-lib/getHeight';
14
+ import get from 'lodash/get';
16
15
  import classNames from 'classnames';
17
- import { List, AutoSizer, VariableSizeList } from '../Windowing';
18
- import shallowEqual from '../utils/shallowEqual';
19
- import { mergeRefs, useClassNames, useMount } from '../utils';
20
- import DropdownMenuGroup from './DropdownMenuGroup';
21
- import { KEY_GROUP, KEY_GROUP_TITLE } from '../utils/getDataGroupBy';
22
- var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
16
+ import { List, AutoSizer, VariableSizeList } from '../../internals/Windowing';
17
+ import shallowEqual from '../../utils/shallowEqual';
18
+ import { mergeRefs, useClassNames, useMount, useEventCallback } from '../../utils';
19
+ import ListItemGroup from './ListItemGroup';
20
+ import { KEY_GROUP, KEY_GROUP_TITLE } from '../../utils/getDataGroupBy';
21
+ import useCombobox from './hooks/useCombobox';
22
+ var Listbox = /*#__PURE__*/React.forwardRef(function (props, ref) {
23
23
  var _props$data = props.data,
24
24
  data = _props$data === void 0 ? [] : _props$data,
25
25
  group = props.group,
@@ -31,7 +31,7 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
31
31
  _props$disabledItemVa = props.disabledItemValues,
32
32
  disabledItemValues = _props$disabledItemVa === void 0 ? [] : _props$disabledItemVa,
33
33
  _props$classPrefix = props.classPrefix,
34
- classPrefix = _props$classPrefix === void 0 ? 'dropdown-menu' : _props$classPrefix,
34
+ classPrefix = _props$classPrefix === void 0 ? 'listbox' : _props$classPrefix,
35
35
  _props$valueKey = props.valueKey,
36
36
  valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,
37
37
  _props$labelKey = props.labelKey,
@@ -42,9 +42,9 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
42
42
  className = props.className,
43
43
  style = props.style,
44
44
  focusItemValue = props.focusItemValue,
45
- dropdownMenuItemClassPrefix = props.dropdownMenuItemClassPrefix,
46
- DropdownMenuItem = props.dropdownMenuItemAs,
47
- dropdownMenuItemProps = props.dropdownMenuItemProps,
45
+ listItemClassPrefix = props.listItemClassPrefix,
46
+ ListItem = props.listItemAs,
47
+ listItemProps = props.listItemProps,
48
48
  _props$rowHeight = props.rowHeight,
49
49
  rowHeight = _props$rowHeight === void 0 ? 36 : _props$rowHeight,
50
50
  _props$rowGroupHeight = props.rowGroupHeight,
@@ -53,7 +53,7 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
53
53
  renderMenuItem = props.renderMenuItem,
54
54
  onGroupTitleClick = props.onGroupTitleClick,
55
55
  onSelect = props.onSelect,
56
- rest = _objectWithoutPropertiesLoose(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"]);
56
+ rest = _objectWithoutPropertiesLoose(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"]);
57
57
  var _useClassNames = useClassNames(classPrefix),
58
58
  withClassPrefix = _useClassNames.withClassPrefix,
59
59
  prefix = _useClassNames.prefix,
@@ -61,12 +61,17 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
61
61
  var classes = merge(className, withClassPrefix('items', {
62
62
  grouped: group
63
63
  }));
64
+ var _useCombobox = useCombobox(),
65
+ id = _useCombobox.id,
66
+ labelId = _useCombobox.labelId,
67
+ popupType = _useCombobox.popupType,
68
+ multiple = _useCombobox.multiple;
64
69
  var menuBodyContainerRef = useRef(null);
65
70
  var listRef = useRef(null);
66
71
  var _useState = useState([]),
67
72
  foldedGroupKeys = _useState[0],
68
73
  setFoldedGroupKeys = _useState[1];
69
- var handleGroupTitleClick = useCallback(function (key, event) {
74
+ var handleGroupTitleClick = useEventCallback(function (key, event) {
70
75
  var nextGroupKeys = foldedGroupKeys.filter(function (item) {
71
76
  return item !== key;
72
77
  });
@@ -75,10 +80,10 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
75
80
  }
76
81
  setFoldedGroupKeys(nextGroupKeys);
77
82
  onGroupTitleClick === null || onGroupTitleClick === void 0 ? void 0 : onGroupTitleClick(event);
78
- }, [onGroupTitleClick, foldedGroupKeys]);
79
- var handleSelect = useCallback(function (item, value, event, checked) {
83
+ });
84
+ var handleSelect = useEventCallback(function (item, value, event, checked) {
80
85
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(value, item, event, checked);
81
- }, [onSelect]);
86
+ });
82
87
  var getRowHeight = function getRowHeight(list, index) {
83
88
  var item = list[index];
84
89
  if (group && item[KEY_GROUP] && index !== 0) {
@@ -107,6 +112,24 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
107
112
  scrollTop(container, Math.max(0, position.top - sHeight + 32));
108
113
  }
109
114
  }, [focusItemValue, menuBodyContainerRef, prefix]);
115
+ var filteredItems = group ? data.filter(function (item) {
116
+ var _item$parent;
117
+ // Display group title items
118
+ if (item[KEY_GROUP]) return true;
119
+
120
+ // Display items under the unfolded group
121
+ // FIXME-Doma
122
+ // `groupBy` is bound to be string when `group` is true
123
+ // because `group` is actually redundant as a prop
124
+ // It could simply be derived from `groupBy` value
125
+ var groupValue = get(item, groupBy, '') || ( // FIXME-Doma
126
+ // Usage of `item.parent` is strongly discouraged
127
+ // It's only here for legacy support
128
+ // Remove once `item.parent` is completely removed across related components
129
+ (_item$parent = item.parent) === null || _item$parent === void 0 ? void 0 : _item$parent[KEY_GROUP_TITLE]);
130
+ return !foldedGroupKeys.includes(groupValue);
131
+ }) : data;
132
+ var rowCount = filteredItems.length;
110
133
  var renderItem = function renderItem(_ref) {
111
134
  var _ref$index = _ref.index,
112
135
  index = _ref$index === void 0 ? 0 : _ref$index,
@@ -124,13 +147,13 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
124
147
  var itemKey = isString(value) || isNumber(value) ? value : index;
125
148
 
126
149
  /**
127
- * Render <DropdownMenuGroup>
150
+ * Render <ListboxGroup>
128
151
  * when if `group` is enabled
129
152
  */
130
153
  if (group && item[KEY_GROUP]) {
131
154
  var groupValue = item[KEY_GROUP_TITLE];
132
155
  // TODO: grouped options should be owned by group
133
- return /*#__PURE__*/React.createElement(DropdownMenuGroup, {
156
+ return /*#__PURE__*/React.createElement(ListItemGroup, {
134
157
  style: style,
135
158
  classPrefix: 'picker-menu-group',
136
159
  className: classNames({
@@ -151,37 +174,21 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
151
174
  return shallowEqual(v, value);
152
175
  });
153
176
  var focus = !isUndefined(focusItemValue) && shallowEqual(focusItemValue, value);
154
- return /*#__PURE__*/React.createElement(DropdownMenuItem, _extends({
177
+ return /*#__PURE__*/React.createElement(ListItem, _extends({
178
+ "aria-posinset": index + 1,
179
+ "aria-setsize": rowCount,
155
180
  style: style,
156
181
  key: itemKey,
157
182
  disabled: disabled,
158
183
  active: active,
159
184
  focus: focus,
160
185
  value: value,
161
- classPrefix: dropdownMenuItemClassPrefix,
186
+ classPrefix: listItemClassPrefix,
162
187
  onSelect: handleSelect.bind(null, item)
163
- }, pickBy(dropdownMenuItemProps, function (v) {
188
+ }, pickBy(listItemProps, function (v) {
164
189
  return v !== undefined;
165
190
  })), renderMenuItem ? renderMenuItem(label, item) : label);
166
191
  };
167
- var filteredItems = group ? data.filter(function (item) {
168
- var _item$parent;
169
- // Display group title items
170
- if (item[KEY_GROUP]) return true;
171
-
172
- // Display items under the unfolded group
173
- // FIXME-Doma
174
- // `groupBy` is bound to be string when `group` is true
175
- // because `group` is actually redundant as a prop
176
- // It could simply be derived from `groupBy` value
177
- var groupValue = _get(item, groupBy, '') || ( // FIXME-Doma
178
- // Usage of `item.parent` is strongly discouraged
179
- // It's only here for legacy support
180
- // Remove once `item.parent` is completely removed across related components
181
- (_item$parent = item.parent) === null || _item$parent === void 0 ? void 0 : _item$parent[KEY_GROUP_TITLE]);
182
- return !foldedGroupKeys.includes(groupValue);
183
- }) : data;
184
- var rowCount = filteredItems.length;
185
192
  useMount(function () {
186
193
  var _listRef$current, _listRef$current$scro;
187
194
  var itemIndex = findIndex(filteredItems, function (item) {
@@ -190,7 +197,10 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
190
197
  (_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);
191
198
  });
192
199
  return /*#__PURE__*/React.createElement("div", _extends({
193
- role: "listbox"
200
+ role: "listbox",
201
+ id: id + "-" + popupType,
202
+ "aria-labelledby": labelId,
203
+ "aria-multiselectable": multiple
194
204
  }, rest, {
195
205
  className: classes,
196
206
  ref: mergeRefs(menuBodyContainerRef, ref),
@@ -220,29 +230,5 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
220
230
  });
221
231
  }));
222
232
  });
223
- export var dropdownMenuPropTypes = {
224
- classPrefix: PropTypes.string.isRequired,
225
- className: PropTypes.string,
226
- dropdownMenuItemAs: PropTypes.elementType.isRequired,
227
- dropdownMenuItemClassPrefix: PropTypes.string,
228
- data: PropTypes.array,
229
- group: PropTypes.bool,
230
- disabledItemValues: PropTypes.array,
231
- activeItemValues: PropTypes.array,
232
- focusItemValue: PropTypes.any,
233
- maxHeight: PropTypes.number,
234
- valueKey: PropTypes.string,
235
- labelKey: PropTypes.string,
236
- style: PropTypes.object,
237
- renderMenuItem: PropTypes.func,
238
- renderMenuGroup: PropTypes.func,
239
- onSelect: PropTypes.func,
240
- onGroupTitleClick: PropTypes.func,
241
- virtualized: PropTypes.bool,
242
- listProps: PropTypes.any,
243
- rowHeight: PropTypes.number,
244
- rowGroupHeight: PropTypes.number
245
- };
246
- DropdownMenu.displayName = 'DropdownMenu';
247
- DropdownMenu.propTypes = dropdownMenuPropTypes;
248
- export default DropdownMenu;
233
+ Listbox.displayName = 'Listbox';
234
+ export default Listbox;
@@ -1,10 +1,10 @@
1
1
  'use client';
2
2
  import React from 'react';
3
3
  import { Icon } from '@rsuite/icons';
4
- import { useCustom, useClassNames } from '../utils';
5
- import InputGroup from '../InputGroup';
4
+ import { useCustom, useClassNames } from '../../utils';
5
+ import InputGroup from '../../InputGroup';
6
6
  import CloseButton from '../CloseButton';
7
- import Loader from '../Loader';
7
+ import Loader from '../../Loader';
8
8
  var PickerIndicator = function PickerIndicator(_ref) {
9
9
  var loading = _ref.loading,
10
10
  caretAs = _ref.caretAs,
@@ -2,7 +2,7 @@
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
3
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
4
  import React from 'react';
5
- import InputGroup from '../InputGroup';
5
+ import InputGroup from '../../InputGroup';
6
6
  var PickerLabel = function PickerLabel(_ref) {
7
7
  var children = _ref.children,
8
8
  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;
@@ -5,14 +5,14 @@ import React, { useRef, useCallback, useEffect } from 'react';
5
5
  import omit from 'lodash/omit';
6
6
  import addStyle from 'dom-lib/addStyle';
7
7
  import getWidth from 'dom-lib/getWidth';
8
- import { getDOMNode, mergeRefs, useElementResize, useClassNames } from '../utils';
8
+ import { getDOMNode, mergeRefs, useElementResize, useClassNames, useEventCallback } from '../../utils';
9
9
  var omitProps = ['placement', 'arrowOffsetLeft', 'arrowOffsetTop', 'positionLeft', 'positionTop', 'getPositionInstance', 'getToggleInstance', 'autoWidth'];
10
10
  var resizePlacement = ['topStart', 'topEnd', 'leftEnd', 'rightEnd', 'auto', 'autoVerticalStart', 'autoVerticalEnd', 'autoHorizontalEnd'];
11
- var PickerOverlay = /*#__PURE__*/React.forwardRef(function (props, ref) {
11
+ var PickerPopup = /*#__PURE__*/React.forwardRef(function (props, ref) {
12
12
  var _props$as = props.as,
13
13
  Component = _props$as === void 0 ? 'div' : _props$as,
14
14
  _props$classPrefix = props.classPrefix,
15
- classPrefix = _props$classPrefix === void 0 ? 'picker-menu' : _props$classPrefix,
15
+ classPrefix = _props$classPrefix === void 0 ? 'picker-popup' : _props$classPrefix,
16
16
  autoWidth = props.autoWidth,
17
17
  className = props.className,
18
18
  _props$placement = props.placement,
@@ -20,12 +20,12 @@ var PickerOverlay = /*#__PURE__*/React.forwardRef(function (props, ref) {
20
20
  target = props.target,
21
21
  rest = _objectWithoutPropertiesLoose(props, ["as", "classPrefix", "autoWidth", "className", "placement", "target"]);
22
22
  var overlayRef = useRef(null);
23
- var handleResize = useCallback(function () {
23
+ var handleResize = useEventCallback(function () {
24
24
  var instance = target === null || target === void 0 ? void 0 : target.current;
25
25
  if (instance && resizePlacement.includes(placement)) {
26
26
  instance.updatePosition();
27
27
  }
28
- }, [target, placement]);
28
+ });
29
29
  useElementResize(useCallback(function () {
30
30
  return overlayRef.current;
31
31
  }, []), handleResize);
@@ -44,10 +44,12 @@ var PickerOverlay = /*#__PURE__*/React.forwardRef(function (props, ref) {
44
44
  withClassPrefix = _useClassNames.withClassPrefix,
45
45
  merge = _useClassNames.merge;
46
46
  var classes = merge(className, withClassPrefix());
47
- return /*#__PURE__*/React.createElement(Component, _extends({}, omit(rest, omitProps), {
47
+ return /*#__PURE__*/React.createElement(Component, _extends({
48
+ "data-testid": "picker-popup"
49
+ }, omit(rest, omitProps), {
48
50
  ref: mergeRefs(overlayRef, ref),
49
51
  className: classes
50
52
  }));
51
53
  });
52
- PickerOverlay.displayName = 'PickerOverlay';
53
- export default PickerOverlay;
54
+ PickerPopup.displayName = 'PickerPopup';
55
+ export default PickerPopup;
@@ -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>;
@@ -5,12 +5,13 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
5
5
  var _templateObject;
6
6
  import React, { useRef, useMemo } from 'react';
7
7
  import ToggleButton from './ToggleButton';
8
- import { useClassNames, mergeRefs, useEventCallback } from '../utils';
8
+ import { useClassNames, mergeRefs, useEventCallback } from '../../utils';
9
9
  import Plaintext from '../Plaintext';
10
- import useToggleCaret from '../utils/useToggleCaret';
11
- import Stack from '../Stack';
10
+ import useToggleCaret from '../../utils/useToggleCaret';
11
+ import Stack from '../../Stack';
12
12
  import PickerIndicator from './PickerIndicator';
13
13
  import PickerLabel from './PickerLabel';
14
+ import useCombobox from './hooks/useCombobox';
14
15
  var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
15
16
  var active = props.active,
16
17
  _props$as = props.as,
@@ -30,8 +31,8 @@ var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
30
31
  cleanable = props.cleanable,
31
32
  _props$tabIndex = props.tabIndex,
32
33
  tabIndex = _props$tabIndex === void 0 ? 0 : _props$tabIndex,
33
- id = props.id,
34
34
  inputValueProp = props.inputValue,
35
+ focusItemValue = props.focusItemValue,
35
36
  onClean = props.onClean,
36
37
  _props$placement = props.placement,
37
38
  placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,
@@ -40,12 +41,16 @@ var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
40
41
  caretAs = _props$caretAs === void 0 ? caretComponent : _props$caretAs,
41
42
  label = props.label,
42
43
  name = props.name,
43
- rest = _objectWithoutPropertiesLoose(props, ["active", "as", "classPrefix", "children", "caret", "className", "disabled", "readOnly", "plaintext", "hasValue", "loading", "cleanable", "tabIndex", "id", "inputValue", "onClean", "placement", "caretComponent", "caretAs", "label", "name"]);
44
+ rest = _objectWithoutPropertiesLoose(props, ["active", "as", "classPrefix", "children", "caret", "className", "disabled", "readOnly", "plaintext", "hasValue", "loading", "cleanable", "tabIndex", "inputValue", "focusItemValue", "onClean", "placement", "caretComponent", "caretAs", "label", "name"]);
44
45
  var combobox = useRef(null);
45
46
  var _useClassNames = useClassNames(classPrefix),
46
47
  withClassPrefix = _useClassNames.withClassPrefix,
47
48
  merge = _useClassNames.merge,
48
49
  prefix = _useClassNames.prefix;
50
+ var _useCombobox = useCombobox(),
51
+ id = _useCombobox.id,
52
+ labelId = _useCombobox.labelId,
53
+ popupType = _useCombobox.popupType;
49
54
  var inputValue = useMemo(function () {
50
55
  if (typeof inputValueProp === 'number' || typeof inputValueProp === 'string') {
51
56
  return inputValueProp;
@@ -74,10 +79,14 @@ var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
74
79
  var showCleanButton = cleanable && hasValue && !readOnly;
75
80
  return /*#__PURE__*/React.createElement(Component, _extends({
76
81
  role: "combobox",
77
- "aria-haspopup": "listbox",
82
+ id: id,
83
+ "aria-haspopup": popupType,
78
84
  "aria-expanded": active,
79
85
  "aria-disabled": disabled,
80
- "aria-owns": id ? id + "-listbox" : undefined
86
+ "aria-controls": id + "-" + popupType,
87
+ "aria-labelledby": labelId,
88
+ "aria-describedby": id + "-describe",
89
+ "aria-activedescendant": active && focusItemValue ? id + "-opt-" + focusItemValue : undefined
81
90
  }, rest, {
82
91
  ref: mergeRefs(combobox, ref),
83
92
  disabled: disabled,
@@ -86,7 +95,7 @@ var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
86
95
  }), /*#__PURE__*/React.createElement(Stack, null, label && /*#__PURE__*/React.createElement(Stack.Item, null, /*#__PURE__*/React.createElement(PickerLabel, {
87
96
  as: "span",
88
97
  className: prefix('label'),
89
- id: id ? id + "-label" : undefined
98
+ id: labelId
90
99
  }, label)), /*#__PURE__*/React.createElement(Stack.Item, {
91
100
  grow: 1,
92
101
  style: {
@@ -95,20 +104,18 @@ var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
95
104
  }, /*#__PURE__*/React.createElement("input", {
96
105
  readOnly: true,
97
106
  "aria-hidden": true,
98
- "aria-controls": id ? id + "-listbox" : undefined,
99
- "aria-labelledby": label ? id + "-label" : undefined,
100
107
  tabIndex: -1,
101
108
  "data-testid": "picker-toggle-input",
102
109
  name: name,
103
110
  value: inputValue,
104
- id: id,
105
111
  className: prefix('textbox', 'read-only'),
106
112
  style: {
107
113
  pointerEvents: 'none'
108
114
  }
109
115
  }), children ? /*#__PURE__*/React.createElement("span", {
110
116
  className: prefix(hasValue ? 'value' : 'placeholder'),
111
- "aria-placeholder": typeof children === 'string' ? children : undefined
117
+ id: id + "-describe",
118
+ "data-testid": "picker-describe"
112
119
  }, children) : null), /*#__PURE__*/React.createElement(Stack.Item, {
113
120
  className: prefix(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["indicator"])))
114
121
  }, /*#__PURE__*/React.createElement(PickerIndicator, {
@@ -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;
@@ -3,27 +3,42 @@ import _extends from "@babel/runtime/helpers/esm/extends";
3
3
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
4
  import React from 'react';
5
5
  import pick from 'lodash/pick';
6
- import OverlayTrigger from '../Overlay/OverlayTrigger';
7
- import { placementPolyfill, useCustom } from '../utils';
6
+ import OverlayTrigger from '../../internals/Overlay/OverlayTrigger';
7
+ import { placementPolyfill, useCustom, useUniqueId } from '../../utils';
8
8
  export var omitTriggerPropKeys = ['onEntered', 'onExited', 'onEnter', 'onEntering', 'onExit', 'onExiting', 'open', 'defaultOpen', 'container', 'containerPadding', 'preventOverflow'];
9
- export var pickTriggerPropKeys = [].concat(omitTriggerPropKeys, ['disabled', 'plaintext', 'readOnly', 'loading']);
9
+ export var pickTriggerPropKeys = [].concat(omitTriggerPropKeys, ['disabled', 'plaintext', 'readOnly', 'loading', 'label']);
10
+ export var ComboboxContextContext = /*#__PURE__*/React.createContext({
11
+ popupType: 'listbox'
12
+ });
10
13
  var PickerToggleTrigger = /*#__PURE__*/React.forwardRef(function (props, ref) {
11
14
  var pickerProps = props.pickerProps,
12
15
  speaker = props.speaker,
13
16
  placement = props.placement,
14
17
  _props$trigger = props.trigger,
15
18
  trigger = _props$trigger === void 0 ? 'click' : _props$trigger,
16
- rest = _objectWithoutPropertiesLoose(props, ["pickerProps", "speaker", "placement", "trigger"]);
19
+ id = props.id,
20
+ multiple = props.multiple,
21
+ _props$popupType = props.popupType,
22
+ popupType = _props$popupType === void 0 ? 'listbox' : _props$popupType,
23
+ rest = _objectWithoutPropertiesLoose(props, ["pickerProps", "speaker", "placement", "trigger", "id", "multiple", "popupType"]);
17
24
  var pickerTriggerProps = pick(pickerProps, pickTriggerPropKeys);
25
+ var pickerId = useUniqueId('rs-', id);
18
26
  var _useCustom = useCustom(),
19
27
  rtl = _useCustom.rtl;
20
- return /*#__PURE__*/React.createElement(OverlayTrigger, _extends({}, pickerTriggerProps, rest, {
28
+ return /*#__PURE__*/React.createElement(ComboboxContextContext.Provider, {
29
+ value: {
30
+ id: pickerId,
31
+ hasLabel: typeof pickerTriggerProps.label !== 'undefined',
32
+ multiple: multiple,
33
+ popupType: popupType
34
+ }
35
+ }, /*#__PURE__*/React.createElement(OverlayTrigger, _extends({}, pickerTriggerProps, rest, {
21
36
  disabled: pickerTriggerProps.disabled || pickerTriggerProps.loading,
22
37
  ref: ref,
23
38
  trigger: trigger,
24
39
  placement: placementPolyfill(placement, rtl),
25
40
  speaker: speaker
26
- }));
41
+ })));
27
42
  });
28
43
  PickerToggleTrigger.displayName = 'PickerToggleTrigger';
29
44
  export default PickerToggleTrigger;
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { PickerLocale } from '../locales';
2
+ import { PickerLocale } from '../../locales';
3
3
  export interface SelectedElementProps {
4
4
  selectedItems: any[];
5
5
  valueKey: string;
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
  import React from 'react';
3
- import reactToString from '../utils/reactToString';
3
+ import reactToString from '../../utils/reactToString';
4
4
  var SelectedElement = function SelectedElement(props) {
5
5
  var selectedItems = props.selectedItems,
6
6
  prefix = props.prefix,
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { ButtonProps } from '../Button';
2
+ import { ButtonProps } from '../../Button';
3
3
  export declare type ToggleButtonProps = ButtonProps;
4
4
  declare const ToggleButton: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLDivElement>>;
5
5
  export default ToggleButton;
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
3
  import React from 'react';
4
- import Button from '../Button';
4
+ import Button from '../../Button';
5
5
  var ToggleButton = /*#__PURE__*/React.forwardRef(function (props, ref) {
6
6
  return /*#__PURE__*/React.createElement(Button, _extends({}, props, {
7
7
  ref: ref,
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ interface TreeViewProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ treeRootClassName: string;
4
+ multiselectable?: boolean;
5
+ }
6
+ declare const TreeView: React.ForwardRefExoticComponent<TreeViewProps & React.RefAttributes<HTMLDivElement>>;
7
+ export default TreeView;
@@ -0,0 +1,25 @@
1
+ 'use client';
2
+ import _extends from "@babel/runtime/helpers/esm/extends";
3
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
+ import React from 'react';
5
+ import useCombobox from './hooks/useCombobox';
6
+ var TreeView = /*#__PURE__*/React.forwardRef(function (props, ref) {
7
+ var children = props.children,
8
+ treeRootClassName = props.treeRootClassName,
9
+ multiselectable = props.multiselectable,
10
+ rest = _objectWithoutPropertiesLoose(props, ["children", "treeRootClassName", "multiselectable"]);
11
+ var _useCombobox = useCombobox(),
12
+ id = _useCombobox.id,
13
+ labelId = _useCombobox.labelId,
14
+ popupType = _useCombobox.popupType;
15
+ return /*#__PURE__*/React.createElement("div", _extends({
16
+ role: "tree",
17
+ id: id + "-" + popupType,
18
+ "aria-multiselectable": multiselectable,
19
+ "aria-labelledby": labelId,
20
+ ref: ref
21
+ }, rest), /*#__PURE__*/React.createElement("div", {
22
+ className: treeRootClassName
23
+ }, children));
24
+ });
25
+ export default TreeView;
@@ -0,0 +1,6 @@
1
+ export { default as usePickerRef } from './usePickerRef';
2
+ export { default as useCombobox } from './useCombobox';
3
+ export { default as useFocusItemValue } from './useFocusItemValue';
4
+ export { default as useToggleKeyDownEvent } from './useToggleKeyDownEvent';
5
+ export { default as useSearch } from './useSearch';
6
+ export { default as usePickerClassName } from './usePickerClassName';
@@ -0,0 +1,7 @@
1
+ 'use client';
2
+ export { default as usePickerRef } from './usePickerRef';
3
+ export { default as useCombobox } from './useCombobox';
4
+ export { default as useFocusItemValue } from './useFocusItemValue';
5
+ export { default as useToggleKeyDownEvent } from './useToggleKeyDownEvent';
6
+ export { default as useSearch } from './useSearch';
7
+ export { default as usePickerClassName } from './usePickerClassName';
@@ -0,0 +1,7 @@
1
+ declare function useCombobox(): {
2
+ id: string | undefined;
3
+ popupType: "dialog" | "menu" | "grid" | "listbox" | "tree" | undefined;
4
+ multiple: boolean | undefined;
5
+ labelId: string | undefined;
6
+ };
7
+ export default useCombobox;
@@ -0,0 +1,17 @@
1
+ 'use client';
2
+ import { useContext } from 'react';
3
+ import { ComboboxContextContext } from '../PickerToggleTrigger';
4
+ function useCombobox() {
5
+ var _useContext = useContext(ComboboxContextContext),
6
+ id = _useContext.id,
7
+ hasLabel = _useContext.hasLabel,
8
+ popupType = _useContext.popupType,
9
+ multiple = _useContext.multiple;
10
+ return {
11
+ id: id,
12
+ popupType: popupType,
13
+ multiple: multiple,
14
+ labelId: hasLabel ? id + "-label" : undefined
15
+ };
16
+ }
17
+ export default useCombobox;