rsuite 5.37.4 → 5.38.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 +11 -0
- package/Dropdown/styles/mixin.less +0 -1
- package/cjs/Calendar/Calendar.d.ts +6 -1
- package/cjs/Calendar/Calendar.js +12 -13
- package/cjs/Calendar/CalendarContainer.d.ts +2 -0
- package/cjs/Calendar/CalendarContainer.js +4 -2
- package/cjs/Calendar/TableRow.js +6 -3
- package/cjs/Calendar/types.d.ts +1 -0
- package/dist/rsuite-no-reset-rtl.css +0 -4
- package/dist/rsuite-no-reset-rtl.min.css +1 -1
- package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
- package/dist/rsuite-no-reset.css +0 -4
- package/dist/rsuite-no-reset.min.css +1 -1
- package/dist/rsuite-no-reset.min.css.map +1 -1
- package/dist/rsuite-rtl.css +0 -4
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +0 -4
- package/dist/rsuite.js +3 -3
- package/dist/rsuite.min.css +1 -1
- package/dist/rsuite.min.css.map +1 -1
- package/dist/rsuite.min.js +1 -1
- package/dist/rsuite.min.js.map +1 -1
- package/esm/Calendar/Calendar.d.ts +6 -1
- package/esm/Calendar/Calendar.js +12 -13
- package/esm/Calendar/CalendarContainer.d.ts +2 -0
- package/esm/Calendar/CalendarContainer.js +4 -2
- package/esm/Calendar/TableRow.js +6 -3
- package/esm/Calendar/types.d.ts +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
# [5.38.0](https://github.com/rsuite/rsuite/compare/v5.37.4...v5.38.0) (2023-08-18)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
- **Calendar:** fix onMonthChange not fired when clicking on dates ([#3335](https://github.com/rsuite/rsuite/issues/3335)) ([035d287](https://github.com/rsuite/rsuite/commit/035d287c0f998e1f1aeed62dca7d2cfeded46167))
|
|
6
|
+
- **InputPicker:** cursor should be text ([#3334](https://github.com/rsuite/rsuite/issues/3334)) ([eed2337](https://github.com/rsuite/rsuite/commit/eed2337546665878c51cf3d88d0801c8a37a908d))
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
- **Calendar:** add cellClassName prop ([#3336](https://github.com/rsuite/rsuite/issues/3336)) ([cb7c2ae](https://github.com/rsuite/rsuite/commit/cb7c2aee30985219cb0d29155a3ae3d2f739d1d2)), closes [#3333](https://github.com/rsuite/rsuite/issues/3333)
|
|
11
|
+
|
|
1
12
|
## [5.37.4](https://github.com/rsuite/rsuite/compare/v5.37.3...v5.37.4) (2023-08-11)
|
|
2
13
|
|
|
3
14
|
### Bug Fixes
|
|
@@ -17,12 +17,17 @@ export interface CalendarProps extends WithAsProps {
|
|
|
17
17
|
locale?: CalendarLocale;
|
|
18
18
|
/** Callback fired before the value changed */
|
|
19
19
|
onChange?: (date: Date) => void;
|
|
20
|
-
/**
|
|
20
|
+
/**
|
|
21
|
+
* Callback fired before the month changed
|
|
22
|
+
* @todo-Doma Change signature to `onMonthChange(year: number, month: number, reason: string)`?
|
|
23
|
+
*/
|
|
21
24
|
onMonthChange?: (date: Date) => void;
|
|
22
25
|
/** Callback fired before the date selected */
|
|
23
26
|
onSelect?: (date: Date) => void;
|
|
24
27
|
/** Custom render calendar cells */
|
|
25
28
|
renderCell?: (date: Date) => React.ReactNode;
|
|
29
|
+
/** Custom cell classes base on it's date */
|
|
30
|
+
cellClassName?: (date: Date) => string | undefined;
|
|
26
31
|
}
|
|
27
32
|
declare const Calendar: RsRefForwardingComponent<typeof CalendarContainer, CalendarProps>;
|
|
28
33
|
export default Calendar;
|
package/cjs/Calendar/Calendar.js
CHANGED
|
@@ -44,7 +44,8 @@ var Calendar = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
44
44
|
onSelect = props.onSelect,
|
|
45
45
|
renderCell = props.renderCell,
|
|
46
46
|
value = props.value,
|
|
47
|
-
|
|
47
|
+
cellClassName = props.cellClassName,
|
|
48
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "bordered", "className", "classPrefix", "compact", "defaultValue", "isoWeek", "locale", "onChange", "onMonthChange", "onSelect", "renderCell", "value", "cellClassName"]);
|
|
48
49
|
|
|
49
50
|
var _useCalendarDate = (0, _useCalendarDate2.default)(value, defaultValue),
|
|
50
51
|
calendarDate = _useCalendarDate.calendarDate,
|
|
@@ -56,21 +57,18 @@ var Calendar = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
56
57
|
var handleChange = (0, _react.useCallback)(function (nextValue) {
|
|
57
58
|
setCalendarDate(nextValue);
|
|
58
59
|
onChange === null || onChange === void 0 ? void 0 : onChange(nextValue);
|
|
59
|
-
|
|
60
|
+
|
|
61
|
+
if (!(0, _isSameMonth.default)(nextValue, calendarDate)) {
|
|
62
|
+
onMonthChange === null || onMonthChange === void 0 ? void 0 : onMonthChange(nextValue);
|
|
63
|
+
}
|
|
64
|
+
}, [setCalendarDate, onChange, calendarDate, onMonthChange]);
|
|
60
65
|
var handleClickToday = (0, _react.useCallback)(function () {
|
|
61
66
|
handleChange(new Date());
|
|
62
67
|
}, [handleChange]);
|
|
63
68
|
var handleSelect = (0, _react.useCallback)(function (nextValue) {
|
|
64
69
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(nextValue);
|
|
65
70
|
handleChange(nextValue);
|
|
66
|
-
}, [handleChange, onSelect]);
|
|
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]);
|
|
71
|
+
}, [handleChange, onSelect]);
|
|
74
72
|
|
|
75
73
|
var _useClassNames = (0, _utils.useClassNames)(classPrefix),
|
|
76
74
|
prefix = _useClassNames.prefix,
|
|
@@ -108,9 +106,10 @@ var Calendar = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
108
106
|
},
|
|
109
107
|
renderToolbar: renderToolbar,
|
|
110
108
|
renderCell: customRenderCell,
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
109
|
+
cellClassName: cellClassName,
|
|
110
|
+
onMoveForward: handleChange,
|
|
111
|
+
onMoveBackward: handleChange,
|
|
112
|
+
onChangeMonth: handleChange,
|
|
114
113
|
onSelect: handleSelect
|
|
115
114
|
}));
|
|
116
115
|
});
|
|
@@ -52,6 +52,8 @@ export interface CalendarProps extends WithAsProps, Omit<HTMLAttributes<HTMLDivE
|
|
|
52
52
|
onSelect?: (date: Date, event: React.MouseEvent) => void;
|
|
53
53
|
/** Custom rendering cell*/
|
|
54
54
|
renderCell?: (date: Date) => React.ReactNode;
|
|
55
|
+
/** Custom cell classes base on it's date */
|
|
56
|
+
cellClassName?: (date: Date) => string | undefined;
|
|
55
57
|
/** Called when opening the month view */
|
|
56
58
|
onToggleMonthDropdown?: (toggle: boolean) => void;
|
|
57
59
|
/** Called when opening the time view */
|
|
@@ -63,13 +63,14 @@ var CalendarContainer = /*#__PURE__*/_react.default.forwardRef(function (props,
|
|
|
63
63
|
onToggleMonthDropdown = props.onToggleMonthDropdown,
|
|
64
64
|
onToggleTimeDropdown = props.onToggleTimeDropdown,
|
|
65
65
|
calendarDate = props.calendarDate,
|
|
66
|
+
cellClassName = props.cellClassName,
|
|
66
67
|
renderCell = props.renderCell,
|
|
67
68
|
renderTitle = props.renderTitle,
|
|
68
69
|
renderToolbar = props.renderToolbar,
|
|
69
70
|
showMeridian = props.showMeridian,
|
|
70
71
|
showWeekNumbers = props.showWeekNumbers,
|
|
71
72
|
inline = props.inline,
|
|
72
|
-
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "className", "classPrefix", "dateRange", "disabledBackward", "defaultState", "disabledDate", "disabledForward", "format", "hoverRangeValue", "isoWeek", "limitEndYear", "limitStartYear", "locale", "onChangeMonth", "onChangeTime", "onMouseMove", "onMoveBackward", "onMoveForward", "onSelect", "onToggleMeridian", "onToggleMonthDropdown", "onToggleTimeDropdown", "calendarDate", "renderCell", "renderTitle", "renderToolbar", "showMeridian", "showWeekNumbers", "inline"]);
|
|
73
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "className", "classPrefix", "dateRange", "disabledBackward", "defaultState", "disabledDate", "disabledForward", "format", "hoverRangeValue", "isoWeek", "limitEndYear", "limitStartYear", "locale", "onChangeMonth", "onChangeTime", "onMouseMove", "onMoveBackward", "onMoveForward", "onSelect", "onToggleMeridian", "onToggleMonthDropdown", "onToggleTimeDropdown", "calendarDate", "cellClassName", "renderCell", "renderTitle", "renderToolbar", "showMeridian", "showWeekNumbers", "inline"]);
|
|
73
74
|
|
|
74
75
|
var _useClassNames = (0, _utils.useClassNames)(classPrefix),
|
|
75
76
|
withClassPrefix = _useClassNames.withClassPrefix,
|
|
@@ -155,11 +156,12 @@ var CalendarContainer = /*#__PURE__*/_react.default.forwardRef(function (props,
|
|
|
155
156
|
onChangeTime: onChangeTime,
|
|
156
157
|
onMouseMove: onMouseMove,
|
|
157
158
|
onSelect: onSelect,
|
|
159
|
+
cellClassName: cellClassName,
|
|
158
160
|
renderCell: renderCell,
|
|
159
161
|
showWeekNumbers: showWeekNumbers,
|
|
160
162
|
inline: inline
|
|
161
163
|
};
|
|
162
|
-
}, [calendarDate, dateRange, format, handleChangeMonth, hoverRangeValue, inSameThisMonthDate, inline, isDisabledDate, isoWeek, locale, onChangeTime, onMouseMove, onSelect, renderCell, showWeekNumbers]);
|
|
164
|
+
}, [calendarDate, dateRange, format, handleChangeMonth, hoverRangeValue, inSameThisMonthDate, inline, isDisabledDate, isoWeek, locale, onChangeTime, onMouseMove, onSelect, cellClassName, renderCell, showWeekNumbers]);
|
|
163
165
|
return /*#__PURE__*/_react.default.createElement(_CalendarContext.CalendarProvider, {
|
|
164
166
|
value: contextValue
|
|
165
167
|
}, /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, (0, _dateUtils.omitHideDisabledProps)(rest), {
|
package/cjs/Calendar/TableRow.js
CHANGED
|
@@ -41,6 +41,7 @@ var TableRow = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
41
41
|
isoWeek = _useCalendarContext.isoWeek,
|
|
42
42
|
onMouseMove = _useCalendarContext.onMouseMove,
|
|
43
43
|
onSelect = _useCalendarContext.onSelect,
|
|
44
|
+
cellClassName = _useCalendarContext.cellClassName,
|
|
44
45
|
renderCell = _useCalendarContext.renderCell,
|
|
45
46
|
overrideLocale = _useCalendarContext.locale,
|
|
46
47
|
showWeekNumbers = _useCalendarContext.showWeekNumbers;
|
|
@@ -89,7 +90,9 @@ var TableRow = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
89
90
|
|
|
90
91
|
var isEndSelected = !unSameMonth && selectedEndDate && _utils.DateUtils.isSameDay(thisDate, selectedEndDate);
|
|
91
92
|
|
|
92
|
-
var isSelected = isRangeSelectionMode ? isStartSelected || isEndSelected : _utils.DateUtils.isSameDay(thisDate, selected);
|
|
93
|
+
var isSelected = isRangeSelectionMode ? isStartSelected || isEndSelected : _utils.DateUtils.isSameDay(thisDate, selected); // TODO-Doma Move those logic that's for DatePicker/DateRangePicker to a separate component
|
|
94
|
+
// Calendar is not supposed to be reused this way
|
|
95
|
+
|
|
93
96
|
var inRange = false; // for Selected
|
|
94
97
|
|
|
95
98
|
if (selectedStartDate && selectedEndDate) {
|
|
@@ -113,7 +116,7 @@ var TableRow = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
113
116
|
}
|
|
114
117
|
}
|
|
115
118
|
|
|
116
|
-
var _classes = prefix('cell', {
|
|
119
|
+
var _classes = merge(prefix('cell', {
|
|
117
120
|
'cell-un-same-month': unSameMonth,
|
|
118
121
|
'cell-is-today': isToday,
|
|
119
122
|
'cell-selected': isSelected,
|
|
@@ -121,7 +124,7 @@ var TableRow = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
121
124
|
'cell-selected-end': isEndSelected,
|
|
122
125
|
'cell-in-range': !unSameMonth && inRange,
|
|
123
126
|
'cell-disabled': disabled
|
|
124
|
-
});
|
|
127
|
+
}), cellClassName === null || cellClassName === void 0 ? void 0 : cellClassName(thisDate));
|
|
125
128
|
|
|
126
129
|
var title = formatDate ? formatDate(thisDate, formatStr) : _utils.DateUtils.format(thisDate, formatStr);
|
|
127
130
|
days.push( /*#__PURE__*/_react.default.createElement("div", {
|
package/cjs/Calendar/types.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ export interface CalendarInnerContextValue {
|
|
|
13
13
|
onMouseMove?: (date: Date) => void;
|
|
14
14
|
onSelect?: (date: Date, event: React.MouseEvent) => void;
|
|
15
15
|
renderCell?: (date: Date) => React.ReactNode;
|
|
16
|
+
cellClassName?: (date: Date) => string | undefined;
|
|
16
17
|
showWeekNumbers?: boolean;
|
|
17
18
|
inline?: boolean;
|
|
18
19
|
}
|
|
@@ -2708,7 +2708,6 @@ tbody.rs-anim-collapse.rs-anim-in {
|
|
|
2708
2708
|
z-index: 5;
|
|
2709
2709
|
padding-left: 32px;
|
|
2710
2710
|
display: inline-block;
|
|
2711
|
-
cursor: pointer;
|
|
2712
2711
|
}
|
|
2713
2712
|
.rs-picker-subtle.rs-picker-disabled .picker-subtle-toggle {
|
|
2714
2713
|
cursor: not-allowed;
|
|
@@ -4902,7 +4901,6 @@ label:hover .rs-checkbox-wrapper .rs-checkbox-inner::before {
|
|
|
4902
4901
|
z-index: 5;
|
|
4903
4902
|
padding-left: 32px;
|
|
4904
4903
|
display: inline-block;
|
|
4905
|
-
cursor: pointer;
|
|
4906
4904
|
}
|
|
4907
4905
|
.rs-dropdown-toggle.rs-dropdown-toggle-no-caret {
|
|
4908
4906
|
padding-left: 12px;
|
|
@@ -11502,7 +11500,6 @@ textarea.rs-picker-search-input {
|
|
|
11502
11500
|
z-index: 5;
|
|
11503
11501
|
padding-left: 32px;
|
|
11504
11502
|
display: inline-block;
|
|
11505
|
-
cursor: pointer;
|
|
11506
11503
|
color: #575757;
|
|
11507
11504
|
color: var(--rs-text-primary);
|
|
11508
11505
|
border: 1px solid #e5e5ea;
|
|
@@ -11521,7 +11518,6 @@ textarea.rs-picker-search-input {
|
|
|
11521
11518
|
z-index: 5;
|
|
11522
11519
|
padding-left: 32px;
|
|
11523
11520
|
display: inline-block;
|
|
11524
|
-
cursor: pointer;
|
|
11525
11521
|
}
|
|
11526
11522
|
.rs-picker-subtle.rs-picker-disabled .rs-picker-toggle {
|
|
11527
11523
|
cursor: not-allowed;
|