├── .browserslistrc ├── commitlint.config.js ├── public ├── favicon.ico └── index.html ├── babel.config.js ├── src ├── assets │ ├── github.png │ └── style.css ├── main.js ├── plugin-entry.js ├── App.vue └── components │ └── Scroll-Loader.vue ├── vue.config.js ├── .editorconfig ├── dist ├── demo.html └── scroll-loader.umd.min.js ├── .gitignore ├── .eslintrc.js ├── LICENSE ├── package.json ├── demo.html ├── README.zh-CN.md └── README.md /.browserslistrc: -------------------------------------------------------------------------------- 1 | > 1% 2 | last 2 versions 3 | -------------------------------------------------------------------------------- /commitlint.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { extends: ['@commitlint/config-conventional'] } 2 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/molvqingtai/vue-scroll-loader/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/cli-plugin-babel/preset' 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /src/assets/github.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/molvqingtai/vue-scroll-loader/HEAD/src/assets/github.png -------------------------------------------------------------------------------- /vue.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | productionSourceMap: false, 3 | css: { 4 | extract: false 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | [*.{js,jsx,ts,tsx,vue}] 2 | indent_style = space 3 | indent_size = 2 4 | trim_trailing_whitespace = true 5 | insert_final_newline = true 6 | -------------------------------------------------------------------------------- /dist/demo.html: -------------------------------------------------------------------------------- 1 | 2 | scroll-loader demo 3 | 4 | 5 | 6 | 9 | -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import App from './App.vue' 3 | import ScrollLoader from './plugin-entry' 4 | 5 | Vue.config.productionTip = false 6 | 7 | Vue.use(ScrollLoader) 8 | 9 | new Vue({ 10 | render: h => h(App) 11 | }).$mount('#app') 12 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /dist 4 | 5 | # local env files 6 | .env.local 7 | .env.*.local 8 | 9 | # Log files 10 | npm-debug.log* 11 | yarn-debug.log* 12 | yarn-error.log* 13 | 14 | # Editor directories and files 15 | .idea 16 | .vscode 17 | *.suo 18 | *.ntvs* 19 | *.njsproj 20 | *.sln 21 | *.sw? 22 | -------------------------------------------------------------------------------- /src/plugin-entry.js: -------------------------------------------------------------------------------- 1 | import ScrollLoader from './components/Scroll-Loader.vue' 2 | 3 | const ScrollLoaderPlugin = { 4 | install (Vue) { 5 | Vue.component(ScrollLoader.name, ScrollLoader) 6 | } 7 | } 8 | 9 | if (typeof window !== 'undefined' && window.Vue) { 10 | window.Vue.use(ScrollLoaderPlugin) 11 | } 12 | 13 | export default ScrollLoaderPlugin 14 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | env: { 4 | node: true 5 | }, 6 | 'extends': [ 7 | 'plugin:vue/essential', 8 | '@vue/standard' 9 | ], 10 | rules: { 11 | 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', 12 | 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off' 13 | }, 14 | parserOptions: { 15 | parser: 'babel-eslint' 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Scroll-Loader 9 | 10 | 11 | 14 | 15 |
16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 John Wu 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /src/assets/style.css: -------------------------------------------------------------------------------- 1 | * { 2 | margin: 0; 3 | padding: 0; 4 | box-sizing: border-box; 5 | } 6 | 7 | body { 8 | font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif; 9 | } 10 | 11 | .title-text { 12 | padding: 30px 0; 13 | text-align: center; 14 | color: #666666; 15 | } 16 | 17 | .images-container { 18 | width: 100vw; 19 | max-width: 1200px; 20 | padding-bottom: 30px; 21 | margin: 0 auto; 22 | display: flex; 23 | flex-wrap: wrap; 24 | } 25 | 26 | .images-item { 27 | width: 33.333%; 28 | padding: 1%; 29 | } 30 | 31 | .images-card { 32 | width: 100%; 33 | height: 0; 34 | padding-bottom: 70%; 35 | position: relative; 36 | } 37 | 38 | .images-card__image { 39 | position: absolute; 40 | top: 0; 41 | left: 0; 42 | width: 100%; 43 | height: 100%; 44 | object-fit: cover; 45 | vertical-align: middle; 46 | } 47 | .images-card__mask{ 48 | position: absolute; 49 | z-index: 9; 50 | top: 0; 51 | left: 0; 52 | right: 0; 53 | bottom: 0; 54 | opacity: .8; 55 | } 56 | .copyright-container__link { 57 | display: flex; 58 | padding: 30px 0; 59 | justify-content: center; 60 | align-items: center; 61 | color: #666666; 62 | text-decoration: none; 63 | } 64 | .copyright-container__icon{ 65 | width: 20px; 66 | margin-left: 10px; 67 | } 68 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vue-scroll-loader", 3 | "version": "2.2.0", 4 | "description": "A scroll loading component for vue.js.", 5 | "main": "dist/scroll-loader.umd.min.js", 6 | "scripts": { 7 | "serve": "vue-cli-service serve", 8 | "build": "vue-cli-service build --target lib --name scroll-loader ./src/plugin-entry.js", 9 | "lint": "vue-cli-service lint" 10 | }, 11 | "dependencies": { 12 | "axios": "^0.21.1", 13 | "core-js": "^3.6.4", 14 | "intersection-observer": "^0.7.0", 15 | "vue": "^2.6.11" 16 | }, 17 | "devDependencies": { 18 | "@commitlint/cli": "^8.3.5", 19 | "@commitlint/config-conventional": "^8.3.4", 20 | "@vue/cli-plugin-babel": "^4.2.3", 21 | "@vue/cli-plugin-eslint": "^4.2.3", 22 | "@vue/cli-service": "^4.2.3", 23 | "@vue/eslint-config-standard": "^4.0.0", 24 | "babel-eslint": "^10.1.0", 25 | "eslint": "^5.16.0", 26 | "eslint-plugin-vue": "^5.0.0", 27 | "lint-staged": "^9.4.3", 28 | "sass": "^1.26.3", 29 | "sass-loader": "^8.0.2", 30 | "vue-template-compiler": "^2.6.11" 31 | }, 32 | "gitHooks": { 33 | "pre-commit": "lint-staged", 34 | "commit-msg": "commitlint -e" 35 | }, 36 | "lint-staged": { 37 | "src/**/*.{js,vue}": [ 38 | "vue-cli-service lint", 39 | "git add" 40 | ] 41 | }, 42 | "repository": { 43 | "type": "git", 44 | "url": "git+https://github.com/molvqingtai/vue-scroll-loader.git" 45 | }, 46 | "keywords": [ 47 | "vue-scroll-loader", 48 | "vue-scroll", 49 | "vue-scroll-load", 50 | "vue-scroll-loading", 51 | "vue-infinte", 52 | "vue-infinte-scroll", 53 | "vue-infinte-loading", 54 | "scroll-load", 55 | "scroll-loading" 56 | ], 57 | "author": "molvqingtai", 58 | "license": "MIT", 59 | "bugs": { 60 | "url": "https://github.com/molvqingtai/vue-scroll-loader/issues" 61 | }, 62 | "homepage": "https://github.com/molvqingtai/vue-scroll-loader#readme" 63 | } 64 | -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 23 | 24 | 59 | 60 | 61 | 79 | -------------------------------------------------------------------------------- /src/components/Scroll-Loader.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 78 | 79 | 119 | -------------------------------------------------------------------------------- /demo.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Vue-Scroll-Loader 8 | 9 | 10 | 11 | 12 | 30 | 31 | 32 | 33 |
34 |

Vue-Scroll-Loader

35 |
36 |
37 |
38 | 39 |
40 |
41 |
42 |
43 | 49 | 50 | 51 | 52 | 53 | 54 |
55 | 56 | 57 | 91 | 92 | 93 | -------------------------------------------------------------------------------- /README.zh-CN.md: -------------------------------------------------------------------------------- 1 | # vue-scroll-loader 2 | 3 | ![](https://img.shields.io/github/license/molvqingtai/vue-scroll-loader.svg) ![](https://img.shields.io/github/size/molvqingtai/vue-scroll-loader/dist/scroll-loader.umd.min.js.svg) ![](https://img.shields.io/npm/dt/vue-scroll-loader.svg) ![](https://img.shields.io/npm/v/vue-scroll-loader.svg) 4 | 5 | [**English**](https://github.com/molvqingtai/vue-scroll-loader) 6 | 7 | 一个基于 vue.js 的滚动加载组件 8 | 9 | **[查看演示](https://molvqingtai.github.io/vue-scroll-loader/demo.html)** 10 | 11 | 12 | 13 | ## 浏览器 14 | 15 | 已使用 [IntersectionObserver polyfill ](https://github.com/w3c/IntersectionObserver/tree/master/polyfill) 兼容主流浏览器。 16 | 17 | | [![铬](https://camo.githubusercontent.com/1ac079682348cdd02c16d7ab11e2b48a522e52d8/68747470733a2f2f7261772e6769746875622e636f6d2f616c7272612f62726f777365722d6c6f676f732f33392e322e322f7372632f6368726f6d652f6368726f6d655f34387834382e706e67)](https://camo.githubusercontent.com/1ac079682348cdd02c16d7ab11e2b48a522e52d8/68747470733a2f2f7261772e6769746875622e636f6d2f616c7272612f62726f777365722d6c6f676f732f33392e322e322f7372632f6368726f6d652f6368726f6d655f34387834382e706e67) ✔ | [![火狐浏览器](https://camo.githubusercontent.com/a445499e52cc0b13318760f137df851f2b107a55/68747470733a2f2f7261772e6769746875622e636f6d2f616c7272612f62726f777365722d6c6f676f732f33392e322e322f7372632f66697265666f782f66697265666f785f34387834382e706e67)](https://camo.githubusercontent.com/a445499e52cc0b13318760f137df851f2b107a55/68747470733a2f2f7261772e6769746875622e636f6d2f616c7272612f62726f777365722d6c6f676f732f33392e322e322f7372632f66697265666f782f66697265666f785f34387834382e706e67) ✔ | [![苹果浏览器](https://camo.githubusercontent.com/038a385a39899c0ac57a6164a2610d0fed1c8a70/68747470733a2f2f7261772e6769746875622e636f6d2f616c7272612f62726f777365722d6c6f676f732f33392e322e322f7372632f7361666172692f7361666172695f34387834382e706e67)](https://camo.githubusercontent.com/038a385a39899c0ac57a6164a2610d0fed1c8a70/68747470733a2f2f7261772e6769746875622e636f6d2f616c7272612f62726f777365722d6c6f676f732f33392e322e322f7372632f7361666172692f7361666172695f34387834382e706e67) 6+ | [![边缘](https://camo.githubusercontent.com/e93b3054e8ac93799aa549bb486ff376c006767a/68747470733a2f2f7261772e6769746875622e636f6d2f616c7272612f62726f777365722d6c6f676f732f33392e322e322f7372632f656467652f656467655f34387834382e706e67)](https://camo.githubusercontent.com/e93b3054e8ac93799aa549bb486ff376c006767a/68747470733a2f2f7261772e6769746875622e636f6d2f616c7272612f62726f777365722d6c6f676f732f33392e322e322f7372632f656467652f656467655f34387834382e706e67) ✔ | [![IE浏览器](https://camo.githubusercontent.com/9b2ee574b554e82d350f0421a442e88a589d9c2c/68747470733a2f2f7261772e6769746875622e636f6d2f616c7272612f62726f777365722d6c6f676f732f33392e322e322f7372632f617263686976652f696e7465726e65742d6578706c6f7265725f372d382f696e7465726e65742d6578706c6f7265725f372d385f34387834382e706e67)](https://camo.githubusercontent.com/9b2ee574b554e82d350f0421a442e88a589d9c2c/68747470733a2f2f7261772e6769746875622e636f6d2f616c7272612f62726f777365722d6c6f676f732f33392e322e322f7372632f617263686976652f696e7465726e65742d6578706c6f7265725f372d382f696e7465726e65742d6578706c6f7265725f372d385f34387834382e706e67) 7+ | [![歌剧](https://camo.githubusercontent.com/1e48b149086724d80576a5944626192406190a85/68747470733a2f2f7261772e6769746875622e636f6d2f616c7272612f62726f777365722d6c6f676f732f33392e322e322f7372632f6f706572612f6f706572615f34387834382e706e67)](https://camo.githubusercontent.com/1e48b149086724d80576a5944626192406190a85/68747470733a2f2f7261772e6769746875622e636f6d2f616c7272612f62726f777365722d6c6f676f732f33392e322e322f7372632f6f706572612f6f706572615f34387834382e706e67) ✔ | [![安卓系统](https://camo.githubusercontent.com/fed51100e449dc997ee45fd2fcc401a144a31c4c/68747470733a2f2f7261772e6769746875622e636f6d2f616c7272612f62726f777365722d6c6f676f732f33392e322e322f7372632f616e64726f69642f616e64726f69645f34387834382e706e67)](https://camo.githubusercontent.com/fed51100e449dc997ee45fd2fcc401a144a31c4c/68747470733a2f2f7261772e6769746875622e636f6d2f616c7272612f62726f777365722d6c6f676f732f33392e322e322f7372632f616e64726f69642f616e64726f69645f34387834382e706e67) 4.4+ | 18 | | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | 19 | | | | | | | | | 20 | 21 | 22 | 23 | ## 安装 24 | 25 | **NPM** 26 | 27 | ```shell 28 | npm install vue-scroll-loader 29 | ``` 30 | 31 | **CDN** 32 | 33 | ```html 34 | 35 | ``` 36 | 37 | 38 | 39 | ## 使用 40 | 41 | 42 | 将 **``** 放在列表下面,并使用 **`loader-*`** props 定义选项。 43 | 44 | 当 **scroll-loader **到达视口的底部时,将执行 **loader-method** 指定的**方法**。 45 | 46 | ```html 47 | 48 | 49 | 50 | 51 | 52 |
Loading...
53 |
54 | ``` 55 | 56 | ```javascript 57 | import Vue from 'vue' 58 | import ScrollLoader from 'vue-scroll-loader' 59 | 60 | Vue.use(ScrollLoader) 61 | 62 | new Vue({ 63 | el: '#app', 64 | data() { 65 | return { 66 | disable: false, 67 | page: 1, 68 | pageSize: 30, 69 | images: [], 70 | } 71 | }, 72 | methods: { 73 | getImageList() { 74 | axios.get('https://api.example.com/', { 75 | params: { 76 | page: this.page++, 77 | pageSize: this.pageSize, 78 | } 79 | }) 80 | .then(res => { 81 | this.images = [...this.images, ...res.data] 82 | 83 | // 停止滚动加载... 84 | this.disable = res.data.length < this.pageSize 85 | }) 86 | .catch(error => { 87 | console.log(error); 88 | }) 89 | } 90 | } 91 | }) 92 | ``` 93 | 94 | 95 | 96 | ## 选项 97 | 98 | | Props | Description | **Required** | Type | Default | 99 | | --------------- | ------------------------------------------------------------ | ------------ | -------- | -------- | 100 | | loader-method | 滚动到视口底部,当 scroll-loader 可见会执行该方法 | true | Function | -- | 101 | | loader-disable | 如果此 props 的值为 true,则将禁用 scroll-loader | false | Boolean | false | 102 | | loader-distance | 执行 loader-method 方法之前,scroll-loader 与视口底部之间的最小距离 | false | Number | 0 | 103 | | loader-color | Scroll-loader 加载动画的颜色 | false | String | \#CCCCCC | 104 | | loader-size | Scroll-loader 加载动画的大小 | false | Number | 50 | 105 | | loader-viewport | Scroll-loader 相对的视口元素,默认顶级文档视口 | false | Element | viewport | 106 | 107 | 108 | 109 | 110 | ## 执照 111 | 112 | 该项目根据MIT许可证授权 - 有关详细信息,请参阅 [LICENSE](https://github.com/molvqingtai/vue-scroll-loader/blob/master/LICENSE) 文件 113 | 114 | 115 | 116 | ## 致谢 117 | 118 | 默认加载动画来自 [CSSFX](https://github.com/jolaleye/cssfx) 119 | 120 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # vue-scroll-loader 2 | 3 | ![](https://img.shields.io/github/license/molvqingtai/vue-scroll-loader.svg) ![](https://img.shields.io/github/size/molvqingtai/vue-scroll-loader/dist/scroll-loader.umd.min.js.svg) ![](https://img.shields.io/npm/dt/vue-scroll-loader.svg) ![](https://img.shields.io/npm/v/vue-scroll-loader.svg) 4 | 5 | **[简体中文](https://github.com/molvqingtai/vue-scroll-loader/blob/master/README.zh-CN.md)** 6 | 7 | A scroll loading component for vue.js. 8 | 9 | **[View demo](https://molvqingtai.github.io/vue-scroll-loader/demo.html)** 10 | 11 | 12 | 13 | ## Browsers 14 | 15 | Already use [IntersectionObserver polyfill ](https://github.com/w3c/IntersectionObserver/tree/master/polyfill) compatible with mainstream browsers. 16 | 17 | | [![铬](https://camo.githubusercontent.com/1ac079682348cdd02c16d7ab11e2b48a522e52d8/68747470733a2f2f7261772e6769746875622e636f6d2f616c7272612f62726f777365722d6c6f676f732f33392e322e322f7372632f6368726f6d652f6368726f6d655f34387834382e706e67)](https://camo.githubusercontent.com/1ac079682348cdd02c16d7ab11e2b48a522e52d8/68747470733a2f2f7261772e6769746875622e636f6d2f616c7272612f62726f777365722d6c6f676f732f33392e322e322f7372632f6368726f6d652f6368726f6d655f34387834382e706e67) ✔ | [![火狐浏览器](https://camo.githubusercontent.com/a445499e52cc0b13318760f137df851f2b107a55/68747470733a2f2f7261772e6769746875622e636f6d2f616c7272612f62726f777365722d6c6f676f732f33392e322e322f7372632f66697265666f782f66697265666f785f34387834382e706e67)](https://camo.githubusercontent.com/a445499e52cc0b13318760f137df851f2b107a55/68747470733a2f2f7261772e6769746875622e636f6d2f616c7272612f62726f777365722d6c6f676f732f33392e322e322f7372632f66697265666f782f66697265666f785f34387834382e706e67) ✔ | [![苹果浏览器](https://camo.githubusercontent.com/038a385a39899c0ac57a6164a2610d0fed1c8a70/68747470733a2f2f7261772e6769746875622e636f6d2f616c7272612f62726f777365722d6c6f676f732f33392e322e322f7372632f7361666172692f7361666172695f34387834382e706e67)](https://camo.githubusercontent.com/038a385a39899c0ac57a6164a2610d0fed1c8a70/68747470733a2f2f7261772e6769746875622e636f6d2f616c7272612f62726f777365722d6c6f676f732f33392e322e322f7372632f7361666172692f7361666172695f34387834382e706e67) 6+ | [![边缘](https://camo.githubusercontent.com/e93b3054e8ac93799aa549bb486ff376c006767a/68747470733a2f2f7261772e6769746875622e636f6d2f616c7272612f62726f777365722d6c6f676f732f33392e322e322f7372632f656467652f656467655f34387834382e706e67)](https://camo.githubusercontent.com/e93b3054e8ac93799aa549bb486ff376c006767a/68747470733a2f2f7261772e6769746875622e636f6d2f616c7272612f62726f777365722d6c6f676f732f33392e322e322f7372632f656467652f656467655f34387834382e706e67) ✔ | [![IE浏览器](https://camo.githubusercontent.com/9b2ee574b554e82d350f0421a442e88a589d9c2c/68747470733a2f2f7261772e6769746875622e636f6d2f616c7272612f62726f777365722d6c6f676f732f33392e322e322f7372632f617263686976652f696e7465726e65742d6578706c6f7265725f372d382f696e7465726e65742d6578706c6f7265725f372d385f34387834382e706e67)](https://camo.githubusercontent.com/9b2ee574b554e82d350f0421a442e88a589d9c2c/68747470733a2f2f7261772e6769746875622e636f6d2f616c7272612f62726f777365722d6c6f676f732f33392e322e322f7372632f617263686976652f696e7465726e65742d6578706c6f7265725f372d382f696e7465726e65742d6578706c6f7265725f372d385f34387834382e706e67) 7+ | [![歌剧](https://camo.githubusercontent.com/1e48b149086724d80576a5944626192406190a85/68747470733a2f2f7261772e6769746875622e636f6d2f616c7272612f62726f777365722d6c6f676f732f33392e322e322f7372632f6f706572612f6f706572615f34387834382e706e67)](https://camo.githubusercontent.com/1e48b149086724d80576a5944626192406190a85/68747470733a2f2f7261772e6769746875622e636f6d2f616c7272612f62726f777365722d6c6f676f732f33392e322e322f7372632f6f706572612f6f706572615f34387834382e706e67) ✔ | [![安卓系统](https://camo.githubusercontent.com/fed51100e449dc997ee45fd2fcc401a144a31c4c/68747470733a2f2f7261772e6769746875622e636f6d2f616c7272612f62726f777365722d6c6f676f732f33392e322e322f7372632f616e64726f69642f616e64726f69645f34387834382e706e67)](https://camo.githubusercontent.com/fed51100e449dc997ee45fd2fcc401a144a31c4c/68747470733a2f2f7261772e6769746875622e636f6d2f616c7272612f62726f777365722d6c6f676f732f33392e322e322f7372632f616e64726f69642f616e64726f69645f34387834382e706e67) 4.4+ | 18 | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | 19 | | | | | | | | | 20 | 21 | 22 | 23 | ## Install 24 | 25 | **NPM** 26 | 27 | ```shell 28 | npm install vue-scroll-loader 29 | ``` 30 | 31 | **CDN** 32 | 33 | ```html 34 | 35 | ``` 36 | 37 | 38 | 39 | ## Usage 40 | 41 | Put **``** below the list, and use **`loader-*`** props to define its options. 42 | 43 | When the **scroll-loader** reaches the bottom of the viewport, the method specified by **loader-method** is executed. 44 | 45 | ```html 46 | 47 | 48 | 49 | 50 | 51 |
Loading...
52 |
53 | ``` 54 | 55 | ```javascript 56 | import Vue from 'vue' 57 | import ScrollLoader from 'vue-scroll-loader' 58 | 59 | Vue.use(ScrollLoader) 60 | 61 | new Vue({ 62 | el: '#app', 63 | data() { 64 | return { 65 | disable: false, 66 | page: 1, 67 | pageSize: 30, 68 | images: [], 69 | } 70 | }, 71 | methods: { 72 | getImageList() { 73 | axios.get('https://api.example.com/', { 74 | params: { 75 | page: this.page++, 76 | pageSize: this.pageSize, 77 | } 78 | }) 79 | .then(res => { 80 | this.images = [...this.images, ...res.data] 81 | 82 | // Stop scroll loading... 83 | this.disable = res.data.length < this.pageSize 84 | }) 85 | .catch(error => { 86 | console.log(error); 87 | }) 88 | } 89 | } 90 | }) 91 | ``` 92 | 93 | 94 | 95 | ## Options 96 | 97 | | Props | Description | **Required** | Type | Default | 98 | | --------------- | -------------------------------------------------------------------------------------------------------------------------- | ------------ | -------- | -------- | 99 | | loader-method | Scrolling to the bottom to execute the method. | true | Function | -- | 100 | | loader-disable | scroll-loader will be disabled if the value of this props is true. | false | Boolean | false | 101 | | loader-distance | The minimum distance between the scroll-loader and the bottom of the viewport before the loader-method method is executed. | false | Number | 0 | 102 | | loader-color | scroll-loader the color of the animation. | false | String | \#CCCCCC | 103 | | loader-size | scroll-loader the size of the animation. | false | Number | 50 | 104 | | loader-viewport | relative viewport element,default top-level document viewport. | false | Element | viewport | 105 | 106 | 107 | 108 | ## License 109 | 110 | This project is licensed under the MIT License - see the [LICENSE](https://github.com/molvqingtai/vue-scroll-loader/blob/master/LICENSE) file for details 111 | 112 | 113 | 114 | ## Acknowledgments 115 | 116 | The default loading animation is from [CSSFX](https://github.com/jolaleye/cssfx) -------------------------------------------------------------------------------- /dist/scroll-loader.umd.min.js: -------------------------------------------------------------------------------- 1 | (function(t,e){"object"===typeof exports&&"object"===typeof module?module.exports=e():"function"===typeof define&&define.amd?define([],e):"object"===typeof exports?exports["scroll-loader"]=e():t["scroll-loader"]=e()})("undefined"!==typeof self?self:this,(function(){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"===typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s="fb15")}({"00ee":function(t,e,n){var r=n("b622"),o=r("toStringTag"),i={};i[o]="z",t.exports="[object z]"===String(i)},"0366":function(t,e,n){var r=n("1c0b");t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 0:return function(){return t.call(e)};case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}}},"0420":function(t,e,n){var r=n("1f72");"string"===typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals);var o=n("499e").default;o("e2d2aca8",r,!0,{sourceMap:!1,shadowMode:!1})},"057f":function(t,e,n){var r=n("fc6a"),o=n("241c").f,i={}.toString,c="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],a=function(t){try{return o(t)}catch(e){return c.slice()}};t.exports.f=function(t){return c&&"[object Window]"==i.call(t)?a(t):o(r(t))}},"06cf":function(t,e,n){var r=n("83ab"),o=n("d1e7"),i=n("5c6c"),c=n("fc6a"),a=n("c04e"),s=n("5135"),u=n("0cfb"),f=Object.getOwnPropertyDescriptor;e.f=r?f:function(t,e){if(t=c(t),e=a(e,!0),u)try{return f(t,e)}catch(n){}if(s(t,e))return i(!o.f.call(t,e),t[e])}},"0cfb":function(t,e,n){var r=n("83ab"),o=n("d039"),i=n("cc12");t.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},"1be4":function(t,e,n){var r=n("d066");t.exports=r("document","documentElement")},"1c0b":function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},"1c7e":function(t,e,n){var r=n("b622"),o=r("iterator"),i=!1;try{var c=0,a={next:function(){return{done:!!c++}},return:function(){i=!0}};a[o]=function(){return this},Array.from(a,(function(){throw 2}))}catch(s){}t.exports=function(t,e){if(!e&&!i)return!1;var n=!1;try{var r={};r[o]=function(){return{next:function(){return{done:n=!0}}}},t(r)}catch(s){}return n}},"1d80":function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},"1dde":function(t,e,n){var r=n("d039"),o=n("b622"),i=n("2d00"),c=o("species");t.exports=function(t){return i>=51||!r((function(){var e=[],n=e.constructor={};return n[c]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}},"1f72":function(t,e,n){var r=n("24fb");e=r(!1),e.push([t.i,".loader[data-v-c2de8a26]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:30px 0}.loader__svg[data-v-c2de8a26]{-webkit-transform-origin:center;transform-origin:center;-webkit-animation:rotate-data-v-c2de8a26 2s linear infinite;animation:rotate-data-v-c2de8a26 2s linear infinite}.loader__circle[data-v-c2de8a26]{fill:none;stroke-width:3;stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;-webkit-animation:dash-data-v-c2de8a26 1.5s ease-in-out infinite;animation:dash-data-v-c2de8a26 1.5s ease-in-out infinite}@-webkit-keyframes rotate-data-v-c2de8a26{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes rotate-data-v-c2de8a26{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes dash-data-v-c2de8a26{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,200;stroke-dashoffset:-35px}to{stroke-dashoffset:-125px}}@keyframes dash-data-v-c2de8a26{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,200;stroke-dashoffset:-35px}to{stroke-dashoffset:-125px}}",""]),t.exports=e},"23cb":function(t,e,n){var r=n("a691"),o=Math.max,i=Math.min;t.exports=function(t,e){var n=r(t);return n<0?o(n+e,0):i(n,e)}},"23e7":function(t,e,n){var r=n("da84"),o=n("06cf").f,i=n("9112"),c=n("6eeb"),a=n("ce4e"),s=n("e893"),u=n("94ca");t.exports=function(t,e){var n,f,l,d,p,h,v=t.target,b=t.global,y=t.stat;if(f=b?r:y?r[v]||a(v,{}):(r[v]||{}).prototype,f)for(l in e){if(p=e[l],t.noTargetGet?(h=o(f,l),d=h&&h.value):d=f[l],n=u(b?l:v+(y?".":"#")+l,t.forced),!n&&void 0!==d){if(typeof p===typeof d)continue;s(p,d)}(t.sham||d&&d.sham)&&i(p,"sham",!0),c(f,l,p,t)}}},"241c":function(t,e,n){var r=n("ca84"),o=n("7839"),i=o.concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,i)}},"24fb":function(t,e,n){"use strict";function r(t,e){var n=t[1]||"",r=t[3];if(!r)return n;if(e&&"function"===typeof btoa){var i=o(r),c=r.sources.map((function(t){return"/*# sourceURL=".concat(r.sourceRoot||"").concat(t," */")}));return[n].concat(c).concat([i]).join("\n")}return[n].join("\n")}function o(t){var e=btoa(unescape(encodeURIComponent(JSON.stringify(t)))),n="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(e);return"/*# ".concat(n," */")}t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=r(e,t);return e[2]?"@media ".concat(e[2]," {").concat(n,"}"):n})).join("")},e.i=function(t,n,r){"string"===typeof t&&(t=[[null,t,""]]);var o={};if(r)for(var i=0;i=74)&&(r=c.match(/Chrome\/(\d+)/),r&&(o=r[1]))),t.exports=o&&+o},"342f":function(t,e,n){var r=n("d066");t.exports=r("navigator","userAgent")||""},"35a1":function(t,e,n){var r=n("f5df"),o=n("3f8c"),i=n("b622"),c=i("iterator");t.exports=function(t){if(void 0!=t)return t[c]||t["@@iterator"]||o[r(t)]}},"37e8":function(t,e,n){var r=n("83ab"),o=n("9bf2"),i=n("825a"),c=n("df75");t.exports=r?Object.defineProperties:function(t,e){i(t);var n,r=c(e),a=r.length,s=0;while(a>s)o.f(t,n=r[s++],e[n]);return t}},"3bbe":function(t,e,n){var r=n("861d");t.exports=function(t){if(!r(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t}},"3ca3":function(t,e,n){"use strict";var r=n("6547").charAt,o=n("69f3"),i=n("7dd0"),c="String Iterator",a=o.set,s=o.getterFor(c);i(String,"String",(function(t){a(this,{type:c,string:String(t),index:0})}),(function(){var t,e=s(this),n=e.string,o=e.index;return o>=n.length?{value:void 0,done:!0}:(t=r(n,o),e.index+=t.length,{value:t,done:!1})}))},"3f8c":function(t,e){t.exports={}},"428f":function(t,e,n){var r=n("da84");t.exports=r},"44ad":function(t,e,n){var r=n("d039"),o=n("c6b6"),i="".split;t.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?i.call(t,""):Object(t)}:Object},"44d2":function(t,e,n){var r=n("b622"),o=n("7c73"),i=n("9bf2"),c=r("unscopables"),a=Array.prototype;void 0==a[c]&&i.f(a,c,{configurable:!0,value:o(null)}),t.exports=function(t){a[c][t]=!0}},4930:function(t,e,n){var r=n("d039");t.exports=!!Object.getOwnPropertySymbols&&!r((function(){return!String(Symbol())}))},"499e":function(t,e,n){"use strict";function r(t,e){for(var n=[],r={},o=0;on.parts.length&&(r.parts.length=n.parts.length)}else{var c=[];for(o=0;of)if(a=s[f++],a!=a)return!0}else for(;u>f;f++)if((t||f in s)&&s[f]===n)return t||f||0;return!t&&-1}};t.exports={includes:c(!0),indexOf:c(!1)}},"4df4":function(t,e,n){"use strict";var r=n("0366"),o=n("7b0b"),i=n("9bdd"),c=n("e95a"),a=n("50c4"),s=n("8418"),u=n("35a1");t.exports=function(t){var e,n,f,l,d,p,h=o(t),v="function"==typeof this?this:Array,b=arguments.length,y=b>1?arguments[1]:void 0,g=void 0!==y,m=u(h),w=0;if(g&&(y=r(y,b>2?arguments[2]:void 0,2)),void 0==m||v==Array&&c(m))for(e=a(h.length),n=new v(e);e>w;w++)p=g?y(h[w],w):h[w],s(n,w,p);else for(l=m.call(h),d=l.next,n=new v;!(f=d.call(l)).done;w++)p=g?i(l,y,[f.value,w],!0):f.value,s(n,w,p);return n.length=w,n}},"50c4":function(t,e,n){var r=n("a691"),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},5135:function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},5692:function(t,e,n){var r=n("c430"),o=n("c6cd");(t.exports=function(t,e){return o[t]||(o[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.4",mode:r?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},"56ef":function(t,e,n){var r=n("d066"),o=n("241c"),i=n("7418"),c=n("825a");t.exports=r("Reflect","ownKeys")||function(t){var e=o.f(c(t)),n=i.f;return n?e.concat(n(t)):e}},5899:function(t,e){t.exports="\t\n\v\f\r                 \u2028\u2029\ufeff"},"58a8":function(t,e,n){var r=n("1d80"),o=n("5899"),i="["+o+"]",c=RegExp("^"+i+i+"*"),a=RegExp(i+i+"*$"),s=function(t){return function(e){var n=String(r(e));return 1&t&&(n=n.replace(c,"")),2&t&&(n=n.replace(a,"")),n}};t.exports={start:s(1),end:s(2),trim:s(3)}},"5abe":function(t,e){(function(){"use strict";if("object"===typeof window)if("IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype)"isIntersecting"in window.IntersectionObserverEntry.prototype||Object.defineProperty(window.IntersectionObserverEntry.prototype,"isIntersecting",{get:function(){return this.intersectionRatio>0}});else{var t=window.document,e=[];r.prototype.THROTTLE_TIMEOUT=100,r.prototype.POLL_INTERVAL=null,r.prototype.USE_MUTATION_OBSERVER=!0,r.prototype.observe=function(t){var e=this._observationTargets.some((function(e){return e.element==t}));if(!e){if(!t||1!=t.nodeType)throw new Error("target must be an Element");this._registerInstance(),this._observationTargets.push({element:t,entry:null}),this._monitorIntersections(),this._checkForIntersections()}},r.prototype.unobserve=function(t){this._observationTargets=this._observationTargets.filter((function(e){return e.element!=t})),this._observationTargets.length||(this._unmonitorIntersections(),this._unregisterInstance())},r.prototype.disconnect=function(){this._observationTargets=[],this._unmonitorIntersections(),this._unregisterInstance()},r.prototype.takeRecords=function(){var t=this._queuedEntries.slice();return this._queuedEntries=[],t},r.prototype._initThresholds=function(t){var e=t||[0];return Array.isArray(e)||(e=[e]),e.sort().filter((function(t,e,n){if("number"!=typeof t||isNaN(t)||t<0||t>1)throw new Error("threshold must be a number between 0 and 1 inclusively");return t!==n[e-1]}))},r.prototype._parseRootMargin=function(t){var e=t||"0px",n=e.split(/\s+/).map((function(t){var e=/^(-?\d*\.?\d+)(px|%)$/.exec(t);if(!e)throw new Error("rootMargin must be specified in pixels or percent");return{value:parseFloat(e[1]),unit:e[2]}}));return n[1]=n[1]||n[0],n[2]=n[2]||n[0],n[3]=n[3]||n[1],n},r.prototype._monitorIntersections=function(){this._monitoringIntersections||(this._monitoringIntersections=!0,this.POLL_INTERVAL?this._monitoringInterval=setInterval(this._checkForIntersections,this.POLL_INTERVAL):(c(window,"resize",this._checkForIntersections,!0),c(t,"scroll",this._checkForIntersections,!0),this.USE_MUTATION_OBSERVER&&"MutationObserver"in window&&(this._domObserver=new MutationObserver(this._checkForIntersections),this._domObserver.observe(t,{attributes:!0,childList:!0,characterData:!0,subtree:!0}))))},r.prototype._unmonitorIntersections=function(){this._monitoringIntersections&&(this._monitoringIntersections=!1,clearInterval(this._monitoringInterval),this._monitoringInterval=null,a(window,"resize",this._checkForIntersections,!0),a(t,"scroll",this._checkForIntersections,!0),this._domObserver&&(this._domObserver.disconnect(),this._domObserver=null))},r.prototype._checkForIntersections=function(){var t=this._rootIsInDom(),e=t?this._getRootRect():f();this._observationTargets.forEach((function(r){var i=r.element,c=u(i),a=this._rootContainsTarget(i),s=r.entry,f=t&&a&&this._computeTargetAndRootIntersection(i,e),l=r.entry=new n({time:o(),target:i,boundingClientRect:c,rootBounds:e,intersectionRect:f});s?t&&a?this._hasCrossedThreshold(s,l)&&this._queuedEntries.push(l):s&&s.isIntersecting&&this._queuedEntries.push(l):this._queuedEntries.push(l)}),this),this._queuedEntries.length&&this._callback(this.takeRecords(),this)},r.prototype._computeTargetAndRootIntersection=function(e,n){if("none"!=window.getComputedStyle(e).display){var r=u(e),o=r,i=d(e),c=!1;while(!c){var a=null,f=1==i.nodeType?window.getComputedStyle(i):{};if("none"==f.display)return;if(i==this.root||i==t?(c=!0,a=n):i!=t.body&&i!=t.documentElement&&"visible"!=f.overflow&&(a=u(i)),a&&(o=s(a,o),!o))break;i=d(i)}return o}},r.prototype._getRootRect=function(){var e;if(this.root)e=u(this.root);else{var n=t.documentElement,r=t.body;e={top:0,left:0,right:n.clientWidth||r.clientWidth,width:n.clientWidth||r.clientWidth,bottom:n.clientHeight||r.clientHeight,height:n.clientHeight||r.clientHeight}}return this._expandRectByRootMargin(e)},r.prototype._expandRectByRootMargin=function(t){var e=this._rootMarginValues.map((function(e,n){return"px"==e.unit?e.value:e.value*(n%2?t.width:t.height)/100})),n={top:t.top-e[0],right:t.right+e[1],bottom:t.bottom+e[2],left:t.left-e[3]};return n.width=n.right-n.left,n.height=n.bottom-n.top,n},r.prototype._hasCrossedThreshold=function(t,e){var n=t&&t.isIntersecting?t.intersectionRatio||0:-1,r=e.isIntersecting?e.intersectionRatio||0:-1;if(n!==r)for(var o=0;o=0&&a>=0&&{top:n,bottom:r,left:o,right:i,width:c,height:a}}function u(t){var e;try{e=t.getBoundingClientRect()}catch(n){}return e?(e.width&&e.height||(e={top:e.top,right:e.right,bottom:e.bottom,left:e.left,width:e.right-e.left,height:e.bottom-e.top}),e):f()}function f(){return{top:0,bottom:0,left:0,right:0,width:0,height:0}}function l(t,e){var n=e;while(n){if(n==t)return!0;n=d(n)}return!1}function d(t){var e=t.parentNode;return e&&11==e.nodeType&&e.host?e.host:e&&e.assignedSlot?e.assignedSlot.parentNode:e}})()},"5c6c":function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},6547:function(t,e,n){var r=n("a691"),o=n("1d80"),i=function(t){return function(e,n){var i,c,a=String(o(e)),s=r(n),u=a.length;return s<0||s>=u?t?"":void 0:(i=a.charCodeAt(s),i<55296||i>56319||s+1===u||(c=a.charCodeAt(s+1))<56320||c>57343?t?a.charAt(s):i:t?a.slice(s,s+2):c-56320+(i-55296<<10)+65536)}};t.exports={codeAt:i(!1),charAt:i(!0)}},"65f0":function(t,e,n){var r=n("861d"),o=n("e8b5"),i=n("b622"),c=i("species");t.exports=function(t,e){var n;return o(t)&&(n=t.constructor,"function"!=typeof n||n!==Array&&!o(n.prototype)?r(n)&&(n=n[c],null===n&&(n=void 0)):n=void 0),new(void 0===n?Array:n)(0===e?0:e)}},"69f3":function(t,e,n){var r,o,i,c=n("7f9a"),a=n("da84"),s=n("861d"),u=n("9112"),f=n("5135"),l=n("f772"),d=n("d012"),p=a.WeakMap,h=function(t){return i(t)?o(t):r(t,{})},v=function(t){return function(e){var n;if(!s(e)||(n=o(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return n}};if(c){var b=new p,y=b.get,g=b.has,m=b.set;r=function(t,e){return m.call(b,t,e),e},o=function(t){return y.call(b,t)||{}},i=function(t){return g.call(b,t)}}else{var w=l("state");d[w]=!0,r=function(t,e){return u(t,w,e),e},o=function(t){return f(t,w)?t[w]:{}},i=function(t){return f(t,w)}}t.exports={set:r,get:o,has:i,enforce:h,getterFor:v}},"6eeb":function(t,e,n){var r=n("da84"),o=n("9112"),i=n("5135"),c=n("ce4e"),a=n("8925"),s=n("69f3"),u=s.get,f=s.enforce,l=String(String).split("String");(t.exports=function(t,e,n,a){var s=!!a&&!!a.unsafe,u=!!a&&!!a.enumerable,d=!!a&&!!a.noTargetGet;"function"==typeof n&&("string"!=typeof e||i(n,"name")||o(n,"name",e),f(n).source=l.join("string"==typeof e?e:"")),t!==r?(s?!d&&t[e]&&(u=!0):delete t[e],u?t[e]=n:o(t,e,n)):u?t[e]=n:c(e,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&u(this).source||a(this)}))},7156:function(t,e,n){var r=n("861d"),o=n("d2bb");t.exports=function(t,e,n){var i,c;return o&&"function"==typeof(i=e.constructor)&&i!==n&&r(c=i.prototype)&&c!==n.prototype&&o(t,c),t}},7418:function(t,e){e.f=Object.getOwnPropertySymbols},"746f":function(t,e,n){var r=n("428f"),o=n("5135"),i=n("e538"),c=n("9bf2").f;t.exports=function(t){var e=r.Symbol||(r.Symbol={});o(e,t)||c(e,t,{value:i.f(t)})}},7839:function(t,e){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},"7b0b":function(t,e,n){var r=n("1d80");t.exports=function(t){return Object(r(t))}},"7c73":function(t,e,n){var r,o=n("825a"),i=n("37e8"),c=n("7839"),a=n("d012"),s=n("1be4"),u=n("cc12"),f=n("f772"),l=">",d="<",p="prototype",h="script",v=f("IE_PROTO"),b=function(){},y=function(t){return d+h+l+t+d+"/"+h+l},g=function(t){t.write(y("")),t.close();var e=t.parentWindow.Object;return t=null,e},m=function(){var t,e=u("iframe"),n="java"+h+":";return e.style.display="none",s.appendChild(e),e.src=String(n),t=e.contentWindow.document,t.open(),t.write(y("document.F=Object")),t.close(),t.F},w=function(){try{r=document.domain&&new ActiveXObject("htmlfile")}catch(e){}w=r?g(r):m();var t=c.length;while(t--)delete w[p][c[t]];return w()};a[v]=!0,t.exports=Object.create||function(t,e){var n;return null!==t?(b[p]=o(t),n=new b,b[p]=null,n[v]=t):n=w(),void 0===e?n:i(n,e)}},"7dd0":function(t,e,n){"use strict";var r=n("23e7"),o=n("9ed3"),i=n("e163"),c=n("d2bb"),a=n("d44e"),s=n("9112"),u=n("6eeb"),f=n("b622"),l=n("c430"),d=n("3f8c"),p=n("ae93"),h=p.IteratorPrototype,v=p.BUGGY_SAFARI_ITERATORS,b=f("iterator"),y="keys",g="values",m="entries",w=function(){return this};t.exports=function(t,e,n,f,p,x,S){o(n,e,f);var _,O,I,E=function(t){if(t===p&&R)return R;if(!v&&t in A)return A[t];switch(t){case y:return function(){return new n(this,t)};case g:return function(){return new n(this,t)};case m:return function(){return new n(this,t)}}return function(){return new n(this)}},T=e+" Iterator",j=!1,A=t.prototype,k=A[b]||A["@@iterator"]||p&&A[p],R=!v&&k||E(p),C="Array"==e&&A.entries||k;if(C&&(_=i(C.call(new t)),h!==Object.prototype&&_.next&&(l||i(_)===h||(c?c(_,h):"function"!=typeof _[b]&&s(_,b,w)),a(_,T,!0,!0),l&&(d[T]=w))),p==g&&k&&k.name!==g&&(j=!0,R=function(){return k.call(this)}),l&&!S||A[b]===R||s(A,b,R),d[e]=R,p)if(O={values:E(g),keys:x?R:E(y),entries:E(m)},S)for(I in O)(v||j||!(I in A))&&u(A,I,O[I]);else r({target:e,proto:!0,forced:v||j},O);return O}},"7f9a":function(t,e,n){var r=n("da84"),o=n("8925"),i=r.WeakMap;t.exports="function"===typeof i&&/native code/.test(o(i))},"825a":function(t,e,n){var r=n("861d");t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},"83ab":function(t,e,n){var r=n("d039");t.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},8418:function(t,e,n){"use strict";var r=n("c04e"),o=n("9bf2"),i=n("5c6c");t.exports=function(t,e,n){var c=r(e);c in t?o.f(t,c,i(0,n)):t[c]=n}},"861d":function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},8925:function(t,e,n){var r=n("c6cd"),o=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(t){return o.call(t)}),t.exports=r.inspectSource},"90e3":function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++n+r).toString(36)}},9112:function(t,e,n){var r=n("83ab"),o=n("9bf2"),i=n("5c6c");t.exports=r?function(t,e,n){return o.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},"94ca":function(t,e,n){var r=n("d039"),o=/#|\.prototype\./,i=function(t,e){var n=a[c(t)];return n==u||n!=s&&("function"==typeof e?r(e):!!e)},c=i.normalize=function(t){return String(t).replace(o,".").toLowerCase()},a=i.data={},s=i.NATIVE="N",u=i.POLYFILL="P";t.exports=i},"9bdd":function(t,e,n){var r=n("825a");t.exports=function(t,e,n,o){try{return o?e(r(n)[0],n[1]):e(n)}catch(c){var i=t["return"];throw void 0!==i&&r(i.call(t)),c}}},"9bf2":function(t,e,n){var r=n("83ab"),o=n("0cfb"),i=n("825a"),c=n("c04e"),a=Object.defineProperty;e.f=r?a:function(t,e,n){if(i(t),e=c(e,!0),i(n),o)try{return a(t,e,n)}catch(r){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(t[e]=n.value),t}},"9ed3":function(t,e,n){"use strict";var r=n("ae93").IteratorPrototype,o=n("7c73"),i=n("5c6c"),c=n("d44e"),a=n("3f8c"),s=function(){return this};t.exports=function(t,e,n){var u=e+" Iterator";return t.prototype=o(r,{next:i(1,n)}),c(t,u,!1,!0),a[u]=s,t}},a4d3:function(t,e,n){"use strict";var r=n("23e7"),o=n("da84"),i=n("d066"),c=n("c430"),a=n("83ab"),s=n("4930"),u=n("fdbf"),f=n("d039"),l=n("5135"),d=n("e8b5"),p=n("861d"),h=n("825a"),v=n("7b0b"),b=n("fc6a"),y=n("c04e"),g=n("5c6c"),m=n("7c73"),w=n("df75"),x=n("241c"),S=n("057f"),_=n("7418"),O=n("06cf"),I=n("9bf2"),E=n("d1e7"),T=n("9112"),j=n("6eeb"),A=n("5692"),k=n("f772"),R=n("d012"),C=n("90e3"),M=n("b622"),N=n("e538"),L=n("746f"),P=n("d44e"),F=n("69f3"),V=n("b727").forEach,U=k("hidden"),B="Symbol",D="prototype",$=M("toPrimitive"),G=F.set,q=F.getterFor(B),z=Object[D],H=o.Symbol,W=i("JSON","stringify"),X=O.f,Y=I.f,J=S.f,K=E.f,Q=A("symbols"),Z=A("op-symbols"),tt=A("string-to-symbol-registry"),et=A("symbol-to-string-registry"),nt=A("wks"),rt=o.QObject,ot=!rt||!rt[D]||!rt[D].findChild,it=a&&f((function(){return 7!=m(Y({},"a",{get:function(){return Y(this,"a",{value:7}).a}})).a}))?function(t,e,n){var r=X(z,e);r&&delete z[e],Y(t,e,n),r&&t!==z&&Y(z,e,r)}:Y,ct=function(t,e){var n=Q[t]=m(H[D]);return G(n,{type:B,tag:t,description:e}),a||(n.description=e),n},at=u?function(t){return"symbol"==typeof t}:function(t){return Object(t)instanceof H},st=function(t,e,n){t===z&&st(Z,e,n),h(t);var r=y(e,!0);return h(n),l(Q,r)?(n.enumerable?(l(t,U)&&t[U][r]&&(t[U][r]=!1),n=m(n,{enumerable:g(0,!1)})):(l(t,U)||Y(t,U,g(1,{})),t[U][r]=!0),it(t,r,n)):Y(t,r,n)},ut=function(t,e){h(t);var n=b(e),r=w(n).concat(ht(n));return V(r,(function(e){a&&!lt.call(n,e)||st(t,e,n[e])})),t},ft=function(t,e){return void 0===e?m(t):ut(m(t),e)},lt=function(t){var e=y(t,!0),n=K.call(this,e);return!(this===z&&l(Q,e)&&!l(Z,e))&&(!(n||!l(this,e)||!l(Q,e)||l(this,U)&&this[U][e])||n)},dt=function(t,e){var n=b(t),r=y(e,!0);if(n!==z||!l(Q,r)||l(Z,r)){var o=X(n,r);return!o||!l(Q,r)||l(n,U)&&n[U][r]||(o.enumerable=!0),o}},pt=function(t){var e=J(b(t)),n=[];return V(e,(function(t){l(Q,t)||l(R,t)||n.push(t)})),n},ht=function(t){var e=t===z,n=J(e?Z:b(t)),r=[];return V(n,(function(t){!l(Q,t)||e&&!l(z,t)||r.push(Q[t])})),r};if(s||(H=function(){if(this instanceof H)throw TypeError("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,e=C(t),n=function(t){this===z&&n.call(Z,t),l(this,U)&&l(this[U],e)&&(this[U][e]=!1),it(this,e,g(1,t))};return a&&ot&&it(z,e,{configurable:!0,set:n}),ct(e,t)},j(H[D],"toString",(function(){return q(this).tag})),j(H,"withoutSetter",(function(t){return ct(C(t),t)})),E.f=lt,I.f=st,O.f=dt,x.f=S.f=pt,_.f=ht,N.f=function(t){return ct(M(t),t)},a&&(Y(H[D],"description",{configurable:!0,get:function(){return q(this).description}}),c||j(z,"propertyIsEnumerable",lt,{unsafe:!0}))),r({global:!0,wrap:!0,forced:!s,sham:!s},{Symbol:H}),V(w(nt),(function(t){L(t)})),r({target:B,stat:!0,forced:!s},{for:function(t){var e=String(t);if(l(tt,e))return tt[e];var n=H(e);return tt[e]=n,et[n]=e,n},keyFor:function(t){if(!at(t))throw TypeError(t+" is not a symbol");if(l(et,t))return et[t]},useSetter:function(){ot=!0},useSimple:function(){ot=!1}}),r({target:"Object",stat:!0,forced:!s,sham:!a},{create:ft,defineProperty:st,defineProperties:ut,getOwnPropertyDescriptor:dt}),r({target:"Object",stat:!0,forced:!s},{getOwnPropertyNames:pt,getOwnPropertySymbols:ht}),r({target:"Object",stat:!0,forced:f((function(){_.f(1)}))},{getOwnPropertySymbols:function(t){return _.f(v(t))}}),W){var vt=!s||f((function(){var t=H();return"[null]"!=W([t])||"{}"!=W({a:t})||"{}"!=W(Object(t))}));r({target:"JSON",stat:!0,forced:vt},{stringify:function(t,e,n){var r,o=[t],i=1;while(arguments.length>i)o.push(arguments[i++]);if(r=e,(p(e)||void 0!==t)&&!at(t))return d(e)||(e=function(t,e){if("function"==typeof r&&(e=r.call(this,t,e)),!at(e))return e}),o[1]=e,W.apply(null,o)}})}H[D][$]||T(H[D],$,H[D].valueOf),P(H,B),R[U]=!0},a630:function(t,e,n){var r=n("23e7"),o=n("4df4"),i=n("1c7e"),c=!i((function(t){Array.from(t)}));r({target:"Array",stat:!0,forced:c},{from:o})},a691:function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},a9e3:function(t,e,n){"use strict";var r=n("83ab"),o=n("da84"),i=n("94ca"),c=n("6eeb"),a=n("5135"),s=n("c6b6"),u=n("7156"),f=n("c04e"),l=n("d039"),d=n("7c73"),p=n("241c").f,h=n("06cf").f,v=n("9bf2").f,b=n("58a8").trim,y="Number",g=o[y],m=g.prototype,w=s(d(m))==y,x=function(t){var e,n,r,o,i,c,a,s,u=f(t,!1);if("string"==typeof u&&u.length>2)if(u=b(u),e=u.charCodeAt(0),43===e||45===e){if(n=u.charCodeAt(2),88===n||120===n)return NaN}else if(48===e){switch(u.charCodeAt(1)){case 66:case 98:r=2,o=49;break;case 79:case 111:r=8,o=55;break;default:return+u}for(i=u.slice(2),c=i.length,a=0;ao)return NaN;return parseInt(i,r)}return+u};if(i(y,!g(" 0o1")||!g("0b1")||g("+0x1"))){for(var S,_=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof _&&(w?l((function(){m.valueOf.call(n)})):s(n)!=y)?u(new g(x(e)),n,_):x(e)},O=r?p(g):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),I=0;O.length>I;I++)a(g,S=O[I])&&!a(_,S)&&v(_,S,h(g,S));_.prototype=m,m.constructor=_,c(o,y,_)}},ad6d:function(t,e,n){"use strict";var r=n("825a");t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},ae40:function(t,e,n){var r=n("83ab"),o=n("d039"),i=n("5135"),c=Object.defineProperty,a={},s=function(t){throw t};t.exports=function(t,e){if(i(a,t))return a[t];e||(e={});var n=[][t],u=!!i(e,"ACCESSORS")&&e.ACCESSORS,f=i(e,0)?e[0]:s,l=i(e,1)?e[1]:void 0;return a[t]=!!n&&!o((function(){if(u&&!r)return!0;var t={length:-1};u?c(t,1,{enumerable:!0,get:s}):t[1]=1,n.call(t,f,l)}))}},ae93:function(t,e,n){"use strict";var r,o,i,c=n("e163"),a=n("9112"),s=n("5135"),u=n("b622"),f=n("c430"),l=u("iterator"),d=!1,p=function(){return this};[].keys&&(i=[].keys(),"next"in i?(o=c(c(i)),o!==Object.prototype&&(r=o)):d=!0),void 0==r&&(r={}),f||s(r,l)||a(r,l,p),t.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:d}},b041:function(t,e,n){"use strict";var r=n("00ee"),o=n("f5df");t.exports=r?{}.toString:function(){return"[object "+o(this)+"]"}},b0c0:function(t,e,n){var r=n("83ab"),o=n("9bf2").f,i=Function.prototype,c=i.toString,a=/^\s*function ([^ (]*)/,s="name";r&&!(s in i)&&o(i,s,{configurable:!0,get:function(){try{return c.call(this).match(a)[1]}catch(t){return""}}})},b622:function(t,e,n){var r=n("da84"),o=n("5692"),i=n("5135"),c=n("90e3"),a=n("4930"),s=n("fdbf"),u=o("wks"),f=r.Symbol,l=s?f:f&&f.withoutSetter||c;t.exports=function(t){return i(u,t)||(a&&i(f,t)?u[t]=f[t]:u[t]=l("Symbol."+t)),u[t]}},b727:function(t,e,n){var r=n("0366"),o=n("44ad"),i=n("7b0b"),c=n("50c4"),a=n("65f0"),s=[].push,u=function(t){var e=1==t,n=2==t,u=3==t,f=4==t,l=6==t,d=5==t||l;return function(p,h,v,b){for(var y,g,m=i(p),w=o(m),x=r(h,v,3),S=c(w.length),_=0,O=b||a,I=e?O(p,S):n?O(p,0):void 0;S>_;_++)if((d||_ in w)&&(y=w[_],g=x(y,_,m),t))if(e)I[_]=g;else if(g)switch(t){case 3:return!0;case 5:return y;case 6:return _;case 2:s.call(I,y)}else if(f)return!1;return l?-1:u||f?f:I}};t.exports={forEach:u(0),map:u(1),filter:u(2),some:u(3),every:u(4),find:u(5),findIndex:u(6)}},c04e:function(t,e,n){var r=n("861d");t.exports=function(t,e){if(!r(t))return t;var n,o;if(e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;if("function"==typeof(n=t.valueOf)&&!r(o=n.call(t)))return o;if(!e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},c430:function(t,e){t.exports=!1},c6b6:function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},c6cd:function(t,e,n){var r=n("da84"),o=n("ce4e"),i="__core-js_shared__",c=r[i]||o(i,{});t.exports=c},c8ba:function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"===typeof window&&(n=window)}t.exports=n},ca84:function(t,e,n){var r=n("5135"),o=n("fc6a"),i=n("4d64").indexOf,c=n("d012");t.exports=function(t,e){var n,a=o(t),s=0,u=[];for(n in a)!r(c,n)&&r(a,n)&&u.push(n);while(e.length>s)r(a,n=e[s++])&&(~i(u,n)||u.push(n));return u}},cc12:function(t,e,n){var r=n("da84"),o=n("861d"),i=r.document,c=o(i)&&o(i.createElement);t.exports=function(t){return c?i.createElement(t):{}}},ce4e:function(t,e,n){var r=n("da84"),o=n("9112");t.exports=function(t,e){try{o(r,t,e)}catch(n){r[t]=e}return e}},d012:function(t,e){t.exports={}},d039:function(t,e){t.exports=function(t){try{return!!t()}catch(e){return!0}}},d066:function(t,e,n){var r=n("428f"),o=n("da84"),i=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,e){return arguments.length<2?i(r[t])||i(o[t]):r[t]&&r[t][e]||o[t]&&o[t][e]}},d1e7:function(t,e,n){"use strict";var r={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!r.call({1:2},1);e.f=i?function(t){var e=o(this,t);return!!e&&e.enumerable}:r},d28b:function(t,e,n){var r=n("746f");r("iterator")},d2bb:function(t,e,n){var r=n("825a"),o=n("3bbe");t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,n={};try{t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set,t.call(n,[]),e=n instanceof Array}catch(i){}return function(n,i){return r(n),o(i),e?t.call(n,i):n.__proto__=i,n}}():void 0)},d3b7:function(t,e,n){var r=n("00ee"),o=n("6eeb"),i=n("b041");r||o(Object.prototype,"toString",i,{unsafe:!0})},d44e:function(t,e,n){var r=n("9bf2").f,o=n("5135"),i=n("b622"),c=i("toStringTag");t.exports=function(t,e,n){t&&!o(t=n?t:t.prototype,c)&&r(t,c,{configurable:!0,value:e})}},da84:function(t,e,n){(function(e){var n=function(t){return t&&t.Math==Math&&t};t.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof e&&e)||Function("return this")()}).call(this,n("c8ba"))},ddb0:function(t,e,n){var r=n("da84"),o=n("fdbc"),i=n("e260"),c=n("9112"),a=n("b622"),s=a("iterator"),u=a("toStringTag"),f=i.values;for(var l in o){var d=r[l],p=d&&d.prototype;if(p){if(p[s]!==f)try{c(p,s,f)}catch(v){p[s]=f}if(p[u]||c(p,u,l),o[l])for(var h in i)if(p[h]!==i[h])try{c(p,h,i[h])}catch(v){p[h]=i[h]}}}},df75:function(t,e,n){var r=n("ca84"),o=n("7839");t.exports=Object.keys||function(t){return r(t,o)}},e01a:function(t,e,n){"use strict";var r=n("23e7"),o=n("83ab"),i=n("da84"),c=n("5135"),a=n("861d"),s=n("9bf2").f,u=n("e893"),f=i.Symbol;if(o&&"function"==typeof f&&(!("description"in f.prototype)||void 0!==f().description)){var l={},d=function(){var t=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),e=this instanceof d?new f(t):void 0===t?f():f(t);return""===t&&(l[e]=!0),e};u(d,f);var p=d.prototype=f.prototype;p.constructor=d;var h=p.toString,v="Symbol(test)"==String(f("test")),b=/^Symbol\((.*)\)[^)]+$/;s(p,"description",{configurable:!0,get:function(){var t=a(this)?this.valueOf():this,e=h.call(t);if(c(l,t))return"";var n=v?e.slice(7,-1):e.replace(b,"$1");return""===n?void 0:n}}),r({global:!0,forced:!0},{Symbol:d})}},e163:function(t,e,n){var r=n("5135"),o=n("7b0b"),i=n("f772"),c=n("e177"),a=i("IE_PROTO"),s=Object.prototype;t.exports=c?Object.getPrototypeOf:function(t){return t=o(t),r(t,a)?t[a]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?s:null}},e177:function(t,e,n){var r=n("d039");t.exports=!r((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}))},e260:function(t,e,n){"use strict";var r=n("fc6a"),o=n("44d2"),i=n("3f8c"),c=n("69f3"),a=n("7dd0"),s="Array Iterator",u=c.set,f=c.getterFor(s);t.exports=a(Array,"Array",(function(t,e){u(this,{type:s,target:r(t),index:0,kind:e})}),(function(){var t=f(this),e=t.target,n=t.kind,r=t.index++;return!e||r>=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==n?{value:r,done:!1}:"values"==n?{value:e[r],done:!1}:{value:[r,e[r]],done:!1}}),"values"),i.Arguments=i.Array,o("keys"),o("values"),o("entries")},e538:function(t,e,n){var r=n("b622");e.f=r},e625:function(t,e,n){"use strict";var r=n("0420"),o=n.n(r);o.a},e893:function(t,e,n){var r=n("5135"),o=n("56ef"),i=n("06cf"),c=n("9bf2");t.exports=function(t,e){for(var n=o(e),a=c.f,s=i.f,u=0;ut.length)&&(e=t.length);for(var n=0,r=new Array(e);n