rsuite 5.17.0-beta.1 → 5.17.0-beta.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/Button/styles/index.less +1 -1
- package/CHANGELOG.md +22 -0
- package/Calendar/styles/index.less +0 -0
- package/DatePicker/styles/index.less +0 -10
- package/DateRangePicker/styles/index.less +12 -5
- package/FormControl/styles/index.less +0 -0
- package/Windowing/package.json +7 -0
- package/cjs/Calendar/Header.js +2 -4
- package/cjs/Calendar/MonthDropdown.d.ts +1 -0
- package/cjs/Calendar/MonthDropdown.js +27 -40
- package/cjs/Calendar/useCalendarDate.d.ts +1 -0
- package/cjs/Calendar/useCalendarDate.js +7 -1
- package/cjs/Cascader/Cascader.d.ts +2 -2
- package/cjs/Cascader/DropdownMenu.js +5 -2
- package/cjs/CheckPicker/CheckPicker.d.ts +2 -2
- package/cjs/CheckPicker/CheckPicker.js +4 -1
- package/cjs/CheckTreePicker/CheckTreePicker.js +31 -31
- package/cjs/DatePicker/DatePicker.js +4 -3
- package/cjs/DatePicker/PredefinedRanges.d.ts +13 -0
- package/cjs/DatePicker/PredefinedRanges.js +79 -0
- package/cjs/DatePicker/Toolbar.d.ts +2 -9
- package/cjs/DatePicker/Toolbar.js +45 -62
- package/cjs/DateRangePicker/DateRangePicker.js +57 -9
- package/cjs/DateRangePicker/types.d.ts +2 -1
- package/cjs/FormControl/FormControl.js +3 -5
- package/cjs/InputPicker/InputPicker.js +4 -1
- package/cjs/MultiCascader/DropdownMenu.js +5 -2
- package/cjs/Overlay/OverlayTrigger.d.ts +2 -2
- package/cjs/Picker/DropdownMenu.d.ts +2 -1
- package/cjs/Picker/DropdownMenu.js +39 -33
- package/cjs/Picker/PickerOverlay.d.ts +2 -2
- package/cjs/Picker/PickerToggleTrigger.d.ts +2 -2
- package/cjs/Picker/index.d.ts +3 -3
- package/cjs/Picker/types.d.ts +7 -5
- package/cjs/Picker/types.js +0 -0
- package/cjs/Picker/utils.d.ts +11 -12
- package/cjs/Picker/utils.js +4 -0
- package/cjs/SelectPicker/SelectPicker.d.ts +4 -5
- package/cjs/SelectPicker/SelectPicker.js +4 -1
- package/cjs/Tree/Tree.d.ts +2 -5
- package/cjs/TreePicker/TreePicker.js +34 -34
- package/cjs/TreePicker/test/TreePicker.test.js +14 -0
- package/cjs/Whisper/Whisper.d.ts +3 -3
- package/cjs/Windowing/AutoSizer.d.ts +25 -0
- package/cjs/Windowing/AutoSizer.js +107 -0
- package/cjs/Windowing/List.d.ts +45 -0
- package/cjs/Windowing/List.js +72 -0
- package/cjs/Windowing/index.d.ts +5 -0
- package/cjs/Windowing/index.js +19 -0
- package/cjs/index.d.ts +1 -0
- package/cjs/utils/dateUtils.d.ts +1 -0
- package/cjs/utils/dateUtils.js +5 -1
- package/cjs/utils/treeUtils.d.ts +2 -2
- package/dist/rsuite-rtl.css +10 -18
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +10 -18
- package/dist/rsuite.js +110 -377
- 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/Calendar/Header.js +2 -4
- package/esm/Calendar/MonthDropdown.d.ts +1 -0
- package/esm/Calendar/MonthDropdown.js +26 -41
- package/esm/Calendar/useCalendarDate.d.ts +1 -0
- package/esm/Calendar/useCalendarDate.js +7 -1
- package/esm/Cascader/Cascader.d.ts +2 -2
- package/esm/Cascader/DropdownMenu.js +5 -2
- package/esm/CheckPicker/CheckPicker.d.ts +2 -2
- package/esm/CheckPicker/CheckPicker.js +4 -1
- package/esm/CheckTreePicker/CheckTreePicker.js +31 -30
- package/esm/DatePicker/DatePicker.js +4 -3
- package/esm/DatePicker/PredefinedRanges.d.ts +13 -0
- package/esm/DatePicker/PredefinedRanges.js +62 -0
- package/esm/DatePicker/Toolbar.d.ts +2 -9
- package/esm/DatePicker/Toolbar.js +45 -61
- package/esm/DateRangePicker/DateRangePicker.js +55 -9
- package/esm/DateRangePicker/types.d.ts +2 -1
- package/esm/FormControl/FormControl.js +3 -5
- package/esm/InputPicker/InputPicker.js +4 -1
- package/esm/MultiCascader/DropdownMenu.js +5 -2
- package/esm/Overlay/OverlayTrigger.d.ts +2 -2
- package/esm/Picker/DropdownMenu.d.ts +2 -1
- package/esm/Picker/DropdownMenu.js +39 -35
- package/esm/Picker/PickerOverlay.d.ts +2 -2
- package/esm/Picker/PickerToggleTrigger.d.ts +2 -2
- package/esm/Picker/index.d.ts +3 -3
- package/esm/Picker/types.d.ts +7 -5
- package/esm/Picker/types.js +0 -0
- package/esm/Picker/utils.d.ts +11 -12
- package/esm/Picker/utils.js +4 -0
- package/esm/SelectPicker/SelectPicker.d.ts +4 -5
- package/esm/SelectPicker/SelectPicker.js +4 -1
- package/esm/Tree/Tree.d.ts +2 -5
- package/esm/TreePicker/TreePicker.js +33 -32
- package/esm/TreePicker/test/TreePicker.test.js +14 -0
- package/esm/Whisper/Whisper.d.ts +3 -3
- package/esm/Windowing/AutoSizer.d.ts +25 -0
- package/esm/Windowing/AutoSizer.js +92 -0
- package/esm/Windowing/List.d.ts +45 -0
- package/esm/Windowing/List.js +58 -0
- package/esm/Windowing/index.d.ts +5 -0
- package/esm/Windowing/index.js +3 -0
- package/esm/index.d.ts +1 -0
- package/esm/utils/dateUtils.d.ts +1 -0
- package/esm/utils/dateUtils.js +1 -0
- package/esm/utils/treeUtils.d.ts +2 -2
- package/package.json +4 -4
- package/cjs/Picker/VirtualizedList.d.ts +0 -37
- package/cjs/Picker/VirtualizedList.js +0 -15
- package/esm/Picker/VirtualizedList.d.ts +0 -37
- package/esm/Picker/VirtualizedList.js +0 -4
package/Button/styles/index.less
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
# [5.17.0](https://github.com/rsuite/rsuite/compare/v5.16.6...v5.17.0) (2022-08-26)
|
|
2
|
+
|
|
3
|
+
### Features
|
|
4
|
+
|
|
5
|
+
- **DateRangePicker:** supports placing predefined ranges on the left ([#2670](https://github.com/rsuite/rsuite/issues/2670)) ([8df4a61](https://github.com/rsuite/rsuite/commit/8df4a61d3b81e6054369197ff44e1416ea1aefbb))
|
|
6
|
+
|
|
7
|
+
## [5.16.6](https://github.com/rsuite/rsuite/compare/v5.16.5...v5.16.6) (2022-08-18)
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
- **Button:** use [@cursor-disabled](https://github.com/cursor-disabled) intead of hardcoded cursor ([#2658](https://github.com/rsuite/rsuite/issues/2658)) ([5731762](https://github.com/rsuite/rsuite/commit/57317622eb2d65e94e0a8bb962512232cc4dfd3d))
|
|
12
|
+
- **DatePicker,DateRangePicker:** display month name as title of month calendar view ([#2660](https://github.com/rsuite/rsuite/issues/2660)) ([1e812ef](https://github.com/rsuite/rsuite/commit/1e812ef7510ea7b82beda7c058bd07080db198f5))
|
|
13
|
+
- **Form.Control:** apply className to accepter component ([#2662](https://github.com/rsuite/rsuite/issues/2662)) ([a164d28](https://github.com/rsuite/rsuite/commit/a164d287acfe8be2f98080e3b7eb15971f47809f))
|
|
14
|
+
|
|
15
|
+
## [5.16.5](https://github.com/rsuite/rsuite/compare/v5.16.4...v5.16.5) (2022-08-11)
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
- **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))
|
|
20
|
+
- **AutoComplete:** fix missing definition of string in datatype ([#2644](https://github.com/rsuite/rsuite/issues/2644)) ([528e291](https://github.com/rsuite/rsuite/commit/528e29154d188d928e3d93853f5ed0673b932b4a))
|
|
21
|
+
- **DateRangePicker:** fix default time not working ([#2642](https://github.com/rsuite/rsuite/issues/2642)) ([915de28](https://github.com/rsuite/rsuite/commit/915de2820af418195e7f9a6ed228c1b05362d633))
|
|
22
|
+
|
|
1
23
|
## [5.16.4](https://github.com/rsuite/rsuite/compare/v5.16.3...v5.16.4) (2022-08-04)
|
|
2
24
|
|
|
3
25
|
### Bug Fixes
|
|
File without changes
|
|
@@ -19,18 +19,8 @@
|
|
|
19
19
|
|
|
20
20
|
// Toolbar
|
|
21
21
|
.rs-picker-toolbar {
|
|
22
|
-
.clearfix();
|
|
23
|
-
|
|
24
22
|
padding: @calendar-picker-padding;
|
|
25
23
|
border-top: 1px solid @calendar-toolbar-border-color;
|
|
26
|
-
|
|
27
|
-
&-ranges {
|
|
28
|
-
display: inline-block;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
&-right {
|
|
32
|
-
float: right;
|
|
33
|
-
}
|
|
34
24
|
}
|
|
35
25
|
|
|
36
26
|
// Picker date
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
.rs-picker-daterange-menu {
|
|
11
11
|
.rs-calendar {
|
|
12
12
|
display: inline-block;
|
|
13
|
-
height:
|
|
13
|
+
height: 276px;
|
|
14
14
|
padding-bottom: 12px;
|
|
15
15
|
|
|
16
16
|
&:first-child {
|
|
@@ -35,10 +35,6 @@
|
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
.rs-picker-toolbar {
|
|
39
|
-
margin-top: 4px;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
38
|
.rs-picker-daterange-panel-show-one-calendar .rs-picker-toolbar {
|
|
43
39
|
max-width: @date-range-picker-calendar-default-width;
|
|
44
40
|
|
|
@@ -71,3 +67,14 @@
|
|
|
71
67
|
// Make sure group wrapper can put 2 date-panels even screen width is not enough.
|
|
72
68
|
min-width: 492px;
|
|
73
69
|
}
|
|
70
|
+
|
|
71
|
+
// Predefined Ranges
|
|
72
|
+
.rs-picker-daterange-predefined {
|
|
73
|
+
height: 366px;
|
|
74
|
+
border-right: 1px solid var(--rs-border-primary);
|
|
75
|
+
padding: 4px 0;
|
|
76
|
+
|
|
77
|
+
.rs-btn {
|
|
78
|
+
display: block;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
File without changes
|
package/cjs/Calendar/Header.js
CHANGED
|
@@ -90,14 +90,12 @@ var Header = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
90
90
|
return timeFormat.join(':');
|
|
91
91
|
}, [format, showMeridian]);
|
|
92
92
|
var getDateFormat = (0, _react.useCallback)(function () {
|
|
93
|
-
if (
|
|
94
|
-
return (locale === null || locale === void 0 ? void 0 : locale.formattedDayPattern) || 'yyyy-MM-dd';
|
|
95
|
-
} else if (showMonth) {
|
|
93
|
+
if (showMonth) {
|
|
96
94
|
return (locale === null || locale === void 0 ? void 0 : locale.formattedMonthPattern) || 'yyyy-MM';
|
|
97
95
|
}
|
|
98
96
|
|
|
99
97
|
return 'yyyy';
|
|
100
|
-
}, [locale,
|
|
98
|
+
}, [locale, showMonth]);
|
|
101
99
|
var renderTitle = (0, _react.useCallback)(function () {
|
|
102
100
|
var _renderTitleProp;
|
|
103
101
|
|
|
@@ -15,7 +15,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
15
15
|
|
|
16
16
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _Windowing = require("../Windowing");
|
|
19
19
|
|
|
20
20
|
var _utils = require("../utils");
|
|
21
21
|
|
|
@@ -24,22 +24,6 @@ var _MonthDropdownItem = _interopRequireDefault(require("./MonthDropdownItem"));
|
|
|
24
24
|
var _CalendarContext = require("./CalendarContext");
|
|
25
25
|
|
|
26
26
|
var monthMap = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
|
|
27
|
-
/**
|
|
28
|
-
* Set the row height.
|
|
29
|
-
* Add 1px to the first and last lines.
|
|
30
|
-
*/
|
|
31
|
-
|
|
32
|
-
function getRowHeight(count) {
|
|
33
|
-
return function (_ref) {
|
|
34
|
-
var index = _ref.index;
|
|
35
|
-
|
|
36
|
-
if (index === 0 || count - 1 === index) {
|
|
37
|
-
return 75 + 1;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
return 75;
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
27
|
|
|
44
28
|
var MonthDropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
45
29
|
var _props$as = props.as,
|
|
@@ -47,6 +31,7 @@ var MonthDropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
47
31
|
className = props.className,
|
|
48
32
|
_props$classPrefix = props.classPrefix,
|
|
49
33
|
classPrefix = _props$classPrefix === void 0 ? 'calendar-month-dropdown' : _props$classPrefix,
|
|
34
|
+
limitStartYear = props.limitStartYear,
|
|
50
35
|
_props$limitEndYear = props.limitEndYear,
|
|
51
36
|
limitEndYear = _props$limitEndYear === void 0 ? 5 : _props$limitEndYear,
|
|
52
37
|
show = props.show,
|
|
@@ -55,7 +40,7 @@ var MonthDropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
55
40
|
_props$width = props.width,
|
|
56
41
|
defaultWidth = _props$width === void 0 ? 256 : _props$width,
|
|
57
42
|
disabledMonth = props.disabledMonth,
|
|
58
|
-
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "className", "classPrefix", "limitEndYear", "show", "height", "width", "disabledMonth"]);
|
|
43
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "className", "classPrefix", "limitStartYear", "limitEndYear", "show", "height", "width", "disabledMonth"]);
|
|
59
44
|
|
|
60
45
|
var _useCalendarContext = (0, _CalendarContext.useCalendarContext)(),
|
|
61
46
|
_useCalendarContext$d = _useCalendarContext.date,
|
|
@@ -66,9 +51,13 @@ var MonthDropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
66
51
|
merge = _useClassNames.merge,
|
|
67
52
|
withClassPrefix = _useClassNames.withClassPrefix;
|
|
68
53
|
|
|
69
|
-
var
|
|
70
|
-
|
|
71
|
-
|
|
54
|
+
var thisYear = _utils.DateUtils.getYear(new Date());
|
|
55
|
+
|
|
56
|
+
var startYear = limitStartYear ? thisYear - limitStartYear : 1900;
|
|
57
|
+
var rowCount = (0, _react.useMemo)(function () {
|
|
58
|
+
var endYear = thisYear + limitEndYear;
|
|
59
|
+
return endYear - startYear;
|
|
60
|
+
}, [limitEndYear, startYear, thisYear]);
|
|
72
61
|
var isMonthDisabled = (0, _react.useCallback)(function (year, month) {
|
|
73
62
|
if (disabledMonth) {
|
|
74
63
|
var days = _utils.DateUtils.getDaysInMonth(new Date(year, month)); // If all dates in a month are disabled, disable the current month
|
|
@@ -86,29 +75,26 @@ var MonthDropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
86
75
|
return false;
|
|
87
76
|
}, [disabledMonth]);
|
|
88
77
|
|
|
89
|
-
var rowRenderer = function rowRenderer(
|
|
90
|
-
var index =
|
|
91
|
-
|
|
92
|
-
style = _ref2.style;
|
|
78
|
+
var rowRenderer = function rowRenderer(_ref) {
|
|
79
|
+
var index = _ref.index,
|
|
80
|
+
style = _ref.style;
|
|
93
81
|
|
|
94
82
|
var selectedMonth = _utils.DateUtils.getMonth(date);
|
|
95
83
|
|
|
96
84
|
var selectedYear = _utils.DateUtils.getYear(date);
|
|
97
85
|
|
|
98
|
-
var year =
|
|
86
|
+
var year = startYear + index;
|
|
99
87
|
var isSelectedYear = year === selectedYear;
|
|
100
|
-
var count = getRowCount();
|
|
101
88
|
var titleClassName = prefix('year', {
|
|
102
89
|
'year-active': isSelectedYear
|
|
103
90
|
});
|
|
104
91
|
var rowClassName = merge(prefix('row'), {
|
|
105
92
|
'first-row': index === 0,
|
|
106
|
-
'last-row': index ===
|
|
93
|
+
'last-row': index === rowCount - 1
|
|
107
94
|
});
|
|
108
95
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
109
96
|
className: rowClassName,
|
|
110
97
|
role: "row",
|
|
111
|
-
key: key,
|
|
112
98
|
style: style
|
|
113
99
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
114
100
|
className: titleClassName,
|
|
@@ -127,10 +113,12 @@ var MonthDropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
127
113
|
})));
|
|
128
114
|
};
|
|
129
115
|
|
|
130
|
-
var count = getRowCount();
|
|
131
116
|
var classes = merge(className, withClassPrefix(), {
|
|
132
117
|
show: show
|
|
133
118
|
});
|
|
119
|
+
var itemSize = 75;
|
|
120
|
+
var initialItemIndex = _utils.DateUtils.getYear(date) - startYear;
|
|
121
|
+
var initialScrollOffset = itemSize * initialItemIndex;
|
|
134
122
|
return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
|
|
135
123
|
role: "menu"
|
|
136
124
|
}, rest, {
|
|
@@ -140,21 +128,20 @@ var MonthDropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
140
128
|
className: prefix('content')
|
|
141
129
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
142
130
|
className: prefix('scroll')
|
|
143
|
-
}, show && /*#__PURE__*/_react.default.createElement(
|
|
131
|
+
}, show && /*#__PURE__*/_react.default.createElement(_Windowing.AutoSizer, {
|
|
144
132
|
defaultHeight: defaultHeight,
|
|
145
133
|
defaultWidth: defaultWidth
|
|
146
|
-
}, function (
|
|
147
|
-
var height =
|
|
148
|
-
width =
|
|
149
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
134
|
+
}, function (_ref2) {
|
|
135
|
+
var height = _ref2.height,
|
|
136
|
+
width = _ref2.width;
|
|
137
|
+
return /*#__PURE__*/_react.default.createElement(_Windowing.FixedSizeList, {
|
|
150
138
|
className: prefix('row-wrapper'),
|
|
151
139
|
width: width || defaultWidth,
|
|
152
140
|
height: height || defaultHeight,
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
});
|
|
141
|
+
itemSize: itemSize,
|
|
142
|
+
itemCount: rowCount,
|
|
143
|
+
initialScrollOffset: initialScrollOffset
|
|
144
|
+
}, rowRenderer);
|
|
158
145
|
}))));
|
|
159
146
|
});
|
|
160
147
|
|
|
@@ -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
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { PickerLocale } from '../locales';
|
|
3
|
-
import {
|
|
3
|
+
import { PickerHandle } from '../Picker';
|
|
4
4
|
import { ItemDataType, FormControlPickerProps } from '../@types/common';
|
|
5
5
|
export declare type ValueType = number | string;
|
|
6
6
|
export interface CascaderProps<T = ValueType> extends FormControlPickerProps<T | null, PickerLocale, ItemDataType<T>> {
|
|
@@ -33,7 +33,7 @@ export interface CascaderProps<T = ValueType> extends FormControlPickerProps<T |
|
|
|
33
33
|
}
|
|
34
34
|
export interface CascaderComponent {
|
|
35
35
|
<T>(props: CascaderProps<T> & {
|
|
36
|
-
ref?: React.Ref<
|
|
36
|
+
ref?: React.Ref<PickerHandle>;
|
|
37
37
|
}): JSX.Element | null;
|
|
38
38
|
displayName?: string;
|
|
39
39
|
propTypes?: React.WeakValidationMap<CascaderProps<any>>;
|
|
@@ -68,7 +68,10 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
68
68
|
|
|
69
69
|
var classes = merge(className, prefix('items'));
|
|
70
70
|
var rootRef = (0, _react.useRef)();
|
|
71
|
-
|
|
71
|
+
|
|
72
|
+
var _useCustom = (0, _utils.useCustom)('DropdownMenu'),
|
|
73
|
+
rtl = _useCustom.rtl;
|
|
74
|
+
|
|
72
75
|
(0, _react.useEffect)(function () {
|
|
73
76
|
var _rootRef$current;
|
|
74
77
|
|
|
@@ -119,7 +122,7 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
119
122
|
}); // Use `value` in keys when If `value` is string or number
|
|
120
123
|
|
|
121
124
|
var onlyKey = typeof value === 'number' || typeof value === 'string' ? value : index;
|
|
122
|
-
var Icon = node.loading ? _Spinner.default : rtl ?
|
|
125
|
+
var Icon = node.loading ? _Spinner.default : rtl ? _AngleLeft.default : _AngleRight.default;
|
|
123
126
|
return /*#__PURE__*/_react.default.createElement(_Picker.DropdownMenuItem, {
|
|
124
127
|
classPrefix: "picker-cascader-menu-item",
|
|
125
128
|
as: 'li',
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { Ref } from 'react';
|
|
2
2
|
import { PickerLocale } from '../locales';
|
|
3
|
-
import {
|
|
3
|
+
import { PickerHandle, 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)[];
|
|
@@ -12,7 +12,7 @@ export interface CheckPickerProps<T> extends FormControlPickerProps<T[], PickerL
|
|
|
12
12
|
}
|
|
13
13
|
export interface CheckPickerComponent {
|
|
14
14
|
<T>(props: CheckPickerProps<T> & {
|
|
15
|
-
ref?: Ref<
|
|
15
|
+
ref?: Ref<PickerHandle>;
|
|
16
16
|
}): JSX.Element | null;
|
|
17
17
|
displayName?: string;
|
|
18
18
|
propTypes?: React.WeakValidationMap<CheckPickerProps<any>>;
|
|
@@ -104,6 +104,7 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
104
104
|
var targetRef = (0, _react.useRef)(null);
|
|
105
105
|
var overlayRef = (0, _react.useRef)(null);
|
|
106
106
|
var searchInputRef = (0, _react.useRef)(null);
|
|
107
|
+
var listRef = (0, _react.useRef)(null);
|
|
107
108
|
|
|
108
109
|
var _useCustom = (0, _utils.useCustom)('Picker', overrideLocale),
|
|
109
110
|
locale = _useCustom.locale;
|
|
@@ -258,7 +259,8 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
258
259
|
(0, _Picker.usePublicMethods)(ref, {
|
|
259
260
|
triggerRef: triggerRef,
|
|
260
261
|
overlayRef: overlayRef,
|
|
261
|
-
targetRef: targetRef
|
|
262
|
+
targetRef: targetRef,
|
|
263
|
+
listRef: listRef
|
|
262
264
|
});
|
|
263
265
|
var selectedItems = data.filter(function (item) {
|
|
264
266
|
return value === null || value === void 0 ? void 0 : value.some(function (val) {
|
|
@@ -329,6 +331,7 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
329
331
|
var menu = items.length || filteredStickyItems.length ? /*#__PURE__*/_react.default.createElement(_Picker.DropdownMenu, {
|
|
330
332
|
id: id ? id + "-listbox" : undefined,
|
|
331
333
|
listProps: listProps,
|
|
334
|
+
listRef: listRef,
|
|
332
335
|
disabledItemValues: disabledItemValues,
|
|
333
336
|
valueKey: valueKey,
|
|
334
337
|
labelKey: labelKey,
|
|
@@ -29,7 +29,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
29
29
|
|
|
30
30
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
31
31
|
|
|
32
|
-
var
|
|
32
|
+
var _Windowing = require("../Windowing");
|
|
33
33
|
|
|
34
34
|
var _CheckTreeNode = _interopRequireDefault(require("./CheckTreeNode"));
|
|
35
35
|
|
|
@@ -47,6 +47,10 @@ var _TreePicker = require("../TreePicker/TreePicker");
|
|
|
47
47
|
|
|
48
48
|
var emptyArray = [];
|
|
49
49
|
|
|
50
|
+
var itemSize = function itemSize() {
|
|
51
|
+
return 36;
|
|
52
|
+
};
|
|
53
|
+
|
|
50
54
|
var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
51
55
|
var _props$as = props.as,
|
|
52
56
|
Component = _props$as === void 0 ? 'div' : _props$as,
|
|
@@ -634,29 +638,26 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
634
638
|
}, nodeProps));
|
|
635
639
|
};
|
|
636
640
|
|
|
637
|
-
var renderVirtualListNode = function renderVirtualListNode(
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
}
|
|
658
|
-
}, nodeProps));
|
|
659
|
-
};
|
|
641
|
+
var renderVirtualListNode = function renderVirtualListNode(_ref3) {
|
|
642
|
+
var index = _ref3.index,
|
|
643
|
+
style = _ref3.style,
|
|
644
|
+
data = _ref3.data;
|
|
645
|
+
var node = data[index];
|
|
646
|
+
var layer = node.layer,
|
|
647
|
+
refKey = node.refKey,
|
|
648
|
+
visible = node.visible;
|
|
649
|
+
var expand = (0, _treeUtils.getExpandWhenSearching)(searchKeywordState, expandItemValues.includes(node[valueKey]));
|
|
650
|
+
var nodeProps = (0, _extends2.default)({}, getTreeNodeProps((0, _extends2.default)({}, node, {
|
|
651
|
+
expand: expand
|
|
652
|
+
}), layer), {
|
|
653
|
+
hasChildren: node.hasChildren
|
|
654
|
+
});
|
|
655
|
+
return visible && /*#__PURE__*/_react.default.createElement(_CheckTreeNode.default, (0, _extends2.default)({
|
|
656
|
+
style: style,
|
|
657
|
+
ref: function ref(_ref4) {
|
|
658
|
+
return saveTreeNodeRef(_ref4, refKey);
|
|
659
|
+
}
|
|
660
|
+
}, nodeProps));
|
|
660
661
|
};
|
|
661
662
|
|
|
662
663
|
var renderCheckTree = function renderCheckTree() {
|
|
@@ -688,7 +689,7 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
688
689
|
onKeyDown: inline ? handleTreeKeydown : undefined
|
|
689
690
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
690
691
|
className: treeNodesClass
|
|
691
|
-
}, virtualized ? /*#__PURE__*/_react.default.createElement(
|
|
692
|
+
}, virtualized ? /*#__PURE__*/_react.default.createElement(_Windowing.AutoSizer, {
|
|
692
693
|
defaultHeight: inline ? height : _TreePicker.maxTreeHeight,
|
|
693
694
|
style: {
|
|
694
695
|
width: 'auto',
|
|
@@ -697,15 +698,14 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
697
698
|
}, function (_ref5) {
|
|
698
699
|
var height = _ref5.height,
|
|
699
700
|
width = _ref5.width;
|
|
700
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
701
|
+
return /*#__PURE__*/_react.default.createElement(_Windowing.List, (0, _extends2.default)({
|
|
701
702
|
ref: listRef,
|
|
702
703
|
width: width,
|
|
703
704
|
height: height,
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
}, listProps));
|
|
705
|
+
itemSize: itemSize,
|
|
706
|
+
itemCount: formattedNodes.length,
|
|
707
|
+
itemData: formattedNodes
|
|
708
|
+
}, listProps), renderVirtualListNode);
|
|
709
709
|
}) : formattedNodes));
|
|
710
710
|
};
|
|
711
711
|
|
|
@@ -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
|
*/
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { StackProps } from '../Stack';
|
|
3
|
+
import { RangeType } from './types';
|
|
4
|
+
import { CalendarLocale } from '../locales';
|
|
5
|
+
export interface PredefinedRangesProps<T = any, Shortcut = T> extends StackProps {
|
|
6
|
+
ranges?: RangeType<Shortcut>[];
|
|
7
|
+
calendarDate: T;
|
|
8
|
+
locale: CalendarLocale;
|
|
9
|
+
disabledShortcut?: (value: T) => boolean;
|
|
10
|
+
onClickShortcut?: (value: Shortcut, closeOverlay: boolean, event: React.MouseEvent) => void;
|
|
11
|
+
}
|
|
12
|
+
declare const PredefinedRanges: React.ForwardRefExoticComponent<PredefinedRangesProps<any, any> & React.RefAttributes<HTMLDivElement>>;
|
|
13
|
+
export default PredefinedRanges;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
+
|
|
5
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
|
+
|
|
7
|
+
exports.__esModule = true;
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
|
|
12
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
13
|
+
|
|
14
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
+
|
|
16
|
+
var _Button = _interopRequireDefault(require("../Button"));
|
|
17
|
+
|
|
18
|
+
var _Stack = _interopRequireDefault(require("../Stack"));
|
|
19
|
+
|
|
20
|
+
var _utils = require("../utils");
|
|
21
|
+
|
|
22
|
+
var _utils2 = require("./utils");
|
|
23
|
+
|
|
24
|
+
var PredefinedRanges = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
25
|
+
var className = props.className,
|
|
26
|
+
disabledShortcut = props.disabledShortcut,
|
|
27
|
+
onClickShortcut = props.onClickShortcut,
|
|
28
|
+
calendarDate = props.calendarDate,
|
|
29
|
+
rangesProp = props.ranges,
|
|
30
|
+
locale = props.locale,
|
|
31
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["className", "disabledShortcut", "onClickShortcut", "calendarDate", "ranges", "locale"]);
|
|
32
|
+
|
|
33
|
+
var _useState = (0, _react.useState)((0, _utils2.getRanges)(props)),
|
|
34
|
+
ranges = _useState[0],
|
|
35
|
+
setRanges = _useState[1];
|
|
36
|
+
|
|
37
|
+
(0, _utils.useUpdateEffect)(function () {
|
|
38
|
+
setRanges((0, _utils2.getRanges)({
|
|
39
|
+
ranges: rangesProp,
|
|
40
|
+
calendarDate: calendarDate
|
|
41
|
+
}));
|
|
42
|
+
}, [calendarDate, rangesProp]);
|
|
43
|
+
var hasLocaleKey = (0, _react.useCallback)(function (key) {
|
|
44
|
+
return (0, _utils2.getDefaultRanges)(calendarDate).some(function (item) {
|
|
45
|
+
return item.label === key;
|
|
46
|
+
});
|
|
47
|
+
}, [calendarDate]);
|
|
48
|
+
return /*#__PURE__*/_react.default.createElement(_Stack.default, (0, _extends2.default)({
|
|
49
|
+
className: className,
|
|
50
|
+
ref: ref,
|
|
51
|
+
alignItems: "flex-start",
|
|
52
|
+
spacing: 4
|
|
53
|
+
}, rest), ranges.map(function (_ref, index) {
|
|
54
|
+
var value = _ref.value,
|
|
55
|
+
closeOverlay = _ref.closeOverlay,
|
|
56
|
+
label = _ref.label,
|
|
57
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["value", "closeOverlay", "label"]);
|
|
58
|
+
var disabled = disabledShortcut === null || disabledShortcut === void 0 ? void 0 : disabledShortcut(value);
|
|
59
|
+
|
|
60
|
+
var handleClickShortcut = function handleClickShortcut(event) {
|
|
61
|
+
if (disabled) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
onClickShortcut === null || onClickShortcut === void 0 ? void 0 : onClickShortcut(value, closeOverlay !== false ? true : false, event);
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
return /*#__PURE__*/_react.default.createElement(_Button.default, (0, _extends2.default)({
|
|
69
|
+
appearance: "link",
|
|
70
|
+
size: "sm",
|
|
71
|
+
key: index,
|
|
72
|
+
disabled: disabled,
|
|
73
|
+
onClick: handleClickShortcut
|
|
74
|
+
}, rest), hasLocaleKey(label) && typeof label === 'string' ? locale === null || locale === void 0 ? void 0 : locale[label] : label);
|
|
75
|
+
}));
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
var _default = PredefinedRanges;
|
|
79
|
+
exports.default = _default;
|
|
@@ -1,17 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import { RangeType } from './types';
|
|
4
|
-
import { CalendarLocale } from '../locales';
|
|
2
|
+
import { PredefinedRangesProps } from './PredefinedRanges';
|
|
5
3
|
export type { RangeType } from './types';
|
|
6
|
-
export interface ToolbarProps<T = any, Shortcut = T> extends
|
|
4
|
+
export interface ToolbarProps<T = any, Shortcut = T> extends PredefinedRangesProps<T, Shortcut> {
|
|
7
5
|
hideOkBtn?: boolean;
|
|
8
|
-
locale?: CalendarLocale;
|
|
9
|
-
calendarDate: T;
|
|
10
|
-
ranges?: RangeType<Shortcut>[];
|
|
11
6
|
disabledOkBtn?: (value: T) => boolean;
|
|
12
|
-
disabledShortcut?: (value: T) => boolean;
|
|
13
7
|
onOk?: (event: React.MouseEvent) => void;
|
|
14
|
-
onClickShortcut?: (value: Shortcut, closeOverlay: boolean, event: React.MouseEvent) => void;
|
|
15
8
|
}
|
|
16
9
|
declare type ToolbarComponent = React.ForwardRefExoticComponent<ToolbarProps> & {
|
|
17
10
|
<T = any, Shortcut = T>(props: ToolbarProps<T, Shortcut>): React.ReactElement | null;
|