rsuite 5.16.4 → 5.16.5
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 +8 -0
- package/cjs/AutoComplete/AutoComplete.d.ts +3 -1
- package/cjs/AutoComplete/AutoComplete.js +6 -2
- package/cjs/AutoComplete/test/AutoComplete.test.d.ts +1 -0
- package/cjs/AutoComplete/test/AutoComplete.test.js +23 -0
- package/cjs/Calendar/useCalendarDate.d.ts +1 -0
- package/cjs/Calendar/useCalendarDate.js +7 -1
- package/cjs/DatePicker/DatePicker.js +4 -3
- package/cjs/DateRangePicker/DateRangePicker.js +25 -4
- package/cjs/utils/dateUtils.d.ts +1 -0
- package/cjs/utils/dateUtils.js +5 -1
- package/dist/rsuite.js +16 -5
- package/dist/rsuite.js.map +1 -1
- package/dist/rsuite.min.js +1 -1
- package/dist/rsuite.min.js.map +1 -1
- package/esm/AutoComplete/AutoComplete.d.ts +3 -1
- package/esm/AutoComplete/AutoComplete.js +6 -2
- package/esm/AutoComplete/test/AutoComplete.test.d.ts +1 -0
- package/esm/AutoComplete/test/AutoComplete.test.js +18 -0
- package/esm/Calendar/useCalendarDate.d.ts +1 -0
- package/esm/Calendar/useCalendarDate.js +7 -1
- package/esm/DatePicker/DatePicker.js +4 -3
- package/esm/DateRangePicker/DateRangePicker.js +25 -4
- package/esm/utils/dateUtils.d.ts +1 -0
- package/esm/utils/dateUtils.js +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
## [5.16.5](https://github.com/rsuite/rsuite/compare/v5.16.4...v5.16.5) (2022-08-11)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
- **AutoComplete:** fix `listbox` not keeping the same width as `input` ([#2645](https://github.com/rsuite/rsuite/issues/2645)) ([ad09288](https://github.com/rsuite/rsuite/commit/ad09288e0fc38f964524466a79ca25532dc221f8))
|
|
6
|
+
- **AutoComplete:** fix missing definition of string in datatype ([#2644](https://github.com/rsuite/rsuite/issues/2644)) ([528e291](https://github.com/rsuite/rsuite/commit/528e29154d188d928e3d93853f5ed0673b932b4a))
|
|
7
|
+
- **DateRangePicker:** fix default time not working ([#2642](https://github.com/rsuite/rsuite/issues/2642)) ([915de28](https://github.com/rsuite/rsuite/commit/915de2820af418195e7f9a6ed228c1b05362d633))
|
|
8
|
+
|
|
1
9
|
## [5.16.4](https://github.com/rsuite/rsuite/compare/v5.16.3...v5.16.4) (2022-08-04)
|
|
2
10
|
|
|
3
11
|
### Bug Fixes
|
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import { PickerComponent } from '../Picker';
|
|
3
3
|
import { WithAsProps, FormControlPickerProps, TypeAttributes, ItemDataType } from '../@types/common';
|
|
4
4
|
export declare type ValueType = string;
|
|
5
|
-
export interface AutoCompleteProps<T = ValueType> extends WithAsProps, FormControlPickerProps<T, any, ItemDataType> {
|
|
5
|
+
export interface AutoCompleteProps<T = ValueType> extends WithAsProps, FormControlPickerProps<T, any, ItemDataType | string> {
|
|
6
6
|
/** Additional classes for menu */
|
|
7
7
|
menuClassName?: string;
|
|
8
8
|
/** The placement of component */
|
|
@@ -13,6 +13,8 @@ export interface AutoCompleteProps<T = ValueType> extends WithAsProps, FormContr
|
|
|
13
13
|
open?: boolean;
|
|
14
14
|
/** Placeholder text */
|
|
15
15
|
placeholder?: string;
|
|
16
|
+
/** The width of the menu will automatically follow the width of the input box */
|
|
17
|
+
menuAutoWidth?: boolean;
|
|
16
18
|
/** Custom filter function to determine whether the item will be displayed */
|
|
17
19
|
filterBy?: (value: string, item: ItemDataType) => boolean;
|
|
18
20
|
/** Called when a option is selected */
|
|
@@ -44,6 +44,8 @@ var AutoComplete = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
44
44
|
classPrefix = _props$classPrefix === void 0 ? 'auto-complete' : _props$classPrefix,
|
|
45
45
|
_props$defaultValue = props.defaultValue,
|
|
46
46
|
defaultValue = _props$defaultValue === void 0 ? '' : _props$defaultValue,
|
|
47
|
+
_props$menuAutoWidth = props.menuAutoWidth,
|
|
48
|
+
menuAutoWidth = _props$menuAutoWidth === void 0 ? true : _props$menuAutoWidth,
|
|
47
49
|
data = props.data,
|
|
48
50
|
valueProp = props.value,
|
|
49
51
|
open = props.open,
|
|
@@ -61,7 +63,7 @@ var AutoComplete = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
61
63
|
onFocus = props.onFocus,
|
|
62
64
|
onBlur = props.onBlur,
|
|
63
65
|
onMenuFocus = props.onMenuFocus,
|
|
64
|
-
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "disabled", "className", "placement", "selectOnEnter", "classPrefix", "defaultValue", "data", "value", "open", "style", "menuClassName", "id", "renderMenu", "renderMenuItem", "onSelect", "filterBy", "onKeyDown", "onChange", "onClose", "onOpen", "onFocus", "onBlur", "onMenuFocus"]);
|
|
66
|
+
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"]);
|
|
65
67
|
var datalist = (0, _utils3.transformData)(data);
|
|
66
68
|
|
|
67
69
|
var _useControlled = (0, _utils.useControlled)(valueProp, defaultValue),
|
|
@@ -203,7 +205,8 @@ var AutoComplete = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
203
205
|
style: styles,
|
|
204
206
|
className: className,
|
|
205
207
|
onKeyDown: handleKeyDownEvent,
|
|
206
|
-
target: triggerRef
|
|
208
|
+
target: triggerRef,
|
|
209
|
+
autoWidth: menuAutoWidth
|
|
207
210
|
}, renderMenu ? renderMenu(menu) : menu);
|
|
208
211
|
};
|
|
209
212
|
|
|
@@ -239,6 +242,7 @@ AutoComplete.propTypes = (0, _extends2.default)({}, _utils2.animationPropTypes,
|
|
|
239
242
|
defaultValue: _propTypes.default.string,
|
|
240
243
|
className: _propTypes.default.string,
|
|
241
244
|
menuClassName: _propTypes.default.string,
|
|
245
|
+
menuAutoWidth: _propTypes.default.bool,
|
|
242
246
|
placement: _propTypes.default.oneOf(_utils.PLACEMENT),
|
|
243
247
|
onFocus: _propTypes.default.func,
|
|
244
248
|
onMenuFocus: _propTypes.default.func,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
|
6
|
+
|
|
7
|
+
var _AutoComplete = _interopRequireDefault(require("../AutoComplete"));
|
|
8
|
+
|
|
9
|
+
/*#__PURE__*/
|
|
10
|
+
_react.default.createElement(_AutoComplete.default, {
|
|
11
|
+
data: ['item1', 'item2']
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
/*#__PURE__*/
|
|
15
|
+
_react.default.createElement(_AutoComplete.default, {
|
|
16
|
+
data: [{
|
|
17
|
+
label: 'item1',
|
|
18
|
+
value: 'item1'
|
|
19
|
+
}, {
|
|
20
|
+
label: 'item2',
|
|
21
|
+
value: 'item2'
|
|
22
|
+
}]
|
|
23
|
+
});
|
|
@@ -21,6 +21,11 @@ var useCalendarDate = function useCalendarDate(value, defaultDate) {
|
|
|
21
21
|
setValue(date);
|
|
22
22
|
}
|
|
23
23
|
}, [calendarDate]);
|
|
24
|
+
var resetCalendarDate = (0, _react.useCallback)(function () {
|
|
25
|
+
var _ref2;
|
|
26
|
+
|
|
27
|
+
setValue((_ref2 = value !== null && value !== void 0 ? value : defaultDate) !== null && _ref2 !== void 0 ? _ref2 : new Date());
|
|
28
|
+
}, [defaultDate, value]);
|
|
24
29
|
(0, _utils.useUpdateEffect)(function () {
|
|
25
30
|
var _valueRef$current;
|
|
26
31
|
|
|
@@ -31,7 +36,8 @@ var useCalendarDate = function useCalendarDate(value, defaultDate) {
|
|
|
31
36
|
}, [value]);
|
|
32
37
|
return {
|
|
33
38
|
calendarDate: calendarDate,
|
|
34
|
-
setCalendarDate: setCalendarDate
|
|
39
|
+
setCalendarDate: setCalendarDate,
|
|
40
|
+
resetCalendarDate: resetCalendarDate
|
|
35
41
|
};
|
|
36
42
|
};
|
|
37
43
|
|
|
@@ -101,7 +101,8 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
101
101
|
|
|
102
102
|
var _useCalendarDate = (0, _useCalendarDate2.default)(valueProp, calendarDefaultDate),
|
|
103
103
|
calendarDate = _useCalendarDate.calendarDate,
|
|
104
|
-
setCalendarDate = _useCalendarDate.setCalendarDate
|
|
104
|
+
setCalendarDate = _useCalendarDate.setCalendarDate,
|
|
105
|
+
resetCalendarDate = _useCalendarDate.resetCalendarDate;
|
|
105
106
|
|
|
106
107
|
var _useState = (0, _react.useState)(),
|
|
107
108
|
inputState = _useState[0],
|
|
@@ -244,9 +245,9 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
244
245
|
*/
|
|
245
246
|
|
|
246
247
|
var handleClean = (0, _react.useCallback)(function (event) {
|
|
247
|
-
setCalendarDate(new Date());
|
|
248
248
|
updateValue(event, null);
|
|
249
|
-
|
|
249
|
+
resetCalendarDate();
|
|
250
|
+
}, [resetCalendarDate, updateValue]);
|
|
250
251
|
/**
|
|
251
252
|
* Handle keyboard events.
|
|
252
253
|
*/
|
|
@@ -161,11 +161,31 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
161
161
|
*/
|
|
162
162
|
|
|
163
163
|
var updateCalendarDateRange = (0, _react.useCallback)(function (value, calendarKey) {
|
|
164
|
+
var nextValue = value;
|
|
165
|
+
var shouldTime = _utils.DateUtils.shouldTime,
|
|
166
|
+
getHours = _utils.DateUtils.getHours,
|
|
167
|
+
getMinutes = _utils.DateUtils.getMinutes,
|
|
168
|
+
getSeconds = _utils.DateUtils.getSeconds,
|
|
169
|
+
set = _utils.DateUtils.set;
|
|
170
|
+
|
|
171
|
+
if (shouldTime(formatStr) && calendarKey === undefined && (value === null || value === void 0 ? void 0 : value.length) === 1 && (defaultCalendarValue === null || defaultCalendarValue === void 0 ? void 0 : defaultCalendarValue.length) === 2) {
|
|
172
|
+
var calendarEndDate = (calendarDate === null || calendarDate === void 0 ? void 0 : calendarDate[1]) || defaultCalendarValue[1];
|
|
173
|
+
var _startDate = value[0]; // When updating the start date, the time of the end date should keep the time set by the user by default.
|
|
174
|
+
|
|
175
|
+
var _endDate = set((0, _dateUtils.addMonths)(_startDate, 1), {
|
|
176
|
+
hours: getHours(calendarEndDate),
|
|
177
|
+
minutes: getMinutes(calendarEndDate),
|
|
178
|
+
seconds: getSeconds(calendarEndDate)
|
|
179
|
+
});
|
|
180
|
+
|
|
181
|
+
nextValue = [_startDate, _endDate];
|
|
182
|
+
}
|
|
183
|
+
|
|
164
184
|
setCalendarDate((0, _utils2.getCalendarDate)({
|
|
165
|
-
value:
|
|
185
|
+
value: nextValue,
|
|
166
186
|
calendarKey: calendarKey
|
|
167
187
|
}));
|
|
168
|
-
}, []); // if valueProp changed then update selectValue/hoverValue
|
|
188
|
+
}, [calendarDate, defaultCalendarValue, formatStr]); // if valueProp changed then update selectValue/hoverValue
|
|
169
189
|
|
|
170
190
|
(0, _react.useEffect)(function () {
|
|
171
191
|
setSelectedDates(valueProp !== null && valueProp !== void 0 ? valueProp : []);
|
|
@@ -463,10 +483,11 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
463
483
|
var nextCalendarDate;
|
|
464
484
|
|
|
465
485
|
if (value && value.length) {
|
|
466
|
-
var
|
|
486
|
+
var _startDate2 = value[0],
|
|
467
487
|
endData = value[1];
|
|
468
|
-
nextCalendarDate = [
|
|
488
|
+
nextCalendarDate = [_startDate2, (0, _dateUtils.isSameMonth)(_startDate2, endData) ? (0, _dateUtils.addMonths)(endData, 1) : endData];
|
|
469
489
|
} else {
|
|
490
|
+
// Reset the date on the calendar to the default date
|
|
470
491
|
nextCalendarDate = (0, _utils2.getCalendarDate)({
|
|
471
492
|
value: defaultCalendarValue !== null && defaultCalendarValue !== void 0 ? defaultCalendarValue : null
|
|
472
493
|
});
|
package/cjs/utils/dateUtils.d.ts
CHANGED
|
@@ -35,6 +35,7 @@ export { default as startOfWeek } from 'date-fns/startOfWeek';
|
|
|
35
35
|
export { default as subDays } from 'date-fns/subDays';
|
|
36
36
|
export { default as isMatch } from 'date-fns/isMatch';
|
|
37
37
|
export { default as isValid } from 'date-fns/isValid';
|
|
38
|
+
export { default as set } from 'date-fns/set';
|
|
38
39
|
export declare type CalendarOnlyPropsType = 'disabledHours' | 'disabledMinutes' | 'disabledSeconds' | 'hideHours' | 'hideMinutes' | 'hideSeconds';
|
|
39
40
|
export declare const calendarOnlyProps: CalendarOnlyPropsType[];
|
|
40
41
|
/**
|
package/cjs/utils/dateUtils.js
CHANGED
|
@@ -6,7 +6,7 @@ exports.__esModule = true;
|
|
|
6
6
|
exports.disabledTime = disabledTime;
|
|
7
7
|
exports.getMonthView = getMonthView;
|
|
8
8
|
exports.getDateMask = getDateMask;
|
|
9
|
-
exports.shouldOnlyTime = exports.shouldDate = exports.shouldMonth = exports.shouldTime = exports.omitHideDisabledProps = exports.calendarOnlyProps = exports.isValid = exports.isMatch = exports.subDays = exports.startOfWeek = exports.startOfMonth = exports.startOfISOWeek = exports.startOfDay = exports.setYear = exports.setSeconds = exports.setMonth = exports.setMinutes = exports.setHours = exports.setDate = exports.parseISO = exports.parse = exports.isSameSecond = exports.isSameMonth = exports.isSameDay = exports.isEqual = exports.isBefore = exports.isAfter = exports.getYear = exports.getSeconds = exports.getMonth = exports.getMinutes = exports.getHours = exports.getDaysInMonth = exports.getDay = exports.getDate = exports.format = exports.endOfWeek = exports.endOfMonth = exports.endOfISOWeek = exports.endOfDay = exports.compareAsc = exports.addMonths = exports.addDays = void 0;
|
|
9
|
+
exports.shouldOnlyTime = exports.shouldDate = exports.shouldMonth = exports.shouldTime = exports.omitHideDisabledProps = exports.calendarOnlyProps = exports.set = exports.isValid = exports.isMatch = exports.subDays = exports.startOfWeek = exports.startOfMonth = exports.startOfISOWeek = exports.startOfDay = exports.setYear = exports.setSeconds = exports.setMonth = exports.setMinutes = exports.setHours = exports.setDate = exports.parseISO = exports.parse = exports.isSameSecond = exports.isSameMonth = exports.isSameDay = exports.isEqual = exports.isBefore = exports.isAfter = exports.getYear = exports.getSeconds = exports.getMonth = exports.getMinutes = exports.getHours = exports.getDaysInMonth = exports.getDay = exports.getDate = exports.format = exports.endOfWeek = exports.endOfMonth = exports.endOfISOWeek = exports.endOfDay = exports.compareAsc = exports.addMonths = exports.addDays = void 0;
|
|
10
10
|
|
|
11
11
|
var _pick = _interopRequireDefault(require("lodash/pick"));
|
|
12
12
|
|
|
@@ -159,6 +159,10 @@ exports.isMatch = _isMatch.default;
|
|
|
159
159
|
var _isValid = _interopRequireDefault(require("date-fns/isValid"));
|
|
160
160
|
|
|
161
161
|
exports.isValid = _isValid.default;
|
|
162
|
+
|
|
163
|
+
var _set = _interopRequireDefault(require("date-fns/set"));
|
|
164
|
+
|
|
165
|
+
exports.set = _set.default;
|
|
162
166
|
var disabledTimeProps = ['disabledHours', 'disabledMinutes', 'disabledSeconds'];
|
|
163
167
|
var hideTimeProps = ['hideHours', 'hideMinutes', 'hideSeconds'];
|
|
164
168
|
var calendarOnlyProps = disabledTimeProps.concat(hideTimeProps);
|