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/cjs/Picker/utils.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { OverlayTriggerHandle } from './PickerToggleTrigger';
|
|
3
3
|
import { TypeAttributes, ItemDataType } from '../@types/common';
|
|
4
|
-
import {
|
|
5
|
-
interface NodeKeys {
|
|
4
|
+
import type { ListHandle } from '../Windowing';
|
|
5
|
+
export interface NodeKeys {
|
|
6
6
|
valueKey: string;
|
|
7
7
|
childrenKey: string;
|
|
8
8
|
}
|
|
9
9
|
export declare function createConcatChildrenFunction<T = any>(node: any, nodeValue?: any, nodeKeys?: NodeKeys): (data: T[], children: T[]) => T[];
|
|
10
10
|
export declare function shouldDisplay(label: React.ReactNode, searchKeyword: string): boolean;
|
|
11
|
-
interface PickerClassNameProps {
|
|
11
|
+
export interface PickerClassNameProps {
|
|
12
12
|
name?: string;
|
|
13
13
|
classPrefix: string;
|
|
14
14
|
className?: string;
|
|
@@ -27,7 +27,7 @@ interface PickerClassNameProps {
|
|
|
27
27
|
* The className of the assembled Toggle is on the Picker.
|
|
28
28
|
*/
|
|
29
29
|
export declare function usePickerClassName(props: PickerClassNameProps): [string, string[]];
|
|
30
|
-
interface EventsProps {
|
|
30
|
+
export interface EventsProps {
|
|
31
31
|
down?: React.KeyboardEventHandler;
|
|
32
32
|
up?: React.KeyboardEventHandler;
|
|
33
33
|
enter?: React.KeyboardEventHandler;
|
|
@@ -42,7 +42,7 @@ interface EventsProps {
|
|
|
42
42
|
* @param events Event callback functions
|
|
43
43
|
*/
|
|
44
44
|
export declare function onMenuKeyDown(event: React.KeyboardEvent, events: EventsProps): void;
|
|
45
|
-
interface FocusItemValueProps {
|
|
45
|
+
export interface FocusItemValueProps {
|
|
46
46
|
target: HTMLElement | null | (() => HTMLElement | null);
|
|
47
47
|
data?: any[];
|
|
48
48
|
valueKey?: string;
|
|
@@ -65,7 +65,7 @@ export declare const useFocusItemValue: <T>(defaultFocusItemValue: T | null | un
|
|
|
65
65
|
setKeys: React.Dispatch<React.SetStateAction<any[]>>;
|
|
66
66
|
onKeyDown: (event: any) => void;
|
|
67
67
|
};
|
|
68
|
-
interface ToggleKeyDownEventProps {
|
|
68
|
+
export interface ToggleKeyDownEventProps {
|
|
69
69
|
toggle?: boolean;
|
|
70
70
|
triggerRef: React.RefObject<any>;
|
|
71
71
|
targetRef: React.RefObject<any>;
|
|
@@ -86,7 +86,7 @@ interface ToggleKeyDownEventProps {
|
|
|
86
86
|
* @param props
|
|
87
87
|
*/
|
|
88
88
|
export declare const useToggleKeyDownEvent: (props: ToggleKeyDownEventProps) => (event: React.KeyboardEvent) => void;
|
|
89
|
-
interface SearchProps {
|
|
89
|
+
export interface SearchProps {
|
|
90
90
|
labelKey: string;
|
|
91
91
|
data: ItemDataType[];
|
|
92
92
|
searchBy?: (keyword: any, label: any, item: any) => boolean;
|
|
@@ -104,16 +104,15 @@ export declare function useSearch(props: SearchProps): {
|
|
|
104
104
|
checkShouldDisplay: (item: ItemDataType, keyword?: string) => boolean;
|
|
105
105
|
handleSearch: (searchKeyword: string, event: React.SyntheticEvent) => void;
|
|
106
106
|
};
|
|
107
|
-
interface PickerDependentParameters {
|
|
108
|
-
triggerRef?: React.RefObject<
|
|
107
|
+
export interface PickerDependentParameters {
|
|
108
|
+
triggerRef?: React.RefObject<OverlayTriggerHandle>;
|
|
109
109
|
rootRef?: React.RefObject<HTMLElement>;
|
|
110
110
|
overlayRef?: React.RefObject<HTMLElement>;
|
|
111
111
|
targetRef?: React.RefObject<HTMLElement>;
|
|
112
|
-
listRef?: React.RefObject<
|
|
112
|
+
listRef?: React.RefObject<ListHandle>;
|
|
113
113
|
inline?: boolean;
|
|
114
114
|
}
|
|
115
115
|
/**
|
|
116
116
|
* A hook of the exposed method of Picker
|
|
117
117
|
*/
|
|
118
118
|
export declare function usePublicMethods(ref: any, parmas: PickerDependentParameters): void;
|
|
119
|
-
export {};
|
package/cjs/Picker/utils.js
CHANGED
|
@@ -553,6 +553,10 @@ function usePublicMethods(ref, parmas) {
|
|
|
553
553
|
get overlay() {
|
|
554
554
|
var _overlayRef$current;
|
|
555
555
|
|
|
556
|
+
if (!(overlayRef !== null && overlayRef !== void 0 && overlayRef.current)) {
|
|
557
|
+
throw new Error('The overlay is not found. Please confirm whether the picker is open.');
|
|
558
|
+
}
|
|
559
|
+
|
|
556
560
|
return (_overlayRef$current = overlayRef === null || overlayRef === void 0 ? void 0 : overlayRef.current) !== null && _overlayRef$current !== void 0 ? _overlayRef$current : null;
|
|
557
561
|
},
|
|
558
562
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { Ref } from 'react';
|
|
2
2
|
import { PickerLocale } from '../locales';
|
|
3
|
-
import {
|
|
4
|
-
import { ListProps } from '../
|
|
3
|
+
import { PickerHandle, PickerToggleProps } from '../Picker';
|
|
4
|
+
import { ListProps } from '../Windowing';
|
|
5
5
|
import { FormControlPickerProps, ItemDataType } from '../@types/common';
|
|
6
6
|
export interface SelectProps<T> {
|
|
7
7
|
/** Set group condition key in data */
|
|
@@ -11,8 +11,7 @@ export interface SelectProps<T> {
|
|
|
11
11
|
/** Whether using virtualized list */
|
|
12
12
|
virtualized?: boolean;
|
|
13
13
|
/**
|
|
14
|
-
* List
|
|
15
|
-
* https://github.com/bvaughn/react-virtualized/blob/master/docs/List.md#prop-types
|
|
14
|
+
* Virtualized List Props
|
|
16
15
|
*/
|
|
17
16
|
listProps?: Partial<ListProps>;
|
|
18
17
|
/** Custom search rules. */
|
|
@@ -50,7 +49,7 @@ export interface SelectPickerProps<T> extends Omit<FormControlPickerProps<T, Pic
|
|
|
50
49
|
}
|
|
51
50
|
export interface SelectPickerComponent {
|
|
52
51
|
<T>(props: SelectPickerProps<T> & {
|
|
53
|
-
ref?: Ref<
|
|
52
|
+
ref?: Ref<PickerHandle>;
|
|
54
53
|
}): JSX.Element | null;
|
|
55
54
|
displayName?: string;
|
|
56
55
|
propTypes?: React.WeakValidationMap<SelectPickerProps<any>>;
|
|
@@ -94,6 +94,7 @@ var SelectPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
94
94
|
var targetRef = (0, _react.useRef)(null);
|
|
95
95
|
var overlayRef = (0, _react.useRef)(null);
|
|
96
96
|
var searchInputRef = (0, _react.useRef)(null);
|
|
97
|
+
var listRef = (0, _react.useRef)(null);
|
|
97
98
|
|
|
98
99
|
var _useCustom = (0, _utils.useCustom)('Picker', overrideLocale),
|
|
99
100
|
locale = _useCustom.locale;
|
|
@@ -213,7 +214,8 @@ var SelectPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
213
214
|
(0, _Picker.usePublicMethods)(ref, {
|
|
214
215
|
triggerRef: triggerRef,
|
|
215
216
|
overlayRef: overlayRef,
|
|
216
|
-
targetRef: targetRef
|
|
217
|
+
targetRef: targetRef,
|
|
218
|
+
listRef: listRef
|
|
217
219
|
}); // Find active `MenuItem` by `value`
|
|
218
220
|
|
|
219
221
|
var activeItem = data.find(function (item) {
|
|
@@ -264,6 +266,7 @@ var SelectPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
264
266
|
var menu = items.length ? /*#__PURE__*/_react.default.createElement(_Picker.DropdownMenu, {
|
|
265
267
|
id: id ? id + "-listbox" : undefined,
|
|
266
268
|
listProps: listProps,
|
|
269
|
+
listRef: listRef,
|
|
267
270
|
disabledItemValues: disabledItemValues,
|
|
268
271
|
valueKey: valueKey,
|
|
269
272
|
labelKey: labelKey,
|
package/cjs/Tree/Tree.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { StandardProps, ItemDataType, RsRefForwardingComponent } from '../@types/common';
|
|
3
|
-
import { ListProps } from '../
|
|
3
|
+
import { ListProps } from '../Windowing';
|
|
4
4
|
/**
|
|
5
5
|
* Tree Node Drag Type
|
|
6
6
|
*/
|
|
@@ -46,10 +46,7 @@ export interface TreeBaseProps<ValueType = string | number, ItemDataType = Recor
|
|
|
46
46
|
showIndentLine?: boolean;
|
|
47
47
|
/** Whether using virtualized list */
|
|
48
48
|
virtualized?: boolean;
|
|
49
|
-
/**
|
|
50
|
-
* List-related properties in `react-virtualized`
|
|
51
|
-
* https://github.com/bvaughn/react-virtualized/blob/master/docs/List.md#prop-types
|
|
52
|
-
*/
|
|
49
|
+
/** Virtualized List props */
|
|
53
50
|
listProps?: Partial<ListProps>;
|
|
54
51
|
/** Expand all nodes By default */
|
|
55
52
|
defaultExpandAll?: boolean;
|
|
@@ -25,7 +25,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
25
25
|
|
|
26
26
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
27
27
|
|
|
28
|
-
var
|
|
28
|
+
var _Windowing = require("../Windowing");
|
|
29
29
|
|
|
30
30
|
var _TreeNode = _interopRequireDefault(require("./TreeNode"));
|
|
31
31
|
|
|
@@ -42,6 +42,10 @@ var maxTreeHeight = 320;
|
|
|
42
42
|
exports.maxTreeHeight = maxTreeHeight;
|
|
43
43
|
var emptyArray = [];
|
|
44
44
|
|
|
45
|
+
var itemSize = function itemSize() {
|
|
46
|
+
return 36;
|
|
47
|
+
};
|
|
48
|
+
|
|
45
49
|
var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
46
50
|
var _props$as = props.as,
|
|
47
51
|
Component = _props$as === void 0 ? 'div' : _props$as,
|
|
@@ -597,33 +601,30 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
597
601
|
}, nodeProps));
|
|
598
602
|
};
|
|
599
603
|
|
|
600
|
-
var renderVirtualListNode = function renderVirtualListNode(
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
var expand = (0, _treeUtils.getExpandWhenSearching)(searchKeywordState, expandItemValues.includes(node[valueKey]));
|
|
609
|
-
|
|
610
|
-
if (!node.visible) {
|
|
611
|
-
return null;
|
|
612
|
-
}
|
|
604
|
+
var renderVirtualListNode = function renderVirtualListNode(_ref3) {
|
|
605
|
+
var index = _ref3.index,
|
|
606
|
+
style = _ref3.style,
|
|
607
|
+
data = _ref3.data;
|
|
608
|
+
var node = data[index];
|
|
609
|
+
var layer = node.layer,
|
|
610
|
+
visible = node.visible;
|
|
611
|
+
var expand = (0, _treeUtils.getExpandWhenSearching)(searchKeywordState, expandItemValues.includes(node[valueKey]));
|
|
613
612
|
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
613
|
+
if (!node.visible) {
|
|
614
|
+
return null;
|
|
615
|
+
}
|
|
616
|
+
|
|
617
|
+
var nodeProps = (0, _extends2.default)({}, getTreeNodeProps((0, _extends2.default)({}, node, {
|
|
618
|
+
expand: expand
|
|
619
|
+
}), layer), {
|
|
620
|
+
style: style,
|
|
621
|
+
hasChildren: node.hasChildren
|
|
622
|
+
});
|
|
623
|
+
return visible && /*#__PURE__*/_react.default.createElement(_TreeNode.default, (0, _extends2.default)({
|
|
624
|
+
ref: function ref(_ref4) {
|
|
625
|
+
return saveTreeNodeRef(_ref4, node.refKey);
|
|
626
|
+
}
|
|
627
|
+
}, nodeProps));
|
|
627
628
|
};
|
|
628
629
|
|
|
629
630
|
var renderTree = function renderTree() {
|
|
@@ -643,7 +644,7 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
643
644
|
onKeyDown: inline ? handleTreeKeyDown : undefined
|
|
644
645
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
645
646
|
className: treePrefix('nodes')
|
|
646
|
-
}, virtualized ? /*#__PURE__*/_react.default.createElement(
|
|
647
|
+
}, virtualized ? /*#__PURE__*/_react.default.createElement(_Windowing.AutoSizer, {
|
|
647
648
|
defaultHeight: inline ? height : maxTreeHeight,
|
|
648
649
|
style: {
|
|
649
650
|
width: 'auto',
|
|
@@ -652,15 +653,14 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
652
653
|
}, function (_ref5) {
|
|
653
654
|
var height = _ref5.height,
|
|
654
655
|
width = _ref5.width;
|
|
655
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
656
|
+
return /*#__PURE__*/_react.default.createElement(_Windowing.List, (0, _extends2.default)({
|
|
656
657
|
ref: listRef,
|
|
657
658
|
width: width,
|
|
658
659
|
height: height,
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
}, listProps));
|
|
660
|
+
itemSize: itemSize,
|
|
661
|
+
itemCount: formattedNodes.length,
|
|
662
|
+
itemData: formattedNodes
|
|
663
|
+
}, listProps), renderVirtualListNode);
|
|
664
664
|
}) : formattedNodes));
|
|
665
665
|
};
|
|
666
666
|
|
|
@@ -12,4 +12,18 @@ _react.default.createElement(_TreePicker.default, {
|
|
|
12
12
|
return /*#__PURE__*/_react.default.createElement("div", null);
|
|
13
13
|
},
|
|
14
14
|
data: []
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
/*#__PURE__*/
|
|
18
|
+
_react.default.createElement(_TreePicker.default, {
|
|
19
|
+
data: [],
|
|
20
|
+
listProps: {
|
|
21
|
+
itemSize: 30,
|
|
22
|
+
onItemsRendered: function onItemsRendered() {
|
|
23
|
+
console.log('onItemsRendered');
|
|
24
|
+
},
|
|
25
|
+
onScroll: function onScroll() {
|
|
26
|
+
console.log('onScroll');
|
|
27
|
+
}
|
|
28
|
+
}
|
|
15
29
|
});
|
package/cjs/Whisper/Whisper.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { OverlayTriggerHandle } from '../Overlay/OverlayTrigger';
|
|
3
3
|
import { OverlayTriggerProps } from '../Overlay/OverlayTrigger';
|
|
4
4
|
export declare type WhisperProps = OverlayTriggerProps;
|
|
5
|
-
export declare type WhisperInstance =
|
|
6
|
-
declare const Whisper: React.ForwardRefExoticComponent<OverlayTriggerProps & React.RefAttributes<
|
|
5
|
+
export declare type WhisperInstance = OverlayTriggerHandle;
|
|
6
|
+
declare const Whisper: React.ForwardRefExoticComponent<OverlayTriggerProps & React.RefAttributes<OverlayTriggerHandle>>;
|
|
7
7
|
export default Whisper;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface Size {
|
|
3
|
+
height: number;
|
|
4
|
+
width: number;
|
|
5
|
+
}
|
|
6
|
+
export interface AutoSizerProps {
|
|
7
|
+
/** Function responsible for rendering children. */
|
|
8
|
+
children: (size: Size) => React.ReactNode;
|
|
9
|
+
/** Optional custom CSS class name to attach to root AutoSizer element. */
|
|
10
|
+
className?: string | undefined;
|
|
11
|
+
/** Default height to use for initial render; useful for SSR */
|
|
12
|
+
defaultHeight?: number | undefined;
|
|
13
|
+
/** Default width to use for initial render; useful for SSR */
|
|
14
|
+
defaultWidth?: number | undefined;
|
|
15
|
+
/** Disable dynamic :height property */
|
|
16
|
+
disableHeight?: boolean | undefined;
|
|
17
|
+
/** Disable dynamic :width property */
|
|
18
|
+
disableWidth?: boolean | undefined;
|
|
19
|
+
/** Optional inline style */
|
|
20
|
+
style?: React.CSSProperties | undefined;
|
|
21
|
+
/** Callback to be invoked on-resize */
|
|
22
|
+
onResize?: ((size: Size) => void) | undefined;
|
|
23
|
+
}
|
|
24
|
+
declare const AutoSizer: React.ForwardRefExoticComponent<AutoSizerProps & React.RefAttributes<HTMLDivElement>>;
|
|
25
|
+
export default AutoSizer;
|
|
@@ -0,0 +1,107 @@
|
|
|
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 _getStyle = _interopRequireDefault(require("dom-lib/getStyle"));
|
|
17
|
+
|
|
18
|
+
var _utils = require("../utils");
|
|
19
|
+
|
|
20
|
+
var AutoSizer = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
21
|
+
var children = props.children,
|
|
22
|
+
className = props.className,
|
|
23
|
+
disableHeight = props.disableHeight,
|
|
24
|
+
disableWidth = props.disableWidth,
|
|
25
|
+
defaultHeight = props.defaultHeight,
|
|
26
|
+
defaultWidth = props.defaultWidth,
|
|
27
|
+
style = props.style,
|
|
28
|
+
onResize = props.onResize,
|
|
29
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["children", "className", "disableHeight", "disableWidth", "defaultHeight", "defaultWidth", "style", "onResize"]);
|
|
30
|
+
|
|
31
|
+
var _useState = (0, _react.useState)(defaultHeight || 0),
|
|
32
|
+
height = _useState[0],
|
|
33
|
+
setHeight = _useState[1];
|
|
34
|
+
|
|
35
|
+
var _useState2 = (0, _react.useState)(defaultWidth || 0),
|
|
36
|
+
width = _useState2[0],
|
|
37
|
+
setWidth = _useState2[1];
|
|
38
|
+
|
|
39
|
+
var rootRef = (0, _react.useRef)(null);
|
|
40
|
+
var getParentNode = (0, _react.useCallback)(function () {
|
|
41
|
+
var _rootRef$current;
|
|
42
|
+
|
|
43
|
+
if ((_rootRef$current = rootRef.current) !== null && _rootRef$current !== void 0 && _rootRef$current.parentNode && rootRef.current.parentNode.ownerDocument && rootRef.current.parentNode.ownerDocument.defaultView && rootRef.current.parentNode instanceof rootRef.current.parentNode.ownerDocument.defaultView.HTMLElement) {
|
|
44
|
+
return rootRef.current.parentNode;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
return null;
|
|
48
|
+
}, []);
|
|
49
|
+
var handleResize = (0, _react.useCallback)(function () {
|
|
50
|
+
var parentNode = getParentNode();
|
|
51
|
+
|
|
52
|
+
if (parentNode) {
|
|
53
|
+
var offsetHeight = parentNode.offsetHeight || 0;
|
|
54
|
+
var offsetWidth = parentNode.offsetWidth || 0;
|
|
55
|
+
|
|
56
|
+
var _style = (0, _getStyle.default)(parentNode);
|
|
57
|
+
|
|
58
|
+
var paddingLeft = parseInt(_style.paddingLeft, 10) || 0;
|
|
59
|
+
var paddingRight = parseInt(_style.paddingRight, 10) || 0;
|
|
60
|
+
var paddingTop = parseInt(_style.paddingTop, 10) || 0;
|
|
61
|
+
var paddingBottom = parseInt(_style.paddingBottom, 10) || 0;
|
|
62
|
+
var newHeight = offsetHeight - paddingTop - paddingBottom;
|
|
63
|
+
var newWidth = offsetWidth - paddingLeft - paddingRight;
|
|
64
|
+
|
|
65
|
+
if (!disableHeight && height !== newHeight || !disableWidth && width !== newWidth) {
|
|
66
|
+
setHeight(offsetHeight - paddingTop - paddingBottom);
|
|
67
|
+
setWidth(offsetWidth - paddingLeft - paddingRight);
|
|
68
|
+
onResize === null || onResize === void 0 ? void 0 : onResize({
|
|
69
|
+
height: offsetHeight,
|
|
70
|
+
width: offsetWidth
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}, [disableHeight, disableWidth, getParentNode, height, onResize, width]);
|
|
75
|
+
(0, _utils.useMount)(function () {
|
|
76
|
+
if (getParentNode()) {
|
|
77
|
+
handleResize();
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
(0, _utils.useElementResize)(getParentNode, handleResize);
|
|
81
|
+
var outerStyle = {
|
|
82
|
+
overflow: 'visible'
|
|
83
|
+
};
|
|
84
|
+
var childParams = {
|
|
85
|
+
width: 0,
|
|
86
|
+
height: 0
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
if (!disableHeight) {
|
|
90
|
+
outerStyle.height = 0;
|
|
91
|
+
childParams.height = height;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
if (!disableWidth) {
|
|
95
|
+
outerStyle.width = 0;
|
|
96
|
+
childParams.width = width;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
|
|
100
|
+
className: className,
|
|
101
|
+
ref: (0, _utils.mergeRefs)(rootRef, ref),
|
|
102
|
+
style: (0, _extends2.default)({}, outerStyle, style)
|
|
103
|
+
}, rest), children(childParams));
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
var _default = AutoSizer;
|
|
107
|
+
exports.default = _default;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { VariableSizeList, ListItemKeySelector, ListOnScrollProps, ListOnItemsRenderedProps } from 'react-window';
|
|
2
|
+
import { WithAsProps, RsRefForwardingComponent } from '../@types/common';
|
|
3
|
+
export interface ListProps<T = any> extends WithAsProps {
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated use itemSize instead
|
|
6
|
+
* Either a fixed row height (number) or a function that returns the height of a row given its index: ({ index: number }): number
|
|
7
|
+
*/
|
|
8
|
+
rowHeight?: number | (({ index: number }: {
|
|
9
|
+
index: any;
|
|
10
|
+
}) => number);
|
|
11
|
+
/**
|
|
12
|
+
* Size of a item in the direction being windowed.
|
|
13
|
+
*/
|
|
14
|
+
itemSize: number | ((index: number) => number);
|
|
15
|
+
/**
|
|
16
|
+
* Scroll offset for initial render.
|
|
17
|
+
*/
|
|
18
|
+
initialScrollOffset?: number;
|
|
19
|
+
/**
|
|
20
|
+
* By default, lists will use an item's index as its key. This is okay if:
|
|
21
|
+
*
|
|
22
|
+
* - Your collections of items is never sorted or modified
|
|
23
|
+
* - Your item renderer is not stateful and does not extend PureComponent
|
|
24
|
+
*
|
|
25
|
+
* If your list does not satisfy the above constraints, use the itemKey property to specify your own keys for items
|
|
26
|
+
*/
|
|
27
|
+
itemKey?: ListItemKeySelector<T>;
|
|
28
|
+
/**
|
|
29
|
+
* Called when the items rendered by the list change.
|
|
30
|
+
*/
|
|
31
|
+
onItemsRendered?: (props: ListOnItemsRenderedProps) => void;
|
|
32
|
+
/**
|
|
33
|
+
* Called when the list scroll positions changes, as a result of user scrolling or scroll-to method calls.
|
|
34
|
+
*/
|
|
35
|
+
onScroll?: (props: ListOnScrollProps) => void;
|
|
36
|
+
}
|
|
37
|
+
export interface ListHandle extends Partial<VariableSizeList> {
|
|
38
|
+
/**
|
|
39
|
+
* @deprecated use scrollToItem instead
|
|
40
|
+
* Ensure row is visible. This method can be used to safely scroll back to a cell that a user has scrolled away from even if it was previously scrolled to.
|
|
41
|
+
*/
|
|
42
|
+
scrollToRow?: (index: number) => void;
|
|
43
|
+
}
|
|
44
|
+
declare const List: RsRefForwardingComponent<'div', ListProps>;
|
|
45
|
+
export default List;
|
|
@@ -0,0 +1,72 @@
|
|
|
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 _reactWindow = require("react-window");
|
|
17
|
+
|
|
18
|
+
var _utils = require("../utils");
|
|
19
|
+
|
|
20
|
+
var List = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
21
|
+
var rowHeight = props.rowHeight,
|
|
22
|
+
_props$as = props.as,
|
|
23
|
+
Component = _props$as === void 0 ? _reactWindow.VariableSizeList : _props$as,
|
|
24
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["rowHeight", "as"]);
|
|
25
|
+
var listRef = (0, _react.useRef)(null);
|
|
26
|
+
|
|
27
|
+
var _useCustom = (0, _utils.useCustom)(),
|
|
28
|
+
rtl = _useCustom.rtl;
|
|
29
|
+
|
|
30
|
+
(0, _react.useImperativeHandle)(ref, function () {
|
|
31
|
+
return {
|
|
32
|
+
resetAfterIndex: function resetAfterIndex(index, shouldForceUpdate) {
|
|
33
|
+
var _listRef$current, _listRef$current$rese;
|
|
34
|
+
|
|
35
|
+
(_listRef$current = listRef.current) === null || _listRef$current === void 0 ? void 0 : (_listRef$current$rese = _listRef$current.resetAfterIndex) === null || _listRef$current$rese === void 0 ? void 0 : _listRef$current$rese.call(_listRef$current, index, shouldForceUpdate);
|
|
36
|
+
},
|
|
37
|
+
scrollTo: function scrollTo(scrollOffset) {
|
|
38
|
+
var _listRef$current2, _listRef$current2$scr;
|
|
39
|
+
|
|
40
|
+
(_listRef$current2 = listRef.current) === null || _listRef$current2 === void 0 ? void 0 : (_listRef$current2$scr = _listRef$current2.scrollTo) === null || _listRef$current2$scr === void 0 ? void 0 : _listRef$current2$scr.call(_listRef$current2, scrollOffset);
|
|
41
|
+
},
|
|
42
|
+
scrollToItem: function scrollToItem(index, align) {
|
|
43
|
+
var _listRef$current3, _listRef$current3$scr;
|
|
44
|
+
|
|
45
|
+
(_listRef$current3 = listRef.current) === null || _listRef$current3 === void 0 ? void 0 : (_listRef$current3$scr = _listRef$current3.scrollToItem) === null || _listRef$current3$scr === void 0 ? void 0 : _listRef$current3$scr.call(_listRef$current3, index, align);
|
|
46
|
+
},
|
|
47
|
+
scrollToRow: function scrollToRow(index) {
|
|
48
|
+
var _listRef$current4, _listRef$current4$scr;
|
|
49
|
+
|
|
50
|
+
(_listRef$current4 = listRef.current) === null || _listRef$current4 === void 0 ? void 0 : (_listRef$current4$scr = _listRef$current4.scrollToItem) === null || _listRef$current4$scr === void 0 ? void 0 : _listRef$current4$scr.call(_listRef$current4, index);
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
});
|
|
54
|
+
var setRowHeight = (0, _react.useCallback)(function (index) {
|
|
55
|
+
return typeof rowHeight === 'function' ? rowHeight({
|
|
56
|
+
index: index
|
|
57
|
+
}) : rowHeight || 0;
|
|
58
|
+
}, [rowHeight]);
|
|
59
|
+
var compatibleProps = (0, _extends2.default)({}, rest);
|
|
60
|
+
|
|
61
|
+
if (rowHeight) {
|
|
62
|
+
compatibleProps.itemSize = Component === _reactWindow.VariableSizeList ? setRowHeight : rowHeight;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
|
|
66
|
+
ref: listRef,
|
|
67
|
+
direction: rtl ? 'rtl' : 'ltr'
|
|
68
|
+
}, compatibleProps));
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
var _default = List;
|
|
72
|
+
exports.default = _default;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { default as AutoSizer } from './AutoSizer';
|
|
2
|
+
export { default as List } from './List';
|
|
3
|
+
export { FixedSizeList, VariableSizeList } from 'react-window';
|
|
4
|
+
export type { ListChildComponentProps } from 'react-window';
|
|
5
|
+
export type { ListProps, ListHandle } from './List';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
exports.VariableSizeList = exports.FixedSizeList = exports.List = exports.AutoSizer = void 0;
|
|
7
|
+
|
|
8
|
+
var _AutoSizer = _interopRequireDefault(require("./AutoSizer"));
|
|
9
|
+
|
|
10
|
+
exports.AutoSizer = _AutoSizer.default;
|
|
11
|
+
|
|
12
|
+
var _List = _interopRequireDefault(require("./List"));
|
|
13
|
+
|
|
14
|
+
exports.List = _List.default;
|
|
15
|
+
|
|
16
|
+
var _reactWindow = require("react-window");
|
|
17
|
+
|
|
18
|
+
exports.FixedSizeList = _reactWindow.FixedSizeList;
|
|
19
|
+
exports.VariableSizeList = _reactWindow.VariableSizeList;
|
package/cjs/index.d.ts
CHANGED
|
@@ -155,3 +155,4 @@ export type { AffixProps } from './Affix';
|
|
|
155
155
|
export { default as CustomProvider } from './CustomProvider';
|
|
156
156
|
export type { CustomProviderProps } from './CustomProvider';
|
|
157
157
|
export type { Locale, CalendarLocale, PlaintextLocale, PaginationLocale, TableLocale, DatePickerLocale, DateRangePickerLocale, PickerLocale, InputPickerLocale, UploaderLocale, BreadcrumbLocale, ToggleLocale } from './locales';
|
|
158
|
+
export type { PickerHandle } from './Picker';
|
package/cjs/utils/dateUtils.d.ts
CHANGED
|
@@ -35,6 +35,7 @@ export { default as startOfWeek } from 'date-fns/startOfWeek';
|
|
|
35
35
|
export { default as subDays } from 'date-fns/subDays';
|
|
36
36
|
export { default as isMatch } from 'date-fns/isMatch';
|
|
37
37
|
export { default as isValid } from 'date-fns/isValid';
|
|
38
|
+
export { default as set } from 'date-fns/set';
|
|
38
39
|
export declare type CalendarOnlyPropsType = 'disabledHours' | 'disabledMinutes' | 'disabledSeconds' | 'hideHours' | 'hideMinutes' | 'hideSeconds';
|
|
39
40
|
export declare const calendarOnlyProps: CalendarOnlyPropsType[];
|
|
40
41
|
/**
|
package/cjs/utils/dateUtils.js
CHANGED
|
@@ -6,7 +6,7 @@ exports.__esModule = true;
|
|
|
6
6
|
exports.disabledTime = disabledTime;
|
|
7
7
|
exports.getMonthView = getMonthView;
|
|
8
8
|
exports.getDateMask = getDateMask;
|
|
9
|
-
exports.shouldOnlyTime = exports.shouldDate = exports.shouldMonth = exports.shouldTime = exports.omitHideDisabledProps = exports.calendarOnlyProps = exports.isValid = exports.isMatch = exports.subDays = exports.startOfWeek = exports.startOfMonth = exports.startOfISOWeek = exports.startOfDay = exports.setYear = exports.setSeconds = exports.setMonth = exports.setMinutes = exports.setHours = exports.setDate = exports.parseISO = exports.parse = exports.isSameSecond = exports.isSameMonth = exports.isSameDay = exports.isEqual = exports.isBefore = exports.isAfter = exports.getYear = exports.getSeconds = exports.getMonth = exports.getMinutes = exports.getHours = exports.getDaysInMonth = exports.getDay = exports.getDate = exports.format = exports.endOfWeek = exports.endOfMonth = exports.endOfISOWeek = exports.endOfDay = exports.compareAsc = exports.addMonths = exports.addDays = void 0;
|
|
9
|
+
exports.shouldOnlyTime = exports.shouldDate = exports.shouldMonth = exports.shouldTime = exports.omitHideDisabledProps = exports.calendarOnlyProps = exports.set = exports.isValid = exports.isMatch = exports.subDays = exports.startOfWeek = exports.startOfMonth = exports.startOfISOWeek = exports.startOfDay = exports.setYear = exports.setSeconds = exports.setMonth = exports.setMinutes = exports.setHours = exports.setDate = exports.parseISO = exports.parse = exports.isSameSecond = exports.isSameMonth = exports.isSameDay = exports.isEqual = exports.isBefore = exports.isAfter = exports.getYear = exports.getSeconds = exports.getMonth = exports.getMinutes = exports.getHours = exports.getDaysInMonth = exports.getDay = exports.getDate = exports.format = exports.endOfWeek = exports.endOfMonth = exports.endOfISOWeek = exports.endOfDay = exports.compareAsc = exports.addMonths = exports.addDays = void 0;
|
|
10
10
|
|
|
11
11
|
var _pick = _interopRequireDefault(require("lodash/pick"));
|
|
12
12
|
|
|
@@ -159,6 +159,10 @@ exports.isMatch = _isMatch.default;
|
|
|
159
159
|
var _isValid = _interopRequireDefault(require("date-fns/isValid"));
|
|
160
160
|
|
|
161
161
|
exports.isValid = _isValid.default;
|
|
162
|
+
|
|
163
|
+
var _set = _interopRequireDefault(require("date-fns/set"));
|
|
164
|
+
|
|
165
|
+
exports.set = _set.default;
|
|
162
166
|
var disabledTimeProps = ['disabledHours', 'disabledMinutes', 'disabledSeconds'];
|
|
163
167
|
var hideTimeProps = ['hideHours', 'hideMinutes', 'hideSeconds'];
|
|
164
168
|
var calendarOnlyProps = disabledTimeProps.concat(hideTimeProps);
|
package/cjs/utils/treeUtils.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { TREE_NODE_DROP_POSITION } from '../utils';
|
|
|
4
4
|
import { CheckTreePickerProps } from '../CheckTreePicker/CheckTreePicker';
|
|
5
5
|
import { ItemDataType } from '../@types/common';
|
|
6
6
|
import { TreePickerProps } from '../TreePicker/TreePicker';
|
|
7
|
-
import {
|
|
7
|
+
import { ListHandle } from '../Windowing';
|
|
8
8
|
declare type PartialTreeProps = Partial<TreePickerProps | CheckTreePickerProps>;
|
|
9
9
|
/**
|
|
10
10
|
* according node parentNode expand state decide node whether to show
|
|
@@ -236,7 +236,7 @@ export interface FocusToTreeNodeProps {
|
|
|
236
236
|
activeNode: any;
|
|
237
237
|
virtualized: boolean;
|
|
238
238
|
container: HTMLElement | null;
|
|
239
|
-
list:
|
|
239
|
+
list: ListHandle;
|
|
240
240
|
formattedNodes: TreeNodeType[];
|
|
241
241
|
}
|
|
242
242
|
/**
|