rsuite 5.0.0-beta.7 → 5.0.2

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 (337) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/DatePicker/styles/index.less +6 -2
  3. package/Grid/styles/index.less +1 -2
  4. package/IconButton/styles/index.less +1 -1
  5. package/MultiCascader/styles/index.less +3 -0
  6. package/README.md +17 -11
  7. package/Sidenav/styles/index.less +99 -37
  8. package/Table/styles/index.less +8 -0
  9. package/Uploader/styles/index.less +10 -0
  10. package/cjs/@types/common.d.ts +2 -1
  11. package/cjs/Animation/Collapse.js +8 -8
  12. package/cjs/AutoComplete/AutoComplete.js +10 -14
  13. package/cjs/Badge/Badge.js +6 -10
  14. package/cjs/Breadcrumb/Breadcrumb.js +8 -12
  15. package/cjs/Breadcrumb/BreadcrumbItem.js +4 -8
  16. package/cjs/Button/Button.js +6 -10
  17. package/cjs/ButtonGroup/ButtonGroup.js +6 -10
  18. package/cjs/Calendar/Calendar.js +4 -8
  19. package/cjs/Calendar/CalendarPanel.js +6 -10
  20. package/cjs/Calendar/Header.js +4 -8
  21. package/cjs/Calendar/MonthDropdown.js +10 -14
  22. package/cjs/Calendar/MonthDropdownItem.js +6 -10
  23. package/cjs/Calendar/Table.js +6 -10
  24. package/cjs/Calendar/TableHeaderRow.js +4 -7
  25. package/cjs/Calendar/TableRow.js +7 -11
  26. package/cjs/Calendar/TimeDropdown.js +4 -8
  27. package/cjs/Calendar/View.js +4 -8
  28. package/cjs/Carousel/Carousel.js +10 -14
  29. package/cjs/Cascader/Cascader.js +28 -26
  30. package/cjs/Cascader/DropdownMenu.js +19 -21
  31. package/cjs/CheckPicker/CheckPicker.js +33 -29
  32. package/cjs/CheckTreePicker/CheckTreeNode.js +4 -6
  33. package/cjs/CheckTreePicker/CheckTreePicker.js +47 -35
  34. package/cjs/Checkbox/Checkbox.js +8 -13
  35. package/cjs/CheckboxGroup/CheckboxGroup.d.ts +1 -12
  36. package/cjs/CheckboxGroup/CheckboxGroup.js +7 -13
  37. package/cjs/CheckboxGroup/CheckboxGroupContext.d.ts +13 -0
  38. package/cjs/CheckboxGroup/CheckboxGroupContext.js +12 -0
  39. package/cjs/CheckboxGroup/index.d.ts +4 -3
  40. package/cjs/CheckboxGroup/index.js +6 -4
  41. package/cjs/Col/Col.js +3 -2
  42. package/cjs/Container/Container.js +4 -7
  43. package/cjs/DatePicker/DatePicker.js +23 -20
  44. package/cjs/DatePicker/Toolbar.js +4 -8
  45. package/cjs/DateRangePicker/Calendar.d.ts +2 -1
  46. package/cjs/DateRangePicker/Calendar.js +15 -16
  47. package/cjs/DateRangePicker/DateRangePicker.d.ts +1 -1
  48. package/cjs/DateRangePicker/DateRangePicker.js +93 -73
  49. package/cjs/DateRangePicker/utils.d.ts +1 -1
  50. package/cjs/DateRangePicker/utils.js +9 -5
  51. package/cjs/Divider/Divider.js +4 -8
  52. package/cjs/Drawer/Drawer.js +8 -10
  53. package/cjs/Dropdown/Dropdown.js +39 -30
  54. package/cjs/Dropdown/DropdownContext.d.ts +4 -1
  55. package/cjs/Dropdown/DropdownItem.js +35 -12
  56. package/cjs/Dropdown/DropdownMenu.js +2 -6
  57. package/cjs/Dropdown/DropdownState.d.ts +37 -0
  58. package/cjs/Dropdown/DropdownState.js +66 -0
  59. package/cjs/Dropdown/DropdownToggle.js +4 -8
  60. package/cjs/FlexboxGrid/FlexboxGrid.js +8 -12
  61. package/cjs/FlexboxGrid/FlexboxGridItem.js +8 -12
  62. package/cjs/Form/Form.js +12 -16
  63. package/cjs/IconButton/IconButton.js +4 -8
  64. package/cjs/Input/Input.js +6 -10
  65. package/cjs/InputNumber/InputNumber.js +14 -18
  66. package/cjs/InputPicker/InputAutosize.js +2 -4
  67. package/cjs/InputPicker/InputPicker.js +32 -30
  68. package/cjs/List/List.js +12 -16
  69. package/cjs/List/ListItem.js +6 -10
  70. package/cjs/Loader/Loader.js +6 -10
  71. package/cjs/Menu/Menu.d.ts +0 -1
  72. package/cjs/Menu/Menu.js +3 -5
  73. package/cjs/Menu/MenuItem.js +1 -1
  74. package/cjs/Message/Message.js +8 -12
  75. package/cjs/Modal/Modal.d.ts +1 -10
  76. package/cjs/Modal/Modal.js +35 -27
  77. package/cjs/Modal/ModalBody.js +6 -10
  78. package/cjs/Modal/ModalContext.d.ts +12 -0
  79. package/cjs/Modal/ModalContext.js +12 -0
  80. package/cjs/Modal/ModalDialog.js +8 -8
  81. package/cjs/Modal/ModalHeader.js +8 -12
  82. package/cjs/Modal/ModalTitle.d.ts +3 -2
  83. package/cjs/Modal/ModalTitle.js +43 -4
  84. package/cjs/MultiCascader/DropdownMenu.js +21 -23
  85. package/cjs/MultiCascader/MultiCascader.js +34 -32
  86. package/cjs/Nav/Nav.js +6 -10
  87. package/cjs/Navbar/Navbar.js +6 -9
  88. package/cjs/Notification/Notification.js +6 -10
  89. package/cjs/Overlay/Modal.js +11 -18
  90. package/cjs/Overlay/Overlay.js +2 -5
  91. package/cjs/Overlay/OverlayTrigger.js +9 -9
  92. package/cjs/Overlay/Position.js +4 -8
  93. package/cjs/Pagination/Pagination.js +10 -13
  94. package/cjs/Pagination/PaginationButton.js +4 -8
  95. package/cjs/Pagination/PaginationGroup.js +11 -12
  96. package/cjs/Panel/Panel.js +6 -10
  97. package/cjs/PanelGroup/PanelGroup.js +4 -8
  98. package/cjs/Picker/DropdownMenu.js +2 -3
  99. package/cjs/Picker/DropdownMenuGroup.js +4 -8
  100. package/cjs/Picker/DropdownMenuItem.js +4 -8
  101. package/cjs/Picker/PickerToggle.js +7 -9
  102. package/cjs/Picker/propTypes.d.ts +2 -16
  103. package/cjs/Picker/propTypes.js +4 -17
  104. package/cjs/Picker/utils.js +13 -8
  105. package/cjs/Placeholder/PlaceholderGraph.js +6 -10
  106. package/cjs/Placeholder/PlaceholderGrid.js +12 -16
  107. package/cjs/Placeholder/PlaceholderParagraph.js +10 -14
  108. package/cjs/Popover/Popover.js +4 -8
  109. package/cjs/Progress/ProgressCircle.js +18 -22
  110. package/cjs/Progress/ProgressLine.js +8 -12
  111. package/cjs/Radio/Radio.js +6 -11
  112. package/cjs/RadioGroup/RadioGroup.js +6 -9
  113. package/cjs/RangeSlider/RangeSlider.js +17 -20
  114. package/cjs/Rate/Character.js +4 -7
  115. package/cjs/Rate/Rate.js +14 -18
  116. package/cjs/Ripple/Ripple.js +4 -8
  117. package/cjs/SelectPicker/SelectPicker.d.ts +1 -3
  118. package/cjs/SelectPicker/SelectPicker.js +31 -28
  119. package/cjs/Sidebar/Sidebar.js +6 -10
  120. package/cjs/Sidenav/Sidenav.js +8 -11
  121. package/cjs/Sidenav/SidenavDropdown.d.ts +6 -1
  122. package/cjs/Sidenav/SidenavDropdown.js +25 -20
  123. package/cjs/Sidenav/SidenavDropdownCollapse.js +2 -6
  124. package/cjs/Sidenav/SidenavDropdownItem.js +4 -8
  125. package/cjs/Sidenav/SidenavDropdownMenu.js +4 -8
  126. package/cjs/Sidenav/SidenavItem.js +4 -12
  127. package/cjs/Sidenav/SidenavToggle.js +4 -8
  128. package/cjs/Slider/Graduated.js +4 -8
  129. package/cjs/Slider/Handle.d.ts +2 -0
  130. package/cjs/Slider/Handle.js +23 -12
  131. package/cjs/Slider/Input.d.ts +3 -0
  132. package/cjs/Slider/Input.js +35 -0
  133. package/cjs/Slider/Mark.js +4 -8
  134. package/cjs/Slider/ProgressBar.js +4 -8
  135. package/cjs/Slider/Slider.d.ts +0 -3
  136. package/cjs/Slider/Slider.js +14 -22
  137. package/cjs/Steps/StepItem.js +4 -7
  138. package/cjs/Steps/Steps.js +8 -12
  139. package/cjs/Table/Table.d.ts +7 -7
  140. package/cjs/Table/Table.js +5 -5
  141. package/cjs/TagInput/index.js +4 -6
  142. package/cjs/TagPicker/index.d.ts +1 -1
  143. package/cjs/TagPicker/index.js +4 -6
  144. package/cjs/Timeline/Timeline.js +6 -11
  145. package/cjs/Timeline/TimelineItem.js +4 -8
  146. package/cjs/Toggle/Toggle.js +4 -8
  147. package/cjs/Tooltip/Tooltip.js +4 -8
  148. package/cjs/Tree/Tree.d.ts +6 -0
  149. package/cjs/TreePicker/TreeNode.js +4 -6
  150. package/cjs/TreePicker/TreePicker.js +38 -29
  151. package/cjs/Uploader/UploadFileItem.d.ts +2 -0
  152. package/cjs/Uploader/UploadFileItem.js +47 -35
  153. package/cjs/Uploader/UploadTrigger.js +4 -8
  154. package/cjs/Uploader/Uploader.d.ts +2 -0
  155. package/cjs/Uploader/Uploader.js +28 -29
  156. package/cjs/toaster/ToastContainer.js +6 -10
  157. package/cjs/utils/createComponent.d.ts +1 -2
  158. package/cjs/utils/createComponent.js +10 -13
  159. package/cjs/utils/dateUtils.d.ts +1 -0
  160. package/cjs/utils/dateUtils.js +5 -1
  161. package/cjs/utils/previewFile.d.ts +1 -0
  162. package/cjs/utils/previewFile.js +11 -0
  163. package/cjs/utils/useInternalId.d.ts +4 -0
  164. package/cjs/utils/useInternalId.js +24 -0
  165. package/cjs/utils/useUniqueId.d.ts +4 -2
  166. package/cjs/utils/useUniqueId.js +5 -3
  167. package/dist/rsuite-rtl.css +164 -75
  168. package/dist/rsuite-rtl.min.css +1 -1
  169. package/dist/rsuite-rtl.min.css.map +1 -1
  170. package/dist/rsuite.css +164 -75
  171. package/dist/rsuite.js +377 -377
  172. package/dist/rsuite.min.css +1 -1
  173. package/dist/rsuite.min.css.map +1 -1
  174. package/dist/rsuite.min.js +1 -1
  175. package/dist/rsuite.min.js.map +1 -1
  176. package/esm/@types/common.d.ts +2 -1
  177. package/esm/Animation/Collapse.js +8 -8
  178. package/esm/AutoComplete/AutoComplete.js +11 -14
  179. package/esm/Badge/Badge.js +6 -9
  180. package/esm/Breadcrumb/Breadcrumb.js +8 -11
  181. package/esm/Breadcrumb/BreadcrumbItem.js +4 -7
  182. package/esm/Button/Button.js +6 -9
  183. package/esm/ButtonGroup/ButtonGroup.js +6 -9
  184. package/esm/Calendar/Calendar.js +4 -7
  185. package/esm/Calendar/CalendarPanel.js +6 -9
  186. package/esm/Calendar/Header.js +4 -7
  187. package/esm/Calendar/MonthDropdown.js +10 -13
  188. package/esm/Calendar/MonthDropdownItem.js +6 -9
  189. package/esm/Calendar/Table.js +6 -9
  190. package/esm/Calendar/TableHeaderRow.js +4 -7
  191. package/esm/Calendar/TableRow.js +7 -10
  192. package/esm/Calendar/TimeDropdown.js +4 -7
  193. package/esm/Calendar/View.js +4 -7
  194. package/esm/Carousel/Carousel.js +10 -13
  195. package/esm/Cascader/Cascader.js +28 -26
  196. package/esm/Cascader/DropdownMenu.js +19 -21
  197. package/esm/CheckPicker/CheckPicker.js +33 -29
  198. package/esm/CheckTreePicker/CheckTreeNode.js +4 -6
  199. package/esm/CheckTreePicker/CheckTreePicker.js +47 -37
  200. package/esm/Checkbox/Checkbox.js +8 -12
  201. package/esm/CheckboxGroup/CheckboxGroup.d.ts +1 -12
  202. package/esm/CheckboxGroup/CheckboxGroup.js +5 -8
  203. package/esm/CheckboxGroup/CheckboxGroupContext.d.ts +13 -0
  204. package/esm/CheckboxGroup/CheckboxGroupContext.js +2 -0
  205. package/esm/CheckboxGroup/index.d.ts +4 -3
  206. package/esm/CheckboxGroup/index.js +2 -2
  207. package/esm/Col/Col.js +3 -2
  208. package/esm/Container/Container.js +4 -7
  209. package/esm/DatePicker/DatePicker.js +23 -21
  210. package/esm/DatePicker/Toolbar.js +5 -8
  211. package/esm/DateRangePicker/Calendar.d.ts +2 -1
  212. package/esm/DateRangePicker/Calendar.js +15 -15
  213. package/esm/DateRangePicker/DateRangePicker.d.ts +1 -1
  214. package/esm/DateRangePicker/DateRangePicker.js +62 -43
  215. package/esm/DateRangePicker/utils.d.ts +1 -1
  216. package/esm/DateRangePicker/utils.js +7 -3
  217. package/esm/Divider/Divider.js +4 -7
  218. package/esm/Drawer/Drawer.js +8 -9
  219. package/esm/Dropdown/Dropdown.js +39 -31
  220. package/esm/Dropdown/DropdownContext.d.ts +4 -1
  221. package/esm/Dropdown/DropdownItem.js +35 -14
  222. package/esm/Dropdown/DropdownMenu.js +3 -6
  223. package/esm/Dropdown/DropdownState.d.ts +37 -0
  224. package/esm/Dropdown/DropdownState.js +55 -0
  225. package/esm/Dropdown/DropdownToggle.js +4 -7
  226. package/esm/FlexboxGrid/FlexboxGrid.js +8 -11
  227. package/esm/FlexboxGrid/FlexboxGridItem.js +8 -11
  228. package/esm/Form/Form.js +12 -15
  229. package/esm/IconButton/IconButton.js +4 -7
  230. package/esm/Input/Input.js +6 -9
  231. package/esm/InputNumber/InputNumber.js +14 -17
  232. package/esm/InputPicker/InputAutosize.js +2 -4
  233. package/esm/InputPicker/InputPicker.js +32 -30
  234. package/esm/List/List.js +12 -15
  235. package/esm/List/ListItem.js +6 -9
  236. package/esm/Loader/Loader.js +6 -9
  237. package/esm/Menu/Menu.d.ts +0 -1
  238. package/esm/Menu/Menu.js +3 -5
  239. package/esm/Menu/MenuItem.js +1 -1
  240. package/esm/Message/Message.js +8 -11
  241. package/esm/Modal/Modal.d.ts +1 -10
  242. package/esm/Modal/Modal.js +31 -21
  243. package/esm/Modal/ModalBody.js +5 -8
  244. package/esm/Modal/ModalContext.d.ts +12 -0
  245. package/esm/Modal/ModalContext.js +2 -0
  246. package/esm/Modal/ModalDialog.js +8 -8
  247. package/esm/Modal/ModalHeader.js +7 -10
  248. package/esm/Modal/ModalTitle.d.ts +3 -2
  249. package/esm/Modal/ModalTitle.js +35 -4
  250. package/esm/MultiCascader/DropdownMenu.js +21 -23
  251. package/esm/MultiCascader/MultiCascader.js +34 -32
  252. package/esm/Nav/Nav.js +6 -9
  253. package/esm/Navbar/Navbar.js +6 -9
  254. package/esm/Notification/Notification.js +6 -9
  255. package/esm/Overlay/Modal.js +11 -18
  256. package/esm/Overlay/Overlay.js +2 -5
  257. package/esm/Overlay/OverlayTrigger.js +9 -9
  258. package/esm/Overlay/Position.js +4 -7
  259. package/esm/Pagination/Pagination.js +10 -13
  260. package/esm/Pagination/PaginationButton.js +4 -7
  261. package/esm/Pagination/PaginationGroup.js +10 -11
  262. package/esm/Panel/Panel.js +6 -9
  263. package/esm/PanelGroup/PanelGroup.js +4 -7
  264. package/esm/Picker/DropdownMenu.js +2 -3
  265. package/esm/Picker/DropdownMenuGroup.js +4 -7
  266. package/esm/Picker/DropdownMenuItem.js +4 -7
  267. package/esm/Picker/PickerToggle.js +7 -9
  268. package/esm/Picker/propTypes.d.ts +2 -16
  269. package/esm/Picker/propTypes.js +2 -13
  270. package/esm/Picker/utils.js +13 -8
  271. package/esm/Placeholder/PlaceholderGraph.js +6 -9
  272. package/esm/Placeholder/PlaceholderGrid.js +12 -15
  273. package/esm/Placeholder/PlaceholderParagraph.js +10 -13
  274. package/esm/Popover/Popover.js +4 -7
  275. package/esm/Progress/ProgressCircle.js +18 -21
  276. package/esm/Progress/ProgressLine.js +8 -11
  277. package/esm/Radio/Radio.js +6 -10
  278. package/esm/RadioGroup/RadioGroup.js +6 -9
  279. package/esm/RangeSlider/RangeSlider.js +17 -20
  280. package/esm/Rate/Character.js +4 -7
  281. package/esm/Rate/Rate.js +14 -17
  282. package/esm/Ripple/Ripple.js +4 -7
  283. package/esm/SelectPicker/SelectPicker.d.ts +1 -3
  284. package/esm/SelectPicker/SelectPicker.js +31 -28
  285. package/esm/Sidebar/Sidebar.js +6 -9
  286. package/esm/Sidenav/Sidenav.js +8 -11
  287. package/esm/Sidenav/SidenavDropdown.d.ts +6 -1
  288. package/esm/Sidenav/SidenavDropdown.js +24 -19
  289. package/esm/Sidenav/SidenavDropdownCollapse.js +2 -5
  290. package/esm/Sidenav/SidenavDropdownItem.js +5 -8
  291. package/esm/Sidenav/SidenavDropdownMenu.js +5 -8
  292. package/esm/Sidenav/SidenavItem.js +4 -10
  293. package/esm/Sidenav/SidenavToggle.js +4 -7
  294. package/esm/Slider/Graduated.js +4 -7
  295. package/esm/Slider/Handle.d.ts +2 -0
  296. package/esm/Slider/Handle.js +23 -12
  297. package/esm/Slider/Input.d.ts +3 -0
  298. package/esm/Slider/Input.js +23 -0
  299. package/esm/Slider/Mark.js +4 -7
  300. package/esm/Slider/ProgressBar.js +4 -7
  301. package/esm/Slider/Slider.d.ts +0 -3
  302. package/esm/Slider/Slider.js +14 -22
  303. package/esm/Steps/StepItem.js +4 -7
  304. package/esm/Steps/Steps.js +8 -11
  305. package/esm/Table/Table.d.ts +7 -7
  306. package/esm/Table/Table.js +5 -5
  307. package/esm/TagInput/index.js +4 -6
  308. package/esm/TagPicker/index.d.ts +1 -1
  309. package/esm/TagPicker/index.js +4 -6
  310. package/esm/Timeline/Timeline.js +6 -10
  311. package/esm/Timeline/TimelineItem.js +4 -7
  312. package/esm/Toggle/Toggle.js +5 -8
  313. package/esm/Tooltip/Tooltip.js +4 -7
  314. package/esm/Tree/Tree.d.ts +6 -0
  315. package/esm/TreePicker/TreeNode.js +4 -6
  316. package/esm/TreePicker/TreePicker.js +38 -31
  317. package/esm/Uploader/UploadFileItem.d.ts +2 -0
  318. package/esm/Uploader/UploadFileItem.js +47 -35
  319. package/esm/Uploader/UploadTrigger.js +4 -7
  320. package/esm/Uploader/Uploader.d.ts +2 -0
  321. package/esm/Uploader/Uploader.js +28 -28
  322. package/esm/toaster/ToastContainer.js +6 -9
  323. package/esm/utils/createComponent.d.ts +1 -2
  324. package/esm/utils/createComponent.js +10 -13
  325. package/esm/utils/dateUtils.d.ts +1 -0
  326. package/esm/utils/dateUtils.js +1 -0
  327. package/esm/utils/previewFile.d.ts +1 -0
  328. package/esm/utils/previewFile.js +9 -0
  329. package/esm/utils/useInternalId.d.ts +4 -0
  330. package/esm/utils/useInternalId.js +16 -0
  331. package/esm/utils/useUniqueId.d.ts +4 -2
  332. package/esm/utils/useUniqueId.js +5 -3
  333. package/package.json +4 -4
  334. package/styles/color-modes/dark.less +16 -0
  335. package/styles/color-modes/high-contrast.less +17 -0
  336. package/styles/color-modes/light.less +16 -0
  337. package/styles/variables.less +3 -1
@@ -1,8 +1,9 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- import React, { useCallback, useContext, useMemo } from 'react';
3
+ import React, { useCallback, useContext, useMemo, useReducer } from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  import omit from 'lodash/omit';
6
+ import pick from 'lodash/pick';
6
7
  import DropdownMenu from './DropdownMenu';
7
8
  import { mergeRefs, PLACEMENT_8, placementPolyfill, useClassNames } from '../utils';
8
9
  import { SidenavContext } from '../Sidenav/Sidenav';
@@ -18,34 +19,33 @@ import { NavbarContext } from '../Navbar/Navbar';
18
19
  import Disclosure from '../Disclosure/Disclosure';
19
20
  import SidenavDropdown from '../Sidenav/SidenavDropdown';
20
21
  import NavContext from '../Nav/NavContext';
21
- var defaultProps = {
22
- as: 'div',
23
- classPrefix: 'dropdown',
24
- placement: 'bottomStart',
25
- trigger: 'click'
26
- };
22
+ import { initialState, reducer } from './DropdownState';
23
+
27
24
  /**
28
25
  * The <Dropdown> API
29
26
  * When used inside <Sidenav>, renders a <TreeviewRootItem>;
30
27
  * Otherwise renders a <MenuRoot>
31
28
  */
32
-
33
29
  var Dropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
34
30
  var activeKey = props.activeKey,
35
31
  onSelectProp = props.onSelect,
36
32
  rest = _objectWithoutPropertiesLoose(props, ["activeKey", "onSelect"]);
37
33
 
38
- var Component = rest.as,
34
+ var _rest$as = rest.as,
35
+ Component = _rest$as === void 0 ? 'div' : _rest$as,
39
36
  title = rest.title,
40
37
  onClose = rest.onClose,
41
38
  onOpen = rest.onOpen,
42
39
  onToggle = rest.onToggle,
43
40
  eventKey = rest.eventKey,
44
- trigger = rest.trigger,
45
- 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,
46
45
  toggleAs = rest.toggleAs,
47
46
  toggleClassName = rest.toggleClassName,
48
- classPrefix = rest.classPrefix,
47
+ _rest$classPrefix = rest.classPrefix,
48
+ classPrefix = _rest$classPrefix === void 0 ? 'dropdown' : _rest$classPrefix,
49
49
  className = rest.className,
50
50
  disabled = rest.disabled,
51
51
  children = rest.children,
@@ -96,14 +96,29 @@ var Dropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
96
96
  }, [trigger]);
97
97
  var parentMenu = useContext(MenuContext);
98
98
  var sidenav = useContext(SidenavContext);
99
- var navbar = useContext(NavbarContext); // Render a disclosure when inside expanded <Sidenav>
99
+ var navbar = useContext(NavbarContext);
100
+
101
+ var _useReducer = useReducer(reducer, initialState),
102
+ items = _useReducer[0].items,
103
+ dispatch = _useReducer[1];
104
+
105
+ var hasSelectedItem = useMemo(function () {
106
+ return items.some(function (item) {
107
+ return item.props.selected;
108
+ });
109
+ }, [items]);
110
+ var dropdownContextValue = useMemo(function () {
111
+ return {
112
+ activeKey: activeKey,
113
+ onSelect: emitSelect,
114
+ hasSelectedItem: hasSelectedItem,
115
+ dispatch: dispatch
116
+ };
117
+ }, [activeKey, emitSelect, hasSelectedItem, dispatch]); // Render a disclosure when inside expanded <Sidenav>
100
118
 
101
119
  if (sidenav !== null && sidenav !== void 0 && sidenav.expanded) {
102
120
  return /*#__PURE__*/React.createElement(DropdownContext.Provider, {
103
- value: {
104
- activeKey: activeKey,
105
- onSelect: emitSelect
106
- }
121
+ value: dropdownContextValue
107
122
  }, /*#__PURE__*/React.createElement(SidenavDropdown, _extends({
108
123
  ref: ref
109
124
  }, rest)));
@@ -112,10 +127,7 @@ var Dropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
112
127
 
113
128
  if (navbar) {
114
129
  return /*#__PURE__*/React.createElement(DropdownContext.Provider, {
115
- value: {
116
- activeKey: activeKey,
117
- onSelect: emitSelect
118
- }
130
+ value: dropdownContextValue
119
131
  }, /*#__PURE__*/React.createElement(Disclosure, {
120
132
  hideOnClickOutside: true
121
133
  }, function (_ref, containerRef) {
@@ -155,7 +167,7 @@ var Dropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
155
167
  className: toggleClassName,
156
168
  placement: placement,
157
169
  disabled: disabled
158
- }, omit(menuButtonProps, ['open']), toggleProps), title);
170
+ }, omit(menuButtonProps, ['open']), omit(toggleProps, ['data-testid'])), title);
159
171
  };
160
172
 
161
173
  if (parentMenu) {
@@ -172,16 +184,13 @@ var Dropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
172
184
  className: mergeNavItemClassNames(toggleClassName, withNavItemClassPrefix({
173
185
  focus: active
174
186
  }))
175
- }, menuButtonProps, omit(menuitemProps, ['onClick']), toggleProps), title);
187
+ }, menuButtonProps, omit(menuitemProps, ['onClick']), omit(toggleProps, 'data-testid')), title);
176
188
  });
177
189
  };
178
190
  }
179
191
 
180
192
  return /*#__PURE__*/React.createElement(DropdownContext.Provider, {
181
- value: {
182
- activeKey: activeKey,
183
- onSelect: emitSelect
184
- }
193
+ value: dropdownContextValue
185
194
  }, /*#__PURE__*/React.createElement(Menu, {
186
195
  menuButtonText: title,
187
196
  renderMenuButton: renderMenuButton,
@@ -190,7 +199,7 @@ var Dropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
190
199
  var open = _ref4.open,
191
200
  popupProps = _objectWithoutPropertiesLoose(_ref4, ["open"]);
192
201
 
193
- var menuClassName = mergeMenuClassName(className, withMenuClassPrefix()); // When inside a collapsed <Sidenav>, render a header in menu
202
+ var menuClassName = mergeMenuClassName(className, withMenuClassPrefix({})); // When inside a collapsed <Sidenav>, render a header in menu
194
203
 
195
204
  var showHeader = !!sidenav;
196
205
  return /*#__PURE__*/React.createElement("ul", _extends({
@@ -218,11 +227,11 @@ var Dropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
218
227
  var open = _ref5.open,
219
228
  menuContainer = _objectWithoutPropertiesLoose(_ref5, ["open"]);
220
229
 
221
- var classes = merge(className, withClassPrefix((_withClassPrefix2 = {}, _withClassPrefix2["placement-" + kebabCase(placementPolyfill(placement))] = !!placement, _withClassPrefix2.disabled = disabled, _withClassPrefix2.open = open, _withClassPrefix2.submenu = !!parentMenu, _withClassPrefix2)));
230
+ var classes = merge(className, withClassPrefix((_withClassPrefix2 = {}, _withClassPrefix2["placement-" + kebabCase(placementPolyfill(placement))] = !!placement, _withClassPrefix2.disabled = disabled, _withClassPrefix2.open = open, _withClassPrefix2.submenu = !!parentMenu, _withClassPrefix2['selected-within'] = hasSelectedItem, _withClassPrefix2)));
222
231
  return /*#__PURE__*/React.createElement(Component, _extends({
223
232
  ref: mergeRefs(ref, menuContainerRef),
224
233
  className: classes
225
- }, menuContainer, {
234
+ }, menuContainer, pick(toggleProps, ['data-testid']), {
226
235
  style: style
227
236
  }));
228
237
  }));
@@ -230,7 +239,6 @@ var Dropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
230
239
  Dropdown.Item = DropdownItem;
231
240
  Dropdown.Menu = DropdownMenu;
232
241
  Dropdown.displayName = 'Dropdown';
233
- Dropdown.defaultProps = defaultProps;
234
242
  Dropdown.propTypes = {
235
243
  activeKey: PropTypes.any,
236
244
  classPrefix: PropTypes.string,
@@ -1,7 +1,10 @@
1
- import React from 'react';
1
+ import React, { Dispatch } from 'react';
2
+ import { DropdownAction } from './DropdownState';
2
3
  export interface DropdownContextProps {
3
4
  activeKey?: string;
4
5
  onSelect: (eventKey: string, event: React.SyntheticEvent) => void;
6
+ hasSelectedItem?: boolean;
7
+ dispatch?: Dispatch<DropdownAction>;
5
8
  }
6
9
  declare const DropdownContext: React.Context<DropdownContextProps>;
7
10
  export default DropdownContext;
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- import React, { useCallback, useContext } from 'react';
3
+ import React, { useCallback, useContext, useEffect } from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  import { SidenavContext } from '../Sidenav/Sidenav';
6
6
  import deprecatePropType from '../utils/deprecatePropType';
@@ -13,18 +13,17 @@ import SidenavDropdownItem from '../Sidenav/SidenavDropdownItem';
13
13
  import DisclosureContext, { DisclosureActionTypes } from '../Disclosure/DisclosureContext';
14
14
  import SafeAnchor from '../SafeAnchor';
15
15
  import NavContext from '../Nav/NavContext';
16
- var defaultProps = {
17
- as: 'li',
18
- classPrefix: 'dropdown-item'
19
- };
16
+ import useInternalId from '../utils/useInternalId';
17
+ import { DropdownActionType } from './DropdownState';
18
+
20
19
  /**
21
20
  * The <Dropdown.Item> API
22
21
  * When used inside <Sidenav>, renders a <TreeviewItem>
23
22
  * Otherwise renders a <MenuItem>
24
23
  */
25
-
26
24
  var DropdownItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
27
- var classPrefix = props.classPrefix,
25
+ var _props$classPrefix = props.classPrefix,
26
+ classPrefix = _props$classPrefix === void 0 ? 'dropdown-item' : _props$classPrefix,
28
27
  className = props.className,
29
28
  activeProp = props.active,
30
29
  eventKey = props.eventKey,
@@ -32,6 +31,7 @@ var DropdownItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
32
31
  icon = props.icon,
33
32
  rest = _objectWithoutPropertiesLoose(props, ["classPrefix", "className", "active", "eventKey", "onSelect", "icon"]);
34
33
 
34
+ var internalId = useInternalId('DropdownItem');
35
35
  var nav = useContext(NavContext);
36
36
  var dropdown = useContext(DropdownContext);
37
37
 
@@ -59,6 +59,29 @@ var DropdownItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
59
59
  });
60
60
  handleSelectItem === null || handleSelectItem === void 0 ? void 0 : handleSelectItem(event);
61
61
  }, [dispatchDisclosure, handleSelectItem]);
62
+ var selected = activeProp || !isNil(eventKey) && (shallowEqual(dropdown === null || dropdown === void 0 ? void 0 : dropdown.activeKey, eventKey) || shallowEqual(nav === null || nav === void 0 ? void 0 : nav.activeKey, eventKey));
63
+ var dispatch = dropdown === null || dropdown === void 0 ? void 0 : dropdown.dispatch;
64
+ useEffect(function () {
65
+ if (dispatch) {
66
+ dispatch({
67
+ type: DropdownActionType.RegisterItem,
68
+ payload: {
69
+ id: internalId,
70
+ props: {
71
+ selected: selected
72
+ }
73
+ }
74
+ });
75
+ return function () {
76
+ dispatch({
77
+ type: DropdownActionType.UnregisterItem,
78
+ payload: {
79
+ id: internalId
80
+ }
81
+ });
82
+ };
83
+ }
84
+ }, [internalId, selected, dispatch]);
62
85
 
63
86
  if (sidenav !== null && sidenav !== void 0 && sidenav.expanded) {
64
87
  return /*#__PURE__*/React.createElement(SidenavDropdownItem, _extends({
@@ -66,9 +89,8 @@ var DropdownItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
66
89
  }, props));
67
90
  }
68
91
 
69
- var menuitemSelected = activeProp || !isNil(eventKey) && (shallowEqual(dropdown === null || dropdown === void 0 ? void 0 : dropdown.activeKey, eventKey) || shallowEqual(nav === null || nav === void 0 ? void 0 : nav.activeKey, eventKey));
70
-
71
- var Component = rest.as,
92
+ var _rest$as = rest.as,
93
+ Component = _rest$as === void 0 ? 'li' : _rest$as,
72
94
  divider = rest.divider,
73
95
  panel = rest.panel,
74
96
  children = rest.children,
@@ -97,7 +119,7 @@ var DropdownItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
97
119
  disabled: disabled,
98
120
  divider: divider,
99
121
  panel: panel,
100
- active: menuitemSelected
122
+ active: selected
101
123
  }));
102
124
  var dataAttributes = {
103
125
  'data-event-key': eventKey
@@ -110,7 +132,7 @@ var DropdownItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
110
132
  return /*#__PURE__*/React.createElement("li", null, /*#__PURE__*/React.createElement(SafeAnchor, _extends({
111
133
  ref: ref,
112
134
  className: classes,
113
- "aria-current": menuitemSelected || undefined
135
+ "aria-current": selected || undefined
114
136
  }, dataAttributes, restProps, {
115
137
  onClick: createChainedFunction(handleClickNavbarDropdownItem, restProps.onClick)
116
138
  }), icon && /*#__PURE__*/React.cloneElement(icon, {
@@ -119,7 +141,7 @@ var DropdownItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
119
141
  }
120
142
 
121
143
  return /*#__PURE__*/React.createElement(MenuItem, {
122
- selected: menuitemSelected,
144
+ selected: selected,
123
145
  disabled: disabled,
124
146
  onActivate: handleSelectItem
125
147
  }, function (_ref2, menuitemRef) {
@@ -152,7 +174,6 @@ var DropdownItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
152
174
  });
153
175
  });
154
176
  DropdownItem.displayName = 'Dropdown.Item';
155
- DropdownItem.defaultProps = defaultProps;
156
177
  DropdownItem.propTypes = {
157
178
  as: PropTypes.elementType,
158
179
  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,
@@ -0,0 +1,37 @@
1
+ interface DropdownItemState {
2
+ /**
3
+ * Internal ID
4
+ */
5
+ id: string;
6
+ /**
7
+ *
8
+ */
9
+ props: {
10
+ selected: boolean;
11
+ };
12
+ }
13
+ interface DropdownState {
14
+ items: DropdownItemState[];
15
+ }
16
+ export declare const initialState: DropdownState;
17
+ export declare enum DropdownActionType {
18
+ RegisterItem = 0,
19
+ UnregisterItem = 1,
20
+ UpdateItem = 2
21
+ }
22
+ export declare type DropdownAction = {
23
+ type: DropdownActionType.RegisterItem;
24
+ payload: {
25
+ id: string;
26
+ props: {
27
+ selected: boolean;
28
+ };
29
+ };
30
+ } | {
31
+ type: DropdownActionType.UnregisterItem;
32
+ payload: {
33
+ id: string;
34
+ };
35
+ };
36
+ export declare function reducer(state: DropdownState, action: DropdownAction): DropdownState;
37
+ export {};
@@ -0,0 +1,55 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ export var initialState = {
3
+ items: []
4
+ };
5
+ export var DropdownActionType;
6
+
7
+ (function (DropdownActionType) {
8
+ DropdownActionType[DropdownActionType["RegisterItem"] = 0] = "RegisterItem";
9
+ DropdownActionType[DropdownActionType["UnregisterItem"] = 1] = "UnregisterItem";
10
+ DropdownActionType[DropdownActionType["UpdateItem"] = 2] = "UpdateItem";
11
+ })(DropdownActionType || (DropdownActionType = {}));
12
+
13
+ export function reducer(state, action) {
14
+ if (state === void 0) {
15
+ state = initialState;
16
+ }
17
+
18
+ switch (action.type) {
19
+ case DropdownActionType.RegisterItem:
20
+ if (state.items.find(function (item) {
21
+ return item.id === action.payload.id;
22
+ })) {
23
+ return _extends({}, state, {
24
+ items: state.items.map(function (item) {
25
+ if (item.id === action.payload.id) {
26
+ return _extends({}, item, {
27
+ props: _extends({}, item.props, {
28
+ selected: action.payload.props.selected
29
+ })
30
+ });
31
+ }
32
+
33
+ return item;
34
+ })
35
+ });
36
+ }
37
+
38
+ return _extends({}, state, {
39
+ items: [].concat(state.items, [{
40
+ id: action.payload.id,
41
+ props: action.payload.props
42
+ }])
43
+ });
44
+
45
+ case DropdownActionType.UnregisterItem:
46
+ return _extends({}, state, {
47
+ items: state.items.filter(function (item) {
48
+ return item.id !== action.payload.id;
49
+ })
50
+ });
51
+
52
+ default:
53
+ return state;
54
+ }
55
+ }
@@ -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,
@@ -4,18 +4,16 @@ import React from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  import { useClassNames } from '../utils';
6
6
  import FlexboxGridItem from './FlexboxGridItem';
7
- var defaultProps = {
8
- as: 'div',
9
- classPrefix: 'flex-box-grid',
10
- align: 'top',
11
- justify: 'start'
12
- };
13
7
  var FlexboxGrid = /*#__PURE__*/React.forwardRef(function (props, ref) {
14
- var Component = props.as,
8
+ var _props$as = props.as,
9
+ Component = _props$as === void 0 ? 'div' : _props$as,
15
10
  className = props.className,
16
- classPrefix = props.classPrefix,
17
- align = props.align,
18
- justify = props.justify,
11
+ _props$classPrefix = props.classPrefix,
12
+ classPrefix = _props$classPrefix === void 0 ? 'flex-box-grid' : _props$classPrefix,
13
+ _props$align = props.align,
14
+ align = _props$align === void 0 ? 'top' : _props$align,
15
+ _props$justify = props.justify,
16
+ justify = _props$justify === void 0 ? 'start' : _props$justify,
19
17
  rest = _objectWithoutPropertiesLoose(props, ["as", "className", "classPrefix", "align", "justify"]);
20
18
 
21
19
  var _useClassNames = useClassNames(classPrefix),
@@ -30,7 +28,6 @@ var FlexboxGrid = /*#__PURE__*/React.forwardRef(function (props, ref) {
30
28
  });
31
29
  FlexboxGrid.Item = FlexboxGridItem;
32
30
  FlexboxGrid.displayName = 'FlexboxGrid';
33
- FlexboxGrid.defaultProps = defaultProps;
34
31
  FlexboxGrid.propTypes = {
35
32
  className: PropTypes.string,
36
33
  classPrefix: PropTypes.string,
@@ -3,20 +3,18 @@ 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
- as: 'div',
8
- classPrefix: 'flex-box-grid-item',
9
- colspan: 0,
10
- order: 0
11
- };
12
6
  var FlexboxGridItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
13
7
  var _withClassPrefix;
14
8
 
15
- var Component = props.as,
9
+ var _props$as = props.as,
10
+ Component = _props$as === void 0 ? 'div' : _props$as,
16
11
  className = props.className,
17
- classPrefix = props.classPrefix,
18
- colspan = props.colspan,
19
- order = props.order,
12
+ _props$classPrefix = props.classPrefix,
13
+ classPrefix = _props$classPrefix === void 0 ? 'flex-box-grid-item' : _props$classPrefix,
14
+ _props$colspan = props.colspan,
15
+ colspan = _props$colspan === void 0 ? 0 : _props$colspan,
16
+ _props$order = props.order,
17
+ order = _props$order === void 0 ? 0 : _props$order,
20
18
  rest = _objectWithoutPropertiesLoose(props, ["as", "className", "classPrefix", "colspan", "order"]);
21
19
 
22
20
  var _useClassNames = useClassNames(classPrefix),
@@ -31,7 +29,6 @@ var FlexboxGridItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
31
29
  }));
32
30
  });
33
31
  FlexboxGridItem.displayName = 'FlexboxGridItem';
34
- FlexboxGridItem.defaultProps = defaultProps;
35
32
  FlexboxGridItem.propTypes = {
36
33
  as: PropTypes.elementType,
37
34
  className: PropTypes.string,
package/esm/Form/Form.js CHANGED
@@ -12,24 +12,22 @@ import FormControlLabel from '../FormControlLabel';
12
12
  import FormErrorMessage from '../FormErrorMessage';
13
13
  import FormGroup from '../FormGroup';
14
14
  import FormHelpText from '../FormHelpText';
15
- var defaultProps = {
16
- checkTrigger: 'change',
17
- classPrefix: 'form',
18
- errorFromContext: true,
19
- formDefaultValue: {},
20
- layout: 'vertical',
21
- model: SchemaModel({})
22
- };
23
15
  var Form = /*#__PURE__*/React.forwardRef(function (props, ref) {
24
- var checkTrigger = props.checkTrigger,
25
- classPrefix = props.classPrefix,
26
- errorFromContext = props.errorFromContext,
27
- formDefaultValue = props.formDefaultValue,
16
+ var _props$checkTrigger = props.checkTrigger,
17
+ checkTrigger = _props$checkTrigger === void 0 ? 'change' : _props$checkTrigger,
18
+ _props$classPrefix = props.classPrefix,
19
+ classPrefix = _props$classPrefix === void 0 ? 'form' : _props$classPrefix,
20
+ _props$errorFromConte = props.errorFromContext,
21
+ errorFromContext = _props$errorFromConte === void 0 ? true : _props$errorFromConte,
22
+ _props$formDefaultVal = props.formDefaultValue,
23
+ formDefaultValue = _props$formDefaultVal === void 0 ? {} : _props$formDefaultVal,
28
24
  formValue = props.formValue,
29
25
  formError = props.formError,
30
26
  fluid = props.fluid,
31
- layout = props.layout,
32
- model = props.model,
27
+ _props$layout = props.layout,
28
+ layout = _props$layout === void 0 ? 'vertical' : _props$layout,
29
+ _props$model = props.model,
30
+ model = _props$model === void 0 ? SchemaModel({}) : _props$model,
33
31
  readOnly = props.readOnly,
34
32
  plaintext = props.plaintext,
35
33
  className = props.className,
@@ -268,7 +266,6 @@ Form.Group = FormGroup;
268
266
  Form.HelpText = FormHelpText;
269
267
  Form.Control = FormControl;
270
268
  Form.displayName = 'Form';
271
- Form.defaultProps = defaultProps;
272
269
  Form.propTypes = {
273
270
  className: PropTypes.string,
274
271
  classPrefix: PropTypes.string,
@@ -4,16 +4,14 @@ import React from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  import Button from '../Button';
6
6
  import { useClassNames } from '../utils';
7
- var defaultProps = {
8
- classPrefix: 'btn-icon',
9
- placement: 'left'
10
- };
11
7
  var IconButton = /*#__PURE__*/React.forwardRef(function (props, ref) {
12
8
  var icon = props.icon,
13
- placement = props.placement,
9
+ _props$placement = props.placement,
10
+ placement = _props$placement === void 0 ? 'left' : _props$placement,
14
11
  children = props.children,
15
12
  circle = props.circle,
16
- classPrefix = props.classPrefix,
13
+ _props$classPrefix = props.classPrefix,
14
+ classPrefix = _props$classPrefix === void 0 ? 'btn-icon' : _props$classPrefix,
17
15
  className = props.className,
18
16
  rest = _objectWithoutPropertiesLoose(props, ["icon", "placement", "children", "circle", "classPrefix", "className"]);
19
17
 
@@ -31,7 +29,6 @@ var IconButton = /*#__PURE__*/React.forwardRef(function (props, ref) {
31
29
  }), icon, children);
32
30
  });
33
31
  IconButton.displayName = 'IconButton';
34
- IconButton.defaultProps = defaultProps;
35
32
  IconButton.propTypes = {
36
33
  className: PropTypes.string,
37
34
  icon: PropTypes.any,
@@ -6,16 +6,14 @@ import { FormGroupContext } from '../FormGroup/FormGroup';
6
6
  import { InputGroupContext } from '../InputGroup/InputGroup';
7
7
  import Plaintext from '../Plaintext';
8
8
  import { createChainedFunction, TypeChecker, mergeRefs, useClassNames, KEY_VALUES } from '../utils';
9
- var defaultProps = {
10
- as: 'input',
11
- classPrefix: 'input',
12
- type: 'text'
13
- };
14
9
  var Input = /*#__PURE__*/React.forwardRef(function (props, ref) {
15
10
  var className = props.className,
16
- classPrefix = props.classPrefix,
17
- Component = props.as,
18
- type = props.type,
11
+ _props$classPrefix = props.classPrefix,
12
+ classPrefix = _props$classPrefix === void 0 ? 'input' : _props$classPrefix,
13
+ _props$as = props.as,
14
+ Component = _props$as === void 0 ? 'input' : _props$as,
15
+ _props$type = props.type,
16
+ type = _props$type === void 0 ? 'text' : _props$type,
19
17
  disabled = props.disabled,
20
18
  value = props.value,
21
19
  defaultValue = props.defaultValue,
@@ -84,7 +82,6 @@ var Input = /*#__PURE__*/React.forwardRef(function (props, ref) {
84
82
  }));
85
83
  });
86
84
  Input.displayName = 'Input';
87
- Input.defaultProps = defaultProps;
88
85
  Input.propTypes = {
89
86
  type: PropTypes.string,
90
87
  as: PropTypes.elementType,