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
@@ -15,26 +15,23 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
15
15
 
16
16
  var _utils = require("../utils");
17
17
 
18
- var defaultProps = {
19
- as: 'div',
20
- classPrefix: 'progress',
21
- showInfo: true,
22
- percent: 0
23
- };
24
-
25
18
  var ProgressLine = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
26
19
  var _lineInnerStyle, _percentStyle, _withClassPrefix;
27
20
 
28
- var Component = props.as,
21
+ var _props$as = props.as,
22
+ Component = _props$as === void 0 ? 'div' : _props$as,
29
23
  className = props.className,
30
- percent = props.percent,
24
+ _props$percent = props.percent,
25
+ percent = _props$percent === void 0 ? 0 : _props$percent,
31
26
  strokeColor = props.strokeColor,
32
27
  strokeWidth = props.strokeWidth,
33
28
  trailColor = props.trailColor,
34
29
  trailWidth = props.trailWidth,
35
30
  status = props.status,
36
- showInfo = props.showInfo,
37
- classPrefix = props.classPrefix,
31
+ _props$showInfo = props.showInfo,
32
+ showInfo = _props$showInfo === void 0 ? true : _props$showInfo,
33
+ _props$classPrefix = props.classPrefix,
34
+ classPrefix = _props$classPrefix === void 0 ? 'progress' : _props$classPrefix,
38
35
  vertical = props.vertical,
39
36
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "className", "percent", "strokeColor", "strokeWidth", "trailColor", "trailWidth", "status", "showInfo", "classPrefix", "vertical"]);
40
37
 
@@ -78,7 +75,6 @@ var ProgressLine = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
78
75
  });
79
76
 
80
77
  ProgressLine.displayName = 'ProgressLine';
81
- ProgressLine.defaultProps = defaultProps;
82
78
  ProgressLine.propTypes = {
83
79
  className: _propTypes.default.string,
84
80
  classPrefix: _propTypes.default.string,
@@ -19,13 +19,6 @@ var _RadioGroup = require("../RadioGroup/RadioGroup");
19
19
 
20
20
  var _utils = require("../utils");
21
21
 
22
- var defaultProps = {
23
- as: 'div',
24
- classPrefix: 'radio',
25
- tabIndex: 0,
26
- inputProps: {}
27
- };
28
-
29
22
  var Radio = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
30
23
  var _useContext = (0, _react.useContext)(_RadioGroup.RadioContext),
31
24
  groupValue = _useContext.value,
@@ -37,14 +30,17 @@ var Radio = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
37
30
  plaintextContext = _useContext.plaintext,
38
31
  onGroupChange = _useContext.onChange;
39
32
 
40
- var Component = props.as,
33
+ var _props$as = props.as,
34
+ Component = _props$as === void 0 ? 'div' : _props$as,
41
35
  title = props.title,
42
36
  className = props.className,
43
37
  children = props.children,
44
38
  checkedProp = props.checked,
45
39
  defaultChecked = props.defaultChecked,
46
- classPrefix = props.classPrefix,
47
- tabIndex = props.tabIndex,
40
+ _props$classPrefix = props.classPrefix,
41
+ classPrefix = _props$classPrefix === void 0 ? 'radio' : _props$classPrefix,
42
+ _props$tabIndex = props.tabIndex,
43
+ tabIndex = _props$tabIndex === void 0 ? 0 : _props$tabIndex,
48
44
  inputRef = props.inputRef,
49
45
  inputProps = props.inputProps,
50
46
  _props$disabled = props.disabled,
@@ -135,7 +131,6 @@ var Radio = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
135
131
  });
136
132
 
137
133
  Radio.displayName = 'Radio';
138
- Radio.defaultProps = defaultProps;
139
134
  Radio.propTypes = {
140
135
  id: _propTypes.default.string,
141
136
  name: _propTypes.default.string,
@@ -24,14 +24,17 @@ var RadioContext = /*#__PURE__*/_react.default.createContext({});
24
24
  exports.RadioContext = RadioContext;
25
25
 
26
26
  var RadioGroup = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
27
- var Component = props.as,
27
+ var _props$as = props.as,
28
+ Component = _props$as === void 0 ? 'div' : _props$as,
28
29
  className = props.className,
29
30
  inline = props.inline,
30
31
  children = props.children,
31
- classPrefix = props.classPrefix,
32
+ _props$classPrefix = props.classPrefix,
33
+ classPrefix = _props$classPrefix === void 0 ? 'radio-group' : _props$classPrefix,
32
34
  valueProp = props.value,
33
35
  defaultValue = props.defaultValue,
34
- appearance = props.appearance,
36
+ _props$appearance = props.appearance,
37
+ appearance = _props$appearance === void 0 ? 'default' : _props$appearance,
35
38
  name = props.name,
36
39
  plaintext = props.plaintext,
37
40
  disabled = props.disabled,
@@ -81,13 +84,7 @@ var RadioGroup = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
81
84
  }), children));
82
85
  });
83
86
 
84
- var defaultProps = {
85
- as: 'div',
86
- appearance: 'default',
87
- classPrefix: 'radio-group'
88
- };
89
87
  RadioGroup.displayName = 'RadioGroup';
90
- RadioGroup.defaultProps = defaultProps;
91
88
  RadioGroup.propTypes = {
92
89
  appearance: _propTypes.default.oneOf(['default', 'picker']),
93
90
  name: _propTypes.default.string,
@@ -29,38 +29,37 @@ var _Graduated = _interopRequireDefault(require("../Slider/Graduated"));
29
29
 
30
30
  var _utils2 = require("../Slider/utils");
31
31
 
32
- var defaultProps = {
33
- as: 'div',
34
- classPrefix: 'slider',
35
- min: 0,
36
- max: 100,
37
- step: 1,
38
- defaultValue: [0, 0],
39
- tooltip: true,
40
- progress: true
41
- };
32
+ var defaultDefaultValue = [0, 0];
42
33
 
43
34
  var RangeSlider = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
44
35
  var ariaLabel = props['aria-label'],
45
36
  ariaLabelledby = props['aria-labelledby'],
46
37
  ariaValuetext = props['aria-valuetext'],
47
- Component = props.as,
38
+ _props$as = props.as,
39
+ Component = _props$as === void 0 ? 'div' : _props$as,
48
40
  barClassName = props.barClassName,
49
41
  className = props.className,
50
- defaultValue = props.defaultValue,
42
+ _props$defaultValue = props.defaultValue,
43
+ defaultValue = _props$defaultValue === void 0 ? defaultDefaultValue : _props$defaultValue,
51
44
  graduated = props.graduated,
52
- progress = props.progress,
45
+ _props$progress = props.progress,
46
+ progress = _props$progress === void 0 ? true : _props$progress,
53
47
  vertical = props.vertical,
54
48
  disabled = props.disabled,
55
- classPrefix = props.classPrefix,
56
- min = props.min,
57
- maxProp = props.max,
58
- step = props.step,
49
+ _props$classPrefix = props.classPrefix,
50
+ classPrefix = _props$classPrefix === void 0 ? 'slider' : _props$classPrefix,
51
+ _props$min = props.min,
52
+ min = _props$min === void 0 ? 0 : _props$min,
53
+ _props$max = props.max,
54
+ maxProp = _props$max === void 0 ? 100 : _props$max,
55
+ _props$step = props.step,
56
+ step = _props$step === void 0 ? 1 : _props$step,
59
57
  valueProp = props.value,
60
58
  handleClassName = props.handleClassName,
61
59
  handleStyle = props.handleStyle,
62
60
  handleTitle = props.handleTitle,
63
- tooltip = props.tooltip,
61
+ _props$tooltip = props.tooltip,
62
+ tooltip = _props$tooltip === void 0 ? true : _props$tooltip,
64
63
  getAriaValueText = props.getAriaValueText,
65
64
  renderTooltip = props.renderTooltip,
66
65
  renderMark = props.renderMark,
@@ -284,7 +283,6 @@ var RangeSlider = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
284
283
  onDragEnd: handleChangeCommitted,
285
284
  onKeyDown: handleKeyDown,
286
285
  tabIndex: disabled ? null : 0,
287
- role: 'slider',
288
286
  'aria-orientation': vertical ? 'vertical' : 'horizontal',
289
287
  'aria-disabled': disabled,
290
288
  'aria-valuemax': max,
@@ -319,7 +317,6 @@ var RangeSlider = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
319
317
  });
320
318
 
321
319
  RangeSlider.displayName = 'RangeSlider';
322
- RangeSlider.defaultProps = defaultProps;
323
320
  RangeSlider.propTypes = (0, _extends2.default)({}, _Slider.sliderPropTypes, {
324
321
  value: _propTypes.default.arrayOf(_propTypes.default.number),
325
322
  defaultValue: _propTypes.default.arrayOf(_propTypes.default.number)
@@ -22,18 +22,16 @@ var _utils = require("../utils");
22
22
  var _characterStatus;
23
23
 
24
24
  var characterStatus = (_characterStatus = {}, _characterStatus[0] = 'empty', _characterStatus[0.5] = 'half', _characterStatus[1] = 'full', _characterStatus);
25
- var defaultProps = {
26
- as: 'li',
27
- classPrefix: 'rate-character'
28
- };
29
25
 
30
26
  var getKey = function getKey(a, b) {
31
27
  return _DOMHelper.default.contains(a, b) ? 'before' : 'after';
32
28
  };
33
29
 
34
30
  var Character = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
35
- var Component = props.as,
36
- classPrefix = props.classPrefix,
31
+ var _props$as = props.as,
32
+ Component = _props$as === void 0 ? 'li' : _props$as,
33
+ _props$classPrefix = props.classPrefix,
34
+ classPrefix = _props$classPrefix === void 0 ? 'rate-character' : _props$classPrefix,
37
35
  className = props.className,
38
36
  children = props.children,
39
37
  vertical = props.vertical,
@@ -75,7 +73,6 @@ var Character = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
75
73
  });
76
74
 
77
75
  Character.displayName = 'Character';
78
- Character.defaultProps = defaultProps;
79
76
  Character.propTypes = {
80
77
  as: _propTypes.default.elementType,
81
78
  className: _propTypes.default.string,
package/cjs/Rate/Rate.js CHANGED
@@ -25,31 +25,28 @@ var _Character = _interopRequireDefault(require("./Character"));
25
25
 
26
26
  var _Plaintext = _interopRequireDefault(require("../Plaintext"));
27
27
 
28
- var defaultProps = {
29
- as: 'ul',
30
- classPrefix: 'rate',
31
- character: /*#__PURE__*/_react.default.createElement(_Star.default, null),
32
- cleanable: true,
33
- defaultValue: 0,
34
- max: 5,
35
- size: 'md'
36
- };
37
-
38
28
  var Rate = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
39
- var Component = props.as,
40
- character = props.character,
29
+ var _props$as = props.as,
30
+ Component = _props$as === void 0 ? 'ul' : _props$as,
31
+ _props$character = props.character,
32
+ character = _props$character === void 0 ? /*#__PURE__*/_react.default.createElement(_Star.default, null) : _props$character,
41
33
  className = props.className,
42
- classPrefix = props.classPrefix,
34
+ _props$classPrefix = props.classPrefix,
35
+ classPrefix = _props$classPrefix === void 0 ? 'rate' : _props$classPrefix,
43
36
  disabled = props.disabled,
44
- max = props.max,
37
+ _props$max = props.max,
38
+ max = _props$max === void 0 ? 5 : _props$max,
45
39
  readOnly = props.readOnly,
46
40
  vertical = props.vertical,
47
- size = props.size,
41
+ _props$size = props.size,
42
+ size = _props$size === void 0 ? 'md' : _props$size,
48
43
  color = props.color,
49
44
  allowHalf = props.allowHalf,
50
45
  valueProp = props.value,
51
- defaultValue = props.defaultValue,
52
- cleanable = props.cleanable,
46
+ _props$defaultValue = props.defaultValue,
47
+ defaultValue = _props$defaultValue === void 0 ? 0 : _props$defaultValue,
48
+ _props$cleanable = props.cleanable,
49
+ cleanable = _props$cleanable === void 0 ? true : _props$cleanable,
53
50
  plaintext = props.plaintext,
54
51
  onChange = props.onChange,
55
52
  renderCharacter = props.renderCharacter,
@@ -175,7 +172,6 @@ var Rate = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
175
172
  });
176
173
 
177
174
  Rate.displayName = 'Rate';
178
- Rate.defaultProps = defaultProps;
179
175
  Rate.propTypes = {
180
176
  allowHalf: _propTypes.default.bool,
181
177
  character: _propTypes.default.node,
@@ -37,15 +37,12 @@ var getPosition = function getPosition(target, event) {
37
37
  };
38
38
  };
39
39
 
40
- var defaultProps = {
41
- as: 'span',
42
- classPrefix: 'ripple'
43
- };
44
-
45
40
  var Ripple = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
46
- var Component = props.as,
41
+ var _props$as = props.as,
42
+ Component = _props$as === void 0 ? 'span' : _props$as,
47
43
  className = props.className,
48
- classPrefix = props.classPrefix,
44
+ _props$classPrefix = props.classPrefix,
45
+ classPrefix = _props$classPrefix === void 0 ? 'ripple' : _props$classPrefix,
49
46
  onMouseDown = props.onMouseDown,
50
47
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "className", "classPrefix", "onMouseDown"]);
51
48
 
@@ -103,7 +100,6 @@ var Ripple = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
103
100
  });
104
101
 
105
102
  Ripple.displayName = 'Ripple';
106
- Ripple.defaultProps = defaultProps;
107
103
  Ripple.propTypes = {
108
104
  classPrefix: _propTypes.default.string,
109
105
  className: _propTypes.default.string,
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { PickerLocale } from '../locales';
3
3
  import { PickerComponent } from '../Picker';
4
- import { TypeAttributes, FormControlPickerProps, ItemDataType } from '../@types/common';
4
+ import { FormControlPickerProps, ItemDataType } from '../@types/common';
5
5
  import { ListProps } from 'react-virtualized/dist/commonjs/List';
6
6
  export declare type ValueType = number | string;
7
7
  export interface SelectProps<T = ValueType> {
@@ -16,8 +16,6 @@ export interface SelectProps<T = ValueType> {
16
16
  * https://github.com/bvaughn/react-virtualized/blob/master/docs/List.md#prop-types
17
17
  */
18
18
  listProps?: ListProps;
19
- /** A picker can have different sizes */
20
- size?: TypeAttributes.Size;
21
19
  /** Custom search rules. */
22
20
  searchBy?: (keyword: string, label: React.ReactNode, item: ItemDataType) => boolean;
23
21
  /** Sort options */
@@ -33,43 +33,43 @@ var _Picker = require("../Picker");
33
33
 
34
34
  var _templateObject;
35
35
 
36
- var defaultProps = {
37
- as: 'div',
38
- appearance: 'default',
39
- classPrefix: 'picker',
40
- searchable: true,
41
- cleanable: true,
42
- data: [],
43
- disabledItemValues: [],
44
- valueKey: 'value',
45
- labelKey: 'label',
46
- placement: 'bottomStart',
47
- menuAutoWidth: true,
48
- menuMaxHeight: 320
49
- };
36
+ var emptyArray = [];
50
37
 
51
38
  var SelectPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
52
- var Component = props.as,
53
- data = props.data,
54
- valueKey = props.valueKey,
55
- labelKey = props.labelKey,
39
+ var _props$as = props.as,
40
+ Component = _props$as === void 0 ? 'div' : _props$as,
41
+ _props$appearance = props.appearance,
42
+ appearance = _props$appearance === void 0 ? 'default' : _props$appearance,
43
+ _props$data = props.data,
44
+ data = _props$data === void 0 ? emptyArray : _props$data,
45
+ _props$valueKey = props.valueKey,
46
+ valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,
47
+ _props$labelKey = props.labelKey,
48
+ labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,
56
49
  valueProp = props.value,
57
- classPrefix = props.classPrefix,
50
+ _props$classPrefix = props.classPrefix,
51
+ classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,
58
52
  placeholder = props.placeholder,
59
53
  defaultValue = props.defaultValue,
60
54
  disabled = props.disabled,
61
- cleanable = props.cleanable,
62
- placement = props.placement,
55
+ _props$cleanable = props.cleanable,
56
+ cleanable = _props$cleanable === void 0 ? true : _props$cleanable,
57
+ _props$placement = props.placement,
58
+ placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,
63
59
  menuClassName = props.menuClassName,
64
- menuAutoWidth = props.menuAutoWidth,
65
- menuMaxHeight = props.menuMaxHeight,
60
+ _props$menuAutoWidth = props.menuAutoWidth,
61
+ menuAutoWidth = _props$menuAutoWidth === void 0 ? true : _props$menuAutoWidth,
62
+ _props$menuMaxHeight = props.menuMaxHeight,
63
+ menuMaxHeight = _props$menuMaxHeight === void 0 ? 320 : _props$menuMaxHeight,
66
64
  menuStyle = props.menuStyle,
67
65
  groupBy = props.groupBy,
68
66
  overrideLocale = props.locale,
69
67
  toggleAs = props.toggleAs,
70
68
  style = props.style,
71
- searchable = props.searchable,
72
- disabledItemValues = props.disabledItemValues,
69
+ _props$searchable = props.searchable,
70
+ searchable = _props$searchable === void 0 ? true : _props$searchable,
71
+ _props$disabledItemVa = props.disabledItemValues,
72
+ disabledItemValues = _props$disabledItemVa === void 0 ? emptyArray : _props$disabledItemVa,
73
73
  virtualized = props.virtualized,
74
74
  listProps = props.listProps,
75
75
  id = props.id,
@@ -89,7 +89,7 @@ var SelectPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
89
89
  renderMenuGroup = props.renderMenuGroup,
90
90
  renderMenuItem = props.renderMenuItem,
91
91
  renderExtraFooter = props.renderExtraFooter,
92
- rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "data", "valueKey", "labelKey", "value", "classPrefix", "placeholder", "defaultValue", "disabled", "cleanable", "placement", "menuClassName", "menuAutoWidth", "menuMaxHeight", "menuStyle", "groupBy", "locale", "toggleAs", "style", "searchable", "disabledItemValues", "virtualized", "listProps", "id", "onGroupTitleClick", "searchBy", "onEntered", "onExited", "onClean", "onChange", "onSelect", "onSearch", "onClose", "onOpen", "sort", "renderValue", "renderMenu", "renderMenuGroup", "renderMenuItem", "renderExtraFooter"]);
92
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "appearance", "data", "valueKey", "labelKey", "value", "classPrefix", "placeholder", "defaultValue", "disabled", "cleanable", "placement", "menuClassName", "menuAutoWidth", "menuMaxHeight", "menuStyle", "groupBy", "locale", "toggleAs", "style", "searchable", "disabledItemValues", "virtualized", "listProps", "id", "onGroupTitleClick", "searchBy", "onEntered", "onExited", "onClean", "onChange", "onSelect", "onSearch", "onClose", "onOpen", "sort", "renderValue", "renderMenu", "renderMenuGroup", "renderMenuItem", "renderExtraFooter"]);
93
93
  var triggerRef = (0, _react.useRef)();
94
94
  var targetRef = (0, _react.useRef)();
95
95
  var overlayRef = (0, _react.useRef)();
@@ -298,8 +298,11 @@ var SelectPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
298
298
  };
299
299
 
300
300
  var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends2.default)({}, props, {
301
+ classPrefix: classPrefix,
302
+ appearance: appearance,
301
303
  hasValue: hasValue,
302
- name: 'select'
304
+ name: 'select',
305
+ cleanable: cleanable
303
306
  })),
304
307
  classes = _usePickerClassName[0],
305
308
  usedClassNamePropKeys = _usePickerClassName[1];
@@ -317,6 +320,7 @@ var SelectPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
317
320
  }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends2.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys)), {
318
321
  id: id,
319
322
  ref: targetRef,
323
+ appearance: appearance,
320
324
  onClean: (0, _utils.createChainedFunction)(handleClean, onClean),
321
325
  onKeyDown: onPickerKeyDown,
322
326
  as: toggleAs,
@@ -330,7 +334,6 @@ var SelectPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
330
334
  });
331
335
 
332
336
  SelectPicker.displayName = 'SelectPicker';
333
- SelectPicker.defaultProps = defaultProps;
334
337
  SelectPicker.propTypes = (0, _extends2.default)({}, _Picker.listPickerPropTypes, {
335
338
  locale: _propTypes.default.any,
336
339
  appearance: _propTypes.default.oneOf(['default', 'subtle']),
@@ -19,18 +19,15 @@ var _utils = require("../utils");
19
19
 
20
20
  var _Container = require("../Container/Container");
21
21
 
22
- var defaultProps = {
23
- as: 'aside',
24
- classPrefix: 'sidebar',
25
- width: 260
26
- };
27
-
28
22
  var Sidebar = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
29
- var Component = props.as,
30
- classPrefix = props.classPrefix,
23
+ var _props$as = props.as,
24
+ Component = _props$as === void 0 ? 'aside' : _props$as,
25
+ _props$classPrefix = props.classPrefix,
26
+ classPrefix = _props$classPrefix === void 0 ? 'sidebar' : _props$classPrefix,
31
27
  className = props.className,
32
28
  collapsible = props.collapsible,
33
- width = props.width,
29
+ _props$width = props.width,
30
+ width = _props$width === void 0 ? 260 : _props$width,
34
31
  style = props.style,
35
32
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "classPrefix", "className", "collapsible", "width", "style"]);
36
33
 
@@ -61,7 +58,6 @@ var Sidebar = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
61
58
  });
62
59
 
63
60
  Sidebar.displayName = 'Sidebar';
64
- Sidebar.defaultProps = defaultProps;
65
61
  Sidebar.propTypes = {
66
62
  className: _propTypes.default.string,
67
63
  classPrefix: _propTypes.default.string,
@@ -34,19 +34,17 @@ var _deprecatePropType = _interopRequireDefault(require("../utils/deprecatePropT
34
34
  var SidenavContext = /*#__PURE__*/_react.default.createContext(null);
35
35
 
36
36
  exports.SidenavContext = SidenavContext;
37
- var defaultProps = {
38
- as: 'nav',
39
- classPrefix: 'sidenav',
40
- appearance: 'default',
41
- expanded: true
42
- };
43
37
 
44
38
  var Sidenav = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
45
- var Component = props.as,
39
+ var _props$as = props.as,
40
+ Component = _props$as === void 0 ? 'nav' : _props$as,
46
41
  className = props.className,
47
- classPrefix = props.classPrefix,
48
- appearance = props.appearance,
49
- expanded = props.expanded,
42
+ _props$classPrefix = props.classPrefix,
43
+ classPrefix = _props$classPrefix === void 0 ? 'sidenav' : _props$classPrefix,
44
+ _props$appearance = props.appearance,
45
+ appearance = _props$appearance === void 0 ? 'default' : _props$appearance,
46
+ _props$expanded = props.expanded,
47
+ expanded = _props$expanded === void 0 ? true : _props$expanded,
50
48
  activeKey = props.activeKey,
51
49
  defaultOpenKeys = props.defaultOpenKeys,
52
50
  openKeysProp = props.openKeys,
@@ -113,7 +111,6 @@ Sidenav.Header = _SidenavHeader.default;
113
111
  Sidenav.Body = _SidenavBody.default;
114
112
  Sidenav.Toggle = _SidenavToggle.default;
115
113
  Sidenav.displayName = 'Sidenav';
116
- Sidenav.defaultProps = defaultProps;
117
114
  Sidenav.propTypes = {
118
115
  as: _propTypes.default.elementType,
119
116
  classPrefix: _propTypes.default.string,
@@ -27,8 +27,13 @@ export interface SidenavDropdownProps<T = any> extends WithAsProps, Omit<React.H
27
27
  * @deprecated
28
28
  */
29
29
  open?: boolean;
30
- /** Custom title */
30
+ /**
31
+ * Custom title
32
+ * @deprecated Use `renderToggle` instead.
33
+ */
31
34
  renderTitle?: (children?: React.ReactNode) => React.ReactNode;
35
+ /** Custom Toggle */
36
+ renderToggle?: (props: WithAsProps, ref: React.Ref<any>) => any;
32
37
  /** The callback function that the menu closes */
33
38
  onClose?: () => void;
34
39
  /** Menu Pop-up callback function */
@@ -15,8 +15,6 @@ var _react = _interopRequireWildcard(require("react"));
15
15
 
16
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
17
17
 
18
- var _isNil = _interopRequireDefault(require("lodash/isNil"));
19
-
20
18
  var _kebabCase = _interopRequireDefault(require("lodash/kebabCase"));
21
19
 
22
20
  var _omit = _interopRequireDefault(require("lodash/omit"));
@@ -33,22 +31,24 @@ var _SidenavDropdownCollapse = _interopRequireDefault(require("./SidenavDropdown
33
31
 
34
32
  var _Disclosure = _interopRequireDefault(require("../Disclosure/Disclosure"));
35
33
 
36
- var defaultProps = {
37
- as: 'div',
38
- classPrefix: 'dropdown',
39
- placement: 'bottomStart'
40
- };
34
+ var _DropdownContext = _interopRequireDefault(require("../Dropdown/DropdownContext"));
35
+
36
+ var _useInternalId = _interopRequireDefault(require("../utils/useInternalId"));
41
37
 
42
38
  var SidenavDropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
43
- var Component = props.as,
39
+ var _props$as = props.as,
40
+ Component = _props$as === void 0 ? 'div' : _props$as,
44
41
  title = props.title,
45
42
  children = props.children,
46
43
  className = props.className,
47
44
  menuStyle = props.menuStyle,
48
45
  disabled = props.disabled,
49
46
  renderTitle = props.renderTitle,
50
- classPrefix = props.classPrefix,
51
- placement = props.placement,
47
+ renderToggle = props.renderToggle,
48
+ _props$classPrefix = props.classPrefix,
49
+ classPrefix = _props$classPrefix === void 0 ? 'dropdown' : _props$classPrefix,
50
+ _props$placement = props.placement,
51
+ placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,
52
52
  toggleClassName = props.toggleClassName,
53
53
  icon = props.icon,
54
54
  eventKey = props.eventKey,
@@ -59,17 +59,22 @@ var SidenavDropdown = /*#__PURE__*/_react.default.forwardRef(function (props, re
59
59
  onClose = props.onClose,
60
60
  openProp = props.open,
61
61
  onToggle = props.onToggle,
62
- rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "title", "children", "className", "menuStyle", "disabled", "renderTitle", "classPrefix", "placement", "toggleClassName", "icon", "eventKey", "toggleAs", "noCaret", "style", "onOpen", "onClose", "open", "onToggle"]);
62
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "title", "children", "className", "menuStyle", "disabled", "renderTitle", "renderToggle", "classPrefix", "placement", "toggleClassName", "icon", "eventKey", "toggleAs", "noCaret", "style", "onOpen", "onClose", "open", "onToggle"]);
63
63
 
64
64
  var _useContext = (0, _react.useContext)(_Sidenav.SidenavContext),
65
65
  _useContext$openKeys = _useContext.openKeys,
66
66
  openKeys = _useContext$openKeys === void 0 ? [] : _useContext$openKeys,
67
67
  onOpenChange = _useContext.onOpenChange;
68
68
 
69
+ var _useContext2 = (0, _react.useContext)(_DropdownContext.default),
70
+ hasSelectedItem = _useContext2.hasSelectedItem;
71
+
69
72
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
70
73
  merge = _useClassNames.merge,
71
74
  withClassPrefix = _useClassNames.withClassPrefix;
72
75
 
76
+ var internalId = (0, _useInternalId.default)('SidenavDropdown');
77
+ var uniqueKey = eventKey !== null && eventKey !== void 0 ? eventKey : internalId;
73
78
  var handleToggleDisclosure = (0, _react.useCallback)(function (open, event) {
74
79
  if (open) {
75
80
  onClose === null || onClose === void 0 ? void 0 : onClose();
@@ -78,17 +83,17 @@ var SidenavDropdown = /*#__PURE__*/_react.default.forwardRef(function (props, re
78
83
  }
79
84
 
80
85
  onToggle === null || onToggle === void 0 ? void 0 : onToggle(open);
81
- if ((0, _isNil.default)(eventKey)) return;
82
- onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(eventKey, event);
83
- }, [onClose, onOpen, onToggle, eventKey, onOpenChange]);
86
+ onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(uniqueKey, event);
87
+ }, [onClose, onOpen, onToggle, uniqueKey, onOpenChange]);
88
+ var open = openProp !== null && openProp !== void 0 ? openProp : openKeys.includes(uniqueKey);
84
89
  return /*#__PURE__*/_react.default.createElement(_Disclosure.default, {
85
- open: openProp !== null && openProp !== void 0 ? openProp : !(0, _isNil.default)(eventKey) && openKeys.includes(eventKey),
90
+ open: open,
86
91
  onToggle: handleToggleDisclosure
87
92
  }, function (_ref, containerRef) {
88
93
  var _withClassPrefix;
89
94
 
90
95
  var open = _ref.open;
91
- var classes = merge(className, withClassPrefix((_withClassPrefix = {}, _withClassPrefix["placement-" + (0, _kebabCase.default)((0, _utils.placementPolyfill)(placement))] = placement, _withClassPrefix[open ? 'expand' : 'collapse'] = true, _withClassPrefix.disabled = disabled, _withClassPrefix['no-caret'] = noCaret, _withClassPrefix)));
96
+ var classes = merge(className, withClassPrefix((_withClassPrefix = {}, _withClassPrefix["placement-" + (0, _kebabCase.default)((0, _utils.placementPolyfill)(placement))] = placement, _withClassPrefix[open ? 'expand' : 'collapse'] = true, _withClassPrefix.disabled = disabled, _withClassPrefix['selected-within'] = hasSelectedItem, _withClassPrefix['no-caret'] = noCaret, _withClassPrefix)));
92
97
  return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
93
98
  ref: (0, _utils.mergeRefs)(ref, containerRef),
94
99
  style: style,
@@ -98,10 +103,10 @@ var SidenavDropdown = /*#__PURE__*/_react.default.forwardRef(function (props, re
98
103
  }), /*#__PURE__*/_react.default.createElement(_Disclosure.default.Button, null, function (buttonProps, buttonRef) {
99
104
  return /*#__PURE__*/_react.default.createElement(_DropdownToggle.default, (0, _extends2.default)({
100
105
  ref: buttonRef,
101
- as: renderTitle ? 'span' : toggleAs,
106
+ as: toggleAs,
102
107
  noCaret: noCaret,
103
108
  className: toggleClassName,
104
- renderTitle: renderTitle,
109
+ renderToggle: renderToggle,
105
110
  icon: icon,
106
111
  placement: placement
107
112
  }, (0, _omit.default)(buttonProps, ['open'])), title);
@@ -116,7 +121,6 @@ var SidenavDropdown = /*#__PURE__*/_react.default.forwardRef(function (props, re
116
121
  });
117
122
 
118
123
  SidenavDropdown.displayName = 'Sidenav.Dropdown';
119
- SidenavDropdown.defaultProps = defaultProps;
120
124
  SidenavDropdown.propTypes = {
121
125
  activeKey: _propTypes.default.any,
122
126
  classPrefix: _propTypes.default.string,
@@ -142,7 +146,8 @@ SidenavDropdown.propTypes = {
142
146
  onMouseLeave: _propTypes.default.func,
143
147
  onContextMenu: _propTypes.default.func,
144
148
  onClick: _propTypes.default.func,
145
- renderTitle: _propTypes.default.func
149
+ renderTitle: (0, _deprecatePropType.default)(_propTypes.default.func),
150
+ renderToggle: _propTypes.default.func
146
151
  };
147
152
  var _default = SidenavDropdown;
148
153
  exports.default = _default;