rsuite 5.23.3 → 5.24.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 (43) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/Sidenav/styles/index.less +7 -2
  3. package/cjs/AutoComplete/AutoComplete.d.ts +2 -0
  4. package/cjs/AutoComplete/AutoComplete.js +4 -1
  5. package/cjs/Calendar/MonthDropdown.d.ts +1 -0
  6. package/cjs/Calendar/MonthDropdown.js +14 -10
  7. package/cjs/DatePicker/DatePicker.d.ts +5 -1
  8. package/cjs/DatePicker/DatePicker.js +17 -1
  9. package/cjs/Dropdown/Dropdown.d.ts +2 -0
  10. package/cjs/Dropdown/Dropdown.js +3 -0
  11. package/cjs/Dropdown/DropdownItem.d.ts +5 -1
  12. package/cjs/Dropdown/DropdownItem.js +7 -7
  13. package/cjs/Dropdown/DropdownSeparator.d.ts +14 -0
  14. package/cjs/Dropdown/DropdownSeparator.js +48 -0
  15. package/cjs/Sidenav/ExpandedSidenavDropdownMenu.js +3 -2
  16. package/cjs/utils/deprecatePropType.d.ts +9 -0
  17. package/cjs/utils/deprecatePropType.js +27 -0
  18. package/dist/rsuite-rtl.css +5 -3
  19. package/dist/rsuite-rtl.min.css +1 -1
  20. package/dist/rsuite-rtl.min.css.map +1 -1
  21. package/dist/rsuite.css +5 -3
  22. package/dist/rsuite.js +18 -7
  23. package/dist/rsuite.js.map +1 -1
  24. package/dist/rsuite.min.css +1 -1
  25. package/dist/rsuite.min.css.map +1 -1
  26. package/dist/rsuite.min.js +1 -1
  27. package/dist/rsuite.min.js.map +1 -1
  28. package/esm/AutoComplete/AutoComplete.d.ts +2 -0
  29. package/esm/AutoComplete/AutoComplete.js +4 -1
  30. package/esm/Calendar/MonthDropdown.d.ts +1 -0
  31. package/esm/Calendar/MonthDropdown.js +12 -9
  32. package/esm/DatePicker/DatePicker.d.ts +5 -1
  33. package/esm/DatePicker/DatePicker.js +16 -1
  34. package/esm/Dropdown/Dropdown.d.ts +2 -0
  35. package/esm/Dropdown/Dropdown.js +2 -0
  36. package/esm/Dropdown/DropdownItem.d.ts +5 -1
  37. package/esm/Dropdown/DropdownItem.js +5 -7
  38. package/esm/Dropdown/DropdownSeparator.d.ts +14 -0
  39. package/esm/Dropdown/DropdownSeparator.js +35 -0
  40. package/esm/Sidenav/ExpandedSidenavDropdownMenu.js +3 -2
  41. package/esm/utils/deprecatePropType.d.ts +9 -0
  42. package/esm/utils/deprecatePropType.js +25 -0
  43. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ # [5.24.0](https://github.com/rsuite/rsuite/compare/v5.23.3...v5.24.0) (2022-12-30)
2
+
3
+ ### Bug Fixes
4
+
5
+ - **AutoComplete:** fix AutoComplete size property not working ([#2990](https://github.com/rsuite/rsuite/issues/2990)) ([add665b](https://github.com/rsuite/rsuite/commit/add665b82b9d2cbd21e07576bf77f74e18991e21))
6
+ - **DatePicker:** fix inconsistency between month selectable state and ok button clickable state ([#2984](https://github.com/rsuite/rsuite/issues/2984)) ([70e6aba](https://github.com/rsuite/rsuite/commit/70e6aba0b7a3216c9f8b59b033826e55bebac1a1))
7
+ - **Sidenav:** fix Sidenav multilevel Nav.Menu arrow icon exception ([#2986](https://github.com/rsuite/rsuite/issues/2986)) ([87f6748](https://github.com/rsuite/rsuite/commit/87f67482b60eae4ed445246fe3e6ac9b0cad0385))
8
+
9
+ ### Features
10
+
11
+ - **Dropdown:** add Dropdown.Separator component ([#2979](https://github.com/rsuite/rsuite/issues/2979)) ([db6fcbb](https://github.com/rsuite/rsuite/commit/db6fcbbd88961e3506f6b2d2146cf43717d1e1db))
12
+
1
13
  ## [5.23.3](https://github.com/rsuite/rsuite/compare/v5.23.2...v5.23.3) (2022-12-16)
2
14
 
3
15
  ### Bug Fixes
@@ -76,14 +76,19 @@
76
76
  top: @sidenav-children-padding-vertical;
77
77
  // width: auto;
78
78
  // height: @sidenav-dropdown-toggle-caret-width;
79
- transform: rotate(90deg);
79
+ // transform: rotate(90deg);
80
80
  }
81
81
  }
82
82
 
83
83
  // Expanded submenu toggle icon
84
- .rs-dropdown-item-expand .rs-dropdown-item-toggle-icon {
84
+ .rs-dropdown-item-expand-icon {
85
85
  transform: rotate(270deg);
86
86
  }
87
+
88
+ // Collapse submenu toggle icon
89
+ .rs-dropdown-item-collapse-icon {
90
+ transform: rotate(90deg);
91
+ }
87
92
  }
88
93
 
89
94
  .high-contrast-mode({
@@ -9,6 +9,8 @@ export interface AutoCompleteProps<T = ValueType> extends WithAsProps, FormContr
9
9
  placement?: TypeAttributes.Placement;
10
10
  /** When set to false, the Enter key selection function is invalid */
11
11
  selectOnEnter?: boolean;
12
+ /** A component can have different sizes */
13
+ size?: TypeAttributes.Size;
12
14
  /** Open the menu and control it */
13
15
  open?: boolean;
14
16
  /** Placeholder text */
@@ -52,6 +52,7 @@ var AutoComplete = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
52
52
  valueProp = props.value,
53
53
  open = props.open,
54
54
  style = props.style,
55
+ size = props.size,
55
56
  menuClassName = props.menuClassName,
56
57
  id = props.id,
57
58
  renderMenu = props.renderMenu,
@@ -65,7 +66,7 @@ var AutoComplete = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
65
66
  onFocus = props.onFocus,
66
67
  onBlur = props.onBlur,
67
68
  onMenuFocus = props.onMenuFocus,
68
- rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "disabled", "className", "placement", "selectOnEnter", "classPrefix", "defaultValue", "menuAutoWidth", "data", "value", "open", "style", "menuClassName", "id", "renderMenu", "renderMenuItem", "onSelect", "filterBy", "onKeyDown", "onChange", "onClose", "onOpen", "onFocus", "onBlur", "onMenuFocus"]);
69
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "disabled", "className", "placement", "selectOnEnter", "classPrefix", "defaultValue", "menuAutoWidth", "data", "value", "open", "style", "size", "menuClassName", "id", "renderMenu", "renderMenuItem", "onSelect", "filterBy", "onKeyDown", "onChange", "onClose", "onOpen", "onFocus", "onBlur", "onMenuFocus"]);
69
70
  var datalist = (0, _utils3.transformData)(data);
70
71
 
71
72
  var _useControlled = (0, _utils.useControlled)(valueProp, defaultValue),
@@ -231,6 +232,7 @@ var AutoComplete = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
231
232
  id: id,
232
233
  disabled: disabled,
233
234
  value: value,
235
+ size: size,
234
236
  onBlur: handleInputBlur,
235
237
  onFocus: handleInputFocus,
236
238
  onChange: handleChange,
@@ -260,6 +262,7 @@ AutoComplete.propTypes = (0, _extends2.default)({}, _utils2.animationPropTypes,
260
262
  renderMenu: _propTypes.default.func,
261
263
  renderMenuItem: _propTypes.default.func,
262
264
  style: _propTypes.default.object,
265
+ size: _propTypes.default.oneOf(['lg', 'md', 'sm', 'xs']),
263
266
  open: _propTypes.default.bool,
264
267
  selectOnEnter: _propTypes.default.bool,
265
268
  filterBy: _propTypes.default.func
@@ -22,5 +22,6 @@ export interface RowProps {
22
22
  /** Style object to be applied to row (to position it); */
23
23
  style?: React.CSSProperties;
24
24
  }
25
+ export declare function isEveryDateInMonth(year: number, month: number, predicate: (date: Date) => boolean): boolean;
25
26
  declare const MonthDropdown: RsRefForwardingComponent<'div', MonthDropdownProps>;
26
27
  export default MonthDropdown;
@@ -5,6 +5,7 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
5
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
6
 
7
7
  exports.__esModule = true;
8
+ exports.isEveryDateInMonth = isEveryDateInMonth;
8
9
  exports.default = void 0;
9
10
 
10
11
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
@@ -25,6 +26,18 @@ var _CalendarContext = require("./CalendarContext");
25
26
 
26
27
  var monthMap = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
27
28
 
29
+ function isEveryDateInMonth(year, month, predicate) {
30
+ var days = _utils.DateUtils.getDaysInMonth(new Date(year, month));
31
+
32
+ for (var i = 1; i <= days; i++) {
33
+ if (!predicate(new Date(year, month, i))) {
34
+ return false;
35
+ }
36
+ }
37
+
38
+ return true;
39
+ }
40
+
28
41
  var MonthDropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
29
42
  var _props$as = props.as,
30
43
  Component = _props$as === void 0 ? 'div' : _props$as,
@@ -60,16 +73,7 @@ var MonthDropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
60
73
  }, [limitEndYear, startYear, thisYear]);
61
74
  var isMonthDisabled = (0, _react.useCallback)(function (year, month) {
62
75
  if (disabledMonth) {
63
- var days = _utils.DateUtils.getDaysInMonth(new Date(year, month)); // If all dates in a month are disabled, disable the current month
64
-
65
-
66
- for (var i = 1; i <= days; i++) {
67
- if (!disabledMonth(new Date(year, month, i))) {
68
- return false;
69
- }
70
- }
71
-
72
- return true;
76
+ return isEveryDateInMonth(year, month, disabledMonth);
73
77
  }
74
78
 
75
79
  return false;
@@ -29,7 +29,11 @@ export interface DatePickerProps extends PickerBaseProps<DatePickerLocale>, Form
29
29
  showMeridian?: boolean;
30
30
  /** one tap to select */
31
31
  oneTap?: boolean;
32
- /** Disabled date */
32
+ /**
33
+ * Whether to disable a date on the calendar view
34
+ *
35
+ * @returns date should be disabled (not selectable)
36
+ */
33
37
  disabledDate?: (date?: Date) => boolean;
34
38
  /** Disabled hours */
35
39
  disabledHours?: (hour: number, date: Date) => boolean;
@@ -29,6 +29,8 @@ var _CalendarContainer = _interopRequireDefault(require("../Calendar/CalendarCon
29
29
 
30
30
  var _useCalendarDate2 = _interopRequireDefault(require("../Calendar/useCalendarDate"));
31
31
 
32
+ var _MonthDropdown = require("../Calendar/MonthDropdown");
33
+
32
34
  var _Toolbar = _interopRequireDefault(require("./Toolbar"));
33
35
 
34
36
  var _Stack = _interopRequireDefault(require("../Stack"));
@@ -336,6 +338,20 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
336
338
 
337
339
  return allowDate || allowTime;
338
340
  }, [disabledDateProp, props]);
341
+ /**
342
+ * Whether "OK" button is disabled
343
+ *
344
+ * - If format is date, disable ok button if selected date is disabled
345
+ * - If format is month, disable ok button if all dates in the month of selected date are disabled
346
+ */
347
+
348
+ var isOKButtonDisabled = (0, _react.useCallback)(function (selectedDate) {
349
+ if (_utils.DateUtils.shouldRenderMonth(formatStr) && !_utils.DateUtils.shouldRenderDate(formatStr)) {
350
+ return (0, _MonthDropdown.isEveryDateInMonth)(selectedDate.getFullYear(), selectedDate.getMonth(), disabledToolbarHandle);
351
+ }
352
+
353
+ return disabledToolbarHandle(selectedDate);
354
+ }, [disabledToolbarHandle, formatStr]);
339
355
  var calendarProps = (0, _react.useMemo)(function () {
340
356
  return (0, _mapValues.default)((0, _pick.default)(props, _utils.DateUtils.calendarOnlyProps), function (disabledOrHiddenTimeFunc) {
341
357
  return function (next, date) {
@@ -406,7 +422,7 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
406
422
  locale: locale,
407
423
  ranges: bottomRanges,
408
424
  calendarDate: calendarDate,
409
- disabledOkBtn: disabledToolbarHandle,
425
+ disabledOkBtn: isOKButtonDisabled,
410
426
  disabledShortcut: disabledToolbarHandle,
411
427
  onClickShortcut: handleShortcutPageDate,
412
428
  onOk: handleOK,
@@ -4,6 +4,7 @@ import { TypeAttributes, WithAsProps, RsRefForwardingComponent } from '../@types
4
4
  import { IconProps } from '@rsuite/icons/lib/Icon';
5
5
  import DropdownItem from './DropdownItem';
6
6
  import Button from '../Button';
7
+ import DropdownSeparator from './DropdownSeparator';
7
8
  export declare type DropdownTrigger = 'click' | 'hover' | 'contextMenu';
8
9
  export interface DropdownProps<T = any> extends WithAsProps, Omit<React.HTMLAttributes<HTMLElement>, 'onSelect' | 'title'> {
9
10
  /** Define the title as a submenu */
@@ -58,6 +59,7 @@ export interface DropdownComponent extends RsRefForwardingComponent<'div', Dropd
58
59
  } & React.ComponentProps<ToggleAs>, context: any): JSX.Element | null;
59
60
  Item: typeof DropdownItem;
60
61
  Menu: typeof DropdownMenu;
62
+ Separator: typeof DropdownSeparator;
61
63
  }
62
64
  /**
63
65
  * The <Dropdown> API
@@ -43,6 +43,8 @@ var _warnOnce = _interopRequireDefault(require("../utils/warnOnce"));
43
43
 
44
44
  var _Nav = _interopRequireDefault(require("../Nav"));
45
45
 
46
+ var _DropdownSeparator = _interopRequireDefault(require("./DropdownSeparator"));
47
+
46
48
  /**
47
49
  * The <Dropdown> API
48
50
  * When used inside <Sidenav>, renders a <TreeviewRootItem>;
@@ -186,6 +188,7 @@ var Dropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
186
188
 
187
189
  Dropdown.Item = _DropdownItem.default;
188
190
  Dropdown.Menu = _DropdownMenu.default;
191
+ Dropdown.Separator = _DropdownSeparator.default;
189
192
  Dropdown.displayName = 'Dropdown';
190
193
  Dropdown.propTypes = {
191
194
  activeKey: _propTypes.default.any,
@@ -8,7 +8,11 @@ export interface DropdownMenuItemProps<T = any> extends WithAsProps, Omit<React.
8
8
  children?: React.ReactNode;
9
9
  /** You can use a custom element for this component */
10
10
  as?: React.ElementType;
11
- /** Whether to display the divider */
11
+ /**
12
+ * Whether to display the divider
13
+ *
14
+ * @deprecated Use dedicated <Dropdown.Separator> component instead
15
+ */
12
16
  divider?: boolean;
13
17
  /** Disable the current option */
14
18
  disabled?: boolean;
@@ -11,11 +11,13 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
11
11
 
12
12
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
13
13
 
14
+ var _pick2 = _interopRequireDefault(require("lodash/pick"));
15
+
14
16
  var _react = _interopRequireWildcard(require("react"));
15
17
 
16
18
  var _propTypes = _interopRequireDefault(require("prop-types"));
17
19
 
18
- var _deprecatePropType = _interopRequireDefault(require("../utils/deprecatePropType"));
20
+ var _deprecatePropType = _interopRequireWildcard(require("../utils/deprecatePropType"));
19
21
 
20
22
  var _MenuItem = _interopRequireDefault(require("../Menu/MenuItem"));
21
23
 
@@ -37,6 +39,8 @@ var _warnOnce = _interopRequireDefault(require("../utils/warnOnce"));
37
39
 
38
40
  var _Nav = _interopRequireDefault(require("../Nav"));
39
41
 
42
+ var _DropdownSeparator = _interopRequireDefault(require("./DropdownSeparator"));
43
+
40
44
  /**
41
45
  * The <Dropdown.Item> API
42
46
  * When used inside <Sidenav>, renders a <TreeviewItem>
@@ -106,11 +110,7 @@ var DropdownItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
106
110
  }
107
111
 
108
112
  if (divider) {
109
- return renderDropdownItem((0, _extends2.default)({
110
- ref: ref,
111
- role: 'separator',
112
- className: merge(prefix('divider'), className)
113
- }, restProps));
113
+ return /*#__PURE__*/_react.default.createElement(_DropdownSeparator.default, (0, _pick2.default)(props, ['data-testid']));
114
114
  }
115
115
 
116
116
  if (panel) {
@@ -159,7 +159,7 @@ var DropdownItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
159
159
  DropdownItem.displayName = 'Dropdown.Item';
160
160
  DropdownItem.propTypes = {
161
161
  as: _propTypes.default.elementType,
162
- divider: _propTypes.default.bool,
162
+ divider: (0, _deprecatePropType.deprecatePropTypeNew)(_propTypes.default.bool, 'Use Dropdown.Separator component instead.'),
163
163
  panel: _propTypes.default.bool,
164
164
  trigger: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.oneOf(['click', 'hover'])]),
165
165
  open: (0, _deprecatePropType.default)(_propTypes.default.bool),
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import { RsRefForwardingComponent, WithAsProps } from '../@types/common';
3
+ export interface DropdownSeparatorProps extends WithAsProps, React.HTMLAttributes<HTMLElement> {
4
+ /** You can use a custom element for this component */
5
+ as?: React.ElementType;
6
+ }
7
+ /**
8
+ * The <Dropdown.Separator> API
9
+ *
10
+ * Renders a non-focusable and non-interactive `separator`
11
+ * Per ARIA APG https://www.w3.org/WAI/ARIA/apg/patterns/menu/
12
+ */
13
+ declare const DropdownSeparator: RsRefForwardingComponent<'li', DropdownSeparatorProps>;
14
+ export default DropdownSeparator;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.default = void 0;
7
+
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+
10
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _propTypes = _interopRequireDefault(require("prop-types"));
15
+
16
+ var _utils = require("../utils");
17
+
18
+ /**
19
+ * The <Dropdown.Separator> API
20
+ *
21
+ * Renders a non-focusable and non-interactive `separator`
22
+ * Per ARIA APG https://www.w3.org/WAI/ARIA/apg/patterns/menu/
23
+ */
24
+ var DropdownSeparator = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
25
+ var _props$classPrefix = props.classPrefix,
26
+ classPrefix = _props$classPrefix === void 0 ? 'dropdown-item-divider' : _props$classPrefix,
27
+ className = props.className,
28
+ _props$as = props.as,
29
+ Component = _props$as === void 0 ? 'li' : _props$as,
30
+ restProps = (0, _objectWithoutPropertiesLoose2.default)(props, ["classPrefix", "className", "as"]);
31
+
32
+ var _useClassNames = (0, _utils.useClassNames)(classPrefix),
33
+ merge = _useClassNames.merge,
34
+ withClassPrefix = _useClassNames.withClassPrefix;
35
+
36
+ return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
37
+ ref: ref,
38
+ role: "separator",
39
+ className: merge(withClassPrefix(), className)
40
+ }, restProps));
41
+ });
42
+
43
+ DropdownSeparator.displayName = 'Dropdown.Separator';
44
+ DropdownSeparator.propTypes = {
45
+ as: _propTypes.default.elementType
46
+ };
47
+ var _default = DropdownSeparator;
48
+ exports.default = _default;
@@ -37,7 +37,7 @@ var _Ripple = _interopRequireDefault(require("../Ripple"));
37
37
 
38
38
  var _Disclosure = _interopRequireDefault(require("../Disclosure/Disclosure"));
39
39
 
40
- var _templateObject, _templateObject2;
40
+ var _templateObject;
41
41
 
42
42
  /**
43
43
  * Tree View Node
@@ -99,6 +99,7 @@ var ExpandedSidenavDropdownMenu = /*#__PURE__*/_react.default.forwardRef(functio
99
99
  // open,
100
100
  disabled: disabled
101
101
  }));
102
+ var iconClasses = merge(className, prefix('toggle-icon'), prefix((open ? 'expand' : 'collapse') + "-icon"));
102
103
  return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
103
104
  ref: ref
104
105
  }, rest, {
@@ -112,7 +113,7 @@ var ExpandedSidenavDropdownMenu = /*#__PURE__*/_react.default.forwardRef(functio
112
113
  }, (0, _omit.default)(buttonProps, ['open'])), icon && /*#__PURE__*/_react.default.cloneElement(icon, {
113
114
  className: prefix('menu-icon')
114
115
  }), title, /*#__PURE__*/_react.default.createElement(Icon, {
115
- className: prefix(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["toggle-icon"])))
116
+ className: iconClasses
116
117
  }), /*#__PURE__*/_react.default.createElement(_Ripple.default, null));
117
118
  }), /*#__PURE__*/_react.default.createElement(_Disclosure.default.Content, null, function (_ref2) {
118
119
  var open = _ref2.open;
@@ -1,2 +1,11 @@
1
1
  import * as PropTypes from 'prop-types';
2
+ /**
3
+ * Prints deprecation message when user uses a deprecated prop
4
+ *
5
+ * @deprecated Use {@link deprecatePropTypeNew} which prints clearer messages.
6
+ */
2
7
  export default function deprecatePropType<T extends PropTypes.Validator<any>>(propType: T, explanation?: string): typeof propType;
8
+ /**
9
+ * Prints deprecation message when user uses a deprecated prop
10
+ */
11
+ export declare function deprecatePropTypeNew<T extends PropTypes.Validator<any>>(propType: T, explanation?: string): typeof propType;
@@ -4,10 +4,17 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
 
5
5
  exports.__esModule = true;
6
6
  exports.default = deprecatePropType;
7
+ exports.deprecatePropTypeNew = deprecatePropTypeNew;
7
8
 
8
9
  var _warnOnce = _interopRequireDefault(require("./warnOnce"));
9
10
 
10
11
  // Ref: https://github.com/thefrontside/deprecated-prop-type/blob/master/deprecated.js
12
+
13
+ /**
14
+ * Prints deprecation message when user uses a deprecated prop
15
+ *
16
+ * @deprecated Use {@link deprecatePropTypeNew} which prints clearer messages.
17
+ */
11
18
  function deprecatePropType(propType, explanation) {
12
19
  return function validate(props, propName, componentName) {
13
20
  // Note ...rest here
@@ -20,6 +27,26 @@ function deprecatePropType(propType, explanation) {
20
27
  rest[_key - 3] = arguments[_key];
21
28
  }
22
29
 
30
+ return propType.apply(void 0, [props, propName, componentName].concat(rest)); // and here
31
+ };
32
+ }
33
+ /**
34
+ * Prints deprecation message when user uses a deprecated prop
35
+ */
36
+
37
+
38
+ function deprecatePropTypeNew(propType, explanation) {
39
+ return function validate(props, propName, componentName) {
40
+ // Note ...rest here
41
+ if (props[propName] != null) {
42
+ var message = "[rsuite] \"" + propName + "\" property of " + componentName + " component has been deprecated.\n" + explanation;
43
+ (0, _warnOnce.default)(message);
44
+ }
45
+
46
+ for (var _len2 = arguments.length, rest = new Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) {
47
+ rest[_key2 - 3] = arguments[_key2];
48
+ }
49
+
23
50
  return propType.apply(void 0, [props, propName, componentName].concat(rest)); // and here
24
51
  };
25
52
  }
@@ -13184,13 +13184,15 @@ textarea.rs-picker-menu .rs-picker-search-bar .rs-picker-search-bar-input {
13184
13184
  position: absolute;
13185
13185
  left: 20px;
13186
13186
  top: 11px;
13187
- -webkit-transform: rotate(-90deg);
13188
- transform: rotate(-90deg);
13189
13187
  }
13190
- .rs-sidenav-nav > .rs-dropdown .rs-dropdown-item-expand .rs-dropdown-item-toggle-icon {
13188
+ .rs-sidenav-nav > .rs-dropdown .rs-dropdown-item-expand-icon {
13191
13189
  -webkit-transform: rotate(-270deg);
13192
13190
  transform: rotate(-270deg);
13193
13191
  }
13192
+ .rs-sidenav-nav > .rs-dropdown .rs-dropdown-item-collapse-icon {
13193
+ -webkit-transform: rotate(-90deg);
13194
+ transform: rotate(-90deg);
13195
+ }
13194
13196
  .rs-theme-high-contrast .rs-sidenav-nav .rs-dropdown-toggle,
13195
13197
  .rs-theme-high-contrast .rs-sidenav-nav .rs-dropdown-menu {
13196
13198
  border: none;