rsuite 5.20.0 → 5.21.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 +10 -0
- package/CheckTreePicker/styles/index.less +0 -25
- package/Picker/styles/index.less +0 -10
- package/Picker/styles/mixin.less +0 -5
- package/README.md +4 -2
- package/TreePicker/styles/index.less +0 -19
- package/Windowing/package.json +7 -0
- package/cjs/Calendar/MonthDropdown.d.ts +1 -0
- package/cjs/Calendar/MonthDropdown.js +27 -40
- 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 +37 -39
- package/cjs/CustomProvider/CustomProvider.d.ts +1 -108
- package/cjs/CustomProvider/CustomProvider.js +2 -5
- package/cjs/CustomProvider/index.d.ts +2 -2
- package/cjs/CustomProvider/index.js +0 -1
- package/cjs/DateRangePicker/DateRangePicker.js +5 -5
- package/cjs/Disclosure/Disclosure.d.ts +2 -2
- package/cjs/Disclosure/Disclosure.js +6 -6
- package/cjs/InputPicker/InputPicker.js +4 -1
- package/cjs/Modal/ModalBody.js +18 -17
- package/cjs/MultiCascader/DropdownMenu.js +5 -2
- package/cjs/Navbar/NavbarDropdownMenu.js +16 -10
- package/cjs/Overlay/OverlayTrigger.d.ts +2 -2
- package/cjs/Picker/DropdownMenu.d.ts +2 -1
- package/cjs/Picker/DropdownMenu.js +38 -34
- package/cjs/Picker/PickerOverlay.d.ts +2 -2
- package/cjs/Picker/PickerToggle.js +4 -1
- package/cjs/Picker/PickerToggleTrigger.d.ts +2 -2
- package/cjs/Picker/PickerToggleTrigger.js +11 -10
- package/cjs/Picker/index.d.ts +3 -3
- package/cjs/Picker/types.d.ts +7 -5
- 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 +35 -37
- package/cjs/TreePicker/test/TreePicker.test.js +14 -0
- package/cjs/Whisper/Whisper.d.ts +3 -3
- package/cjs/Whisper/Whisper.js +11 -10
- package/cjs/Windowing/AutoSizer.d.ts +25 -0
- package/cjs/Windowing/AutoSizer.js +103 -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/toaster/ToastContainer.d.ts +2 -1
- package/cjs/toaster/ToastContainer.js +27 -26
- package/cjs/toaster/toaster.d.ts +1 -1
- package/cjs/toaster/toaster.js +43 -13
- package/cjs/toaster/useToaster.d.ts +1 -1
- package/cjs/utils/index.d.ts +1 -0
- package/cjs/utils/index.js +6 -1
- package/cjs/utils/render.d.ts +3 -0
- package/cjs/utils/render.js +49 -0
- package/cjs/utils/treeUtils.d.ts +2 -2
- package/cjs/utils/useUniqueId.js +10 -2
- package/dist/rsuite-rtl.css +0 -67
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +0 -67
- package/dist/rsuite.js +104 -363
- 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.LICENSE.txt +2 -0
- package/dist/rsuite.min.js.map +1 -1
- package/esm/Calendar/MonthDropdown.d.ts +1 -0
- package/esm/Calendar/MonthDropdown.js +26 -41
- 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 +37 -38
- package/esm/CustomProvider/CustomProvider.d.ts +1 -108
- package/esm/CustomProvider/CustomProvider.js +2 -4
- package/esm/CustomProvider/index.d.ts +2 -2
- package/esm/CustomProvider/index.js +2 -2
- package/esm/DateRangePicker/DateRangePicker.js +5 -5
- package/esm/Disclosure/Disclosure.d.ts +2 -2
- package/esm/Disclosure/Disclosure.js +6 -6
- package/esm/InputPicker/InputPicker.js +4 -1
- package/esm/Modal/ModalBody.js +16 -17
- package/esm/MultiCascader/DropdownMenu.js +5 -2
- package/esm/Navbar/NavbarDropdownMenu.js +14 -8
- package/esm/Overlay/OverlayTrigger.d.ts +2 -2
- package/esm/Picker/DropdownMenu.d.ts +2 -1
- package/esm/Picker/DropdownMenu.js +38 -36
- package/esm/Picker/PickerOverlay.d.ts +2 -2
- package/esm/Picker/PickerToggle.js +4 -1
- package/esm/Picker/PickerToggleTrigger.d.ts +2 -2
- package/esm/Picker/PickerToggleTrigger.js +10 -11
- package/esm/Picker/index.d.ts +3 -3
- package/esm/Picker/types.d.ts +7 -5
- 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 +34 -35
- package/esm/TreePicker/test/TreePicker.test.js +14 -0
- package/esm/Whisper/Whisper.d.ts +3 -3
- package/esm/Whisper/Whisper.js +10 -11
- package/esm/Windowing/AutoSizer.d.ts +25 -0
- package/esm/Windowing/AutoSizer.js +88 -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/toaster/ToastContainer.d.ts +2 -1
- package/esm/toaster/ToastContainer.js +28 -26
- package/esm/toaster/toaster.d.ts +1 -1
- package/esm/toaster/toaster.js +41 -13
- package/esm/toaster/useToaster.d.ts +1 -1
- package/esm/utils/index.d.ts +1 -0
- package/esm/utils/index.js +1 -0
- package/esm/utils/render.d.ts +3 -0
- package/esm/utils/render.js +37 -0
- package/esm/utils/treeUtils.d.ts +2 -2
- package/esm/utils/useUniqueId.js +7 -2
- package/package.json +3 -3
- package/styles/mixins/listbox.less +0 -5
- 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
|
@@ -1,35 +1,19 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
import React, { useCallback } from 'react';
|
|
3
|
+
import React, { useCallback, useMemo } from 'react';
|
|
4
4
|
import PropTypes from 'prop-types';
|
|
5
|
-
import { AutoSizer,
|
|
5
|
+
import { AutoSizer, FixedSizeList } from '../Windowing';
|
|
6
6
|
import { DateUtils, useClassNames } from '../utils';
|
|
7
7
|
import MonthDropdownItem from './MonthDropdownItem';
|
|
8
8
|
import { useCalendarContext } from './CalendarContext';
|
|
9
9
|
var monthMap = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
|
|
10
|
-
/**
|
|
11
|
-
* Set the row height.
|
|
12
|
-
* Add 1px to the first and last lines.
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
|
-
function getRowHeight(count) {
|
|
16
|
-
return function (_ref) {
|
|
17
|
-
var index = _ref.index;
|
|
18
|
-
|
|
19
|
-
if (index === 0 || count - 1 === index) {
|
|
20
|
-
return 75 + 1;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
return 75;
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
|
|
27
10
|
var MonthDropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
28
11
|
var _props$as = props.as,
|
|
29
12
|
Component = _props$as === void 0 ? 'div' : _props$as,
|
|
30
13
|
className = props.className,
|
|
31
14
|
_props$classPrefix = props.classPrefix,
|
|
32
15
|
classPrefix = _props$classPrefix === void 0 ? 'calendar-month-dropdown' : _props$classPrefix,
|
|
16
|
+
limitStartYear = props.limitStartYear,
|
|
33
17
|
_props$limitEndYear = props.limitEndYear,
|
|
34
18
|
limitEndYear = _props$limitEndYear === void 0 ? 5 : _props$limitEndYear,
|
|
35
19
|
show = props.show,
|
|
@@ -38,7 +22,7 @@ var MonthDropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
38
22
|
_props$width = props.width,
|
|
39
23
|
defaultWidth = _props$width === void 0 ? 256 : _props$width,
|
|
40
24
|
disabledMonth = props.disabledMonth,
|
|
41
|
-
rest = _objectWithoutPropertiesLoose(props, ["as", "className", "classPrefix", "limitEndYear", "show", "height", "width", "disabledMonth"]);
|
|
25
|
+
rest = _objectWithoutPropertiesLoose(props, ["as", "className", "classPrefix", "limitStartYear", "limitEndYear", "show", "height", "width", "disabledMonth"]);
|
|
42
26
|
|
|
43
27
|
var _useCalendarContext = useCalendarContext(),
|
|
44
28
|
_useCalendarContext$d = _useCalendarContext.date,
|
|
@@ -49,9 +33,12 @@ var MonthDropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
49
33
|
merge = _useClassNames.merge,
|
|
50
34
|
withClassPrefix = _useClassNames.withClassPrefix;
|
|
51
35
|
|
|
52
|
-
var
|
|
53
|
-
|
|
54
|
-
|
|
36
|
+
var thisYear = DateUtils.getYear(new Date());
|
|
37
|
+
var startYear = limitStartYear ? thisYear - limitStartYear : 1900;
|
|
38
|
+
var rowCount = useMemo(function () {
|
|
39
|
+
var endYear = thisYear + limitEndYear;
|
|
40
|
+
return endYear - startYear;
|
|
41
|
+
}, [limitEndYear, startYear, thisYear]);
|
|
55
42
|
var isMonthDisabled = useCallback(function (year, month) {
|
|
56
43
|
if (disabledMonth) {
|
|
57
44
|
var days = DateUtils.getDaysInMonth(new Date(year, month)); // If all dates in a month are disabled, disable the current month
|
|
@@ -68,26 +55,23 @@ var MonthDropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
68
55
|
return false;
|
|
69
56
|
}, [disabledMonth]);
|
|
70
57
|
|
|
71
|
-
var rowRenderer = function rowRenderer(
|
|
72
|
-
var index =
|
|
73
|
-
|
|
74
|
-
style = _ref2.style;
|
|
58
|
+
var rowRenderer = function rowRenderer(_ref) {
|
|
59
|
+
var index = _ref.index,
|
|
60
|
+
style = _ref.style;
|
|
75
61
|
var selectedMonth = DateUtils.getMonth(date);
|
|
76
62
|
var selectedYear = DateUtils.getYear(date);
|
|
77
|
-
var year =
|
|
63
|
+
var year = startYear + index;
|
|
78
64
|
var isSelectedYear = year === selectedYear;
|
|
79
|
-
var count = getRowCount();
|
|
80
65
|
var titleClassName = prefix('year', {
|
|
81
66
|
'year-active': isSelectedYear
|
|
82
67
|
});
|
|
83
68
|
var rowClassName = merge(prefix('row'), {
|
|
84
69
|
'first-row': index === 0,
|
|
85
|
-
'last-row': index ===
|
|
70
|
+
'last-row': index === rowCount - 1
|
|
86
71
|
});
|
|
87
72
|
return /*#__PURE__*/React.createElement("div", {
|
|
88
73
|
className: rowClassName,
|
|
89
74
|
role: "row",
|
|
90
|
-
key: key,
|
|
91
75
|
style: style
|
|
92
76
|
}, /*#__PURE__*/React.createElement("div", {
|
|
93
77
|
className: titleClassName,
|
|
@@ -106,10 +90,12 @@ var MonthDropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
106
90
|
})));
|
|
107
91
|
};
|
|
108
92
|
|
|
109
|
-
var count = getRowCount();
|
|
110
93
|
var classes = merge(className, withClassPrefix(), {
|
|
111
94
|
show: show
|
|
112
95
|
});
|
|
96
|
+
var itemSize = 75;
|
|
97
|
+
var initialItemIndex = DateUtils.getYear(date) - startYear;
|
|
98
|
+
var initialScrollOffset = itemSize * initialItemIndex;
|
|
113
99
|
return /*#__PURE__*/React.createElement(Component, _extends({
|
|
114
100
|
role: "menu"
|
|
115
101
|
}, rest, {
|
|
@@ -122,18 +108,17 @@ var MonthDropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
122
108
|
}, show && /*#__PURE__*/React.createElement(AutoSizer, {
|
|
123
109
|
defaultHeight: defaultHeight,
|
|
124
110
|
defaultWidth: defaultWidth
|
|
125
|
-
}, function (
|
|
126
|
-
var height =
|
|
127
|
-
width =
|
|
128
|
-
return /*#__PURE__*/React.createElement(
|
|
111
|
+
}, function (_ref2) {
|
|
112
|
+
var height = _ref2.height,
|
|
113
|
+
width = _ref2.width;
|
|
114
|
+
return /*#__PURE__*/React.createElement(FixedSizeList, {
|
|
129
115
|
className: prefix('row-wrapper'),
|
|
130
116
|
width: width || defaultWidth,
|
|
131
117
|
height: height || defaultHeight,
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
});
|
|
118
|
+
itemSize: itemSize,
|
|
119
|
+
itemCount: rowCount,
|
|
120
|
+
initialScrollOffset: initialScrollOffset
|
|
121
|
+
}, rowRenderer);
|
|
137
122
|
}))));
|
|
138
123
|
});
|
|
139
124
|
MonthDropdown.displayName = 'MonthDropdown';
|
|
@@ -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>>;
|
|
@@ -45,7 +45,10 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
45
45
|
|
|
46
46
|
var classes = merge(className, prefix('items'));
|
|
47
47
|
var rootRef = useRef();
|
|
48
|
-
|
|
48
|
+
|
|
49
|
+
var _useCustom = useCustom('DropdownMenu'),
|
|
50
|
+
rtl = _useCustom.rtl;
|
|
51
|
+
|
|
49
52
|
useEffect(function () {
|
|
50
53
|
var _rootRef$current;
|
|
51
54
|
|
|
@@ -96,7 +99,7 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
96
99
|
}); // Use `value` in keys when If `value` is string or number
|
|
97
100
|
|
|
98
101
|
var onlyKey = typeof value === 'number' || typeof value === 'string' ? value : index;
|
|
99
|
-
var Icon = node.loading ? SpinnerIcon : rtl ?
|
|
102
|
+
var Icon = node.loading ? SpinnerIcon : rtl ? AngleLeftIcon : AngleRightIcon;
|
|
100
103
|
return /*#__PURE__*/React.createElement(DropdownMenuItem, {
|
|
101
104
|
classPrefix: "picker-cascader-menu-item",
|
|
102
105
|
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>>;
|
|
@@ -81,6 +81,7 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
81
81
|
var targetRef = useRef(null);
|
|
82
82
|
var overlayRef = useRef(null);
|
|
83
83
|
var searchInputRef = useRef(null);
|
|
84
|
+
var listRef = useRef(null);
|
|
84
85
|
|
|
85
86
|
var _useCustom = useCustom('Picker', overrideLocale),
|
|
86
87
|
locale = _useCustom.locale;
|
|
@@ -235,7 +236,8 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
235
236
|
usePublicMethods(ref, {
|
|
236
237
|
triggerRef: triggerRef,
|
|
237
238
|
overlayRef: overlayRef,
|
|
238
|
-
targetRef: targetRef
|
|
239
|
+
targetRef: targetRef,
|
|
240
|
+
listRef: listRef
|
|
239
241
|
});
|
|
240
242
|
var selectedItems = data.filter(function (item) {
|
|
241
243
|
return value === null || value === void 0 ? void 0 : value.some(function (val) {
|
|
@@ -308,6 +310,7 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
308
310
|
var menu = items.length || filteredStickyItems.length ? /*#__PURE__*/React.createElement(DropdownMenu, {
|
|
309
311
|
id: id ? id + "-listbox" : undefined,
|
|
310
312
|
listProps: listProps,
|
|
313
|
+
listRef: listRef,
|
|
311
314
|
disabledItemValues: disabledItemValues,
|
|
312
315
|
valueKey: valueKey,
|
|
313
316
|
labelKey: labelKey,
|
|
@@ -9,7 +9,7 @@ import _isNil from "lodash/isNil";
|
|
|
9
9
|
import React, { useState, useRef, useEffect, useCallback, useContext, useMemo } from 'react';
|
|
10
10
|
import PropTypes from 'prop-types';
|
|
11
11
|
import classNames from 'classnames';
|
|
12
|
-
import { List, AutoSizer } from '../
|
|
12
|
+
import { List, AutoSizer } from '../Windowing';
|
|
13
13
|
import CheckTreeNode from './CheckTreeNode';
|
|
14
14
|
import TreeContext from '../Tree/TreeContext';
|
|
15
15
|
import { getTreeNodeIndent } from '../utils/treeUtils';
|
|
@@ -18,6 +18,11 @@ import { PickerToggle, onMenuKeyDown as _onMenuKeyDown, PickerOverlay, SearchBar
|
|
|
18
18
|
import { isEveryChildChecked, isSomeNodeHasChildren, isAllSiblingNodeUncheckable, isEveryFirstLevelNodeUncheckable, getFormattedTree, getDisabledState, getCheckTreePickerDefaultValue, getSelectedItems, isNodeUncheckable } from './utils';
|
|
19
19
|
import { hasVisibleChildren, getExpandWhenSearching, useTreeSearch, useTreeNodeRefs, getDefaultExpandItemValues, useFlattenTreeData, focusNextItem, getFocusableItems, focusPreviousItem, toggleExpand, getActiveItem, useGetTreeNodeChildren, focusToActiveTreeNode, focusTreeNode, leftArrowHandler, rightArrowHandler, isSearching } from '../utils/treeUtils';
|
|
20
20
|
var emptyArray = [];
|
|
21
|
+
|
|
22
|
+
var itemSize = function itemSize() {
|
|
23
|
+
return 36;
|
|
24
|
+
};
|
|
25
|
+
|
|
21
26
|
var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
22
27
|
var _props$as = props.as,
|
|
23
28
|
Component = _props$as === void 0 ? 'div' : _props$as,
|
|
@@ -601,36 +606,33 @@ var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
601
606
|
}, nodeProps));
|
|
602
607
|
};
|
|
603
608
|
|
|
604
|
-
var renderVirtualListNode = function renderVirtualListNode(
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
var expand = getExpandWhenSearching(searchKeywordState, expandItemValues.includes(node[valueKey]));
|
|
614
|
-
|
|
615
|
-
var nodeProps = _extends({}, getTreeNodeProps(_extends({}, node, {
|
|
616
|
-
/**
|
|
617
|
-
* spread operator don't copy unenumerable properties
|
|
618
|
-
* so we need to copy them manually
|
|
619
|
-
*/
|
|
620
|
-
parent: node.parent,
|
|
621
|
-
expand: expand
|
|
622
|
-
}), layer), {
|
|
623
|
-
hasChildren: node.hasChildren
|
|
624
|
-
});
|
|
609
|
+
var renderVirtualListNode = function renderVirtualListNode(_ref3) {
|
|
610
|
+
var index = _ref3.index,
|
|
611
|
+
style = _ref3.style,
|
|
612
|
+
data = _ref3.data;
|
|
613
|
+
var node = data[index];
|
|
614
|
+
var layer = node.layer,
|
|
615
|
+
refKey = node.refKey,
|
|
616
|
+
visible = node.visible;
|
|
617
|
+
var expand = getExpandWhenSearching(searchKeywordState, expandItemValues.includes(node[valueKey]));
|
|
625
618
|
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
}
|
|
619
|
+
var nodeProps = _extends({}, getTreeNodeProps(_extends({}, node, {
|
|
620
|
+
/**
|
|
621
|
+
* spread operator don't copy unenumerable properties
|
|
622
|
+
* so we need to copy them manually
|
|
623
|
+
*/
|
|
624
|
+
parent: node.parent,
|
|
625
|
+
expand: expand
|
|
626
|
+
}), layer), {
|
|
627
|
+
hasChildren: node.hasChildren
|
|
628
|
+
});
|
|
629
|
+
|
|
630
|
+
return visible && /*#__PURE__*/React.createElement(CheckTreeNode, _extends({
|
|
631
|
+
style: style,
|
|
632
|
+
ref: function ref(_ref4) {
|
|
633
|
+
return saveTreeNodeRef(_ref4, refKey);
|
|
634
|
+
}
|
|
635
|
+
}, nodeProps));
|
|
634
636
|
};
|
|
635
637
|
|
|
636
638
|
var renderCheckTree = function renderCheckTree() {
|
|
@@ -669,17 +671,14 @@ var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
669
671
|
height: 'auto'
|
|
670
672
|
}
|
|
671
673
|
}, function (_ref5) {
|
|
672
|
-
var height = _ref5.height
|
|
673
|
-
width = _ref5.width;
|
|
674
|
+
var height = _ref5.height;
|
|
674
675
|
return /*#__PURE__*/React.createElement(List, _extends({
|
|
675
676
|
ref: listRef,
|
|
676
|
-
width: width,
|
|
677
677
|
height: height,
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
}, listProps));
|
|
678
|
+
itemSize: itemSize,
|
|
679
|
+
itemCount: formattedNodes.length,
|
|
680
|
+
itemData: formattedNodes
|
|
681
|
+
}, listProps), renderVirtualListNode);
|
|
683
682
|
}) : formattedNodes));
|
|
684
683
|
};
|
|
685
684
|
|
|
@@ -156,113 +156,6 @@ declare const CustomContext: React.Context<CustomProviderProps<{
|
|
|
156
156
|
off: string;
|
|
157
157
|
} | undefined;
|
|
158
158
|
}>>;
|
|
159
|
-
declare const Consumer: React.Consumer<CustomProviderProps<{
|
|
160
|
-
common?: {
|
|
161
|
-
loading: string;
|
|
162
|
-
emptyMessage: string;
|
|
163
|
-
} | undefined;
|
|
164
|
-
Plaintext?: {
|
|
165
|
-
unfilled: string;
|
|
166
|
-
notSelected: string;
|
|
167
|
-
notUploaded: string;
|
|
168
|
-
} | undefined;
|
|
169
|
-
Pagination?: {
|
|
170
|
-
more: string;
|
|
171
|
-
prev: string;
|
|
172
|
-
next: string;
|
|
173
|
-
first: string;
|
|
174
|
-
last: string;
|
|
175
|
-
limit: string;
|
|
176
|
-
total: string;
|
|
177
|
-
skip: string;
|
|
178
|
-
} | undefined;
|
|
179
|
-
Calendar?: {
|
|
180
|
-
sunday: string;
|
|
181
|
-
monday: string;
|
|
182
|
-
tuesday: string;
|
|
183
|
-
wednesday: string;
|
|
184
|
-
thursday: string;
|
|
185
|
-
friday: string;
|
|
186
|
-
saturday: string;
|
|
187
|
-
ok: string;
|
|
188
|
-
today: string;
|
|
189
|
-
yesterday: string;
|
|
190
|
-
hours: string;
|
|
191
|
-
minutes: string;
|
|
192
|
-
seconds: string;
|
|
193
|
-
formattedMonthPattern: string;
|
|
194
|
-
formattedDayPattern: string;
|
|
195
|
-
dateLocale: any;
|
|
196
|
-
} | undefined;
|
|
197
|
-
DatePicker?: {
|
|
198
|
-
sunday: string;
|
|
199
|
-
monday: string;
|
|
200
|
-
tuesday: string;
|
|
201
|
-
wednesday: string;
|
|
202
|
-
thursday: string;
|
|
203
|
-
friday: string;
|
|
204
|
-
saturday: string;
|
|
205
|
-
ok: string;
|
|
206
|
-
today: string;
|
|
207
|
-
yesterday: string;
|
|
208
|
-
hours: string;
|
|
209
|
-
minutes: string;
|
|
210
|
-
seconds: string;
|
|
211
|
-
formattedMonthPattern: string;
|
|
212
|
-
formattedDayPattern: string;
|
|
213
|
-
dateLocale: any;
|
|
214
|
-
} | undefined;
|
|
215
|
-
DateRangePicker?: {
|
|
216
|
-
last7Days: string;
|
|
217
|
-
sunday: string;
|
|
218
|
-
monday: string;
|
|
219
|
-
tuesday: string;
|
|
220
|
-
wednesday: string;
|
|
221
|
-
thursday: string;
|
|
222
|
-
friday: string;
|
|
223
|
-
saturday: string;
|
|
224
|
-
ok: string;
|
|
225
|
-
today: string;
|
|
226
|
-
yesterday: string;
|
|
227
|
-
hours: string;
|
|
228
|
-
minutes: string;
|
|
229
|
-
seconds: string;
|
|
230
|
-
formattedMonthPattern: string;
|
|
231
|
-
formattedDayPattern: string;
|
|
232
|
-
dateLocale: any;
|
|
233
|
-
} | undefined;
|
|
234
|
-
Picker?: {
|
|
235
|
-
noResultsText: string;
|
|
236
|
-
placeholder: string;
|
|
237
|
-
searchPlaceholder: string;
|
|
238
|
-
checkAll: string;
|
|
239
|
-
} | undefined;
|
|
240
|
-
InputPicker?: {
|
|
241
|
-
newItem: string;
|
|
242
|
-
/**
|
|
243
|
-
* A Map of toast containers
|
|
244
|
-
*/
|
|
245
|
-
createOption: string;
|
|
246
|
-
} | undefined;
|
|
247
|
-
Uploader?: {
|
|
248
|
-
inited: string;
|
|
249
|
-
progress: string;
|
|
250
|
-
error: string;
|
|
251
|
-
complete: string;
|
|
252
|
-
emptyFile: string;
|
|
253
|
-
upload: string;
|
|
254
|
-
} | undefined;
|
|
255
|
-
CloseButton?: {
|
|
256
|
-
closeLabel: string;
|
|
257
|
-
} | undefined;
|
|
258
|
-
Breadcrumb?: {
|
|
259
|
-
expandText: string;
|
|
260
|
-
} | undefined;
|
|
261
|
-
Toggle?: {
|
|
262
|
-
on: string;
|
|
263
|
-
off: string;
|
|
264
|
-
} | undefined;
|
|
265
|
-
}>>;
|
|
266
159
|
declare const CustomProvider: (props: Omit<CustomProviderProps, 'toasters'>) => JSX.Element;
|
|
267
|
-
export { CustomContext
|
|
160
|
+
export { CustomContext };
|
|
268
161
|
export default CustomProvider;
|
|
@@ -6,8 +6,6 @@ import { addClass, removeClass, canUseDOM } from '../DOMHelper';
|
|
|
6
6
|
import ToastContainer, { toastPlacements } from '../toaster/ToastContainer';
|
|
7
7
|
import { usePortal } from '../utils';
|
|
8
8
|
var CustomContext = /*#__PURE__*/React.createContext({});
|
|
9
|
-
var Consumer = CustomContext.Consumer,
|
|
10
|
-
Provider = CustomContext.Provider;
|
|
11
9
|
var themes = ['light', 'dark', 'high-contrast'];
|
|
12
10
|
|
|
13
11
|
var CustomProvider = function CustomProvider(props) {
|
|
@@ -44,7 +42,7 @@ var CustomProvider = function CustomProvider(props) {
|
|
|
44
42
|
});
|
|
45
43
|
}
|
|
46
44
|
}, [classPrefix, theme]);
|
|
47
|
-
return /*#__PURE__*/React.createElement(Provider, {
|
|
45
|
+
return /*#__PURE__*/React.createElement(CustomContext.Provider, {
|
|
48
46
|
value: value
|
|
49
47
|
}, children, /*#__PURE__*/React.createElement(Portal, null, /*#__PURE__*/React.createElement("div", {
|
|
50
48
|
className: "rs-toast-provider"
|
|
@@ -59,5 +57,5 @@ var CustomProvider = function CustomProvider(props) {
|
|
|
59
57
|
}))));
|
|
60
58
|
};
|
|
61
59
|
|
|
62
|
-
export { CustomContext
|
|
60
|
+
export { CustomContext };
|
|
63
61
|
export default CustomProvider;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import CustomProvider, { CustomContext
|
|
1
|
+
import CustomProvider, { CustomContext } from './CustomProvider';
|
|
2
2
|
import FormattedDate from './FormattedDate';
|
|
3
|
-
export { CustomContext,
|
|
3
|
+
export { CustomContext, FormattedDate };
|
|
4
4
|
export type { CustomProviderProps } from './CustomProvider';
|
|
5
5
|
export default CustomProvider;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import CustomProvider, { CustomContext
|
|
1
|
+
import CustomProvider, { CustomContext } from './CustomProvider';
|
|
2
2
|
import FormattedDate from './FormattedDate';
|
|
3
|
-
export { CustomContext,
|
|
3
|
+
export { CustomContext, FormattedDate };
|
|
4
4
|
export default CustomProvider;
|
|
@@ -138,17 +138,17 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
138
138
|
* If params `value` is not passed, it defaults to [new Date(), addMonth(new Date(), 1)].
|
|
139
139
|
*/
|
|
140
140
|
|
|
141
|
-
var updateCalendarDateRange = useCallback(function (
|
|
142
|
-
var nextValue =
|
|
141
|
+
var updateCalendarDateRange = useCallback(function (selectedDate, calendarKey) {
|
|
142
|
+
var nextValue = selectedDate;
|
|
143
143
|
var shouldRenderTime = DateUtils.shouldRenderTime,
|
|
144
144
|
getHours = DateUtils.getHours,
|
|
145
145
|
getMinutes = DateUtils.getMinutes,
|
|
146
146
|
getSeconds = DateUtils.getSeconds,
|
|
147
147
|
set = DateUtils.set;
|
|
148
148
|
|
|
149
|
-
if (shouldRenderTime(formatStr) && calendarKey === undefined && (
|
|
150
|
-
var calendarEndDate = (calendarDate === null || calendarDate === void 0 ? void 0 : calendarDate[1]) || defaultCalendarValue[1];
|
|
151
|
-
var _startDate =
|
|
149
|
+
if (shouldRenderTime(formatStr) && calendarKey === undefined && (selectedDate === null || selectedDate === void 0 ? void 0 : selectedDate.length) === 1) {
|
|
150
|
+
var calendarEndDate = (calendarDate === null || calendarDate === void 0 ? void 0 : calendarDate[1]) || (defaultCalendarValue === null || defaultCalendarValue === void 0 ? void 0 : defaultCalendarValue[1]);
|
|
151
|
+
var _startDate = selectedDate[0]; // When updating the start date, the time of the end date should keep the time set by the user by default.
|
|
152
152
|
|
|
153
153
|
var _endDate = set(addMonths(_startDate, 1), {
|
|
154
154
|
hours: getHours(calendarEndDate),
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import DisclosureButton from './DisclosureButton';
|
|
3
3
|
import DisclosureContent from './DisclosureContent';
|
|
4
|
-
export declare type DisclosureTrigger = 'click' | '
|
|
5
|
-
export interface DisclosureRenderProps extends Pick<React.HTMLAttributes<HTMLElement>, '
|
|
4
|
+
export declare type DisclosureTrigger = 'click' | 'hover';
|
|
5
|
+
export interface DisclosureRenderProps extends Pick<React.HTMLAttributes<HTMLElement>, 'onMouseEnter' | 'onMouseLeave'> {
|
|
6
6
|
open: boolean;
|
|
7
7
|
}
|
|
8
8
|
export interface DisclosureProps {
|
|
@@ -59,7 +59,7 @@ var Disclosure = /*#__PURE__*/React.memo(function (props) {
|
|
|
59
59
|
});
|
|
60
60
|
}
|
|
61
61
|
});
|
|
62
|
-
var
|
|
62
|
+
var onMouseEnter = useCallback(function (event) {
|
|
63
63
|
if (!open) {
|
|
64
64
|
dispatch({
|
|
65
65
|
type: DisclosureActionTypes.Show
|
|
@@ -67,7 +67,7 @@ var Disclosure = /*#__PURE__*/React.memo(function (props) {
|
|
|
67
67
|
onToggle === null || onToggle === void 0 ? void 0 : onToggle(true, event);
|
|
68
68
|
}
|
|
69
69
|
}, [open, dispatch, onToggle]);
|
|
70
|
-
var
|
|
70
|
+
var onMouseLeave = useCallback(function (event) {
|
|
71
71
|
if (open) {
|
|
72
72
|
dispatch({
|
|
73
73
|
type: DisclosureActionTypes.Hide
|
|
@@ -98,13 +98,13 @@ var Disclosure = /*#__PURE__*/React.memo(function (props) {
|
|
|
98
98
|
open: open
|
|
99
99
|
};
|
|
100
100
|
|
|
101
|
-
if (trigger.includes('
|
|
102
|
-
renderProps.
|
|
103
|
-
renderProps.
|
|
101
|
+
if (trigger.includes('hover')) {
|
|
102
|
+
renderProps.onMouseEnter = onMouseEnter;
|
|
103
|
+
renderProps.onMouseLeave = onMouseLeave;
|
|
104
104
|
}
|
|
105
105
|
|
|
106
106
|
return renderProps;
|
|
107
|
-
}, [open, trigger,
|
|
107
|
+
}, [open, trigger, onMouseEnter, onMouseLeave]);
|
|
108
108
|
return /*#__PURE__*/React.createElement(DisclosureContext.Provider, {
|
|
109
109
|
value: contextValue
|
|
110
110
|
}, children(renderProps, containerElementRef));
|
|
@@ -112,6 +112,7 @@ var InputPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
112
112
|
var targetRef = useRef(null);
|
|
113
113
|
var triggerRef = useRef(null);
|
|
114
114
|
var inputRef = useRef();
|
|
115
|
+
var listRef = useRef(null);
|
|
115
116
|
|
|
116
117
|
var _useCustom = useCustom(['Picker', 'InputPicker'], overrideLocale),
|
|
117
118
|
locale = _useCustom.locale;
|
|
@@ -403,7 +404,8 @@ var InputPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
403
404
|
usePublicMethods(ref, {
|
|
404
405
|
triggerRef: triggerRef,
|
|
405
406
|
overlayRef: overlayRef,
|
|
406
|
-
targetRef: targetRef
|
|
407
|
+
targetRef: targetRef,
|
|
408
|
+
listRef: listRef
|
|
407
409
|
});
|
|
408
410
|
/**
|
|
409
411
|
* Remove the last item, after pressing the back key on the keyboard.
|
|
@@ -605,6 +607,7 @@ var InputPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
605
607
|
var menu = items.length ? /*#__PURE__*/React.createElement(DropdownMenu, {
|
|
606
608
|
id: id ? id + "-listbox" : undefined,
|
|
607
609
|
listProps: listProps,
|
|
610
|
+
listRef: listRef,
|
|
608
611
|
disabledItemValues: disabledItemValues,
|
|
609
612
|
valueKey: valueKey,
|
|
610
613
|
labelKey: labelKey,
|
package/esm/Modal/ModalBody.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
import React from 'react';
|
|
3
|
+
import React, { useContext } from 'react';
|
|
4
4
|
import PropTypes from 'prop-types';
|
|
5
5
|
import { useClassNames } from '../utils';
|
|
6
6
|
import { ModalContext } from './ModalContext';
|
|
7
7
|
import IconButton from '../IconButton';
|
|
8
8
|
import Close from '@rsuite/icons/Close';
|
|
9
9
|
var ModalBody = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
10
|
+
var _context$getBodyStyle;
|
|
11
|
+
|
|
10
12
|
var _props$as = props.as,
|
|
11
13
|
Component = _props$as === void 0 ? 'div' : _props$as,
|
|
12
14
|
_props$classPrefix = props.classPrefix,
|
|
@@ -22,22 +24,19 @@ var ModalBody = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
22
24
|
prefix = _useClassNames.prefix;
|
|
23
25
|
|
|
24
26
|
var classes = merge(className, withClassPrefix());
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
onClick: context === null || context === void 0 ? void 0 : context.onModalClose
|
|
39
|
-
}), children);
|
|
40
|
-
});
|
|
27
|
+
var context = useContext(ModalContext);
|
|
28
|
+
var bodyStyles = context === null || context === void 0 ? void 0 : (_context$getBodyStyle = context.getBodyStyles) === null || _context$getBodyStyle === void 0 ? void 0 : _context$getBodyStyle.call(context);
|
|
29
|
+
return /*#__PURE__*/React.createElement(Component, _extends({}, rest, {
|
|
30
|
+
ref: ref,
|
|
31
|
+
style: _extends({}, bodyStyles, style),
|
|
32
|
+
className: classes
|
|
33
|
+
}), (context === null || context === void 0 ? void 0 : context.isDrawer) && /*#__PURE__*/React.createElement(IconButton, {
|
|
34
|
+
icon: /*#__PURE__*/React.createElement(Close, null),
|
|
35
|
+
appearance: "subtle",
|
|
36
|
+
size: "sm",
|
|
37
|
+
className: prefix('close'),
|
|
38
|
+
onClick: context === null || context === void 0 ? void 0 : context.onModalClose
|
|
39
|
+
}), children);
|
|
41
40
|
});
|
|
42
41
|
ModalBody.displayName = 'ModalBody';
|
|
43
42
|
ModalBody.propTypes = {
|