rsuite 5.30.0 → 5.31.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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,13 @@
1
+ # [5.31.0](https://github.com/rsuite/rsuite/compare/v5.30.0...v5.31.0) (2023-04-07)
2
+
3
+ ### Bug Fixes
4
+
5
+ - **toaster:** fix style when message at the left ([#3138](https://github.com/rsuite/rsuite/issues/3138)) ([6084c2a](https://github.com/rsuite/rsuite/commit/6084c2a35cdd32db1e9a4ec560e9bfaadb7a173c))
6
+
7
+ ### Features
8
+
9
+ - **Calendar:** add support for `onMonthChange` on `<Calendar>` ([#3150](https://github.com/rsuite/rsuite/issues/3150)) ([8dfe9d6](https://github.com/rsuite/rsuite/commit/8dfe9d6da95a55277d78f712b1d91ea56a70b9bb))
10
+
1
11
  # [5.30.0](https://github.com/rsuite/rsuite/compare/v5.29.0...v5.30.0) (2023-03-31)
2
12
 
3
13
  ### Bug Fixes
@@ -17,6 +17,8 @@ export interface CalendarProps extends WithAsProps {
17
17
  locale?: CalendarLocale;
18
18
  /** Callback fired before the value changed */
19
19
  onChange?: (date: Date) => void;
20
+ /** Callback fired before the month changed */
21
+ onMonthChange?: (date: Date) => void;
20
22
  /** Callback fired before the date selected */
21
23
  onSelect?: (date: Date) => void;
22
24
  /** Custom render calendar cells */
@@ -15,6 +15,8 @@ var _react = _interopRequireWildcard(require("react"));
15
15
 
16
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
17
17
 
18
+ var _isSameMonth = _interopRequireDefault(require("date-fns/isSameMonth"));
19
+
18
20
  var _CalendarContainer = _interopRequireDefault(require("./CalendarContainer"));
19
21
 
20
22
  var _Button = _interopRequireDefault(require("../Button"));
@@ -38,10 +40,11 @@ var CalendarPanel = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
38
40
  isoWeek = props.isoWeek,
39
41
  overrideLocale = props.locale,
40
42
  onChange = props.onChange,
43
+ onMonthChange = props.onMonthChange,
41
44
  onSelect = props.onSelect,
42
45
  renderCell = props.renderCell,
43
46
  value = props.value,
44
- rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "bordered", "className", "classPrefix", "compact", "defaultValue", "isoWeek", "locale", "onChange", "onSelect", "renderCell", "value"]);
47
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "bordered", "className", "classPrefix", "compact", "defaultValue", "isoWeek", "locale", "onChange", "onMonthChange", "onSelect", "renderCell", "value"]);
45
48
 
46
49
  var _useCalendarDate = (0, _useCalendarDate2.default)(value, defaultValue),
47
50
  calendarDate = _useCalendarDate.calendarDate,
@@ -60,7 +63,14 @@ var CalendarPanel = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
60
63
  var handleSelect = (0, _react.useCallback)(function (nextValue) {
61
64
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(nextValue);
62
65
  handleChange(nextValue);
63
- }, [handleChange, onSelect]);
66
+ }, [handleChange, onSelect]); // Trigger onMonthChange when the month changes
67
+
68
+ var handleMonthChange = (0, _react.useCallback)(function (nextValue) {
69
+ if (!(0, _isSameMonth.default)(nextValue, calendarDate)) {
70
+ handleChange(nextValue);
71
+ onMonthChange === null || onMonthChange === void 0 ? void 0 : onMonthChange(nextValue);
72
+ }
73
+ }, [calendarDate, handleChange, onMonthChange]);
64
74
 
65
75
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
66
76
  prefix = _useClassNames.prefix,
@@ -98,9 +108,9 @@ var CalendarPanel = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
98
108
  },
99
109
  renderToolbar: renderToolbar,
100
110
  renderCell: customRenderCell,
101
- onMoveForward: handleChange,
102
- onMoveBackward: handleChange,
103
- onChangeMonth: handleChange,
111
+ onMoveForward: handleMonthChange,
112
+ onMoveBackward: handleMonthChange,
113
+ onChangeMonth: handleMonthChange,
104
114
  onSelect: handleSelect
105
115
  }));
106
116
  });
@@ -125,13 +125,17 @@ var CalendarHeader = /*#__PURE__*/_react.default.forwardRef(function (props, ref
125
125
  var monthToolbar = /*#__PURE__*/_react.default.createElement("div", {
126
126
  className: prefix('month-toolbar')
127
127
  }, /*#__PURE__*/_react.default.createElement(_IconButton.default, (0, _extends2.default)({}, btnProps, {
128
+ // TODO: aria-label should be translated by i18n
129
+ "aria-label": "Previous month",
128
130
  className: backwardClass,
129
131
  onClick: disabledBackward ? undefined : onMoveBackward,
130
132
  icon: /*#__PURE__*/_react.default.createElement(_AngleLeft.default, null)
131
133
  })), /*#__PURE__*/_react.default.createElement(_Button.default, (0, _extends2.default)({}, btnProps, {
134
+ "aria-label": "Select month",
132
135
  className: dateTitleClasses,
133
136
  onClick: onToggleMonthDropdown
134
137
  }), renderTitle()), /*#__PURE__*/_react.default.createElement(_IconButton.default, (0, _extends2.default)({}, btnProps, {
138
+ "aria-label": "Next month",
135
139
  className: forwardClass,
136
140
  onClick: disabledForward ? undefined : onMoveForward,
137
141
  icon: /*#__PURE__*/_react.default.createElement(_AngleRight.default, null)
@@ -6,7 +6,7 @@ export interface CellProps<T = any> extends Omit<TableCellProps, 'rowData' | 'da
6
6
  /** Row Data */
7
7
  rowData?: T;
8
8
  }
9
- declare const _default: (<Row extends RowDataType, Key>(props: TableProps<Row, Key> & React.RefAttributes<TableInstance<Row, Key>>) => React.ReactElement<any, string | React.JSXElementConstructor<any>>) & {
9
+ declare const _default: (<Row extends RowDataType<never>, Key>(props: TableProps<Row, Key> & React.RefAttributes<TableInstance<Row, Key>>) => React.ReactElement<any, string | React.JSXElementConstructor<any>>) & {
10
10
  Cell: React.ForwardRefExoticComponent<import("rsuite-table/lib/Cell").InnerCellProps & React.RefAttributes<HTMLDivElement>>;
11
11
  Column: typeof Column;
12
12
  HeaderCell: React.ForwardRefExoticComponent<import("rsuite-table").HeaderCellProps & React.RefAttributes<HTMLDivElement>>;
@@ -16633,7 +16633,6 @@ textarea.rs-picker-menu .rs-picker-search-bar .rs-picker-search-bar-input {
16633
16633
  }
16634
16634
  .rs-toast-container-bottom-start .rs-toast-fade-entered,
16635
16635
  .rs-toast-container-top-start .rs-toast-fade-entered {
16636
- margin-right: auto;
16637
16636
  -webkit-animation-name: notificationMoveInLeft;
16638
16637
  animation-name: notificationMoveInLeft;
16639
16638
  }