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,116 +0,0 @@
1
- import React from 'react';
2
- import { OverlayTriggerHandle } from './PickerToggleTrigger';
3
- import { TypeAttributes } from '../@types/common';
4
- import type { ListHandle } from '../Windowing';
5
- export interface NodeKeys {
6
- valueKey: string;
7
- childrenKey: string;
8
- }
9
- export declare function createConcatChildrenFunction<T = any>(node: any, nodeValue?: any, nodeKeys?: NodeKeys): (data: T[], children: T[]) => T[];
10
- export declare function shouldDisplay(label: React.ReactNode, searchKeyword: string): boolean;
11
- export interface PickerClassNameProps {
12
- name?: string;
13
- classPrefix: string;
14
- className?: string;
15
- placement?: TypeAttributes.Placement;
16
- appearance?: 'default' | 'subtle';
17
- cleanable?: boolean;
18
- block?: boolean;
19
- disabled?: boolean;
20
- countable?: boolean;
21
- readOnly?: boolean;
22
- plaintext?: boolean;
23
- hasValue?: boolean;
24
- classes?: any;
25
- }
26
- /**
27
- * The className of the assembled Toggle is on the Picker.
28
- */
29
- export declare function usePickerClassName(props: PickerClassNameProps): [string, string[]];
30
- export interface EventsProps {
31
- down?: React.KeyboardEventHandler;
32
- up?: React.KeyboardEventHandler;
33
- enter?: React.KeyboardEventHandler;
34
- del?: React.KeyboardEventHandler;
35
- esc?: React.KeyboardEventHandler;
36
- right?: React.KeyboardEventHandler;
37
- left?: React.KeyboardEventHandler;
38
- }
39
- /**
40
- * Handling keyboard events...
41
- * @param event Keyboard event object
42
- * @param events Event callback functions
43
- */
44
- export declare function onMenuKeyDown(event: React.KeyboardEvent, events: EventsProps): void;
45
- export interface FocusItemValueProps<T = unknown> {
46
- target: HTMLElement | null | (() => HTMLElement | null);
47
- data?: T[];
48
- valueKey?: string;
49
- focusableQueryKey?: string;
50
- defaultLayer?: number;
51
- rtl?: boolean;
52
- callback?: (value: any, event: React.KeyboardEvent) => void;
53
- getParent?: (node: T) => T | undefined;
54
- }
55
- /**
56
- * A hook that manages the focus state of the option.
57
- * @param defaultFocusItemValue
58
- * @param props
59
- */
60
- export declare const useFocusItemValue: <T, D>(defaultFocusItemValue: T | null | undefined, props: FocusItemValueProps<D>) => {
61
- focusItemValue: T | null | undefined;
62
- setFocusItemValue: React.Dispatch<React.SetStateAction<T | null | undefined>>;
63
- layer: number;
64
- setLayer: React.Dispatch<React.SetStateAction<number>>;
65
- keys: any[];
66
- setKeys: React.Dispatch<React.SetStateAction<any[]>>;
67
- onKeyDown: (event: any) => void;
68
- };
69
- export interface ToggleKeyDownEventProps {
70
- toggle?: boolean;
71
- trigger: React.RefObject<any>;
72
- target: React.RefObject<any>;
73
- overlay?: React.RefObject<any>;
74
- searchInput?: React.RefObject<any>;
75
- active?: boolean;
76
- readOnly?: boolean;
77
- disabled?: boolean;
78
- onExit?: (event: any) => void;
79
- onKeyDown?: (event: any) => void;
80
- onOpen?: () => void;
81
- onClose?: () => void;
82
- onMenuKeyDown?: (event: any) => void;
83
- onMenuPressEnter?: (event: any) => void;
84
- onMenuPressBackspace?: (event: any) => void;
85
- [key: string]: any;
86
- }
87
- /**
88
- * A hook to control the toggle keyboard operation
89
- * @param props
90
- */
91
- export declare const useToggleKeyDownEvent: (props: ToggleKeyDownEventProps) => (...args: any[]) => any;
92
- interface SearchOptions<T> {
93
- labelKey: string;
94
- searchBy?: (keyword: string, label: any, item: T) => boolean;
95
- callback?: (keyword: string, data: T[], event: React.SyntheticEvent) => void;
96
- }
97
- declare type UseSearchResult<T> = {
98
- searchKeyword: string;
99
- filteredData: T[];
100
- checkShouldDisplay: (item: T, keyword?: string) => boolean;
101
- handleSearch: (searchKeyword: string, event: React.SyntheticEvent) => void;
102
- resetSearch: () => void;
103
- };
104
- /**
105
- * A hook that handles search filter options
106
- */
107
- export declare function useSearch<T>(data: readonly T[], props: SearchOptions<T>): UseSearchResult<T>;
108
- export interface PickerDependentParameters {
109
- triggerRef?: React.RefObject<OverlayTriggerHandle>;
110
- rootRef?: React.RefObject<HTMLElement>;
111
- overlayRef?: React.RefObject<HTMLElement>;
112
- targetRef?: React.RefObject<HTMLElement>;
113
- listRef?: React.RefObject<ListHandle>;
114
- inline?: boolean;
115
- }
116
- export {};
@@ -1,500 +0,0 @@
1
- 'use client';
2
- "use strict";
3
-
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
5
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
- exports.__esModule = true;
7
- exports.createConcatChildrenFunction = createConcatChildrenFunction;
8
- exports.shouldDisplay = shouldDisplay;
9
- exports.usePickerClassName = usePickerClassName;
10
- exports.onMenuKeyDown = onMenuKeyDown;
11
- exports.useSearch = useSearch;
12
- exports.useToggleKeyDownEvent = exports.useFocusItemValue = void 0;
13
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
14
- var _react = _interopRequireWildcard(require("react"));
15
- var _kebabCase = _interopRequireDefault(require("lodash/kebabCase"));
16
- var _trim = _interopRequireDefault(require("lodash/trim"));
17
- var _isFunction = _interopRequireDefault(require("lodash/isFunction"));
18
- var _isUndefined = _interopRequireDefault(require("lodash/isUndefined"));
19
- var _omit = _interopRequireDefault(require("lodash/omit"));
20
- var _find = _interopRequireDefault(require("lodash/find"));
21
- var _treeUtils = require("../utils/treeUtils");
22
- var _utils = require("../utils");
23
- var _domLib = require("dom-lib");
24
- var defaultNodeKeys = {
25
- valueKey: 'value',
26
- childrenKey: 'children'
27
- };
28
- function createConcatChildrenFunction(node, nodeValue, nodeKeys) {
29
- if (nodeKeys === void 0) {
30
- nodeKeys = defaultNodeKeys;
31
- }
32
- var _nodeKeys = nodeKeys,
33
- valueKey = _nodeKeys.valueKey,
34
- childrenKey = _nodeKeys.childrenKey;
35
- return function (data, children) {
36
- if (nodeValue) {
37
- node = (0, _treeUtils.findNodeOfTree)(data, function (item) {
38
- return nodeValue === item[valueKey];
39
- });
40
- }
41
- node[childrenKey] = children;
42
- return data.concat([]);
43
- };
44
- }
45
- function shouldDisplay(label, searchKeyword) {
46
- if (!(0, _trim.default)(searchKeyword)) {
47
- return true;
48
- }
49
- var keyword = searchKeyword.toLocaleLowerCase();
50
- if (typeof label === 'string' || typeof label === 'number') {
51
- return ("" + label).toLocaleLowerCase().indexOf(keyword) >= 0;
52
- } else if ( /*#__PURE__*/_react.default.isValidElement(label)) {
53
- var nodes = (0, _utils.reactToString)(label);
54
- return nodes.join('').toLocaleLowerCase().indexOf(keyword) >= 0;
55
- }
56
- return false;
57
- }
58
- /**
59
- * The className of the assembled Toggle is on the Picker.
60
- */
61
- function usePickerClassName(props) {
62
- var _withClassPrefix;
63
- var name = props.name,
64
- classPrefix = props.classPrefix,
65
- className = props.className,
66
- placement = props.placement,
67
- appearance = props.appearance,
68
- cleanable = props.cleanable,
69
- block = props.block,
70
- disabled = props.disabled,
71
- countable = props.countable,
72
- readOnly = props.readOnly,
73
- plaintext = props.plaintext,
74
- hasValue = props.hasValue,
75
- rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["name", "classPrefix", "className", "placement", "appearance", "cleanable", "block", "disabled", "countable", "readOnly", "plaintext", "hasValue"]);
76
- var _useClassNames = (0, _utils.useClassNames)(classPrefix),
77
- withClassPrefix = _useClassNames.withClassPrefix,
78
- merge = _useClassNames.merge;
79
- var classes = merge(className, withClassPrefix(name, appearance, 'toggle-wrapper', (_withClassPrefix = {}, _withClassPrefix["placement-" + (0, _kebabCase.default)((0, _utils.placementPolyfill)(placement))] = placement, _withClassPrefix['read-only'] = readOnly, _withClassPrefix['has-value'] = hasValue, _withClassPrefix.cleanable = cleanable, _withClassPrefix.block = block, _withClassPrefix.disabled = disabled, _withClassPrefix.countable = countable, _withClassPrefix.plaintext = plaintext, _withClassPrefix)));
80
-
81
- // Those props that're used for composing the className
82
- var usedClassNamePropKeys = Object.keys((0, _omit.default)(props, [].concat(Object.keys(rest || {}), ['disabled', 'readOnly', 'plaintext', 'name'])));
83
- return [classes, usedClassNamePropKeys];
84
- }
85
- /**
86
- * Handling keyboard events...
87
- * @param event Keyboard event object
88
- * @param events Event callback functions
89
- */
90
- function onMenuKeyDown(event, events) {
91
- var down = events.down,
92
- up = events.up,
93
- enter = events.enter,
94
- del = events.del,
95
- esc = events.esc,
96
- right = events.right,
97
- left = events.left;
98
- switch (event.key) {
99
- // down
100
- case _utils.KEY_VALUES.DOWN:
101
- down === null || down === void 0 ? void 0 : down(event);
102
- event.preventDefault();
103
- break;
104
- // up
105
- case _utils.KEY_VALUES.UP:
106
- up === null || up === void 0 ? void 0 : up(event);
107
- event.preventDefault();
108
- break;
109
- // enter
110
- case _utils.KEY_VALUES.ENTER:
111
- enter === null || enter === void 0 ? void 0 : enter(event);
112
- event.preventDefault();
113
- break;
114
- // delete
115
- case _utils.KEY_VALUES.BACKSPACE:
116
- del === null || del === void 0 ? void 0 : del(event);
117
- break;
118
- // esc | tab
119
- case _utils.KEY_VALUES.ESC:
120
- case _utils.KEY_VALUES.TAB:
121
- esc === null || esc === void 0 ? void 0 : esc(event);
122
- break;
123
- // left arrow
124
- case _utils.KEY_VALUES.LEFT:
125
- left === null || left === void 0 ? void 0 : left(event);
126
- break;
127
- // right arrow
128
- case _utils.KEY_VALUES.RIGHT:
129
- right === null || right === void 0 ? void 0 : right(event);
130
- break;
131
- default:
132
- }
133
- }
134
- /**
135
- * Checks if the element has a vertical scrollbar.
136
- */
137
- function hasVerticalScroll(element) {
138
- var scrollHeight = element.scrollHeight,
139
- clientHeight = element.clientHeight;
140
- return scrollHeight > clientHeight;
141
- }
142
-
143
- /**
144
- * Checks if the element is within the visible area of the container
145
- */
146
- function isVisible(element, container, direction) {
147
- if (!hasVerticalScroll(container)) {
148
- return true;
149
- }
150
- var _element$getBoundingC = element.getBoundingClientRect(),
151
- top = _element$getBoundingC.top,
152
- bottom = _element$getBoundingC.bottom,
153
- height = _element$getBoundingC.height;
154
- var _container$getBoundin = container.getBoundingClientRect(),
155
- containerTop = _container$getBoundin.top,
156
- containerBottom = _container$getBoundin.bottom;
157
- if (direction === 'top') {
158
- return top + height > containerTop;
159
- }
160
- return bottom - height < containerBottom;
161
- }
162
- function scrollTo(container, direction, step) {
163
- var scrollTop = container.scrollTop;
164
- container.scrollTop = direction === 'top' ? scrollTop - step : scrollTop + step;
165
- }
166
-
167
- /**
168
- * A hook that manages the focus state of the option.
169
- * @param defaultFocusItemValue
170
- * @param props
171
- */
172
- var useFocusItemValue = function useFocusItemValue(defaultFocusItemValue, props) {
173
- var _props$valueKey = props.valueKey,
174
- valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,
175
- _props$focusableQuery = props.focusableQueryKey,
176
- focusableQueryKey = _props$focusableQuery === void 0 ? '[data-key][aria-disabled="false"]' : _props$focusableQuery,
177
- _props$defaultLayer = props.defaultLayer,
178
- defaultLayer = _props$defaultLayer === void 0 ? 0 : _props$defaultLayer,
179
- data = props.data,
180
- target = props.target,
181
- rtl = props.rtl,
182
- callback = props.callback,
183
- _props$getParent = props.getParent,
184
- getParent = _props$getParent === void 0 ? function (item) {
185
- return item === null || item === void 0 ? void 0 : item.parent;
186
- } : _props$getParent;
187
- var _useState = (0, _react.useState)(defaultFocusItemValue),
188
- focusItemValue = _useState[0],
189
- setFocusItemValue = _useState[1];
190
- var _useState2 = (0, _react.useState)(defaultLayer),
191
- layer = _useState2[0],
192
- setLayer = _useState2[1];
193
- var _useState3 = (0, _react.useState)([]),
194
- keys = _useState3[0],
195
- setKeys = _useState3[1];
196
- var focusCallback = (0, _react.useCallback)(function (value, event) {
197
- var menu = (0, _isFunction.default)(target) ? target() : target;
198
- var focusElement = menu === null || menu === void 0 ? void 0 : menu.querySelector("[data-key=\"" + value + "\"]");
199
- focusElement === null || focusElement === void 0 ? void 0 : focusElement.focus();
200
- callback === null || callback === void 0 ? void 0 : callback(value, event);
201
- }, [callback, target]);
202
- var getScrollContainer = (0, _react.useCallback)(function () {
203
- var menu = (0, _isFunction.default)(target) ? target() : target;
204
-
205
- // For Cascader and MutiCascader
206
- var subMenu = menu === null || menu === void 0 ? void 0 : menu.querySelector("[data-layer=\"" + layer + "\"]");
207
- if (subMenu) {
208
- return subMenu;
209
- }
210
-
211
- // For SelectPicker、CheckPicker、Autocomplete、InputPicker、TagPicker
212
- return menu === null || menu === void 0 ? void 0 : menu.querySelector('[role="listbox"]');
213
- }, [layer, target]);
214
-
215
- /**
216
- * Get the elements visible in all options.
217
- */
218
- var getFocusableMenuItems = (0, _react.useCallback)(function () {
219
- if (!target) {
220
- return [];
221
- }
222
- var currentKeys = keys;
223
- if (layer < 1) {
224
- var popup = (0, _isFunction.default)(target) ? target() : target;
225
- var rootMenu = popup === null || popup === void 0 ? void 0 : popup.querySelector('[data-layer="0"]');
226
- if (rootMenu) {
227
- var _rootMenu$querySelect;
228
- currentKeys = Array.from((_rootMenu$querySelect = rootMenu.querySelectorAll(focusableQueryKey)) !== null && _rootMenu$querySelect !== void 0 ? _rootMenu$querySelect : []).map(function (item) {
229
- var _item$dataset;
230
- return (_item$dataset = item.dataset) === null || _item$dataset === void 0 ? void 0 : _item$dataset.key;
231
- });
232
- } else {
233
- var _popup$querySelectorA;
234
- currentKeys = Array.from((_popup$querySelectorA = popup === null || popup === void 0 ? void 0 : popup.querySelectorAll(focusableQueryKey)) !== null && _popup$querySelectorA !== void 0 ? _popup$querySelectorA : []).map(function (item) {
235
- var _item$dataset2;
236
- return (_item$dataset2 = item.dataset) === null || _item$dataset2 === void 0 ? void 0 : _item$dataset2.key;
237
- });
238
- }
239
- }
240
-
241
- // 1. It is necessary to traverse the `keys` instead of `data` here to preserve the order of the array.
242
- // 2. The values ​​in `keys` are all string, so the corresponding value of `data` should also be converted to string
243
- return currentKeys.map(function (key) {
244
- return (0, _find.default)(data, function (i) {
245
- return "" + i[valueKey] === key;
246
- });
247
- });
248
- }, [data, focusableQueryKey, keys, target, valueKey, layer]);
249
-
250
- /**
251
- * Get the index of the focus item.
252
- */
253
- var findFocusItemIndex = (0, _react.useCallback)(function (callback) {
254
- var items = getFocusableMenuItems();
255
- for (var i = 0; i < items.length; i += 1) {
256
- var _items$i;
257
- if ((0, _utils.shallowEqual)(focusItemValue, (_items$i = items[i]) === null || _items$i === void 0 ? void 0 : _items$i[valueKey])) {
258
- callback(items, i);
259
- return;
260
- }
261
- }
262
- callback(items, -1);
263
- }, [focusItemValue, getFocusableMenuItems, valueKey]);
264
- var scrollListItem = (0, _react.useCallback)(function (direction, itemValue, willOverflow) {
265
- var container = getScrollContainer();
266
- var item = container === null || container === void 0 ? void 0 : container.querySelector("[data-key=\"" + itemValue + "\"]");
267
- if (willOverflow && container) {
268
- var scrollHeight = container.scrollHeight,
269
- clientHeight = container.clientHeight;
270
- container.scrollTop = direction === 'top' ? scrollHeight - clientHeight : 0;
271
- return;
272
- }
273
- if (item && container) {
274
- if (!isVisible(item, container, direction)) {
275
- var height = (0, _domLib.getHeight)(item);
276
- scrollTo(container, direction, height);
277
- }
278
- }
279
- }, [getScrollContainer]);
280
- var focusNextMenuItem = (0, _react.useCallback)(function (event) {
281
- findFocusItemIndex(function (items, index) {
282
- var willOverflow = index + 2 > items.length;
283
- var nextIndex = willOverflow ? 0 : index + 1;
284
- var focusItem = items[nextIndex];
285
- if (!(0, _isUndefined.default)(focusItem)) {
286
- setFocusItemValue(focusItem[valueKey]);
287
- focusCallback(focusItem[valueKey], event);
288
- scrollListItem('bottom', focusItem[valueKey], willOverflow);
289
- }
290
- });
291
- }, [focusCallback, findFocusItemIndex, scrollListItem, valueKey]);
292
- var focusPrevMenuItem = (0, _react.useCallback)(function (event) {
293
- findFocusItemIndex(function (items, index) {
294
- var willOverflow = index === 0;
295
- var nextIndex = willOverflow ? items.length - 1 : index - 1;
296
- var focusItem = items[nextIndex];
297
- if (!(0, _isUndefined.default)(focusItem)) {
298
- setFocusItemValue(focusItem[valueKey]);
299
- focusCallback(focusItem[valueKey], event);
300
- scrollListItem('top', focusItem[valueKey], willOverflow);
301
- }
302
- });
303
- }, [focusCallback, findFocusItemIndex, scrollListItem, valueKey]);
304
- var getSubMenuKeys = (0, _react.useCallback)(function (nextLayer) {
305
- var menu = (0, _isFunction.default)(target) ? target() : target;
306
- var subMenu = menu === null || menu === void 0 ? void 0 : menu.querySelector("[data-layer=\"" + nextLayer + "\"]");
307
- if (subMenu) {
308
- var _Array$from;
309
- return (_Array$from = Array.from(subMenu.querySelectorAll(focusableQueryKey))) === null || _Array$from === void 0 ? void 0 : _Array$from.map(function (item) {
310
- var _item$dataset3;
311
- return (_item$dataset3 = item.dataset) === null || _item$dataset3 === void 0 ? void 0 : _item$dataset3.key;
312
- });
313
- }
314
- return null;
315
- }, [focusableQueryKey, target]);
316
- var focusNextLevelMenu = (0, _react.useCallback)(function (event) {
317
- var nextLayer = layer + 1;
318
- var nextKeys = getSubMenuKeys(nextLayer);
319
- if (nextKeys) {
320
- setKeys(nextKeys);
321
- setLayer(nextLayer);
322
- setFocusItemValue(nextKeys[0]);
323
- focusCallback(nextKeys[0], event);
324
- }
325
- }, [focusCallback, getSubMenuKeys, layer]);
326
- var focusPrevLevelMenu = (0, _react.useCallback)(function (event) {
327
- var nextLayer = layer - 1;
328
- var nextKeys = getSubMenuKeys(nextLayer);
329
- if (nextKeys) {
330
- var _getParent;
331
- setKeys(nextKeys);
332
- setLayer(nextLayer);
333
- var focusItem = (0, _treeUtils.findNodeOfTree)(data, function (item) {
334
- return item[valueKey] === focusItemValue;
335
- });
336
- var parentItemValue = (_getParent = getParent(focusItem)) === null || _getParent === void 0 ? void 0 : _getParent[valueKey];
337
- if (parentItemValue) {
338
- setFocusItemValue(parentItemValue);
339
- focusCallback(parentItemValue, event);
340
- }
341
- }
342
- }, [focusCallback, data, focusItemValue, getParent, getSubMenuKeys, layer, valueKey]);
343
- var handleKeyDown = (0, _react.useCallback)(function (event) {
344
- var _onMenuKeyDown;
345
- onMenuKeyDown(event, (_onMenuKeyDown = {
346
- down: focusNextMenuItem,
347
- up: focusPrevMenuItem
348
- }, _onMenuKeyDown[rtl ? 'left' : 'right'] = focusNextLevelMenu, _onMenuKeyDown[rtl ? 'right' : 'left'] = focusPrevLevelMenu, _onMenuKeyDown));
349
- }, [focusNextLevelMenu, focusNextMenuItem, focusPrevLevelMenu, focusPrevMenuItem, rtl]);
350
- return {
351
- focusItemValue: focusItemValue,
352
- setFocusItemValue: setFocusItemValue,
353
- layer: layer,
354
- setLayer: setLayer,
355
- keys: keys,
356
- setKeys: setKeys,
357
- onKeyDown: handleKeyDown
358
- };
359
- };
360
- exports.useFocusItemValue = useFocusItemValue;
361
- /**
362
- * A hook to control the toggle keyboard operation
363
- * @param props
364
- */
365
- var useToggleKeyDownEvent = function useToggleKeyDownEvent(props) {
366
- var _props$toggle = props.toggle,
367
- toggle = _props$toggle === void 0 ? true : _props$toggle,
368
- trigger = props.trigger,
369
- target = props.target,
370
- overlay = props.overlay,
371
- searchInput = props.searchInput,
372
- active = props.active,
373
- readOnly = props.readOnly,
374
- disabled = props.disabled,
375
- loading = props.loading,
376
- onExit = props.onExit,
377
- onOpen = props.onOpen,
378
- onClose = props.onClose,
379
- onKeyDown = props.onKeyDown,
380
- onMenuKeyDown = props.onMenuKeyDown,
381
- onMenuPressEnter = props.onMenuPressEnter,
382
- onMenuPressBackspace = props.onMenuPressBackspace;
383
- var handleClose = (0, _utils.useEventCallback)(function () {
384
- var _trigger$current, _trigger$current$clos, _trigger$current2, _trigger$current2$foc;
385
- (_trigger$current = trigger.current) === null || _trigger$current === void 0 ? void 0 : (_trigger$current$clos = _trigger$current.close) === null || _trigger$current$clos === void 0 ? void 0 : _trigger$current$clos.call(_trigger$current);
386
-
387
- // The focus is on the trigger button after closing
388
- (_trigger$current2 = trigger.current) === null || _trigger$current2 === void 0 ? void 0 : (_trigger$current2$foc = _trigger$current2.focus) === null || _trigger$current2$foc === void 0 ? void 0 : _trigger$current2$foc.call(_trigger$current2);
389
- onClose === null || onClose === void 0 ? void 0 : onClose();
390
- });
391
- var handleOpen = (0, _utils.useEventCallback)(function () {
392
- var _trigger$current3, _trigger$current3$ope;
393
- (_trigger$current3 = trigger.current) === null || _trigger$current3 === void 0 ? void 0 : (_trigger$current3$ope = _trigger$current3.open) === null || _trigger$current3$ope === void 0 ? void 0 : _trigger$current3$ope.call(_trigger$current3);
394
- onOpen === null || onOpen === void 0 ? void 0 : onOpen();
395
- });
396
- var handleToggleDropdown = (0, _utils.useEventCallback)(function () {
397
- if (active) {
398
- handleClose();
399
- return;
400
- }
401
- handleOpen();
402
- });
403
- var onToggle = (0, _utils.useEventCallback)(function (event) {
404
- // Keyboard events should not be processed when readOnly and disabled are set.
405
- if (readOnly || disabled || loading) {
406
- return;
407
- }
408
- if (event.target === (target === null || target === void 0 ? void 0 : target.current)) {
409
- // enter
410
- if (toggle && event.key === _utils.KEY_VALUES.ENTER) {
411
- handleToggleDropdown();
412
- }
413
-
414
- // delete
415
- if (event.key === _utils.KEY_VALUES.BACKSPACE) {
416
- onExit === null || onExit === void 0 ? void 0 : onExit(event);
417
- }
418
- }
419
- if (overlay !== null && overlay !== void 0 && overlay.current) {
420
- // The keyboard operation callback on the menu.
421
- onMenuKeyDown === null || onMenuKeyDown === void 0 ? void 0 : onMenuKeyDown(event);
422
- if (event.key === _utils.KEY_VALUES.ENTER) {
423
- onMenuPressEnter === null || onMenuPressEnter === void 0 ? void 0 : onMenuPressEnter(event);
424
- }
425
-
426
- /**
427
- * There is no callback when typing the Backspace key in the search box.
428
- * The default is to remove search keywords
429
- */
430
- if (event.key === _utils.KEY_VALUES.BACKSPACE && event.target !== (searchInput === null || searchInput === void 0 ? void 0 : searchInput.current)) {
431
- onMenuPressBackspace === null || onMenuPressBackspace === void 0 ? void 0 : onMenuPressBackspace(event);
432
- }
433
-
434
- // The search box gets focus when typing characters and numbers.
435
- if (event.key.length === 1 && /\w/.test(event.key)) {
436
- var _event$target;
437
- // Exclude Input
438
- // eg: <SelectPicker renderExtraFooter={() => <Input />} />
439
- if (((_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.tagName) !== 'INPUT') {
440
- var _searchInput$current;
441
- searchInput === null || searchInput === void 0 ? void 0 : (_searchInput$current = searchInput.current) === null || _searchInput$current === void 0 ? void 0 : _searchInput$current.focus();
442
- }
443
- }
444
- }
445
- if (event.key === _utils.KEY_VALUES.ESC || event.key === _utils.KEY_VALUES.TAB) {
446
- handleClose();
447
- }
448
-
449
- // Native event callback
450
- onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(event);
451
- });
452
- return onToggle;
453
- };
454
- exports.useToggleKeyDownEvent = useToggleKeyDownEvent;
455
- /**
456
- * A hook that handles search filter options
457
- */
458
- function useSearch(data, props) {
459
- var labelKey = props.labelKey,
460
- searchBy = props.searchBy,
461
- callback = props.callback; // Use search keywords to filter options.
462
- var _useState4 = (0, _react.useState)(''),
463
- searchKeyword = _useState4[0],
464
- setSearchKeyword = _useState4[1];
465
- var resetSearch = (0, _react.useCallback)(function () {
466
- setSearchKeyword('');
467
- }, []);
468
-
469
- /**
470
- * Index of keyword in `label`
471
- * @param {node} label
472
- */
473
- var checkShouldDisplay = (0, _react.useCallback)(function (item, keyword) {
474
- var checkValue = typeof item === 'object' ? item === null || item === void 0 ? void 0 : item[labelKey] : String(item);
475
- var _keyword = (0, _isUndefined.default)(keyword) ? searchKeyword : keyword;
476
- if (typeof searchBy === 'function') {
477
- return searchBy(_keyword, checkValue, item);
478
- }
479
- return shouldDisplay(checkValue, _keyword);
480
- }, [labelKey, searchBy, searchKeyword]);
481
- var filteredData = (0, _react.useMemo)(function () {
482
- return data.filter(function (item) {
483
- return checkShouldDisplay(item, searchKeyword);
484
- });
485
- }, [checkShouldDisplay, data, searchKeyword]);
486
- var handleSearch = function handleSearch(searchKeyword, event) {
487
- var filteredData = data.filter(function (item) {
488
- return checkShouldDisplay(item, searchKeyword);
489
- });
490
- setSearchKeyword(searchKeyword);
491
- callback === null || callback === void 0 ? void 0 : callback(searchKeyword, filteredData, event);
492
- };
493
- return {
494
- searchKeyword: searchKeyword,
495
- filteredData: filteredData,
496
- checkShouldDisplay: checkShouldDisplay,
497
- handleSearch: handleSearch,
498
- resetSearch: resetSearch
499
- };
500
- }
@@ -1,59 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import { ListProps, ListHandle } from '../Windowing';
4
- import { StandardProps, ItemDataType } from '../@types/common';
5
- export interface DropdownMenuProps<Multiple = false> extends StandardProps, Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> {
6
- classPrefix: string;
7
- data?: ItemDataType[];
8
- group?: boolean;
9
- groupBy?: string;
10
- disabledItemValues?: any[];
11
- activeItemValues?: any[];
12
- focusItemValue?: any;
13
- maxHeight?: number;
14
- valueKey?: string;
15
- labelKey?: string;
16
- className?: string;
17
- style?: React.CSSProperties;
18
- dropdownMenuItemAs: React.ElementType | string;
19
- dropdownMenuItemClassPrefix?: string;
20
- dropdownMenuItemProps?: any;
21
- rowHeight?: number;
22
- rowGroupHeight?: number;
23
- virtualized?: boolean;
24
- listProps?: Partial<ListProps>;
25
- listRef?: React.Ref<ListHandle>;
26
- /** Custom selected option */
27
- renderMenuItem?: (itemLabel: React.ReactNode, item: any) => React.ReactNode;
28
- renderMenuGroup?: (title: React.ReactNode, item: any) => React.ReactNode;
29
- 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;
30
- onGroupTitleClick?: (event: React.MouseEvent) => void;
31
- }
32
- export declare type DropdownMenuComponent = React.ForwardRefExoticComponent<DropdownMenuProps> & {
33
- <Multiple = false>(props: DropdownMenuProps<Multiple>): React.ReactElement | null;
34
- };
35
- declare const DropdownMenu: DropdownMenuComponent;
36
- export declare const dropdownMenuPropTypes: {
37
- classPrefix: PropTypes.Validator<string>;
38
- className: PropTypes.Requireable<string>;
39
- dropdownMenuItemAs: PropTypes.Validator<PropTypes.ReactComponentLike>;
40
- dropdownMenuItemClassPrefix: PropTypes.Requireable<string>;
41
- data: PropTypes.Requireable<any[]>;
42
- group: PropTypes.Requireable<boolean>;
43
- disabledItemValues: PropTypes.Requireable<any[]>;
44
- activeItemValues: PropTypes.Requireable<any[]>;
45
- focusItemValue: PropTypes.Requireable<any>;
46
- maxHeight: PropTypes.Requireable<number>;
47
- valueKey: PropTypes.Requireable<string>;
48
- labelKey: PropTypes.Requireable<string>;
49
- style: PropTypes.Requireable<object>;
50
- renderMenuItem: PropTypes.Requireable<(...args: any[]) => any>;
51
- renderMenuGroup: PropTypes.Requireable<(...args: any[]) => any>;
52
- onSelect: PropTypes.Requireable<(...args: any[]) => any>;
53
- onGroupTitleClick: PropTypes.Requireable<(...args: any[]) => any>;
54
- virtualized: PropTypes.Requireable<boolean>;
55
- listProps: PropTypes.Requireable<any>;
56
- rowHeight: PropTypes.Requireable<number>;
57
- rowGroupHeight: PropTypes.Requireable<number>;
58
- };
59
- export default DropdownMenu;
@@ -1,6 +0,0 @@
1
- import React from 'react';
2
- import { WithAsProps } from '../@types/common';
3
- export interface DropdownMenuGroupProps extends WithAsProps, React.HTMLAttributes<HTMLDivElement> {
4
- }
5
- declare const DropdownMenuGroup: React.ForwardRefExoticComponent<DropdownMenuGroupProps & React.RefAttributes<HTMLDivElement>>;
6
- export default DropdownMenuGroup;