rsuite 5.16.1 → 5.16.2
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 +14 -0
- package/Picker/styles/index.less +2 -0
- package/Slider/styles/index.less +2 -1
- package/TreePicker/styles/index.less +0 -3
- package/cjs/Cascader/utils.js +3 -5
- package/cjs/CheckPicker/CheckPicker.d.ts +1 -1
- package/cjs/CheckPicker/test/CheckPicker.test.js +8 -0
- package/cjs/CheckTreePicker/CheckTreePicker.d.ts +2 -2
- package/cjs/CheckTreePicker/test/CheckTreePicker.test.d.ts +1 -0
- package/cjs/CheckTreePicker/test/CheckTreePicker.test.js +15 -0
- package/cjs/CheckTreePicker/utils.js +3 -1
- package/cjs/CustomProvider/CustomProvider.js +6 -3
- package/cjs/DateRangePicker/Calendar.d.ts +0 -1
- package/cjs/DateRangePicker/Calendar.js +1 -39
- package/cjs/DateRangePicker/DateRangePicker.js +22 -22
- package/cjs/DateRangePicker/utils.d.ts +2 -1
- package/cjs/DateRangePicker/utils.js +12 -3
- package/cjs/InputPicker/InputPicker.d.ts +2 -2
- package/cjs/InputPicker/test/InputPicker.test.d.ts +1 -0
- package/cjs/InputPicker/test/InputPicker.test.js +15 -0
- package/cjs/MultiCascader/utils.js +3 -2
- package/cjs/Overlay/OverlayTrigger.js +1 -1
- package/cjs/Panel/Panel.js +8 -7
- package/cjs/SelectPicker/SelectPicker.d.ts +7 -1
- package/cjs/SelectPicker/test/SelectPicker.test.js +23 -0
- package/cjs/TreePicker/TreePicker.d.ts +2 -2
- package/cjs/TreePicker/test/TreePicker.test.d.ts +1 -0
- package/cjs/TreePicker/test/TreePicker.test.js +15 -0
- package/cjs/utils/attachParent.d.ts +1 -0
- package/cjs/utils/attachParent.js +15 -0
- package/cjs/utils/treeUtils.js +3 -2
- package/cjs/utils/usePortal.d.ts +4 -2
- package/cjs/utils/usePortal.js +40 -14
- package/dist/rsuite-rtl.css +8 -9
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +8 -9
- package/dist/rsuite.js +26 -15
- package/dist/rsuite.js.map +1 -1
- 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/Cascader/utils.js +2 -4
- package/esm/CheckPicker/CheckPicker.d.ts +1 -1
- package/esm/CheckPicker/test/CheckPicker.test.js +8 -0
- package/esm/CheckTreePicker/CheckTreePicker.d.ts +2 -2
- package/esm/CheckTreePicker/test/CheckTreePicker.test.d.ts +1 -0
- package/esm/CheckTreePicker/test/CheckTreePicker.test.js +10 -0
- package/esm/CheckTreePicker/utils.js +2 -1
- package/esm/CustomProvider/CustomProvider.js +6 -3
- package/esm/DateRangePicker/Calendar.d.ts +0 -1
- package/esm/DateRangePicker/Calendar.js +2 -41
- package/esm/DateRangePicker/DateRangePicker.js +22 -22
- package/esm/DateRangePicker/utils.d.ts +2 -1
- package/esm/DateRangePicker/utils.js +12 -3
- package/esm/InputPicker/InputPicker.d.ts +2 -2
- package/esm/InputPicker/test/InputPicker.test.d.ts +1 -0
- package/esm/InputPicker/test/InputPicker.test.js +10 -0
- package/esm/MultiCascader/utils.js +2 -2
- package/esm/Overlay/OverlayTrigger.js +1 -1
- package/esm/Panel/Panel.js +8 -7
- package/esm/SelectPicker/SelectPicker.d.ts +7 -1
- package/esm/SelectPicker/test/SelectPicker.test.js +23 -0
- package/esm/TreePicker/TreePicker.d.ts +2 -2
- package/esm/TreePicker/test/TreePicker.test.d.ts +1 -0
- package/esm/TreePicker/test/TreePicker.test.js +10 -0
- package/esm/utils/attachParent.d.ts +1 -0
- package/esm/utils/attachParent.js +10 -0
- package/esm/utils/treeUtils.js +2 -2
- package/esm/utils/usePortal.d.ts +4 -2
- package/esm/utils/usePortal.js +36 -14
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## [5.16.2](https://github.com/rsuite/rsuite/compare/v5.16.1...v5.16.2) (2022-07-28)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
- **CustomProvider:** fix warnings caused by server-side rendering ([#2599](https://github.com/rsuite/rsuite/issues/2599)) ([ea05efb](https://github.com/rsuite/rsuite/commit/ea05efba3c53bf7e04ea4caa7b378a762b85af93))
|
|
6
|
+
- **DateRangePicker:** improved experience for date range selection ([#2618](https://github.com/rsuite/rsuite/issues/2618)) ([225fc08](https://github.com/rsuite/rsuite/commit/225fc08e21d43c41d92c1514f67c05eb660bf9dd))
|
|
7
|
+
- **focus:** fix outline style for form components when focused ([#2601](https://github.com/rsuite/rsuite/issues/2601)) ([0e2f9df](https://github.com/rsuite/rsuite/commit/0e2f9dffe5e882fc56727eb8ba8901aaf1b7d7b3))
|
|
8
|
+
- **OverlayTrigger:** fix invalid rendering without followCursor ([#2600](https://github.com/rsuite/rsuite/issues/2600)) ([08abc8e](https://github.com/rsuite/rsuite/commit/08abc8e825af55d8334a6e6057d4f5582a3197ac))
|
|
9
|
+
- **Panel:** allow custom header in collapsible panels ([#2611](https://github.com/rsuite/rsuite/issues/2611)) ([6372d44](https://github.com/rsuite/rsuite/commit/6372d441235b5b65036c257608098df01f93bf6d))
|
|
10
|
+
- **Picker:** add missing caretAs prop declaration ([#2592](https://github.com/rsuite/rsuite/issues/2592)) ([faabba4](https://github.com/rsuite/rsuite/commit/faabba4b32d82f819b5c5431c3d7040798db1765))
|
|
11
|
+
- **Picker:** fix style dependency ([#2612](https://github.com/rsuite/rsuite/issues/2612)) ([0b5b1d6](https://github.com/rsuite/rsuite/commit/0b5b1d60909a069c317f069e9ab235da70eb4aa3))
|
|
12
|
+
- **SelectPicker:** make controlled value nullable ([#2591](https://github.com/rsuite/rsuite/issues/2591)) ([6619a75](https://github.com/rsuite/rsuite/commit/6619a75eca9eabf9bf08dd84dee78f1df0e094ca))
|
|
13
|
+
- **treelike:** fix data item stringify throw error ([#2606](https://github.com/rsuite/rsuite/issues/2606)) ([3a586d2](https://github.com/rsuite/rsuite/commit/3a586d28e075b5bdd95d8df948ce4887570fab1d))
|
|
14
|
+
|
|
1
15
|
## [5.16.1](https://github.com/rsuite/rsuite/compare/v5.16.0...v5.16.1) (2022-07-15)
|
|
2
16
|
|
|
3
17
|
### Bug Fixes
|
package/Picker/styles/index.less
CHANGED
package/Slider/styles/index.less
CHANGED
package/cjs/Cascader/utils.js
CHANGED
|
@@ -6,8 +6,6 @@ exports.__esModule = true;
|
|
|
6
6
|
exports.getColumnsAndPaths = getColumnsAndPaths;
|
|
7
7
|
exports.usePaths = usePaths;
|
|
8
8
|
|
|
9
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
-
|
|
11
9
|
var _react = require("react");
|
|
12
10
|
|
|
13
11
|
var _slice = _interopRequireDefault(require("lodash/slice"));
|
|
@@ -16,6 +14,8 @@ var _utils = require("../utils");
|
|
|
16
14
|
|
|
17
15
|
var _treeUtils = require("../utils/treeUtils");
|
|
18
16
|
|
|
17
|
+
var _attachParent = require("../utils/attachParent");
|
|
18
|
+
|
|
19
19
|
function getColumnsAndPaths(data, value, options) {
|
|
20
20
|
var childrenKey = options.childrenKey,
|
|
21
21
|
valueKey = options.valueKey,
|
|
@@ -39,9 +39,7 @@ function getColumnsAndPaths(data, value, options) {
|
|
|
39
39
|
|
|
40
40
|
if (node) {
|
|
41
41
|
columns.push(children.map(function (item) {
|
|
42
|
-
return (0,
|
|
43
|
-
parent: items[i]
|
|
44
|
-
});
|
|
42
|
+
return (0, _attachParent.attachParent)(item, items[i]);
|
|
45
43
|
}));
|
|
46
44
|
paths.push(node.active);
|
|
47
45
|
return {
|
|
@@ -4,7 +4,7 @@ import { PickerInstance, PickerToggleProps } from '../Picker';
|
|
|
4
4
|
import { ItemDataType, FormControlPickerProps } from '../@types/common';
|
|
5
5
|
import type { MultipleSelectProps } from '../SelectPicker';
|
|
6
6
|
export declare type ValueType = (number | string)[];
|
|
7
|
-
export interface CheckPickerProps<T> extends FormControlPickerProps<T[], PickerLocale, ItemDataType<T>>, MultipleSelectProps<T>, Pick<PickerToggleProps, 'label'> {
|
|
7
|
+
export interface CheckPickerProps<T> extends FormControlPickerProps<T[], PickerLocale, ItemDataType<T>>, MultipleSelectProps<T>, Pick<PickerToggleProps, 'label' | 'caretAs'> {
|
|
8
8
|
/** Top the selected option in the options */
|
|
9
9
|
sticky?: boolean;
|
|
10
10
|
/** A picker that can be counted */
|
|
@@ -88,4 +88,12 @@ _react.default.createElement(_CheckPicker.default, {
|
|
|
88
88
|
_react.default.createElement(_CheckPicker.default, {
|
|
89
89
|
label: "User",
|
|
90
90
|
data: []
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
/*#__PURE__*/
|
|
94
|
+
_react.default.createElement(_CheckPicker.default, {
|
|
95
|
+
caretAs: function caretAs() {
|
|
96
|
+
return /*#__PURE__*/_react.default.createElement("div", null);
|
|
97
|
+
},
|
|
98
|
+
data: []
|
|
91
99
|
});
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { PickerLocale } from '../locales';
|
|
3
|
-
import { PickerComponent } from '../Picker';
|
|
3
|
+
import { PickerComponent, PickerToggleProps } from '../Picker';
|
|
4
4
|
import { TreeBaseProps } from '../Tree/Tree';
|
|
5
5
|
import { FormControlPickerProps, ItemDataType } from '../@types/common';
|
|
6
6
|
export declare type ValueType = (string | number)[];
|
|
7
|
-
export interface CheckTreePickerProps<T = ValueType> extends TreeBaseProps<T, ItemDataType>, FormControlPickerProps<T, PickerLocale, ItemDataType> {
|
|
7
|
+
export interface CheckTreePickerProps<T = ValueType> extends TreeBaseProps<T, ItemDataType>, FormControlPickerProps<T, PickerLocale, ItemDataType>, Pick<PickerToggleProps, 'caretAs'> {
|
|
8
8
|
/** Tree node cascade */
|
|
9
9
|
cascade?: boolean;
|
|
10
10
|
/** A picker that can be counted */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
|
6
|
+
|
|
7
|
+
var _CheckTreePicker = _interopRequireDefault(require("../CheckTreePicker"));
|
|
8
|
+
|
|
9
|
+
/*#__PURE__*/
|
|
10
|
+
_react.default.createElement(_CheckTreePicker.default, {
|
|
11
|
+
caretAs: function caretAs() {
|
|
12
|
+
return /*#__PURE__*/_react.default.createElement("div", null);
|
|
13
|
+
},
|
|
14
|
+
data: []
|
|
15
|
+
});
|
|
@@ -25,6 +25,8 @@ var _utils = require("../utils");
|
|
|
25
25
|
|
|
26
26
|
var _treeUtils = require("../utils/treeUtils");
|
|
27
27
|
|
|
28
|
+
var _attachParent = require("../utils/attachParent");
|
|
29
|
+
|
|
28
30
|
function isEveryChildChecked(nodes, parent) {
|
|
29
31
|
if ((0, _isNil2.default)(parent.refKey) || (0, _isNil2.default)(nodes[parent.refKey])) {
|
|
30
32
|
return false;
|
|
@@ -147,7 +149,7 @@ function getFormattedTree(data, nodes, props) {
|
|
|
147
149
|
formatted.check = curNode.check;
|
|
148
150
|
formatted.expand = curNode.expand;
|
|
149
151
|
formatted.uncheckable = curNode.uncheckable;
|
|
150
|
-
formatted
|
|
152
|
+
(0, _attachParent.attachParent)(formatted, curNode.parent);
|
|
151
153
|
formatted.checkState = checkState;
|
|
152
154
|
|
|
153
155
|
if (((_node$childrenKey = node[childrenKey]) === null || _node$childrenKey === void 0 ? void 0 : _node$childrenKey.length) > 0) {
|
|
@@ -40,7 +40,8 @@ var CustomProvider = function CustomProvider(props) {
|
|
|
40
40
|
var toasters = _react.default.useRef(new Map());
|
|
41
41
|
|
|
42
42
|
var _usePortal = (0, _utils.usePortal)({
|
|
43
|
-
container: container
|
|
43
|
+
container: container,
|
|
44
|
+
waitMount: true
|
|
44
45
|
}),
|
|
45
46
|
Portal = _usePortal.Portal;
|
|
46
47
|
|
|
@@ -65,7 +66,9 @@ var CustomProvider = function CustomProvider(props) {
|
|
|
65
66
|
}, [classPrefix, theme]);
|
|
66
67
|
return /*#__PURE__*/_react.default.createElement(Provider, {
|
|
67
68
|
value: value
|
|
68
|
-
}, children, /*#__PURE__*/_react.default.createElement(Portal, null,
|
|
69
|
+
}, children, /*#__PURE__*/_react.default.createElement(Portal, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
70
|
+
className: "rs-toast-provider"
|
|
71
|
+
}, _ToastContainer.toastPlacements.map(function (placement) {
|
|
69
72
|
return /*#__PURE__*/_react.default.createElement(_ToastContainer.default, {
|
|
70
73
|
key: placement,
|
|
71
74
|
placement: placement,
|
|
@@ -73,7 +76,7 @@ var CustomProvider = function CustomProvider(props) {
|
|
|
73
76
|
toasters.current.set(placement, _ref);
|
|
74
77
|
}
|
|
75
78
|
});
|
|
76
|
-
})));
|
|
79
|
+
}))));
|
|
77
80
|
};
|
|
78
81
|
|
|
79
82
|
var _default = CustomProvider;
|
|
@@ -19,7 +19,6 @@ export interface CalendarProps extends WithAsProps, Omit<CalendarCoreProps, Omit
|
|
|
19
19
|
onToggleMeridian: (index: number, event: React.MouseEvent) => void;
|
|
20
20
|
onMouseMove?: (date: Date) => void;
|
|
21
21
|
onSelect?: (date: Date, event: React.SyntheticEvent) => void;
|
|
22
|
-
showOneCalendar?: boolean;
|
|
23
22
|
showWeekNumbers?: boolean;
|
|
24
23
|
value?: [] | [Date] | [Date, Date];
|
|
25
24
|
}
|
|
@@ -21,14 +21,6 @@ var _Calendar = _interopRequireWildcard(require("../Calendar/Calendar"));
|
|
|
21
21
|
|
|
22
22
|
var _utils = require("../utils");
|
|
23
23
|
|
|
24
|
-
/**
|
|
25
|
-
* Omit the time in the date, which is used to compare and judge the date.
|
|
26
|
-
* eg: isAfter/isBefore
|
|
27
|
-
*/
|
|
28
|
-
function omitTime(date) {
|
|
29
|
-
return new Date(date.getFullYear(), date.getMonth(), date.getDate());
|
|
30
|
-
}
|
|
31
|
-
|
|
32
24
|
var Calendar = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
33
25
|
var _props$as = props.as,
|
|
34
26
|
Component = _props$as === void 0 ? _Calendar.default : _props$as,
|
|
@@ -43,10 +35,9 @@ var Calendar = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
43
35
|
onChangeCalendarDate = props.onChangeCalendarDate,
|
|
44
36
|
onChangeCalendarTime = props.onChangeCalendarTime,
|
|
45
37
|
onToggleMeridian = props.onToggleMeridian,
|
|
46
|
-
showOneCalendar = props.showOneCalendar,
|
|
47
38
|
_props$value = props.value,
|
|
48
39
|
value = _props$value === void 0 ? [] : _props$value,
|
|
49
|
-
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "calendarDate", "format", "disabledDate", "index", "limitEndYear", "onChangeCalendarDate", "onChangeCalendarTime", "onToggleMeridian", "
|
|
40
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "calendarDate", "format", "disabledDate", "index", "limitEndYear", "onChangeCalendarDate", "onChangeCalendarTime", "onToggleMeridian", "value"]);
|
|
50
41
|
|
|
51
42
|
var _useState = (0, _react.useState)(),
|
|
52
43
|
calendarState = _useState[0],
|
|
@@ -86,33 +77,6 @@ var Calendar = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
86
77
|
var handleMoveBackward = (0, _react.useCallback)(function () {
|
|
87
78
|
onMoveBackward === null || onMoveBackward === void 0 ? void 0 : onMoveBackward((0, _dateUtils.addMonths)(getCalendarDate(), -1));
|
|
88
79
|
}, [getCalendarDate, onMoveBackward]);
|
|
89
|
-
var disabledBackward = (0, _react.useCallback)(function () {
|
|
90
|
-
// Do not disable the Backward button on the first calendar.
|
|
91
|
-
if (index === 0) {
|
|
92
|
-
return false;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
var startDate = (0, _dateUtils.setDate)((0, _dateUtils.addMonths)(calendarDate[0], 1), 1);
|
|
96
|
-
var endDate = (0, _dateUtils.setDate)(omitTime(calendarDate[1]), 1);
|
|
97
|
-
var after = (0, _dateUtils.isAfter)(endDate, startDate);
|
|
98
|
-
return !after;
|
|
99
|
-
}, [calendarDate, index]);
|
|
100
|
-
var disabledForward = (0, _react.useCallback)(function () {
|
|
101
|
-
// If only one calendar is displayed, do not disable
|
|
102
|
-
if (showOneCalendar) {
|
|
103
|
-
return false;
|
|
104
|
-
} // Do not disable the Forward button on the second calendar.
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
if (index === 1) {
|
|
108
|
-
return false;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
var startDate = (0, _dateUtils.setDate)((0, _dateUtils.addMonths)(omitTime(calendarDate[0]), 1), 1);
|
|
112
|
-
var endDate = (0, _dateUtils.setDate)(omitTime(calendarDate[1]), 1);
|
|
113
|
-
var after = (0, _dateUtils.isAfter)(endDate, startDate);
|
|
114
|
-
return !after;
|
|
115
|
-
}, [calendarDate, index, showOneCalendar]);
|
|
116
80
|
var disabledMonth = (0, _react.useCallback)(function (date) {
|
|
117
81
|
return disabledDate === null || disabledDate === void 0 ? void 0 : disabledDate(date, value, _utils.DATERANGE_DISABLED_TARGET.CALENDAR);
|
|
118
82
|
}, [disabledDate, value]);
|
|
@@ -120,9 +84,7 @@ var Calendar = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
120
84
|
format: format,
|
|
121
85
|
calendarState: calendarState,
|
|
122
86
|
dateRange: value,
|
|
123
|
-
disabledBackward: disabledBackward(),
|
|
124
87
|
disabledDate: disabledMonth,
|
|
125
|
-
disabledForward: disabledForward(),
|
|
126
88
|
inSameMonth: inSameMonth,
|
|
127
89
|
index: index,
|
|
128
90
|
limitEndYear: limitEndYear,
|
|
@@ -160,9 +160,10 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
160
160
|
* If params `value` is not passed, it defaults to [new Date(), addMonth(new Date(), 1)].
|
|
161
161
|
*/
|
|
162
162
|
|
|
163
|
-
var
|
|
163
|
+
var updateCalendarDateRange = (0, _react.useCallback)(function (value, calendarKey) {
|
|
164
164
|
setCalendarDate((0, _utils2.getCalendarDate)({
|
|
165
|
-
value: value
|
|
165
|
+
value: value,
|
|
166
|
+
calendarKey: calendarKey
|
|
166
167
|
}));
|
|
167
168
|
}, []); // if valueProp changed then update selectValue/hoverValue
|
|
168
169
|
|
|
@@ -337,10 +338,10 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
337
338
|
|
|
338
339
|
setHoverDateRange(nextSelectDates.length === 2 ? nextSelectDates : [nextSelectDates[0], nextSelectDates[0]]);
|
|
339
340
|
setSelectedDates(nextSelectDates);
|
|
340
|
-
|
|
341
|
+
updateCalendarDateRange(nextSelectDates);
|
|
341
342
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(date, event);
|
|
342
343
|
hasDoneSelect.current = !hasDoneSelect.current;
|
|
343
|
-
}, [getHoverRangeValue, handleValueUpdate, hoverDateRange, onSelect, oneTap, selectedDates,
|
|
344
|
+
}, [getHoverRangeValue, handleValueUpdate, hoverDateRange, onSelect, oneTap, selectedDates, updateCalendarDateRange]);
|
|
344
345
|
/**
|
|
345
346
|
* If `selectValue` changed, there will be the following effects.
|
|
346
347
|
* 1. Check if the selection is completed.
|
|
@@ -352,12 +353,12 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
352
353
|
var doneSelected = selectValueLength === 0 || selectValueLength === 2;
|
|
353
354
|
doneSelected && setHoverDateRange(null);
|
|
354
355
|
}, [selectedDates]);
|
|
355
|
-
var
|
|
356
|
+
var updateSingleCalendarDate = (0, _react.useCallback)(function (index, date) {
|
|
356
357
|
var nextCalendarDate = Array.from(calendarDate);
|
|
357
358
|
nextCalendarDate[index] = date;
|
|
358
|
-
|
|
359
|
-
}, [calendarDate,
|
|
360
|
-
var
|
|
359
|
+
updateCalendarDateRange(nextCalendarDate, index === 0 ? 'start' : 'end');
|
|
360
|
+
}, [calendarDate, updateCalendarDateRange]);
|
|
361
|
+
var updateSingleCalendarTime = (0, _react.useCallback)(function (index, date) {
|
|
361
362
|
setSelectedDates(function (prev) {
|
|
362
363
|
var next = [].concat(prev);
|
|
363
364
|
var clonedDate = new Date(date.valueOf()); // if next[index] is not empty, only update the time after aligning the year, month and day
|
|
@@ -369,8 +370,8 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
369
370
|
next[index] = clonedDate;
|
|
370
371
|
return next;
|
|
371
372
|
});
|
|
372
|
-
|
|
373
|
-
}, [
|
|
373
|
+
updateSingleCalendarDate(index, date);
|
|
374
|
+
}, [updateSingleCalendarDate]);
|
|
374
375
|
/**
|
|
375
376
|
* The callback triggered when PM/AM is switched.
|
|
376
377
|
*/
|
|
@@ -407,9 +408,9 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
407
408
|
onOk === null || onOk === void 0 ? void 0 : onOk(selectedDates, event);
|
|
408
409
|
}, [handleValueUpdate, onOk, selectedDates]);
|
|
409
410
|
var handleClean = (0, _react.useCallback)(function (event) {
|
|
410
|
-
|
|
411
|
+
updateCalendarDateRange(null);
|
|
411
412
|
handleValueUpdate(event, null);
|
|
412
|
-
}, [handleValueUpdate,
|
|
413
|
+
}, [handleValueUpdate, updateCalendarDateRange]);
|
|
413
414
|
/**
|
|
414
415
|
* Callback after the input box value is changed.
|
|
415
416
|
*/
|
|
@@ -444,9 +445,9 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
444
445
|
|
|
445
446
|
setHoverDateRange(selectValue);
|
|
446
447
|
setSelectedDates(selectValue);
|
|
447
|
-
|
|
448
|
+
updateCalendarDateRange(selectValue);
|
|
448
449
|
}, // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
449
|
-
[character, rangeFormatStr,
|
|
450
|
+
[character, rangeFormatStr, updateCalendarDateRange]);
|
|
450
451
|
/**
|
|
451
452
|
* The callback after the enter key is triggered on the input
|
|
452
453
|
*/
|
|
@@ -472,8 +473,8 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
472
473
|
}
|
|
473
474
|
|
|
474
475
|
setSelectedDates(value !== null && value !== void 0 ? value : []);
|
|
475
|
-
|
|
476
|
-
}, [defaultCalendarValue,
|
|
476
|
+
updateCalendarDateRange(nextCalendarDate);
|
|
477
|
+
}, [defaultCalendarValue, updateCalendarDateRange, setSelectedDates, value]);
|
|
477
478
|
var handleEntered = (0, _react.useCallback)(function () {
|
|
478
479
|
onOpen === null || onOpen === void 0 ? void 0 : onOpen();
|
|
479
480
|
setPickerToggleActive(true);
|
|
@@ -548,7 +549,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
548
549
|
left: left,
|
|
549
550
|
top: top
|
|
550
551
|
});
|
|
551
|
-
var
|
|
552
|
+
var calendarProps = {
|
|
552
553
|
calendarDate: calendarDate,
|
|
553
554
|
disabledDate: handleDisabledDate,
|
|
554
555
|
format: formatStr,
|
|
@@ -556,12 +557,11 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
556
557
|
isoWeek: isoWeek,
|
|
557
558
|
limitEndYear: limitEndYear,
|
|
558
559
|
locale: locale,
|
|
559
|
-
showOneCalendar: showOneCalendar,
|
|
560
560
|
showWeekNumbers: showWeekNumbers,
|
|
561
561
|
value: selectedDates,
|
|
562
562
|
showMeridian: showMeridian,
|
|
563
|
-
onChangeCalendarDate:
|
|
564
|
-
onChangeCalendarTime:
|
|
563
|
+
onChangeCalendarDate: updateSingleCalendarDate,
|
|
564
|
+
onChangeCalendarTime: updateSingleCalendarTime,
|
|
565
565
|
onMouseMove: handleMouseMove,
|
|
566
566
|
onSelect: handleSelectDate,
|
|
567
567
|
onToggleMeridian: handleToggleMeridian,
|
|
@@ -582,9 +582,9 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
582
582
|
className: prefix("daterange-calendar-" + (showOneCalendar ? 'single' : 'group'))
|
|
583
583
|
}, /*#__PURE__*/_react.default.createElement(_Calendar2.default, (0, _extends2.default)({
|
|
584
584
|
index: 0
|
|
585
|
-
},
|
|
585
|
+
}, calendarProps)), !showOneCalendar && /*#__PURE__*/_react.default.createElement(_Calendar2.default, (0, _extends2.default)({
|
|
586
586
|
index: 1
|
|
587
|
-
},
|
|
587
|
+
}, calendarProps)))), /*#__PURE__*/_react.default.createElement(_Toolbar.default, {
|
|
588
588
|
locale: locale,
|
|
589
589
|
calendarDate: selectedDates,
|
|
590
590
|
disabledOkBtn: disabledOkButton,
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { DateRange, RangeType } from './types';
|
|
2
2
|
export declare const setTimingMargin: (date: any, way?: string) => Date;
|
|
3
|
-
export declare function getCalendarDate({ value }: {
|
|
3
|
+
export declare function getCalendarDate({ value, calendarKey }: {
|
|
4
4
|
value: [] | [Date] | [Date, Date] | null;
|
|
5
|
+
calendarKey?: 'start' | 'end';
|
|
5
6
|
}): DateRange;
|
|
6
7
|
export declare const getDefaultRanges: () => RangeType[];
|
|
7
8
|
export declare const isSameRange: (source: DateRange | null, dest: DateRange | null, format: string) => boolean;
|
|
@@ -19,14 +19,23 @@ exports.setTimingMargin = setTimingMargin;
|
|
|
19
19
|
function getCalendarDate(_ref) {
|
|
20
20
|
var _value;
|
|
21
21
|
|
|
22
|
-
var value = _ref.value
|
|
22
|
+
var value = _ref.value,
|
|
23
|
+
_ref$calendarKey = _ref.calendarKey,
|
|
24
|
+
calendarKey = _ref$calendarKey === void 0 ? 'start' : _ref$calendarKey;
|
|
23
25
|
// Update calendarDate if the value is not null
|
|
24
26
|
value = (_value = value) !== null && _value !== void 0 ? _value : [];
|
|
25
27
|
|
|
26
28
|
if (value[0] && value[1]) {
|
|
27
|
-
var
|
|
29
|
+
var startMonth = _utils.DateUtils.getMonth(value[0]);
|
|
30
|
+
|
|
31
|
+
var endMonth = _utils.DateUtils.getMonth(value[1]);
|
|
32
|
+
|
|
33
|
+
if (calendarKey === 'start') {
|
|
34
|
+
return [value[0], startMonth >= endMonth ? _utils.DateUtils.addMonths(value[0], 1) : value[1]];
|
|
35
|
+
} else if (calendarKey === 'end') {
|
|
36
|
+
return [startMonth >= endMonth ? _utils.DateUtils.addMonths(value[1], -1) : value[0], value[1]];
|
|
37
|
+
} // If only the start date
|
|
28
38
|
|
|
29
|
-
return [value[0], sameMonth ? _utils.DateUtils.addMonths(value[1], 1) : value[1]]; // If only the start date
|
|
30
39
|
} else if (value[0]) {
|
|
31
40
|
return [value[0], _utils.DateUtils.addMonths(value[0], 1)];
|
|
32
41
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { InputPickerLocale } from '../locales';
|
|
3
|
-
import { PickerComponent } from '../Picker';
|
|
3
|
+
import { PickerComponent, PickerToggleProps } from '../Picker';
|
|
4
4
|
import { TagProps } from '../Tag';
|
|
5
5
|
import { ItemDataType, FormControlPickerProps } from '../@types/common';
|
|
6
6
|
import { SelectProps } from '../SelectPicker';
|
|
@@ -24,7 +24,7 @@ interface InputItemDataType extends ItemDataType {
|
|
|
24
24
|
create?: boolean;
|
|
25
25
|
}
|
|
26
26
|
export declare type ValueType = any;
|
|
27
|
-
export interface InputPickerProps<T = ValueType> extends FormControlPickerProps<T, InputPickerLocale, InputItemDataType>, SelectProps<T> {
|
|
27
|
+
export interface InputPickerProps<T = ValueType> extends FormControlPickerProps<T, InputPickerLocale, InputItemDataType>, SelectProps<T>, Pick<PickerToggleProps, 'caretAs'> {
|
|
28
28
|
tabIndex?: number;
|
|
29
29
|
/** Settings can create new options */
|
|
30
30
|
creatable?: boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
|
6
|
+
|
|
7
|
+
var _InputPicker = _interopRequireDefault(require("../InputPicker"));
|
|
8
|
+
|
|
9
|
+
/*#__PURE__*/
|
|
10
|
+
_react.default.createElement(_InputPicker.default, {
|
|
11
|
+
caretAs: function caretAs() {
|
|
12
|
+
return /*#__PURE__*/_react.default.createElement("div", null);
|
|
13
|
+
},
|
|
14
|
+
data: []
|
|
15
|
+
});
|
|
@@ -18,6 +18,8 @@ var _slice = _interopRequireDefault(require("lodash/slice"));
|
|
|
18
18
|
|
|
19
19
|
var _treeUtils = require("../utils/treeUtils");
|
|
20
20
|
|
|
21
|
+
var _attachParent = require("../utils/attachParent");
|
|
22
|
+
|
|
21
23
|
/**
|
|
22
24
|
* Get all parents of a node
|
|
23
25
|
* @param node
|
|
@@ -196,8 +198,7 @@ function useFlattenData(data, itemKeys) {
|
|
|
196
198
|
|
|
197
199
|
var addFlattenData = (0, _react.useCallback)(function (children, parent) {
|
|
198
200
|
var nodes = children.map(function (child) {
|
|
199
|
-
child
|
|
200
|
-
return child;
|
|
201
|
+
return (0, _attachParent.attachParent)(child, parent);
|
|
201
202
|
});
|
|
202
203
|
parent[childrenKey] = nodes;
|
|
203
204
|
setFlattenData([].concat(flattenData, nodes));
|
|
@@ -324,7 +324,7 @@ var OverlayTrigger = /*#__PURE__*/_react.default.forwardRef(function (props, ref
|
|
|
324
324
|
triggerEvents.onBlur = (0, _utils.createChainedFunction)(handleDelayedClose, onBlur);
|
|
325
325
|
}
|
|
326
326
|
|
|
327
|
-
if (trigger !== 'none') {
|
|
327
|
+
if (trigger !== 'none' && followCursor) {
|
|
328
328
|
triggerEvents.onMouseMove = (0, _utils.createChainedFunction)(handledMoveOverlay, onMouseMove);
|
|
329
329
|
}
|
|
330
330
|
}
|
package/cjs/Panel/Panel.js
CHANGED
|
@@ -121,21 +121,19 @@ var Panel = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
121
121
|
return null;
|
|
122
122
|
}
|
|
123
123
|
|
|
124
|
-
var
|
|
124
|
+
var panelTitleElement;
|
|
125
125
|
|
|
126
126
|
if (! /*#__PURE__*/_react.default.isValidElement(header) || Array.isArray(header)) {
|
|
127
|
-
|
|
128
|
-
rotate: expanded ? 180 : 0
|
|
129
|
-
}), /*#__PURE__*/_react.default.createElement("span", {
|
|
127
|
+
panelTitleElement = /*#__PURE__*/_react.default.createElement("span", {
|
|
130
128
|
className: prefix('title'),
|
|
131
129
|
role: "presentation"
|
|
132
130
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
133
131
|
className: expanded ? undefined : 'collapsed'
|
|
134
|
-
}, header))
|
|
132
|
+
}, header));
|
|
135
133
|
} else {
|
|
136
134
|
var _className = merge(prefix('title'), (0, _get.default)(header, 'props.className'));
|
|
137
135
|
|
|
138
|
-
|
|
136
|
+
panelTitleElement = /*#__PURE__*/_react.default.cloneElement(header, {
|
|
139
137
|
className: _className
|
|
140
138
|
});
|
|
141
139
|
}
|
|
@@ -147,7 +145,10 @@ var Panel = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
147
145
|
className: prefix('header'),
|
|
148
146
|
onClick: collapsible ? handleSelect : undefined,
|
|
149
147
|
tabIndex: -1
|
|
150
|
-
},
|
|
148
|
+
}, panelTitleElement, collapsible && /*#__PURE__*/_react.default.createElement(_AngleDown.default, {
|
|
149
|
+
rotate: expanded ? 180 : 0,
|
|
150
|
+
"data-testid": "caret icon"
|
|
151
|
+
}));
|
|
151
152
|
};
|
|
152
153
|
|
|
153
154
|
var classes = merge(className, withClassPrefix({
|
|
@@ -40,7 +40,13 @@ export interface MultipleSelectProps<T> extends Omit<SelectProps<T>, 'renderValu
|
|
|
40
40
|
/** Custom render selected items */
|
|
41
41
|
renderValue?: (value: T[], item: ItemDataType<T>[], selectedElement: React.ReactNode) => React.ReactNode;
|
|
42
42
|
}
|
|
43
|
-
export interface SelectPickerProps<T> extends FormControlPickerProps<T, PickerLocale, ItemDataType<T>>, SelectProps<T>, Pick<PickerToggleProps, 'label'> {
|
|
43
|
+
export interface SelectPickerProps<T> extends Omit<FormControlPickerProps<T, PickerLocale, ItemDataType<T>>, 'value' | 'defaultValue' | 'onChange'>, SelectProps<T>, Pick<PickerToggleProps, 'caretAs' | 'label'> {
|
|
44
|
+
/** Initial value */
|
|
45
|
+
defaultValue?: T;
|
|
46
|
+
/** Current value of the component. Creates a controlled component */
|
|
47
|
+
value?: T | null;
|
|
48
|
+
/** Called after the value has been changed */
|
|
49
|
+
onChange?: (value: T | null, event: React.SyntheticEvent) => void;
|
|
44
50
|
}
|
|
45
51
|
export interface SelectPickerComponent {
|
|
46
52
|
<T>(props: SelectPickerProps<T> & {
|
|
@@ -74,4 +74,27 @@ _react.default.createElement(_SelectPicker.default, {
|
|
|
74
74
|
_react.default.createElement(_SelectPicker.default, {
|
|
75
75
|
label: "User",
|
|
76
76
|
data: []
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
/*#__PURE__*/
|
|
80
|
+
_react.default.createElement(_SelectPicker.default, {
|
|
81
|
+
data: [{
|
|
82
|
+
label: 'Ascending',
|
|
83
|
+
value: 'asc'
|
|
84
|
+
}, {
|
|
85
|
+
label: 'Descending',
|
|
86
|
+
value: 'desc'
|
|
87
|
+
}],
|
|
88
|
+
value: "asc",
|
|
89
|
+
onChange: function onChange(value) {
|
|
90
|
+
(0, _tsExpect.expectType)(value);
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
/*#__PURE__*/
|
|
95
|
+
_react.default.createElement(_SelectPicker.default, {
|
|
96
|
+
caretAs: function caretAs() {
|
|
97
|
+
return /*#__PURE__*/_react.default.createElement("div", null);
|
|
98
|
+
},
|
|
99
|
+
data: []
|
|
77
100
|
});
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { PickerLocale } from '../locales';
|
|
3
|
-
import { PickerComponent } from '../Picker';
|
|
3
|
+
import { PickerComponent, PickerToggleProps } from '../Picker';
|
|
4
4
|
import { TreeDragProps, TreeBaseProps } from '../Tree/Tree';
|
|
5
5
|
import { FormControlPickerProps, ItemDataType } from '../@types/common';
|
|
6
6
|
export declare const maxTreeHeight = 320;
|
|
7
|
-
export interface TreePickerProps<T = number | string> extends TreeBaseProps<T, ItemDataType>, TreeDragProps, FormControlPickerProps<T, PickerLocale, ItemDataType> {
|
|
7
|
+
export interface TreePickerProps<T = number | string> extends TreeBaseProps<T, ItemDataType>, TreeDragProps, FormControlPickerProps<T, PickerLocale, ItemDataType>, Pick<PickerToggleProps, 'caretAs'> {
|
|
8
8
|
/** The height of Dropdown */
|
|
9
9
|
height?: number;
|
|
10
10
|
/** Tree node cascade */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
|
6
|
+
|
|
7
|
+
var _TreePicker = _interopRequireDefault(require("../TreePicker"));
|
|
8
|
+
|
|
9
|
+
/*#__PURE__*/
|
|
10
|
+
_react.default.createElement(_TreePicker.default, {
|
|
11
|
+
caretAs: function caretAs() {
|
|
12
|
+
return /*#__PURE__*/_react.default.createElement("div", null);
|
|
13
|
+
},
|
|
14
|
+
data: []
|
|
15
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function attachParent<T>(data: T, parent: T): T;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.attachParent = attachParent;
|
|
5
|
+
|
|
6
|
+
function attachParent(data, parent) {
|
|
7
|
+
// mark "parent" unenumable
|
|
8
|
+
Object.defineProperty(data, 'parent', {
|
|
9
|
+
value: parent,
|
|
10
|
+
writable: false,
|
|
11
|
+
enumerable: false,
|
|
12
|
+
configurable: true
|
|
13
|
+
});
|
|
14
|
+
return data;
|
|
15
|
+
}
|