@qsxy/element-plus-react 1.0.0-next.5 → 1.0.0-next.7

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.
Files changed (109) hide show
  1. package/dist/Cascader/Cascader.js +147 -182
  2. package/dist/Cascader/CascaderContext.d.ts +4 -10
  3. package/dist/Cascader/CascaderContext.js +2 -6
  4. package/dist/Cascader/CascaderDropdown.js +1 -1
  5. package/dist/Cascader/CascaderMenu.d.ts +0 -7
  6. package/dist/Cascader/CascaderMenu.js +4 -77
  7. package/dist/Cascader/Utils.d.ts +0 -2
  8. package/dist/Cascader/Utils.js +0 -44
  9. package/dist/Cascader/index.d.ts +1 -1
  10. package/dist/Cascader/typings.d.ts +2 -18
  11. package/dist/Cascader/useCascader.d.ts +1 -15
  12. package/dist/Cascader/useCascader.js +14 -41
  13. package/dist/DatePicker/DatePicker.js +5 -5
  14. package/dist/Empty/ImgEmpty.js +1 -1
  15. package/dist/Tree/DirectoryTree.d.ts +6 -13
  16. package/dist/Tree/DirectoryTree.js +32 -81
  17. package/dist/Tree/DropIndicator.d.ts +4 -2
  18. package/dist/Tree/DropIndicator.js +7 -2
  19. package/dist/Tree/Indent.d.ts +2 -2
  20. package/dist/Tree/Indent.js +4 -4
  21. package/dist/Tree/MotionTreeNode.d.ts +4 -5
  22. package/dist/Tree/MotionTreeNode.js +69 -52
  23. package/dist/Tree/NodeList.d.ts +15 -11
  24. package/dist/Tree/NodeList.js +38 -29
  25. package/dist/Tree/RCTree.d.ts +77 -75
  26. package/dist/Tree/RCTree.js +199 -188
  27. package/dist/Tree/Tree.d.ts +3 -3
  28. package/dist/Tree/Tree.js +27 -27
  29. package/dist/Tree/TreeNode.d.ts +5 -90
  30. package/dist/Tree/TreeNode.js +320 -422
  31. package/dist/Tree/contextTypes.d.ts +36 -30
  32. package/dist/Tree/contextTypes.js +17 -4
  33. package/dist/Tree/index.d.ts +2 -2
  34. package/dist/Tree/typings.d.ts +60 -19
  35. package/dist/Tree/typings.js +1 -13
  36. package/dist/Tree/typings.tsx--bak +245 -0
  37. package/dist/Tree/useUnmount.d.ts +5 -0
  38. package/dist/{VirtualList/index.js → Tree/useUnmount.js} +25 -10
  39. package/dist/Tree/util.d.ts +17 -21
  40. package/dist/Tree/util.js +21 -52
  41. package/dist/Tree/utils/conductUtil.d.ts +2 -2
  42. package/dist/Tree/utils/conductUtil.js +14 -3
  43. package/dist/Tree/utils/dictUtil.d.ts +7 -3
  44. package/dist/Tree/utils/dictUtil.js +49 -32
  45. package/dist/Tree/utils/diffUtil.d.ts +4 -3
  46. package/dist/Tree/utils/keyUtil.d.ts +2 -0
  47. package/dist/{VirtualList/utils/isFirefox.js → Tree/utils/keyUtil.js} +8 -7
  48. package/dist/Tree/utils/motion.js +6 -5
  49. package/dist/Tree/utils/treeUtil.d.ts +16 -18
  50. package/dist/Tree/utils/treeUtil.js +35 -14
  51. package/dist/TreeSelect/Utils.d.ts +1 -1
  52. package/dist/Util/base.d.ts +1 -1
  53. package/dist/Util/base.js +14 -2
  54. package/dist/index.css +6 -4
  55. package/dist/index.d.ts +3 -5
  56. package/dist/index.js +0 -5
  57. package/dist/theme-chalk/calendar/month-table.scss +1 -1
  58. package/dist/theme-chalk/input/input.scss +5 -3
  59. package/package.json +2 -1
  60. package/dist/Tree/utils/KeyCode.d.ts +0 -436
  61. package/dist/Tree/utils/KeyCode.js +0 -550
  62. package/dist/VirtualList/Filler.d.ts +0 -16
  63. package/dist/VirtualList/Filler.js +0 -78
  64. package/dist/VirtualList/Item.d.ts +0 -7
  65. package/dist/VirtualList/Item.js +0 -37
  66. package/dist/VirtualList/ScrollBar.d.ts +0 -43
  67. package/dist/VirtualList/ScrollBar.js +0 -216
  68. package/dist/VirtualList/VirtualList.d.ts +0 -36
  69. package/dist/VirtualList/VirtualList.js +0 -280
  70. package/dist/VirtualList/hooks/useChildren.d.ts +0 -3
  71. package/dist/VirtualList/hooks/useChildren.js +0 -46
  72. package/dist/VirtualList/hooks/useDiffItem.d.ts +0 -2
  73. package/dist/VirtualList/hooks/useDiffItem.js +0 -39
  74. package/dist/VirtualList/hooks/useFrameWheel.d.ts +0 -6
  75. package/dist/VirtualList/hooks/useFrameWheel.js +0 -72
  76. package/dist/VirtualList/hooks/useHeights.d.ts +0 -3
  77. package/dist/VirtualList/hooks/useHeights.js +0 -83
  78. package/dist/VirtualList/hooks/useLayoutEffect.d.ts +0 -6
  79. package/dist/VirtualList/hooks/useLayoutEffect.js +0 -30
  80. package/dist/VirtualList/hooks/useMobileTouchMove.d.ts +0 -2
  81. package/dist/VirtualList/hooks/useMobileTouchMove.js +0 -92
  82. package/dist/VirtualList/hooks/useOriginScroll.d.ts +0 -2
  83. package/dist/VirtualList/hooks/useOriginScroll.js +0 -56
  84. package/dist/VirtualList/hooks/useScrollTo.d.ts +0 -5
  85. package/dist/VirtualList/hooks/useScrollTo.js +0 -111
  86. package/dist/VirtualList/index.d.ts +0 -2
  87. package/dist/VirtualList/interface.d.ts +0 -8
  88. package/dist/VirtualList/interface.js +0 -17
  89. package/dist/VirtualList/mock.d.ts +0 -6
  90. package/dist/VirtualList/mock.js +0 -29
  91. package/dist/VirtualList/utils/CacheMap.d.ts +0 -7
  92. package/dist/VirtualList/utils/CacheMap.js +0 -36
  93. package/dist/VirtualList/utils/algorithmUtil.d.ts +0 -23
  94. package/dist/VirtualList/utils/algorithmUtil.js +0 -81
  95. package/dist/VirtualList/utils/findDOMNode.d.ts +0 -5
  96. package/dist/VirtualList/utils/findDOMNode.js +0 -30
  97. package/dist/VirtualList/utils/isFirefox.d.ts +0 -2
  98. package/dist/VirtualList/utils/raf.d.ts +0 -5
  99. package/dist/VirtualList/utils/raf.js +0 -57
  100. package/dist/theme-chalk/bak/common/popup.scss +0 -47
  101. package/dist/theme-chalk/bak/common/transition.scss +0 -118
  102. package/dist/theme-chalk/bak/common/var.scss +0 -1476
  103. package/dist/theme-chalk/bak/mixins/_button.scss +0 -224
  104. package/dist/theme-chalk/bak/mixins/_col.scss +0 -38
  105. package/dist/theme-chalk/bak/mixins/_var.scss +0 -55
  106. package/dist/theme-chalk/bak/mixins/config.scss +0 -5
  107. package/dist/theme-chalk/bak/mixins/function.scss +0 -85
  108. package/dist/theme-chalk/bak/mixins/mixins.scss +0 -215
  109. package/dist/theme-chalk/bak/mixins/utils.scss +0 -39
@@ -1,216 +0,0 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- // If the importer is in node compatibility mode or this is not an ESM
21
- // file that has been converted to a CommonJS file using a Babel-
22
- // compatible transform (i.e. "__esModule" has not been set), then set
23
- // "default" to the CommonJS "module.exports" for node compatibility.
24
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
- mod
26
- ));
27
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
-
29
- // src/VirtualList/ScrollBar.tsx
30
- var ScrollBar_exports = {};
31
- __export(ScrollBar_exports, {
32
- default: () => ScrollBar
33
- });
34
- module.exports = __toCommonJS(ScrollBar_exports);
35
- var import_classnames = __toESM(require("classnames"));
36
- var import_react = __toESM(require("react"));
37
- var import_raf = __toESM(require("./utils/raf"));
38
- var MIN_SIZE = 20;
39
- function getPageY(e) {
40
- return "touches" in e ? e.touches[0].pageY : e.pageY;
41
- }
42
- var ScrollBar = class extends import_react.Component {
43
- constructor() {
44
- super(...arguments);
45
- this.moveRaf = null;
46
- this.scrollbarRef = (0, import_react.createRef)();
47
- this.thumbRef = (0, import_react.createRef)();
48
- // eslint-disable-next-line no-undef
49
- this.visibleTimeout = null;
50
- this.state = {
51
- dragging: false,
52
- pageY: null,
53
- startTop: null,
54
- visible: false
55
- };
56
- this.delayHidden = () => {
57
- clearTimeout(this.visibleTimeout);
58
- this.setState({ visible: true });
59
- this.visibleTimeout = setTimeout(() => {
60
- this.setState({ visible: false });
61
- }, 2e3);
62
- };
63
- this.onScrollbarTouchStart = (e) => {
64
- e.preventDefault();
65
- };
66
- this.onContainerMouseDown = (e) => {
67
- e.stopPropagation();
68
- e.preventDefault();
69
- };
70
- // ======================= Clean =======================
71
- this.patchEvents = () => {
72
- window.addEventListener("mousemove", this.onMouseMove);
73
- window.addEventListener("mouseup", this.onMouseUp);
74
- this.thumbRef.current.addEventListener("touchmove", this.onMouseMove);
75
- this.thumbRef.current.addEventListener("touchend", this.onMouseUp);
76
- };
77
- this.removeEvents = () => {
78
- window.removeEventListener("mousemove", this.onMouseMove);
79
- window.removeEventListener("mouseup", this.onMouseUp);
80
- this.scrollbarRef.current.removeEventListener("touchstart", this.onScrollbarTouchStart);
81
- this.thumbRef.current.removeEventListener("touchstart", this.onMouseDown);
82
- this.thumbRef.current.removeEventListener("touchmove", this.onMouseMove);
83
- this.thumbRef.current.removeEventListener("touchend", this.onMouseUp);
84
- import_raf.default.cancel(this.moveRaf);
85
- };
86
- // ======================= Thumb =======================
87
- this.onMouseDown = (e) => {
88
- const { onStartMove } = this.props;
89
- this.setState({
90
- dragging: true,
91
- pageY: getPageY(e),
92
- startTop: this.getTop()
93
- });
94
- onStartMove();
95
- this.patchEvents();
96
- e.stopPropagation();
97
- e.preventDefault();
98
- };
99
- this.onMouseMove = (e) => {
100
- const { dragging, pageY, startTop } = this.state;
101
- const { onScroll } = this.props;
102
- import_raf.default.cancel(this.moveRaf);
103
- if (dragging) {
104
- const offsetY = getPageY(e) - pageY;
105
- const newTop = startTop + offsetY;
106
- const enableScrollRange = this.getEnableScrollRange();
107
- const enableHeightRange = this.getEnableHeightRange();
108
- const ptg = enableHeightRange ? newTop / enableHeightRange : 0;
109
- const newScrollTop = Math.ceil(ptg * enableScrollRange);
110
- this.moveRaf = (0, import_raf.default)(() => {
111
- onScroll(newScrollTop);
112
- });
113
- }
114
- };
115
- this.onMouseUp = () => {
116
- const { onStopMove } = this.props;
117
- this.setState({ dragging: false });
118
- onStopMove();
119
- this.removeEvents();
120
- };
121
- // ===================== Calculate =====================
122
- this.getSpinHeight = () => {
123
- const { height, count } = this.props;
124
- let baseHeight = height / count * 10;
125
- baseHeight = Math.max(baseHeight, MIN_SIZE);
126
- baseHeight = Math.min(baseHeight, height / 2);
127
- return Math.floor(baseHeight);
128
- };
129
- this.getEnableScrollRange = () => {
130
- const { scrollHeight, height } = this.props;
131
- return scrollHeight - height || 0;
132
- };
133
- this.getEnableHeightRange = () => {
134
- const { height } = this.props;
135
- const spinHeight = this.getSpinHeight();
136
- return height - spinHeight || 0;
137
- };
138
- this.getTop = () => {
139
- const { scrollTop } = this.props;
140
- const enableScrollRange = this.getEnableScrollRange();
141
- const enableHeightRange = this.getEnableHeightRange();
142
- if (scrollTop === 0 || enableScrollRange === 0) {
143
- return 0;
144
- }
145
- const ptg = scrollTop / enableScrollRange;
146
- return ptg * enableHeightRange;
147
- };
148
- // Not show scrollbar when height is large than scrollHeight
149
- this.showScroll = () => {
150
- const { height, scrollHeight } = this.props;
151
- return scrollHeight > height;
152
- };
153
- }
154
- componentDidMount() {
155
- this.scrollbarRef.current.addEventListener("touchstart", this.onScrollbarTouchStart);
156
- this.thumbRef.current.addEventListener("touchstart", this.onMouseDown);
157
- }
158
- componentDidUpdate(prevProps) {
159
- if (prevProps.scrollTop !== this.props.scrollTop) {
160
- this.delayHidden();
161
- }
162
- }
163
- componentWillUnmount() {
164
- this.removeEvents();
165
- clearTimeout(this.visibleTimeout);
166
- }
167
- // ====================== Render =======================
168
- render() {
169
- const { dragging, visible } = this.state;
170
- const { prefixCls } = this.props;
171
- const spinHeight = this.getSpinHeight();
172
- const top = this.getTop();
173
- const canScroll = this.showScroll();
174
- const mergedVisible = canScroll && visible;
175
- return /* @__PURE__ */ import_react.default.createElement(
176
- "div",
177
- {
178
- ref: this.scrollbarRef,
179
- className: (0, import_classnames.default)(`${prefixCls}-scrollbar`, {
180
- [`${prefixCls}-scrollbar-show`]: canScroll
181
- }),
182
- style: {
183
- width: 6,
184
- top: 0,
185
- bottom: 0,
186
- right: 0,
187
- position: "absolute",
188
- display: mergedVisible ? null : "none"
189
- },
190
- onMouseDown: this.onContainerMouseDown,
191
- onMouseMove: this.delayHidden
192
- },
193
- /* @__PURE__ */ import_react.default.createElement(
194
- "div",
195
- {
196
- ref: this.thumbRef,
197
- className: (0, import_classnames.default)(`${prefixCls}-scrollbar-thumb`, {
198
- [`${prefixCls}-scrollbar-thumb-moving`]: dragging
199
- }),
200
- style: {
201
- width: "100%",
202
- height: spinHeight,
203
- top,
204
- left: 0,
205
- position: "absolute",
206
- background: "rgba(144, 147, 153, 0.3)",
207
- borderRadius: 99,
208
- cursor: "pointer",
209
- userSelect: "none"
210
- },
211
- onMouseDown: this.onMouseDown
212
- }
213
- )
214
- );
215
- }
216
- };
@@ -1,36 +0,0 @@
1
- import React, { ComponentClass, FC, Key, Ref } from 'react';
2
- import type { RenderFunc } from './interface';
3
- export type ScrollAlign = 'top' | 'bottom' | 'auto';
4
- export type ScrollConfig = {
5
- index: number;
6
- align?: ScrollAlign;
7
- offset?: number;
8
- } | {
9
- key: Key;
10
- align?: ScrollAlign;
11
- offset?: number;
12
- };
13
- export type ScrollTo = (arg: number | ScrollConfig) => void;
14
- export type ListRef = {
15
- scrollTo: ScrollTo;
16
- };
17
- export interface ListProps<T = any> extends Omit<React.AllHTMLAttributes<any>, 'data' | 'children'> {
18
- prefixCls?: string;
19
- children: RenderFunc<T>;
20
- data: T[];
21
- height?: number;
22
- itemHeight?: number;
23
- style?: React.CSSProperties;
24
- /** If not match virtual scroll condition, Set List still use height of container. */
25
- fullHeight?: boolean;
26
- itemKey: Key | ((item: T) => Key);
27
- component?: string | FC<any> | ComponentClass<any>;
28
- /** Set `false` will always use real scroll instead of virtual one */
29
- virtual?: boolean;
30
- onScroll?: React.UIEventHandler<HTMLElement>;
31
- /** Trigger when render list item changed */
32
- onVisibleChange?: (visibleList: T[], fullList: T[]) => void;
33
- }
34
- export declare function RawList<T>(props: ListProps<T>, ref: Ref<ListRef>): React.JSX.Element;
35
- declare const List: React.ForwardRefExoticComponent<ListProps<any> & React.RefAttributes<ListRef>>;
36
- export default List;
@@ -1,280 +0,0 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- // If the importer is in node compatibility mode or this is not an ESM
21
- // file that has been converted to a CommonJS file using a Babel-
22
- // compatible transform (i.e. "__esModule" has not been set), then set
23
- // "default" to the CommonJS "module.exports" for node compatibility.
24
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
- mod
26
- ));
27
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
-
29
- // src/VirtualList/VirtualList.tsx
30
- var VirtualList_exports = {};
31
- __export(VirtualList_exports, {
32
- RawList: () => RawList,
33
- default: () => VirtualList_default
34
- });
35
- module.exports = __toCommonJS(VirtualList_exports);
36
- var import_classnames = __toESM(require("classnames"));
37
- var import_react = __toESM(require("react"));
38
- var import_Filler = __toESM(require("./Filler"));
39
- var import_ScrollBar = __toESM(require("./ScrollBar"));
40
- var import_useChildren = __toESM(require("./hooks/useChildren"));
41
- var import_useDiffItem = __toESM(require("./hooks/useDiffItem"));
42
- var import_useFrameWheel = __toESM(require("./hooks/useFrameWheel"));
43
- var import_useHeights = __toESM(require("./hooks/useHeights"));
44
- var import_useLayoutEffect = __toESM(require("./hooks/useLayoutEffect"));
45
- var import_useMobileTouchMove = __toESM(require("./hooks/useMobileTouchMove"));
46
- var import_useOriginScroll = __toESM(require("./hooks/useOriginScroll"));
47
- var import_useScrollTo = __toESM(require("./hooks/useScrollTo"));
48
- var EMPTY_DATA = [];
49
- var ScrollStyle = {
50
- overflowY: "auto",
51
- overflowAnchor: "none"
52
- };
53
- function RawList(props, ref) {
54
- const {
55
- prefixCls = "rc-virtual-list",
56
- className,
57
- height,
58
- itemHeight,
59
- fullHeight = true,
60
- style,
61
- data,
62
- children,
63
- itemKey,
64
- virtual,
65
- component: Component = "div",
66
- onScroll,
67
- onVisibleChange,
68
- ...restProps
69
- } = props;
70
- const useVirtual = !!(virtual !== false && height && itemHeight);
71
- const inVirtual = useVirtual && data && itemHeight * data.length > height;
72
- const [scrollTop, setScrollTop] = (0, import_react.useState)(0);
73
- const [scrollMoving, setScrollMoving] = (0, import_react.useState)(false);
74
- const mergedClassName = (0, import_classnames.default)(prefixCls, className);
75
- const mergedData = data || EMPTY_DATA;
76
- const componentRef = (0, import_react.useRef)();
77
- const fillerInnerRef = (0, import_react.useRef)();
78
- const scrollBarRef = (0, import_react.useRef)();
79
- const getKey = (0, import_react.useCallback)(
80
- (item) => {
81
- if (typeof itemKey === "function") {
82
- return itemKey(item);
83
- }
84
- return item == null ? void 0 : item[itemKey];
85
- },
86
- [itemKey]
87
- );
88
- const sharedConfig = {
89
- getKey
90
- };
91
- function syncScrollTop(newTop) {
92
- setScrollTop((origin) => {
93
- let value;
94
- if (typeof newTop === "function") {
95
- value = newTop(origin);
96
- } else {
97
- value = newTop;
98
- }
99
- const alignedTop = keepInRange(value);
100
- componentRef.current.scrollTop = alignedTop;
101
- return alignedTop;
102
- });
103
- }
104
- const rangeRef = (0, import_react.useRef)({ start: 0, end: mergedData.length });
105
- const diffItemRef = (0, import_react.useRef)();
106
- const [diffItem] = (0, import_useDiffItem.default)(mergedData, getKey);
107
- diffItemRef.current = diffItem;
108
- const [setInstanceRef, collectHeight, heights, heightUpdatedMark] = (0, import_useHeights.default)(getKey, null, null);
109
- const { scrollHeight, start, end, offset } = (0, import_react.useMemo)(() => {
110
- var _a;
111
- if (!useVirtual) {
112
- return {
113
- scrollHeight: void 0,
114
- start: 0,
115
- end: mergedData.length - 1,
116
- offset: void 0
117
- };
118
- }
119
- if (!inVirtual) {
120
- return {
121
- scrollHeight: ((_a = fillerInnerRef.current) == null ? void 0 : _a.offsetHeight) || 0,
122
- start: 0,
123
- end: mergedData.length - 1,
124
- offset: void 0
125
- };
126
- }
127
- let itemTop = 0;
128
- let startIndex;
129
- let startOffset;
130
- let endIndex;
131
- const dataLen = mergedData.length;
132
- for (let i = 0; i < dataLen; i += 1) {
133
- const item = mergedData[i];
134
- const key = getKey(item);
135
- const cacheHeight = heights.get(key);
136
- const currentItemBottom = itemTop + (cacheHeight === void 0 ? itemHeight : cacheHeight);
137
- if (currentItemBottom >= scrollTop && startIndex === void 0) {
138
- startIndex = i;
139
- startOffset = itemTop;
140
- }
141
- if (currentItemBottom > scrollTop + height && endIndex === void 0) {
142
- endIndex = i;
143
- }
144
- itemTop = currentItemBottom;
145
- }
146
- if (startIndex === void 0) {
147
- startIndex = 0;
148
- startOffset = 0;
149
- }
150
- if (endIndex === void 0) {
151
- endIndex = mergedData.length - 1;
152
- }
153
- endIndex = Math.min(endIndex + 1, mergedData.length);
154
- return {
155
- scrollHeight: itemTop,
156
- start: startIndex,
157
- end: endIndex,
158
- offset: startOffset
159
- };
160
- }, [inVirtual, useVirtual, scrollTop, mergedData, heightUpdatedMark, height]);
161
- rangeRef.current.start = start;
162
- rangeRef.current.end = end;
163
- const maxScrollHeight = scrollHeight - height;
164
- const maxScrollHeightRef = (0, import_react.useRef)(maxScrollHeight);
165
- maxScrollHeightRef.current = maxScrollHeight;
166
- function keepInRange(newScrollTop) {
167
- let newTop = newScrollTop;
168
- if (!Number.isNaN(maxScrollHeightRef.current)) {
169
- newTop = Math.min(newTop, maxScrollHeightRef.current);
170
- }
171
- newTop = Math.max(newTop, 0);
172
- return newTop;
173
- }
174
- const isScrollAtTop = scrollTop <= 0;
175
- const isScrollAtBottom = scrollTop >= maxScrollHeight;
176
- const originScroll = (0, import_useOriginScroll.default)(isScrollAtTop, isScrollAtBottom);
177
- function onScrollBar(newScrollTop) {
178
- const newTop = newScrollTop;
179
- syncScrollTop(newTop);
180
- }
181
- function onFallbackScroll(e) {
182
- const { scrollTop: newScrollTop } = e.currentTarget;
183
- if (newScrollTop !== scrollTop) {
184
- syncScrollTop(newScrollTop);
185
- }
186
- onScroll == null ? void 0 : onScroll.call(this, e);
187
- }
188
- const [onRawWheel, onFireFoxScroll] = (0, import_useFrameWheel.default)(useVirtual, isScrollAtTop, isScrollAtBottom, (offsetY) => {
189
- syncScrollTop((top) => {
190
- const newTop = top + offsetY;
191
- return newTop;
192
- });
193
- });
194
- (0, import_useMobileTouchMove.default)(useVirtual, componentRef, (deltaY, smoothOffset) => {
195
- if (originScroll(deltaY, smoothOffset)) {
196
- return false;
197
- }
198
- onRawWheel({ preventDefault() {
199
- }, deltaY });
200
- return true;
201
- });
202
- (0, import_useLayoutEffect.default)(() => {
203
- function onMozMousePixelScroll(e) {
204
- if (useVirtual) {
205
- e.preventDefault();
206
- }
207
- }
208
- componentRef.current.addEventListener("wheel", onRawWheel);
209
- componentRef.current.addEventListener("DOMMouseScroll", onFireFoxScroll);
210
- componentRef.current.addEventListener("MozMousePixelScroll", onMozMousePixelScroll);
211
- return () => {
212
- if (componentRef.current) {
213
- componentRef.current.removeEventListener("wheel", onRawWheel);
214
- componentRef.current.removeEventListener("DOMMouseScroll", onFireFoxScroll);
215
- componentRef.current.removeEventListener("MozMousePixelScroll", onMozMousePixelScroll);
216
- }
217
- };
218
- }, [useVirtual]);
219
- const scrollTo = (0, import_useScrollTo.default)(componentRef, mergedData, heights, itemHeight, getKey, collectHeight, syncScrollTop, () => {
220
- var _a;
221
- (_a = scrollBarRef.current) == null ? void 0 : _a.delayHidden();
222
- });
223
- (0, import_react.useImperativeHandle)(ref, () => ({
224
- scrollTo
225
- }));
226
- (0, import_useLayoutEffect.default)(() => {
227
- if (onVisibleChange) {
228
- const renderList = mergedData.slice(start, end + 1);
229
- onVisibleChange(renderList, mergedData);
230
- }
231
- }, [start, end, mergedData]);
232
- const listChildren = (0, import_useChildren.default)(mergedData, start, end, setInstanceRef, children, sharedConfig);
233
- let componentStyle = null;
234
- if (height) {
235
- componentStyle = { [fullHeight ? "height" : "maxHeight"]: height, ...ScrollStyle };
236
- if (useVirtual) {
237
- componentStyle.overflowY = "hidden";
238
- if (scrollMoving) {
239
- componentStyle.pointerEvents = "none";
240
- }
241
- }
242
- }
243
- return /* @__PURE__ */ import_react.default.createElement(
244
- "div",
245
- {
246
- style: {
247
- ...style,
248
- position: "relative"
249
- },
250
- className: mergedClassName,
251
- ...restProps
252
- },
253
- /* @__PURE__ */ import_react.default.createElement(Component, { className: `${prefixCls}-holder`, style: componentStyle, ref: componentRef, onScroll: onFallbackScroll }, /* @__PURE__ */ import_react.default.createElement(import_Filler.default, { prefixCls, height: scrollHeight, offset, onInnerResize: collectHeight, ref: fillerInnerRef }, listChildren)),
254
- useVirtual && /* @__PURE__ */ import_react.default.createElement(
255
- import_ScrollBar.default,
256
- {
257
- ref: scrollBarRef,
258
- prefixCls,
259
- scrollTop,
260
- height,
261
- scrollHeight,
262
- count: mergedData.length,
263
- onScroll: onScrollBar,
264
- onStartMove: () => {
265
- setScrollMoving(true);
266
- },
267
- onStopMove: () => {
268
- setScrollMoving(false);
269
- }
270
- }
271
- )
272
- );
273
- }
274
- var List = (0, import_react.forwardRef)(RawList);
275
- List.displayName = "List";
276
- var VirtualList_default = List;
277
- // Annotate the CommonJS export names for ESM import in node:
278
- 0 && (module.exports = {
279
- RawList
280
- });
@@ -1,3 +0,0 @@
1
- import React from 'react';
2
- import type { RenderFunc, SharedConfig } from '../interface';
3
- export default function useChildren<T>(list: T[], startIndex: number, endIndex: number, setNodeRef: (item: T, element: HTMLElement) => void, renderFunc: RenderFunc<T>, { getKey }: SharedConfig<T>): React.JSX.Element[];
@@ -1,46 +0,0 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- // If the importer is in node compatibility mode or this is not an ESM
21
- // file that has been converted to a CommonJS file using a Babel-
22
- // compatible transform (i.e. "__esModule" has not been set), then set
23
- // "default" to the CommonJS "module.exports" for node compatibility.
24
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
- mod
26
- ));
27
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
-
29
- // src/VirtualList/hooks/useChildren.tsx
30
- var useChildren_exports = {};
31
- __export(useChildren_exports, {
32
- default: () => useChildren
33
- });
34
- module.exports = __toCommonJS(useChildren_exports);
35
- var import_react = __toESM(require("react"));
36
- var import_Item = require("../Item");
37
- function useChildren(list, startIndex, endIndex, setNodeRef, renderFunc, { getKey }) {
38
- return list.slice(startIndex, endIndex + 1).map((item, index) => {
39
- const eleIndex = startIndex + index;
40
- const node = renderFunc(item, eleIndex, {
41
- // style: status === 'MEASURE_START' ? { visibility: 'hidden' } : {},
42
- });
43
- const key = getKey(item);
44
- return /* @__PURE__ */ import_react.default.createElement(import_Item.Item, { key, setRef: (ele) => setNodeRef(item, ele) }, node);
45
- });
46
- }
@@ -1,2 +0,0 @@
1
- import type { GetKey } from '../interface';
2
- export default function useDiffItem<T>(data: T[], getKey: GetKey<T>, onDiff?: (diffIndex: number) => void): [T];
@@ -1,39 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // src/VirtualList/hooks/useDiffItem.ts
20
- var useDiffItem_exports = {};
21
- __export(useDiffItem_exports, {
22
- default: () => useDiffItem
23
- });
24
- module.exports = __toCommonJS(useDiffItem_exports);
25
- var import_react = require("react");
26
- var import_algorithmUtil = require("../utils/algorithmUtil");
27
- function useDiffItem(data, getKey, onDiff) {
28
- const [prevData, setPrevData] = (0, import_react.useState)(data);
29
- const [diffItem, setDiffItem] = (0, import_react.useState)(null);
30
- (0, import_react.useEffect)(() => {
31
- const diff = (0, import_algorithmUtil.findListDiffIndex)(prevData || [], data || [], getKey);
32
- if ((diff == null ? void 0 : diff.index) !== void 0) {
33
- onDiff == null ? void 0 : onDiff(diff.index);
34
- setDiffItem(data[diff.index]);
35
- }
36
- setPrevData(data);
37
- }, [data]);
38
- return [diffItem];
39
- }
@@ -1,6 +0,0 @@
1
- interface FireFoxDOMMouseScrollEvent {
2
- detail: number;
3
- preventDefault: Function;
4
- }
5
- export default function useFrameWheel(inVirtual: boolean, isScrollAtTop: boolean, isScrollAtBottom: boolean, onWheelDelta: (offset: number) => void): [(e: WheelEvent) => void, (e: FireFoxDOMMouseScrollEvent) => void];
6
- export {};