@para-ui/core 4.0.6 → 4.0.7-alpha2
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/AutoBox/index.js +1 -1
- package/AutoTips/index.js +1 -1
- package/Breadcrumbs/index.js +1 -1
- package/Button/SplitButton.d.ts +1 -1
- package/Button/index.js +2 -2
- package/ButtonGroup/index.js +1 -1
- package/Carousel/index.js +1 -1
- package/Cascader/OptionList/Column.d.ts +1 -1
- package/Cascader/index.js +4 -4
- package/Checkbox/index.js +1 -1
- package/CheckboxGroup/index.js +1 -1
- package/ColorPicker/chromePicker/index.d.ts +1 -2
- package/ColorPicker/compactPicker/index.d.ts +1 -2
- package/ColorPicker/sketchPicker/index.d.ts +1 -2
- package/ColorPicker/swatchesPicker/index.d.ts +1 -2
- package/ComboSelect/index.js +2 -2
- package/Container/index.d.ts +1 -1
- package/CopyText/index.js +1 -1
- package/CycleSelector/index.js +24 -8
- package/CycleSelector/lang/en_US.d.ts +1 -0
- package/CycleSelector/lang/index.d.ts +2 -0
- package/CycleSelector/lang/zh_CN.d.ts +1 -0
- package/DatePicker/PickerButton.d.ts +1 -2
- package/DatePicker/PickerTag.d.ts +1 -2
- package/DatePicker/index.js +2 -2
- package/Descriptions/index.d.ts +2 -0
- package/Descriptions/index.js +8 -3
- package/Desktop/index.js +1 -1
- package/DragVerify/index.js +1 -1
- package/Drawer/index.js +1 -1
- package/DynamicMultiBox/formItem.d.ts +1 -2
- package/DynamicMultiBox/index.js +6 -6
- package/DynamicMultiBox/rowForm.d.ts +1 -1
- package/Empty/images/index.d.ts +2 -3
- package/Form/index.js +3 -3
- package/FormItem/index.js +3 -3
- package/FunctionModal/index.js +3 -3
- package/FunctionModal/modalContext.d.ts +1 -2
- package/GlobalContext/confirmLocale.d.ts +2 -4
- package/GlobalContext/index.js +5 -4
- package/Help/index.js +1 -1
- package/InputLang/index.js +1 -1
- package/InputNumber/index.js +1 -1
- package/Label/index.js +1 -1
- package/Menu/index.js +74 -24
- package/Menu/interface.d.ts +9 -0
- package/Message/index.d.ts +1 -1
- package/Modal/index.js +1 -1
- package/MultiBox/index.js +1 -1
- package/Notification/index.js +3 -3
- package/OperateBtn/index.js +1 -1
- package/PageHeader/index.js +1 -1
- package/Pagination/index.js +2 -2
- package/ParauiProvider/index.d.ts +1 -1
- package/ParauiProvider/index.js +3 -2
- package/PopConfirm/index.js +1 -1
- package/Popover/index.js +1 -1
- package/Progress/index.js +1 -1
- package/Prompt/index.d.ts +1 -1
- package/Querying/images/index.d.ts +2 -3
- package/QuickReply/index.js +3 -3
- package/README.md +9 -0
- package/Radio/index.js +1 -1
- package/RadioGroup/index.js +1 -1
- package/Search/index.js +1 -1
- package/Select/index.js +19 -2
- package/SelectInput/index.js +1 -1
- package/Selector/index.js +4 -4
- package/SelectorPicker/index.js +1 -1
- package/SingleBox/index.js +1 -1
- package/Slider/index.js +1 -1
- package/Stepper/index.js +1 -1
- package/Switch/index.js +1 -1
- package/Table/index.js +5 -4
- package/Table/interface.d.ts +2 -0
- package/Table/lang/en_US.d.ts +1 -1
- package/Table/lang/index.d.ts +1 -1
- package/Tabs/index.js +2 -2
- package/Tag/index.js +1 -1
- package/TextEditor/index.js +1 -1
- package/TextField/index.js +1 -1
- package/TimePicker/index.js +2 -2
- package/Timeline/index.js +1 -1
- package/Title/index.js +1 -1
- package/ToggleButton/index.js +1 -1
- package/Tooltip/index.js +1 -1
- package/Tooltip/utils.d.ts +1 -1
- package/Transfer/box.d.ts +1 -1
- package/Transfer/index.d.ts +1 -1
- package/Transfer/index.js +2 -2
- package/Tree/index.js +3 -3
- package/Tree/utils/treeUtil.d.ts +2 -2
- package/Upload/index.js +1 -1
- package/Utils/index.d.ts +2 -0
- package/Utils/index.js +10 -3
- package/_verture/defineProperty-6f62bb2a.js +34 -0
- package/_verture/{index-767e63dd.js → index-b08d8bf5.js} +1 -1
- package/_verture/{index-9784b09c.js → index-b33b6e81.js} +228 -119
- package/_verture/{index-28a6bc3a.js → index-e5429414.js} +1 -1
- package/_verture/{modalContext-8982647f.js → modalContext-25549697.js} +1 -1
- package/_verture/{sortable.esm-49896035.js → sortable.esm-76fe46a4.js} +597 -1029
- package/_verture/tslib.es6-fe0d4b4e.js +43 -0
- package/index.js +9 -9
- package/locale/en-US.d.ts +2 -1
- package/locale/index.d.ts +3 -1
- package/locale/index.js +8 -6
- package/locale/zh-CN.d.ts +1 -0
- package/package.json +14 -14
- package/umd/AutoBox.js +18 -18
- package/umd/AutoTips.js +18 -18
- package/umd/Badge.js +1 -1
- package/umd/Breadcrumbs.js +18 -18
- package/umd/Button.js +18 -18
- package/umd/ButtonGroup.js +18 -18
- package/umd/Carousel.js +13 -13
- package/umd/Cascader.js +18 -18
- package/umd/Checkbox.js +18 -18
- package/umd/CheckboxGroup.js +18 -18
- package/umd/Collapse.js +17 -17
- package/umd/CollapseBox.js +1 -1
- package/umd/CollapseLayout.js +8 -8
- package/umd/ColorPicker.js +1 -1
- package/umd/ComboSelect.js +18 -18
- package/umd/Container.js +1 -1
- package/umd/CopyText.js +18 -18
- package/umd/CycleSelector.js +18 -18
- package/umd/DatePicker.js +18 -18
- package/umd/Descriptions.js +18 -18
- package/umd/Desktop.js +18 -18
- package/umd/DragVerify.js +8 -8
- package/umd/Drawer.js +18 -18
- package/umd/Dropdown.js +8 -8
- package/umd/DynamicMultiBox.js +21 -21
- package/umd/Empty.js +1 -1
- package/umd/Form.js +18 -18
- package/umd/FormItem.js +18 -18
- package/umd/FunctionModal.js +18 -18
- package/umd/GlobalContext.js +1 -1
- package/umd/Help.js +18 -18
- package/umd/HelperText.js +1 -1
- package/umd/InputLang.js +18 -18
- package/umd/InputNumber.js +18 -18
- package/umd/Label.js +18 -18
- package/umd/Loading.js +8 -8
- package/umd/Menu.js +30 -16
- package/umd/Message.js +8 -8
- package/umd/Modal.js +18 -18
- package/umd/MultiBox.js +18 -18
- package/umd/Notification.js +17 -17
- package/umd/OperateBtn.js +18 -18
- package/umd/PageHeader.js +18 -18
- package/umd/Pagination.js +18 -18
- package/umd/ParauiProvider.js +1 -1
- package/umd/PasswordRules.js +8 -8
- package/umd/PopConfirm.js +18 -18
- package/umd/Popover.js +18 -18
- package/umd/Progress.js +13 -13
- package/umd/Prompt.js +8 -8
- package/umd/Querying.js +1 -1
- package/umd/QuickReply.js +21 -21
- package/umd/Radio.js +18 -18
- package/umd/RadioGroup.js +18 -18
- package/umd/Search.js +18 -18
- package/umd/Select.js +18 -18
- package/umd/SelectInput.js +18 -18
- package/umd/Selector.js +18 -18
- package/umd/SelectorPicker.js +18 -18
- package/umd/SingleBox.js +18 -18
- package/umd/Slider.js +8 -8
- package/umd/Status.js +8 -8
- package/umd/Stepper.js +18 -18
- package/umd/Switch.js +18 -18
- package/umd/Table.js +18 -18
- package/umd/Tabs.js +18 -18
- package/umd/Tag.js +18 -18
- package/umd/TextEditor.js +31 -31
- package/umd/TextField.js +18 -18
- package/umd/TimePicker.js +18 -18
- package/umd/Timeline.js +1 -1
- package/umd/Title.js +18 -18
- package/umd/ToggleButton.js +18 -18
- package/umd/Tooltip.js +18 -18
- package/umd/Transfer.js +20 -20
- package/umd/Tree.js +18 -18
- package/umd/Upload.js +19 -19
- package/umd/Utils.js +1 -1
- package/umd/locale.js +1 -1
- package/_verture/defineProperty-1d116156.js +0 -34
- package/_verture/tslib.es6-55ed4bd2.js +0 -38
- /package/_verture/{index-d795d1f0.js → index-6cd67e49.js} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { _ as __rest } from './tslib.es6-
|
|
1
|
+
import { _ as __rest } from './tslib.es6-fe0d4b4e.js';
|
|
2
2
|
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
3
3
|
import { _ as _arrayLikeToArray, a as _unsupportedIterableToArray, b as _slicedToArray, c as _arrayWithHoles, d as _nonIterableRest } from './slicedToArray-8223a2ef.js';
|
|
4
|
-
import { _ as _defineProperty,
|
|
4
|
+
import { _ as _defineProperty, t as toPropertyKey } from './defineProperty-6f62bb2a.js';
|
|
5
5
|
import { _ as _typeof$1 } from './typeof-adeedc13.js';
|
|
6
6
|
import * as React$4 from 'react';
|
|
7
7
|
import React__default, { useState as useState$1, useMemo as useMemo$1, useCallback, useRef, useEffect } from 'react';
|
|
@@ -245,8 +245,19 @@ var preWarningFns = [];
|
|
|
245
245
|
var preMessage = function preMessage(fn) {
|
|
246
246
|
preWarningFns.push(fn);
|
|
247
247
|
};
|
|
248
|
+
|
|
249
|
+
/**
|
|
250
|
+
* Warning if condition not match.
|
|
251
|
+
* @param valid Condition
|
|
252
|
+
* @param message Warning message
|
|
253
|
+
* @example
|
|
254
|
+
* ```js
|
|
255
|
+
* warning(false, 'some error'); // print some error
|
|
256
|
+
* warning(true, 'some error'); // print nothing
|
|
257
|
+
* warning(1 === 2, 'some error'); // print some error
|
|
258
|
+
* ```
|
|
259
|
+
*/
|
|
248
260
|
function warning(valid, message) {
|
|
249
|
-
// Support uglify
|
|
250
261
|
if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {
|
|
251
262
|
var finalMessage = preWarningFns.reduce(function (msg, preMessageFn) {
|
|
252
263
|
return preMessageFn(msg !== null && msg !== void 0 ? msg : '', 'warning');
|
|
@@ -256,8 +267,9 @@ function warning(valid, message) {
|
|
|
256
267
|
}
|
|
257
268
|
}
|
|
258
269
|
}
|
|
270
|
+
|
|
271
|
+
/** @see Similar to {@link warning} */
|
|
259
272
|
function note(valid, message) {
|
|
260
|
-
// Support uglify
|
|
261
273
|
if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {
|
|
262
274
|
var finalMessage = preWarningFns.reduce(function (msg, preMessageFn) {
|
|
263
275
|
return preMessageFn(msg !== null && msg !== void 0 ? msg : '', 'note');
|
|
@@ -276,16 +288,19 @@ function call(method, valid, message) {
|
|
|
276
288
|
warned[message] = true;
|
|
277
289
|
}
|
|
278
290
|
}
|
|
291
|
+
|
|
292
|
+
/** @see Same as {@link warning}, but only warn once for the same message */
|
|
279
293
|
function warningOnce(valid, message) {
|
|
280
294
|
call(warning, valid, message);
|
|
281
295
|
}
|
|
296
|
+
|
|
297
|
+
/** @see Same as {@link warning}, but only warn once for the same message */
|
|
282
298
|
function noteOnce(valid, message) {
|
|
283
299
|
call(note, valid, message);
|
|
284
300
|
}
|
|
285
301
|
warningOnce.preMessage = preMessage;
|
|
286
302
|
warningOnce.resetWarned = resetWarned;
|
|
287
303
|
warningOnce.noteOnce = noteOnce;
|
|
288
|
-
/* eslint-enable */
|
|
289
304
|
|
|
290
305
|
var classnames = {exports: {}};
|
|
291
306
|
|
|
@@ -302,39 +317,57 @@ var classnames = {exports: {}};
|
|
|
302
317
|
|
|
303
318
|
var hasOwn = {}.hasOwnProperty;
|
|
304
319
|
|
|
305
|
-
function classNames() {
|
|
306
|
-
var classes =
|
|
320
|
+
function classNames () {
|
|
321
|
+
var classes = '';
|
|
307
322
|
|
|
308
323
|
for (var i = 0; i < arguments.length; i++) {
|
|
309
324
|
var arg = arguments[i];
|
|
310
|
-
if (
|
|
311
|
-
|
|
312
|
-
var argType = typeof arg;
|
|
313
|
-
|
|
314
|
-
if (argType === 'string' || argType === 'number') {
|
|
315
|
-
classes.push(arg);
|
|
316
|
-
} else if (Array.isArray(arg)) {
|
|
317
|
-
if (arg.length) {
|
|
318
|
-
var inner = classNames.apply(null, arg);
|
|
319
|
-
if (inner) {
|
|
320
|
-
classes.push(inner);
|
|
321
|
-
}
|
|
322
|
-
}
|
|
323
|
-
} else if (argType === 'object') {
|
|
324
|
-
if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {
|
|
325
|
-
classes.push(arg.toString());
|
|
326
|
-
continue;
|
|
327
|
-
}
|
|
328
|
-
|
|
329
|
-
for (var key in arg) {
|
|
330
|
-
if (hasOwn.call(arg, key) && arg[key]) {
|
|
331
|
-
classes.push(key);
|
|
332
|
-
}
|
|
333
|
-
}
|
|
325
|
+
if (arg) {
|
|
326
|
+
classes = appendClass(classes, parseValue(arg));
|
|
334
327
|
}
|
|
335
328
|
}
|
|
336
329
|
|
|
337
|
-
return classes
|
|
330
|
+
return classes;
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
function parseValue (arg) {
|
|
334
|
+
if (typeof arg === 'string' || typeof arg === 'number') {
|
|
335
|
+
return arg;
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
if (typeof arg !== 'object') {
|
|
339
|
+
return '';
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
if (Array.isArray(arg)) {
|
|
343
|
+
return classNames.apply(null, arg);
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {
|
|
347
|
+
return arg.toString();
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
var classes = '';
|
|
351
|
+
|
|
352
|
+
for (var key in arg) {
|
|
353
|
+
if (hasOwn.call(arg, key) && arg[key]) {
|
|
354
|
+
classes = appendClass(classes, key);
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
return classes;
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
function appendClass (value, newClass) {
|
|
362
|
+
if (!newClass) {
|
|
363
|
+
return value;
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
if (value) {
|
|
367
|
+
return value + ' ' + newClass;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
return value + newClass;
|
|
338
371
|
}
|
|
339
372
|
|
|
340
373
|
if (module.exports) {
|
|
@@ -1212,12 +1245,12 @@ function supportRef(nodeOrComponent) {
|
|
|
1212
1245
|
var type = reactIs.exports.isMemo(nodeOrComponent) ? nodeOrComponent.type.type : nodeOrComponent.type;
|
|
1213
1246
|
|
|
1214
1247
|
// Function component node
|
|
1215
|
-
if (typeof type === 'function' && !((_type$prototype = type.prototype) !== null && _type$prototype !== void 0 && _type$prototype.render)) {
|
|
1248
|
+
if (typeof type === 'function' && !((_type$prototype = type.prototype) !== null && _type$prototype !== void 0 && _type$prototype.render) && type.$$typeof !== reactIs.exports.ForwardRef) {
|
|
1216
1249
|
return false;
|
|
1217
1250
|
}
|
|
1218
1251
|
|
|
1219
1252
|
// Class component
|
|
1220
|
-
if (typeof nodeOrComponent === 'function' && !((_nodeOrComponent$prot = nodeOrComponent.prototype) !== null && _nodeOrComponent$prot !== void 0 && _nodeOrComponent$prot.render)) {
|
|
1253
|
+
if (typeof nodeOrComponent === 'function' && !((_nodeOrComponent$prot = nodeOrComponent.prototype) !== null && _nodeOrComponent$prot !== void 0 && _nodeOrComponent$prot.render) && nodeOrComponent.$$typeof !== reactIs.exports.ForwardRef) {
|
|
1221
1254
|
return false;
|
|
1222
1255
|
}
|
|
1223
1256
|
return true;
|
|
@@ -2480,7 +2513,7 @@ function _defineProperties(target, props) {
|
|
|
2480
2513
|
descriptor.enumerable = descriptor.enumerable || false;
|
|
2481
2514
|
descriptor.configurable = true;
|
|
2482
2515
|
if ("value" in descriptor) descriptor.writable = true;
|
|
2483
|
-
Object.defineProperty(target,
|
|
2516
|
+
Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);
|
|
2484
2517
|
}
|
|
2485
2518
|
}
|
|
2486
2519
|
function _createClass(Constructor, protoProps, staticProps) {
|
|
@@ -2525,15 +2558,12 @@ function _getPrototypeOf(o) {
|
|
|
2525
2558
|
}
|
|
2526
2559
|
|
|
2527
2560
|
function _isNativeReflectConstruct() {
|
|
2528
|
-
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
|
|
2529
|
-
if (Reflect.construct.sham) return false;
|
|
2530
|
-
if (typeof Proxy === "function") return true;
|
|
2531
2561
|
try {
|
|
2532
|
-
Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
|
|
2533
|
-
|
|
2534
|
-
|
|
2535
|
-
return
|
|
2536
|
-
}
|
|
2562
|
+
var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
|
|
2563
|
+
} catch (t) {}
|
|
2564
|
+
return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {
|
|
2565
|
+
return !!t;
|
|
2566
|
+
})();
|
|
2537
2567
|
}
|
|
2538
2568
|
|
|
2539
2569
|
function _assertThisInitialized(self) {
|
|
@@ -3917,7 +3947,7 @@ function injectCSS(css) {
|
|
|
3917
3947
|
if (prepend) {
|
|
3918
3948
|
// If is queue `prepend`, it will prepend first style and then append rest style
|
|
3919
3949
|
if (isPrependQueue) {
|
|
3920
|
-
var existStyle = findStyles(container).filter(function (node) {
|
|
3950
|
+
var existStyle = (option.styles || findStyles(container)).filter(function (node) {
|
|
3921
3951
|
// Ignore style which not injected by rc-util with prepend
|
|
3922
3952
|
if (!['prepend', 'prependQueue'].includes(node.getAttribute(APPEND_ORDER))) {
|
|
3923
3953
|
return false;
|
|
@@ -3943,7 +3973,7 @@ function injectCSS(css) {
|
|
|
3943
3973
|
function findExistNode(key) {
|
|
3944
3974
|
var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
3945
3975
|
var container = getContainer(option);
|
|
3946
|
-
return findStyles(container).find(function (node) {
|
|
3976
|
+
return (option.styles || findStyles(container)).find(function (node) {
|
|
3947
3977
|
return node.getAttribute(getMark(option)) === key;
|
|
3948
3978
|
});
|
|
3949
3979
|
}
|
|
@@ -3971,8 +4001,12 @@ function syncRealContainer(container, option) {
|
|
|
3971
4001
|
}
|
|
3972
4002
|
}
|
|
3973
4003
|
function updateCSS(css, key) {
|
|
3974
|
-
var
|
|
3975
|
-
var container = getContainer(
|
|
4004
|
+
var originOption = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
4005
|
+
var container = getContainer(originOption);
|
|
4006
|
+
var styles = findStyles(container);
|
|
4007
|
+
var option = _objectSpread2(_objectSpread2({}, originOption), {}, {
|
|
4008
|
+
styles: styles
|
|
4009
|
+
});
|
|
3976
4010
|
|
|
3977
4011
|
// Sync real parent
|
|
3978
4012
|
syncRealContainer(container, option);
|
|
@@ -3994,43 +4028,60 @@ function updateCSS(css, key) {
|
|
|
3994
4028
|
}
|
|
3995
4029
|
|
|
3996
4030
|
/* eslint-disable no-param-reassign */
|
|
4031
|
+
function measureScrollbarSize(ele) {
|
|
4032
|
+
var randomId = "rc-scrollbar-measure-".concat(Math.random().toString(36).substring(7));
|
|
4033
|
+
var measureEle = document.createElement('div');
|
|
4034
|
+
measureEle.id = randomId;
|
|
4035
|
+
|
|
4036
|
+
// Create Style
|
|
4037
|
+
var measureStyle = measureEle.style;
|
|
4038
|
+
measureStyle.position = 'absolute';
|
|
4039
|
+
measureStyle.left = '0';
|
|
4040
|
+
measureStyle.top = '0';
|
|
4041
|
+
measureStyle.width = '100px';
|
|
4042
|
+
measureStyle.height = '100px';
|
|
4043
|
+
measureStyle.overflow = 'scroll';
|
|
4044
|
+
|
|
4045
|
+
// Clone Style if needed
|
|
4046
|
+
var fallbackWidth;
|
|
4047
|
+
var fallbackHeight;
|
|
4048
|
+
if (ele) {
|
|
4049
|
+
var targetStyle = getComputedStyle(ele);
|
|
4050
|
+
measureStyle.scrollbarColor = targetStyle.scrollbarColor;
|
|
4051
|
+
measureStyle.scrollbarWidth = targetStyle.scrollbarWidth;
|
|
4052
|
+
|
|
4053
|
+
// Set Webkit style
|
|
4054
|
+
var webkitScrollbarStyle = getComputedStyle(ele, '::-webkit-scrollbar');
|
|
4055
|
+
var width = parseInt(webkitScrollbarStyle.width, 10);
|
|
4056
|
+
var height = parseInt(webkitScrollbarStyle.height, 10);
|
|
4057
|
+
|
|
4058
|
+
// Try wrap to handle CSP case
|
|
4059
|
+
try {
|
|
4060
|
+
var widthStyle = width ? "width: ".concat(webkitScrollbarStyle.width, ";") : '';
|
|
4061
|
+
var heightStyle = height ? "height: ".concat(webkitScrollbarStyle.height, ";") : '';
|
|
4062
|
+
updateCSS("\n#".concat(randomId, "::-webkit-scrollbar {\n").concat(widthStyle, "\n").concat(heightStyle, "\n}"), randomId);
|
|
4063
|
+
} catch (e) {
|
|
4064
|
+
// Can't wrap, just log error
|
|
4065
|
+
console.error(e);
|
|
4066
|
+
|
|
4067
|
+
// Get from style directly
|
|
4068
|
+
fallbackWidth = width;
|
|
4069
|
+
fallbackHeight = height;
|
|
4070
|
+
}
|
|
4071
|
+
}
|
|
4072
|
+
document.body.appendChild(measureEle);
|
|
4073
|
+
|
|
4074
|
+
// Measure. Get fallback style if provided
|
|
4075
|
+
var scrollWidth = ele && fallbackWidth && !isNaN(fallbackWidth) ? fallbackWidth : measureEle.offsetWidth - measureEle.clientWidth;
|
|
4076
|
+
var scrollHeight = ele && fallbackHeight && !isNaN(fallbackHeight) ? fallbackHeight : measureEle.offsetHeight - measureEle.clientHeight;
|
|
3997
4077
|
|
|
3998
|
-
|
|
3999
|
-
|
|
4000
|
-
|
|
4001
|
-
|
|
4002
|
-
|
|
4003
|
-
|
|
4004
|
-
|
|
4005
|
-
inner.style.width = '100%';
|
|
4006
|
-
inner.style.height = '200px';
|
|
4007
|
-
var outer = document.createElement('div');
|
|
4008
|
-
var outerStyle = outer.style;
|
|
4009
|
-
outerStyle.position = 'absolute';
|
|
4010
|
-
outerStyle.top = '0';
|
|
4011
|
-
outerStyle.left = '0';
|
|
4012
|
-
outerStyle.pointerEvents = 'none';
|
|
4013
|
-
outerStyle.visibility = 'hidden';
|
|
4014
|
-
outerStyle.width = '200px';
|
|
4015
|
-
outerStyle.height = '150px';
|
|
4016
|
-
outerStyle.overflow = 'hidden';
|
|
4017
|
-
outer.appendChild(inner);
|
|
4018
|
-
document.body.appendChild(outer);
|
|
4019
|
-
var widthContained = inner.offsetWidth;
|
|
4020
|
-
outer.style.overflow = 'scroll';
|
|
4021
|
-
var widthScroll = inner.offsetWidth;
|
|
4022
|
-
if (widthContained === widthScroll) {
|
|
4023
|
-
widthScroll = outer.clientWidth;
|
|
4024
|
-
}
|
|
4025
|
-
document.body.removeChild(outer);
|
|
4026
|
-
cached = widthContained - widthScroll;
|
|
4027
|
-
}
|
|
4028
|
-
return cached;
|
|
4029
|
-
}
|
|
4030
|
-
function ensureSize(str) {
|
|
4031
|
-
var match = str.match(/^(.*)px$/);
|
|
4032
|
-
var value = Number(match === null || match === void 0 ? void 0 : match[1]);
|
|
4033
|
-
return Number.isNaN(value) ? getScrollBarSize() : value;
|
|
4078
|
+
// Clean up
|
|
4079
|
+
document.body.removeChild(measureEle);
|
|
4080
|
+
removeCSS(randomId);
|
|
4081
|
+
return {
|
|
4082
|
+
width: scrollWidth,
|
|
4083
|
+
height: scrollHeight
|
|
4084
|
+
};
|
|
4034
4085
|
}
|
|
4035
4086
|
function getTargetScrollBarSize(target) {
|
|
4036
4087
|
if (typeof document === 'undefined' || !target || !(target instanceof Element)) {
|
|
@@ -4039,13 +4090,7 @@ function getTargetScrollBarSize(target) {
|
|
|
4039
4090
|
height: 0
|
|
4040
4091
|
};
|
|
4041
4092
|
}
|
|
4042
|
-
|
|
4043
|
-
width = _getComputedStyle.width,
|
|
4044
|
-
height = _getComputedStyle.height;
|
|
4045
|
-
return {
|
|
4046
|
-
width: ensureSize(width),
|
|
4047
|
-
height: ensureSize(height)
|
|
4048
|
-
};
|
|
4093
|
+
return measureScrollbarSize(target);
|
|
4049
4094
|
}
|
|
4050
4095
|
|
|
4051
4096
|
/**
|
|
@@ -5369,7 +5414,9 @@ var _excluded$6 = ["prefixCls", "children", "action", "showAction", "hideAction"
|
|
|
5369
5414
|
// Removed Props List
|
|
5370
5415
|
// Seems this can be auto
|
|
5371
5416
|
// getDocument?: (element?: HTMLElement) => Document;
|
|
5417
|
+
|
|
5372
5418
|
// New version will not wrap popup with `rc-trigger-popup-content` when multiple children
|
|
5419
|
+
|
|
5373
5420
|
function generateTrigger() {
|
|
5374
5421
|
var PortalComponent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Portal;
|
|
5375
5422
|
var Trigger = /*#__PURE__*/React$4.forwardRef(function (props, ref) {
|
|
@@ -5717,9 +5764,9 @@ function generateTrigger() {
|
|
|
5717
5764
|
wrapperAction('onPointerEnter', true, mouseEnterDelay, function (event) {
|
|
5718
5765
|
setMousePosByEvent(event);
|
|
5719
5766
|
});
|
|
5720
|
-
onPopupMouseEnter = function onPopupMouseEnter() {
|
|
5767
|
+
onPopupMouseEnter = function onPopupMouseEnter(event) {
|
|
5721
5768
|
// Only trigger re-open when popup is visible
|
|
5722
|
-
if (mergedOpen || inMotion) {
|
|
5769
|
+
if ((mergedOpen || inMotion) && popupEle !== null && popupEle !== void 0 && popupEle.contains(event.target)) {
|
|
5723
5770
|
triggerOpen(true, mouseEnterDelay);
|
|
5724
5771
|
}
|
|
5725
5772
|
};
|
|
@@ -6944,16 +6991,15 @@ var Filler = /*#__PURE__*/React$4.forwardRef(function (_ref, ref) {
|
|
|
6944
6991
|
flexDirection: 'column'
|
|
6945
6992
|
};
|
|
6946
6993
|
if (offsetY !== undefined) {
|
|
6947
|
-
var _objectSpread2$1;
|
|
6948
6994
|
// Not set `width` since this will break `sticky: right`
|
|
6949
6995
|
outerStyle = {
|
|
6950
6996
|
height: height,
|
|
6951
6997
|
position: 'relative',
|
|
6952
6998
|
overflow: 'hidden'
|
|
6953
6999
|
};
|
|
6954
|
-
innerStyle = _objectSpread2(_objectSpread2({}, innerStyle), {}, (
|
|
7000
|
+
innerStyle = _objectSpread2(_objectSpread2({}, innerStyle), {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({
|
|
6955
7001
|
transform: "translateY(".concat(offsetY, "px)")
|
|
6956
|
-
},
|
|
7002
|
+
}, rtl ? 'marginRight' : 'marginLeft', -offsetX), "position", 'absolute'), "left", 0), "right", 0), "top", 0));
|
|
6957
7003
|
}
|
|
6958
7004
|
return /*#__PURE__*/React$4.createElement("div", {
|
|
6959
7005
|
style: outerStyle
|
|
@@ -6977,7 +7023,6 @@ function getPageXY(e, horizontal) {
|
|
|
6977
7023
|
return obj[horizontal ? 'pageX' : 'pageY'];
|
|
6978
7024
|
}
|
|
6979
7025
|
var ScrollBar = /*#__PURE__*/React$4.forwardRef(function (props, ref) {
|
|
6980
|
-
var _classNames;
|
|
6981
7026
|
var prefixCls = props.prefixCls,
|
|
6982
7027
|
rtl = props.rtl,
|
|
6983
7028
|
scrollOffset = props.scrollOffset,
|
|
@@ -7003,9 +7048,11 @@ var ScrollBar = /*#__PURE__*/React$4.forwardRef(function (props, ref) {
|
|
|
7003
7048
|
startTop = _React$useState6[0],
|
|
7004
7049
|
setStartTop = _React$useState6[1];
|
|
7005
7050
|
var isLTR = !rtl;
|
|
7051
|
+
|
|
7006
7052
|
// ========================= Refs =========================
|
|
7007
7053
|
var scrollbarRef = React$4.useRef();
|
|
7008
7054
|
var thumbRef = React$4.useRef();
|
|
7055
|
+
|
|
7009
7056
|
// ======================= Visible ========================
|
|
7010
7057
|
var _React$useState7 = React$4.useState(false),
|
|
7011
7058
|
_React$useState8 = _slicedToArray(_React$useState7, 2),
|
|
@@ -7019,11 +7066,11 @@ var ScrollBar = /*#__PURE__*/React$4.forwardRef(function (props, ref) {
|
|
|
7019
7066
|
setVisible(false);
|
|
7020
7067
|
}, 3000);
|
|
7021
7068
|
};
|
|
7069
|
+
|
|
7022
7070
|
// ======================== Range =========================
|
|
7023
7071
|
var enableScrollRange = scrollRange - containerSize || 0;
|
|
7024
7072
|
var enableOffsetRange = containerSize - spinSize || 0;
|
|
7025
|
-
|
|
7026
|
-
var canScroll = enableScrollRange > 0;
|
|
7073
|
+
|
|
7027
7074
|
// ========================= Top ==========================
|
|
7028
7075
|
var top = React$4.useMemo(function () {
|
|
7029
7076
|
if (scrollOffset === 0 || enableScrollRange === 0) {
|
|
@@ -7032,11 +7079,13 @@ var ScrollBar = /*#__PURE__*/React$4.forwardRef(function (props, ref) {
|
|
|
7032
7079
|
var ptg = scrollOffset / enableScrollRange;
|
|
7033
7080
|
return ptg * enableOffsetRange;
|
|
7034
7081
|
}, [scrollOffset, enableScrollRange, enableOffsetRange]);
|
|
7082
|
+
|
|
7035
7083
|
// ====================== Container =======================
|
|
7036
7084
|
var onContainerMouseDown = function onContainerMouseDown(e) {
|
|
7037
7085
|
e.stopPropagation();
|
|
7038
7086
|
e.preventDefault();
|
|
7039
7087
|
};
|
|
7088
|
+
|
|
7040
7089
|
// ======================== Thumb =========================
|
|
7041
7090
|
var stateRef = React$4.useRef({
|
|
7042
7091
|
top: top,
|
|
@@ -7058,7 +7107,9 @@ var ScrollBar = /*#__PURE__*/React$4.forwardRef(function (props, ref) {
|
|
|
7058
7107
|
e.stopPropagation();
|
|
7059
7108
|
e.preventDefault();
|
|
7060
7109
|
};
|
|
7110
|
+
|
|
7061
7111
|
// ======================== Effect ========================
|
|
7112
|
+
|
|
7062
7113
|
// React make event as passive, but we need to preventDefault
|
|
7063
7114
|
// Add event on dom directly instead.
|
|
7064
7115
|
// ref: https://github.com/facebook/react/issues/9809
|
|
@@ -7075,6 +7126,7 @@ var ScrollBar = /*#__PURE__*/React$4.forwardRef(function (props, ref) {
|
|
|
7075
7126
|
thumbEle.removeEventListener('touchstart', onThumbMouseDown);
|
|
7076
7127
|
};
|
|
7077
7128
|
}, []);
|
|
7129
|
+
|
|
7078
7130
|
// Pass to effect
|
|
7079
7131
|
var enableScrollRangeRef = React$4.useRef();
|
|
7080
7132
|
enableScrollRangeRef.current = enableScrollRange;
|
|
@@ -7128,17 +7180,19 @@ var ScrollBar = /*#__PURE__*/React$4.forwardRef(function (props, ref) {
|
|
|
7128
7180
|
React$4.useEffect(function () {
|
|
7129
7181
|
delayHidden();
|
|
7130
7182
|
}, [scrollOffset]);
|
|
7183
|
+
|
|
7131
7184
|
// ====================== Imperative ======================
|
|
7132
7185
|
React$4.useImperativeHandle(ref, function () {
|
|
7133
7186
|
return {
|
|
7134
7187
|
delayHidden: delayHidden
|
|
7135
7188
|
};
|
|
7136
7189
|
});
|
|
7190
|
+
|
|
7137
7191
|
// ======================== Render ========================
|
|
7138
7192
|
var scrollbarPrefixCls = "".concat(prefixCls, "-scrollbar");
|
|
7139
7193
|
var containerStyle = {
|
|
7140
7194
|
position: 'absolute',
|
|
7141
|
-
visibility: visible
|
|
7195
|
+
visibility: visible ? null : 'hidden'
|
|
7142
7196
|
};
|
|
7143
7197
|
var thumbStyle = {
|
|
7144
7198
|
position: 'absolute',
|
|
@@ -7153,6 +7207,7 @@ var ScrollBar = /*#__PURE__*/React$4.forwardRef(function (props, ref) {
|
|
|
7153
7207
|
containerStyle.left = 0;
|
|
7154
7208
|
containerStyle.right = 0;
|
|
7155
7209
|
containerStyle.bottom = 0;
|
|
7210
|
+
|
|
7156
7211
|
// Thumb
|
|
7157
7212
|
thumbStyle.height = '100%';
|
|
7158
7213
|
thumbStyle.width = spinSize;
|
|
@@ -7171,6 +7226,7 @@ var ScrollBar = /*#__PURE__*/React$4.forwardRef(function (props, ref) {
|
|
|
7171
7226
|
} else {
|
|
7172
7227
|
containerStyle.left = 0;
|
|
7173
7228
|
}
|
|
7229
|
+
|
|
7174
7230
|
// Thumb
|
|
7175
7231
|
thumbStyle.width = '100%';
|
|
7176
7232
|
thumbStyle.height = spinSize;
|
|
@@ -7178,7 +7234,7 @@ var ScrollBar = /*#__PURE__*/React$4.forwardRef(function (props, ref) {
|
|
|
7178
7234
|
}
|
|
7179
7235
|
return /*#__PURE__*/React$4.createElement("div", {
|
|
7180
7236
|
ref: scrollbarRef,
|
|
7181
|
-
className: classNames(scrollbarPrefixCls, (
|
|
7237
|
+
className: classNames(scrollbarPrefixCls, _defineProperty(_defineProperty(_defineProperty({}, "".concat(scrollbarPrefixCls, "-horizontal"), horizontal), "".concat(scrollbarPrefixCls, "-vertical"), !horizontal), "".concat(scrollbarPrefixCls, "-visible"), visible)),
|
|
7182
7238
|
style: _objectSpread2(_objectSpread2({}, containerStyle), style),
|
|
7183
7239
|
onMouseDown: onContainerMouseDown,
|
|
7184
7240
|
onMouseMove: delayHidden
|
|
@@ -7227,10 +7283,10 @@ function useChildren(list, startIndex, endIndex, scrollWidth, setNodeRef, render
|
|
|
7227
7283
|
var CacheMap = /*#__PURE__*/function () {
|
|
7228
7284
|
function CacheMap() {
|
|
7229
7285
|
_classCallCheck(this, CacheMap);
|
|
7230
|
-
this
|
|
7286
|
+
_defineProperty(this, "maps", void 0);
|
|
7231
7287
|
// Used for cache key
|
|
7232
7288
|
// `useMemo` no need to update if `id` not change
|
|
7233
|
-
this
|
|
7289
|
+
_defineProperty(this, "id", 0);
|
|
7234
7290
|
this.maps = Object.create(null);
|
|
7235
7291
|
}
|
|
7236
7292
|
_createClass(CacheMap, [{
|
|
@@ -7272,6 +7328,7 @@ function useHeights(getKey, onItemAdd, onItemRemove) {
|
|
|
7272
7328
|
}
|
|
7273
7329
|
}
|
|
7274
7330
|
});
|
|
7331
|
+
|
|
7275
7332
|
// Always trigger update mark to tell parent that should re-calculate heights when resized
|
|
7276
7333
|
setUpdatedMark(function (c) {
|
|
7277
7334
|
return c + 1;
|
|
@@ -7292,12 +7349,13 @@ function useHeights(getKey, onItemAdd, onItemRemove) {
|
|
|
7292
7349
|
} else {
|
|
7293
7350
|
instanceRef.current.delete(key);
|
|
7294
7351
|
}
|
|
7352
|
+
|
|
7295
7353
|
// Instance changed
|
|
7296
7354
|
if (!origin !== !instance) {
|
|
7297
7355
|
if (instance) {
|
|
7298
|
-
onItemAdd === null || onItemAdd === void 0
|
|
7356
|
+
onItemAdd === null || onItemAdd === void 0 || onItemAdd(item);
|
|
7299
7357
|
} else {
|
|
7300
|
-
onItemRemove === null || onItemRemove === void 0
|
|
7358
|
+
onItemRemove === null || onItemRemove === void 0 || onItemRemove(item);
|
|
7301
7359
|
}
|
|
7302
7360
|
}
|
|
7303
7361
|
}
|
|
@@ -7314,6 +7372,7 @@ function useScrollTo(containerRef, data, heights, itemHeight, getKey, collectHei
|
|
|
7314
7372
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
7315
7373
|
syncState = _React$useState2[0],
|
|
7316
7374
|
setSyncState = _React$useState2[1];
|
|
7375
|
+
|
|
7317
7376
|
// ========================== Sync Scroll ==========================
|
|
7318
7377
|
useLayoutEffect$3(function () {
|
|
7319
7378
|
if (syncState && syncState.times < MAX_TIMES) {
|
|
@@ -7333,9 +7392,11 @@ function useScrollTo(containerRef, data, heights, itemHeight, getKey, collectHei
|
|
|
7333
7392
|
var needCollectHeight = false;
|
|
7334
7393
|
var newTargetAlign = targetAlign;
|
|
7335
7394
|
var targetTop = null;
|
|
7395
|
+
|
|
7336
7396
|
// Go to next frame if height not exist
|
|
7337
7397
|
if (height) {
|
|
7338
7398
|
var mergedAlign = targetAlign || originAlign;
|
|
7399
|
+
|
|
7339
7400
|
// Get top & bottom
|
|
7340
7401
|
var stackTop = 0;
|
|
7341
7402
|
var itemTop = 0;
|
|
@@ -7348,6 +7409,7 @@ function useScrollTo(containerRef, data, heights, itemHeight, getKey, collectHei
|
|
|
7348
7409
|
itemBottom = itemTop + (cacheHeight === undefined ? itemHeight : cacheHeight);
|
|
7349
7410
|
stackTop = itemBottom;
|
|
7350
7411
|
}
|
|
7412
|
+
|
|
7351
7413
|
// Check if need sync height (visible range has item not record height)
|
|
7352
7414
|
var leftHeight = mergedAlign === 'top' ? offset : height - offset;
|
|
7353
7415
|
for (var _i = maxLen; _i >= 0; _i -= 1) {
|
|
@@ -7362,6 +7424,7 @@ function useScrollTo(containerRef, data, heights, itemHeight, getKey, collectHei
|
|
|
7362
7424
|
break;
|
|
7363
7425
|
}
|
|
7364
7426
|
}
|
|
7427
|
+
|
|
7365
7428
|
// Scroll to
|
|
7366
7429
|
switch (mergedAlign) {
|
|
7367
7430
|
case 'top':
|
|
@@ -7384,11 +7447,13 @@ function useScrollTo(containerRef, data, heights, itemHeight, getKey, collectHei
|
|
|
7384
7447
|
if (targetTop !== null) {
|
|
7385
7448
|
syncScrollTop(targetTop);
|
|
7386
7449
|
}
|
|
7450
|
+
|
|
7387
7451
|
// One more time for sync
|
|
7388
7452
|
if (targetTop !== syncState.lastTop) {
|
|
7389
7453
|
needCollectHeight = true;
|
|
7390
7454
|
}
|
|
7391
7455
|
}
|
|
7456
|
+
|
|
7392
7457
|
// Trigger next effect
|
|
7393
7458
|
if (needCollectHeight) {
|
|
7394
7459
|
setSyncState(_objectSpread2(_objectSpread2({}, syncState), {}, {
|
|
@@ -7401,6 +7466,7 @@ function useScrollTo(containerRef, data, heights, itemHeight, getKey, collectHei
|
|
|
7401
7466
|
warningOnce(false, 'Seems `scrollTo` with `rc-virtual-list` reach the max limitation. Please fire issue for us. Thanks.');
|
|
7402
7467
|
}
|
|
7403
7468
|
}, [syncState, containerRef.current]);
|
|
7469
|
+
|
|
7404
7470
|
// =========================== Scroll To ===========================
|
|
7405
7471
|
return function (arg) {
|
|
7406
7472
|
// When not argument provided, we think dev may want to show the scrollbar
|
|
@@ -7408,6 +7474,7 @@ function useScrollTo(containerRef, data, heights, itemHeight, getKey, collectHei
|
|
|
7408
7474
|
triggerFlash();
|
|
7409
7475
|
return;
|
|
7410
7476
|
}
|
|
7477
|
+
|
|
7411
7478
|
// Normal scroll logic
|
|
7412
7479
|
wrapperRaf.cancel(scrollRef.current);
|
|
7413
7480
|
if (typeof arg === 'number') {
|
|
@@ -7447,6 +7514,7 @@ function useScrollTo(containerRef, data, heights, itemHeight, getKey, collectHei
|
|
|
7447
7514
|
* [5]: 9
|
|
7448
7515
|
* [6]: 3
|
|
7449
7516
|
*/
|
|
7517
|
+
|
|
7450
7518
|
/**
|
|
7451
7519
|
* We assume that 2 list has only 1 item diff and others keeping the order.
|
|
7452
7520
|
* So we can use dichotomy algorithm to find changed one.
|
|
@@ -7475,6 +7543,7 @@ function findListDiffIndex(originList, targetList, getKey) {
|
|
|
7475
7543
|
}
|
|
7476
7544
|
return notExistKey;
|
|
7477
7545
|
}
|
|
7546
|
+
|
|
7478
7547
|
// Loop to find diff one
|
|
7479
7548
|
var diffIndex = null;
|
|
7480
7549
|
var multiple = Math.abs(originLen - targetLen) !== 1;
|
|
@@ -7505,7 +7574,7 @@ function useDiffItem(data, getKey, onDiff) {
|
|
|
7505
7574
|
React$4.useEffect(function () {
|
|
7506
7575
|
var diff = findListDiffIndex(prevData || [], data || [], getKey);
|
|
7507
7576
|
if ((diff === null || diff === void 0 ? void 0 : diff.index) !== undefined) {
|
|
7508
|
-
onDiff === null || onDiff === void 0
|
|
7577
|
+
onDiff === null || onDiff === void 0 || onDiff(diff.index);
|
|
7509
7578
|
setDiffItem(data[diff.index]);
|
|
7510
7579
|
}
|
|
7511
7580
|
setPrevData(data);
|
|
@@ -7526,6 +7595,7 @@ var useOriginScroll = (function (isScrollAtTop, isScrollAtBottom) {
|
|
|
7526
7595
|
lockRef.current = false;
|
|
7527
7596
|
}, 50);
|
|
7528
7597
|
}
|
|
7598
|
+
|
|
7529
7599
|
// Pass to ref since global add is in closure
|
|
7530
7600
|
var scrollPingRef = useRef({
|
|
7531
7601
|
top: isScrollAtTop,
|
|
@@ -7558,17 +7628,21 @@ function useFrameWheel(inVirtual, isScrollAtTop, isScrollAtBottom, horizontalScr
|
|
|
7558
7628
|
onWheelDelta) {
|
|
7559
7629
|
var offsetRef = useRef(0);
|
|
7560
7630
|
var nextFrameRef = useRef(null);
|
|
7631
|
+
|
|
7561
7632
|
// Firefox patch
|
|
7562
7633
|
var wheelValueRef = useRef(null);
|
|
7563
7634
|
var isMouseScrollRef = useRef(false);
|
|
7635
|
+
|
|
7564
7636
|
// Scroll status sync
|
|
7565
7637
|
var originScroll = useOriginScroll(isScrollAtTop, isScrollAtBottom);
|
|
7566
7638
|
function onWheelY(event, deltaY) {
|
|
7567
7639
|
wrapperRaf.cancel(nextFrameRef.current);
|
|
7568
7640
|
offsetRef.current += deltaY;
|
|
7569
7641
|
wheelValueRef.current = deltaY;
|
|
7642
|
+
|
|
7570
7643
|
// Do nothing when scroll at the edge, Skip check when is in scroll
|
|
7571
7644
|
if (originScroll(deltaY)) return;
|
|
7645
|
+
|
|
7572
7646
|
// Proxy of scroll events
|
|
7573
7647
|
if (!isFF) {
|
|
7574
7648
|
event.preventDefault();
|
|
@@ -7587,11 +7661,13 @@ onWheelDelta) {
|
|
|
7587
7661
|
event.preventDefault();
|
|
7588
7662
|
}
|
|
7589
7663
|
}
|
|
7664
|
+
|
|
7590
7665
|
// Check for which direction does wheel do. `sx` means `shift + wheel`
|
|
7591
7666
|
var wheelDirectionRef = useRef(null);
|
|
7592
7667
|
var wheelDirectionCleanRef = useRef(null);
|
|
7593
7668
|
function onWheel(event) {
|
|
7594
7669
|
if (!inVirtual) return;
|
|
7670
|
+
|
|
7595
7671
|
// Wait for 2 frame to clean direction
|
|
7596
7672
|
wrapperRaf.cancel(wheelDirectionCleanRef.current);
|
|
7597
7673
|
wheelDirectionCleanRef.current = wrapperRaf(function () {
|
|
@@ -7618,6 +7694,7 @@ onWheelDelta) {
|
|
|
7618
7694
|
onWheelX(event, mergedDeltaX);
|
|
7619
7695
|
}
|
|
7620
7696
|
}
|
|
7697
|
+
|
|
7621
7698
|
// A patch for firefox
|
|
7622
7699
|
function onFireFoxScroll(event) {
|
|
7623
7700
|
if (!inVirtual) return;
|
|
@@ -7631,23 +7708,26 @@ function useMobileTouchMove(inVirtual, listRef, callback) {
|
|
|
7631
7708
|
var touchedRef = useRef(false);
|
|
7632
7709
|
var touchYRef = useRef(0);
|
|
7633
7710
|
var elementRef = useRef(null);
|
|
7711
|
+
|
|
7634
7712
|
// Smooth scroll
|
|
7635
7713
|
var intervalRef = useRef(null);
|
|
7714
|
+
|
|
7636
7715
|
/* eslint-disable prefer-const */
|
|
7637
7716
|
var cleanUpEvents;
|
|
7638
7717
|
var onTouchMove = function onTouchMove(e) {
|
|
7639
7718
|
if (touchedRef.current) {
|
|
7640
7719
|
var currentY = Math.ceil(e.touches[0].pageY);
|
|
7641
|
-
var
|
|
7720
|
+
var _offsetY = touchYRef.current - currentY;
|
|
7642
7721
|
touchYRef.current = currentY;
|
|
7643
|
-
if (callback(
|
|
7722
|
+
if (callback(_offsetY)) {
|
|
7644
7723
|
e.preventDefault();
|
|
7645
7724
|
}
|
|
7725
|
+
|
|
7646
7726
|
// Smooth interval
|
|
7647
7727
|
clearInterval(intervalRef.current);
|
|
7648
7728
|
intervalRef.current = setInterval(function () {
|
|
7649
|
-
|
|
7650
|
-
if (!callback(
|
|
7729
|
+
_offsetY *= SMOOTH_PTG;
|
|
7730
|
+
if (!callback(_offsetY, true) || Math.abs(_offsetY) <= 0.1) {
|
|
7651
7731
|
clearInterval(intervalRef.current);
|
|
7652
7732
|
}
|
|
7653
7733
|
}, 16);
|
|
@@ -7679,7 +7759,7 @@ function useMobileTouchMove(inVirtual, listRef, callback) {
|
|
|
7679
7759
|
}
|
|
7680
7760
|
return function () {
|
|
7681
7761
|
var _listRef$current;
|
|
7682
|
-
(_listRef$current = listRef.current) === null || _listRef$current === void 0
|
|
7762
|
+
(_listRef$current = listRef.current) === null || _listRef$current === void 0 || _listRef$current.removeEventListener('touchstart', onTouchStart);
|
|
7683
7763
|
cleanUpEvents();
|
|
7684
7764
|
clearInterval(intervalRef.current);
|
|
7685
7765
|
};
|
|
@@ -7690,12 +7770,11 @@ var MIN_SIZE = 20;
|
|
|
7690
7770
|
function getSpinSize() {
|
|
7691
7771
|
var containerSize = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
7692
7772
|
var scrollRange = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
7693
|
-
var baseSize = containerSize / scrollRange *
|
|
7773
|
+
var baseSize = containerSize / scrollRange * containerSize;
|
|
7694
7774
|
if (isNaN(baseSize)) {
|
|
7695
7775
|
baseSize = 0;
|
|
7696
7776
|
}
|
|
7697
7777
|
baseSize = Math.max(baseSize, MIN_SIZE);
|
|
7698
|
-
baseSize = Math.min(baseSize, containerSize / 2);
|
|
7699
7778
|
return Math.floor(baseSize);
|
|
7700
7779
|
}
|
|
7701
7780
|
|
|
@@ -7715,6 +7794,7 @@ function useGetSize(mergedData, getKey, heights, itemHeight) {
|
|
|
7715
7794
|
// Get from cache first
|
|
7716
7795
|
var startIndex = key2Index.get(startKey);
|
|
7717
7796
|
var endIndex = key2Index.get(endKey);
|
|
7797
|
+
|
|
7718
7798
|
// Loop to fill the cache
|
|
7719
7799
|
if (startIndex === undefined || endIndex === undefined) {
|
|
7720
7800
|
var dataLen = mergedData.length;
|
|
@@ -7774,6 +7854,7 @@ function RawList(props, ref) {
|
|
|
7774
7854
|
extraRender = props.extraRender,
|
|
7775
7855
|
styles = props.styles,
|
|
7776
7856
|
restProps = _objectWithoutProperties(props, _excluded$2);
|
|
7857
|
+
|
|
7777
7858
|
// ================================= MISC =================================
|
|
7778
7859
|
var useVirtual = !!(virtual !== false && height && itemHeight);
|
|
7779
7860
|
var inVirtual = useVirtual && data && (itemHeight * data.length > height || !!scrollWidth);
|
|
@@ -7782,7 +7863,9 @@ function RawList(props, ref) {
|
|
|
7782
7863
|
var mergedData = data || EMPTY_DATA;
|
|
7783
7864
|
var componentRef = useRef();
|
|
7784
7865
|
var fillerInnerRef = useRef();
|
|
7866
|
+
|
|
7785
7867
|
// =============================== Item Key ===============================
|
|
7868
|
+
|
|
7786
7869
|
var _useState = useState$1(0),
|
|
7787
7870
|
_useState2 = _slicedToArray(_useState, 2),
|
|
7788
7871
|
offsetTop = _useState2[0],
|
|
@@ -7801,6 +7884,7 @@ function RawList(props, ref) {
|
|
|
7801
7884
|
var onScrollbarStopMove = function onScrollbarStopMove() {
|
|
7802
7885
|
setScrollMoving(false);
|
|
7803
7886
|
};
|
|
7887
|
+
|
|
7804
7888
|
// =============================== Item Key ===============================
|
|
7805
7889
|
var getKey = React$4.useCallback(function (item) {
|
|
7806
7890
|
if (typeof itemKey === 'function') {
|
|
@@ -7811,6 +7895,7 @@ function RawList(props, ref) {
|
|
|
7811
7895
|
var sharedConfig = {
|
|
7812
7896
|
getKey: getKey
|
|
7813
7897
|
};
|
|
7898
|
+
|
|
7814
7899
|
// ================================ Scroll ================================
|
|
7815
7900
|
function syncScrollTop(newTop) {
|
|
7816
7901
|
setOffsetTop(function (origin) {
|
|
@@ -7825,6 +7910,7 @@ function RawList(props, ref) {
|
|
|
7825
7910
|
return alignedTop;
|
|
7826
7911
|
});
|
|
7827
7912
|
}
|
|
7913
|
+
|
|
7828
7914
|
// ================================ Legacy ================================
|
|
7829
7915
|
// Put ref here since the range is generate by follow
|
|
7830
7916
|
var rangeRef = useRef({
|
|
@@ -7836,6 +7922,7 @@ function RawList(props, ref) {
|
|
|
7836
7922
|
_useDiffItem2 = _slicedToArray(_useDiffItem, 1),
|
|
7837
7923
|
diffItem = _useDiffItem2[0];
|
|
7838
7924
|
diffItemRef.current = diffItem;
|
|
7925
|
+
|
|
7839
7926
|
// ================================ Height ================================
|
|
7840
7927
|
var _useHeights = useHeights(getKey, null, null),
|
|
7841
7928
|
_useHeights2 = _slicedToArray(_useHeights, 4),
|
|
@@ -7843,6 +7930,7 @@ function RawList(props, ref) {
|
|
|
7843
7930
|
collectHeight = _useHeights2[1],
|
|
7844
7931
|
heights = _useHeights2[2],
|
|
7845
7932
|
heightUpdatedMark = _useHeights2[3];
|
|
7933
|
+
|
|
7846
7934
|
// ========================== Visible Calculation =========================
|
|
7847
7935
|
var _React$useMemo = React$4.useMemo(function () {
|
|
7848
7936
|
if (!useVirtual) {
|
|
@@ -7853,6 +7941,7 @@ function RawList(props, ref) {
|
|
|
7853
7941
|
offset: undefined
|
|
7854
7942
|
};
|
|
7855
7943
|
}
|
|
7944
|
+
|
|
7856
7945
|
// Always use virtual scroll bar in avoid shaking
|
|
7857
7946
|
if (!inVirtual) {
|
|
7858
7947
|
var _fillerInnerRef$curre;
|
|
@@ -7869,21 +7958,24 @@ function RawList(props, ref) {
|
|
|
7869
7958
|
var endIndex;
|
|
7870
7959
|
var dataLen = mergedData.length;
|
|
7871
7960
|
for (var i = 0; i < dataLen; i += 1) {
|
|
7872
|
-
var
|
|
7873
|
-
var key = getKey(
|
|
7961
|
+
var _item = mergedData[i];
|
|
7962
|
+
var key = getKey(_item);
|
|
7874
7963
|
var cacheHeight = heights.get(key);
|
|
7875
7964
|
var currentItemBottom = itemTop + (cacheHeight === undefined ? itemHeight : cacheHeight);
|
|
7965
|
+
|
|
7876
7966
|
// Check item top in the range
|
|
7877
7967
|
if (currentItemBottom >= offsetTop && startIndex === undefined) {
|
|
7878
7968
|
startIndex = i;
|
|
7879
7969
|
startOffset = itemTop;
|
|
7880
7970
|
}
|
|
7971
|
+
|
|
7881
7972
|
// Check item bottom in the range. We will render additional one item for motion usage
|
|
7882
7973
|
if (currentItemBottom > offsetTop + height && endIndex === undefined) {
|
|
7883
7974
|
endIndex = i;
|
|
7884
7975
|
}
|
|
7885
7976
|
itemTop = currentItemBottom;
|
|
7886
7977
|
}
|
|
7978
|
+
|
|
7887
7979
|
// When scrollTop at the end but data cut to small count will reach this
|
|
7888
7980
|
if (startIndex === undefined) {
|
|
7889
7981
|
startIndex = 0;
|
|
@@ -7893,6 +7985,7 @@ function RawList(props, ref) {
|
|
|
7893
7985
|
if (endIndex === undefined) {
|
|
7894
7986
|
endIndex = mergedData.length - 1;
|
|
7895
7987
|
}
|
|
7988
|
+
|
|
7896
7989
|
// Give cache to improve scroll experience
|
|
7897
7990
|
endIndex = Math.min(endIndex + 1, mergedData.length - 1);
|
|
7898
7991
|
return {
|
|
@@ -7908,6 +8001,7 @@ function RawList(props, ref) {
|
|
|
7908
8001
|
fillerOffset = _React$useMemo.offset;
|
|
7909
8002
|
rangeRef.current.start = start;
|
|
7910
8003
|
rangeRef.current.end = end;
|
|
8004
|
+
|
|
7911
8005
|
// ================================= Size =================================
|
|
7912
8006
|
var _React$useState = React$4.useState({
|
|
7913
8007
|
width: 0,
|
|
@@ -7922,6 +8016,7 @@ function RawList(props, ref) {
|
|
|
7922
8016
|
height: sizeInfo.height || sizeInfo.offsetHeight
|
|
7923
8017
|
});
|
|
7924
8018
|
};
|
|
8019
|
+
|
|
7925
8020
|
// Hack on scrollbar to enable flash call
|
|
7926
8021
|
var verticalScrollBarRef = useRef();
|
|
7927
8022
|
var horizontalScrollBarRef = useRef();
|
|
@@ -7931,6 +8026,7 @@ function RawList(props, ref) {
|
|
|
7931
8026
|
var verticalScrollBarSpinSize = React$4.useMemo(function () {
|
|
7932
8027
|
return getSpinSize(size.height, scrollHeight);
|
|
7933
8028
|
}, [size.height, scrollHeight]);
|
|
8029
|
+
|
|
7934
8030
|
// =============================== In Range ===============================
|
|
7935
8031
|
var maxScrollHeight = scrollHeight - height;
|
|
7936
8032
|
var maxScrollHeightRef = useRef(maxScrollHeight);
|
|
@@ -7946,6 +8042,7 @@ function RawList(props, ref) {
|
|
|
7946
8042
|
var isScrollAtTop = offsetTop <= 0;
|
|
7947
8043
|
var isScrollAtBottom = offsetTop >= maxScrollHeight;
|
|
7948
8044
|
var originScroll = useOriginScroll(isScrollAtTop, isScrollAtBottom);
|
|
8045
|
+
|
|
7949
8046
|
// ================================ Scroll ================================
|
|
7950
8047
|
var getVirtualScrollInfo = function getVirtualScrollInfo() {
|
|
7951
8048
|
return {
|
|
@@ -7957,6 +8054,7 @@ function RawList(props, ref) {
|
|
|
7957
8054
|
var triggerScroll = useEvent$2(function () {
|
|
7958
8055
|
if (onVirtualScroll) {
|
|
7959
8056
|
var nextInfo = getVirtualScrollInfo();
|
|
8057
|
+
|
|
7960
8058
|
// Trigger when offset changed
|
|
7961
8059
|
if (lastVirtualScrollInfoRef.current.x !== nextInfo.x || lastVirtualScrollInfoRef.current.y !== nextInfo.y) {
|
|
7962
8060
|
onVirtualScroll(nextInfo);
|
|
@@ -7975,14 +8073,16 @@ function RawList(props, ref) {
|
|
|
7975
8073
|
syncScrollTop(newOffset);
|
|
7976
8074
|
}
|
|
7977
8075
|
}
|
|
8076
|
+
|
|
7978
8077
|
// When data size reduce. It may trigger native scroll event back to fit scroll position
|
|
7979
8078
|
function onFallbackScroll(e) {
|
|
7980
8079
|
var newScrollTop = e.currentTarget.scrollTop;
|
|
7981
8080
|
if (newScrollTop !== offsetTop) {
|
|
7982
8081
|
syncScrollTop(newScrollTop);
|
|
7983
8082
|
}
|
|
8083
|
+
|
|
7984
8084
|
// Trigger origin onScroll
|
|
7985
|
-
onScroll === null || onScroll === void 0
|
|
8085
|
+
onScroll === null || onScroll === void 0 || onScroll(e);
|
|
7986
8086
|
triggerScroll();
|
|
7987
8087
|
}
|
|
7988
8088
|
var keepInHorizontalRange = function keepInHorizontalRange(nextOffsetLeft) {
|
|
@@ -7995,6 +8095,7 @@ function RawList(props, ref) {
|
|
|
7995
8095
|
var onWheelDelta = useEvent$2(function (offsetXY, fromHorizontal) {
|
|
7996
8096
|
if (fromHorizontal) {
|
|
7997
8097
|
// Horizontal scroll no need sync virtual position
|
|
8098
|
+
|
|
7998
8099
|
flushSync(function () {
|
|
7999
8100
|
setOffsetLeft(function (left) {
|
|
8000
8101
|
var nextOffsetLeft = left + (isRTL ? -offsetXY : offsetXY);
|
|
@@ -8009,11 +8110,13 @@ function RawList(props, ref) {
|
|
|
8009
8110
|
});
|
|
8010
8111
|
}
|
|
8011
8112
|
});
|
|
8113
|
+
|
|
8012
8114
|
// Since this added in global,should use ref to keep update
|
|
8013
8115
|
var _useFrameWheel = useFrameWheel(useVirtual, isScrollAtTop, isScrollAtBottom, !!scrollWidth, onWheelDelta),
|
|
8014
8116
|
_useFrameWheel2 = _slicedToArray(_useFrameWheel, 2),
|
|
8015
8117
|
onRawWheel = _useFrameWheel2[0],
|
|
8016
8118
|
onFireFoxScroll = _useFrameWheel2[1];
|
|
8119
|
+
|
|
8017
8120
|
// Mobile touch move
|
|
8018
8121
|
useMobileTouchMove(useVirtual, componentRef, function (deltaY, smoothOffset) {
|
|
8019
8122
|
if (originScroll(deltaY, smoothOffset)) {
|
|
@@ -8042,6 +8145,7 @@ function RawList(props, ref) {
|
|
|
8042
8145
|
componentEle.removeEventListener('MozMousePixelScroll', onMozMousePixelScroll);
|
|
8043
8146
|
};
|
|
8044
8147
|
}, [useVirtual]);
|
|
8148
|
+
|
|
8045
8149
|
// Sync scroll left
|
|
8046
8150
|
useLayoutEffect$3(function () {
|
|
8047
8151
|
if (scrollWidth) {
|
|
@@ -8050,11 +8154,12 @@ function RawList(props, ref) {
|
|
|
8050
8154
|
});
|
|
8051
8155
|
}
|
|
8052
8156
|
}, [size.width, scrollWidth]);
|
|
8157
|
+
|
|
8053
8158
|
// ================================= Ref ==================================
|
|
8054
8159
|
var delayHideScrollBar = function delayHideScrollBar() {
|
|
8055
8160
|
var _verticalScrollBarRef, _horizontalScrollBarR;
|
|
8056
|
-
(_verticalScrollBarRef = verticalScrollBarRef.current) === null || _verticalScrollBarRef === void 0
|
|
8057
|
-
(_horizontalScrollBarR = horizontalScrollBarRef.current) === null || _horizontalScrollBarR === void 0
|
|
8161
|
+
(_verticalScrollBarRef = verticalScrollBarRef.current) === null || _verticalScrollBarRef === void 0 || _verticalScrollBarRef.delayHidden();
|
|
8162
|
+
(_horizontalScrollBarR = horizontalScrollBarRef.current) === null || _horizontalScrollBarR === void 0 || _horizontalScrollBarR.delayHidden();
|
|
8058
8163
|
};
|
|
8059
8164
|
var _scrollTo = useScrollTo(componentRef, mergedData, heights, itemHeight, getKey, function () {
|
|
8060
8165
|
return collectHeight(true);
|
|
@@ -8071,6 +8176,7 @@ function RawList(props, ref) {
|
|
|
8071
8176
|
if (config.left !== undefined) {
|
|
8072
8177
|
setOffsetLeft(keepInHorizontalRange(config.left));
|
|
8073
8178
|
}
|
|
8179
|
+
|
|
8074
8180
|
// Scroll Y
|
|
8075
8181
|
_scrollTo(config.top);
|
|
8076
8182
|
} else {
|
|
@@ -8079,6 +8185,7 @@ function RawList(props, ref) {
|
|
|
8079
8185
|
}
|
|
8080
8186
|
};
|
|
8081
8187
|
});
|
|
8188
|
+
|
|
8082
8189
|
// ================================ Effect ================================
|
|
8083
8190
|
/** We need told outside that some list not rendered */
|
|
8084
8191
|
useLayoutEffect$3(function () {
|
|
@@ -8087,6 +8194,7 @@ function RawList(props, ref) {
|
|
|
8087
8194
|
onVisibleChange(renderList, mergedData);
|
|
8088
8195
|
}
|
|
8089
8196
|
}, [start, end, mergedData]);
|
|
8197
|
+
|
|
8090
8198
|
// ================================ Extra =================================
|
|
8091
8199
|
var getSize = useGetSize(mergedData, getKey, heights, itemHeight);
|
|
8092
8200
|
var extraContent = extraRender === null || extraRender === void 0 ? void 0 : extraRender({
|
|
@@ -8098,6 +8206,7 @@ function RawList(props, ref) {
|
|
|
8098
8206
|
rtl: isRTL,
|
|
8099
8207
|
getSize: getSize
|
|
8100
8208
|
});
|
|
8209
|
+
|
|
8101
8210
|
// ================================ Render ================================
|
|
8102
8211
|
var listChildren = useChildren(mergedData, start, end, scrollWidth, setInstanceRef, children, sharedConfig);
|
|
8103
8212
|
var componentStyle = null;
|
|
@@ -8154,7 +8263,7 @@ function RawList(props, ref) {
|
|
|
8154
8263
|
containerSize: size.height,
|
|
8155
8264
|
style: styles === null || styles === void 0 ? void 0 : styles.verticalScrollBar,
|
|
8156
8265
|
thumbStyle: styles === null || styles === void 0 ? void 0 : styles.verticalScrollBarThumb
|
|
8157
|
-
}), inVirtual && scrollWidth && /*#__PURE__*/React$4.createElement(ScrollBar, {
|
|
8266
|
+
}), inVirtual && scrollWidth > size.width && /*#__PURE__*/React$4.createElement(ScrollBar, {
|
|
8158
8267
|
ref: horizontalScrollBarRef,
|
|
8159
8268
|
prefixCls: prefixCls,
|
|
8160
8269
|
scrollOffset: offsetLeft,
|
|
@@ -9300,7 +9409,7 @@ var interopRequireWildcard = {exports: {}};
|
|
|
9300
9409
|
__proto__: null
|
|
9301
9410
|
},
|
|
9302
9411
|
a = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
9303
|
-
for (var u in e) if ("default" !== u &&
|
|
9412
|
+
for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
|
|
9304
9413
|
var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
|
|
9305
9414
|
i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
|
|
9306
9415
|
}
|