@itsdapi/taro36-virtual-list
Version:
taro36-virtual-list
907 lines (830 loc) • 55.3 kB
JavaScript
"use strict";
(wx["webpackJsonp"] = wx["webpackJsonp"] || []).push([["pages/virtual-list-demo/index"],{
/***/ "./node_modules/@tarojs/taro-loader/lib/entry-cache.js?name=pages/virtual-list-demo/index!./src/pages/virtual-list-demo/index.tsx":
/*!****************************************************************************************************************************************!*\
!*** ./node_modules/@tarojs/taro-loader/lib/entry-cache.js?name=pages/virtual-list-demo/index!./src/pages/virtual-list-demo/index.tsx ***!
\****************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": function() { return /* binding */ Demo; }
/* harmony export */ });
/* harmony import */ var _Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js */ "./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js");
/* harmony import */ var _Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js */ "./node_modules/@babel/runtime/helpers/esm/slicedToArray.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "webpack/container/remote/react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _tarojs_components__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @tarojs/components */ "./node_modules/@tarojs/plugin-platform-weapp/dist/components-react.js");
/* harmony import */ var _components_VirtualList__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../components/VirtualList */ "./src/components/VirtualList/index.tsx");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-runtime */ "webpack/container/remote/react/jsx-runtime");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__);
function Demo() {
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]),
_useState2 = (0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3__["default"])(_useState, 2),
list = _useState2[0],
setList = _useState2[1];
var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(1),
_useState4 = (0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3__["default"])(_useState3, 2),
pageNum = _useState4[0],
setPageNum = _useState4[1];
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
var arr = [];
Array(10).fill(0).forEach(function (item, index) {
arr.push({
index: index,
number: 0
});
});
setList(arr);
}, []);
// onReachBottom() {
// console.log('触底了----')
// // this.renderNext()
// this.setState({
// isBottom: true,
// })
// }
// getIsBottomStatus = (status) => {
// this.setState({
// isBottom: status,
// })
// }
var add = function add(index) {
var _list = (0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_4__["default"])(list);
_list[index]['index']++;
setList(_list);
};
var renderFunc = function renderFunc(item, index, pageIndex) {
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_5__.View, {
className: "el",
children: ["\u5F53\u524D\u662F\u7B2C".concat(item.index, "\u4E2A\u5143\u7D20\uFF0C\u662F\u7B2C").concat(pageIndex, "\u5C4F\u7684\u6570\u636E"), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_5__.Button, {
onClick: function onClick() {
return add(index);
},
children: "+"
})]
}, pageIndex + 10);
};
// const handleBottom = () => {
// console.log('触底了')
// }
var handleComplete = function handleComplete() {
console.log('加载完成');
};
// const handleGetScrollData = (e) => {
// console.log('scroll-data', e)
// }
var handleScrollToLower = function handleScrollToLower() {
var arr = [];
Array(10).fill(0).forEach(function (item, index) {
arr.push({
index: list.length + index,
number: 0
});
});
var _list = (0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_4__["default"])(list);
_list = _list.concat(arr);
setTimeout(function () {
setList(_list);
}, 1000);
setPageNum(pageNum + 1);
};
var handleRenderLoad = function handleRenderLoad() {
return '数据载入中...';
};
var handleRenderTop = function handleRenderTop() {
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_5__.View, {
children: "sjdlfjslf"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_5__.View, {
children: "sjdlfjslf"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_5__.View, {
children: "sjdlfjslf"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_5__.View, {
children: "sjdlfjslf"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_5__.View, {
children: "sjdlfjslf"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_5__.View, {
className: "sticky-box",
children: "\u6211\u662F\u5438\u9876\u5143\u7D20"
})]
});
};
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_5__.View, {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_components_VirtualList__WEBPACK_IMPORTED_MODULE_1__["default"], {
list: list,
pageNum: pageNum,
segmentNum: 10,
onRender: renderFunc,
onRenderTop: handleRenderTop
// onBottom={handleBottom}
,
onComplete: handleComplete
// onGetScrollData={handleGetScrollData}
,
listType: "multi",
onRenderLoad: handleRenderLoad,
scrollViewProps: {
style: {
"height": '100vh'
},
lowerThreshold: 30,
onScrollToLower: handleScrollToLower
}
})
});
}
/***/ }),
/***/ "./src/common/utils.ts":
/*!*****************************!*\
!*** ./src/common/utils.ts ***!
\*****************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "isH5": function() { return /* binding */ isH5; },
/* harmony export */ "throttle": function() { return /* binding */ throttle; }
/* harmony export */ });
/* harmony import */ var _tarojs_taro__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tarojs/taro */ "webpack/container/remote/@tarojs/taro");
/* harmony import */ var _tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_tarojs_taro__WEBPACK_IMPORTED_MODULE_0__);
var _this = undefined;
/**
* 是否是 H5 环境
* @type {boolean}
*/
var isH5 = (_tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default().ENV_TYPE.WEB) === _tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default().getEnv();
/**
* 截流函数
*
* @param {Function} fn 回调函数
* @param {number} delay 延迟毫秒数
* @param {number} mustRunDelay 延迟多少毫秒,强制执行一下
* @returns {Function} 截流函数
*/
// eslint-disable-next-line no-unused-vars
var throttle = function throttle(fn, delay, mustRunDelay) {
var timer;
var startTime;
return function () {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
var curTime = Date.now();
clearTimeout(timer);
if (!startTime) {
startTime = curTime;
}
if (curTime - startTime >= mustRunDelay) {
fn.apply(_this, args);
startTime = curTime;
} else {
timer = setTimeout(function () {
fn.apply(_this, args);
}, delay);
}
};
};
/***/ }),
/***/ "./src/components/VirtualList/index.tsx":
/*!**********************************************!*\
!*** ./src/components/VirtualList/index.tsx ***!
\**********************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": function() { return /* binding */ VirtialList; }
/* harmony export */ });
/* harmony import */ var _Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/objectSpread2.js */ "./node_modules/@babel/runtime/helpers/esm/objectSpread2.js");
/* harmony import */ var _Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js */ "./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js");
/* harmony import */ var _Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_classCallCheck_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js");
/* harmony import */ var _Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_createClass_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/createClass.js */ "./node_modules/@babel/runtime/helpers/esm/createClass.js");
/* harmony import */ var _Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_callSuper_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/callSuper.js */ "./node_modules/@babel/runtime/helpers/esm/callSuper.js");
/* harmony import */ var _Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js */ "./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js");
/* harmony import */ var _Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_inherits_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/inherits.js */ "./node_modules/@babel/runtime/helpers/esm/inherits.js");
/* harmony import */ var _Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/defineProperty.js */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "webpack/container/remote/react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _tarojs_taro__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tarojs/taro */ "webpack/container/remote/@tarojs/taro");
/* harmony import */ var _tarojs_taro__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_tarojs_taro__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _tarojs_components__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @tarojs/components */ "./node_modules/@tarojs/plugin-platform-weapp/dist/components-react.js");
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ "webpack/container/remote/prop-types");
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _common_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../common/utils */ "./src/common/utils.ts");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ "webpack/container/remote/react/jsx-runtime");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__);
/* provided dependency */ var document = __webpack_require__(/*! @tarojs/runtime */ "webpack/container/remote/@tarojs/runtime")["document"];
var VirtialList = /*#__PURE__*/function (_Component) {
(0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_inherits_js__WEBPACK_IMPORTED_MODULE_5__["default"])(VirtialList, _Component);
function VirtialList(props) {
var _this;
(0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_classCallCheck_js__WEBPACK_IMPORTED_MODULE_6__["default"])(this, VirtialList);
_this = (0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_callSuper_js__WEBPACK_IMPORTED_MODULE_7__["default"])(this, VirtialList, [props]);
(0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_8__["default"])((0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_9__["default"])(_this), "pageHeightArr", []);
// 用来装每一屏的高度
(0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_8__["default"])((0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_9__["default"])(_this), "initList", []);
// 承载初始化的二维数组
(0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_8__["default"])((0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_9__["default"])(_this), "windowHeight", 0);
// 当前屏幕的高度
(0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_8__["default"])((0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_9__["default"])(_this), "currentPage", _tarojs_taro__WEBPACK_IMPORTED_MODULE_1___default().getCurrentInstance());
(0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_8__["default"])((0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_9__["default"])(_this), "observer", void 0);
(0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_8__["default"])((0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_9__["default"])(_this), "getSystemInformation", function () {
try {
var res = (0,_tarojs_taro__WEBPACK_IMPORTED_MODULE_1__.getSystemInfoSync)();
_this.windowHeight = res.windowHeight;
} catch (err) {
console.error("\u83B7\u53D6\u7CFB\u7EDF\u4FE1\u606F\u5931\u8D25\uFF1A".concat(err));
}
});
/**
* 列表数据渲染完成
*/
(0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_8__["default"])((0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_9__["default"])(_this), "handleComplete", function () {
var onComplete = _this.props.onComplete;
_this.setState({
isComplete: true
}, function () {
onComplete === null || onComplete === void 0 || onComplete();
});
});
(0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_8__["default"])((0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_9__["default"])(_this), "renderNext", function () {
var _this$props = _this.props,
onBottom = _this$props.onBottom,
listType = _this$props.listType,
scrollViewProps = _this$props.scrollViewProps,
list = _this$props.list;
if (listType === "single") {
var _this$initList$page_i;
var page_index = _this.state.wholePageIndex + 1;
if (!((_this$initList$page_i = _this.initList[page_index]) !== null && _this$initList$page_i !== void 0 && _this$initList$page_i.length)) {
_this.handleComplete();
return;
}
onBottom === null || onBottom === void 0 || onBottom();
_this.setState({
wholePageIndex: page_index
}, function () {
var _this$state = _this.state,
wholePageIndex = _this$state.wholePageIndex,
twoList = _this$state.twoList;
twoList[wholePageIndex] = _this.initList[wholePageIndex];
_this.setState({
twoList: (0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_10__["default"])(twoList)
}, function () {
_tarojs_taro__WEBPACK_IMPORTED_MODULE_1___default().nextTick(function () {
_this.setHeight(list);
});
});
});
} else if (listType === "multi") {
var _scrollViewProps$onSc;
scrollViewProps === null || scrollViewProps === void 0 || (_scrollViewProps$onSc = scrollViewProps.onScrollToLower) === null || _scrollViewProps$onSc === void 0 || _scrollViewProps$onSc.call(scrollViewProps);
}
});
(0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_8__["default"])((0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_9__["default"])(_this), "webObserve", function () {
var listId = _this.props.listId;
var $targets = document.querySelectorAll("#".concat(listId, " .zt-main-list>taro-view-core"));
var options = {
root: document.querySelector("#".concat(listId)),
rootMargin: "500px 0px"
// threshold: [0.5],
};
_this.observer = new IntersectionObserver(_this.observerCallBack, options);
$targets.forEach(function ($item) {
var _this$observer;
(_this$observer = _this.observer) === null || _this$observer === void 0 || _this$observer.observe($item);
});
});
(0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_8__["default"])((0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_9__["default"])(_this), "observerCallBack", function (entries) {
var twoList = _this.state.twoList;
entries.forEach(function (item) {
var screenIndex = item.target['data-index'];
if (item.isIntersecting) {
// 如果有相交区域,则将对应的维度进行赋值
twoList[screenIndex] = _this.initList[screenIndex];
_this.setState({
twoList: (0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_10__["default"])(twoList)
});
} else {
// 当没有与当前视口有相交区域,则将改屏的数据置为该屏的高度占位
twoList[screenIndex] = {
height: _this.pageHeightArr[screenIndex]
};
_this.setState({
twoList: (0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_10__["default"])(twoList)
});
}
});
});
/**
* 监听可视区域
*/
(0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_8__["default"])((0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_9__["default"])(_this), "handleObserve", function () {
if (_common_utils__WEBPACK_IMPORTED_MODULE_3__.isH5) {
_this.webObserve();
} else {
_this.miniObserve();
}
});
/**
* 小程序平台监听
*/
(0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_8__["default"])((0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_9__["default"])(_this), "miniObserve", function () {
var _scrollViewProps$styl;
var wholePageIndex = _this.state.wholePageIndex;
var _this$props2 = _this.props,
scrollViewProps = _this$props2.scrollViewProps,
listId = _this$props2.listId,
screenNum = _this$props2.screenNum;
// 以传入的scrollView的高度为相交区域的参考边界,若没传,则默认使用屏幕高度
var scrollHeight = (scrollViewProps === null || scrollViewProps === void 0 || (_scrollViewProps$styl = scrollViewProps.style) === null || _scrollViewProps$styl === void 0 ? void 0 : _scrollViewProps$styl.height) || _this.windowHeight;
var observer = _tarojs_taro__WEBPACK_IMPORTED_MODULE_1___default().createIntersectionObserver(_this.currentPage.page).relativeToViewport({
top: screenNum * scrollHeight,
bottom: screenNum * scrollHeight
});
observer.observe("#".concat(listId, " .wrap_").concat(wholePageIndex), function (res) {
var _twoList$wholePageInd;
var twoList = _this.state.twoList;
if ((res === null || res === void 0 ? void 0 : res.intersectionRatio) <= 0) {
// 当没有与当前视口有相交区域,则将改屏的数据置为该屏的高度占位
twoList[wholePageIndex] = {
height: _this.pageHeightArr[wholePageIndex]
};
_this.setState({
twoList: (0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_10__["default"])(twoList)
});
} else if (!((_twoList$wholePageInd = twoList[wholePageIndex]) !== null && _twoList$wholePageInd !== void 0 && _twoList$wholePageInd.length)) {
// 如果有相交区域,则将对应的维度进行赋值
twoList[wholePageIndex] = _this.initList[wholePageIndex];
_this.setState({
twoList: (0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_10__["default"])(twoList)
});
}
});
});
(0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_8__["default"])((0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_9__["default"])(_this), "handleScroll", (0,_common_utils__WEBPACK_IMPORTED_MODULE_3__.throttle)(function (event) {
var _this$props$onGetScro, _this$props3, _this$props$scrollVie, _this$props$scrollVie2;
var listId = _this.props.listId;
(_this$props$onGetScro = (_this$props3 = _this.props).onGetScrollData) === null || _this$props$onGetScro === void 0 || _this$props$onGetScro.call(_this$props3, (0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_8__["default"])({}, "".concat(listId), event));
(_this$props$scrollVie = _this.props.scrollViewProps) === null || _this$props$scrollVie === void 0 || (_this$props$scrollVie2 = _this$props$scrollVie.onScroll) === null || _this$props$scrollVie2 === void 0 || _this$props$scrollVie2.call(_this$props$scrollVie, event);
}, 300, 300));
_this.state = {
wholePageIndex: 0,
// 每一屏为一个单位,屏幕索引
twoList: [],
// 二维数组
isComplete: false,
// 数据是否全部加载完成
innerScrollTop: 0 // 记录组件内部的滚动高度
};
return _this;
}
(0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_createClass_js__WEBPACK_IMPORTED_MODULE_11__["default"])(VirtialList, [{
key: "componentDidMount",
value: function componentDidMount() {
var _this$props4 = this.props,
list = _this$props4.list,
listType = _this$props4.listType;
this.getSystemInformation();
if (listType === "single") {
this.formatList(list);
} else if (listType === "multi") {
this.formatMultiList(list);
}
}
}, {
key: "UNSAFE_componentWillReceiveProps",
value: function UNSAFE_componentWillReceiveProps(nextProps) {
var _this2 = this,
_nextProps$list3;
var _this$props5 = this.props,
list = _this$props5.list,
listType = _this$props5.listType,
_this$props5$pageNum = _this$props5.pageNum,
oldPageNUm = _this$props5$pageNum === void 0 ? 1 : _this$props5$pageNum;
if (listType === "single") {
// 提前把innerScrollTop置为不是0,防止列表置顶失效
this.setState({
innerScrollTop: 1
});
if (JSON.stringify(nextProps.list) !== JSON.stringify(list)) {
this.pageHeightArr = [];
this.setState({
wholePageIndex: 0,
isComplete: false,
twoList: [],
innerScrollTop: 0
}, function () {
var _nextProps$list;
if ((_nextProps$list = nextProps.list) !== null && _nextProps$list !== void 0 && _nextProps$list.length) {
_this2.formatList(nextProps.list);
} else {
_this2.handleComplete();
}
});
}
} else if (listType === "multi") {
var _nextProps$pageNum = nextProps.pageNum,
pageNum = _nextProps$pageNum === void 0 ? 1 : _nextProps$pageNum;
if (JSON.stringify(nextProps.list) !== JSON.stringify(list)) {
if (pageNum < oldPageNUm && pageNum == 1) {
this.initList = [];
this.setState({
innerScrollTop: 1
});
this.setState({
wholePageIndex: 0,
isComplete: false,
twoList: []
}, function () {
var _nextProps$list2;
if ((_nextProps$list2 = nextProps.list) !== null && _nextProps$list2 !== void 0 && _nextProps$list2.length) {
_this2.formatMultiList(nextProps.list, pageNum);
} else {
_this2.handleComplete();
}
});
_tarojs_taro__WEBPACK_IMPORTED_MODULE_1___default().nextTick(function () {
_this2.setState({
innerScrollTop: 0
});
});
} else {
this.formatMultiList(nextProps.list, pageNum);
}
}
}
if (!((_nextProps$list3 = nextProps.list) !== null && _nextProps$list3 !== void 0 && _nextProps$list3.length)) {
// list为空
this.handleComplete();
}
}
}, {
key: "formatMultiList",
value:
/**
* 当list是通过服务端分页获取的时候,对list进行处理
* @param list 外部list
* @param pageNum 当前页码
*/
function formatMultiList() {
var _this3 = this;
var list = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
var pageNum = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
var twoList = this.state.twoList;
if (!(list !== null && list !== void 0 && list.length)) return;
this.segmentList(list);
twoList[pageNum - 1] = this.initList[pageNum - 1];
this.setState({
twoList: (0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_10__["default"])(twoList),
wholePageIndex: pageNum - 1
}, function () {
_tarojs_taro__WEBPACK_IMPORTED_MODULE_1___default().nextTick(function () {
_this3.setHeight(list);
});
});
}
/**
* 按规则分割list,存在私有变量initList,备用
*/
}, {
key: "segmentList",
value: function segmentList() {
var list = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
var segmentNum = this.props.segmentNum;
var arr = [];
var _list = [];
list.forEach(function (item, index) {
arr.push(item);
if ((index + 1) % segmentNum === 0) {
_list.push(arr);
arr = [];
}
});
// 将分段不足segmentNum的剩余数据装入_list
var restList = list.slice(_list.length * segmentNum);
if (restList !== null && restList !== void 0 && restList.length) {
_list.push(restList);
if (_list.length <= 1) {
// 如果数据量少,不足一个segmentNum,则触发完成回调
this.handleComplete();
}
}
this.initList = _list;
}
/**
* 将列表格式化为二维
* @param list 列表
*/
}, {
key: "formatList",
value: function formatList() {
var _this4 = this;
var list = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
this.segmentList(list);
this.setState({
twoList: this.initList.slice(0, 1)
}, function () {
_tarojs_taro__WEBPACK_IMPORTED_MODULE_1___default().nextTick(function () {
_this4.setHeight(list);
});
});
}
}, {
key: "setHeight",
value:
/**
* 设置每一个维度的数据渲染完成之后所占的高度
*/
function setHeight() {
var _this5 = this;
var list = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
var wholePageIndex = this.state.wholePageIndex;
var listId = this.props.listId;
var query = (0,_tarojs_taro__WEBPACK_IMPORTED_MODULE_1__.createSelectorQuery)();
query.select("#".concat(listId, " .wrap_").concat(wholePageIndex)).boundingClientRect();
query.exec(function (res) {
// 有数据的时候才去收集高度,不然页面初始化渲染(在H5中无数据)收集到的高度是错误的
if (list !== null && list !== void 0 && list.length) {
var _res$;
_this5.pageHeightArr.push(res === null || res === void 0 || (_res$ = res[0]) === null || _res$ === void 0 ? void 0 : _res$.height);
}
});
this.handleObserve();
}
}, {
key: "render",
value: function render() {
var _this$state2 = this.state,
twoList = _this$state2.twoList,
isComplete = _this$state2.isComplete,
innerScrollTop = _this$state2.innerScrollTop;
var _this$props6 = this.props,
segmentNum = _this$props6.segmentNum,
scrollViewProps = _this$props6.scrollViewProps,
onRenderTop = _this$props6.onRenderTop,
onRenderBottom = _this$props6.onRenderBottom,
onRender = _this$props6.onRender,
onRenderLoad = _this$props6.onRenderLoad,
listId = _this$props6.listId,
className = _this$props6.className,
autoScrollTop = _this$props6.autoScrollTop;
var scrollStyle = {
height: '100%'
};
var _scrollViewProps = (0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_12__["default"])((0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_12__["default"])({}, scrollViewProps), {}, {
scrollTop: autoScrollTop ? innerScrollTop === 0 ? 0 : "" : scrollViewProps === null || scrollViewProps === void 0 ? void 0 : scrollViewProps.scrollTop
});
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_13__.ScrollView, (0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_12__["default"])((0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_12__["default"])({
scrollY: true,
id: listId,
style: scrollStyle,
onScrollToLower: this.renderNext,
lowerThreshold: 250,
className: "zt-virtual-list-container ".concat(className)
}, _scrollViewProps), {}, {
onScroll: this.handleScroll,
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_13__.View, {
className: "zt-scroll-content",
children: [onRenderTop === null || onRenderTop === void 0 ? void 0 : onRenderTop(), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_13__.View, {
className: "zt-main-list",
children: twoList === null || twoList === void 0 ? void 0 : twoList.map(function (item, pageIndex) {
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_13__.View, {
"data-index": pageIndex,
className: "zt-wrap-item wrap_".concat(pageIndex),
children: (item === null || item === void 0 ? void 0 : item.length) > 0 ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_13__.Block, {
children: item.map(function (el, index) {
return onRender === null || onRender === void 0 ? void 0 : onRender(el, pageIndex * segmentNum + index, pageIndex);
})
}) : /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_13__.View, {
style: {
'height': "".concat(item === null || item === void 0 ? void 0 : item.height, "px")
}
})
}, pageIndex);
})
}), (onRenderLoad === null || onRenderLoad === void 0 ? void 0 : onRenderLoad()) && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_13__.View, {
className: "zt-loading-text",
children: onRenderLoad()
}), isComplete && (onRenderBottom === null || onRenderBottom === void 0 ? void 0 : onRenderBottom())]
})
}));
}
}]);
return VirtialList;
}(react__WEBPACK_IMPORTED_MODULE_0__.Component);
(0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_8__["default"])(VirtialList, "propTypes", void 0);
(0,_Users_itsdapi_Documents_Project_WebProjects_taro36_virtual_list_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_8__["default"])(VirtialList, "defaultProps", void 0);
VirtialList.defaultProps = {
list: [],
pageNum: 1,
listId: "zt-virtial-list",
listType: 'single',
segmentNum: 10,
screenNum: 2,
scrollViewProps: {},
className: "",
autoScrollTop: true,
onRender: function render() {
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_13__.View, {});
}
};
VirtialList.propTypes = {
list: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().array.isRequired),
listId: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().string),
listType: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().string),
segmentNum: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().number),
screenNum: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().number),
autoScrollTop: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().bool),
scrollViewProps: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().object),
onRender: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().func.isRequired),
onBottom: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().func),
onComplete: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().func),
onRenderTop: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().func),
onRenderBottom: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().func),
onGetScrollData: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().func)
};
/***/ }),
/***/ "./src/pages/virtual-list-demo/index.tsx":
/*!***********************************************!*\
!*** ./src/pages/virtual-list-demo/index.tsx ***!
\***********************************************/
/***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
/* harmony import */ var _tarojs_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tarojs/runtime */ "webpack/container/remote/@tarojs/runtime");
/* harmony import */ var _tarojs_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_tarojs_runtime__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _node_modules_tarojs_taro_loader_lib_entry_cache_js_name_pages_virtual_list_demo_index_index_tsx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../node_modules/@tarojs/taro-loader/lib/entry-cache.js?name=pages/virtual-list-demo/index!./index.tsx */ "./node_modules/@tarojs/taro-loader/lib/entry-cache.js?name=pages/virtual-list-demo/index!./src/pages/virtual-list-demo/index.tsx");
var config = {"navigationBarTitleText":"虚拟列表"};
var inst = Page((0,_tarojs_runtime__WEBPACK_IMPORTED_MODULE_0__.createPageConfig)(_node_modules_tarojs_taro_loader_lib_entry_cache_js_name_pages_virtual_list_demo_index_index_tsx__WEBPACK_IMPORTED_MODULE_1__["default"], 'pages/virtual-list-demo/index', {root:{cn:[]}}, config || {}))
/* unused harmony default export */ var __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_tarojs_taro_loader_lib_entry_cache_js_name_pages_virtual_list_demo_index_index_tsx__WEBPACK_IMPORTED_MODULE_1__["default"]);
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js":
/*!*********************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js ***!
\*********************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": function() { return /* binding */ _arrayLikeToArray; }
/* harmony export */ });
function _arrayLikeToArray(arr, len) {
if (len == null || len > arr.length) len = arr.length;
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
return arr2;
}
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js":
/*!*******************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js ***!
\*******************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": function() { return /* binding */ _arrayWithHoles; }
/* harmony export */ });
function _arrayWithHoles(arr) {
if (Array.isArray(arr)) return arr;
}
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js":
/*!**********************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js ***!
\**********************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": function() { return /* binding */ _arrayWithoutHoles; }
/* harmony export */ });
/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ "./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js");
function _arrayWithoutHoles(arr) {
if (Array.isArray(arr)) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(arr);
}
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js":
/*!*******************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/esm/defineProperty.js ***!
\*******************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": function() { return /* binding */ _defineProperty; }
/* harmony export */ });
/* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ "./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js");
function _defineProperty(obj, key, value) {
key = (0,_toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__["default"])(key);
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
return obj;
}
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/esm/iterableToArray.js":
/*!********************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js ***!
\********************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": function() { return /* binding */ _iterableToArray; }
/* harmony export */ });
function _iterableToArray(iter) {
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
}
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js":
/*!*************************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js ***!
\*************************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": function() { return /* binding */ _iterableToArrayLimit; }
/* harmony export */ });
function _iterableToArrayLimit(r, l) {
var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
if (null != t) {
var e,
n,
i,
u,
a = [],
f = !0,
o = !1;
try {
if (i = (t = t.call(r)).next, 0 === l) {
if (Object(t) !== t) return;
f = !1;
} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
} catch (r) {
o = !0, n = r;
} finally {
try {
if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
} finally {
if (o) throw n;
}
}
return a;
}
}
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js":
/*!********************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js ***!
\********************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": function() { return /* binding */ _nonIterableRest; }
/* harmony export */ });
function _nonIterableRest() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js":
/*!**********************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js ***!
\**********************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": function() { return /* binding */ _nonIterableSpread; }
/* harmony export */ });
function _nonIterableSpread() {
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/esm/objectSpread2.js":
/*!******************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/esm/objectSpread2.js ***!
\******************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": function() { return /* binding */ _objectSpread2; }
/* harmony export */ });
/* harmony import */ var _defineProperty_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./defineProperty.js */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js");
function ownKeys(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function (r) {
return Object.getOwnPropertyDescriptor(e, r).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread2(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {
(0,_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__["default"])(e, r, t[r]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
});
}
return e;
}
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/esm/slicedToArray.js":
/*!******************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js ***!
\******************************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": function() { return /* binding */ _slicedToArray; }
/* harmony export */ });
/* harmony import */ var _arrayWithHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithHoles.js */ "./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js");
/* harmony import */ var _iterableToArrayLimit_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./i