rsuite 5.0.0 → 5.1.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 (365) hide show
  1. package/CHANGELOG.md +67 -6
  2. package/Grid/styles/index.less +1 -2
  3. package/IconButton/styles/index.less +1 -1
  4. package/MaskedInput/package.json +7 -0
  5. package/MultiCascader/styles/index.less +3 -0
  6. package/Navbar/styles/index.less +8 -0
  7. package/Picker/styles/index.less +1 -1
  8. package/Picker/styles/mixin.less +1 -1
  9. package/README.md +16 -10
  10. package/Sidenav/styles/index.less +13 -16
  11. package/Toggle/styles/index.less +20 -0
  12. package/Toggle/styles/mixin.less +12 -0
  13. package/Uploader/styles/index.less +10 -1
  14. package/cjs/@types/common.d.ts +0 -1
  15. package/cjs/Animation/Collapse.js +8 -8
  16. package/cjs/AutoComplete/AutoComplete.js +10 -14
  17. package/cjs/Badge/Badge.js +6 -10
  18. package/cjs/Breadcrumb/Breadcrumb.js +8 -12
  19. package/cjs/Breadcrumb/BreadcrumbItem.js +4 -8
  20. package/cjs/Button/Button.js +6 -10
  21. package/cjs/ButtonGroup/ButtonGroup.js +6 -10
  22. package/cjs/Calendar/Calendar.js +4 -8
  23. package/cjs/Calendar/CalendarPanel.js +6 -10
  24. package/cjs/Calendar/Header.js +4 -8
  25. package/cjs/Calendar/MonthDropdown.js +10 -14
  26. package/cjs/Calendar/MonthDropdownItem.js +6 -10
  27. package/cjs/Calendar/Table.js +6 -10
  28. package/cjs/Calendar/TableHeaderRow.js +4 -7
  29. package/cjs/Calendar/TableRow.js +7 -11
  30. package/cjs/Calendar/TimeDropdown.js +4 -8
  31. package/cjs/Calendar/View.js +4 -8
  32. package/cjs/Carousel/Carousel.js +10 -14
  33. package/cjs/Cascader/Cascader.js +29 -26
  34. package/cjs/Cascader/DropdownMenu.js +19 -21
  35. package/cjs/CheckPicker/CheckPicker.js +33 -29
  36. package/cjs/CheckTreePicker/CheckTreeNode.js +4 -6
  37. package/cjs/CheckTreePicker/CheckTreePicker.js +47 -35
  38. package/cjs/Checkbox/Checkbox.js +8 -13
  39. package/cjs/CheckboxGroup/CheckboxGroup.d.ts +1 -12
  40. package/cjs/CheckboxGroup/CheckboxGroup.js +7 -13
  41. package/cjs/CheckboxGroup/CheckboxGroupContext.d.ts +13 -0
  42. package/cjs/CheckboxGroup/CheckboxGroupContext.js +12 -0
  43. package/cjs/CheckboxGroup/index.d.ts +4 -3
  44. package/cjs/CheckboxGroup/index.js +6 -4
  45. package/cjs/Col/Col.js +3 -2
  46. package/cjs/Container/Container.js +4 -7
  47. package/cjs/DOMHelper/index.d.ts +1 -1
  48. package/cjs/DatePicker/DatePicker.js +27 -22
  49. package/cjs/DatePicker/Toolbar.js +4 -8
  50. package/cjs/DateRangePicker/Calendar.js +12 -14
  51. package/cjs/DateRangePicker/DateRangePicker.js +40 -33
  52. package/cjs/Divider/Divider.js +4 -8
  53. package/cjs/Drawer/Drawer.js +8 -10
  54. package/cjs/Dropdown/Dropdown.js +8 -12
  55. package/cjs/Dropdown/DropdownItem.js +25 -22
  56. package/cjs/Dropdown/DropdownMenu.js +2 -6
  57. package/cjs/Dropdown/DropdownToggle.js +4 -8
  58. package/cjs/FlexboxGrid/FlexboxGrid.js +8 -12
  59. package/cjs/FlexboxGrid/FlexboxGridItem.js +8 -12
  60. package/cjs/Form/Form.js +12 -16
  61. package/cjs/FormControl/FormControl.js +6 -2
  62. package/cjs/IconButton/IconButton.js +4 -8
  63. package/cjs/Input/Input.js +6 -10
  64. package/cjs/InputNumber/InputNumber.js +14 -18
  65. package/cjs/InputPicker/InputAutosize.js +2 -4
  66. package/cjs/InputPicker/InputPicker.js +32 -30
  67. package/cjs/List/List.js +12 -16
  68. package/cjs/List/ListItem.js +6 -10
  69. package/cjs/Loader/Loader.js +6 -10
  70. package/cjs/MaskedInput/MaskedInput.d.ts +43 -0
  71. package/cjs/MaskedInput/MaskedInput.js +80 -0
  72. package/cjs/MaskedInput/adjustCaretPosition.d.ts +11 -0
  73. package/cjs/MaskedInput/adjustCaretPosition.js +218 -0
  74. package/cjs/MaskedInput/conformToMask.d.ts +8 -0
  75. package/cjs/MaskedInput/conformToMask.js +247 -0
  76. package/cjs/MaskedInput/createTextMaskInputElement.d.ts +7 -0
  77. package/cjs/MaskedInput/createTextMaskInputElement.js +226 -0
  78. package/cjs/MaskedInput/index.d.ts +3 -0
  79. package/cjs/MaskedInput/index.js +11 -0
  80. package/cjs/MaskedInput/types.d.ts +10 -0
  81. package/cjs/{@types/icons.js → MaskedInput/types.js} +0 -0
  82. package/cjs/MaskedInput/utilities.d.ts +7 -0
  83. package/cjs/MaskedInput/utilities.js +47 -0
  84. package/cjs/Menu/Menu.d.ts +0 -1
  85. package/cjs/Menu/Menu.js +3 -5
  86. package/cjs/Message/Message.js +8 -12
  87. package/cjs/Modal/Modal.d.ts +1 -10
  88. package/cjs/Modal/Modal.js +35 -27
  89. package/cjs/Modal/ModalBody.js +6 -10
  90. package/cjs/Modal/ModalContext.d.ts +12 -0
  91. package/cjs/Modal/ModalContext.js +12 -0
  92. package/cjs/Modal/ModalDialog.js +8 -8
  93. package/cjs/Modal/ModalHeader.js +8 -12
  94. package/cjs/Modal/ModalTitle.d.ts +3 -2
  95. package/cjs/Modal/ModalTitle.js +43 -4
  96. package/cjs/MultiCascader/DropdownMenu.js +21 -23
  97. package/cjs/MultiCascader/MultiCascader.js +35 -32
  98. package/cjs/Nav/Nav.js +6 -10
  99. package/cjs/Navbar/Navbar.js +6 -9
  100. package/cjs/Notification/Notification.js +6 -10
  101. package/cjs/Overlay/Modal.js +11 -18
  102. package/cjs/Overlay/Overlay.js +2 -5
  103. package/cjs/Overlay/OverlayTrigger.js +9 -9
  104. package/cjs/Overlay/Position.js +4 -8
  105. package/cjs/Overlay/positionUtils.js +1 -1
  106. package/cjs/Pagination/Pagination.js +10 -13
  107. package/cjs/Pagination/PaginationButton.js +4 -8
  108. package/cjs/Pagination/PaginationGroup.js +11 -12
  109. package/cjs/Panel/Panel.js +6 -10
  110. package/cjs/PanelGroup/PanelGroup.js +4 -8
  111. package/cjs/Picker/DropdownMenu.js +2 -3
  112. package/cjs/Picker/DropdownMenuGroup.js +4 -8
  113. package/cjs/Picker/DropdownMenuItem.js +4 -8
  114. package/cjs/Picker/PickerToggle.js +15 -14
  115. package/cjs/Picker/propTypes.d.ts +2 -16
  116. package/cjs/Picker/propTypes.js +4 -17
  117. package/cjs/Picker/utils.js +14 -9
  118. package/cjs/Placeholder/PlaceholderGraph.js +6 -10
  119. package/cjs/Placeholder/PlaceholderGrid.js +12 -16
  120. package/cjs/Placeholder/PlaceholderParagraph.js +10 -14
  121. package/cjs/Popover/Popover.js +4 -8
  122. package/cjs/Progress/ProgressCircle.js +18 -22
  123. package/cjs/Progress/ProgressLine.js +8 -12
  124. package/cjs/Radio/Radio.js +6 -11
  125. package/cjs/RadioGroup/RadioGroup.js +6 -9
  126. package/cjs/RangeSlider/RangeSlider.js +17 -20
  127. package/cjs/Rate/Character.js +4 -7
  128. package/cjs/Rate/Rate.js +14 -18
  129. package/cjs/Ripple/Ripple.js +4 -8
  130. package/cjs/SelectPicker/SelectPicker.js +31 -28
  131. package/cjs/Sidebar/Sidebar.js +6 -10
  132. package/cjs/Sidenav/Sidenav.js +8 -11
  133. package/cjs/Sidenav/SidenavDropdown.d.ts +6 -1
  134. package/cjs/Sidenav/SidenavDropdown.js +19 -19
  135. package/cjs/Sidenav/SidenavDropdownCollapse.js +2 -6
  136. package/cjs/Sidenav/SidenavDropdownItem.js +4 -8
  137. package/cjs/Sidenav/SidenavDropdownMenu.js +4 -8
  138. package/cjs/Sidenav/SidenavToggle.js +4 -8
  139. package/cjs/Slider/Graduated.js +4 -8
  140. package/cjs/Slider/Handle.d.ts +2 -0
  141. package/cjs/Slider/Handle.js +23 -12
  142. package/cjs/Slider/Input.d.ts +3 -0
  143. package/cjs/Slider/Input.js +35 -0
  144. package/cjs/Slider/Mark.js +4 -8
  145. package/cjs/Slider/ProgressBar.js +4 -8
  146. package/cjs/Slider/Slider.d.ts +0 -3
  147. package/cjs/Slider/Slider.js +14 -22
  148. package/cjs/Steps/StepItem.js +4 -7
  149. package/cjs/Steps/Steps.js +8 -12
  150. package/cjs/Table/Table.d.ts +7 -7
  151. package/cjs/Table/Table.js +5 -5
  152. package/cjs/TagInput/index.js +4 -6
  153. package/cjs/TagPicker/index.d.ts +1 -1
  154. package/cjs/TagPicker/index.js +4 -6
  155. package/cjs/Timeline/Timeline.js +6 -11
  156. package/cjs/Timeline/TimelineItem.js +4 -8
  157. package/cjs/Toggle/Toggle.d.ts +2 -0
  158. package/cjs/Toggle/Toggle.js +27 -13
  159. package/cjs/Tooltip/Tooltip.js +4 -8
  160. package/cjs/Tree/Tree.d.ts +6 -0
  161. package/cjs/TreePicker/TreeNode.js +4 -6
  162. package/cjs/TreePicker/TreePicker.js +38 -29
  163. package/cjs/Uploader/UploadFileItem.d.ts +1 -0
  164. package/cjs/Uploader/UploadFileItem.js +42 -33
  165. package/cjs/Uploader/UploadTrigger.js +4 -8
  166. package/cjs/Uploader/Uploader.d.ts +2 -0
  167. package/cjs/Uploader/Uploader.js +28 -29
  168. package/cjs/index.d.ts +2 -0
  169. package/cjs/index.js +5 -1
  170. package/cjs/locales/fa_IR.d.ts +105 -0
  171. package/cjs/locales/fa_IR.js +84 -0
  172. package/cjs/locales/index.d.ts +1 -0
  173. package/cjs/locales/index.js +6 -2
  174. package/cjs/toaster/ToastContainer.js +6 -10
  175. package/cjs/utils/createComponent.d.ts +1 -2
  176. package/cjs/utils/createComponent.js +10 -13
  177. package/cjs/utils/previewFile.d.ts +1 -0
  178. package/cjs/utils/previewFile.js +11 -0
  179. package/cjs/utils/useUniqueId.d.ts +3 -1
  180. package/cjs/utils/useUniqueId.js +4 -2
  181. package/dist/rsuite-rtl.css +115 -44
  182. package/dist/rsuite-rtl.min.css +1 -1
  183. package/dist/rsuite-rtl.min.css.map +1 -1
  184. package/dist/rsuite.css +115 -44
  185. package/dist/rsuite.js +233 -144
  186. package/dist/rsuite.js.map +1 -1
  187. package/dist/rsuite.min.css +1 -1
  188. package/dist/rsuite.min.css.map +1 -1
  189. package/dist/rsuite.min.js +1 -1
  190. package/dist/rsuite.min.js.map +1 -1
  191. package/esm/@types/common.d.ts +0 -1
  192. package/esm/Animation/Collapse.js +8 -8
  193. package/esm/AutoComplete/AutoComplete.js +11 -14
  194. package/esm/Badge/Badge.js +6 -9
  195. package/esm/Breadcrumb/Breadcrumb.js +8 -11
  196. package/esm/Breadcrumb/BreadcrumbItem.js +4 -7
  197. package/esm/Button/Button.js +6 -9
  198. package/esm/ButtonGroup/ButtonGroup.js +6 -9
  199. package/esm/Calendar/Calendar.js +4 -7
  200. package/esm/Calendar/CalendarPanel.js +6 -9
  201. package/esm/Calendar/Header.js +4 -7
  202. package/esm/Calendar/MonthDropdown.js +10 -13
  203. package/esm/Calendar/MonthDropdownItem.js +6 -9
  204. package/esm/Calendar/Table.js +6 -9
  205. package/esm/Calendar/TableHeaderRow.js +4 -7
  206. package/esm/Calendar/TableRow.js +7 -10
  207. package/esm/Calendar/TimeDropdown.js +4 -7
  208. package/esm/Calendar/View.js +4 -7
  209. package/esm/Carousel/Carousel.js +10 -13
  210. package/esm/Cascader/Cascader.js +29 -26
  211. package/esm/Cascader/DropdownMenu.js +19 -21
  212. package/esm/CheckPicker/CheckPicker.js +33 -29
  213. package/esm/CheckTreePicker/CheckTreeNode.js +4 -6
  214. package/esm/CheckTreePicker/CheckTreePicker.js +47 -37
  215. package/esm/Checkbox/Checkbox.js +8 -12
  216. package/esm/CheckboxGroup/CheckboxGroup.d.ts +1 -12
  217. package/esm/CheckboxGroup/CheckboxGroup.js +5 -8
  218. package/esm/CheckboxGroup/CheckboxGroupContext.d.ts +13 -0
  219. package/esm/CheckboxGroup/CheckboxGroupContext.js +2 -0
  220. package/esm/CheckboxGroup/index.d.ts +4 -3
  221. package/esm/CheckboxGroup/index.js +2 -2
  222. package/esm/Col/Col.js +3 -2
  223. package/esm/Container/Container.js +4 -7
  224. package/esm/DOMHelper/index.d.ts +1 -1
  225. package/esm/DatePicker/DatePicker.js +27 -23
  226. package/esm/DatePicker/Toolbar.js +5 -8
  227. package/esm/DateRangePicker/Calendar.js +12 -13
  228. package/esm/DateRangePicker/DateRangePicker.js +40 -34
  229. package/esm/Divider/Divider.js +4 -7
  230. package/esm/Drawer/Drawer.js +8 -9
  231. package/esm/Dropdown/Dropdown.js +9 -12
  232. package/esm/Dropdown/DropdownItem.js +26 -22
  233. package/esm/Dropdown/DropdownMenu.js +3 -6
  234. package/esm/Dropdown/DropdownToggle.js +4 -7
  235. package/esm/FlexboxGrid/FlexboxGrid.js +8 -11
  236. package/esm/FlexboxGrid/FlexboxGridItem.js +8 -11
  237. package/esm/Form/Form.js +12 -15
  238. package/esm/FormControl/FormControl.js +6 -2
  239. package/esm/IconButton/IconButton.js +4 -7
  240. package/esm/Input/Input.js +6 -9
  241. package/esm/InputNumber/InputNumber.js +14 -17
  242. package/esm/InputPicker/InputAutosize.js +2 -4
  243. package/esm/InputPicker/InputPicker.js +32 -30
  244. package/esm/List/List.js +12 -15
  245. package/esm/List/ListItem.js +6 -9
  246. package/esm/Loader/Loader.js +6 -9
  247. package/esm/MaskedInput/MaskedInput.d.ts +43 -0
  248. package/esm/MaskedInput/MaskedInput.js +67 -0
  249. package/esm/MaskedInput/adjustCaretPosition.d.ts +11 -0
  250. package/esm/MaskedInput/adjustCaretPosition.js +213 -0
  251. package/esm/MaskedInput/conformToMask.d.ts +8 -0
  252. package/esm/MaskedInput/conformToMask.js +239 -0
  253. package/esm/MaskedInput/createTextMaskInputElement.d.ts +7 -0
  254. package/esm/MaskedInput/createTextMaskInputElement.js +212 -0
  255. package/esm/MaskedInput/index.d.ts +3 -0
  256. package/esm/MaskedInput/index.js +2 -0
  257. package/esm/MaskedInput/types.d.ts +10 -0
  258. package/esm/{@types/icons.js → MaskedInput/types.js} +0 -0
  259. package/esm/MaskedInput/utilities.d.ts +7 -0
  260. package/esm/MaskedInput/utilities.js +38 -0
  261. package/esm/Menu/Menu.d.ts +0 -1
  262. package/esm/Menu/Menu.js +3 -5
  263. package/esm/Message/Message.js +8 -11
  264. package/esm/Modal/Modal.d.ts +1 -10
  265. package/esm/Modal/Modal.js +31 -21
  266. package/esm/Modal/ModalBody.js +5 -8
  267. package/esm/Modal/ModalContext.d.ts +12 -0
  268. package/esm/Modal/ModalContext.js +2 -0
  269. package/esm/Modal/ModalDialog.js +8 -8
  270. package/esm/Modal/ModalHeader.js +7 -10
  271. package/esm/Modal/ModalTitle.d.ts +3 -2
  272. package/esm/Modal/ModalTitle.js +35 -4
  273. package/esm/MultiCascader/DropdownMenu.js +21 -23
  274. package/esm/MultiCascader/MultiCascader.js +35 -32
  275. package/esm/Nav/Nav.js +6 -9
  276. package/esm/Navbar/Navbar.js +6 -9
  277. package/esm/Notification/Notification.js +6 -9
  278. package/esm/Overlay/Modal.js +11 -18
  279. package/esm/Overlay/Overlay.js +2 -5
  280. package/esm/Overlay/OverlayTrigger.js +9 -9
  281. package/esm/Overlay/Position.js +4 -7
  282. package/esm/Overlay/positionUtils.js +1 -1
  283. package/esm/Pagination/Pagination.js +10 -13
  284. package/esm/Pagination/PaginationButton.js +4 -7
  285. package/esm/Pagination/PaginationGroup.js +10 -11
  286. package/esm/Panel/Panel.js +6 -9
  287. package/esm/PanelGroup/PanelGroup.js +4 -7
  288. package/esm/Picker/DropdownMenu.js +2 -3
  289. package/esm/Picker/DropdownMenuGroup.js +4 -7
  290. package/esm/Picker/DropdownMenuItem.js +4 -7
  291. package/esm/Picker/PickerToggle.js +13 -12
  292. package/esm/Picker/propTypes.d.ts +2 -16
  293. package/esm/Picker/propTypes.js +2 -13
  294. package/esm/Picker/utils.js +14 -9
  295. package/esm/Placeholder/PlaceholderGraph.js +6 -9
  296. package/esm/Placeholder/PlaceholderGrid.js +12 -15
  297. package/esm/Placeholder/PlaceholderParagraph.js +10 -13
  298. package/esm/Popover/Popover.js +4 -7
  299. package/esm/Progress/ProgressCircle.js +18 -21
  300. package/esm/Progress/ProgressLine.js +8 -11
  301. package/esm/Radio/Radio.js +6 -10
  302. package/esm/RadioGroup/RadioGroup.js +6 -9
  303. package/esm/RangeSlider/RangeSlider.js +17 -20
  304. package/esm/Rate/Character.js +4 -7
  305. package/esm/Rate/Rate.js +14 -17
  306. package/esm/Ripple/Ripple.js +4 -7
  307. package/esm/SelectPicker/SelectPicker.js +31 -28
  308. package/esm/Sidebar/Sidebar.js +6 -9
  309. package/esm/Sidenav/Sidenav.js +8 -11
  310. package/esm/Sidenav/SidenavDropdown.d.ts +6 -1
  311. package/esm/Sidenav/SidenavDropdown.js +19 -18
  312. package/esm/Sidenav/SidenavDropdownCollapse.js +2 -5
  313. package/esm/Sidenav/SidenavDropdownItem.js +5 -8
  314. package/esm/Sidenav/SidenavDropdownMenu.js +5 -8
  315. package/esm/Sidenav/SidenavToggle.js +4 -7
  316. package/esm/Slider/Graduated.js +4 -7
  317. package/esm/Slider/Handle.d.ts +2 -0
  318. package/esm/Slider/Handle.js +23 -12
  319. package/esm/Slider/Input.d.ts +3 -0
  320. package/esm/Slider/Input.js +23 -0
  321. package/esm/Slider/Mark.js +4 -7
  322. package/esm/Slider/ProgressBar.js +4 -7
  323. package/esm/Slider/Slider.d.ts +0 -3
  324. package/esm/Slider/Slider.js +14 -22
  325. package/esm/Steps/StepItem.js +4 -7
  326. package/esm/Steps/Steps.js +8 -11
  327. package/esm/Table/Table.d.ts +7 -7
  328. package/esm/Table/Table.js +5 -5
  329. package/esm/TagInput/index.js +4 -6
  330. package/esm/TagPicker/index.d.ts +1 -1
  331. package/esm/TagPicker/index.js +4 -6
  332. package/esm/Timeline/Timeline.js +6 -10
  333. package/esm/Timeline/TimelineItem.js +4 -7
  334. package/esm/Toggle/Toggle.d.ts +2 -0
  335. package/esm/Toggle/Toggle.js +27 -13
  336. package/esm/Tooltip/Tooltip.js +4 -7
  337. package/esm/Tree/Tree.d.ts +6 -0
  338. package/esm/TreePicker/TreeNode.js +4 -6
  339. package/esm/TreePicker/TreePicker.js +38 -31
  340. package/esm/Uploader/UploadFileItem.d.ts +1 -0
  341. package/esm/Uploader/UploadFileItem.js +42 -33
  342. package/esm/Uploader/UploadTrigger.js +4 -7
  343. package/esm/Uploader/Uploader.d.ts +2 -0
  344. package/esm/Uploader/Uploader.js +28 -28
  345. package/esm/index.d.ts +2 -0
  346. package/esm/index.js +1 -0
  347. package/esm/locales/fa_IR.d.ts +105 -0
  348. package/esm/locales/fa_IR.js +74 -0
  349. package/esm/locales/index.d.ts +1 -0
  350. package/esm/locales/index.js +2 -1
  351. package/esm/toaster/ToastContainer.js +6 -9
  352. package/esm/utils/createComponent.d.ts +1 -2
  353. package/esm/utils/createComponent.js +10 -13
  354. package/esm/utils/previewFile.d.ts +1 -0
  355. package/esm/utils/previewFile.js +9 -0
  356. package/esm/utils/useUniqueId.d.ts +3 -1
  357. package/esm/utils/useUniqueId.js +4 -2
  358. package/locales/fa_IR/package.json +7 -0
  359. package/package.json +6 -8
  360. package/styles/color-modes/dark.less +1 -0
  361. package/styles/color-modes/high-contrast.less +1 -0
  362. package/styles/color-modes/light.less +3 -0
  363. package/styles/variables.less +3 -1
  364. package/cjs/@types/icons.d.ts +0 -1
  365. package/esm/@types/icons.d.ts +0 -1
@@ -1,5 +1,5 @@
1
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
3
  import React, { useCallback, useMemo, useRef, useState } from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  import mapValues from 'lodash/mapValues';
@@ -11,33 +11,33 @@ import { Calendar, CalendarState } from '../Calendar';
11
11
  import useCalendarDate from '../Calendar/useCalendarDate';
12
12
  import Toolbar from './Toolbar';
13
13
  import { composeFunctions, createChainedFunction, DateUtils, mergeRefs, useClassNames, useControlled, useCustom } from '../utils';
14
- import { PickerOverlay, pickerDefaultProps, pickerPropTypes, PickerToggle, PickerToggleTrigger, pickTriggerPropKeys, omitTriggerPropKeys, usePickerClassName, usePublicMethods, useToggleKeyDownEvent } from '../Picker';
14
+ import { PickerOverlay, pickerPropTypes, PickerToggle, PickerToggleTrigger, pickTriggerPropKeys, omitTriggerPropKeys, usePickerClassName, usePublicMethods, useToggleKeyDownEvent } from '../Picker';
15
15
  import { useCalendarState } from './utils';
16
-
17
- var defaultProps = _extends({}, pickerDefaultProps, {
18
- as: 'div',
19
- classPrefix: 'picker',
20
- format: 'yyyy-MM-dd',
21
- limitEndYear: 1000,
22
- placeholder: ''
23
- });
24
-
25
16
  var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
26
- var Component = props.as,
17
+ var _props$as = props.as,
18
+ Component = _props$as === void 0 ? 'div' : _props$as,
27
19
  className = props.className,
28
- classPrefix = props.classPrefix,
20
+ _props$classPrefix = props.classPrefix,
21
+ classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,
29
22
  calendarDefaultDate = props.calendarDefaultDate,
30
- cleanable = props.cleanable,
23
+ _props$cleanable = props.cleanable,
24
+ cleanable = _props$cleanable === void 0 ? true : _props$cleanable,
31
25
  defaultValue = props.defaultValue,
32
26
  disabled = props.disabled,
33
- formatStr = props.format,
27
+ _props$format = props.format,
28
+ formatStr = _props$format === void 0 ? 'yyyy-MM-dd' : _props$format,
34
29
  isoWeek = props.isoWeek,
35
- limitEndYear = props.limitEndYear,
30
+ _props$limitEndYear = props.limitEndYear,
31
+ limitEndYear = _props$limitEndYear === void 0 ? 1000 : _props$limitEndYear,
36
32
  overrideLocale = props.locale,
37
33
  menuClassName = props.menuClassName,
38
- placement = props.placement,
34
+ _props$appearance = props.appearance,
35
+ appearance = _props$appearance === void 0 ? 'default' : _props$appearance,
36
+ _props$placement = props.placement,
37
+ placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,
39
38
  oneTap = props.oneTap,
40
- placeholder = props.placeholder,
39
+ _props$placeholder = props.placeholder,
40
+ placeholder = _props$placeholder === void 0 ? '' : _props$placeholder,
41
41
  ranges = props.ranges,
42
42
  valueProp = props.value,
43
43
  showMeridian = props.showMeridian,
@@ -59,7 +59,7 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
59
59
  onSelect = props.onSelect,
60
60
  onToggleMonthDropdown = props.onToggleMonthDropdown,
61
61
  onToggleTimeDropdown = props.onToggleTimeDropdown,
62
- rest = _objectWithoutPropertiesLoose(props, ["as", "className", "classPrefix", "calendarDefaultDate", "cleanable", "defaultValue", "disabled", "format", "isoWeek", "limitEndYear", "locale", "menuClassName", "placement", "oneTap", "placeholder", "ranges", "value", "showMeridian", "showWeekNumbers", "style", "toggleAs", "disabledDate", "renderValue", "onChange", "onChangeCalendarDate", "onClean", "onClose", "onEntered", "onExited", "onNextMonth", "onOk", "onOpen", "onPrevMonth", "onSelect", "onToggleMonthDropdown", "onToggleTimeDropdown"]);
62
+ rest = _objectWithoutPropertiesLoose(props, ["as", "className", "classPrefix", "calendarDefaultDate", "cleanable", "defaultValue", "disabled", "format", "isoWeek", "limitEndYear", "locale", "menuClassName", "appearance", "placement", "oneTap", "placeholder", "ranges", "value", "showMeridian", "showWeekNumbers", "style", "toggleAs", "disabledDate", "renderValue", "onChange", "onChangeCalendarDate", "onClean", "onClose", "onEntered", "onExited", "onNextMonth", "onOk", "onOpen", "onPrevMonth", "onSelect", "onToggleMonthDropdown", "onToggleTimeDropdown"]);
63
63
 
64
64
  var _useCustom = useCustom('DatePicker', overrideLocale),
65
65
  locale = _useCustom.locale,
@@ -301,7 +301,7 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
301
301
  * The callback after the enter key is triggered on the input
302
302
  */
303
303
 
304
- var handleInputBlur = useCallback(function (event) {
304
+ var handleInputPressEnd = useCallback(function (event) {
305
305
  if (inputState === 'Typing') {
306
306
  updateValue(event, calendarDate);
307
307
  }
@@ -385,8 +385,11 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
385
385
  var hasValue = !!value;
386
386
 
387
387
  var _usePickerClassName = usePickerClassName(_extends({}, props, {
388
+ classPrefix: classPrefix,
388
389
  name: 'date',
389
- hasValue: hasValue
390
+ appearance: appearance,
391
+ hasValue: hasValue,
392
+ cleanable: cleanable
390
393
  })),
391
394
  classes = _usePickerClassName[0],
392
395
  usedClassNamePropKeys = _usePickerClassName[1];
@@ -421,12 +424,14 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
421
424
  }),
422
425
  as: toggleAs,
423
426
  ref: targetRef,
427
+ appearance: appearance,
424
428
  input: true,
425
429
  inputValue: value ? formatDate(value, formatStr) : '',
426
430
  inputPlaceholder: typeof placeholder === 'string' && placeholder ? placeholder : formatStr,
427
431
  inputMask: DateUtils.getDateMask(formatStr),
428
432
  onInputChange: handleInputChange,
429
- onInputBlur: handleInputBlur,
433
+ onInputBlur: handleInputPressEnd,
434
+ onInputPressEnter: handleInputPressEnd,
430
435
  onKeyDown: onPickerKeyDown,
431
436
  onClean: createChainedFunction(handleClean, onClean),
432
437
  cleanable: cleanable && !disabled,
@@ -438,7 +443,6 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
438
443
  }), renderDate())));
439
444
  });
440
445
  DatePicker.displayName = 'DatePicker';
441
- DatePicker.defaultProps = defaultProps;
442
446
  DatePicker.propTypes = _extends({}, pickerPropTypes, {
443
447
  calendarDefaultDate: PropTypes.instanceOf(Date),
444
448
  defaultValue: PropTypes.instanceOf(Date),
@@ -5,18 +5,16 @@ import PropTypes from 'prop-types';
5
5
  import Button from '../Button';
6
6
  import { useClassNames, useUpdateEffect } from '../utils';
7
7
  import { getDefaultRanges, getRanges } from './utils';
8
- var defaultProps = {
9
- classPrefix: 'picker-toolbar',
10
- as: 'div'
11
- };
8
+
12
9
  /**
13
10
  * Toolbar for DatePicker and DateRangePicker
14
11
  */
15
-
16
12
  var Toolbar = /*#__PURE__*/React.forwardRef(function (props, ref) {
17
- var Component = props.as,
13
+ var _props$as = props.as,
14
+ Component = _props$as === void 0 ? 'div' : _props$as,
18
15
  className = props.className,
19
- classPrefix = props.classPrefix,
16
+ _props$classPrefix = props.classPrefix,
17
+ classPrefix = _props$classPrefix === void 0 ? 'picker-toolbar' : _props$classPrefix,
20
18
  disabledOkBtn = props.disabledOkBtn,
21
19
  disabledShortcut = props.disabledShortcut,
22
20
  hideOkBtn = props.hideOkBtn,
@@ -108,5 +106,4 @@ Toolbar.propTypes = {
108
106
  disabledOkBtn: PropTypes.func,
109
107
  hideOkButton: PropTypes.bool
110
108
  };
111
- Toolbar.defaultProps = defaultProps;
112
109
  export default Toolbar;
@@ -5,24 +5,23 @@ import React, { useCallback, useState } from 'react';
5
5
  import { addMonths, isAfter, isSameMonth, setDate } from '../utils/dateUtils';
6
6
  import CalendarCore, { CalendarState } from '../Calendar/Calendar';
7
7
  import { DATERANGE_DISABLED_TARGET } from '../utils';
8
- var defaultProps = {
9
- as: CalendarCore,
10
- calendarDate: [new Date(), addMonths(new Date(), 1)],
11
- format: 'yyyy-MM-dd',
12
- index: 0,
13
- value: []
14
- };
15
8
  var Calendar = /*#__PURE__*/React.forwardRef(function (props, ref) {
16
- var Component = props.as,
17
- calendarDate = props.calendarDate,
9
+ var _props$as = props.as,
10
+ Component = _props$as === void 0 ? CalendarCore : _props$as,
11
+ _props$calendarDate = props.calendarDate,
12
+ calendarDate = _props$calendarDate === void 0 ? [new Date(), addMonths(new Date(), 1)] : _props$calendarDate,
13
+ _props$format = props.format,
14
+ format = _props$format === void 0 ? 'yyyy-MM-dd' : _props$format,
18
15
  disabledDate = props.disabledDate,
19
- index = props.index,
16
+ _props$index = props.index,
17
+ index = _props$index === void 0 ? 0 : _props$index,
20
18
  limitEndYear = props.limitEndYear,
21
19
  onChangeCalendarDate = props.onChangeCalendarDate,
22
20
  onChangeCalendarTime = props.onChangeCalendarTime,
23
21
  showOneCalendar = props.showOneCalendar,
24
- value = props.value,
25
- rest = _objectWithoutPropertiesLoose(props, ["as", "calendarDate", "disabledDate", "index", "limitEndYear", "onChangeCalendarDate", "onChangeCalendarTime", "showOneCalendar", "value"]);
22
+ _props$value = props.value,
23
+ value = _props$value === void 0 ? [] : _props$value,
24
+ rest = _objectWithoutPropertiesLoose(props, ["as", "calendarDate", "format", "disabledDate", "index", "limitEndYear", "onChangeCalendarDate", "onChangeCalendarTime", "showOneCalendar", "value"]);
26
25
 
27
26
  var _useState = useState(),
28
27
  calendarState = _useState[0],
@@ -96,6 +95,7 @@ var Calendar = /*#__PURE__*/React.forwardRef(function (props, ref) {
96
95
  return !after;
97
96
  }, [calendarDate, disabledDate, index, showOneCalendar, value]);
98
97
  return /*#__PURE__*/React.createElement(Component, _extends({}, rest, {
98
+ format: format,
99
99
  calendarState: calendarState,
100
100
  dateRange: value,
101
101
  disabledBackward: disabledBackward(),
@@ -115,7 +115,6 @@ var Calendar = /*#__PURE__*/React.forwardRef(function (props, ref) {
115
115
  }));
116
116
  });
117
117
  Calendar.displayName = 'DateRangePicker.Calendar';
118
- Calendar.defaultProps = defaultProps;
119
118
  Calendar.propTypes = {
120
119
  value: PropTypes.arrayOf(PropTypes.instanceOf(Date)),
121
120
  hoverValue: PropTypes.arrayOf(PropTypes.instanceOf(Date)),
@@ -1,5 +1,5 @@
1
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
3
  import IconCalendar from '@rsuite/icons/legacy/Calendar';
4
4
  import isUndefined from 'lodash/isUndefined';
5
5
  import omit from 'lodash/omit';
@@ -9,51 +9,48 @@ import PropTypes from 'prop-types';
9
9
  import React, { useCallback, useEffect, useRef, useState } from 'react';
10
10
  import { FormattedDate } from '../CustomProvider';
11
11
  import Toolbar from '../DatePicker/Toolbar';
12
- import { omitTriggerPropKeys, pickerDefaultProps, PickerOverlay, pickerPropTypes, PickerToggle, PickerToggleTrigger, pickTriggerPropKeys, usePickerClassName, usePublicMethods, useToggleKeyDownEvent } from '../Picker';
12
+ import { omitTriggerPropKeys, PickerOverlay, pickerPropTypes, PickerToggle, PickerToggleTrigger, pickTriggerPropKeys, usePickerClassName, usePublicMethods, useToggleKeyDownEvent } from '../Picker';
13
13
  import { createChainedFunction, DATERANGE_DISABLED_TARGET, DateUtils, mergeRefs, useClassNames, useControlled, useCustom } from '../utils';
14
14
  import { addMonths, compareAsc, isSameMonth } from '../utils/dateUtils';
15
15
  import Calendar from './Calendar';
16
16
  import * as disabledDateUtils from './disabledDateUtils';
17
17
  import { getCalendarDate, getMonthHoverRange, getWeekHoverRange, isSameRange, setTimingMargin } from './utils';
18
-
19
- var defaultProps = _extends({}, pickerDefaultProps, {
20
- as: 'div',
21
- classPrefix: 'picker',
22
- cleanable: true,
23
- placement: 'bottomStart',
24
- appearance: 'default',
25
- format: 'yyyy-MM-dd',
26
- limitEndYear: 1000,
27
- placeholder: '',
28
- showOneCalendar: false,
29
- character: ' ~ '
30
- });
31
-
32
18
  var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
33
19
  var _ref, _merge;
34
20
 
35
- var Component = props.as,
36
- classPrefix = props.classPrefix,
21
+ var _props$as = props.as,
22
+ Component = _props$as === void 0 ? 'div' : _props$as,
23
+ _props$classPrefix = props.classPrefix,
24
+ classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,
37
25
  className = props.className,
38
- cleanable = props.cleanable,
39
- character = props.character,
26
+ _props$appearance = props.appearance,
27
+ appearance = _props$appearance === void 0 ? 'default' : _props$appearance,
28
+ _props$cleanable = props.cleanable,
29
+ cleanable = _props$cleanable === void 0 ? true : _props$cleanable,
30
+ _props$character = props.character,
31
+ character = _props$character === void 0 ? ' ~ ' : _props$character,
40
32
  defaultCalendarValue = props.defaultCalendarValue,
41
33
  defaultValue = props.defaultValue,
42
34
  disabled = props.disabled,
43
35
  disabledDateProp = props.disabledDate,
44
- formatStr = props.format,
36
+ _props$format = props.format,
37
+ formatStr = _props$format === void 0 ? 'yyyy-MM-dd' : _props$format,
45
38
  hoverRange = props.hoverRange,
46
39
  isoWeek = props.isoWeek,
47
- limitEndYear = props.limitEndYear,
40
+ _props$limitEndYear = props.limitEndYear,
41
+ limitEndYear = _props$limitEndYear === void 0 ? 1000 : _props$limitEndYear,
48
42
  overrideLocale = props.locale,
49
43
  menuClassName = props.menuClassName,
50
44
  menuStyle = props.menuStyle,
51
45
  oneTap = props.oneTap,
52
- placeholder = props.placeholder,
53
- placement = props.placement,
46
+ _props$placeholder = props.placeholder,
47
+ placeholder = _props$placeholder === void 0 ? '' : _props$placeholder,
48
+ _props$placement = props.placement,
49
+ placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,
54
50
  ranges = props.ranges,
55
51
  renderValue = props.renderValue,
56
- showOneCalendar = props.showOneCalendar,
52
+ _props$showOneCalenda = props.showOneCalendar,
53
+ showOneCalendar = _props$showOneCalenda === void 0 ? false : _props$showOneCalenda,
57
54
  showWeekNumbers = props.showWeekNumbers,
58
55
  style = props.style,
59
56
  toggleAs = props.toggleAs,
@@ -67,7 +64,7 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
67
64
  onOk = props.onOk,
68
65
  onOpen = props.onOpen,
69
66
  onSelect = props.onSelect,
70
- rest = _objectWithoutPropertiesLoose(props, ["as", "classPrefix", "className", "cleanable", "character", "defaultCalendarValue", "defaultValue", "disabled", "disabledDate", "format", "hoverRange", "isoWeek", "limitEndYear", "locale", "menuClassName", "menuStyle", "oneTap", "placeholder", "placement", "ranges", "renderValue", "showOneCalendar", "showWeekNumbers", "style", "toggleAs", "value", "onChange", "onClean", "onClose", "onEnter", "onEntered", "onExited", "onOk", "onOpen", "onSelect"]);
67
+ rest = _objectWithoutPropertiesLoose(props, ["as", "classPrefix", "className", "appearance", "cleanable", "character", "defaultCalendarValue", "defaultValue", "disabled", "disabledDate", "format", "hoverRange", "isoWeek", "limitEndYear", "locale", "menuClassName", "menuStyle", "oneTap", "placeholder", "placement", "ranges", "renderValue", "showOneCalendar", "showWeekNumbers", "style", "toggleAs", "value", "onChange", "onClean", "onClose", "onEnter", "onEntered", "onExited", "onOk", "onOpen", "onSelect"]);
71
68
 
72
69
  var _useClassNames = useClassNames(classPrefix),
73
70
  merge = _useClassNames.merge,
@@ -75,7 +72,8 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
75
72
 
76
73
  var _useCustom = useCustom('DateRangePicker', overrideLocale),
77
74
  locale = _useCustom.locale,
78
- formatDate = _useCustom.formatDate;
75
+ formatDate = _useCustom.formatDate,
76
+ parseDate = _useCustom.parseDate;
79
77
 
80
78
  var rangeFormatStr = "" + formatStr + character + formatStr;
81
79
 
@@ -370,13 +368,17 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
370
368
  var rangeValue = value.split(character); // isMatch('01/11/2020', 'MM/dd/yyyy') ==> true
371
369
  // isMatch('2020-11-01', 'MM/dd/yyyy') ==> false
372
370
 
373
- if (!DateUtils.isMatch(rangeValue[0], formatStr) || !DateUtils.isMatch(rangeValue[1], formatStr)) {
371
+ if (!DateUtils.isMatch(rangeValue[0], formatStr, {
372
+ locale: locale.dateLocale
373
+ }) || !DateUtils.isMatch(rangeValue[1], formatStr, {
374
+ locale: locale.dateLocale
375
+ })) {
374
376
  setInputState('Error');
375
377
  return;
376
378
  }
377
379
 
378
- var startDate = new Date(rangeValue[0]);
379
- var endDate = new Date(rangeValue[1]);
380
+ var startDate = parseDate(rangeValue[0], formatStr);
381
+ var endDate = parseDate(rangeValue[1], formatStr);
380
382
  var selectValue = [startDate, endDate];
381
383
 
382
384
  if (!DateUtils.isValid(startDate) || !DateUtils.isValid(endDate)) {
@@ -398,7 +400,7 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
398
400
  * The callback after the enter key is triggered on the input
399
401
  */
400
402
 
401
- var handleInputBlur = useCallback(function (event) {
403
+ var handleInputPressEnd = useCallback(function (event) {
402
404
  if (inputState === 'Typing') {
403
405
  handleValueUpdate(event, selectValue);
404
406
  }
@@ -546,8 +548,11 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
546
548
  var hasValue = value && value.length > 1;
547
549
 
548
550
  var _usePickerClassName = usePickerClassName(_extends({}, props, {
551
+ classPrefix: classPrefix,
549
552
  name: 'daterange',
550
- hasValue: hasValue
553
+ appearance: appearance,
554
+ hasValue: hasValue,
555
+ cleanable: cleanable
551
556
  })),
552
557
  classes = _usePickerClassName[0],
553
558
  usedClassNamePropKeys = _usePickerClassName[1];
@@ -567,12 +572,14 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
567
572
  }, /*#__PURE__*/React.createElement(PickerToggle, _extends({}, omit(rest, [].concat(omitTriggerPropKeys, usedClassNamePropKeys, DateUtils.calendarOnlyProps)), {
568
573
  as: toggleAs,
569
574
  ref: targetRef,
575
+ appearance: appearance,
570
576
  input: true,
571
577
  inputMask: DateUtils.getDateMask(rangeFormatStr),
572
578
  inputValue: value ? getDisplayString(value, true) : '',
573
579
  inputPlaceholder: typeof placeholder === 'string' && placeholder ? placeholder : rangeFormatStr,
574
580
  onInputChange: handleInputChange,
575
- onInputBlur: handleInputBlur,
581
+ onInputBlur: handleInputPressEnd,
582
+ onInputPressEnter: handleInputPressEnd,
576
583
  onKeyDown: onPickerKeyDown,
577
584
  onClean: createChainedFunction(handleClean, onClean),
578
585
  cleanable: cleanable && !disabled,
@@ -592,7 +599,6 @@ DateRangePicker.before = disabledDateUtils.before;
592
599
  DateRangePicker.beforeToday = disabledDateUtils.beforeToday;
593
600
  DateRangePicker.combine = disabledDateUtils.combine;
594
601
  DateRangePicker.displayName = 'DateRangePicker';
595
- DateRangePicker.defaultProps = defaultProps;
596
602
  DateRangePicker.propTypes = _extends({}, pickerPropTypes, {
597
603
  ranges: PropTypes.array,
598
604
  value: PropTypes.arrayOf(PropTypes.instanceOf(Date)),
@@ -3,14 +3,12 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
3
3
  import React from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  import { useClassNames } from '../utils';
6
- var defaultProps = {
7
- classPrefix: 'divider',
8
- as: 'div'
9
- };
10
6
  var Divider = /*#__PURE__*/React.forwardRef(function (props, ref) {
11
- var Component = props.as,
7
+ var _props$as = props.as,
8
+ Component = _props$as === void 0 ? 'div' : _props$as,
12
9
  className = props.className,
13
- classPrefix = props.classPrefix,
10
+ _props$classPrefix = props.classPrefix,
11
+ classPrefix = _props$classPrefix === void 0 ? 'divider' : _props$classPrefix,
14
12
  children = props.children,
15
13
  vertical = props.vertical,
16
14
  rest = _objectWithoutPropertiesLoose(props, ["as", "className", "classPrefix", "children", "vertical"]);
@@ -34,7 +32,6 @@ var Divider = /*#__PURE__*/React.forwardRef(function (props, ref) {
34
32
  }, children));
35
33
  });
36
34
  Divider.displayName = 'Divider';
37
- Divider.defaultProps = defaultProps;
38
35
  Divider.propTypes = {
39
36
  as: PropTypes.elementType,
40
37
  className: PropTypes.string,
@@ -6,11 +6,6 @@ import Slide from '../Animation/Slide';
6
6
  import Modal from '../Modal';
7
7
  import { useClassNames } from '../utils';
8
8
  import deprecateComponent from '../utils/deprecateComponent';
9
- var defaultProps = {
10
- classPrefix: 'drawer',
11
- placement: 'right',
12
- animation: Slide
13
- };
14
9
  var DrawerBody = /*#__PURE__*/React.forwardRef(function (props, ref) {
15
10
  return /*#__PURE__*/React.createElement(Modal.Body, _extends({
16
11
  classPrefix: "drawer-body"
@@ -48,9 +43,13 @@ var DrawerTitle = /*#__PURE__*/React.forwardRef(function (props, ref) {
48
43
  });
49
44
  var Drawer = /*#__PURE__*/React.forwardRef(function (props, ref) {
50
45
  var className = props.className,
51
- placement = props.placement,
52
- classPrefix = props.classPrefix,
53
- rest = _objectWithoutPropertiesLoose(props, ["className", "placement", "classPrefix"]);
46
+ _props$placement = props.placement,
47
+ placement = _props$placement === void 0 ? 'right' : _props$placement,
48
+ _props$classPrefix = props.classPrefix,
49
+ classPrefix = _props$classPrefix === void 0 ? 'drawer' : _props$classPrefix,
50
+ _props$animation = props.animation,
51
+ animation = _props$animation === void 0 ? Slide : _props$animation,
52
+ rest = _objectWithoutPropertiesLoose(props, ["className", "placement", "classPrefix", "animation"]);
54
53
 
55
54
  var _useClassNames = useClassNames(classPrefix),
56
55
  merge = _useClassNames.merge,
@@ -65,6 +64,7 @@ var Drawer = /*#__PURE__*/React.forwardRef(function (props, ref) {
65
64
  drawer: true,
66
65
  classPrefix: classPrefix,
67
66
  className: classes,
67
+ animation: animation,
68
68
  animationProps: animationProps
69
69
  }));
70
70
  });
@@ -79,7 +79,6 @@ Drawer.Actions = DrawerActions;
79
79
  Drawer.Footer = deprecateComponent(DrawerFooter, '<Drawer.Footer> has been deprecated, use <Drawer.Actions> instead.');
80
80
  Drawer.Title = DrawerTitle;
81
81
  Drawer.displayName = 'Drawer';
82
- Drawer.defaultProps = defaultProps;
83
82
  Drawer.propTypes = {
84
83
  classPrefix: PropTypes.string,
85
84
  placement: PropTypes.oneOf(['top', 'right', 'bottom', 'left']),
@@ -20,34 +20,32 @@ import Disclosure from '../Disclosure/Disclosure';
20
20
  import SidenavDropdown from '../Sidenav/SidenavDropdown';
21
21
  import NavContext from '../Nav/NavContext';
22
22
  import { initialState, reducer } from './DropdownState';
23
- var defaultProps = {
24
- as: 'div',
25
- classPrefix: 'dropdown',
26
- placement: 'bottomStart',
27
- trigger: 'click'
28
- };
23
+
29
24
  /**
30
25
  * The <Dropdown> API
31
26
  * When used inside <Sidenav>, renders a <TreeviewRootItem>;
32
27
  * Otherwise renders a <MenuRoot>
33
28
  */
34
-
35
29
  var Dropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
36
30
  var activeKey = props.activeKey,
37
31
  onSelectProp = props.onSelect,
38
32
  rest = _objectWithoutPropertiesLoose(props, ["activeKey", "onSelect"]);
39
33
 
40
- var Component = rest.as,
34
+ var _rest$as = rest.as,
35
+ Component = _rest$as === void 0 ? 'div' : _rest$as,
41
36
  title = rest.title,
42
37
  onClose = rest.onClose,
43
38
  onOpen = rest.onOpen,
44
39
  onToggle = rest.onToggle,
45
40
  eventKey = rest.eventKey,
46
- trigger = rest.trigger,
47
- placement = rest.placement,
41
+ _rest$trigger = rest.trigger,
42
+ trigger = _rest$trigger === void 0 ? 'click' : _rest$trigger,
43
+ _rest$placement = rest.placement,
44
+ placement = _rest$placement === void 0 ? 'bottomStart' : _rest$placement,
48
45
  toggleAs = rest.toggleAs,
49
46
  toggleClassName = rest.toggleClassName,
50
- classPrefix = rest.classPrefix,
47
+ _rest$classPrefix = rest.classPrefix,
48
+ classPrefix = _rest$classPrefix === void 0 ? 'dropdown' : _rest$classPrefix,
51
49
  className = rest.className,
52
50
  disabled = rest.disabled,
53
51
  children = rest.children,
@@ -241,7 +239,6 @@ var Dropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
241
239
  Dropdown.Item = DropdownItem;
242
240
  Dropdown.Menu = DropdownMenu;
243
241
  Dropdown.displayName = 'Dropdown';
244
- Dropdown.defaultProps = defaultProps;
245
242
  Dropdown.propTypes = {
246
243
  activeKey: PropTypes.any,
247
244
  classPrefix: PropTypes.string,
@@ -15,24 +15,27 @@ import SafeAnchor from '../SafeAnchor';
15
15
  import NavContext from '../Nav/NavContext';
16
16
  import useInternalId from '../utils/useInternalId';
17
17
  import { DropdownActionType } from './DropdownState';
18
- var defaultProps = {
19
- as: 'li',
20
- classPrefix: 'dropdown-item'
21
- };
18
+
22
19
  /**
23
20
  * The <Dropdown.Item> API
24
21
  * When used inside <Sidenav>, renders a <TreeviewItem>
25
22
  * Otherwise renders a <MenuItem>
26
23
  */
27
-
28
24
  var DropdownItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
29
- var classPrefix = props.classPrefix,
25
+ var _props$classPrefix = props.classPrefix,
26
+ classPrefix = _props$classPrefix === void 0 ? 'dropdown-item' : _props$classPrefix,
30
27
  className = props.className,
31
28
  activeProp = props.active,
32
29
  eventKey = props.eventKey,
33
30
  onSelect = props.onSelect,
34
31
  icon = props.icon,
35
- rest = _objectWithoutPropertiesLoose(props, ["classPrefix", "className", "active", "eventKey", "onSelect", "icon"]);
32
+ _props$as = props.as,
33
+ Component = _props$as === void 0 ? 'li' : _props$as,
34
+ divider = props.divider,
35
+ panel = props.panel,
36
+ children = props.children,
37
+ disabled = props.disabled,
38
+ restProps = _objectWithoutPropertiesLoose(props, ["classPrefix", "className", "active", "eventKey", "onSelect", "icon", "as", "divider", "panel", "children", "disabled"]);
36
39
 
37
40
  var internalId = useInternalId('DropdownItem');
38
41
  var nav = useContext(NavContext);
@@ -85,6 +88,15 @@ var DropdownItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
85
88
  };
86
89
  }
87
90
  }, [internalId, selected, dispatch]);
91
+ var renderDropdownItem = useCallback(function (ui) {
92
+ if (Component === 'li') {
93
+ return ui;
94
+ }
95
+
96
+ return /*#__PURE__*/React.createElement("li", {
97
+ role: "none presentation"
98
+ }, ui);
99
+ }, [Component]);
88
100
 
89
101
  if (sidenav !== null && sidenav !== void 0 && sidenav.expanded) {
90
102
  return /*#__PURE__*/React.createElement(SidenavDropdownItem, _extends({
@@ -92,27 +104,19 @@ var DropdownItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
92
104
  }, props));
93
105
  }
94
106
 
95
- var Component = rest.as,
96
- divider = rest.divider,
97
- panel = rest.panel,
98
- children = rest.children,
99
- disabled = rest.disabled,
100
- restProps = _objectWithoutPropertiesLoose(rest, ["as", "divider", "panel", "children", "disabled"]);
101
-
102
107
  if (divider) {
103
- return /*#__PURE__*/React.createElement(Component, _extends({
108
+ return renderDropdownItem( /*#__PURE__*/React.createElement(Component, _extends({
104
109
  ref: ref,
105
110
  role: "separator",
106
111
  className: merge(prefix('divider'), className)
107
- }, restProps));
112
+ }, restProps)));
108
113
  }
109
114
 
110
115
  if (panel) {
111
- return /*#__PURE__*/React.createElement(Component, _extends({
116
+ return renderDropdownItem( /*#__PURE__*/React.createElement(Component, _extends({
112
117
  ref: ref,
113
- role: "none presentation",
114
118
  className: merge(prefix('panel'), className)
115
- }, restProps), children);
119
+ }, restProps), children));
116
120
  }
117
121
 
118
122
  if (navbar) {
@@ -136,6 +140,7 @@ var DropdownItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
136
140
  className: classes,
137
141
  "aria-current": selected || undefined
138
142
  }, dataAttributes, restProps, {
143
+ as: Component,
139
144
  onClick: createChainedFunction(handleClickNavbarDropdownItem, restProps.onClick)
140
145
  }), icon && /*#__PURE__*/React.cloneElement(icon, {
141
146
  className: prefix('menu-icon')
@@ -167,16 +172,15 @@ var DropdownItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
167
172
  dataAttributes['data-event-key-type'] = typeof eventKey;
168
173
  }
169
174
 
170
- return /*#__PURE__*/React.createElement(Component, _extends({
175
+ return renderDropdownItem( /*#__PURE__*/React.createElement(Component, _extends({
171
176
  ref: mergeRefs(ref, menuitemRef),
172
177
  className: classes
173
178
  }, menuitem, dataAttributes, restProps), icon && /*#__PURE__*/React.cloneElement(icon, {
174
179
  className: prefix('menu-icon')
175
- }), children);
180
+ }), children));
176
181
  });
177
182
  });
178
183
  DropdownItem.displayName = 'Dropdown.Item';
179
- DropdownItem.defaultProps = defaultProps;
180
184
  DropdownItem.propTypes = {
181
185
  as: PropTypes.elementType,
182
186
  divider: PropTypes.bool,
@@ -17,9 +17,7 @@ import useCustom from '../utils/useCustom';
17
17
  import DropdownContext from './DropdownContext';
18
18
  import Menubar from '../Menu/Menubar';
19
19
  import SidenavDropdownMenu from '../Sidenav/SidenavDropdownMenu';
20
- var defaultProps = {
21
- classPrefix: 'dropdown-menu'
22
- };
20
+
23
21
  /**
24
22
  * The <Dropdown.Menu> API
25
23
  *
@@ -38,14 +36,14 @@ var defaultProps = {
38
36
  * </Dropdown.Menu>
39
37
  * </Dropdown>
40
38
  */
41
-
42
39
  var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
43
40
  var onToggle = props.onToggle,
44
41
  eventKey = props.eventKey,
45
42
  title = props.title,
46
43
  activeKey = props.activeKey,
47
44
  onSelect = props.onSelect,
48
- classPrefix = props.classPrefix,
45
+ _props$classPrefix = props.classPrefix,
46
+ classPrefix = _props$classPrefix === void 0 ? 'dropdown-menu' : _props$classPrefix,
49
47
  children = props.children,
50
48
  rest = _objectWithoutPropertiesLoose(props, ["onToggle", "eventKey", "title", "activeKey", "onSelect", "classPrefix", "children"]);
51
49
 
@@ -175,7 +173,6 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
175
173
  });
176
174
  });
177
175
  DropdownMenu.displayName = 'Dropdown.Menu';
178
- DropdownMenu.defaultProps = defaultProps;
179
176
  DropdownMenu.propTypes = {
180
177
  active: PropTypes.bool,
181
178
  activeKey: PropTypes.any,
@@ -6,14 +6,12 @@ import Button from '../Button';
6
6
  import { useClassNames } from '../utils';
7
7
  import useToggleCaret from '../utils/useToggleCaret';
8
8
  import { SidenavContext } from '../Sidenav/Sidenav';
9
- var defaultProps = {
10
- as: Button,
11
- classPrefix: 'dropdown-toggle'
12
- };
13
9
  var DropdownToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
14
- var Component = props.as,
10
+ var _props$as = props.as,
11
+ Component = _props$as === void 0 ? Button : _props$as,
15
12
  className = props.className,
16
- classPrefix = props.classPrefix,
13
+ _props$classPrefix = props.classPrefix,
14
+ classPrefix = _props$classPrefix === void 0 ? 'dropdown-toggle' : _props$classPrefix,
17
15
  renderToggle = props.renderToggle,
18
16
  children = props.children,
19
17
  icon = props.icon,
@@ -45,7 +43,6 @@ var DropdownToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
45
43
  return renderToggle ? renderToggle(rest, ref) : toggle;
46
44
  });
47
45
  DropdownToggle.displayName = 'DropdownToggle';
48
- DropdownToggle.defaultProps = defaultProps;
49
46
  DropdownToggle.propTypes = {
50
47
  className: PropTypes.string,
51
48
  children: PropTypes.node,