rsuite 5.37.3 → 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 +21 -0
- package/Calendar/styles/index.less +6 -4
- package/DatePicker/styles/index.less +16 -6
- package/Dropdown/styles/mixin.less +0 -1
- package/InputGroup/styles/index.less +3 -3
- package/Picker/styles/mixin.less +1 -0
- 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/cjs/InputPicker/InputPicker.js +1 -4
- package/cjs/Overlay/OverlayTrigger.js +1 -1
- package/dist/rsuite-no-reset-rtl.css +21 -13
- 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 +21 -13
- package/dist/rsuite-no-reset.min.css +1 -1
- package/dist/rsuite-no-reset.min.css.map +1 -1
- package/dist/rsuite-rtl.css +21 -13
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +21 -13
- package/dist/rsuite.js +5 -5
- 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/esm/InputPicker/InputPicker.js +1 -4
- package/esm/Overlay/OverlayTrigger.js +1 -1
- package/package.json +1 -1
|
@@ -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/esm/Calendar/Calendar.js
CHANGED
|
@@ -25,7 +25,8 @@ var Calendar = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
25
25
|
onSelect = props.onSelect,
|
|
26
26
|
renderCell = props.renderCell,
|
|
27
27
|
value = props.value,
|
|
28
|
-
|
|
28
|
+
cellClassName = props.cellClassName,
|
|
29
|
+
rest = _objectWithoutPropertiesLoose(props, ["as", "bordered", "className", "classPrefix", "compact", "defaultValue", "isoWeek", "locale", "onChange", "onMonthChange", "onSelect", "renderCell", "value", "cellClassName"]);
|
|
29
30
|
|
|
30
31
|
var _useCalendarDate = useCalendarDate(value, defaultValue),
|
|
31
32
|
calendarDate = _useCalendarDate.calendarDate,
|
|
@@ -37,21 +38,18 @@ var Calendar = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
37
38
|
var handleChange = useCallback(function (nextValue) {
|
|
38
39
|
setCalendarDate(nextValue);
|
|
39
40
|
onChange === null || onChange === void 0 ? void 0 : onChange(nextValue);
|
|
40
|
-
|
|
41
|
+
|
|
42
|
+
if (!isSameMonth(nextValue, calendarDate)) {
|
|
43
|
+
onMonthChange === null || onMonthChange === void 0 ? void 0 : onMonthChange(nextValue);
|
|
44
|
+
}
|
|
45
|
+
}, [setCalendarDate, onChange, calendarDate, onMonthChange]);
|
|
41
46
|
var handleClickToday = useCallback(function () {
|
|
42
47
|
handleChange(new Date());
|
|
43
48
|
}, [handleChange]);
|
|
44
49
|
var handleSelect = useCallback(function (nextValue) {
|
|
45
50
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(nextValue);
|
|
46
51
|
handleChange(nextValue);
|
|
47
|
-
}, [handleChange, onSelect]);
|
|
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]);
|
|
52
|
+
}, [handleChange, onSelect]);
|
|
55
53
|
|
|
56
54
|
var _useClassNames = useClassNames(classPrefix),
|
|
57
55
|
prefix = _useClassNames.prefix,
|
|
@@ -89,9 +87,10 @@ var Calendar = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
89
87
|
},
|
|
90
88
|
renderToolbar: renderToolbar,
|
|
91
89
|
renderCell: customRenderCell,
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
90
|
+
cellClassName: cellClassName,
|
|
91
|
+
onMoveForward: handleChange,
|
|
92
|
+
onMoveBackward: handleChange,
|
|
93
|
+
onChangeMonth: handleChange,
|
|
95
94
|
onSelect: handleSelect
|
|
96
95
|
}));
|
|
97
96
|
});
|
|
@@ -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 */
|
|
@@ -40,13 +40,14 @@ var CalendarContainer = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
40
40
|
onToggleMonthDropdown = props.onToggleMonthDropdown,
|
|
41
41
|
onToggleTimeDropdown = props.onToggleTimeDropdown,
|
|
42
42
|
calendarDate = props.calendarDate,
|
|
43
|
+
cellClassName = props.cellClassName,
|
|
43
44
|
renderCell = props.renderCell,
|
|
44
45
|
renderTitle = props.renderTitle,
|
|
45
46
|
renderToolbar = props.renderToolbar,
|
|
46
47
|
showMeridian = props.showMeridian,
|
|
47
48
|
showWeekNumbers = props.showWeekNumbers,
|
|
48
49
|
inline = props.inline,
|
|
49
|
-
rest = _objectWithoutPropertiesLoose(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"]);
|
|
50
|
+
rest = _objectWithoutPropertiesLoose(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"]);
|
|
50
51
|
|
|
51
52
|
var _useClassNames = useClassNames(classPrefix),
|
|
52
53
|
withClassPrefix = _useClassNames.withClassPrefix,
|
|
@@ -132,11 +133,12 @@ var CalendarContainer = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
132
133
|
onChangeTime: onChangeTime,
|
|
133
134
|
onMouseMove: onMouseMove,
|
|
134
135
|
onSelect: onSelect,
|
|
136
|
+
cellClassName: cellClassName,
|
|
135
137
|
renderCell: renderCell,
|
|
136
138
|
showWeekNumbers: showWeekNumbers,
|
|
137
139
|
inline: inline
|
|
138
140
|
};
|
|
139
|
-
}, [calendarDate, dateRange, format, handleChangeMonth, hoverRangeValue, inSameThisMonthDate, inline, isDisabledDate, isoWeek, locale, onChangeTime, onMouseMove, onSelect, renderCell, showWeekNumbers]);
|
|
141
|
+
}, [calendarDate, dateRange, format, handleChangeMonth, hoverRangeValue, inSameThisMonthDate, inline, isDisabledDate, isoWeek, locale, onChangeTime, onMouseMove, onSelect, cellClassName, renderCell, showWeekNumbers]);
|
|
140
142
|
return /*#__PURE__*/React.createElement(CalendarProvider, {
|
|
141
143
|
value: contextValue
|
|
142
144
|
}, /*#__PURE__*/React.createElement(Component, _extends({}, omitHideDisabledProps(rest), {
|
package/esm/Calendar/TableRow.js
CHANGED
|
@@ -25,6 +25,7 @@ var TableRow = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
25
25
|
isoWeek = _useCalendarContext.isoWeek,
|
|
26
26
|
onMouseMove = _useCalendarContext.onMouseMove,
|
|
27
27
|
onSelect = _useCalendarContext.onSelect,
|
|
28
|
+
cellClassName = _useCalendarContext.cellClassName,
|
|
28
29
|
renderCell = _useCalendarContext.renderCell,
|
|
29
30
|
overrideLocale = _useCalendarContext.locale,
|
|
30
31
|
showWeekNumbers = _useCalendarContext.showWeekNumbers;
|
|
@@ -67,7 +68,9 @@ var TableRow = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
67
68
|
var unSameMonth = !(inSameMonth !== null && inSameMonth !== void 0 && inSameMonth(thisDate));
|
|
68
69
|
var isStartSelected = !unSameMonth && selectedStartDate && DateUtils.isSameDay(thisDate, selectedStartDate);
|
|
69
70
|
var isEndSelected = !unSameMonth && selectedEndDate && DateUtils.isSameDay(thisDate, selectedEndDate);
|
|
70
|
-
var isSelected = isRangeSelectionMode ? isStartSelected || isEndSelected : DateUtils.isSameDay(thisDate, selected);
|
|
71
|
+
var isSelected = isRangeSelectionMode ? isStartSelected || isEndSelected : DateUtils.isSameDay(thisDate, selected); // TODO-Doma Move those logic that's for DatePicker/DateRangePicker to a separate component
|
|
72
|
+
// Calendar is not supposed to be reused this way
|
|
73
|
+
|
|
71
74
|
var inRange = false; // for Selected
|
|
72
75
|
|
|
73
76
|
if (selectedStartDate && selectedEndDate) {
|
|
@@ -91,7 +94,7 @@ var TableRow = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
91
94
|
}
|
|
92
95
|
}
|
|
93
96
|
|
|
94
|
-
var _classes = prefix('cell', {
|
|
97
|
+
var _classes = merge(prefix('cell', {
|
|
95
98
|
'cell-un-same-month': unSameMonth,
|
|
96
99
|
'cell-is-today': isToday,
|
|
97
100
|
'cell-selected': isSelected,
|
|
@@ -99,7 +102,7 @@ var TableRow = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
99
102
|
'cell-selected-end': isEndSelected,
|
|
100
103
|
'cell-in-range': !unSameMonth && inRange,
|
|
101
104
|
'cell-disabled': disabled
|
|
102
|
-
});
|
|
105
|
+
}), cellClassName === null || cellClassName === void 0 ? void 0 : cellClassName(thisDate));
|
|
103
106
|
|
|
104
107
|
var title = formatDate ? formatDate(thisDate, formatStr) : DateUtils.format(thisDate, formatStr);
|
|
105
108
|
days.push( /*#__PURE__*/React.createElement("div", {
|
package/esm/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
|
}
|
|
@@ -502,9 +502,6 @@ var InputPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
502
502
|
(_triggerRef$current4 = triggerRef.current) === null || _triggerRef$current4 === void 0 ? void 0 : _triggerRef$current4.open();
|
|
503
503
|
}
|
|
504
504
|
}, [readOnly]);
|
|
505
|
-
var handleBlur = useCallback(function () {
|
|
506
|
-
setOpen(false);
|
|
507
|
-
}, []);
|
|
508
505
|
var handleEnter = useCallback(function () {
|
|
509
506
|
focusInput();
|
|
510
507
|
setOpen(true);
|
|
@@ -742,7 +739,7 @@ var InputPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
742
739
|
}, tagElements, displaySearchInput && /*#__PURE__*/React.createElement(InputSearch, _extends({}, inputProps, {
|
|
743
740
|
tabIndex: tabIndex,
|
|
744
741
|
readOnly: readOnly,
|
|
745
|
-
onBlur:
|
|
742
|
+
onBlur: onBlur,
|
|
746
743
|
onFocus: createChainedFunction(handleFocus, onFocus),
|
|
747
744
|
inputRef: inputRef,
|
|
748
745
|
onChange: handleSearch,
|
|
@@ -230,7 +230,7 @@ var OverlayTrigger = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
230
230
|
}, [enterable, open, handleOpen]);
|
|
231
231
|
var handleDelayedClose = useCallback(function () {
|
|
232
232
|
if (!enterable) {
|
|
233
|
-
handleClose();
|
|
233
|
+
return handleClose();
|
|
234
234
|
}
|
|
235
235
|
|
|
236
236
|
isOnTrigger.current = false;
|