rsuite 5.30.0 → 5.31.1

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 (38) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/Calendar/styles/index.less +3 -2
  3. package/Toggle/styles/mixin.less +14 -0
  4. package/cjs/Calendar/Calendar.d.ts +5 -3
  5. package/cjs/Calendar/Calendar.js +19 -9
  6. package/cjs/Calendar/CalendarContainer.d.ts +0 -2
  7. package/cjs/Calendar/CalendarContainer.js +5 -11
  8. package/cjs/Calendar/CalendarHeader.js +4 -0
  9. package/cjs/DatePicker/DatePicker.js +0 -4
  10. package/cjs/DateRangePicker/Calendar.js +0 -4
  11. package/cjs/Table/Table.d.ts +1 -1
  12. package/cjs/locales/ru_RU.js +6 -6
  13. package/dist/rsuite-no-reset-rtl.css +31 -3
  14. package/dist/rsuite-no-reset-rtl.min.css +1 -1
  15. package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
  16. package/dist/rsuite-no-reset.css +31 -3
  17. package/dist/rsuite-no-reset.min.css +1 -1
  18. package/dist/rsuite-no-reset.min.css.map +1 -1
  19. package/dist/rsuite-rtl.css +31 -3
  20. package/dist/rsuite-rtl.min.css +1 -1
  21. package/dist/rsuite-rtl.min.css.map +1 -1
  22. package/dist/rsuite.css +31 -3
  23. package/dist/rsuite.js +8 -8
  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/Calendar/Calendar.d.ts +5 -3
  29. package/esm/Calendar/Calendar.js +20 -11
  30. package/esm/Calendar/CalendarContainer.d.ts +0 -2
  31. package/esm/Calendar/CalendarContainer.js +7 -13
  32. package/esm/Calendar/CalendarHeader.js +4 -0
  33. package/esm/DatePicker/DatePicker.js +0 -4
  34. package/esm/DateRangePicker/Calendar.js +1 -5
  35. package/esm/Table/Table.d.ts +1 -1
  36. package/esm/locales/ru_RU.js +6 -6
  37. package/package.json +2 -2
  38. package/toaster/styles/index.less +0 -1
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import Calendar from './CalendarContainer';
2
+ import CalendarContainer from './CalendarContainer';
3
3
  import { CalendarLocale } from '../locales';
4
4
  import { RsRefForwardingComponent, WithAsProps } from '../@types/common';
5
5
  export interface CalendarProps extends WithAsProps {
@@ -17,10 +17,12 @@ 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 */
23
25
  renderCell?: (date: Date) => React.ReactNode;
24
26
  }
25
- declare const CalendarPanel: RsRefForwardingComponent<typeof Calendar, CalendarProps>;
26
- export default CalendarPanel;
27
+ declare const Calendar: RsRefForwardingComponent<typeof CalendarContainer, CalendarProps>;
28
+ export default Calendar;
@@ -2,14 +2,15 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
3
  import React, { useCallback } from 'react';
4
4
  import PropTypes from 'prop-types';
5
- import Calendar from './CalendarContainer';
5
+ import isSameMonth from 'date-fns/isSameMonth';
6
+ import CalendarContainer from './CalendarContainer';
6
7
  import Button from '../Button';
7
8
  import { FormattedDate } from '../CustomProvider';
8
9
  import { useClassNames, useCustom } from '../utils';
9
10
  import useCalendarDate from './useCalendarDate';
10
- var CalendarPanel = /*#__PURE__*/React.forwardRef(function (props, ref) {
11
+ var Calendar = /*#__PURE__*/React.forwardRef(function (props, ref) {
11
12
  var _props$as = props.as,
12
- Component = _props$as === void 0 ? Calendar : _props$as,
13
+ Component = _props$as === void 0 ? CalendarContainer : _props$as,
13
14
  bordered = props.bordered,
14
15
  className = props.className,
15
16
  _props$classPrefix = props.classPrefix,
@@ -20,10 +21,11 @@ var CalendarPanel = /*#__PURE__*/React.forwardRef(function (props, ref) {
20
21
  isoWeek = props.isoWeek,
21
22
  overrideLocale = props.locale,
22
23
  onChange = props.onChange,
24
+ onMonthChange = props.onMonthChange,
23
25
  onSelect = props.onSelect,
24
26
  renderCell = props.renderCell,
25
27
  value = props.value,
26
- rest = _objectWithoutPropertiesLoose(props, ["as", "bordered", "className", "classPrefix", "compact", "defaultValue", "isoWeek", "locale", "onChange", "onSelect", "renderCell", "value"]);
28
+ rest = _objectWithoutPropertiesLoose(props, ["as", "bordered", "className", "classPrefix", "compact", "defaultValue", "isoWeek", "locale", "onChange", "onMonthChange", "onSelect", "renderCell", "value"]);
27
29
 
28
30
  var _useCalendarDate = useCalendarDate(value, defaultValue),
29
31
  calendarDate = _useCalendarDate.calendarDate,
@@ -42,7 +44,14 @@ var CalendarPanel = /*#__PURE__*/React.forwardRef(function (props, ref) {
42
44
  var handleSelect = useCallback(function (nextValue) {
43
45
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(nextValue);
44
46
  handleChange(nextValue);
45
- }, [handleChange, onSelect]);
47
+ }, [handleChange, onSelect]); // Trigger onMonthChange when the month changes
48
+
49
+ var handleMonthChange = useCallback(function (nextValue) {
50
+ if (!isSameMonth(nextValue, calendarDate)) {
51
+ handleChange(nextValue);
52
+ onMonthChange === null || onMonthChange === void 0 ? void 0 : onMonthChange(nextValue);
53
+ }
54
+ }, [calendarDate, handleChange, onMonthChange]);
46
55
 
47
56
  var _useClassNames = useClassNames(classPrefix),
48
57
  prefix = _useClassNames.prefix,
@@ -80,14 +89,14 @@ var CalendarPanel = /*#__PURE__*/React.forwardRef(function (props, ref) {
80
89
  },
81
90
  renderToolbar: renderToolbar,
82
91
  renderCell: customRenderCell,
83
- onMoveForward: handleChange,
84
- onMoveBackward: handleChange,
85
- onChangeMonth: handleChange,
92
+ onMoveForward: handleMonthChange,
93
+ onMoveBackward: handleMonthChange,
94
+ onChangeMonth: handleMonthChange,
86
95
  onSelect: handleSelect
87
96
  }));
88
97
  });
89
- CalendarPanel.displayName = 'CalendarPanel';
90
- CalendarPanel.propTypes = {
98
+ Calendar.displayName = 'Calendar';
99
+ Calendar.propTypes = {
91
100
  value: PropTypes.instanceOf(Date),
92
101
  defaultValue: PropTypes.instanceOf(Date),
93
102
  isoWeek: PropTypes.bool,
@@ -100,4 +109,4 @@ CalendarPanel.propTypes = {
100
109
  onSelect: PropTypes.func,
101
110
  renderCell: PropTypes.func
102
111
  };
103
- export default CalendarPanel;
112
+ export default Calendar;
@@ -30,8 +30,6 @@ export interface CalendarProps extends WithAsProps, Omit<HTMLAttributes<HTMLDivE
30
30
  hideSeconds?: (second: number, date: Date) => boolean;
31
31
  /** The value that mouse hover on in range selection */
32
32
  hoverRangeValue?: [Date, Date];
33
- /** Is it in the same month as today */
34
- inSameMonth?: (date: Date) => boolean;
35
33
  /** ISO 8601 standard, each calendar week begins on Monday and Sunday on the seventh day */
36
34
  isoWeek?: boolean;
37
35
  /** Limit showing how many years in the future */
@@ -7,8 +7,8 @@ import MonthDropdown from './MonthDropdown';
7
7
  import TimeDropdown from './TimeDropdown';
8
8
  import CalendarBody from './CalendarBody';
9
9
  import CalendarHeader from './CalendarHeader';
10
- import { useClassNames, composeFunctions } from '../utils';
11
- import { disabledTime, addMonths, shouldRenderDate, shouldRenderTime, shouldRenderMonth, setDate, isSameMonth, calendarOnlyProps, omitHideDisabledProps } from '../utils/dateUtils';
10
+ import { useClassNames } from '../utils';
11
+ import { disabledTime, addMonths, shouldRenderDate, shouldRenderTime, shouldRenderMonth, isSameMonth, calendarOnlyProps, omitHideDisabledProps } from '../utils/dateUtils';
12
12
  import { CalendarProvider } from './CalendarContext';
13
13
  import useCalendarState, { CalendarState } from './useCalendarState';
14
14
  import AngleUpIcon from '@rsuite/icons/legacy/AngleUp';
@@ -25,7 +25,6 @@ var CalendarContainer = /*#__PURE__*/React.forwardRef(function (props, ref) {
25
25
  disabledForward = props.disabledForward,
26
26
  format = props.format,
27
27
  hoverRangeValue = props.hoverRangeValue,
28
- inSameMonth = props.inSameMonth,
29
28
  _props$isoWeek = props.isoWeek,
30
29
  isoWeek = _props$isoWeek === void 0 ? false : _props$isoWeek,
31
30
  limitEndYear = props.limitEndYear,
@@ -46,7 +45,7 @@ var CalendarContainer = /*#__PURE__*/React.forwardRef(function (props, ref) {
46
45
  showMeridian = props.showMeridian,
47
46
  showWeekNumbers = props.showWeekNumbers,
48
47
  inline = props.inline,
49
- rest = _objectWithoutPropertiesLoose(props, ["as", "className", "classPrefix", "dateRange", "disabledBackward", "defaultState", "disabledDate", "disabledForward", "format", "hoverRangeValue", "inSameMonth", "isoWeek", "limitEndYear", "locale", "onChangeMonth", "onChangeTime", "onMouseMove", "onMoveBackward", "onMoveForward", "onSelect", "onToggleMeridian", "onToggleMonthDropdown", "onToggleTimeDropdown", "calendarDate", "renderCell", "renderTitle", "renderToolbar", "showMeridian", "showWeekNumbers", "inline"]);
48
+ rest = _objectWithoutPropertiesLoose(props, ["as", "className", "classPrefix", "dateRange", "disabledBackward", "defaultState", "disabledDate", "disabledForward", "format", "hoverRangeValue", "isoWeek", "limitEndYear", "locale", "onChangeMonth", "onChangeTime", "onMouseMove", "onMoveBackward", "onMoveForward", "onSelect", "onToggleMeridian", "onToggleMonthDropdown", "onToggleTimeDropdown", "calendarDate", "renderCell", "renderTitle", "renderToolbar", "showMeridian", "showWeekNumbers", "inline"]);
50
49
 
51
50
  var _useClassNames = useClassNames(classPrefix),
52
51
  withClassPrefix = _useClassNames.withClassPrefix,
@@ -106,12 +105,8 @@ var CalendarContainer = /*#__PURE__*/React.forwardRef(function (props, ref) {
106
105
  var showTime = calendarState === CalendarState.TIME || onlyShowTime;
107
106
  var showMonth = calendarState === CalendarState.MONTH || onlyShowMonth;
108
107
  var inSameThisMonthDate = useCallback(function (date) {
109
- return composeFunctions(function (d) {
110
- return setDate(d, 1);
111
- }, function (d) {
112
- return isSameMonth(d, date);
113
- })(date);
114
- }, []);
108
+ return isSameMonth(calendarDate, date);
109
+ }, [calendarDate]);
115
110
  var calendarClasses = merge(className, withClassPrefix({
116
111
  'time-view': showTime,
117
112
  'month-view': showMonth,
@@ -129,7 +124,7 @@ var CalendarContainer = /*#__PURE__*/React.forwardRef(function (props, ref) {
129
124
  disabledDate: isDisabledDate,
130
125
  format: format,
131
126
  hoverRangeValue: hoverRangeValue,
132
- inSameMonth: inSameMonth !== null && inSameMonth !== void 0 ? inSameMonth : inSameThisMonthDate,
127
+ inSameMonth: inSameThisMonthDate,
133
128
  isoWeek: isoWeek,
134
129
  locale: locale,
135
130
  onChangeMonth: handleChangeMonth,
@@ -140,7 +135,7 @@ var CalendarContainer = /*#__PURE__*/React.forwardRef(function (props, ref) {
140
135
  showWeekNumbers: showWeekNumbers,
141
136
  inline: inline
142
137
  };
143
- }, [calendarDate, dateRange, format, handleChangeMonth, hoverRangeValue, inSameMonth, inSameThisMonthDate, inline, isDisabledDate, isoWeek, locale, onChangeTime, onMouseMove, onSelect, renderCell, showWeekNumbers]);
138
+ }, [calendarDate, dateRange, format, handleChangeMonth, hoverRangeValue, inSameThisMonthDate, inline, isDisabledDate, isoWeek, locale, onChangeTime, onMouseMove, onSelect, renderCell, showWeekNumbers]);
144
139
  return /*#__PURE__*/React.createElement(CalendarProvider, {
145
140
  value: contextValue
146
141
  }, /*#__PURE__*/React.createElement(Component, _extends({}, omitHideDisabledProps(rest), {
@@ -186,7 +181,6 @@ CalendarContainer.propTypes = {
186
181
  hideHours: PropTypes.func,
187
182
  hideMinutes: PropTypes.func,
188
183
  hideSeconds: PropTypes.func,
189
- inSameMonth: PropTypes.func,
190
184
  isoWeek: PropTypes.bool,
191
185
  limitEndYear: PropTypes.number,
192
186
  locale: PropTypes.object,
@@ -103,13 +103,17 @@ var CalendarHeader = /*#__PURE__*/React.forwardRef(function (props, ref) {
103
103
  var monthToolbar = /*#__PURE__*/React.createElement("div", {
104
104
  className: prefix('month-toolbar')
105
105
  }, /*#__PURE__*/React.createElement(IconButton, _extends({}, btnProps, {
106
+ // TODO: aria-label should be translated by i18n
107
+ "aria-label": "Previous month",
106
108
  className: backwardClass,
107
109
  onClick: disabledBackward ? undefined : onMoveBackward,
108
110
  icon: /*#__PURE__*/React.createElement(AngleLeftIcon, null)
109
111
  })), /*#__PURE__*/React.createElement(Button, _extends({}, btnProps, {
112
+ "aria-label": "Select month",
110
113
  className: dateTitleClasses,
111
114
  onClick: onToggleMonthDropdown
112
115
  }), renderTitle()), /*#__PURE__*/React.createElement(IconButton, _extends({}, btnProps, {
116
+ "aria-label": "Next month",
113
117
  className: forwardClass,
114
118
  onClick: disabledForward ? undefined : onMoveForward,
115
119
  icon: /*#__PURE__*/React.createElement(AngleRightIcon, null)
@@ -343,9 +343,6 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
343
343
  };
344
344
  });
345
345
  }, [props]);
346
- var inSameMonth = useCallback(function (date) {
347
- return DateUtils.isSameMonth(date, calendarDate);
348
- }, [calendarDate]);
349
346
  var calendar = /*#__PURE__*/React.createElement(CalendarContainer, _extends({}, calendarProps, {
350
347
  locale: locale,
351
348
  showWeekNumbers: showWeekNumbers,
@@ -357,7 +354,6 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
357
354
  limitEndYear: limitEndYear,
358
355
  format: formatStr,
359
356
  isoWeek: isoWeek,
360
- inSameMonth: inSameMonth,
361
357
  calendarDate: calendarDate,
362
358
  onMoveForward: handleMoveForward,
363
359
  onMoveBackward: handleMoveBackward,
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
3
  import PropTypes from 'prop-types';
4
4
  import React, { useCallback } from 'react';
5
- import { addMonths, isSameMonth } from '../utils/dateUtils';
5
+ import { addMonths } from '../utils/dateUtils';
6
6
  import CalendarCore from '../Calendar/CalendarContainer';
7
7
  import { DATERANGE_DISABLED_TARGET } from '../utils';
8
8
  var Calendar = /*#__PURE__*/React.forwardRef(function (props, ref) {
@@ -42,9 +42,6 @@ var Calendar = /*#__PURE__*/React.forwardRef(function (props, ref) {
42
42
  var handleToggleMeridian = useCallback(function (event) {
43
43
  onToggleMeridian(index, event);
44
44
  }, [index, onToggleMeridian]);
45
- var inSameMonth = useCallback(function (date) {
46
- return isSameMonth(date, calendarDate[index]);
47
- }, [calendarDate, index]);
48
45
  var getCalendarDate = useCallback(function () {
49
46
  return calendarDate[index];
50
47
  }, [calendarDate, index]);
@@ -61,7 +58,6 @@ var Calendar = /*#__PURE__*/React.forwardRef(function (props, ref) {
61
58
  format: format,
62
59
  dateRange: value,
63
60
  disabledDate: disabledMonth,
64
- inSameMonth: inSameMonth,
65
61
  index: index,
66
62
  limitEndYear: limitEndYear,
67
63
  onChangeMonth: handleChangeMonth,
@@ -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>>;
@@ -15,7 +15,7 @@ var Calendar = {
15
15
  minutes: 'Минут',
16
16
  seconds: 'Секунд',
17
17
  formattedMonthPattern: 'MMM, yyyy',
18
- formattedDayPattern: 'MMM dd, yyyy',
18
+ formattedDayPattern: 'dd MMM yyyy',
19
19
  dateLocale: ru
20
20
  };
21
21
  export default {
@@ -25,8 +25,8 @@ export default {
25
25
  },
26
26
  Plaintext: {
27
27
  unfilled: 'незаполненной',
28
- notSelected: 'Није изабран',
29
- notUploaded: 'Није отпремљено'
28
+ notSelected: 'Не выбрано',
29
+ notUploaded: 'Не загружено'
30
30
  },
31
31
  Pagination: {
32
32
  more: 'Больше',
@@ -36,7 +36,7 @@ export default {
36
36
  last: 'Последняя',
37
37
  limit: '{0} / страниц',
38
38
  total: 'всего: {0}',
39
- skip: 'Идти к{0}'
39
+ skip: 'Перейти к {0}'
40
40
  },
41
41
  Calendar: Calendar,
42
42
  DatePicker: _extends({}, Calendar),
@@ -55,9 +55,9 @@ export default {
55
55
  },
56
56
  Uploader: {
57
57
  inited: 'Начало',
58
- progress: 'Выгрузка',
58
+ progress: 'Загрузка',
59
59
  error: 'Ошибка',
60
- complete: 'Завершенно',
60
+ complete: 'Завершено',
61
61
  emptyFile: 'Пусто',
62
62
  upload: 'Загрузить'
63
63
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rsuite",
3
- "version": "5.30.0",
3
+ "version": "5.31.1",
4
4
  "description": "A suite of react components",
5
5
  "main": "cjs/index.js",
6
6
  "module": "esm/index.js",
@@ -37,7 +37,7 @@
37
37
  "lodash": "^4.17.11",
38
38
  "prop-types": "^15.8.1",
39
39
  "react-window": "^1.8.8",
40
- "rsuite-table": "^5.10.1",
40
+ "rsuite-table": "^5.10.3",
41
41
  "schema-typed": "^2.1.2"
42
42
  },
43
43
  "peerDependencies": {
@@ -63,7 +63,6 @@
63
63
  left: @toast-spacing;
64
64
 
65
65
  .rs-toast-fade-entered {
66
- margin-left: auto;
67
66
  animation-name: notificationMoveInLeft;
68
67
  }
69
68
  }