├── .gitignore ├── .idea ├── .gitignore ├── codeStyles │ ├── codeStyleConfig.xml │ └── Project.xml ├── misc.xml ├── vcs.xml ├── inspectionProfiles │ └── Project_Default.xml ├── modules.xml ├── vue-waterfall.iml └── watcherTasks.xml ├── postcss.config.js ├── .DS_Store ├── src ├── dom │ ├── App.vue │ ├── index.html │ ├── Details.vue │ ├── index.js │ └── Home.vue ├── .DS_Store └── vue-waterfall │ ├── index.js │ ├── waterfall-silde.vue │ └── waterfall.vue ├── .eslintignore ├── .prettierrc ├── babel.config.js ├── dist └── index.html ├── .eslintrc.js ├── package.json ├── README.md └── lib └── vue-waterfall-adaptive.js /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .idea 3 | -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /workspace.xml -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | autoprefixer: true 3 | } -------------------------------------------------------------------------------- /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geng452654716/vue-waterfall/HEAD/.DS_Store -------------------------------------------------------------------------------- /src/dom/App.vue: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist/ 3 | test 4 | build/ 5 | .idea 6 | public/ 7 | lib/ 8 | -------------------------------------------------------------------------------- /src/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geng452654716/vue-waterfall/HEAD/src/.DS_Store -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "eslintIntegration": true, 3 | "singleQuote": true, 4 | "semi": false 5 | } 6 | -------------------------------------------------------------------------------- /.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: [ 3 | 'lodash', 4 | [ 5 | '@babel/plugin-transform-runtime', 6 | { 7 | corejs: 2, 8 | helpers: true, 9 | regenerator: true, 10 | useESModules: false 11 | } 12 | ] 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /.idea/inspectionProfiles/Project_Default.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/dom/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | vue-waterfall 8 | 9 | 10 |
11 | 12 | 13 | -------------------------------------------------------------------------------- /src/dom/Details.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 17 | 18 | 23 | -------------------------------------------------------------------------------- /dist/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | vue-waterfall 8 | 9 | 10 |
11 | 12 | 13 | -------------------------------------------------------------------------------- /src/vue-waterfall/index.js: -------------------------------------------------------------------------------- 1 | import waterfallSilde from './waterfall-silde.vue' 2 | import waterfall from './waterfall.vue' 3 | const install = function(Vue) { 4 | Vue.component(waterfall.name, waterfall) 5 | Vue.component(waterfallSilde.name, waterfallSilde) 6 | } 7 | const VueWaterfall = { waterfallSilde, waterfall, install } 8 | export default VueWaterfall 9 | export { waterfallSilde, waterfall, install } 10 | -------------------------------------------------------------------------------- /.idea/vue-waterfall.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/dom/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import App from './App.vue' 3 | import VueRouter from 'vue-router' 4 | import Home from './Home.vue' 5 | import Details from './Details.vue' 6 | Vue.use(VueRouter) 7 | 8 | const router = new VueRouter({ 9 | routes: [ 10 | { 11 | path: '/', 12 | name: 'Home', 13 | component: Home 14 | }, 15 | { 16 | path: '/details', 17 | name: 'Details', 18 | component: Details 19 | } 20 | ] 21 | }) 22 | new Vue({ 23 | router, 24 | render: h => h(App) 25 | }).$mount('#app') 26 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | env: { 4 | node: true 5 | }, 6 | parserOptions: { 7 | parser: 'babel-eslint' 8 | }, 9 | extends: ['plugin:vue/essential', 'eslint:recommended', '@vue/prettier'], 10 | rules: { 11 | 'prettier/prettier': 'error', 12 | 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off', 13 | 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off', 14 | //强制使用单引号 15 | quotes: ['error', 'single'], 16 | //强制不使用分号结尾 17 | semi: ['error', 'never'] 18 | }, 19 | globals: { 20 | noCaptcha: 'readonly' 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /.idea/watcherTasks.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 16 | 24 | 25 | 36 | 44 | 45 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vue-waterfall-adaptive", 3 | "version": "1.1.6", 4 | "description": "基于 vue.js 的瀑布流组件,自适应高度,响应式", 5 | "main": "lib/vue-waterfall.js", 6 | "files": [ 7 | "lib", 8 | "src/vue-waterfall" 9 | ], 10 | "scripts": { 11 | "serve": "webpack-dev-server --config ./build/webpack.dev.js", 12 | "build": "webpack --config ./build/webpack.prod.js", 13 | "build:dev": "webpack --config ./build/webpack.dev.js", 14 | "lint": "eslint --fix ./src" 15 | }, 16 | "repository": { 17 | "type": "git", 18 | "url": "git+https://github.com/geng452654716/vue-waterfall.git" 19 | }, 20 | "keywords": [ 21 | "waterfall", 22 | "vue", 23 | "adaptive", 24 | "layout" 25 | ], 26 | "author": "YaoChangTueQueDuan", 27 | "license": "MIT", 28 | "bugs": { 29 | "url": "https://github.com/geng452654716/vue-waterfall/issues" 30 | }, 31 | "homepage": "https://github.com/geng452654716/vue-waterfall.git", 32 | "devDependencies": { 33 | "@babel/core": "^7.4.0", 34 | "@babel/plugin-transform-runtime": "^7.4.0", 35 | "@babel/runtime": "^7.4.2", 36 | "@babel/runtime-corejs2": "^7.4.2", 37 | "@vue/eslint-config-prettier": "^6.0.0", 38 | "@vue/eslint-plugin": "^4.2.0", 39 | "babel-eslint": "^10.0.1", 40 | "babel-loader": "^8.0.5", 41 | "babel-plugin-lodash": "^3.3.4", 42 | "clean-webpack-plugin": "^2.0.1", 43 | "css-loader": "^2.1.1", 44 | "eslint": "^5.16.0", 45 | "eslint-plugin-prettier": "^3.1.4", 46 | "eslint-plugin-vue": "^5.2.3", 47 | "file-loader": "^3.0.1", 48 | "html-webpack-plugin": "^3.2.0", 49 | "less": "^3.9.0", 50 | "less-loader": "^4.1.0", 51 | "lint-staged": "^10.2.10", 52 | "lodash-webpack-plugin": "^0.11.5", 53 | "postcss-loader": "^3.0.0", 54 | "url-loader": "^1.1.2", 55 | "vue-loader": "^15.7.0", 56 | "vue-template-compiler": "^2.6.10", 57 | "webpack": "^4.29.6", 58 | "webpack-cli": "^3.3.0", 59 | "webpack-dev-server": "^3.2.1", 60 | "webpack-merge": "^4.2.1" 61 | }, 62 | "dependencies": { 63 | "@vue/eslint-config-standard": "^4.0.0", 64 | "lodash": "^4.17.11", 65 | "vue": "^2.6.10", 66 | "vue-router": "^3.3.4" 67 | }, 68 | "gitHooks": { 69 | "pre-commit": "lint-staged" 70 | }, 71 | "lint-staged": { 72 | "*.{js,jsx,vue}": [ 73 | "eslint --fix ./src", 74 | "git add" 75 | ] 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /src/vue-waterfall/waterfall-silde.vue: -------------------------------------------------------------------------------- 1 | 11 | 12 | 120 | 121 | 140 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # vue-waterfall-adaptive 2 | 3 | [![npm](https://img.shields.io/npm/v/vue-waterfall-adaptive.svg)](https://www.npmjs.com/package/vue-waterfall-adaptive) 4 | [![npm](https://img.shields.io/npm/dt/vue-waterfall-adaptive.svg)](https://www.npmjs.com/package/vue-waterfall-adaptive) 5 | [![npm](https://img.shields.io/npm/l/vue-waterfall-adaptive.svg)](https://www.npmjs.com/package/vue-waterfall-adaptive) 6 | 7 | ## 概述 8 | > vue 瀑布流组件,高度自适应,响应式,支持自定义布局,支持多图模式 9 | 10 | [demo](https://geng452654716.github.io/vue-waterfall/dist/) 11 | 12 | ## 安装 13 | 14 | ### 安装 vue-waterfall-adaptive 15 | 16 | ```sh 17 | npm install vue-waterfall-adaptive 18 | ``` 19 | 20 | ### 加载 vue-waterfall-adaptive 模块 21 | 22 | 支持 ES6 与 commonjs 的加载方式 23 | 24 | ```js 25 | // ES6 26 | import { waterfall, waterfallSilde } from 'vue-waterfall-adaptive'; 27 | 28 | // commonjs 29 | const waterfall = require("vue-waterfall-adaptive").waterfall; 30 | const waterfallSilde = require("vue-waterfall-adaptive").waterfallSilde; 31 | ``` 32 | 也可以在 html 文件中使用 `script` 标签引入脚本,访问全局变量 `vueWaterfallAdaptive` 33 | 34 | ```js 35 | 36 | ``` 37 | 38 | ## 使用 39 | 40 | ```html 41 | 42 | item1 43 | item2 44 | item3 45 | ... 46 | 47 | ``` 48 | 49 | ## 选项 50 | 51 | ### waterfall 属性 52 | 53 | | 属性 | 描述 | 默认值 | 类型 | 可选项 | 54 | | --------------- | ------------------------------------------------------------- | ----------- | --------- | ------------------------ | 55 | | top | 初始 `top` 值 | 0 | Number | - | 56 | | top-interval | 瀑布流布局上下间距 | 0 | Number | - | 57 | | left-interval | 瀑布流布局左右间距 | 0 | Number | - | 58 | | width | 宽度,组件会根据宽度自动分配每行个数 | 320 | Number | - | 59 | | loading | 是否显示加载中的菊花图 | false | Boolean | - | 60 | | loading-color | 菊花图的颜色 | #969799 | String | - | 61 | | offset | 滚动条距离底部小于 `offset` 时触发 `load` 事件 | 200 | Number | - | 62 | | finished | 是否已加载完成,加载完成后不再触发 `load` 事件 | false | Boolean | - | 63 | | finished-txt | 加载完成后的提示文案,如不需要,设置空字符串 | 没有更多了~ | String | - | 64 | 65 | ### waterfall 事件 66 | 67 | | 事件名 | 说明 | 68 | | ------- | -----------------------------------------------------------| 69 | | load | 滚动条与底部距离小于 `offset` 时触发 | 70 | 71 | ### waterfall 方法 72 | 73 | | 方法名 | 说明 | 74 | | ------- | -----------------------------------------------------------| 75 | | reset | 重置瀑布流布局(此方法只重置组件内部高度于位置,外部状态需自己重置,如 finished 属性,页码,数据等)| 76 | 77 | ### waterfall 插槽 78 | 79 | | 方法名 | 说明 | 80 | | ------- | -----------------------------------------------------------| 81 | | default | 默认插槽,插入 waterfallSilde 组件 | 82 | | loading | 自定义 loading 效果 | 83 | 84 | ### waterfallSilde 属性 85 | 86 | | 属性 | 描述 | 默认值 | 类型 | 87 | | ------- | ----------------------------------------------------------- | ----------- | --------- | 88 | | prefetch | 是否需要预加载,在图片不定高时需要设置为 `true`,会预加载所有图片。 预加载时为了保证数据,会阻塞后续渲染 | false | Boolean| 89 | | imgs | 需要预加载的图片数组,数组每一项为图片 url | [ ] | string[ ] | 90 | ## 许可 91 | 92 | MIT@[geng452654716](https://github.com/geng452654716) 93 | -------------------------------------------------------------------------------- /.idea/codeStyles/Project.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | 13 | 23 | 24 | 26 | 27 | 28 | 31 | 32 | 33 | 43 | 44 | 45 | 50 | 51 | 52 | 53 | 56 | 57 | 58 | 78 | 79 | 80 | 82 | 83 | 84 | 85 | 87 | 88 | 89 | 90 | 92 | 93 | 94 | 95 | 97 | 98 | 99 | 100 | 104 | 105 | 106 | -------------------------------------------------------------------------------- /src/vue-waterfall/waterfall.vue: -------------------------------------------------------------------------------- 1 | 21 | 22 | 255 | 256 | 323 | -------------------------------------------------------------------------------- /src/dom/Home.vue: -------------------------------------------------------------------------------- 1 | 42 | 43 | 550 | 551 | 612 | -------------------------------------------------------------------------------- /lib/vue-waterfall-adaptive.js: -------------------------------------------------------------------------------- 1 | !function(t,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define("vueWaterfallAdaptive",[],n):"object"==typeof exports?exports.vueWaterfallAdaptive=n():t.vueWaterfallAdaptive=n()}(window,function(){return function(t){var n={};function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}return e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var i in t)e.d(r,i,function(n){return t[n]}.bind(null,i));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="/",e(e.s=97)}([function(t,n){var e=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=e)},function(t,n,e){var r=e(34)("wks"),i=e(35),o=e(0).Symbol,a="function"==typeof o;(t.exports=function(t){return r[t]||(r[t]=a&&o[t]||(a?o:i)("Symbol."+t))}).store=r},function(t,n){var e=t.exports={version:"2.6.5"};"number"==typeof __e&&(__e=e)},function(t,n,e){var r=e(8);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},function(t,n,e){var r=e(0),i=e(2),o=e(6),a=e(5),s=e(13),c=function(t,n,e){var u,f,l,d=t&c.F,h=t&c.G,p=t&c.S,v=t&c.P,y=t&c.B,m=t&c.W,g=h?i:i[n]||(i[n]={}),w=g.prototype,x=h?r:p?r[n]:(r[n]||{}).prototype;for(u in h&&(e=n),e)(f=!d&&x&&void 0!==x[u])&&s(g,u)||(l=f?x[u]:e[u],g[u]=h&&"function"!=typeof x[u]?e[u]:y&&f?o(l,r):m&&x[u]==l?function(t){var n=function(n,e,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(n);case 2:return new t(n,e)}return new t(n,e,r)}return t.apply(this,arguments)};return n.prototype=t.prototype,n}(l):v&&"function"==typeof l?o(Function.call,l):l,v&&((g.virtual||(g.virtual={}))[u]=l,t&c.R&&w&&!w[u]&&a(w,u,l)))};c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,t.exports=c},function(t,n,e){var r=e(7),i=e(22);t.exports=e(9)?function(t,n,e){return r.f(t,n,i(1,e))}:function(t,n,e){return t[n]=e,t}},function(t,n,e){var r=e(12);t.exports=function(t,n,e){if(r(t),void 0===n)return t;switch(e){case 1:return function(e){return t.call(n,e)};case 2:return function(e,r){return t.call(n,e,r)};case 3:return function(e,r,i){return t.call(n,e,r,i)}}return function(){return t.apply(n,arguments)}}},function(t,n,e){var r=e(3),i=e(56),o=e(57),a=Object.defineProperty;n.f=e(9)?Object.defineProperty:function(t,n,e){if(r(t),n=o(n,!0),r(e),i)try{return a(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported!");return"value"in e&&(t[n]=e.value),t}},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n,e){t.exports=!e(20)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,n){t.exports={}},function(t,n,e){t.exports=e(53)},function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,n){var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},function(t,n){var e={}.toString;t.exports=function(t){return e.call(t).slice(8,-1)}},function(t,n,e){var r=e(86);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals);(0,e(49).default)("13252ad1",r,!1,{})},function(t,n,e){var r=e(96);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals);(0,e(49).default)("1abb8174",r,!1,{})},function(t,n){var e=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:e)(t)}},function(t,n){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,n){t.exports=!0},function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,n,e){var r=e(8),i=e(0).document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n,e){var r=e(33),i=e(18);t.exports=function(t){return r(i(t))}},function(t,n,e){var r=e(17),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},function(t,n,e){var r=e(34)("keys"),i=e(35);t.exports=function(t){return r[t]||(r[t]=i(t))}},function(t,n,e){var r=e(7).f,i=e(13),o=e(1)("toStringTag");t.exports=function(t,n,e){t&&!i(t=e?t:t.prototype,o)&&r(t,o,{configurable:!0,value:n})}},function(t,n,e){var r=e(18);t.exports=function(t){return Object(r(t))}},function(t,n,e){"use strict";var r=e(12);function i(t){var n,e;this.promise=new t(function(t,r){if(void 0!==n||void 0!==e)throw TypeError("Bad Promise constructor");n=t,e=r}),this.resolve=r(n),this.reject=r(e)}t.exports.f=function(t){return new i(t)}},function(t,n,e){var r=e(48),i=e(90),o=e(94),a="Expected a function",s=Math.max,c=Math.min;t.exports=function(t,n,e){var u,f,l,d,h,p,v=0,y=!1,m=!1,g=!0;if("function"!=typeof t)throw new TypeError(a);function w(n){var e=u,r=f;return u=f=void 0,v=n,d=t.apply(r,e)}function x(t){var e=t-p;return void 0===p||e>=n||e<0||m&&t-v>=l}function _(){var t=i();if(x(t))return b(t);h=setTimeout(_,function(t){var e=n-(t-p);return m?c(e,l-(t-v)):e}(t))}function b(t){return h=void 0,g&&u?w(t):(u=f=void 0,d)}function S(){var t=i(),e=x(t);if(u=arguments,f=this,p=t,e){if(void 0===h)return function(t){return v=t,h=setTimeout(_,n),y?w(t):d}(p);if(m)return clearTimeout(h),h=setTimeout(_,n),w(p)}return void 0===h&&(h=setTimeout(_,n)),d}return n=o(n)||0,r(e)&&(y=!!e.leading,l=(m="maxWait"in e)?s(o(e.maxWait)||0,n):l,g="trailing"in e?!!e.trailing:g),S.cancel=function(){void 0!==h&&clearTimeout(h),v=0,u=p=f=h=void 0},S.flush=function(){return void 0===h?d:b(i())},S}},function(t,n,e){"use strict";var r=e(55)(!0);e(31)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,n=this._t,e=this._i;return e>=n.length?{value:void 0,done:!0}:(t=r(n,e),this._i+=t.length,{value:t,done:!1})})},function(t,n,e){"use strict";var r=e(19),i=e(4),o=e(58),a=e(5),s=e(10),c=e(59),u=e(26),f=e(65),l=e(1)("iterator"),d=!([].keys&&"next"in[].keys()),h=function(){return this};t.exports=function(t,n,e,p,v,y,m){c(e,n,p);var g,w,x,_=function(t){if(!d&&t in O)return O[t];switch(t){case"keys":case"values":return function(){return new e(this,t)}}return function(){return new e(this,t)}},b=n+" Iterator",S="values"==v,j=!1,O=t.prototype,T=O[l]||O["@@iterator"]||v&&O[v],E=T||_(v),C=v?S?_("entries"):E:void 0,L="Array"==n&&O.entries||T;if(L&&(x=f(L.call(new t)))!==Object.prototype&&x.next&&(u(x,b,!0),r||"function"==typeof x[l]||a(x,l,h)),S&&T&&"values"!==T.name&&(j=!0,E=function(){return T.call(this)}),r&&!m||!d&&!j&&O[l]||a(O,l,E),s[n]=E,s[b]=h,v)if(g={values:S?E:_("values"),keys:y?E:_("keys"),entries:C},m)for(w in g)w in O||o(O,w,g[w]);else i(i.P+i.F*(d||j),n,g);return g}},function(t,n,e){var r=e(62),i=e(36);t.exports=Object.keys||function(t){return r(t,i)}},function(t,n,e){var r=e(14);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,n,e){var r=e(2),i=e(0),o=i["__core-js_shared__"]||(i["__core-js_shared__"]={});(t.exports=function(t,n){return o[t]||(o[t]=void 0!==n?n:{})})("versions",[]).push({version:r.version,mode:e(19)?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(t,n){var e=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++e+r).toString(36))}},function(t,n){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,n,e){var r=e(0).document;t.exports=r&&r.documentElement},function(t,n,e){var r=e(14),i=e(1)("toStringTag"),o="Arguments"==r(function(){return arguments}());t.exports=function(t){var n,e,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(e=function(t,n){try{return t[n]}catch(t){}}(n=Object(t),i))?e:o?r(n):"Object"==(a=r(n))&&"function"==typeof n.callee?"Arguments":a}},function(t,n,e){var r=e(3);t.exports=function(t,n,e,i){try{return i?n(r(e)[0],e[1]):n(e)}catch(n){var o=t.return;throw void 0!==o&&r(o.call(t)),n}}},function(t,n,e){var r=e(10),i=e(1)("iterator"),o=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||o[i]===t)}},function(t,n,e){var r=e(38),i=e(1)("iterator"),o=e(10);t.exports=e(2).getIteratorMethod=function(t){if(null!=t)return t[i]||t["@@iterator"]||o[r(t)]}},function(t,n,e){var r=e(3),i=e(12),o=e(1)("species");t.exports=function(t,n){var e,a=r(t).constructor;return void 0===a||null==(e=r(a)[o])?n:i(e)}},function(t,n,e){var r,i,o,a=e(6),s=e(73),c=e(37),u=e(21),f=e(0),l=f.process,d=f.setImmediate,h=f.clearImmediate,p=f.MessageChannel,v=f.Dispatch,y=0,m={},g=function(){var t=+this;if(m.hasOwnProperty(t)){var n=m[t];delete m[t],n()}},w=function(t){g.call(t.data)};d&&h||(d=function(t){for(var n=[],e=1;arguments.length>e;)n.push(arguments[e++]);return m[++y]=function(){s("function"==typeof t?t:Function(t),n)},r(y),y},h=function(t){delete m[t]},"process"==e(14)(l)?r=function(t){l.nextTick(a(g,t,1))}:v&&v.now?r=function(t){v.now(a(g,t,1))}:p?(o=(i=new p).port2,i.port1.onmessage=w,r=a(o.postMessage,o,1)):f.addEventListener&&"function"==typeof postMessage&&!f.importScripts?(r=function(t){f.postMessage(t+"","*")},f.addEventListener("message",w,!1)):r="onreadystatechange"in u("script")?function(t){c.appendChild(u("script")).onreadystatechange=function(){c.removeChild(this),g.call(t)}}:function(t){setTimeout(a(g,t,1),0)}),t.exports={set:d,clear:h}},function(t,n){t.exports=function(t){try{return{e:!1,v:t()}}catch(t){return{e:!0,v:t}}}},function(t,n,e){var r=e(3),i=e(8),o=e(28);t.exports=function(t,n){if(r(t),i(n)&&n.constructor===t)return n;var e=o.f(t);return(0,e.resolve)(n),e.promise}},function(t,n,e){var r=e(1)("iterator"),i=!1;try{var o=[7][r]();o.return=function(){i=!0},Array.from(o,function(){throw 2})}catch(t){}t.exports=function(t,n){if(!n&&!i)return!1;var e=!1;try{var o=[7],a=o[r]();a.next=function(){return{done:e=!0}},o[r]=function(){return a},t(o)}catch(t){}return e}},function(t,n,e){"use strict";t.exports=function(t){var n=[];return n.toString=function(){return this.map(function(n){var e=function(t,n){var e=t[1]||"",r=t[3];if(!r)return e;if(n&&"function"==typeof btoa){var i=(a=r,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+" */"),o=r.sources.map(function(t){return"/*# sourceURL="+r.sourceRoot+t+" */"});return[e].concat(o).concat([i]).join("\n")}var a;return[e].join("\n")}(n,t);return n[2]?"@media "+n[2]+"{"+e+"}":e}).join("")},n.i=function(t,e){"string"==typeof t&&(t=[[null,t,""]]);for(var r={},i=0;ie.parts.length&&(r.parts.length=e.parts.length)}else{var a=[];for(i=0;i=u?t?"":void 0:(o=s.charCodeAt(c))<55296||o>56319||c+1===u||(a=s.charCodeAt(c+1))<56320||a>57343?t?s.charAt(c):o:t?s.slice(c,c+2):a-56320+(o-55296<<10)+65536}}},function(t,n,e){t.exports=!e(9)&&!e(20)(function(){return 7!=Object.defineProperty(e(21)("div"),"a",{get:function(){return 7}}).a})},function(t,n,e){var r=e(8);t.exports=function(t,n){if(!r(t))return t;var e,i;if(n&&"function"==typeof(e=t.toString)&&!r(i=e.call(t)))return i;if("function"==typeof(e=t.valueOf)&&!r(i=e.call(t)))return i;if(!n&&"function"==typeof(e=t.toString)&&!r(i=e.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},function(t,n,e){t.exports=e(5)},function(t,n,e){"use strict";var r=e(60),i=e(22),o=e(26),a={};e(5)(a,e(1)("iterator"),function(){return this}),t.exports=function(t,n,e){t.prototype=r(a,{next:i(1,e)}),o(t,n+" Iterator")}},function(t,n,e){var r=e(3),i=e(61),o=e(36),a=e(25)("IE_PROTO"),s=function(){},c=function(){var t,n=e(21)("iframe"),r=o.length;for(n.style.display="none",e(37).appendChild(n),n.src="javascript:",(t=n.contentWindow.document).open(),t.write("