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
|
@@ -7,7 +7,7 @@ import _omit from "lodash/omit";
|
|
|
7
7
|
import _pick from "lodash/pick";
|
|
8
8
|
import React, { useState, useRef, useEffect, useCallback, useContext } from 'react';
|
|
9
9
|
import PropTypes from 'prop-types';
|
|
10
|
-
import { List, AutoSizer } from '../
|
|
10
|
+
import { List, AutoSizer } from '../Windowing';
|
|
11
11
|
import TreeNode from './TreeNode';
|
|
12
12
|
import { getTreeNodeIndent } from '../utils/treeUtils';
|
|
13
13
|
import { createChainedFunction, useClassNames, useCustom, useControlled, TREE_NODE_DROP_POSITION, KEY_VALUES, mergeRefs, shallowEqual } from '../utils';
|
|
@@ -17,6 +17,11 @@ import TreeContext from '../Tree/TreeContext'; // default value for virtualized
|
|
|
17
17
|
|
|
18
18
|
export var maxTreeHeight = 320;
|
|
19
19
|
var emptyArray = [];
|
|
20
|
+
|
|
21
|
+
var itemSize = function itemSize() {
|
|
22
|
+
return 36;
|
|
23
|
+
};
|
|
24
|
+
|
|
20
25
|
var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
21
26
|
var _props$as = props.as,
|
|
22
27
|
Component = _props$as === void 0 ? 'div' : _props$as,
|
|
@@ -574,34 +579,31 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
574
579
|
}, nodeProps));
|
|
575
580
|
};
|
|
576
581
|
|
|
577
|
-
var renderVirtualListNode = function renderVirtualListNode(
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
var expand = getExpandWhenSearching(searchKeywordState, expandItemValues.includes(node[valueKey]));
|
|
586
|
-
|
|
587
|
-
if (!node.visible) {
|
|
588
|
-
return null;
|
|
589
|
-
}
|
|
582
|
+
var renderVirtualListNode = function renderVirtualListNode(_ref3) {
|
|
583
|
+
var index = _ref3.index,
|
|
584
|
+
style = _ref3.style,
|
|
585
|
+
data = _ref3.data;
|
|
586
|
+
var node = data[index];
|
|
587
|
+
var layer = node.layer,
|
|
588
|
+
visible = node.visible;
|
|
589
|
+
var expand = getExpandWhenSearching(searchKeywordState, expandItemValues.includes(node[valueKey]));
|
|
590
590
|
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
style: style,
|
|
595
|
-
hasChildren: node.hasChildren
|
|
596
|
-
});
|
|
591
|
+
if (!node.visible) {
|
|
592
|
+
return null;
|
|
593
|
+
}
|
|
597
594
|
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
595
|
+
var nodeProps = _extends({}, getTreeNodeProps(_extends({}, node, {
|
|
596
|
+
expand: expand
|
|
597
|
+
}), layer), {
|
|
598
|
+
style: style,
|
|
599
|
+
hasChildren: node.hasChildren
|
|
600
|
+
});
|
|
601
|
+
|
|
602
|
+
return visible && /*#__PURE__*/React.createElement(TreeNode, _extends({
|
|
603
|
+
ref: function ref(_ref4) {
|
|
604
|
+
return saveTreeNodeRef(_ref4, node.refKey);
|
|
605
|
+
}
|
|
606
|
+
}, nodeProps));
|
|
605
607
|
};
|
|
606
608
|
|
|
607
609
|
var renderTree = function renderTree() {
|
|
@@ -634,11 +636,10 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
634
636
|
ref: listRef,
|
|
635
637
|
width: width,
|
|
636
638
|
height: height,
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
}, listProps));
|
|
639
|
+
itemSize: itemSize,
|
|
640
|
+
itemCount: formattedNodes.length,
|
|
641
|
+
itemData: formattedNodes
|
|
642
|
+
}, listProps), renderVirtualListNode);
|
|
642
643
|
}) : formattedNodes));
|
|
643
644
|
};
|
|
644
645
|
|
|
@@ -7,4 +7,18 @@ React.createElement(TreePicker, {
|
|
|
7
7
|
return /*#__PURE__*/React.createElement("div", null);
|
|
8
8
|
},
|
|
9
9
|
data: []
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
/*#__PURE__*/
|
|
13
|
+
React.createElement(TreePicker, {
|
|
14
|
+
data: [],
|
|
15
|
+
listProps: {
|
|
16
|
+
itemSize: 30,
|
|
17
|
+
onItemsRendered: function onItemsRendered() {
|
|
18
|
+
console.log('onItemsRendered');
|
|
19
|
+
},
|
|
20
|
+
onScroll: function onScroll() {
|
|
21
|
+
console.log('onScroll');
|
|
22
|
+
}
|
|
23
|
+
}
|
|
10
24
|
});
|
package/esm/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,92 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
+
import React, { useState, useRef } from 'react';
|
|
4
|
+
import { useCallback } from 'react';
|
|
5
|
+
import getStyle from 'dom-lib/getStyle';
|
|
6
|
+
import { mergeRefs, useElementResize, useMount } from '../utils';
|
|
7
|
+
var AutoSizer = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
8
|
+
var children = props.children,
|
|
9
|
+
className = props.className,
|
|
10
|
+
disableHeight = props.disableHeight,
|
|
11
|
+
disableWidth = props.disableWidth,
|
|
12
|
+
defaultHeight = props.defaultHeight,
|
|
13
|
+
defaultWidth = props.defaultWidth,
|
|
14
|
+
style = props.style,
|
|
15
|
+
onResize = props.onResize,
|
|
16
|
+
rest = _objectWithoutPropertiesLoose(props, ["children", "className", "disableHeight", "disableWidth", "defaultHeight", "defaultWidth", "style", "onResize"]);
|
|
17
|
+
|
|
18
|
+
var _useState = useState(defaultHeight || 0),
|
|
19
|
+
height = _useState[0],
|
|
20
|
+
setHeight = _useState[1];
|
|
21
|
+
|
|
22
|
+
var _useState2 = useState(defaultWidth || 0),
|
|
23
|
+
width = _useState2[0],
|
|
24
|
+
setWidth = _useState2[1];
|
|
25
|
+
|
|
26
|
+
var rootRef = useRef(null);
|
|
27
|
+
var getParentNode = useCallback(function () {
|
|
28
|
+
var _rootRef$current;
|
|
29
|
+
|
|
30
|
+
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) {
|
|
31
|
+
return rootRef.current.parentNode;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return null;
|
|
35
|
+
}, []);
|
|
36
|
+
var handleResize = useCallback(function () {
|
|
37
|
+
var parentNode = getParentNode();
|
|
38
|
+
|
|
39
|
+
if (parentNode) {
|
|
40
|
+
var offsetHeight = parentNode.offsetHeight || 0;
|
|
41
|
+
var offsetWidth = parentNode.offsetWidth || 0;
|
|
42
|
+
|
|
43
|
+
var _style = getStyle(parentNode);
|
|
44
|
+
|
|
45
|
+
var paddingLeft = parseInt(_style.paddingLeft, 10) || 0;
|
|
46
|
+
var paddingRight = parseInt(_style.paddingRight, 10) || 0;
|
|
47
|
+
var paddingTop = parseInt(_style.paddingTop, 10) || 0;
|
|
48
|
+
var paddingBottom = parseInt(_style.paddingBottom, 10) || 0;
|
|
49
|
+
var newHeight = offsetHeight - paddingTop - paddingBottom;
|
|
50
|
+
var newWidth = offsetWidth - paddingLeft - paddingRight;
|
|
51
|
+
|
|
52
|
+
if (!disableHeight && height !== newHeight || !disableWidth && width !== newWidth) {
|
|
53
|
+
setHeight(offsetHeight - paddingTop - paddingBottom);
|
|
54
|
+
setWidth(offsetWidth - paddingLeft - paddingRight);
|
|
55
|
+
onResize === null || onResize === void 0 ? void 0 : onResize({
|
|
56
|
+
height: offsetHeight,
|
|
57
|
+
width: offsetWidth
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}, [disableHeight, disableWidth, getParentNode, height, onResize, width]);
|
|
62
|
+
useMount(function () {
|
|
63
|
+
if (getParentNode()) {
|
|
64
|
+
handleResize();
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
useElementResize(getParentNode, handleResize);
|
|
68
|
+
var outerStyle = {
|
|
69
|
+
overflow: 'visible'
|
|
70
|
+
};
|
|
71
|
+
var childParams = {
|
|
72
|
+
width: 0,
|
|
73
|
+
height: 0
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
if (!disableHeight) {
|
|
77
|
+
outerStyle.height = 0;
|
|
78
|
+
childParams.height = height;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
if (!disableWidth) {
|
|
82
|
+
outerStyle.width = 0;
|
|
83
|
+
childParams.width = width;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
|
87
|
+
className: className,
|
|
88
|
+
ref: mergeRefs(rootRef, ref),
|
|
89
|
+
style: _extends({}, outerStyle, style)
|
|
90
|
+
}, rest), children(childParams));
|
|
91
|
+
});
|
|
92
|
+
export default AutoSizer;
|
|
@@ -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,58 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
+
import React, { useRef, useImperativeHandle, useCallback } from 'react';
|
|
4
|
+
import { VariableSizeList } from 'react-window';
|
|
5
|
+
import { useCustom } from '../utils';
|
|
6
|
+
var List = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
7
|
+
var rowHeight = props.rowHeight,
|
|
8
|
+
_props$as = props.as,
|
|
9
|
+
Component = _props$as === void 0 ? VariableSizeList : _props$as,
|
|
10
|
+
rest = _objectWithoutPropertiesLoose(props, ["rowHeight", "as"]);
|
|
11
|
+
|
|
12
|
+
var listRef = useRef(null);
|
|
13
|
+
|
|
14
|
+
var _useCustom = useCustom(),
|
|
15
|
+
rtl = _useCustom.rtl;
|
|
16
|
+
|
|
17
|
+
useImperativeHandle(ref, function () {
|
|
18
|
+
return {
|
|
19
|
+
resetAfterIndex: function resetAfterIndex(index, shouldForceUpdate) {
|
|
20
|
+
var _listRef$current, _listRef$current$rese;
|
|
21
|
+
|
|
22
|
+
(_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);
|
|
23
|
+
},
|
|
24
|
+
scrollTo: function scrollTo(scrollOffset) {
|
|
25
|
+
var _listRef$current2, _listRef$current2$scr;
|
|
26
|
+
|
|
27
|
+
(_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);
|
|
28
|
+
},
|
|
29
|
+
scrollToItem: function scrollToItem(index, align) {
|
|
30
|
+
var _listRef$current3, _listRef$current3$scr;
|
|
31
|
+
|
|
32
|
+
(_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);
|
|
33
|
+
},
|
|
34
|
+
scrollToRow: function scrollToRow(index) {
|
|
35
|
+
var _listRef$current4, _listRef$current4$scr;
|
|
36
|
+
|
|
37
|
+
(_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);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
});
|
|
41
|
+
var setRowHeight = useCallback(function (index) {
|
|
42
|
+
return typeof rowHeight === 'function' ? rowHeight({
|
|
43
|
+
index: index
|
|
44
|
+
}) : rowHeight || 0;
|
|
45
|
+
}, [rowHeight]);
|
|
46
|
+
|
|
47
|
+
var compatibleProps = _extends({}, rest);
|
|
48
|
+
|
|
49
|
+
if (rowHeight) {
|
|
50
|
+
compatibleProps.itemSize = Component === VariableSizeList ? setRowHeight : rowHeight;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return /*#__PURE__*/React.createElement(Component, _extends({
|
|
54
|
+
ref: listRef,
|
|
55
|
+
direction: rtl ? 'rtl' : 'ltr'
|
|
56
|
+
}, compatibleProps));
|
|
57
|
+
});
|
|
58
|
+
export default List;
|
|
@@ -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';
|
package/esm/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/esm/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/esm/utils/dateUtils.js
CHANGED
|
@@ -42,6 +42,7 @@ export { default as startOfWeek } from 'date-fns/startOfWeek';
|
|
|
42
42
|
export { default as subDays } from 'date-fns/subDays';
|
|
43
43
|
export { default as isMatch } from 'date-fns/isMatch';
|
|
44
44
|
export { default as isValid } from 'date-fns/isValid';
|
|
45
|
+
export { default as set } from 'date-fns/set';
|
|
45
46
|
var disabledTimeProps = ['disabledHours', 'disabledMinutes', 'disabledSeconds'];
|
|
46
47
|
var hideTimeProps = ['hideHours', 'hideMinutes', 'hideSeconds'];
|
|
47
48
|
export var calendarOnlyProps = disabledTimeProps.concat(hideTimeProps);
|
package/esm/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
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rsuite",
|
|
3
|
-
"version": "5.17.0-beta.
|
|
3
|
+
"version": "5.17.0-beta.2",
|
|
4
4
|
"description": "A suite of react components",
|
|
5
5
|
"main": "cjs/index.js",
|
|
6
6
|
"module": "esm/index.js",
|
|
@@ -30,14 +30,14 @@
|
|
|
30
30
|
"@types/chai": "^4.2.18",
|
|
31
31
|
"@types/lodash": "^4.14.134",
|
|
32
32
|
"@types/prop-types": "^15.7.4",
|
|
33
|
-
"@types/react-
|
|
33
|
+
"@types/react-window": "^1.8.5",
|
|
34
34
|
"classnames": "^2.3.1",
|
|
35
35
|
"date-fns": "^2.13.0",
|
|
36
36
|
"dom-lib": "^3.1.2",
|
|
37
37
|
"lodash": "^4.17.11",
|
|
38
38
|
"prop-types": "^15.8.1",
|
|
39
|
-
"react-
|
|
40
|
-
"rsuite-table": "^5.
|
|
39
|
+
"react-window": "^1.8.7",
|
|
40
|
+
"rsuite-table": "^5.7.0",
|
|
41
41
|
"schema-typed": "^2.0.3"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { ListProps, ListRowProps } from 'react-virtualized/dist/commonjs/List';
|
|
3
|
-
import { AutoSizerProps } from 'react-virtualized/dist/commonjs/AutoSizer';
|
|
4
|
-
import type { Alignment } from 'react-virtualized';
|
|
5
|
-
export interface ListInstance {
|
|
6
|
-
/**
|
|
7
|
-
* Forcefully re-render the inner Grid component.
|
|
8
|
-
*/
|
|
9
|
-
forceUpdateGrid(): void;
|
|
10
|
-
/**
|
|
11
|
-
* Gets offset for a given row and alignment.
|
|
12
|
-
*/
|
|
13
|
-
getOffsetForRow(params: {
|
|
14
|
-
alignment?: Alignment;
|
|
15
|
-
index?: number;
|
|
16
|
-
}): number;
|
|
17
|
-
/**
|
|
18
|
-
* Pre-measure all rows in a List.
|
|
19
|
-
*/
|
|
20
|
-
measureAllRows(): void;
|
|
21
|
-
/**
|
|
22
|
-
* Recompute row heights and offsets after the specified index (defaults to 0).
|
|
23
|
-
*/
|
|
24
|
-
recomputeRowHeights(index?: number): void;
|
|
25
|
-
/**
|
|
26
|
-
* Scroll to the specified offset. Useful for animating position changes.
|
|
27
|
-
*/
|
|
28
|
-
scrollToPosition(scrollTop?: number): void;
|
|
29
|
-
/**
|
|
30
|
-
* Ensure row is visible. This method can be used to safely scroll back to a cell
|
|
31
|
-
* that a user has scrolled away from even if it was previously scrolled to.
|
|
32
|
-
*/
|
|
33
|
-
scrollToRow(index?: number): void;
|
|
34
|
-
}
|
|
35
|
-
export type { ListProps, AutoSizerProps, ListRowProps };
|
|
36
|
-
export declare const List: React.ComponentType<ListProps>;
|
|
37
|
-
export declare const AutoSizer: React.ComponentType<AutoSizerProps>;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
exports.__esModule = true;
|
|
6
|
-
exports.AutoSizer = exports.List = void 0;
|
|
7
|
-
|
|
8
|
-
var _List = _interopRequireDefault(require("react-virtualized/dist/commonjs/List"));
|
|
9
|
-
|
|
10
|
-
var _AutoSizer = _interopRequireDefault(require("react-virtualized/dist/commonjs/AutoSizer"));
|
|
11
|
-
|
|
12
|
-
var List = _List.default;
|
|
13
|
-
exports.List = List;
|
|
14
|
-
var AutoSizer = _AutoSizer.default;
|
|
15
|
-
exports.AutoSizer = AutoSizer;
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { ListProps, ListRowProps } from 'react-virtualized/dist/commonjs/List';
|
|
3
|
-
import { AutoSizerProps } from 'react-virtualized/dist/commonjs/AutoSizer';
|
|
4
|
-
import type { Alignment } from 'react-virtualized';
|
|
5
|
-
export interface ListInstance {
|
|
6
|
-
/**
|
|
7
|
-
* Forcefully re-render the inner Grid component.
|
|
8
|
-
*/
|
|
9
|
-
forceUpdateGrid(): void;
|
|
10
|
-
/**
|
|
11
|
-
* Gets offset for a given row and alignment.
|
|
12
|
-
*/
|
|
13
|
-
getOffsetForRow(params: {
|
|
14
|
-
alignment?: Alignment;
|
|
15
|
-
index?: number;
|
|
16
|
-
}): number;
|
|
17
|
-
/**
|
|
18
|
-
* Pre-measure all rows in a List.
|
|
19
|
-
*/
|
|
20
|
-
measureAllRows(): void;
|
|
21
|
-
/**
|
|
22
|
-
* Recompute row heights and offsets after the specified index (defaults to 0).
|
|
23
|
-
*/
|
|
24
|
-
recomputeRowHeights(index?: number): void;
|
|
25
|
-
/**
|
|
26
|
-
* Scroll to the specified offset. Useful for animating position changes.
|
|
27
|
-
*/
|
|
28
|
-
scrollToPosition(scrollTop?: number): void;
|
|
29
|
-
/**
|
|
30
|
-
* Ensure row is visible. This method can be used to safely scroll back to a cell
|
|
31
|
-
* that a user has scrolled away from even if it was previously scrolled to.
|
|
32
|
-
*/
|
|
33
|
-
scrollToRow(index?: number): void;
|
|
34
|
-
}
|
|
35
|
-
export type { ListProps, AutoSizerProps, ListRowProps };
|
|
36
|
-
export declare const List: React.ComponentType<ListProps>;
|
|
37
|
-
export declare const AutoSizer: React.ComponentType<AutoSizerProps>;
|