diff --git a/.gitignore b/.gitignore index bcf386f8..4d591874 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,12 @@ -codes/news_rec_web/Vue-newsinfo/node_modules -./__pycache__ +/codes/news_recsys/news_rec_web/Vue-newsinfo/node_modules +/codes/news_recsys/news_rec_server/conf/__pycache__ +/codes/news_recsys/news_rec_server/controller/__pycache__ +/codes/news_recsys/news_rec_server/dao/__pycache__ +/codes/news_recsys/news_rec_server/dao/entity/__pycache__ +/codes/news_recsys/news_rec_server/logs +/codes/news_recsys/news_rec_server/materials/material_process/__pycache__ +/codes/news_recsys/news_rec_server/materials/news_scrapy/sinanews/__pycache__ +/codes/news_recsys/news_rec_server/materials/news_scrapy/sinanews/spiders/__pycache__ +/codes/news_recsys/news_rec_server/materials/user_process/__pycache__ +/codes/news_recsys/news_rec_server/recprocess/__pycache__ +/codes/news_recsys/news_rec_server/recprocess/recall/__pycache__ \ No newline at end of file diff --git a/codes/news_recsys/news_rec_web/Vue-newsinfo/.babelrc b/codes/news_recsys/news_rec_web/Vue-newsinfo/.babelrc new file mode 100644 index 00000000..42aaf86e --- /dev/null +++ b/codes/news_recsys/news_rec_web/Vue-newsinfo/.babelrc @@ -0,0 +1,19 @@ +{ + "presets": [ + "env", + "stage-0" + ], + "plugins": [ + "transform-runtime", + "transform-remove-strict-mode", + [ + "component", + [ + { + "libraryName": "mint-ui", + "style": true + } + ] + ] + ] +} \ No newline at end of file diff --git a/codes/news_recsys/news_rec_web/Vue-newsinfo/README.md b/codes/news_recsys/news_rec_web/Vue-newsinfo/README.md new file mode 100644 index 00000000..e218360a --- /dev/null +++ b/codes/news_recsys/news_rec_web/Vue-newsinfo/README.md @@ -0,0 +1,68 @@ +## 基于vue2.0的商城资讯 +*** +- 这个项目是跟着网上的视频一步一步做的,对于初学vue的同学来说,挺合适的,基本上vue入门的技术都涵盖了,可以全面的了解整个项目是怎么运作的,各个组件间的传值和交互,路由还有vuex的相关知识,因为是自己学习的项目里面写了大量的注释可供参考。 +- 项目学习到的知识点 + + 基于vue的框架mui Mint-ui的基本使用。 + + 基于nodejs的npm包管理工具、打包工具webpack和与之相对应的插件,以及babel的配置。 + + vue路由的相关知识,路由的配置和渲染以及编程式路由的使用。 + + vue-axios的使用,项目里调用接口都是用的这个异步ajax插件。 + + 全局组件、过滤器的使用。 + + watch和计算属性的使用。 + + vuex的使用--购物车里商品信息的同步都是基于vuex来实现的。 + +## 运行 +> 1. 本地安装node环境,下载项目,在项目根目录命令行输入命令`npm install`安装依赖包 +> 2. 运行`npm run dev`启动项目 +> 3. 访问地址`http://localhost:3000` + + + +## 项目截图 + +![image](https://s2.ax1x.com/2019/08/24/msoWNT.png) + +![image](https://s2.ax1x.com/2019/08/24/msTTJS.png) + +![image](https://s2.ax1x.com/2019/08/24/msT5If.png) + +![image](https://s2.ax1x.com/2019/08/24/msTqMj.png) + +![image](https://s2.ax1x.com/2019/08/24/msToi8.png) + +![image](https://s2.ax1x.com/2019/08/24/msT7Rg.png) + +![image](https://s2.ax1x.com/2019/08/24/msTLss.png) + +![image](https://s2.ax1x.com/2019/08/24/msTOLn.png) + +![image](https://s2.ax1x.com/2019/08/24/msTjZq.png) + +![image](https://s2.ax1x.com/2019/08/24/msTvd0.png) + +## PS: +感谢黑马老师提供的接口`http://www.liulongbin.top:3005`,确实讲的挺好,目前还一直提供使用,大家需要这个视频的话可以去bilibili搜索vue教程-黑马。 + +"d11c2736-0a1d-46e8-8c22-e12909723f81" + +/recsys/news_detail + +http://10.170.1.181:3000/recsys/news_detail?news_id=d11c2736-0a1d-46e8-8c22-e12909723f81 + + +http://10.170.1.181:8686/#/NewsLists + +## 注册时候的信息 +1. user_name +2. pass_wd +3. nick_name +4. age +5. gender +6. city + + +http://10.170.1.181:3000/recsys/register + + +https://github.com/JerryYuanJ/a-vue-app-template + +http://elemefe.github.io/mint-ui/#/button \ No newline at end of file diff --git a/codes/news_recsys/news_rec_web/Vue-newsinfo/package-lock.json b/codes/news_recsys/news_rec_web/Vue-newsinfo/package-lock.json new file mode 100644 index 00000000..9cc406da --- /dev/null +++ b/codes/news_recsys/news_rec_web/Vue-newsinfo/package-lock.json @@ -0,0 +1,8391 @@ +{ + "name": "0807_H5", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/helper-module-imports": { + "version": "7.0.0-beta.35", + "resolved": "https://registry.nlark.com/@babel/helper-module-imports/download/@babel/helper-module-imports-7.0.0-beta.35.tgz", + "integrity": "sha1-MI41DnMXUs200PBY3x1wSSXGTgo=", + "dev": true, + "requires": { + "@babel/types": "7.0.0-beta.35", + "lodash": "^4.2.0" + } + }, + "@babel/runtime": { + "version": "7.16.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.3.tgz", + "integrity": "sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ==", + "requires": { + "regenerator-runtime": "^0.13.4" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + } + } + }, + "@babel/types": { + "version": "7.0.0-beta.35", + "resolved": "https://registry.nlark.com/@babel/types/download/@babel/types-7.0.0-beta.35.tgz?cache=0&sync_timestamp=1631216408117&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.0.0-beta.35.tgz", + "integrity": "sha1-z5M6mpo4SEynJLM1uI2Dcm1auWA=", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.2.0", + "to-fast-properties": "^2.0.0" + }, + "dependencies": { + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz?cache=0&sync_timestamp=1628418893613&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fto-fast-properties%2Fdownload%2Fto-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + } + } + }, + "@popperjs/core": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.10.2.tgz", + "integrity": "sha512-IXf3XA7+XyN7CP9gGh/XB0UxVMlvARGEgGXLubFICsUMGz6Q+DU+i4gGlpOxTjKvXjkJDJC8YdqdKkDj9qZHEQ==" + }, + "@types/glob": { + "version": "7.1.4", + "resolved": "https://registry.nlark.com/@types/glob/download/@types/glob-7.1.4.tgz", + "integrity": "sha1-6lniHS7lxReRTLS8jkFTuZ5WZnI=", + "dev": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/json-schema": { + "version": "7.0.9", + "resolved": "https://registry.nlark.com/@types/json-schema/download/@types/json-schema-7.0.9.tgz", + "integrity": "sha1-l+3JA36gw4WFMgsolk3eOznkZg0=", + "dev": true + }, + "@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.nlark.com/@types/minimatch/download/@types/minimatch-3.0.5.tgz?cache=0&sync_timestamp=1629708337307&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fminimatch%2Fdownload%2F%40types%2Fminimatch-3.0.5.tgz", + "integrity": "sha1-EAHMXmo3BLg8I2An538vWOoBD0A=", + "dev": true + }, + "@types/node": { + "version": "16.10.3", + "resolved": "https://registry.npmmirror.com/@types/node/download/@types/node-16.10.3.tgz?cache=0&sync_timestamp=1633469237867&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-16.10.3.tgz", + "integrity": "sha1-eo8oOGA+oxTR0iuzFx2JnhXFe9U=", + "dev": true + }, + "@vant/area-data": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@vant/area-data/-/area-data-1.1.3.tgz", + "integrity": "sha512-RLPVLVG7tINIASaKfLXZGw8Z83S9DDuln0CPDwAASSNmUb7busFWPVZKscP79znTErkog7kdfAQMtN9+oz7PHQ==" + }, + "@vant/icons": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@vant/icons/-/icons-1.7.1.tgz", + "integrity": "sha512-66LPEq89w4kl258nALZcRNd14eUJC8VajvTJwvZKOaZawz6CUeVZ6ybhedTUhQhRjeA8SyWD7dFt4ALf33Sabw==" + }, + "@vant/popperjs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@vant/popperjs/-/popperjs-1.1.0.tgz", + "integrity": "sha512-8MD1gz146awV/uPxYjz4pet22f7a9YVKqk7T+gFkWFwT9mEcrIUEg/xPrdOnWKLP9puXyYtm7oVfSDSefZ/p/w==", + "requires": { + "@popperjs/core": "^2.9.2" + } + }, + "@vue/babel-helper-vue-jsx-merge-props": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.2.1.tgz", + "integrity": "sha512-QOi5OW45e2R20VygMSNhyQHvpdUwQZqGPc748JLGCYEy+yp8fNFNdbNIGAgZmi9e+2JHPd6i6idRuqivyicIkA==" + }, + "@vue/component-compiler-utils": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/@vue/component-compiler-utils/download/@vue/component-compiler-utils-3.2.2.tgz", + "integrity": "sha1-L37V/u2C/38ChKzBHVJe5+/yJGA=", + "dev": true, + "requires": { + "consolidate": "^0.15.1", + "hash-sum": "^1.0.2", + "lru-cache": "^4.1.2", + "merge-source-map": "^1.1.0", + "postcss": "^7.0.36", + "postcss-selector-parser": "^6.0.2", + "prettier": "^1.18.2", + "source-map": "~0.6.1", + "vue-template-es2015-compiler": "^1.9.0" + }, + "dependencies": { + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.nlark.com/lru-cache/download/lru-cache-4.1.5.tgz", + "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz?cache=0&sync_timestamp=1593529658602&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.nlark.com/yallist/download/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } + } + }, + "@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.nlark.com/@webassemblyjs/ast/download/@webassemblyjs/ast-1.9.0.tgz?cache=0&sync_timestamp=1625473420080&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fast%2Fdownload%2F%40webassemblyjs%2Fast-1.9.0.tgz", + "integrity": "sha1-vYUGBLQEJFmlpBzX0zjL7Wle2WQ=", + "requires": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.nlark.com/@webassemblyjs/floating-point-hex-parser/download/@webassemblyjs/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha1-PD07Jxvd/ITesA9xNEQ4MR1S/7Q=" + }, + "@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.nlark.com/@webassemblyjs/helper-api-error/download/@webassemblyjs/helper-api-error-1.9.0.tgz?cache=0&sync_timestamp=1625473346773&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fhelper-api-error%2Fdownload%2F%40webassemblyjs%2Fhelper-api-error-1.9.0.tgz", + "integrity": "sha1-ID9nbjM7lsnaLuqzzO8zxFkotqI=" + }, + "@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.nlark.com/@webassemblyjs/helper-buffer/download/@webassemblyjs/helper-buffer-1.9.0.tgz", + "integrity": "sha1-oUQtJpxf6yP8vJ73WdrDVH8p3gA=" + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.nlark.com/@webassemblyjs/helper-code-frame/download/@webassemblyjs/helper-code-frame-1.9.0.tgz?cache=0&sync_timestamp=1625473466896&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fhelper-code-frame%2Fdownload%2F%40webassemblyjs%2Fhelper-code-frame-1.9.0.tgz", + "integrity": "sha1-ZH+Iks0gQ6gqwMjF51w28dkVnyc=", + "requires": { + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.nlark.com/@webassemblyjs/helper-fsm/download/@webassemblyjs/helper-fsm-1.9.0.tgz", + "integrity": "sha1-wFJWtxJEIUZx9LCOwQitY7cO3bg=" + }, + "@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.nlark.com/@webassemblyjs/helper-module-context/download/@webassemblyjs/helper-module-context-1.9.0.tgz", + "integrity": "sha1-JdiIS3aDmHGgimxvgGw5ee9xLwc=", + "requires": { + "@webassemblyjs/ast": "1.9.0" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.nlark.com/@webassemblyjs/helper-wasm-bytecode/download/@webassemblyjs/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha1-T+2L6sm4wU+MWLcNEk1UndH+V5A=" + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.nlark.com/@webassemblyjs/helper-wasm-section/download/@webassemblyjs/helper-wasm-section-1.9.0.tgz?cache=0&sync_timestamp=1625473420411&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fhelper-wasm-section%2Fdownload%2F%40webassemblyjs%2Fhelper-wasm-section-1.9.0.tgz", + "integrity": "sha1-WkE41aYpK6GLBMWuSXF+QWeWU0Y=", + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.nlark.com/@webassemblyjs/ieee754/download/@webassemblyjs/ieee754-1.9.0.tgz", + "integrity": "sha1-Fceg+6roP7JhQ7us9tbfFwKtOeQ=", + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.nlark.com/@webassemblyjs/leb128/download/@webassemblyjs/leb128-1.9.0.tgz", + "integrity": "sha1-8Zygt2ptxVYjoJz/p2noOPoeHJU=", + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.nlark.com/@webassemblyjs/utf8/download/@webassemblyjs/utf8-1.9.0.tgz", + "integrity": "sha1-BNM7Y2945qaBMifoJAL3Y3tiKas=" + }, + "@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.nlark.com/@webassemblyjs/wasm-edit/download/@webassemblyjs/wasm-edit-1.9.0.tgz?cache=0&sync_timestamp=1625473422937&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fwasm-edit%2Fdownload%2F%40webassemblyjs%2Fwasm-edit-1.9.0.tgz", + "integrity": "sha1-P+bXnT8PkiGDqoYALELdJWz+6c8=", + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.nlark.com/@webassemblyjs/wasm-gen/download/@webassemblyjs/wasm-gen-1.9.0.tgz?cache=0&sync_timestamp=1625473464969&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fwasm-gen%2Fdownload%2F%40webassemblyjs%2Fwasm-gen-1.9.0.tgz", + "integrity": "sha1-ULxw7Gje2OJ2OwGhQYv0NJGnpJw=", + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.nlark.com/@webassemblyjs/wasm-opt/download/@webassemblyjs/wasm-opt-1.9.0.tgz?cache=0&sync_timestamp=1625473467198&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fwasm-opt%2Fdownload%2F%40webassemblyjs%2Fwasm-opt-1.9.0.tgz", + "integrity": "sha1-IhEYHlsxMmRDzIES658LkChyGmE=", + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.nlark.com/@webassemblyjs/wasm-parser/download/@webassemblyjs/wasm-parser-1.9.0.tgz?cache=0&sync_timestamp=1625473417746&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fwasm-parser%2Fdownload%2F%40webassemblyjs%2Fwasm-parser-1.9.0.tgz", + "integrity": "sha1-nUjkSCbfSmWYKUqmyHRp1kL/9l4=", + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.nlark.com/@webassemblyjs/wast-parser/download/@webassemblyjs/wast-parser-1.9.0.tgz?cache=0&sync_timestamp=1625473467847&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fwast-parser%2Fdownload%2F%40webassemblyjs%2Fwast-parser-1.9.0.tgz", + "integrity": "sha1-MDERXXmsW9JhVWzsw/qQo+9FGRQ=", + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.nlark.com/@webassemblyjs/wast-printer/download/@webassemblyjs/wast-printer-1.9.0.tgz?cache=0&sync_timestamp=1625473465901&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fwast-printer%2Fdownload%2F%40webassemblyjs%2Fwast-printer-1.9.0.tgz", + "integrity": "sha1-STXVTIX+9jewDOn1I3dFHQDUeJk=", + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/@xtuc/ieee754/download/@xtuc/ieee754-1.2.0.tgz", + "integrity": "sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A=" + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npm.taobao.org/@xtuc/long/download/@xtuc/long-4.2.2.tgz", + "integrity": "sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0=" + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/abbrev/download/abbrev-1.1.1.tgz", + "integrity": "sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg=", + "dev": true + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.nlark.com/accepts/download/accepts-1.3.7.tgz", + "integrity": "sha1-UxvHJlF6OytB+FACHGzBXqq1B80=", + "dev": true, + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "acorn": { + "version": "6.4.2", + "resolved": "https://registry.nlark.com/acorn/download/acorn-6.4.2.tgz", + "integrity": "sha1-NYZv1xBSjpLeEM8GAWSY5H454eY=" + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.nlark.com/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1631471007166&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fajv%2Fdownload%2Fajv-6.12.6.tgz", + "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/ajv-errors/download/ajv-errors-1.0.1.tgz", + "integrity": "sha1-81mGrOuRr63sQQL72FAUlQzvpk0=" + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-3.5.2.tgz", + "integrity": "sha1-MfKdpatuANHC0yms97WSlhTVAU0=" + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/amdefine/download/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npm.taobao.org/ansi-colors/download/ansi-colors-3.2.4.tgz", + "integrity": "sha1-46PaS/uubIapwoViXeEkojQCb78=", + "dev": true + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.nlark.com/ansi-html/download/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-2.1.1.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-3.1.2.tgz?cache=0&sync_timestamp=1617747806715&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fanymatch%2Fdownload%2Fanymatch-3.1.2.tgz", + "integrity": "sha1-wFV8CWrzLxBhmPT04qODU343hxY=", + "optional": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.nlark.com/aproba/download/aproba-1.2.0.tgz", + "integrity": "sha1-aALmJk79GMeQobDVF/DyYnvyyUo=" + }, + "are-we-there-yet": { + "version": "1.1.7", + "resolved": "https://registry.nlark.com/are-we-there-yet/download/are-we-there-yet-1.1.7.tgz?cache=0&sync_timestamp=1630592923226&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fare-we-there-yet%2Fdownload%2Fare-we-there-yet-1.1.7.tgz", + "integrity": "sha1-sVR0qTKtq0/4pQ2a36fk6SbyEUY=", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/arr-diff/download/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/arr-flatten/download/arr-flatten-1.1.0.tgz", + "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=" + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/arr-union/download/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/array-find-index/download/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=" + }, + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.nlark.com/array-flatten/download/array-flatten-2.1.2.tgz", + "integrity": "sha1-JO+AoowaiTYX4hSbDG0NeIKTsJk=", + "dev": true + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/array-union/download/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.nlark.com/array-uniq/download/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.nlark.com/array-unique/download/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.nlark.com/asn1/download/asn1-0.2.4.tgz", + "integrity": "sha1-jSR136tVO7M+d7VOWeiAu4ziMTY=", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npm.taobao.org/asn1.js/download/asn1.js-5.4.1.tgz", + "integrity": "sha1-EamAuE67kXgc41sP3C7ilON4Pwc=", + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz", + "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=" + } + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.nlark.com/assert/download/assert-1.5.0.tgz", + "integrity": "sha1-VcEJqvbgrv2z3EtxJAxwv1dLGOs=", + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/inherits/download/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.nlark.com/util/download/util-0.10.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Futil%2Fdownload%2Futil-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/assign-symbols/download/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + }, + "async": { + "version": "0.2.10", + "resolved": "https://registry.nlark.com/async/download/async-0.2.10.tgz?cache=0&sync_timestamp=1628205815983&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fasync%2Fdownload%2Fasync-0.2.10.tgz", + "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=" + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.nlark.com/async-each/download/async-each-1.0.3.tgz", + "integrity": "sha1-tyfb+H12UWAvBvTUrDh/R9kbDL8=" + }, + "async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.nlark.com/async-foreach/download/async-foreach-0.1.3.tgz", + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", + "dev": true + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/async-limiter/download/async-limiter-1.0.1.tgz", + "integrity": "sha1-3TeelPDbgxCwgpH51kwyCXZmF/0=", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.nlark.com/atob/download/atob-2.1.2.tgz", + "integrity": "sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k=" + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.nlark.com/aws-sign2/download/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.11.0", + "resolved": "https://registry.nlark.com/aws4/download/aws4-1.11.0.tgz", + "integrity": "sha1-1h9G2DslGSUOJ4Ta9bCUeai0HFk=", + "dev": true + }, + "axios": { + "version": "0.19.2", + "resolved": "https://registry.npmmirror.com/axios/download/axios-0.19.2.tgz?cache=0&sync_timestamp=1633067760110&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Faxios%2Fdownload%2Faxios-0.19.2.tgz", + "integrity": "sha1-PqNsXYgY0NX4qKl6bTa4bNwAyyc=", + "requires": { + "follow-redirects": "1.5.10" + } + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.nlark.com/babel-code-frame/download/babel-code-frame-6.26.0.tgz?cache=0&sync_timestamp=1618847032171&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbabel-code-frame%2Fdownload%2Fbabel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + } + }, + "babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npm.taobao.org/babel-core/download/babel-core-6.26.3.tgz", + "integrity": "sha1-suLwnjQtDwyI4vAuBneUEl51wgc=", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.nlark.com/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.nlark.com/json5/download/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + } + } + }, + "babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.nlark.com/babel-generator/download/babel-generator-6.26.1.tgz", + "integrity": "sha1-GERAjTuPDTWkBOp6wYDwh6YBvZA=", + "dev": true, + "requires": { + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" + } + }, + "babel-helper-bindify-decorators": { + "version": "6.24.1", + "resolved": "https://registry.nlark.com/babel-helper-bindify-decorators/download/babel-helper-bindify-decorators-6.24.1.tgz", + "integrity": "sha1-FMGeXxQte0fxmlJDHlKxzLxAozA=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-builder-binary-assignment-operator-visitor": { + "version": "6.24.1", + "resolved": "https://registry.nlark.com/babel-helper-builder-binary-assignment-operator-visitor/download/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", + "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", + "dev": true, + "requires": { + "babel-helper-explode-assignable-expression": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-call-delegate": { + "version": "6.24.1", + "resolved": "https://registry.nlark.com/babel-helper-call-delegate/download/babel-helper-call-delegate-6.24.1.tgz", + "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-define-map": { + "version": "6.26.0", + "resolved": "https://registry.nlark.com/babel-helper-define-map/download/babel-helper-define-map-6.26.0.tgz", + "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-helper-explode-assignable-expression": { + "version": "6.24.1", + "resolved": "https://registry.nlark.com/babel-helper-explode-assignable-expression/download/babel-helper-explode-assignable-expression-6.24.1.tgz", + "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-explode-class": { + "version": "6.24.1", + "resolved": "https://registry.nlark.com/babel-helper-explode-class/download/babel-helper-explode-class-6.24.1.tgz", + "integrity": "sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes=", + "dev": true, + "requires": { + "babel-helper-bindify-decorators": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.nlark.com/babel-helper-function-name/download/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "dev": true, + "requires": { + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.nlark.com/babel-helper-get-function-arity/download/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-hoist-variables": { + "version": "6.24.1", + "resolved": "https://registry.nlark.com/babel-helper-hoist-variables/download/babel-helper-hoist-variables-6.24.1.tgz", + "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-optimise-call-expression": { + "version": "6.24.1", + "resolved": "https://registry.nlark.com/babel-helper-optimise-call-expression/download/babel-helper-optimise-call-expression-6.24.1.tgz", + "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-regex": { + "version": "6.26.0", + "resolved": "https://registry.nlark.com/babel-helper-regex/download/babel-helper-regex-6.26.0.tgz", + "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-helper-remap-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.nlark.com/babel-helper-remap-async-to-generator/download/babel-helper-remap-async-to-generator-6.24.1.tgz", + "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-replace-supers": { + "version": "6.24.1", + "resolved": "https://registry.nlark.com/babel-helper-replace-supers/download/babel-helper-replace-supers-6.24.1.tgz", + "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", + "dev": true, + "requires": { + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.nlark.com/babel-helpers/download/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-loader": { + "version": "7.1.5", + "resolved": "https://registry.nlark.com/babel-loader/download/babel-loader-7.1.5.tgz?cache=0&sync_timestamp=1618846871098&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbabel-loader%2Fdownload%2Fbabel-loader-7.1.5.tgz", + "integrity": "sha1-4+4M1zlKpVfgE7AtPkkr/QeqbWg=", + "dev": true, + "requires": { + "find-cache-dir": "^1.0.0", + "loader-utils": "^1.0.2", + "mkdirp": "^0.5.1" + }, + "dependencies": { + "find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/find-cache-dir/download/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^2.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/find-up/download/find-up-2.1.0.tgz?cache=0&sync_timestamp=1633618659233&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ffind-up%2Fdownload%2Ffind-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/locate-path/download/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.nlark.com/make-dir/download/make-dir-1.3.0.tgz", + "integrity": "sha1-ecEDO4BRW9bSTsmTPoYMp17ifww=", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.nlark.com/p-limit/download/p-limit-1.3.0.tgz", + "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/p-locate/download/p-locate-2.0.0.tgz?cache=0&sync_timestamp=1629892708584&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-locate%2Fdownload%2Fp-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/p-try/download/p-try-1.0.0.tgz?cache=0&sync_timestamp=1633364462890&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fp-try%2Fdownload%2Fp-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/pify/download/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/pkg-dir/download/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + } + } + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.nlark.com/babel-messages/download/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-plugin-check-es2015-constants/download/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-component": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/babel-plugin-component/download/babel-plugin-component-1.1.1.tgz", + "integrity": "sha1-mwI6I/9cmq4P1WxaGLnKuMTUXuo=", + "dev": true, + "requires": { + "@babel/helper-module-imports": "7.0.0-beta.35" + } + }, + "babel-plugin-syntax-async-functions": { + "version": "6.13.0", + "resolved": "https://registry.nlark.com/babel-plugin-syntax-async-functions/download/babel-plugin-syntax-async-functions-6.13.0.tgz", + "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", + "dev": true + }, + "babel-plugin-syntax-async-generators": { + "version": "6.13.0", + "resolved": "https://registry.nlark.com/babel-plugin-syntax-async-generators/download/babel-plugin-syntax-async-generators-6.13.0.tgz", + "integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=", + "dev": true + }, + "babel-plugin-syntax-class-constructor-call": { + "version": "6.18.0", + "resolved": "https://registry.nlark.com/babel-plugin-syntax-class-constructor-call/download/babel-plugin-syntax-class-constructor-call-6.18.0.tgz", + "integrity": "sha1-nLnTn+Q8hgC+yBRkVt3L1OGnZBY=", + "dev": true + }, + "babel-plugin-syntax-class-properties": { + "version": "6.13.0", + "resolved": "https://registry.nlark.com/babel-plugin-syntax-class-properties/download/babel-plugin-syntax-class-properties-6.13.0.tgz", + "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=", + "dev": true + }, + "babel-plugin-syntax-decorators": { + "version": "6.13.0", + "resolved": "https://registry.nlark.com/babel-plugin-syntax-decorators/download/babel-plugin-syntax-decorators-6.13.0.tgz", + "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=", + "dev": true + }, + "babel-plugin-syntax-do-expressions": { + "version": "6.13.0", + "resolved": "https://registry.nlark.com/babel-plugin-syntax-do-expressions/download/babel-plugin-syntax-do-expressions-6.13.0.tgz", + "integrity": "sha1-V0d1YTmqJtOQ0JQQsDdEugfkeW0=", + "dev": true + }, + "babel-plugin-syntax-dynamic-import": { + "version": "6.18.0", + "resolved": "https://registry.nlark.com/babel-plugin-syntax-dynamic-import/download/babel-plugin-syntax-dynamic-import-6.18.0.tgz", + "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=", + "dev": true + }, + "babel-plugin-syntax-exponentiation-operator": { + "version": "6.13.0", + "resolved": "https://registry.nlark.com/babel-plugin-syntax-exponentiation-operator/download/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", + "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", + "dev": true + }, + "babel-plugin-syntax-export-extensions": { + "version": "6.13.0", + "resolved": "https://registry.nlark.com/babel-plugin-syntax-export-extensions/download/babel-plugin-syntax-export-extensions-6.13.0.tgz", + "integrity": "sha1-cKFITw+QiaToStRLrDU8lbmxJyE=", + "dev": true + }, + "babel-plugin-syntax-function-bind": { + "version": "6.13.0", + "resolved": "https://registry.nlark.com/babel-plugin-syntax-function-bind/download/babel-plugin-syntax-function-bind-6.13.0.tgz", + "integrity": "sha1-SMSV8Xe98xqYHnMvVa3AvdJgH0Y=", + "dev": true + }, + "babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.nlark.com/babel-plugin-syntax-object-rest-spread/download/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", + "dev": true + }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-plugin-syntax-trailing-function-commas/download/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", + "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", + "dev": true + }, + "babel-plugin-transform-async-generator-functions": { + "version": "6.24.1", + "resolved": "https://registry.nlark.com/babel-plugin-transform-async-generator-functions/download/babel-plugin-transform-async-generator-functions-6.24.1.tgz", + "integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=", + "dev": true, + "requires": { + "babel-helper-remap-async-to-generator": "^6.24.1", + "babel-plugin-syntax-async-generators": "^6.5.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.nlark.com/babel-plugin-transform-async-to-generator/download/babel-plugin-transform-async-to-generator-6.24.1.tgz", + "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", + "dev": true, + "requires": { + "babel-helper-remap-async-to-generator": "^6.24.1", + "babel-plugin-syntax-async-functions": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-class-constructor-call": { + "version": "6.24.1", + "resolved": "https://registry.nlark.com/babel-plugin-transform-class-constructor-call/download/babel-plugin-transform-class-constructor-call-6.24.1.tgz", + "integrity": "sha1-gNwoVQWsBn3LjWxl4vbxGrd2Xvk=", + "dev": true, + "requires": { + "babel-plugin-syntax-class-constructor-call": "^6.18.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-class-properties": { + "version": "6.24.1", + "resolved": "https://registry.nlark.com/babel-plugin-transform-class-properties/download/babel-plugin-transform-class-properties-6.24.1.tgz?cache=0&sync_timestamp=1624608044292&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbabel-plugin-transform-class-properties%2Fdownload%2Fbabel-plugin-transform-class-properties-6.24.1.tgz", + "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-plugin-syntax-class-properties": "^6.8.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-decorators": { + "version": "6.24.1", + "resolved": "https://registry.nlark.com/babel-plugin-transform-decorators/download/babel-plugin-transform-decorators-6.24.1.tgz", + "integrity": "sha1-eIAT2PjGtSIr33s0Q5Df13Vp4k0=", + "dev": true, + "requires": { + "babel-helper-explode-class": "^6.24.1", + "babel-plugin-syntax-decorators": "^6.13.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-do-expressions": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-do-expressions/download/babel-plugin-transform-do-expressions-6.22.0.tgz", + "integrity": "sha1-KMyvkoEtlJws0SgfaQyP3EaK6bs=", + "dev": true, + "requires": { + "babel-plugin-syntax-do-expressions": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-arrow-functions/download/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-block-scoped-functions/download/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-block-scoping": { + "version": "6.26.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-block-scoping/download/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", + "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-plugin-transform-es2015-classes": { + "version": "6.24.1", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-classes/download/babel-plugin-transform-es2015-classes-6.24.1.tgz", + "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", + "dev": true, + "requires": { + "babel-helper-define-map": "^6.24.1", + "babel-helper-function-name": "^6.24.1", + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-helper-replace-supers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-computed-properties": { + "version": "6.24.1", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-computed-properties/download/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", + "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-destructuring/download/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.24.1", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-duplicate-keys/download/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", + "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-for-of/download/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-function-name/download/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-literals/download/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-modules-amd": { + "version": "6.24.1", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-modules-amd/download/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", + "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.2", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-modules-commonjs/download/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", + "integrity": "sha1-WKeThjqefKhwvcWogRF/+sJ9tvM=", + "dev": true, + "requires": { + "babel-plugin-transform-strict-mode": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.24.1", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-modules-systemjs/download/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", + "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-modules-umd": { + "version": "6.24.1", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-modules-umd/download/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", + "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-object-super": { + "version": "6.24.1", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-object-super/download/babel-plugin-transform-es2015-object-super-6.24.1.tgz", + "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", + "dev": true, + "requires": { + "babel-helper-replace-supers": "^6.24.1", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-parameters/download/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", + "dev": true, + "requires": { + "babel-helper-call-delegate": "^6.24.1", + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.24.1", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-shorthand-properties/download/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", + "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-spread/download/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-sticky-regex/download/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", + "dev": true, + "requires": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-template-literals/download/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-typeof-symbol/download/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-unicode-regex/download/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", + "dev": true, + "requires": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "regexpu-core": "^2.0.0" + } + }, + "babel-plugin-transform-exponentiation-operator": { + "version": "6.24.1", + "resolved": "https://registry.nlark.com/babel-plugin-transform-exponentiation-operator/download/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", + "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", + "dev": true, + "requires": { + "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", + "babel-plugin-syntax-exponentiation-operator": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-export-extensions": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-export-extensions/download/babel-plugin-transform-export-extensions-6.22.0.tgz", + "integrity": "sha1-U3OLR+deghhYnuqUbLvTkQm75lM=", + "dev": true, + "requires": { + "babel-plugin-syntax-export-extensions": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-function-bind": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-function-bind/download/babel-plugin-transform-function-bind-6.22.0.tgz", + "integrity": "sha1-xvuOlqwpajELjPjqQBRiQH3fapc=", + "dev": true, + "requires": { + "babel-plugin-syntax-function-bind": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-object-rest-spread": { + "version": "6.26.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-object-rest-spread/download/babel-plugin-transform-object-rest-spread-6.26.0.tgz?cache=0&sync_timestamp=1624608042865&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbabel-plugin-transform-object-rest-spread%2Fdownload%2Fbabel-plugin-transform-object-rest-spread-6.26.0.tgz", + "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", + "dev": true, + "requires": { + "babel-plugin-syntax-object-rest-spread": "^6.8.0", + "babel-runtime": "^6.26.0" + } + }, + "babel-plugin-transform-regenerator": { + "version": "6.26.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-regenerator/download/babel-plugin-transform-regenerator-6.26.0.tgz", + "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", + "dev": true, + "requires": { + "regenerator-transform": "^0.10.0" + } + }, + "babel-plugin-transform-remove-strict-mode": { + "version": "0.0.2", + "resolved": "https://registry.nlark.com/babel-plugin-transform-remove-strict-mode/download/babel-plugin-transform-remove-strict-mode-0.0.2.tgz", + "integrity": "sha1-kTaFqrlUOfOg7YjliPvV6ZeJBXk=", + "dev": true + }, + "babel-plugin-transform-runtime": { + "version": "6.23.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-runtime/download/babel-plugin-transform-runtime-6.23.0.tgz", + "integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.nlark.com/babel-plugin-transform-strict-mode/download/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-preset-env": { + "version": "1.7.0", + "resolved": "https://registry.nlark.com/babel-preset-env/download/babel-preset-env-1.7.0.tgz?cache=0&sync_timestamp=1624607954115&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbabel-preset-env%2Fdownload%2Fbabel-preset-env-1.7.0.tgz", + "integrity": "sha1-3qefpOvriDzTXasH4mDBycBN93o=", + "dev": true, + "requires": { + "babel-plugin-check-es2015-constants": "^6.22.0", + "babel-plugin-syntax-trailing-function-commas": "^6.22.0", + "babel-plugin-transform-async-to-generator": "^6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoping": "^6.23.0", + "babel-plugin-transform-es2015-classes": "^6.23.0", + "babel-plugin-transform-es2015-computed-properties": "^6.22.0", + "babel-plugin-transform-es2015-destructuring": "^6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", + "babel-plugin-transform-es2015-for-of": "^6.23.0", + "babel-plugin-transform-es2015-function-name": "^6.22.0", + "babel-plugin-transform-es2015-literals": "^6.22.0", + "babel-plugin-transform-es2015-modules-amd": "^6.22.0", + "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-umd": "^6.23.0", + "babel-plugin-transform-es2015-object-super": "^6.22.0", + "babel-plugin-transform-es2015-parameters": "^6.23.0", + "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0", + "babel-plugin-transform-es2015-spread": "^6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.22.0", + "babel-plugin-transform-es2015-template-literals": "^6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", + "babel-plugin-transform-exponentiation-operator": "^6.22.0", + "babel-plugin-transform-regenerator": "^6.22.0", + "browserslist": "^3.2.6", + "invariant": "^2.2.2", + "semver": "^5.3.0" + } + }, + "babel-preset-es2015": { + "version": "6.24.1", + "resolved": "https://registry.nlark.com/babel-preset-es2015/download/babel-preset-es2015-6.24.1.tgz?cache=0&sync_timestamp=1624608120596&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbabel-preset-es2015%2Fdownload%2Fbabel-preset-es2015-6.24.1.tgz", + "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=", + "dev": true, + "requires": { + "babel-plugin-check-es2015-constants": "^6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoping": "^6.24.1", + "babel-plugin-transform-es2015-classes": "^6.24.1", + "babel-plugin-transform-es2015-computed-properties": "^6.24.1", + "babel-plugin-transform-es2015-destructuring": "^6.22.0", + "babel-plugin-transform-es2015-duplicate-keys": "^6.24.1", + "babel-plugin-transform-es2015-for-of": "^6.22.0", + "babel-plugin-transform-es2015-function-name": "^6.24.1", + "babel-plugin-transform-es2015-literals": "^6.22.0", + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-plugin-transform-es2015-modules-systemjs": "^6.24.1", + "babel-plugin-transform-es2015-modules-umd": "^6.24.1", + "babel-plugin-transform-es2015-object-super": "^6.24.1", + "babel-plugin-transform-es2015-parameters": "^6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "^6.24.1", + "babel-plugin-transform-es2015-spread": "^6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.24.1", + "babel-plugin-transform-es2015-template-literals": "^6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "^6.22.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.24.1", + "babel-plugin-transform-regenerator": "^6.24.1" + } + }, + "babel-preset-stage-0": { + "version": "6.24.1", + "resolved": "https://registry.nlark.com/babel-preset-stage-0/download/babel-preset-stage-0-6.24.1.tgz", + "integrity": "sha1-VkLRUEL5E4TX5a+LyIsduVsDnmo=", + "dev": true, + "requires": { + "babel-plugin-transform-do-expressions": "^6.22.0", + "babel-plugin-transform-function-bind": "^6.22.0", + "babel-preset-stage-1": "^6.24.1" + } + }, + "babel-preset-stage-1": { + "version": "6.24.1", + "resolved": "https://registry.nlark.com/babel-preset-stage-1/download/babel-preset-stage-1-6.24.1.tgz", + "integrity": "sha1-dpLNfc1oSZB+auSgqFWJz7niv7A=", + "dev": true, + "requires": { + "babel-plugin-transform-class-constructor-call": "^6.24.1", + "babel-plugin-transform-export-extensions": "^6.22.0", + "babel-preset-stage-2": "^6.24.1" + } + }, + "babel-preset-stage-2": { + "version": "6.24.1", + "resolved": "https://registry.nlark.com/babel-preset-stage-2/download/babel-preset-stage-2-6.24.1.tgz", + "integrity": "sha1-2eKWD7PXEYfw5k7sYrwHdnIZvcE=", + "dev": true, + "requires": { + "babel-plugin-syntax-dynamic-import": "^6.18.0", + "babel-plugin-transform-class-properties": "^6.24.1", + "babel-plugin-transform-decorators": "^6.24.1", + "babel-preset-stage-3": "^6.24.1" + } + }, + "babel-preset-stage-3": { + "version": "6.24.1", + "resolved": "https://registry.nlark.com/babel-preset-stage-3/download/babel-preset-stage-3-6.24.1.tgz", + "integrity": "sha1-g2raCp56f6N8sTj7kyb4eTSkg5U=", + "dev": true, + "requires": { + "babel-plugin-syntax-trailing-function-commas": "^6.22.0", + "babel-plugin-transform-async-generator-functions": "^6.24.1", + "babel-plugin-transform-async-to-generator": "^6.24.1", + "babel-plugin-transform-exponentiation-operator": "^6.24.1", + "babel-plugin-transform-object-rest-spread": "^6.22.0" + } + }, + "babel-register": { + "version": "6.26.0", + "resolved": "https://registry.nlark.com/babel-register/download/babel-register-6.26.0.tgz", + "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "dev": true, + "requires": { + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" + }, + "dependencies": { + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.nlark.com/source-map-support/download/source-map-support-0.4.18.tgz?cache=0&sync_timestamp=1631179577133&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.4.18.tgz", + "integrity": "sha1-Aoam3ovkJkEzhZTpfM6nXwosWF8=", + "dev": true, + "requires": { + "source-map": "^0.5.6" + } + } + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.nlark.com/babel-runtime/download/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.nlark.com/babel-template/download/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.nlark.com/babel-traverse/download/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.nlark.com/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.nlark.com/babel-types/download/babel-types-6.26.0.tgz?cache=0&sync_timestamp=1618847266552&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbabel-types%2Fdownload%2Fbabel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.nlark.com/babylon/download/babylon-6.18.0.tgz", + "integrity": "sha1-ry87iPpvXB5MY00aD46sT1WzleM=", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/balanced-match/download/balanced-match-1.0.2.tgz", + "integrity": "sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.nlark.com/base/download/base-0.11.2.tgz", + "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=", + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/define-property/download/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.nlark.com/base64-js/download/base64-js-1.5.1.tgz?cache=0&sync_timestamp=1624607950711&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbase64-js%2Fdownload%2Fbase64-js-1.5.1.tgz", + "integrity": "sha1-GxtEAWClv3rUC2UPCVljSBkDkwo=" + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.nlark.com/batch/download/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.nlark.com/big.js/download/big.js-5.2.2.tgz", + "integrity": "sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg=" + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.nlark.com/binary-extensions/download/binary-extensions-2.2.0.tgz", + "integrity": "sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0=", + "optional": true + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npm.taobao.org/bindings/download/bindings-1.5.0.tgz", + "integrity": "sha1-EDU8npRTNLwFEabZCzj7x8nFBN8=", + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.nlark.com/block-stream/download/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, + "requires": { + "inherits": "~2.0.0" + } + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.nlark.com/bluebird/download/bluebird-3.7.2.tgz", + "integrity": "sha1-nyKcFb4nJFT/qXOs4NvueaGww28=" + }, + "bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-5.2.0.tgz", + "integrity": "sha1-NYhgZ0OWxpl3canQUfzBtX1K4AI=" + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npm.taobao.org/body-parser/download/body-parser-1.19.0.tgz", + "integrity": "sha1-lrJwnlfJxOCab9Zqj9l5hE9p8Io=", + "dev": true, + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/bytes/download/bytes-3.1.0.tgz?cache=0&sync_timestamp=1589682741197&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbytes%2Fdownload%2Fbytes-3.1.0.tgz", + "integrity": "sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.nlark.com/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.7.0.tgz", + "integrity": "sha1-QdwaAV49WB8WIXdr4xr7KHapsbw=", + "dev": true + } + } + }, + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.nlark.com/bonjour/download/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, + "requires": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/boolbase/download/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "bootstrap": { + "version": "3.4.1", + "resolved": "https://registry.npmmirror.com/bootstrap/download/bootstrap-3.4.1.tgz", + "integrity": "sha1-w6NH1Bniia0R9AM+PEEyuHwIHXI=" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz?cache=0&sync_timestamp=1614010713935&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrace-expansion%2Fdownload%2Fbrace-expansion-1.1.11.tgz", + "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.nlark.com/braces/download/braces-2.3.2.tgz", + "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=", + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/brorand/download/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.nlark.com/browserify-aes/download/browserify-aes-1.2.0.tgz", + "integrity": "sha1-Mmc0ZC9APavDADIJhTu3CtQo70g=", + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/browserify-cipher/download/browserify-cipher-1.0.1.tgz", + "integrity": "sha1-jWR0wbhwv9q807z8wZNKEOlPFfA=", + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/browserify-des/download/browserify-des-1.0.2.tgz", + "integrity": "sha1-OvTx9Zg5QDVy8cZiBDdfen9wPpw=", + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.nlark.com/browserify-rsa/download/browserify-rsa-4.1.0.tgz", + "integrity": "sha1-sv0Gtbda4pf3zi3GUfkY9b4VjI0=", + "requires": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.nlark.com/browserify-sign/download/browserify-sign-4.2.1.tgz", + "integrity": "sha1-6vSt1G3VS+O7OzbAzxWrvrp5VsM=", + "requires": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.nlark.com/readable-stream/download/readable-stream-3.6.0.tgz", + "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.1.tgz", + "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=" + } + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.nlark.com/browserify-zlib/download/browserify-zlib-0.2.0.tgz", + "integrity": "sha1-KGlFnZqjviRf6P4sofRuLn9U1z8=", + "requires": { + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "3.2.8", + "resolved": "https://registry.npmmirror.com/browserslist/download/browserslist-3.2.8.tgz", + "integrity": "sha1-sABTYdZHHw9ZUnl6dvyYXx+Xj8Y=", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30000844", + "electron-to-chromium": "^1.3.47" + } + }, + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.nlark.com/buffer/download/buffer-4.9.2.tgz", + "integrity": "sha1-Iw6tNEACmIZEhBqwJEr4xEu+Pvg=", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.nlark.com/buffer-from/download/buffer-from-1.1.2.tgz?cache=0&sync_timestamp=1627578510347&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbuffer-from%2Fdownload%2Fbuffer-from-1.1.2.tgz", + "integrity": "sha1-KxRqb9cugLT1XSVfNe1Zo6mkG9U=" + }, + "buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/buffer-indexof/download/buffer-indexof-1.1.1.tgz", + "integrity": "sha1-Uvq8xqYG0aADAoAmSO9o9jnaJow=", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.nlark.com/buffer-xor/download/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/bytes/download/bytes-3.0.0.tgz?cache=0&sync_timestamp=1589682741197&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbytes%2Fdownload%2Fbytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, + "cacache": { + "version": "12.0.4", + "resolved": "https://registry.nlark.com/cacache/download/cacache-12.0.4.tgz?cache=0&sync_timestamp=1630000121314&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcacache%2Fdownload%2Fcacache-12.0.4.tgz", + "integrity": "sha1-ZovL0QWutfHZL+JVcOyVJcj6pAw=", + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/cache-base/download/cache-base-1.0.1.tgz", + "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=", + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/call-bind/download/call-bind-1.0.2.tgz", + "integrity": "sha1-sdTonmiBGcPJqQOtMKuy9qkZvjw=", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/camel-case/download/camel-case-3.0.0.tgz?cache=0&sync_timestamp=1624608083534&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcamel-case%2Fdownload%2Fcamel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "dev": true, + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.nlark.com/camelcase/download/camelcase-5.3.1.tgz", + "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/camelcase-keys/download/camelcase-keys-2.1.0.tgz?cache=0&sync_timestamp=1633332938539&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcamelcase-keys%2Fdownload%2Fcamelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/camelcase/download/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + } + } + }, + "caniuse-lite": { + "version": "1.0.30001265", + "resolved": "https://registry.npmmirror.com/caniuse-lite/download/caniuse-lite-1.0.30001265.tgz?cache=0&sync_timestamp=1633496161326&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcaniuse-lite%2Fdownload%2Fcaniuse-lite-1.0.30001265.tgz", + "integrity": "sha1-BhPJ5ski5CJ5Lm/O/fmjr+7k+MM=", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.nlark.com/chalk/download/chalk-1.1.3.tgz?cache=0&sync_timestamp=1627646614989&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "chokidar": { + "version": "3.5.2", + "resolved": "https://registry.nlark.com/chokidar/download/chokidar-3.5.2.tgz", + "integrity": "sha1-26OXb8rbAW9m/TZQIdkWANAcHnU=", + "optional": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.nlark.com/braces/download/braces-3.0.2.tgz", + "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=", + "optional": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.nlark.com/fill-range/download/fill-range-7.0.1.tgz", + "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=", + "optional": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.nlark.com/is-number/download/is-number-7.0.0.tgz", + "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", + "optional": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/to-regex-range/download/to-regex-range-5.0.1.tgz", + "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", + "optional": true, + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.nlark.com/chownr/download/chownr-1.1.4.tgz", + "integrity": "sha1-b8nXtC0ypYNZYzdmbn0ICE2izGs=" + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/chrome-trace-event/download/chrome-trace-event-1.0.3.tgz?cache=0&sync_timestamp=1617905826919&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchrome-trace-event%2Fdownload%2Fchrome-trace-event-1.0.3.tgz", + "integrity": "sha1-EBXs7UdB4V0GZkqVfbv1DQQeJqw=" + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/cipher-base/download/cipher-base-1.0.4.tgz", + "integrity": "sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.nlark.com/class-utils/download/class-utils-0.3.6.tgz", + "integrity": "sha1-+TNprouafOAv1B+q0MqDAzGQxGM=", + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.nlark.com/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "clean-css": { + "version": "4.2.3", + "resolved": "https://registry.npmmirror.com/clean-css/download/clean-css-4.2.3.tgz?cache=0&sync_timestamp=1633004766416&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fclean-css%2Fdownload%2Fclean-css-4.2.3.tgz", + "integrity": "sha1-UHtd59l7SO5T2ErbAWD/YhY4D3g=", + "dev": true, + "requires": { + "source-map": "~0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz?cache=0&sync_timestamp=1593529658602&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.nlark.com/cliui/download/cliui-5.0.0.tgz", + "integrity": "sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U=", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-4.1.0.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-fullwidth-code-point%2Fdownload%2Fis-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/string-width/download/string-width-3.1.0.tgz?cache=0&sync_timestamp=1632421054789&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstring-width%2Fdownload%2Fstring-width-3.1.0.tgz", + "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.nlark.com/clone-deep/download/clone-deep-4.0.1.tgz", + "integrity": "sha1-wZ/Zvbv4WUK0/ZechNz31fB8I4c=", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/code-point-at/download/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/collection-visit/download/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.nlark.com/color-convert/download/color-convert-1.9.3.tgz", + "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.8.tgz", + "integrity": "sha1-w9RaizT9cwYxoRCoolIGgrMdWn8=", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.nlark.com/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1631257318022&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz", + "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=" + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/commondir/download/commondir-1.0.1.tgz?cache=0&sync_timestamp=1624608091111&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcommondir%2Fdownload%2Fcommondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.nlark.com/component-emitter/download/component-emitter-1.3.0.tgz", + "integrity": "sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A=" + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.nlark.com/compressible/download/compressible-2.0.18.tgz", + "integrity": "sha1-r1PMprBw1MPAdQ+9dyhqbXzEb7o=", + "dev": true, + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.nlark.com/compression/download/compression-1.7.4.tgz?cache=0&sync_timestamp=1618846915701&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcompression%2Fdownload%2Fcompression-1.7.4.tgz", + "integrity": "sha1-lVI+/xcMpXwpoMpB5v4TH0Hlu48=", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.nlark.com/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.nlark.com/concat-stream/download/concat-stream-1.6.2.tgz", + "integrity": "sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ=", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.nlark.com/connect-history-api-fallback/download/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha1-izIIk1kwjRERFdgcrT/Oq4iPl7w=", + "dev": true + }, + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/console-browserify/download/console-browserify-1.2.0.tgz", + "integrity": "sha1-ZwY871fOts9Jk6KrOlWECujEkzY=" + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/console-control-strings/download/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, + "consolidate": { + "version": "0.15.1", + "resolved": "https://registry.nlark.com/consolidate/download/consolidate-0.15.1.tgz", + "integrity": "sha1-IasEMjXHGgfUXZqtmFk7DbpWurc=", + "dev": true, + "requires": { + "bluebird": "^3.1.1" + } + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/constants-browserify/download/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.3.tgz", + "integrity": "sha1-4TDK9+cnkIfFYWwgB9BIVpiYT70=", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.nlark.com/content-type/download/content-type-1.0.4.tgz", + "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=", + "dev": true + }, + "convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.nlark.com/convert-source-map/download/convert-source-map-1.8.0.tgz", + "integrity": "sha1-8zc8MtIbTXgN2ABFFGhPt5HKQ2k=", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.nlark.com/cookie/download/cookie-0.4.0.tgz", + "integrity": "sha1-vrQ35wIrO21JAZ0IhmUwPr6cFLo=", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.nlark.com/cookie-signature/download/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.nlark.com/copy-concurrently/download/copy-concurrently-1.0.5.tgz", + "integrity": "sha1-kilzmMrjSTf8r9bsgTnBgFHwteA=", + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.nlark.com/copy-descriptor/download/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + }, + "core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmmirror.com/core-js/download/core-js-2.6.12.tgz?cache=0&sync_timestamp=1633459431157&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcore-js%2Fdownload%2Fcore-js-2.6.12.tgz", + "integrity": "sha1-2TM9+nsGXjR8xWgiGdb2kIWcwuw=", + "dev": true + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.nlark.com/core-util-is/download/core-util-is-1.0.3.tgz", + "integrity": "sha1-pgQtNjTCsn6TKPg3uWX6yDgI24U=" + }, + "create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.nlark.com/create-ecdh/download/create-ecdh-4.0.4.tgz", + "integrity": "sha1-1uf0v/pmc2CFoHYv06YyaE2rzE4=", + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz", + "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=" + } + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/create-hash/download/create-hash-1.2.0.tgz", + "integrity": "sha1-iJB4rxGmN1a8+1m9IhmWvjqe8ZY=", + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npm.taobao.org/create-hmac/download/create-hmac-1.1.7.tgz", + "integrity": "sha1-aRcMeLOrlXFHsriwRXLkfq0iQ/8=", + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "cross-spawn": { + "version": "3.0.1", + "resolved": "https://registry.nlark.com/cross-spawn/download/cross-spawn-3.0.1.tgz?cache=0&sync_timestamp=1618847024338&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcross-spawn%2Fdownload%2Fcross-spawn-3.0.1.tgz", + "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + }, + "dependencies": { + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.nlark.com/lru-cache/download/lru-cache-4.1.5.tgz", + "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.nlark.com/yallist/download/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.nlark.com/crypto-browserify/download/crypto-browserify-3.12.0.tgz", + "integrity": "sha1-OWz58xN/A+S45TLFj2mCVOAPgOw=", + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "css-loader": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/css-loader/download/css-loader-3.6.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcss-loader%2Fdownload%2Fcss-loader-3.6.0.tgz", + "integrity": "sha1-Lkssfm4tJ/jI8o9hv/zS5ske9kU=", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "cssesc": "^3.0.0", + "icss-utils": "^4.1.1", + "loader-utils": "^1.2.3", + "normalize-path": "^3.0.0", + "postcss": "^7.0.32", + "postcss-modules-extract-imports": "^2.0.0", + "postcss-modules-local-by-default": "^3.0.2", + "postcss-modules-scope": "^2.2.0", + "postcss-modules-values": "^3.0.0", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^2.7.0", + "semver": "^6.3.0" + }, + "dependencies": { + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.nlark.com/schema-utils/download/schema-utils-2.7.1.tgz", + "integrity": "sha1-HKTzLRskxZDCA7jnpQvw6kzTlNc=", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1618846828850&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + } + } + }, + "css-select": { + "version": "4.1.3", + "resolved": "https://registry.nlark.com/css-select/download/css-select-4.1.3.tgz", + "integrity": "sha1-pwRA9wMX8maRGK10/xBeZYSccGc=", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^5.0.0", + "domhandler": "^4.2.0", + "domutils": "^2.6.0", + "nth-check": "^2.0.0" + } + }, + "css-what": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/css-what/download/css-what-5.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcss-what%2Fdownload%2Fcss-what-5.0.1.tgz", + "integrity": "sha1-PvqCATH0ZpqKwkCPnDLnx96fTK0=", + "dev": true + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/cssesc/download/cssesc-3.0.0.tgz", + "integrity": "sha1-N3QZGZA7hoVl4cCep0dEXNGJg+4=", + "dev": true + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.nlark.com/currently-unhandled/download/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + } + }, + "cyclist": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/cyclist/download/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=" + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz?cache=0&sync_timestamp=1601073714105&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdashdash%2Fdownload%2Fdashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "de-indent": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/de-indent/download/de-indent-1.0.2.tgz", + "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", + "dev": true + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/debug/download/debug-3.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-3.1.0.tgz", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/decamelize/download/decamelize-1.2.0.tgz?cache=0&sync_timestamp=1633055760479&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fdecamelize%2Fdownload%2Fdecamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.nlark.com/decode-uri-component/download/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, + "deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/deep-equal/download/deep-equal-1.1.1.tgz", + "integrity": "sha1-tcmMlCzv+vfLBR4k4UNKJaLmB2o=", + "dev": true, + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } + }, + "default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npm.taobao.org/default-gateway/download/default-gateway-4.2.0.tgz?cache=0&sync_timestamp=1610365791284&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdefault-gateway%2Fdownload%2Fdefault-gateway-4.2.0.tgz", + "integrity": "sha1-FnEEx1AMIRX23WmwpTa7jtcgVSs=", + "dev": true, + "requires": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + } + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/define-properties/download/define-properties-1.1.3.tgz", + "integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.nlark.com/define-property/download/define-property-2.0.2.tgz", + "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=", + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "del": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/del/download/del-4.1.1.tgz", + "integrity": "sha1-no8RciLqRKMf86FWwEm5kFKp8LQ=", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/delegates/download/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.nlark.com/depd/download/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/des.js/download/des.js-1.0.1.tgz", + "integrity": "sha1-U4IULhvcU/hdhtU+X0qn3rkeCEM=", + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.nlark.com/destroy/download/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/detect-file/download/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true + }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/detect-indent/download/detect-indent-4.0.0.tgz?cache=0&sync_timestamp=1628462154859&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdetect-indent%2Fdownload%2Fdetect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "detect-node": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/detect-node/download/detect-node-2.1.0.tgz", + "integrity": "sha1-yccHdaScPQO8LAbZpzvlUPl4+LE=", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.nlark.com/diffie-hellman/download/diffie-hellman-5.0.3.tgz", + "integrity": "sha1-QOjumPVaIUlgcUaSHGPhrl89KHU=", + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz", + "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=" + } + } + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/dns-equal/download/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "dns-packet": { + "version": "1.3.4", + "resolved": "https://registry.nlark.com/dns-packet/download/dns-packet-1.3.4.tgz", + "integrity": "sha1-40VQZYJKJQe6iGxVqJljuxB97G8=", + "dev": true, + "requires": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.nlark.com/dns-txt/download/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "requires": { + "buffer-indexof": "^1.0.0" + } + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/dom-converter/download/dom-converter-0.2.0.tgz", + "integrity": "sha1-ZyGp2u4uKTaClVtq/kFncWJ7t2g=", + "dev": true, + "requires": { + "utila": "~0.4" + } + }, + "dom-serializer": { + "version": "1.3.2", + "resolved": "https://registry.nlark.com/dom-serializer/download/dom-serializer-1.3.2.tgz", + "integrity": "sha1-YgZDfTLO767HFhgDIwx6ILwbTZE=", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.nlark.com/domain-browser/download/domain-browser-1.2.0.tgz", + "integrity": "sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto=" + }, + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-2.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomelementtype%2Fdownload%2Fdomelementtype-2.2.0.tgz", + "integrity": "sha1-mgtsJ4LtahxzI9QiZxg9+b2LHVc=", + "dev": true + }, + "domhandler": { + "version": "4.2.2", + "resolved": "https://registry.nlark.com/domhandler/download/domhandler-4.2.2.tgz?cache=0&sync_timestamp=1630246778110&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdomhandler%2Fdownload%2Fdomhandler-4.2.2.tgz", + "integrity": "sha1-6CXXIdGahrjCAaNSZOImxnjudV8=", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.nlark.com/domutils/download/domutils-2.8.0.tgz?cache=0&sync_timestamp=1630106606599&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdomutils%2Fdownload%2Fdomutils-2.8.0.tgz", + "integrity": "sha1-RDfe9dtuLR9dbuhZvZXKfQIEgTU=", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.nlark.com/duplexify/download/duplexify-3.7.1.tgz?cache=0&sync_timestamp=1626860849590&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fduplexify%2Fdownload%2Fduplexify-3.7.1.tgz", + "integrity": "sha1-Kk31MX9sz9kfhtb9JdjYoQO4gwk=", + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.nlark.com/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/ee-first/download/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.864", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/download/electron-to-chromium-1.3.864.tgz", + "integrity": "sha1-apk7zBlqK4s9+E0o1dTdkSOTiF8=", + "dev": true + }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.nlark.com/elliptic/download/elliptic-6.5.4.tgz", + "integrity": "sha1-2jfOvTHnmhNn6UG1ku0fvr1Yq7s=", + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz", + "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=" + } + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmmirror.com/emoji-regex/download/emoji-regex-7.0.3.tgz?cache=0&sync_timestamp=1632751408145&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Femoji-regex%2Fdownload%2Femoji-regex-7.0.3.tgz", + "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/emojis-list/download/emojis-list-3.0.0.tgz", + "integrity": "sha1-VXBmIEatKeLpFucariYKvf9Pang=" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/encodeurl/download/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.4.tgz", + "integrity": "sha1-WuZKX0UFe682JuwU2gyl5LJDHrA=", + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.nlark.com/enhanced-resolve/download/enhanced-resolve-4.5.0.tgz", + "integrity": "sha1-Lzz9hNvjtIfxjy2y7x4GSlccpew=", + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.nlark.com/memory-fs/download/memory-fs-0.5.0.tgz", + "integrity": "sha1-MkwBKIuIZSlm0WHbd4OHIIRajjw=", + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.nlark.com/entities/download/entities-2.2.0.tgz?cache=0&sync_timestamp=1628508126700&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fentities%2Fdownload%2Fentities-2.2.0.tgz", + "integrity": "sha1-CY3JDruD2N/6CJ1VJWs1HTTE2lU=", + "dev": true + }, + "errno": { + "version": "0.1.8", + "resolved": "https://registry.nlark.com/errno/download/errno-0.1.8.tgz", + "integrity": "sha1-i7Ppx9Rjvkl2/4iPdrSAnrwugR8=", + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npm.taobao.org/error-ex/download/error-ex-1.3.2.tgz", + "integrity": "sha1-tKxAZIEH/c3PriQvQovqihTU8b8=", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.19.1", + "resolved": "https://registry.npmmirror.com/es-abstract/download/es-abstract-1.19.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fes-abstract%2Fdownload%2Fes-abstract-1.19.1.tgz", + "integrity": "sha1-1IhXlodpFpWd547aoN9FZicRXsM=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.1", + "is-string": "^1.0.7", + "is-weakref": "^1.0.1", + "object-inspect": "^1.11.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.nlark.com/es-to-primitive/download/es-to-primitive-1.2.1.tgz", + "integrity": "sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo=", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.nlark.com/escape-html/download/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.nlark.com/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.nlark.com/eslint-scope/download/eslint-scope-4.0.3.tgz?cache=0&sync_timestamp=1627061877425&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-scope%2Fdownload%2Feslint-scope-4.0.3.tgz", + "integrity": "sha1-ygODMxD2iJoyZHgaqC5j65z+eEg=", + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npm.taobao.org/esrecurse/download/esrecurse-4.3.0.tgz?cache=0&sync_timestamp=1598899004767&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesrecurse%2Fdownload%2Fesrecurse-4.3.0.tgz", + "integrity": "sha1-eteWTWeauyi+5yzsY3WLHF0smSE=", + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/estraverse/download/estraverse-5.2.0.tgz?cache=0&sync_timestamp=1596642946176&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-5.2.0.tgz", + "integrity": "sha1-MH30JUfmzHMk088DwVXVzbjFOIA=" + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npm.taobao.org/estraverse/download/estraverse-4.3.0.tgz?cache=0&sync_timestamp=1596642946176&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-4.3.0.tgz", + "integrity": "sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/esutils/download/esutils-2.0.3.tgz", + "integrity": "sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q=", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.nlark.com/etag/download/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true + }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-4.0.7.tgz", + "integrity": "sha1-Lem2j2Uo1WRO9cWVJqG0oHMGFp8=", + "dev": true + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.nlark.com/events/download/events-3.3.0.tgz", + "integrity": "sha1-Mala0Kkk4tLEGagTrrLE6HjqdAA=" + }, + "eventsource": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/eventsource/download/eventsource-1.1.0.tgz", + "integrity": "sha1-AOjKfJIQnpSw3fMtrGd9hBAoz68=", + "dev": true, + "requires": { + "original": "^1.0.0" + } + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.nlark.com/evp_bytestokey/download/evp_bytestokey-1.0.3.tgz", + "integrity": "sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI=", + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/execa/download/execa-1.0.0.tgz?cache=0&sync_timestamp=1622825859616&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fexeca%2Fdownload%2Fexeca-1.0.0.tgz", + "integrity": "sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg=", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.nlark.com/cross-spawn/download/cross-spawn-6.0.5.tgz?cache=0&sync_timestamp=1618847024338&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcross-spawn%2Fdownload%2Fcross-spawn-6.0.5.tgz", + "integrity": "sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + } + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.nlark.com/expand-brackets/download/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.nlark.com/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.nlark.com/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.nlark.com/expand-tilde/download/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npm.taobao.org/express/download/express-4.17.1.tgz", + "integrity": "sha1-RJH8OGBc9R+GKdOcK10Cb5ikwTQ=", + "dev": true, + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/array-flatten/download/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.nlark.com/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.7.0.tgz", + "integrity": "sha1-QdwaAV49WB8WIXdr4xr7KHapsbw=", + "dev": true + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz", + "integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo=", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/is-extendable/download/is-extendable-1.0.1.tgz", + "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.nlark.com/extglob/download/extglob-2.0.4.tgz", + "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=", + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/define-property/download/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.nlark.com/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz", + "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=" + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM=" + }, + "faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.nlark.com/faye-websocket/download/faye-websocket-0.11.4.tgz", + "integrity": "sha1-fw2Sdc/dhqHJY9yLZfzEUe3Lsdo=", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.nlark.com/figgy-pudding/download/figgy-pudding-3.5.2.tgz", + "integrity": "sha1-tO7oFIq7Adzx0aw0Nn1Z4S+mHW4=" + }, + "file-loader": { + "version": "4.3.0", + "resolved": "https://registry.npm.taobao.org/file-loader/download/file-loader-4.3.0.tgz", + "integrity": "sha1-eA8ED3KbPRgBnyBgX3I+hEuKWK8=", + "dev": true, + "requires": { + "loader-utils": "^1.2.3", + "schema-utils": "^2.5.0" + }, + "dependencies": { + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.nlark.com/schema-utils/download/schema-utils-2.7.1.tgz", + "integrity": "sha1-HKTzLRskxZDCA7jnpQvw6kzTlNc=", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/file-uri-to-path/download/file-uri-to-path-1.0.0.tgz", + "integrity": "sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90=", + "optional": true + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/fill-range/download/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.nlark.com/finalhandler/download/finalhandler-1.1.2.tgz", + "integrity": "sha1-t+fQAP/RGTjQ/bBTUG9uur6fWH0=", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.nlark.com/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/find-cache-dir/download/find-cache-dir-2.1.0.tgz", + "integrity": "sha1-jQ+UzRP+Q8bHwmGg2GEVypGMBfc=", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/find-up/download/find-up-3.0.0.tgz?cache=0&sync_timestamp=1633618659233&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ffind-up%2Fdownload%2Ffind-up-3.0.0.tgz", + "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", + "requires": { + "locate-path": "^3.0.0" + } + }, + "findup-sync": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/findup-sync/download/findup-sync-3.0.0.tgz", + "integrity": "sha1-F7EI+e5RLft6XH88iyfqnhqcCNE=", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/flush-write-stream/download/flush-write-stream-1.1.1.tgz", + "integrity": "sha1-jdfYc6G6vCB9lOrQwuDkQnbr8ug=", + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.nlark.com/follow-redirects/download/follow-redirects-1.5.10.tgz?cache=0&sync_timestamp=1631622129411&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffollow-redirects%2Fdownload%2Ffollow-redirects-1.5.10.tgz", + "integrity": "sha1-e3qfmuov3/NnhqlP9kPtB/T/Xio=", + "requires": { + "debug": "=3.1.0" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/for-in/download/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npm.taobao.org/form-data/download/form-data-2.3.3.tgz?cache=0&sync_timestamp=1613410812604&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fform-data%2Fdownload%2Fform-data-2.3.3.tgz", + "integrity": "sha1-3M5SwF9kTymManq5Nr1yTO/786Y=", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.nlark.com/forwarded/download/forwarded-0.2.0.tgz?cache=0&sync_timestamp=1622503451002&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fforwarded%2Fdownload%2Fforwarded-0.2.0.tgz", + "integrity": "sha1-ImmTZCiq1MFcfr6XeahL8LKoGBE=", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.nlark.com/fragment-cache/download/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.nlark.com/fresh/download/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/from2/download/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.nlark.com/fs-write-stream-atomic/download/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/fs.realpath/download/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.nlark.com/fsevents/download/fsevents-2.3.2.tgz", + "integrity": "sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro=", + "optional": true + }, + "fstream": { + "version": "1.0.12", + "resolved": "https://registry.nlark.com/fstream/download/fstream-1.0.12.tgz", + "integrity": "sha1-Touo7i1Ivk99DeUFRVVI6uWTIEU=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/function-bind/download/function-bind-1.1.1.tgz", + "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=", + "dev": true + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.nlark.com/gauge/download/gauge-2.7.4.tgz?cache=0&sync_timestamp=1627307653902&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fgauge%2Fdownload%2Fgauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "gaze": { + "version": "1.1.3", + "resolved": "https://registry.nlark.com/gaze/download/gaze-1.1.3.tgz", + "integrity": "sha1-xEFzPhO5J6yMD/C0w7Az8ogSkko=", + "dev": true, + "requires": { + "globule": "^1.0.0" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.nlark.com/get-caller-file/download/get-caller-file-2.0.5.tgz", + "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/get-intrinsic/download/get-intrinsic-1.1.1.tgz", + "integrity": "sha1-FfWfN2+FXERpY5SPDSTNNje0q8Y=", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.nlark.com/get-stdin/download/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-4.1.0.tgz?cache=0&sync_timestamp=1618462718162&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-stream%2Fdownload%2Fget-stream-4.1.0.tgz", + "integrity": "sha1-wbJVV189wh1Zv8ec09K0axw6VLU=", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/get-symbol-description/download/get-symbol-description-1.0.0.tgz", + "integrity": "sha1-f9uByQAQH71WTdXxowr1qtweWNY=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.nlark.com/get-value/download/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.nlark.com/getpass/download/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/glob/download/glob-7.2.0.tgz", + "integrity": "sha1-0VU1r3cy4C6Uj0xBYovZECk/YCM=", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/glob-parent/download/glob-parent-5.1.2.tgz?cache=0&sync_timestamp=1632954190616&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglob-parent%2Fdownload%2Fglob-parent-5.1.2.tgz", + "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=", + "optional": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/global-modules/download/global-modules-2.0.0.tgz", + "integrity": "sha1-mXYFrSNF8n9RU5vqJldEISFcd4A=", + "dev": true, + "requires": { + "global-prefix": "^3.0.0" + }, + "dependencies": { + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/global-prefix/download/global-prefix-3.0.0.tgz", + "integrity": "sha1-/IX3MGTfafUEIfR/iD/luRO6m5c=", + "dev": true, + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + } + } + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/global-prefix/download/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.nlark.com/globals/download/globals-9.18.0.tgz", + "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=", + "dev": true + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.nlark.com/globby/download/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/pify/download/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "globule": { + "version": "1.3.3", + "resolved": "https://registry.nlark.com/globule/download/globule-1.3.3.tgz", + "integrity": "sha1-gRkZ7qwatzROkF8uO+gKE0R5c8I=", + "dev": true, + "requires": { + "glob": "~7.1.1", + "lodash": "~4.17.10", + "minimatch": "~3.0.2" + }, + "dependencies": { + "glob": { + "version": "7.1.7", + "resolved": "https://registry.npmmirror.com/glob/download/glob-7.1.7.tgz", + "integrity": "sha1-Oxk+kjPwHULQs/eClLvutBj5SpA=", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "graceful-fs": { + "version": "4.2.8", + "resolved": "https://registry.nlark.com/graceful-fs/download/graceful-fs-4.2.8.tgz?cache=0&sync_timestamp=1628194007768&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fgraceful-fs%2Fdownload%2Fgraceful-fs-4.2.8.tgz", + "integrity": "sha1-5BK40z9eAGWTy9PO5t+fLOu+gCo=" + }, + "handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/handle-thing/download/handle-thing-2.0.1.tgz", + "integrity": "sha1-hX95zjWVgMNA1DCBzGSJcNC7I04=", + "dev": true + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npm.taobao.org/har-validator/download/har-validator-5.1.5.tgz?cache=0&sync_timestamp=1596082605533&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhar-validator%2Fdownload%2Fhar-validator-5.1.5.tgz", + "integrity": "sha1-HwgDufjLIMD6E4It8ezds2veHv0=", + "dev": true, + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.nlark.com/has/download/has-1.0.3.tgz", + "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/has-ansi/download/has-ansi-2.0.0.tgz?cache=0&sync_timestamp=1631558652943&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-ansi%2Fdownload%2Fhas-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/has-bigints/download/has-bigints-1.0.1.tgz", + "integrity": "sha1-ZP5qywIGc+O3jbA1pa9pqp0HsRM=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/has-flag/download/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/has-symbols/download/has-symbols-1.0.2.tgz", + "integrity": "sha1-Fl0wcMADCXUqEjakeTMeOsVvFCM=", + "dev": true + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/has-tostringtag/download/has-tostringtag-1.0.0.tgz?cache=0&sync_timestamp=1628198783759&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-tostringtag%2Fdownload%2Fhas-tostringtag-1.0.0.tgz", + "integrity": "sha1-fhM4GKfTlHNPlB5zw9P5KR5liyU=", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/has-unicode/download/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/has-value/download/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/has-values/download/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/hash-base/download/hash-base-3.1.0.tgz", + "integrity": "sha1-VcOB2eBuHSmXqIO0o/3f5/DTrzM=", + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.nlark.com/readable-stream/download/readable-stream-3.6.0.tgz", + "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.1.tgz", + "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=" + } + } + }, + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/hash-sum/download/hash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", + "dev": true + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npm.taobao.org/hash.js/download/hash.js-1.1.7.tgz", + "integrity": "sha1-C6vKU46NTuSg+JiNaIZlN6ADz0I=", + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/he/download/he-1.2.0.tgz", + "integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8=", + "dev": true + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/hmac-drbg/download/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/home-or-tmp/download/home-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" + } + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.nlark.com/homedir-polyfill/download/homedir-polyfill-1.0.3.tgz", + "integrity": "sha1-dDKYzvTlrz4ZQWH7rcwhUdOgWOg=", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.nlark.com/hosted-git-info/download/hosted-git-info-2.8.9.tgz", + "integrity": "sha1-3/wL+aIcAiCQkPKqaUKeFBTa8/k=", + "dev": true + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.nlark.com/hpack.js/download/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "html-entities": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/html-entities/download/html-entities-1.4.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtml-entities%2Fdownload%2Fhtml-entities-1.4.0.tgz", + "integrity": "sha1-z70bAdKvr5rcobEK59/6uYxx0tw=", + "dev": true + }, + "html-minifier": { + "version": "3.5.21", + "resolved": "https://registry.npm.taobao.org/html-minifier/download/html-minifier-3.5.21.tgz", + "integrity": "sha1-0AQOBUcw41TbAIRjWTGUAVIS0gw=", + "dev": true, + "requires": { + "camel-case": "3.0.x", + "clean-css": "4.2.x", + "commander": "2.17.x", + "he": "1.2.x", + "param-case": "2.1.x", + "relateurl": "0.2.x", + "uglify-js": "3.4.x" + }, + "dependencies": { + "commander": { + "version": "2.17.1", + "resolved": "https://registry.nlark.com/commander/download/commander-2.17.1.tgz?cache=0&sync_timestamp=1631257318022&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcommander%2Fdownload%2Fcommander-2.17.1.tgz", + "integrity": "sha1-vXerfebelCBc6sxy8XFtKfIKd78=", + "dev": true + } + } + }, + "html-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.nlark.com/html-webpack-plugin/download/html-webpack-plugin-3.2.0.tgz?cache=0&sync_timestamp=1624607980294&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhtml-webpack-plugin%2Fdownload%2Fhtml-webpack-plugin-3.2.0.tgz", + "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", + "dev": true, + "requires": { + "html-minifier": "^3.2.3", + "loader-utils": "^0.2.16", + "lodash": "^4.17.3", + "pretty-error": "^2.0.2", + "tapable": "^1.0.0", + "toposort": "^1.0.0", + "util.promisify": "1.0.0" + }, + "dependencies": { + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.nlark.com/big.js/download/big.js-3.2.0.tgz", + "integrity": "sha1-pfwpi4G54Nyi5FiCR4S2XFK6WI4=", + "dev": true + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/emojis-list/download/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.nlark.com/json5/download/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.nlark.com/loader-utils/download/loader-utils-0.2.17.tgz?cache=0&sync_timestamp=1624607974187&other_urls=https%3A%2F%2Fregistry.nlark.com%2Floader-utils%2Fdownload%2Floader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + } + } + }, + "htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.nlark.com/htmlparser2/download/htmlparser2-6.1.0.tgz?cache=0&sync_timestamp=1631386302257&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhtmlparser2%2Fdownload%2Fhtmlparser2-6.1.0.tgz", + "integrity": "sha1-xNditsM3GgXb5l6UrkOp+EX7j7c=", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.nlark.com/http-deceiver/download/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.nlark.com/http-errors/download/http-errors-1.7.2.tgz?cache=0&sync_timestamp=1624607959970&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.7.2.tgz", + "integrity": "sha1-T1ApzxMjnzEDblsuVSkrz7zIXI8=", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.nlark.com/inherits/download/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "http-parser-js": { + "version": "0.5.3", + "resolved": "https://registry.nlark.com/http-parser-js/download/http-parser-js-0.5.3.tgz", + "integrity": "sha1-AdJwnHnUFpi7AdTezF6dpOSgM9k=", + "dev": true + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.nlark.com/http-proxy/download/http-proxy-1.18.1.tgz", + "integrity": "sha1-QBVB8FNIhLv5UmAzTnL4juOXZUk=", + "dev": true, + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-middleware": { + "version": "0.19.1", + "resolved": "https://registry.nlark.com/http-proxy-middleware/download/http-proxy-middleware-0.19.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhttp-proxy-middleware%2Fdownload%2Fhttp-proxy-middleware-0.19.1.tgz", + "integrity": "sha1-GDx9xKoUeRUDBkmMIQza+WCApDo=", + "dev": true, + "requires": { + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.nlark.com/http-signature/download/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/https-browserify/download/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.nlark.com/iconv-lite/download/iconv-lite-0.4.24.tgz", + "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-utils": { + "version": "4.1.1", + "resolved": "https://registry.nlark.com/icss-utils/download/icss-utils-4.1.1.tgz", + "integrity": "sha1-IRcLU3ie4nRHwvR91oMIFAP5pGc=", + "dev": true, + "requires": { + "postcss": "^7.0.14" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.nlark.com/ieee754/download/ieee754-1.2.1.tgz", + "integrity": "sha1-jrehCmP/8l0VpXsAFYbRd9Gw01I=" + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.nlark.com/iferr/download/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/import-local/download/import-local-2.0.0.tgz?cache=0&sync_timestamp=1633327412941&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fimport-local%2Fdownload%2Fimport-local-2.0.0.tgz", + "integrity": "sha1-VQcL44pZk88Y72236WH1vuXFoJ0=", + "dev": true, + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.nlark.com/imurmurhash/download/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + }, + "in-publish": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/in-publish/download/in-publish-2.0.1.tgz", + "integrity": "sha1-lIsaU1yAMFYc6lIvc/ePS+NX4Aw=", + "dev": true + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/indent-string/download/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.nlark.com/infer-owner/download/infer-owner-1.0.4.tgz", + "integrity": "sha1-xM78qo5RBRwqQLos6KPScpWvlGc=" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.nlark.com/inflight/download/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.nlark.com/inherits/download/inherits-2.0.4.tgz", + "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=" + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npm.taobao.org/ini/download/ini-1.3.8.tgz?cache=0&sync_timestamp=1607907801722&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fini%2Fdownload%2Fini-1.3.8.tgz", + "integrity": "sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw=", + "dev": true + }, + "internal-ip": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/internal-ip/download/internal-ip-4.3.0.tgz", + "integrity": "sha1-hFRSuq2dLKO2nGNaE3rLmg2tCQc=", + "dev": true, + "requires": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + } + }, + "internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.nlark.com/internal-slot/download/internal-slot-1.0.3.tgz", + "integrity": "sha1-c0fjB97uovqsKsYgXUvH00ln9Zw=", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "interpret": { + "version": "1.4.0", + "resolved": "https://registry.nlark.com/interpret/download/interpret-1.4.0.tgz?cache=0&sync_timestamp=1624607963441&other_urls=https%3A%2F%2Fregistry.nlark.com%2Finterpret%2Fdownload%2Finterpret-1.4.0.tgz", + "integrity": "sha1-Zlq4vE2iendKQFhOgS4+D6RbGh4=", + "dev": true + }, + "into": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/into/download/into-0.2.0.tgz", + "integrity": "sha1-1mous/pM3mROy+inWs9WzzkgQLk=", + "requires": { + "async": "~0.2.9" + } + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.nlark.com/invariant/download/invariant-2.2.4.tgz?cache=0&sync_timestamp=1624607938082&other_urls=https%3A%2F%2Fregistry.nlark.com%2Finvariant%2Fdownload%2Finvariant-2.2.4.tgz", + "integrity": "sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY=", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.nlark.com/ip/download/ip-1.1.5.tgz?cache=0&sync_timestamp=1624607989560&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fip%2Fdownload%2Fip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/ip-regex/download/ip-regex-2.1.0.tgz?cache=0&sync_timestamp=1624607942179&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fip-regex%2Fdownload%2Fip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.nlark.com/ipaddr.js/download/ipaddr.js-1.9.1.tgz", + "integrity": "sha1-v/OFQ+64mEglB5/zoqjmy9RngbM=", + "dev": true + }, + "is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.nlark.com/is-absolute-url/download/is-absolute-url-3.0.3.tgz", + "integrity": "sha1-lsaiK2ojkpsR6gr7GDbDatSl1pg=", + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.nlark.com/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/is-arguments/download/is-arguments-1.1.1.tgz", + "integrity": "sha1-FbP4j9oB8ql/7ITKdhpWDxI++ps=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.nlark.com/is-arrayish/download/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.nlark.com/is-bigint/download/is-bigint-1.0.4.tgz", + "integrity": "sha1-CBR6GHW8KzIAXUHM2Ckd/8ZpHfM=", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/is-binary-path/download/is-binary-path-2.1.0.tgz", + "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", + "optional": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.nlark.com/is-boolean-object/download/is-boolean-object-1.1.2.tgz", + "integrity": "sha1-XG3CACRt2TIa5LiFoRS7H3X2Nxk=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.nlark.com/is-buffer/download/is-buffer-1.1.6.tgz", + "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=" + }, + "is-callable": { + "version": "1.2.4", + "resolved": "https://registry.nlark.com/is-callable/download/is-callable-1.2.4.tgz", + "integrity": "sha1-RzAdWN0CWUB4ZVR4U99tYf5HGUU=", + "dev": true + }, + "is-core-module": { + "version": "2.7.0", + "resolved": "https://registry.npmmirror.com/is-core-module/download/is-core-module-2.7.0.tgz", + "integrity": "sha1-PA730xtKz8V0+AxYQJ1WioNoSOM=", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.nlark.com/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.nlark.com/is-date-object/download/is-date-object-1.0.5.tgz?cache=0&sync_timestamp=1628198780002&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-date-object%2Fdownload%2Fis-date-object-1.0.5.tgz", + "integrity": "sha1-CEHVU25yTCVZe/bqYuG9OCmN8x8=", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.nlark.com/is-descriptor/download/is-descriptor-0.1.6.tgz", + "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-5.1.0.tgz", + "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=" + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.nlark.com/is-extendable/download/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/is-extglob/download/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, + "is-finite": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/is-finite/download/is-finite-1.1.0.tgz", + "integrity": "sha1-kEE1x3+0LAZB1qobzbxNqo2ggvM=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-fullwidth-code-point%2Fdownload%2Fis-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/is-glob/download/is-glob-4.0.3.tgz?cache=0&sync_timestamp=1632934498977&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-glob%2Fdownload%2Fis-glob-4.0.3.tgz", + "integrity": "sha1-ZPYeQsu7LuwgcanawLKLoeZdUIQ=", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-negative-zero": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/is-negative-zero/download/is-negative-zero-2.0.1.tgz", + "integrity": "sha1-PedGwY3aIxkkGlNnWQjY92bxHCQ=", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/is-number/download/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-number-object": { + "version": "1.0.6", + "resolved": "https://registry.nlark.com/is-number-object/download/is-number-object-1.0.6.tgz", + "integrity": "sha1-anqvg4x/BoalC0VT9+VKlklOifA=", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.nlark.com/is-path-cwd/download/is-path-cwd-2.2.0.tgz?cache=0&sync_timestamp=1628686525430&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-path-cwd%2Fdownload%2Fis-path-cwd-2.2.0.tgz", + "integrity": "sha1-Z9Q7gmZKe1GR/ZEZEn6zAASKn9s=", + "dev": true + }, + "is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/is-path-in-cwd/download/is-path-in-cwd-2.1.0.tgz?cache=0&sync_timestamp=1620047389319&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-path-in-cwd%2Fdownload%2Fis-path-in-cwd-2.1.0.tgz", + "integrity": "sha1-v+Lcomxp85cmWkAJljYCk1oFOss=", + "dev": true, + "requires": { + "is-path-inside": "^2.1.0" + } + }, + "is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/is-path-inside/download/is-path-inside-2.1.0.tgz?cache=0&sync_timestamp=1620047320094&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-path-inside%2Fdownload%2Fis-path-inside-2.1.0.tgz", + "integrity": "sha1-fJgQWH1lmkDSe8201WFuqwWUlLI=", + "dev": true, + "requires": { + "path-is-inside": "^1.0.2" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.nlark.com/is-plain-object/download/is-plain-object-2.0.4.tgz?cache=0&sync_timestamp=1624608043754&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-plain-object%2Fdownload%2Fis-plain-object-2.0.4.tgz", + "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", + "requires": { + "isobject": "^3.0.1" + } + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.nlark.com/is-regex/download/is-regex-1.1.4.tgz", + "integrity": "sha1-7vVmPNWfpMCuM5UFMj32hUuxWVg=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-shared-array-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-shared-array-buffer/download/is-shared-array-buffer-1.0.1.tgz", + "integrity": "sha1-l7DIX72stZycRG/mU7gs8rW3z+Y=", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/is-stream/download/is-stream-1.1.0.tgz?cache=0&sync_timestamp=1628592752355&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-stream%2Fdownload%2Fis-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.nlark.com/is-string/download/is-string-1.0.7.tgz?cache=0&sync_timestamp=1628213381229&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-string%2Fdownload%2Fis-string-1.0.7.tgz", + "integrity": "sha1-DdEr8gBvJVu1j2lREO/3SR7rwP0=", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.nlark.com/is-symbol/download/is-symbol-1.0.4.tgz", + "integrity": "sha1-ptrJO2NbBjymhyI23oiRClevE5w=", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-typedarray/download/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.nlark.com/is-utf8/download/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-weakref": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/is-weakref/download/is-weakref-1.0.1.tgz", + "integrity": "sha1-hC26TsF/qayYUN8tbvvBc3J08qI=", + "dev": true, + "requires": { + "call-bind": "^1.0.0" + } + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/is-windows/download/is-windows-1.0.2.tgz", + "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=" + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/is-wsl/download/is-wsl-1.1.0.tgz?cache=0&sync_timestamp=1593529690119&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-wsl%2Fdownload%2Fis-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/isarray/download/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/isexe/download/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.nlark.com/isobject/download/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "jquery": { + "version": "3.6.0", + "resolved": "https://registry.nlark.com/jquery/download/jquery-3.6.0.tgz", + "integrity": "sha1-xyoJ8Vwb3OFC9J2/EXC9+K2sJHA=", + "dev": true + }, + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmmirror.com/js-base64/download/js-base64-2.6.4.tgz", + "integrity": "sha1-9OaGxd4eofhn28rT1G2WlCjfmMQ=", + "dev": true + }, + "js-pinyin": { + "version": "0.1.9", + "resolved": "https://registry.npmjs.org/js-pinyin/-/js-pinyin-0.1.9.tgz", + "integrity": "sha1-zfGTNWRd2yDUYw3xBYqsJdJWrf0=" + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.nlark.com/js-tokens/download/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.nlark.com/jsesc/download/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk=" + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.nlark.com/json-schema/download/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=" + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "json3": { + "version": "3.3.3", + "resolved": "https://registry.nlark.com/json3/download/json3-3.3.3.tgz", + "integrity": "sha1-f8EON1/FrkLEcFpcwKpvYr4wW4E=", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/json5/download/json5-1.0.1.tgz", + "integrity": "sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=", + "requires": { + "minimist": "^1.2.0" + } + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "killable": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/killable/download/killable-1.0.1.tgz", + "integrity": "sha1-TIzkQRh6Bhx0dPuHygjipjgZSJI=", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-6.0.3.tgz", + "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=" + }, + "klona": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", + "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==" + }, + "less-loader": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-10.2.0.tgz", + "integrity": "sha512-AV5KHWvCezW27GT90WATaDnfXBv99llDbtaj4bshq6DvAihMdNjaPDcUMa6EXKLRF+P2opFenJp89BXg91XLYg==", + "requires": { + "klona": "^2.0.4" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/load-json-file/download/load-json-file-1.1.0.tgz?cache=0&sync_timestamp=1631508607226&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fload-json-file%2Fdownload%2Fload-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/pify/download/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.nlark.com/loader-runner/download/loader-runner-2.4.0.tgz", + "integrity": "sha1-7UcGa/5TTX6ExMe5mYwqdWB9k1c=" + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.nlark.com/loader-utils/download/loader-utils-1.4.0.tgz?cache=0&sync_timestamp=1624607974187&other_urls=https%3A%2F%2Fregistry.nlark.com%2Floader-utils%2Fdownload%2Floader-utils-1.4.0.tgz", + "integrity": "sha1-xXm140yzSxp07cbB+za/o3HVphM=", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/locate-path/download/locate-path-3.0.0.tgz", + "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.nlark.com/lodash/download/lodash-4.17.21.tgz", + "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=", + "dev": true + }, + "loglevel": { + "version": "1.7.1", + "resolved": "https://registry.npm.taobao.org/loglevel/download/loglevel-1.7.1.tgz?cache=0&sync_timestamp=1606314029553&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floglevel%2Fdownload%2Floglevel-1.7.1.tgz", + "integrity": "sha1-AF/eL15uRwaPk1/yhXPhJe9y8Zc=", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.nlark.com/loose-envify/download/loose-envify-1.4.0.tgz", + "integrity": "sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8=", + "dev": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.nlark.com/loud-rejection/download/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.nlark.com/lower-case/download/lower-case-1.1.4.tgz?cache=0&sync_timestamp=1624607698082&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flower-case%2Fdownload%2Flower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.nlark.com/lru-cache/download/lru-cache-5.1.1.tgz", + "integrity": "sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA=", + "requires": { + "yallist": "^3.0.2" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/make-dir/download/make-dir-2.1.0.tgz", + "integrity": "sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU=", + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.nlark.com/map-cache/download/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/map-obj/download/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/map-visit/download/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "requires": { + "object-visit": "^1.0.0" + } + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npm.taobao.org/md5.js/download/md5.js-1.3.5.tgz", + "integrity": "sha1-tdB7jjIW4+J81yjXL3DR5qNCAF8=", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.nlark.com/media-typer/download/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.nlark.com/memory-fs/download/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.nlark.com/meow/download/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/merge-descriptors/download/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/merge-source-map/download/merge-source-map-1.1.0.tgz", + "integrity": "sha1-L93n5gIJOfcJBqaPLXrmheTIxkY=", + "dev": true, + "requires": { + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz?cache=0&sync_timestamp=1593529658602&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.nlark.com/methods/download/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.nlark.com/micromatch/download/micromatch-3.1.10.tgz", + "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.nlark.com/miller-rabin/download/miller-rabin-4.0.1.tgz", + "integrity": "sha1-8IA1HIZbDcViqEYpZtqlNUPHik0=", + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz", + "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=" + } + } + }, + "mime": { + "version": "2.5.2", + "resolved": "https://registry.nlark.com/mime/download/mime-2.5.2.tgz", + "integrity": "sha1-bj3GzCuVEGQ4MOXxnVy3U9pe6r4=", + "dev": true + }, + "mime-db": { + "version": "1.50.0", + "resolved": "https://registry.nlark.com/mime-db/download/mime-db-1.50.0.tgz", + "integrity": "sha1-q9SslOmNPA4YUBbGerRdX95AwR8=", + "dev": true + }, + "mime-types": { + "version": "2.1.33", + "resolved": "https://registry.npmmirror.com/mime-types/download/mime-types-2.1.33.tgz?cache=0&sync_timestamp=1633108258894&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmime-types%2Fdownload%2Fmime-types-2.1.33.tgz", + "integrity": "sha1-H6EqkERy+v0GjkjZ6EAfdNP3Dts=", + "dev": true, + "requires": { + "mime-db": "1.50.0" + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/minimalistic-assert/download/minimalistic-assert-1.0.1.tgz", + "integrity": "sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc=" + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.nlark.com/minimatch/download/minimatch-3.0.4.tgz", + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.nlark.com/minimist/download/minimist-1.2.5.tgz", + "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=" + }, + "mint-ui": { + "version": "2.2.13", + "resolved": "https://registry.nlark.com/mint-ui/download/mint-ui-2.2.13.tgz", + "integrity": "sha1-hWosupYIxuzyHw5SHOie2N3+M9M=", + "requires": { + "array-find-index": "^1.0.2", + "raf.js": "0.0.4", + "vue-lazyload": "^1.0.1" + } + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/mississippi/download/mississippi-3.0.0.tgz", + "integrity": "sha1-6goykfl+C16HdrNj1fChLZTGcCI=", + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.nlark.com/mixin-deep/download/mixin-deep-1.3.2.tgz", + "integrity": "sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY=", + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/is-extendable/download/is-extendable-1.0.1.tgz", + "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz", + "integrity": "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=", + "requires": { + "minimist": "^1.2.5" + } + }, + "moment": { + "version": "2.29.1", + "resolved": "https://registry.nlark.com/moment/download/moment-2.29.1.tgz", + "integrity": "sha1-sr52n6MZQL6e7qZGnAdeNQBvo9M=" + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/move-concurrently/download/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmmirror.com/multicast-dns/download/multicast-dns-6.2.3.tgz?cache=0&sync_timestamp=1633354862495&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmulticast-dns%2Fdownload%2Fmulticast-dns-6.2.3.tgz", + "integrity": "sha1-oOx72QVcQoL3kMPIL04o2zsxsik=", + "dev": true, + "requires": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + } + }, + "multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/multicast-dns-service-types/download/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "nan": { + "version": "2.15.0", + "resolved": "https://registry.nlark.com/nan/download/nan-2.15.0.tgz", + "integrity": "sha1-PzSkc/8Y4VwbVia2KQO1rW5mX+4=" + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.nlark.com/nanomatch/download/nanomatch-1.2.13.tgz", + "integrity": "sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk=", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz", + "integrity": "sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs=", + "dev": true + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npm.taobao.org/neo-async/download/neo-async-2.6.2.tgz?cache=0&sync_timestamp=1594317853334&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fneo-async%2Fdownload%2Fneo-async-2.6.2.tgz", + "integrity": "sha1-tKr7k+OustgXTKU88WOrfXMIMF8=" + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.nlark.com/nice-try/download/nice-try-1.0.5.tgz", + "integrity": "sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y=", + "dev": true + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npm.taobao.org/no-case/download/no-case-2.3.2.tgz", + "integrity": "sha1-YLgTOWvjmz8SiKTB7V0efSi0ZKw=", + "dev": true, + "requires": { + "lower-case": "^1.1.1" + } + }, + "node-forge": { + "version": "0.10.0", + "resolved": "https://registry.nlark.com/node-forge/download/node-forge-0.10.0.tgz", + "integrity": "sha1-Mt6ir7Ppkm8C7lzoeUkCaRpna/M=", + "dev": true + }, + "node-gyp": { + "version": "3.8.0", + "resolved": "https://registry.nlark.com/node-gyp/download/node-gyp-3.8.0.tgz?cache=0&sync_timestamp=1629701707382&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnode-gyp%2Fdownload%2Fnode-gyp-3.8.0.tgz", + "integrity": "sha1-VAMEJhwzDoDQ1e3OJTpoyzlkIYw=", + "dev": true, + "requires": { + "fstream": "^1.0.0", + "glob": "^7.0.3", + "graceful-fs": "^4.1.2", + "mkdirp": "^0.5.0", + "nopt": "2 || 3", + "npmlog": "0 || 1 || 2 || 3 || 4", + "osenv": "0", + "request": "^2.87.0", + "rimraf": "2", + "semver": "~5.3.0", + "tar": "^2.0.0", + "which": "1" + }, + "dependencies": { + "semver": { + "version": "5.3.0", + "resolved": "https://registry.nlark.com/semver/download/semver-5.3.0.tgz?cache=0&sync_timestamp=1618846828850&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true + } + } + }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.nlark.com/node-libs-browser/download/node-libs-browser-2.2.1.tgz", + "integrity": "sha1-tk9RPRgzhiX5A0bSew0jXmMfZCU=", + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + } + } + }, + "node-sass": { + "version": "4.14.1", + "resolved": "https://registry.nlark.com/node-sass/download/node-sass-4.14.1.tgz", + "integrity": "sha1-mch+wu+3BH7WOPtMnbfzpC4iF7U=", + "dev": true, + "requires": { + "async-foreach": "^0.1.3", + "chalk": "^1.1.1", + "cross-spawn": "^3.0.0", + "gaze": "^1.0.0", + "get-stdin": "^4.0.1", + "glob": "^7.0.3", + "in-publish": "^2.0.0", + "lodash": "^4.17.15", + "meow": "^3.7.0", + "mkdirp": "^0.5.1", + "nan": "^2.13.2", + "node-gyp": "^3.8.0", + "npmlog": "^4.0.0", + "request": "^2.88.0", + "sass-graph": "2.2.5", + "stdout-stream": "^1.4.0", + "true-case-path": "^1.0.2" + } + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.nlark.com/nopt/download/nopt-3.0.6.tgz?cache=0&sync_timestamp=1624607881839&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnopt%2Fdownload%2Fnopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.nlark.com/normalize-package-data/download/normalize-package-data-2.5.0.tgz?cache=0&sync_timestamp=1629301872905&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnormalize-package-data%2Fdownload%2Fnormalize-package-data-2.5.0.tgz", + "integrity": "sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/normalize-path/download/normalize-path-3.0.0.tgz", + "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=" + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/npm-run-path/download/npm-run-path-2.0.2.tgz?cache=0&sync_timestamp=1633420566316&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fnpm-run-path%2Fdownload%2Fnpm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.nlark.com/npmlog/download/npmlog-4.1.2.tgz", + "integrity": "sha1-CKfyqL9zRgR3mp76StXMcXq7lUs=", + "dev": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "nth-check": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/nth-check/download/nth-check-2.0.1.tgz", + "integrity": "sha1-Lv4WL1w9oGoolZ+9PbddvuqfD8I=", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/number-is-nan/download/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz", + "integrity": "sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU=", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.nlark.com/object-assign/download/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.nlark.com/object-copy/download/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.nlark.com/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-inspect": { + "version": "1.11.0", + "resolved": "https://registry.nlark.com/object-inspect/download/object-inspect-1.11.0.tgz", + "integrity": "sha1-nc6xRs7dQUig2eUauI00z1CZIrE=", + "dev": true + }, + "object-is": { + "version": "1.1.5", + "resolved": "https://registry.npm.taobao.org/object-is/download/object-is-1.1.5.tgz?cache=0&sync_timestamp=1613857744782&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-is%2Fdownload%2Fobject-is-1.1.5.tgz", + "integrity": "sha1-ud7qpfx/GEag+uzc7sE45XePU6w=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/object-keys/download/object-keys-1.1.1.tgz", + "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/object-visit/download/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npm.taobao.org/object.assign/download/object.assign-4.1.2.tgz?cache=0&sync_timestamp=1604115300532&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject.assign%2Fdownload%2Fobject.assign-4.1.2.tgz", + "integrity": "sha1-DtVKNC7Os3s4/3brgxoOeIy2OUA=", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.1.3.tgz?cache=0&sync_timestamp=1633321702182&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fobject.getownpropertydescriptors%2Fdownload%2Fobject.getownpropertydescriptors-2.1.3.tgz", + "integrity": "sha1-siPPOOF/77l6Y8EMkd9yzLOG354=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.nlark.com/object.pick/download/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "requires": { + "isobject": "^3.0.1" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/obuf/download/obuf-1.1.2.tgz", + "integrity": "sha1-Cb6jND1BhZ69RGKS0RydTbYZCE4=", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/on-finished/download/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/on-headers/download/on-headers-1.0.2.tgz", + "integrity": "sha1-dysK5qqlJcOZ5Imt+tkMQD6zwo8=", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "opn": { + "version": "5.5.0", + "resolved": "https://registry.nlark.com/opn/download/opn-5.5.0.tgz", + "integrity": "sha1-/HFk+rVtI1kExRw7J9pnWMo7m/w=", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, + "original": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/original/download/original-1.0.2.tgz", + "integrity": "sha1-5EKmHP/hxf0gpl8yYcJmY7MD8l8=", + "dev": true, + "requires": { + "url-parse": "^1.4.3" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.nlark.com/os-browserify/download/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/os-homedir/download/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/os-tmpdir/download/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.nlark.com/osenv/download/osenv-0.1.5.tgz", + "integrity": "sha1-hc36+uso6Gd/QW4odZK18/SepBA=", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/p-finally/download/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/p-limit/download/p-limit-2.3.0.tgz", + "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/p-locate/download/p-locate-3.0.0.tgz?cache=0&sync_timestamp=1629892708584&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-locate%2Fdownload%2Fp-locate-3.0.0.tgz", + "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-map": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/p-map/download/p-map-2.1.0.tgz?cache=0&sync_timestamp=1627082806016&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-map%2Fdownload%2Fp-map-2.1.0.tgz", + "integrity": "sha1-MQko/u+cnsxltosXaTAYpmXOoXU=", + "dev": true + }, + "p-retry": { + "version": "3.0.1", + "resolved": "https://registry.nlark.com/p-retry/download/p-retry-3.0.1.tgz", + "integrity": "sha1-MWtMiJPiyNwc+okfQGxLQivr8yg=", + "dev": true, + "requires": { + "retry": "^0.12.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/p-try/download/p-try-2.2.0.tgz?cache=0&sync_timestamp=1633364462890&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fp-try%2Fdownload%2Fp-try-2.2.0.tgz", + "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=" + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.nlark.com/pako/download/pako-1.0.11.tgz?cache=0&sync_timestamp=1627560187062&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpako%2Fdownload%2Fpako-1.0.11.tgz", + "integrity": "sha1-bJWZ00DVTf05RjgCUqNXBaa5kr8=" + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.nlark.com/parallel-transform/download/parallel-transform-1.2.0.tgz", + "integrity": "sha1-kEnKN9bLIYLDsdLHIL6U0UpYFPw=", + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/param-case/download/param-case-2.1.1.tgz?cache=0&sync_timestamp=1624607700998&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fparam-case%2Fdownload%2Fparam-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "dev": true, + "requires": { + "no-case": "^2.2.0" + } + }, + "parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.nlark.com/parse-asn1/download/parse-asn1-5.1.6.tgz", + "integrity": "sha1-OFCAo+wTy2KmLTlAnLPoiETNrtQ=", + "requires": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.nlark.com/parse-json/download/parse-json-2.2.0.tgz?cache=0&sync_timestamp=1621222704918&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fparse-json%2Fdownload%2Fparse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/parse-passwd/download/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.nlark.com/parseurl/download/parseurl-1.3.3.tgz", + "integrity": "sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ=", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.nlark.com/pascalcase/download/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npm.taobao.org/path-browserify/download/path-browserify-0.0.1.tgz", + "integrity": "sha1-5sTd1+06onxoogzE5Q4aTug7vEo=" + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/path-dirname/download/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/path-exists/download/path-exists-3.0.0.tgz?cache=0&sync_timestamp=1628765027018&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpath-exists%2Fdownload%2Fpath-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/path-is-absolute/download/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/path-is-inside/download/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-2.0.1.tgz?cache=0&sync_timestamp=1617971691339&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-key%2Fdownload%2Fpath-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.nlark.com/path-parse/download/path-parse-1.0.7.tgz", + "integrity": "sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU=", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz?cache=0&sync_timestamp=1601400433519&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-to-regexp%2Fdownload%2Fpath-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/path-type/download/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/pify/download/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.nlark.com/pbkdf2/download/pbkdf2-3.1.2.tgz", + "integrity": "sha1-3YIqoIh1gOUvGgOdw+2hCO+uMHU=", + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "photoswipe": { + "version": "4.1.3", + "resolved": "https://registry.nlark.com/photoswipe/download/photoswipe-4.1.3.tgz", + "integrity": "sha1-WfSUlO653atYiNAzkpJqGbwZdVA=" + }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "picomatch": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/picomatch/download/picomatch-2.3.0.tgz?cache=0&sync_timestamp=1621648246651&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpicomatch%2Fdownload%2Fpicomatch-2.3.0.tgz", + "integrity": "sha1-8fBh3o9qS/AiiS4tEoI0+5gwKXI=", + "optional": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.nlark.com/pify/download/pify-4.0.1.tgz", + "integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=" + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.nlark.com/pinkie/download/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/pinkie-promise/download/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/pkg-dir/download/pkg-dir-3.0.0.tgz", + "integrity": "sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM=", + "requires": { + "find-up": "^3.0.0" + } + }, + "portfinder": { + "version": "1.0.28", + "resolved": "https://registry.nlark.com/portfinder/download/portfinder-1.0.28.tgz", + "integrity": "sha1-Z8RiKFK9U3TdHdkA93n1NGL6x3g=", + "dev": true, + "requires": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.5" + }, + "dependencies": { + "async": { + "version": "2.6.3", + "resolved": "https://registry.nlark.com/async/download/async-2.6.3.tgz?cache=0&sync_timestamp=1628205815983&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fasync%2Fdownload%2Fasync-2.6.3.tgz", + "integrity": "sha1-1yYl4jRKNlbjo61Pp0n6gymdgv8=", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "debug": { + "version": "3.2.7", + "resolved": "https://registry.nlark.com/debug/download/debug-3.2.7.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-3.2.7.tgz", + "integrity": "sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/download/ms-2.1.3.tgz", + "integrity": "sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=", + "dev": true + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.nlark.com/posix-character-classes/download/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz?cache=0&sync_timestamp=1593529658602&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-modules-extract-imports": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/postcss-modules-extract-imports/download/postcss-modules-extract-imports-2.0.0.tgz", + "integrity": "sha1-gYcZoa4doyX5gyRGsBE27rSTzX4=", + "dev": true, + "requires": { + "postcss": "^7.0.5" + } + }, + "postcss-modules-local-by-default": { + "version": "3.0.3", + "resolved": "https://registry.npm.taobao.org/postcss-modules-local-by-default/download/postcss-modules-local-by-default-3.0.3.tgz", + "integrity": "sha1-uxTgzHgnnVBNvcv9fgyiiZP/u7A=", + "dev": true, + "requires": { + "icss-utils": "^4.1.1", + "postcss": "^7.0.32", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-modules-scope": { + "version": "2.2.0", + "resolved": "https://registry.nlark.com/postcss-modules-scope/download/postcss-modules-scope-2.2.0.tgz", + "integrity": "sha1-OFyuATzHdD9afXYC0Qc6iequYu4=", + "dev": true, + "requires": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^6.0.0" + } + }, + "postcss-modules-values": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/postcss-modules-values/download/postcss-modules-values-3.0.0.tgz", + "integrity": "sha1-W1AA1uuuKbQlUwG0o6VFdEI+fxA=", + "dev": true, + "requires": { + "icss-utils": "^4.0.0", + "postcss": "^7.0.6" + } + }, + "postcss-selector-parser": { + "version": "6.0.6", + "resolved": "https://registry.nlark.com/postcss-selector-parser/download/postcss-selector-parser-6.0.6.tgz?cache=0&sync_timestamp=1620752924836&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-6.0.6.tgz", + "integrity": "sha1-LFu6gXSsL2mBq2MaQqsO5UrzMuo=", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.nlark.com/postcss-value-parser/download/postcss-value-parser-4.1.0.tgz?cache=0&sync_timestamp=1624607970310&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-4.1.0.tgz", + "integrity": "sha1-RD9qIM7WSBor2k+oUypuVdeJoss=", + "dev": true + }, + "prettier": { + "version": "1.19.1", + "resolved": "https://registry.nlark.com/prettier/download/prettier-1.19.1.tgz?cache=0&sync_timestamp=1631777098686&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fprettier%2Fdownload%2Fprettier-1.19.1.tgz", + "integrity": "sha1-99f1/4qc2HKnvkyhQglZVqYHl8s=", + "dev": true, + "optional": true + }, + "pretty-error": { + "version": "2.1.2", + "resolved": "https://registry.nlark.com/pretty-error/download/pretty-error-2.1.2.tgz", + "integrity": "sha1-von4LYGxyG7I/fvDhQRYgnJ/k7Y=", + "dev": true, + "requires": { + "lodash": "^4.17.20", + "renderkid": "^2.0.4" + } + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.nlark.com/private/download/private-0.1.8.tgz", + "integrity": "sha1-I4Hts2ifelPWUxkAYPz4ItLzaP8=", + "dev": true + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.nlark.com/process/download/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/process-nextick-args/download/process-nextick-args-2.0.1.tgz", + "integrity": "sha1-eCDZsWEgzFXKmud5JoCufbptf+I=" + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/promise-inflight/download/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" + }, + "proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.nlark.com/proxy-addr/download/proxy-addr-2.0.7.tgz", + "integrity": "sha1-8Z/mnOqzEe65S0LnDowgcPm6ECU=", + "dev": true, + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/prr/download/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/pseudomap/download/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npm.taobao.org/psl/download/psl-1.8.0.tgz", + "integrity": "sha1-kyb4vPsBOtzABf3/BWrM4CDlHCQ=", + "dev": true + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/public-encrypt/download/public-encrypt-4.0.3.tgz", + "integrity": "sha1-T8ydd6B+SLp1J+fL4N4z0HATMeA=", + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz", + "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=" + } + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pump/download/pump-3.0.0.tgz", + "integrity": "sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.nlark.com/pumpify/download/pumpify-1.5.1.tgz", + "integrity": "sha1-NlE74karJ1cLGjdKXOJ4v9dDcM4=", + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/pump/download/pump-2.0.1.tgz", + "integrity": "sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk=", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz", + "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=" + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz", + "integrity": "sha1-yzroBuh0BERYTvFUzo7pjUA/PjY=", + "dev": true + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.nlark.com/querystring/download/querystring-0.2.0.tgz?cache=0&sync_timestamp=1626179435543&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fquerystring%2Fdownload%2Fquerystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.nlark.com/querystring-es3/download/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" + }, + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.nlark.com/querystringify/download/querystringify-2.2.0.tgz", + "integrity": "sha1-M0WUG0FTy50ILY7uTNogFqmu9/Y=", + "dev": true + }, + "raf.js": { + "version": "0.0.4", + "resolved": "https://registry.nlark.com/raf.js/download/raf.js-0.0.4.tgz", + "integrity": "sha1-8Vr0RdJBsn+nExpXRQtn75xAL+w=" + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/randombytes/download/randombytes-2.1.0.tgz", + "integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.nlark.com/randomfill/download/randomfill-1.0.4.tgz", + "integrity": "sha1-ySGW/IarQr6YPxvzF3giSTHWFFg=", + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.nlark.com/range-parser/download/range-parser-1.2.1.tgz", + "integrity": "sha1-PPNwI9GZ4cJNGlW4SADC8+ZGgDE=", + "dev": true + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.nlark.com/raw-body/download/raw-body-2.4.0.tgz", + "integrity": "sha1-oc5vucm8NWylLoklarWQWeE9AzI=", + "dev": true, + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/bytes/download/bytes-3.1.0.tgz?cache=0&sync_timestamp=1589682741197&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbytes%2Fdownload%2Fbytes-3.1.0.tgz", + "integrity": "sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY=", + "dev": true + } + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/read-pkg/download/read-pkg-1.1.0.tgz?cache=0&sync_timestamp=1628984606195&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fread-pkg%2Fdownload%2Fread-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/read-pkg-up/download/read-pkg-up-1.0.1.tgz?cache=0&sync_timestamp=1624607972945&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fread-pkg-up%2Fdownload%2Fread-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/find-up/download/find-up-1.1.2.tgz?cache=0&sync_timestamp=1633618659233&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ffind-up%2Fdownload%2Ffind-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/path-exists/download/path-exists-2.1.0.tgz?cache=0&sync_timestamp=1628765027018&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpath-exists%2Fdownload%2Fpath-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + } + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.nlark.com/readable-stream/download/readable-stream-2.3.7.tgz", + "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.nlark.com/readdirp/download/readdirp-3.6.0.tgz", + "integrity": "sha1-dKNwvYVxFuJFspzJc0DNQxoCpsc=", + "optional": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/redent/download/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + } + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npm.taobao.org/regenerate/download/regenerate-1.4.2.tgz", + "integrity": "sha1-uTRtiCfo9aMve6KWN9OYtpAUhIo=", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.nlark.com/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz", + "integrity": "sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk=", + "dev": true + }, + "regenerator-transform": { + "version": "0.10.1", + "resolved": "https://registry.nlark.com/regenerator-transform/download/regenerator-transform-0.10.1.tgz?cache=0&sync_timestamp=1627057533376&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregenerator-transform%2Fdownload%2Fregenerator-transform-0.10.1.tgz", + "integrity": "sha1-HkmWg3Ix2ot/PPQRTXG1aRoGgN0=", + "dev": true, + "requires": { + "babel-runtime": "^6.18.0", + "babel-types": "^6.19.0", + "private": "^0.1.6" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/regex-not/download/regex-not-1.0.2.tgz", + "integrity": "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=", + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexp.prototype.flags": { + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/regexp.prototype.flags/download/regexp.prototype.flags-1.3.1.tgz?cache=0&sync_timestamp=1610725711521&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregexp.prototype.flags%2Fdownload%2Fregexp.prototype.flags-1.3.1.tgz", + "integrity": "sha1-fvNSro0VnnWMDq3Kb4/LTu8HviY=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/regexpu-core/download/regexpu-core-2.0.0.tgz?cache=0&sync_timestamp=1631619113277&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregexpu-core%2Fdownload%2Fregexpu-core-2.0.0.tgz", + "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "dev": true, + "requires": { + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/regjsgen/download/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.nlark.com/regjsparser/download/regjsparser-0.1.5.tgz?cache=0&sync_timestamp=1630946857014&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregjsparser%2Fdownload%2Fregjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.nlark.com/jsesc/download/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.nlark.com/relateurl/download/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + }, + "renderkid": { + "version": "2.0.7", + "resolved": "https://registry.nlark.com/renderkid/download/renderkid-2.0.7.tgz?cache=0&sync_timestamp=1623343447049&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frenderkid%2Fdownload%2Frenderkid-2.0.7.tgz", + "integrity": "sha1-Rk8namvc7mBvShWZP5sp/HTKhgk=", + "dev": true, + "requires": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^3.0.1" + } + }, + "repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.nlark.com/repeat-element/download/repeat-element-1.1.4.tgz", + "integrity": "sha1-vmgVIIR6tYx1aKx1+/rSjtQtOek=" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.nlark.com/repeat-string/download/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/repeating/download/repeating-2.0.1.tgz?cache=0&sync_timestamp=1624608101869&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frepeating%2Fdownload%2Frepeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.nlark.com/request/download/request-2.88.2.tgz?cache=0&sync_timestamp=1620541935065&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frequest%2Fdownload%2Frequest-2.88.2.tgz", + "integrity": "sha1-1zyRhzHLWofaBH4gcjQUb2ZNErM=", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/require-directory/download/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/require-main-filename/download/require-main-filename-2.0.0.tgz", + "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/requires-port/download/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.20.0.tgz?cache=0&sync_timestamp=1613054862388&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fresolve%2Fdownload%2Fresolve-1.20.0.tgz", + "integrity": "sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU=", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/resolve-cwd/download/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/resolve-dir/download/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "dependencies": { + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/global-modules/download/global-modules-1.0.0.tgz", + "integrity": "sha1-bXcPDrUjrHgWTXK15xqIdyZcw+o=", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + } + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/resolve-from/download/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.nlark.com/resolve-url/download/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.nlark.com/ret/download/ret-0.1.15.tgz", + "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=" + }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.nlark.com/retry/download/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.nlark.com/rimraf/download/rimraf-2.7.1.tgz", + "integrity": "sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w=", + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/ripemd160/download/ripemd160-2.0.2.tgz", + "integrity": "sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw=", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.nlark.com/run-queue/download/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "requires": { + "aproba": "^1.1.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz", + "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/safe-regex/download/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.nlark.com/safer-buffer/download/safer-buffer-2.1.2.tgz", + "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=" + }, + "sass-graph": { + "version": "2.2.5", + "resolved": "https://registry.nlark.com/sass-graph/download/sass-graph-2.2.5.tgz", + "integrity": "sha1-qYHIdEa4MZ2W3OBnHkh4eb0kwug=", + "dev": true, + "requires": { + "glob": "^7.0.0", + "lodash": "^4.0.0", + "scss-tokenizer": "^0.2.3", + "yargs": "^13.3.2" + } + }, + "sass-loader": { + "version": "7.3.1", + "resolved": "https://registry.nlark.com/sass-loader/download/sass-loader-7.3.1.tgz", + "integrity": "sha1-pb9ooEvOocE/+ELXRxUPerfQ0j8=", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "loader-utils": "^1.0.1", + "neo-async": "^2.5.0", + "pify": "^4.0.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1618846828850&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + } + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/schema-utils/download/schema-utils-1.0.0.tgz", + "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "scss-tokenizer": { + "version": "0.2.3", + "resolved": "https://registry.nlark.com/scss-tokenizer/download/scss-tokenizer-0.2.3.tgz", + "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", + "dev": true, + "requires": { + "js-base64": "^2.1.8", + "source-map": "^0.4.2" + }, + "dependencies": { + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.4.4.tgz?cache=0&sync_timestamp=1593529658602&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/select-hose/download/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "selfsigned": { + "version": "1.10.11", + "resolved": "https://registry.nlark.com/selfsigned/download/selfsigned-1.10.11.tgz?cache=0&sync_timestamp=1620160245612&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fselfsigned%2Fdownload%2Fselfsigned-1.10.11.tgz", + "integrity": "sha1-JJKc2Qb+D0S20B+yOZmnOVN6y+k=", + "dev": true, + "requires": { + "node-forge": "^0.10.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.nlark.com/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1618846828850&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=" + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.nlark.com/send/download/send-0.17.1.tgz", + "integrity": "sha1-wdiwWfeQD3Rm3Uk4vcROEd2zdsg=", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.nlark.com/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.nlark.com/mime/download/mime-1.6.0.tgz", + "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=", + "dev": true + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/ms/download/ms-2.1.1.tgz", + "integrity": "sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo=", + "dev": true + } + } + }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/serialize-javascript/download/serialize-javascript-4.0.0.tgz?cache=0&sync_timestamp=1624608021459&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fserialize-javascript%2Fdownload%2Fserialize-javascript-4.0.0.tgz", + "integrity": "sha1-tSXhI4SJpez8Qq+sw/6Z5mb0sao=", + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.nlark.com/serve-index/download/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.nlark.com/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.nlark.com/http-errors/download/http-errors-1.6.3.tgz?cache=0&sync_timestamp=1624607959970&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.nlark.com/inherits/download/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/setprototypeof/download/setprototypeof-1.1.0.tgz", + "integrity": "sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY=", + "dev": true + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.nlark.com/serve-static/download/serve-static-1.14.1.tgz", + "integrity": "sha1-Zm5jbcTwEPfvKZcKiKZ0MgiYsvk=", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/set-blocking/download/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/set-value/download/set-value-2.0.1.tgz?cache=0&sync_timestamp=1631437838608&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fset-value%2Fdownload%2Fset-value-2.0.1.tgz", + "integrity": "sha1-oY1AUw5vB95CKMfe/kInr4ytAFs=", + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.nlark.com/setimmediate/download/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/setprototypeof/download/setprototypeof-1.1.1.tgz", + "integrity": "sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM=", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npm.taobao.org/sha.js/download/sha.js-2.4.11.tgz", + "integrity": "sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc=", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.nlark.com/shallow-clone/download/shallow-clone-3.0.1.tgz", + "integrity": "sha1-jymBrZJTH1UDWwH7IwdppA4C76M=", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/shebang-regex/download/shebang-regex-1.0.0.tgz?cache=0&sync_timestamp=1628896493843&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fshebang-regex%2Fdownload%2Fshebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.nlark.com/side-channel/download/side-channel-1.0.4.tgz", + "integrity": "sha1-785cj9wQTudRslxY1CkAEfpeos8=", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.5", + "resolved": "https://registry.npmmirror.com/signal-exit/download/signal-exit-3.0.5.tgz", + "integrity": "sha1-nj6MwMdamUcrRDIQM6dwLnc4JS8=", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/slash/download/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.nlark.com/snapdragon/download/snapdragon-0.8.2.tgz", + "integrity": "sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0=", + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.nlark.com/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.nlark.com/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/snapdragon-node/download/snapdragon-node-2.1.1.tgz", + "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=", + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/define-property/download/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.nlark.com/snapdragon-util/download/snapdragon-util-3.0.1.tgz", + "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=", + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "sockjs": { + "version": "0.3.21", + "resolved": "https://registry.nlark.com/sockjs/download/sockjs-0.3.21.tgz", + "integrity": "sha1-s0/7mOeWkwtgoM+hGQTWozmn1Bc=", + "dev": true, + "requires": { + "faye-websocket": "^0.11.3", + "uuid": "^3.4.0", + "websocket-driver": "^0.7.4" + } + }, + "sockjs-client": { + "version": "1.5.2", + "resolved": "https://registry.nlark.com/sockjs-client/download/sockjs-client-1.5.2.tgz?cache=0&sync_timestamp=1629825451221&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsockjs-client%2Fdownload%2Fsockjs-client-1.5.2.tgz", + "integrity": "sha1-S8SMLanOR2nxnccjOWtQ9cEjMKM=", + "dev": true, + "requires": { + "debug": "^3.2.6", + "eventsource": "^1.0.7", + "faye-websocket": "^0.11.3", + "inherits": "^2.0.4", + "json3": "^3.3.3", + "url-parse": "^1.5.3" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.nlark.com/debug/download/debug-3.2.7.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-3.2.7.tgz", + "integrity": "sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/download/ms-2.1.3.tgz", + "integrity": "sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=", + "dev": true + } + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/source-list-map/download/source-list-map-2.0.1.tgz", + "integrity": "sha1-OZO9hzv8SEecyp6jpUeDXHwVSzQ=" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1593529658602&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.nlark.com/source-map-resolve/download/source-map-resolve-0.5.3.tgz", + "integrity": "sha1-GQhmvs51U+H48mei7oLGBrVQmho=", + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.20", + "resolved": "https://registry.nlark.com/source-map-support/download/source-map-support-0.5.20.tgz?cache=0&sync_timestamp=1631179577133&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.5.20.tgz", + "integrity": "sha1-EhZgifj15ejFaSazd2Mzkt0stsk=", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz?cache=0&sync_timestamp=1593529658602&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" + } + } + }, + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.nlark.com/source-map-url/download/source-map-url-0.4.1.tgz", + "integrity": "sha1-CvZmBadFpaL5HPG7+KevvCg97FY=" + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.nlark.com/spdx-correct/download/spdx-correct-3.1.1.tgz", + "integrity": "sha1-3s6BrJweZxPl99G28X1Gj6U9iak=", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/spdx-exceptions/download/spdx-exceptions-2.3.0.tgz", + "integrity": "sha1-PyjOGnegA3JoPq3kpDMYNSeiFj0=", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.nlark.com/spdx-expression-parse/download/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha1-z3D1BILu/cmOPOCmgz5KU87rpnk=", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.10", + "resolved": "https://registry.nlark.com/spdx-license-ids/download/spdx-license-ids-3.0.10.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fspdx-license-ids%2Fdownload%2Fspdx-license-ids-3.0.10.tgz", + "integrity": "sha1-DZvszN5wA9bGWNSH3UijLwvzAUs=", + "dev": true + }, + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.nlark.com/spdy/download/spdy-4.0.2.tgz", + "integrity": "sha1-t09GYgOj7aRSwCSSuR+56EonZ3s=", + "dev": true, + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "dependencies": { + "debug": { + "version": "4.3.2", + "resolved": "https://registry.nlark.com/debug/download/debug-4.3.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.2.tgz", + "integrity": "sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/ms/download/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", + "dev": true + } + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/spdy-transport/download/spdy-transport-3.0.0.tgz", + "integrity": "sha1-ANSGOmQArXXfkzYaFghgXl3NzzE=", + "dev": true, + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + }, + "dependencies": { + "debug": { + "version": "4.3.2", + "resolved": "https://registry.nlark.com/debug/download/debug-4.3.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.2.tgz", + "integrity": "sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/ms/download/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", + "dev": true + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.nlark.com/readable-stream/download/readable-stream-3.6.0.tgz", + "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/split-string/download/split-string-3.1.0.tgz", + "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=", + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npm.taobao.org/sshpk/download/sshpk-1.16.1.tgz", + "integrity": "sha1-+2YcC+8ps520B2nuOfpwCT1vaHc=", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "ssri": { + "version": "6.0.2", + "resolved": "https://registry.nlark.com/ssri/download/ssri-6.0.2.tgz", + "integrity": "sha1-FXk5E08gRk5zAd26PpD/qPdyisU=", + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.nlark.com/static-extend/download/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.nlark.com/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.nlark.com/statuses/download/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true + }, + "stdout-stream": { + "version": "1.4.1", + "resolved": "https://registry.nlark.com/stdout-stream/download/stdout-stream-1.4.1.tgz", + "integrity": "sha1-WsF0zdXNcmEEqgwLK9g4FdjVNd4=", + "dev": true, + "requires": { + "readable-stream": "^2.0.1" + } + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/stream-browserify/download/stream-browserify-2.0.2.tgz", + "integrity": "sha1-h1IdOKRKp+6RzhzSpH3wy0ndZgs=", + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.nlark.com/stream-each/download/stream-each-1.2.3.tgz", + "integrity": "sha1-6+J6DDibBPvMIzZClS4Qcxr6m64=", + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.nlark.com/stream-http/download/stream-http-2.8.3.tgz", + "integrity": "sha1-stJCRpKIpaJ+xP6JM6z2I95lFPw=", + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/stream-shift/download/stream-shift-1.0.1.tgz", + "integrity": "sha1-1wiCgVWasneEJCebCHfaPDktWj0=" + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/string-width/download/string-width-1.0.2.tgz?cache=0&sync_timestamp=1632421054789&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstring-width%2Fdownload%2Fstring-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.nlark.com/string.prototype.trimend/download/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha1-51rpDClCxjUEaGwYsoe0oLGkX4A=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.nlark.com/string.prototype.trimstart/download/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha1-s2OZr0qymZtMnGSL16P7K7Jv7u0=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/string_decoder/download/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/strip-bom/download/strip-bom-2.0.0.tgz?cache=0&sync_timestamp=1624608094529&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fstrip-bom%2Fdownload%2Fstrip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/strip-eof/download/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/strip-indent/download/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1" + } + }, + "style-loader": { + "version": "0.23.1", + "resolved": "https://registry.nlark.com/style-loader/download/style-loader-0.23.1.tgz?cache=0&sync_timestamp=1632246712811&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fstyle-loader%2Fdownload%2Fstyle-loader-0.23.1.tgz", + "integrity": "sha1-y5FUYG8+dxq2xKtjcCahBJF02SU=", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "schema-utils": "^1.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1626703455199&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.nlark.com/tapable/download/tapable-1.1.3.tgz?cache=0&sync_timestamp=1631526972264&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftapable%2Fdownload%2Ftapable-1.1.3.tgz", + "integrity": "sha1-ofzMBrWNth/XpF2i2kT186Pme6I=" + }, + "tar": { + "version": "2.2.2", + "resolved": "https://registry.nlark.com/tar/download/tar-2.2.2.tgz?cache=0&sync_timestamp=1629994977916&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftar%2Fdownload%2Ftar-2.2.2.tgz", + "integrity": "sha1-DKiEhWLHKZuLRG/2pNYM27I+3EA=", + "dev": true, + "requires": { + "block-stream": "*", + "fstream": "^1.0.12", + "inherits": "2" + } + }, + "terser": { + "version": "4.8.0", + "resolved": "https://registry.nlark.com/terser/download/terser-4.8.0.tgz", + "integrity": "sha1-YwVjQ9fHC7KfOvZlhlpG/gOg3xc=", + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz?cache=0&sync_timestamp=1593529658602&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" + } + } + }, + "terser-webpack-plugin": { + "version": "1.4.5", + "resolved": "https://registry.nlark.com/terser-webpack-plugin/download/terser-webpack-plugin-1.4.5.tgz?cache=0&sync_timestamp=1631202287446&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-1.4.5.tgz", + "integrity": "sha1-oheu+uozDnNP+sthIOwfoxLWBAs=", + "requires": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz?cache=0&sync_timestamp=1593529658602&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" + } + } + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.nlark.com/through2/download/through2-2.0.5.tgz", + "integrity": "sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0=", + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/thunky/download/thunky-1.1.0.tgz", + "integrity": "sha1-Wrr3FKlAXbBQRzK7zNLO3Z75U30=", + "dev": true + }, + "timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.nlark.com/timers-browserify/download/timers-browserify-2.0.12.tgz", + "integrity": "sha1-RKRcEfv0B/NPl7zNFXfGUjYbAO4=", + "requires": { + "setimmediate": "^1.0.4" + } + }, + "tmp": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.29.tgz", + "integrity": "sha1-8lEl/w3Z2jzLDC3Tce4SiLuRKMA=", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.1" + } + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.nlark.com/to-fast-properties/download/to-fast-properties-1.0.3.tgz?cache=0&sync_timestamp=1628418893613&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fto-fast-properties%2Fdownload%2Fto-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.nlark.com/to-object-path/download/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.nlark.com/to-regex/download/to-regex-3.0.2.tgz", + "integrity": "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=", + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/to-regex-range/download/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/toidentifier/download/toidentifier-1.0.0.tgz", + "integrity": "sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM=", + "dev": true + }, + "toposort": { + "version": "1.0.7", + "resolved": "https://registry.nlark.com/toposort/download/toposort-1.0.7.tgz", + "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", + "dev": true + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.5.0.tgz", + "integrity": "sha1-zZ+yoKodWhK0c72fuW+j3P9lreI=", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/trim-newlines/download/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/trim-right/download/trim-right-1.0.1.tgz?cache=0&sync_timestamp=1625851480077&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftrim-right%2Fdownload%2Ftrim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true + }, + "true-case-path": { + "version": "1.0.3", + "resolved": "https://registry.nlark.com/true-case-path/download/true-case-path-1.0.3.tgz", + "integrity": "sha1-+BO1qMhrQNpZYGcisUTjIleZ9H0=", + "dev": true, + "requires": { + "glob": "^7.1.2" + } + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.nlark.com/tty-browserify/download/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.nlark.com/type-is/download/type-is-1.6.18.tgz", + "integrity": "sha1-TlUs0F3wlGfcvE73Od6J8s83wTE=", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.nlark.com/typedarray/download/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "uglify-js": { + "version": "3.4.10", + "resolved": "https://registry.nlark.com/uglify-js/download/uglify-js-3.4.10.tgz", + "integrity": "sha1-mtlWPY6zrN+404WX0q8dgV9qdV8=", + "dev": true, + "requires": { + "commander": "~2.19.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.19.0", + "resolved": "https://registry.nlark.com/commander/download/commander-2.19.0.tgz?cache=0&sync_timestamp=1631257318022&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcommander%2Fdownload%2Fcommander-2.19.0.tgz", + "integrity": "sha1-9hmKqE5bg8RgVLlN3tv+1e6f8So=", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz?cache=0&sync_timestamp=1593529658602&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/unbox-primitive/download/unbox-primitive-1.0.1.tgz", + "integrity": "sha1-CF4hViXsMWJXTciFmr7nilmxRHE=", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + } + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/union-value/download/union-value-1.0.1.tgz", + "integrity": "sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc=", + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/unique-filename/download/unique-filename-1.1.1.tgz", + "integrity": "sha1-HWl2k2mtoFgxA6HmrodoG1ZXMjA=", + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.nlark.com/unique-slug/download/unique-slug-2.0.2.tgz", + "integrity": "sha1-uqvOkQg/xk6UWw861hPiZPfNTmw=", + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/unpipe/download/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/unset-value/download/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.nlark.com/has-value/download/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/isobject/download/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.nlark.com/has-values/download/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.nlark.com/upath/download/upath-1.2.0.tgz", + "integrity": "sha1-j2bbzVWog6za5ECK+LA1pQRMGJQ=" + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.nlark.com/upper-case/download/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npm.taobao.org/uri-js/download/uri-js-4.4.1.tgz?cache=0&sync_timestamp=1610237517218&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furi-js%2Fdownload%2Furi-js-4.4.1.tgz", + "integrity": "sha1-mxpSWVIlhZ5V9mnZKPiMbFfyp34=", + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.nlark.com/urix/download/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.nlark.com/url/download/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + } + } + }, + "url-loader": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/url-loader/download/url-loader-2.3.0.tgz", + "integrity": "sha1-4OLvZY8APvuMpBsPP/v3a6uIZYs=", + "dev": true, + "requires": { + "loader-utils": "^1.2.3", + "mime": "^2.4.4", + "schema-utils": "^2.5.0" + }, + "dependencies": { + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.nlark.com/schema-utils/download/schema-utils-2.7.1.tgz", + "integrity": "sha1-HKTzLRskxZDCA7jnpQvw6kzTlNc=", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "url-parse": { + "version": "1.5.3", + "resolved": "https://registry.nlark.com/url-parse/download/url-parse-1.5.3.tgz", + "integrity": "sha1-ccEwPTj7Zjmt4YPCmSyMwGht+GI=", + "dev": true, + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.nlark.com/use/download/use-3.1.1.tgz", + "integrity": "sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8=" + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.nlark.com/util/download/util-0.11.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Futil%2Fdownload%2Futil-0.11.1.tgz", + "integrity": "sha1-MjZzNyDsZLsn9uJvQhqqLhtYjWE=", + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.nlark.com/inherits/download/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/util-deprecate/download/util-deprecate-1.0.2.tgz?cache=0&sync_timestamp=1624607944834&other_urls=https%3A%2F%2Fregistry.nlark.com%2Futil-deprecate%2Fdownload%2Futil-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.0.tgz?cache=0&sync_timestamp=1610159885628&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil.promisify%2Fdownload%2Futil.promisify-1.0.0.tgz", + "integrity": "sha1-RA9xZaRZyaFtwUXrjnLzVocJcDA=", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.nlark.com/utila/download/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/utils-merge/download/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.nlark.com/uuid/download/uuid-3.4.0.tgz?cache=0&sync_timestamp=1622213185460&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fuuid%2Fdownload%2Fuuid-3.4.0.tgz", + "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=", + "dev": true + }, + "v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/v8-compile-cache/download/v8-compile-cache-2.3.0.tgz", + "integrity": "sha1-LeGWGMZtwkfc+2+ZM4A12CRaLO4=", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.nlark.com/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha1-/JH2uce6FchX9MssXe/uw51PQQo=", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vant": { + "version": "2.12.34", + "resolved": "https://registry.npmjs.org/vant/-/vant-2.12.34.tgz", + "integrity": "sha512-u9ELcegdRgbipuTZZ+QtExd2TZpAO8JD7P/BOVH0uTrwI+xRY5+EIFOtUt+mh+yCZ/R+kx/OlNYwE3DMO9A/ZA==", + "requires": { + "@babel/runtime": "7.x", + "@vant/icons": "^1.7.1", + "@vant/popperjs": "^1.1.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.0.0", + "vue-lazyload": "1.2.3" + }, + "dependencies": { + "vue-lazyload": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/vue-lazyload/-/vue-lazyload-1.2.3.tgz", + "integrity": "sha512-DC0ZwxanbRhx79tlA3zY5OYJkH8FYp3WBAnAJbrcuoS8eye1P73rcgAZhyxFSPUluJUTelMB+i/+VkNU/qVm7g==" + } + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/core-util-is/download/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + } + } + }, + "vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/vm-browserify/download/vm-browserify-1.1.2.tgz", + "integrity": "sha1-eGQcSIuObKkadfUR56OzKobl3aA=" + }, + "vue": { + "version": "2.6.14", + "resolved": "https://registry.npmmirror.com/vue/download/vue-2.6.14.tgz?cache=0&sync_timestamp=1633712555314&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fvue%2Fdownload%2Fvue-2.6.14.tgz", + "integrity": "sha1-5RqlJQJQ1Wmj+606ilpofWA24jU=" + }, + "vue-addr-picker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/vue-addr-picker/-/vue-addr-picker-1.0.8.tgz", + "integrity": "sha512-rzIdBfwPN+Ls6m33zTek6Iy/j9eKuwKwYbgvT8pnKShOP2I3O9/3RdeRxgSFFDJ4IsP/+mt+ZmnTo3AS83X7fw==", + "requires": { + "mint-ui": "^2.2.13" + } + }, + "vue-axios": { + "version": "2.1.5", + "resolved": "https://registry.nlark.com/vue-axios/download/vue-axios-2.1.5.tgz", + "integrity": "sha1-GvS/EhjtcTCcdq+zjQ9oPjEsJKc=" + }, + "vue-hot-reload-api": { + "version": "2.3.4", + "resolved": "https://registry.nlark.com/vue-hot-reload-api/download/vue-hot-reload-api-2.3.4.tgz", + "integrity": "sha1-UylVzB6yCKPZkLOp+acFdGV+CPI=", + "dev": true + }, + "vue-lazyload": { + "version": "1.3.3", + "resolved": "https://registry.nlark.com/vue-lazyload/download/vue-lazyload-1.3.3.tgz", + "integrity": "sha1-TfUKJxvem3TDyveiKNbgr1DVaC8=" + }, + "vue-loader": { + "version": "15.9.8", + "resolved": "https://registry.npmmirror.com/vue-loader/download/vue-loader-15.9.8.tgz?cache=0&sync_timestamp=1632349313622&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fvue-loader%2Fdownload%2Fvue-loader-15.9.8.tgz", + "integrity": "sha1-Sw9gKvr2aplr4eU0+5YJ3EqxDmE=", + "dev": true, + "requires": { + "@vue/component-compiler-utils": "^3.1.0", + "hash-sum": "^1.0.2", + "loader-utils": "^1.1.0", + "vue-hot-reload-api": "^2.3.0", + "vue-style-loader": "^4.1.0" + } + }, + "vue-preview": { + "version": "1.1.3", + "resolved": "https://registry.nlark.com/vue-preview/download/vue-preview-1.1.3.tgz", + "integrity": "sha1-YAuguUq/6WnHoQsodq/38/vqbP0=", + "requires": { + "photoswipe": "^4.1.2" + } + }, + "vue-router": { + "version": "3.5.2", + "resolved": "https://registry.nlark.com/vue-router/download/vue-router-3.5.2.tgz", + "integrity": "sha1-X1Xj8lGXDjbD6NiKfNLWejUK3lw=" + }, + "vue-style-loader": { + "version": "4.1.3", + "resolved": "https://registry.nlark.com/vue-style-loader/download/vue-style-loader-4.1.3.tgz", + "integrity": "sha1-bVWGOlH6dXqyTonZNxRlByqnvDU=", + "dev": true, + "requires": { + "hash-sum": "^1.0.2", + "loader-utils": "^1.0.2" + } + }, + "vue-template-compiler": { + "version": "2.6.14", + "resolved": "https://registry.nlark.com/vue-template-compiler/download/vue-template-compiler-2.6.14.tgz", + "integrity": "sha1-ovDn2YVnDULJye4NBE/tdpD092M=", + "dev": true, + "requires": { + "de-indent": "^1.0.2", + "he": "^1.1.0" + } + }, + "vue-template-es2015-compiler": { + "version": "1.9.1", + "resolved": "https://registry.nlark.com/vue-template-es2015-compiler/download/vue-template-es2015-compiler-1.9.1.tgz", + "integrity": "sha1-HuO8mhbsv1EYvjNLsV+cRvgvWCU=", + "dev": true + }, + "vuex": { + "version": "2.5.0", + "resolved": "https://registry.nlark.com/vuex/download/vuex-2.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvuex%2Fdownload%2Fvuex-2.5.0.tgz", + "integrity": "sha1-IPAmWt5smlrGckpAXT/9tHJsl0E=", + "dev": true + }, + "watchpack": { + "version": "1.7.5", + "resolved": "https://registry.nlark.com/watchpack/download/watchpack-1.7.5.tgz", + "integrity": "sha1-EmfmxV4Lm1vkTCAjrtVDeiwmxFM=", + "requires": { + "chokidar": "^3.4.1", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0", + "watchpack-chokidar2": "^2.0.1" + } + }, + "watchpack-chokidar2": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/watchpack-chokidar2/download/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha1-OFAAcu5uzmbzdpk2lQ6hdxvhyVc=", + "optional": true, + "requires": { + "chokidar": "^2.1.8" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz?cache=0&sync_timestamp=1617747806715&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fanymatch%2Fdownload%2Fanymatch-2.0.0.tgz", + "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=", + "optional": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/normalize-path/download/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "optional": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.nlark.com/binary-extensions/download/binary-extensions-1.13.1.tgz", + "integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=", + "optional": true + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.nlark.com/chokidar/download/chokidar-2.1.8.tgz", + "integrity": "sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc=", + "optional": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.nlark.com/fsevents/download/fsevents-1.2.13.tgz", + "integrity": "sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg=", + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/glob-parent/download/glob-parent-3.1.0.tgz?cache=0&sync_timestamp=1632954190616&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglob-parent%2Fdownload%2Fglob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "optional": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/is-glob/download/is-glob-3.1.0.tgz?cache=0&sync_timestamp=1632934498977&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-glob%2Fdownload%2Fis-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "optional": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/is-binary-path/download/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "optional": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.nlark.com/readdirp/download/readdirp-2.2.1.tgz", + "integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=", + "optional": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + } + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.nlark.com/wbuf/download/wbuf-1.7.3.tgz", + "integrity": "sha1-wdjRSTFtPqhShIiVy2oL/oh7h98=", + "dev": true, + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "webpack": { + "version": "4.46.0", + "resolved": "https://registry.npmmirror.com/webpack/download/webpack-4.46.0.tgz", + "integrity": "sha1-v5tEBOogoHNgXgoBHRiNd8tq1UI=", + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.5.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" + } + }, + "webpack-cli": { + "version": "3.3.12", + "resolved": "https://registry.npmmirror.com/webpack-cli/download/webpack-cli-3.3.12.tgz", + "integrity": "sha1-lOmtoIFFPNCqYJyZ5QABL9OtLUo=", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "cross-spawn": "^6.0.5", + "enhanced-resolve": "^4.1.1", + "findup-sync": "^3.0.0", + "global-modules": "^2.0.0", + "import-local": "^2.0.0", + "interpret": "^1.4.0", + "loader-utils": "^1.4.0", + "supports-color": "^6.1.0", + "v8-compile-cache": "^2.1.1", + "yargs": "^13.3.2" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.nlark.com/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1627646614989&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.nlark.com/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1626703455199&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.nlark.com/cross-spawn/download/cross-spawn-6.0.5.tgz?cache=0&sync_timestamp=1618847024338&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcross-spawn%2Fdownload%2Fcross-spawn-6.0.5.tgz", + "integrity": "sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.nlark.com/supports-color/download/supports-color-6.1.0.tgz?cache=0&sync_timestamp=1626703455199&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz", + "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "webpack-dev-middleware": { + "version": "3.7.3", + "resolved": "https://registry.npmmirror.com/webpack-dev-middleware/download/webpack-dev-middleware-3.7.3.tgz?cache=0&sync_timestamp=1632574895295&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fwebpack-dev-middleware%2Fdownload%2Fwebpack-dev-middleware-3.7.3.tgz", + "integrity": "sha1-Bjk3KxQyYuK4SrldO5GnWXBhwsU=", + "dev": true, + "requires": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + } + }, + "webpack-dev-server": { + "version": "3.11.2", + "resolved": "https://registry.npmmirror.com/webpack-dev-server/download/webpack-dev-server-3.11.2.tgz?cache=0&sync_timestamp=1633370445052&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fwebpack-dev-server%2Fdownload%2Fwebpack-dev-server-3.11.2.tgz", + "integrity": "sha1-aV687Xakkp8NXef9c/r+GF/jNwg=", + "dev": true, + "requires": { + "ansi-html": "0.0.7", + "bonjour": "^3.5.0", + "chokidar": "^2.1.8", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.3.1", + "http-proxy-middleware": "0.19.1", + "import-local": "^2.0.0", + "internal-ip": "^4.3.0", + "ip": "^1.1.5", + "is-absolute-url": "^3.0.3", + "killable": "^1.0.1", + "loglevel": "^1.6.8", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.26", + "schema-utils": "^1.0.0", + "selfsigned": "^1.10.8", + "semver": "^6.3.0", + "serve-index": "^1.9.1", + "sockjs": "^0.3.21", + "sockjs-client": "^1.5.0", + "spdy": "^4.0.2", + "strip-ansi": "^3.0.1", + "supports-color": "^6.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^3.7.2", + "webpack-log": "^2.0.0", + "ws": "^6.2.1", + "yargs": "^13.3.2" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz?cache=0&sync_timestamp=1617747806715&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fanymatch%2Fdownload%2Fanymatch-2.0.0.tgz", + "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/normalize-path/download/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.nlark.com/binary-extensions/download/binary-extensions-1.13.1.tgz", + "integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=", + "dev": true + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.nlark.com/chokidar/download/chokidar-2.1.8.tgz", + "integrity": "sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc=", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "debug": { + "version": "4.3.2", + "resolved": "https://registry.nlark.com/debug/download/debug-4.3.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.2.tgz", + "integrity": "sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.nlark.com/fsevents/download/fsevents-1.2.13.tgz", + "integrity": "sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg=", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/glob-parent/download/glob-parent-3.1.0.tgz?cache=0&sync_timestamp=1632954190616&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglob-parent%2Fdownload%2Fglob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/is-glob/download/is-glob-3.1.0.tgz?cache=0&sync_timestamp=1632934498977&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-glob%2Fdownload%2Fis-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/is-binary-path/download/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/ms/download/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", + "dev": true + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.nlark.com/readdirp/download/readdirp-2.2.1.tgz", + "integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1618846828850&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.nlark.com/supports-color/download/supports-color-6.1.0.tgz?cache=0&sync_timestamp=1626703455199&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz", + "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/webpack-log/download/webpack-log-2.0.0.tgz", + "integrity": "sha1-W3ko4GN1k/EZ0y9iJ8HgrDHhtH8=", + "dev": true, + "requires": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + } + }, + "webpack-parallel-uglify-plugin": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-parallel-uglify-plugin/-/webpack-parallel-uglify-plugin-2.0.0.tgz", + "integrity": "sha512-LasXFnpuKGK8jObwbn/eTNZKmRpwpJTHiAzW3uRWMrH54kAxhbW8M44MPkAqU5ZWtJ3/ap35x6h2D1XN2umhDQ==", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "glob": "^7.0.5", + "mkdirp": "^0.5.1", + "pify": "^3.0.0", + "terser": "^5.3.5", + "tmp": "0.0.29", + "uglify-js": "^3.12.1", + "webpack-sources": "^1.0.0", + "worker-farm": "^1.3.1" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + }, + "terser": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.10.0.tgz", + "integrity": "sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.20" + } + }, + "uglify-js": { + "version": "3.14.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.3.tgz", + "integrity": "sha512-mic3aOdiq01DuSVx0TseaEzMIVqebMZ0Z3vaeDhFEh9bsc24hV1TFvN74reA2vs08D0ZWfNjAcJ3UbVLaBss+g==", + "dev": true + } + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.nlark.com/webpack-sources/download/webpack-sources-1.4.3.tgz", + "integrity": "sha1-7t2OwLko+/HL/plOItLYkPMwqTM=", + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz?cache=0&sync_timestamp=1593529658602&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" + } + } + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.nlark.com/websocket-driver/download/websocket-driver-0.7.4.tgz", + "integrity": "sha1-ia1Slbv2S0gKvLox5JU6ynBvV2A=", + "dev": true, + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.nlark.com/websocket-extensions/download/websocket-extensions-0.1.4.tgz", + "integrity": "sha1-f4RzvIOd/YdgituV1+sHUhFXikI=", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.nlark.com/which/download/which-1.3.1.tgz", + "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/which-boxed-primitive/download/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha1-E3V7yJsgmwSf5dhkMOIc9AqJqOY=", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/which-module/download/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.nlark.com/wide-align/download/wide-align-1.1.3.tgz", + "integrity": "sha1-rgdOa9wMFKQx6ATmJFScYzsABFc=", + "dev": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.nlark.com/worker-farm/download/worker-farm-1.7.0.tgz?cache=0&sync_timestamp=1624608024341&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fworker-farm%2Fdownload%2Fworker-farm-1.7.0.tgz", + "integrity": "sha1-JqlMU5G7ypJhUgAvabhKS/dy5ag=", + "requires": { + "errno": "~0.1.7" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-5.1.0.tgz", + "integrity": "sha1-H9H2cjXVttD+54EFYAG/tpTAOwk=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-4.1.0.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-fullwidth-code-point%2Fdownload%2Fis-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/string-width/download/string-width-3.1.0.tgz?cache=0&sync_timestamp=1632421054789&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstring-width%2Fdownload%2Fstring-width-3.1.0.tgz", + "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/wrappy/download/wrappy-1.0.2.tgz?cache=0&sync_timestamp=1619133505879&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrappy%2Fdownload%2Fwrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "ws": { + "version": "6.2.2", + "resolved": "https://registry.npmmirror.com/ws/download/ws-6.2.2.tgz?cache=0&sync_timestamp=1633200058938&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fws%2Fdownload%2Fws-6.2.2.tgz", + "integrity": "sha1-3Vzb1XqZeZFgl2UtePHMX66gwy4=", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.nlark.com/xtend/download/xtend-4.0.2.tgz", + "integrity": "sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q=" + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.nlark.com/y18n/download/y18n-4.0.3.tgz", + "integrity": "sha1-tfJZyCzW4zaSHv17/Yv1YN6e7t8=" + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.nlark.com/yallist/download/yallist-3.1.1.tgz", + "integrity": "sha1-27fa+b/YusmrRev2ArjLrQ1dCP0=" + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmmirror.com/yargs/download/yargs-13.3.2.tgz", + "integrity": "sha1-rX/+/sGqWVZayRX4Lcyzipwxot0=", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-4.1.0.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-fullwidth-code-point%2Fdownload%2Fis-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/string-width/download/string-width-3.1.0.tgz?cache=0&sync_timestamp=1632421054789&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstring-width%2Fdownload%2Fstring-width-3.1.0.tgz", + "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.nlark.com/yargs-parser/download/yargs-parser-13.1.2.tgz?cache=0&sync_timestamp=1624608003030&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-13.1.2.tgz", + "integrity": "sha1-Ew8JcC667vJlDVTObj5XBvek+zg=", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } +} diff --git a/codes/news_recsys/news_rec_web/Vue-newsinfo/package.json b/codes/news_recsys/news_rec_web/Vue-newsinfo/package.json new file mode 100644 index 00000000..79b3470b --- /dev/null +++ b/codes/news_recsys/news_rec_web/Vue-newsinfo/package.json @@ -0,0 +1,55 @@ +{ + "name": "0807_H5", + "version": "1.0.0", + "description": "", + "main": "webpack.config.js", + "dependencies": { + "@vant/area-data": "^1.1.3", + "axios": "^0.19.0", + "bootstrap": "^3.4.1", + "into": "^0.2.0", + "js-pinyin": "^0.1.9", + "less-loader": "^10.2.0", + "mint-ui": "^2.2.13", + "moment": "^2.24.0", + "vant": "^2.12.34", + "vue": "^2.6.10", + "vue-addr-picker": "^1.0.8", + "vue-axios": "^2.1.4", + "vue-preview": "^1.1.3", + "vue-router": "^3.0.7", + "webpack": "^4.39.1" + }, + "devDependencies": { + "babel-core": "^6.26.0", + "babel-loader": "^7.1.2", + "babel-plugin-component": "^1.1.1", + "babel-plugin-transform-remove-strict-mode": "0.0.2", + "babel-plugin-transform-runtime": "^6.23.0", + "babel-preset-env": "^1.7.0", + "babel-preset-es2015": "^6.24.1", + "babel-preset-stage-0": "^6.24.1", + "css-loader": "^3.1.0", + "file-loader": "^4.1.0", + "html-webpack-plugin": "^3.2.0", + "jquery": "^3.4.1", + "node-sass": "^4.12.0", + "sass-loader": "^7.1.0", + "style-loader": "^0.23.1", + "url-loader": "^2.1.0", + "vue-loader": "^15.7.1", + "vue-template-compiler": "^2.6.10", + "vuex": "^2.5.0", + "webpack-cli": "^3.3.6", + "webpack-dev-server": "^3.7.2", + "webpack-parallel-uglify-plugin": "^2.0.0" + }, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "dev": "webpack-dev-server --open --port 8686 --contentBase src --hot --host 0.0.0.0", + "start": "nodemon src/main.js" + }, + "keywords": [], + "author": "", + "license": "ISC" +} diff --git a/codes/news_recsys/news_rec_web/Vue-newsinfo/src/App.vue b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/App.vue new file mode 100644 index 00000000..ea2b2f7d --- /dev/null +++ b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/App.vue @@ -0,0 +1,140 @@ + + + + + + \ No newline at end of file diff --git a/codes/news_recsys/news_rec_web/Vue-newsinfo/src/api/Vue╕№╨┬░ц ╧ю─┐║═api╜╙┐┌╦╡├ў╬─╡╡ги╧ю─┐╓╨╦∙╙╨╡─╜╙┐┌╬─╡╡╥╘┤╦╬к╫╝гй-╫ю╨┬.docx b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/api/Vue╕№╨┬░ц ╧ю─┐║═api╜╙┐┌╦╡├ў╬─╡╡ги╧ю─┐╓╨╦∙╙╨╡─╜╙┐┌╬─╡╡╥╘┤╦╬к╫╝гй-╫ю╨┬.docx new file mode 100644 index 00000000..0d494968 Binary files /dev/null and b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/api/Vue╕№╨┬░ц ╧ю─┐║═api╜╙┐┌╦╡├ў╬─╡╡ги╧ю─┐╓╨╦∙╙╨╡─╜╙┐┌╬─╡╡╥╘┤╦╬к╫╝гй-╫ю╨┬.docx differ diff --git a/codes/news_recsys/news_rec_web/Vue-newsinfo/src/assets/css/index.less b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/assets/css/index.less new file mode 100644 index 00000000..b315ab17 --- /dev/null +++ b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/assets/css/index.less @@ -0,0 +1,2 @@ + +@nav-bar-background-color: @blue; \ No newline at end of file diff --git a/codes/news_recsys/news_rec_web/Vue-newsinfo/src/assets/css/sign.css b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/assets/css/sign.css new file mode 100644 index 00000000..d1c8eda2 --- /dev/null +++ b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/assets/css/sign.css @@ -0,0 +1,182 @@ + /* container */ + .login-container { + font-family: 'Montserrat', sans-serif; + font-size: 16px; + line-height: 1.25; + letter-spacing: 1px; + + display: block; + position: relative; + z-index: 0; + padding: 3rem 4rem 0 4rem; + width: 100vw; + height: 100vh; + background: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/283591/login-background.jpg) no-repeat; + background-size: 100% 100%; + } + + /* 紫色的遮罩 */ + .login-container:after { + content: ''; + display: inline-block; + position: absolute; + z-index: 0; + top: 0; + right: 0; + bottom: 0; + left: 0; + background-image: radial-gradient(ellipse at left bottom, rgba(22, 24, 47, 1) 0%, rgba(38, 20, 72, .9) 59%, rgba(17, 27, 75, .9) 100%); + box-shadow: 0 -20px 150px -20px rgba(0, 0, 0, 0.5); + } + + .form-login { + position: relative; + z-index: 1; + padding-bottom: 4.5rem; + border-bottom: 1px solid rgba(255, 255, 255, 0.25); + } + + /* 登录和注册的切换 */ + .login-nav { + position: relative; + padding: 0; + } + + .login-nav__item { + list-style: none; + display: inline-block; + } + + .login-nav__item+.login-nav__item { + margin-left: 2.25rem; + } + + .login-nav__item a { + position: relative; + color: rgba(255, 255, 255, 0.5); + text-decoration: none; + text-transform: uppercase; + font-weight: 500; + font-size: 1.25rem; + padding-bottom: .5rem; + transition: .20s all ease; + } + + .login-nav__item.active a, + .login-nav__item a:hover { + color: #ffffff; + transition: .15s all ease; + } + + .login-nav__item a:after { + content: ''; + display: inline-block; + height: 10px; + background-color: rgb(255, 255, 255); + position: absolute; + right: 100%; + bottom: -1px; + left: 0; + border-radius: 50%; + transition: .15s all ease; + } + + .login-nav__item a:hover:after, + .login-nav__item.active a:after { + background-color: rgb(17, 97, 237); + height: 2px; + right: 0; + bottom: 2px; + border-radius: 0; + transition: .20s all ease; + } + + .login__label { + display: block; + padding-left: 1rem; + } + + .login__label, + .login__label--checkbox { + color: rgba(255, 255, 255, 0.5); + text-transform: uppercase; + font-size: .75rem; + margin-bottom: 1rem; + } + + .login__label--checkbox { + display: inline-block; + position: relative; + padding-left: 1.5rem; + margin-top: 2rem; + margin-left: 1rem; + color: #ffffff; + font-size: .75rem; + text-transform: inherit; + } + + .login__input { + color: white; + /* font-size: 1.15rem; */ + width: 100%; + /* padding: .5rem 1rem; */ + /* border: 2px solid transparent; */ + outline: none; + border-radius: 1.5rem; + background-color: rgba(255, 255, 255, 0.25); + letter-spacing: 1px; + min-height: 1rem; + } + + .login__input:hover, + .login__input:focus { + color: white; + border: 2px solid rgba(255, 255, 255, 0.5); + background-color: transparent; + } + + .login__input+.login__label { + margin-top: 1.5rem; + } + + .login__input--checkbox { + position: absolute; + top: .1rem; + left: 0; + margin: 0; + } + + .login__submit { + color: #ffffff; + font-size: 1rem; + font-family: 'Montserrat', sans-serif; + text-transform: uppercase; + letter-spacing: 1px; + margin-top: 1rem; + padding: .75rem; + border-radius: 2rem; + display: block; + width: 100%; + background-color: rgba(17, 97, 237, .75); + border: none; + cursor: pointer; + } + + .login__submit:hover { + background-color: rgba(17, 97, 237, 1); + } + + .login__forgot { + display: block; + margin-top: 3rem; + text-align: center; + color: rgba(255, 255, 255, 0.75); + font-size: .75rem; + text-decoration: none; + position: relative; + z-index: 1; + } + + .login__forgot:hover { + color: rgb(17, 97, 237); + } \ No newline at end of file diff --git a/codes/news_recsys/news_rec_web/Vue-newsinfo/src/assets/js/cookie.js b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/assets/js/cookie.js new file mode 100644 index 00000000..8c3a718d --- /dev/null +++ b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/assets/js/cookie.js @@ -0,0 +1,46 @@ + +// 保存cookie +// json 需要存储cookie的对象 +// days 默认存储多少天 + + function setCookie(json, days) { + // 设置过期时间 + let data = new Date( + new Date().getTime() + days * 24 * 60 * 60 * 1000 + ).toUTCString(); + + for (var key in json) { + document.cookie = key + "=" + json[key] + "; expires=" + data + } + + console.log(document.cookie); +} + + +// 获取cookie +// name 需要获取cookie的key + +function getCookie(name) { + var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)")); + if (arr != null) { + return unescape(arr[2]) + } else { + return null + } +} + + +// 删除cookie +// name 需要删除cookie的key + +function clearCookie(name) { + let json = {}; + json[name] = ''; + setCookie(json, -1) +} + +export default { + setCookie, + getCookie, + clearCookie +} \ No newline at end of file diff --git a/codes/news_recsys/news_rec_web/Vue-newsinfo/src/assets/logo.png b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/assets/logo.png new file mode 100644 index 00000000..f3d2503f Binary files /dev/null and b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/assets/logo.png differ diff --git a/codes/news_recsys/news_rec_web/Vue-newsinfo/src/components/Login.vue b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/components/Login.vue new file mode 100644 index 00000000..f9e4065c --- /dev/null +++ b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/components/Login.vue @@ -0,0 +1,170 @@ + + + + + diff --git a/codes/news_recsys/news_rec_web/Vue-newsinfo/src/components/Myself.vue b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/components/Myself.vue new file mode 100644 index 00000000..228530aa --- /dev/null +++ b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/components/Myself.vue @@ -0,0 +1,120 @@ + + + + \ No newline at end of file diff --git a/codes/news_recsys/news_rec_web/Vue-newsinfo/src/components/NewsHotList.vue b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/components/NewsHotList.vue new file mode 100644 index 00000000..e69de29b diff --git a/codes/news_recsys/news_rec_web/Vue-newsinfo/src/components/NewsInfo.vue b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/components/NewsInfo.vue new file mode 100644 index 00000000..f53dc041 --- /dev/null +++ b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/components/NewsInfo.vue @@ -0,0 +1,235 @@ + + + + + \ No newline at end of file diff --git a/codes/news_recsys/news_rec_web/Vue-newsinfo/src/components/NewsLists.vue b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/components/NewsLists.vue new file mode 100644 index 00000000..8150cdb8 --- /dev/null +++ b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/components/NewsLists.vue @@ -0,0 +1,228 @@ + + + + \ No newline at end of file diff --git a/codes/news_recsys/news_rec_web/Vue-newsinfo/src/components/bottomBar.vue b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/components/bottomBar.vue new file mode 100644 index 00000000..89b6f841 --- /dev/null +++ b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/components/bottomBar.vue @@ -0,0 +1,41 @@ + + + + + \ No newline at end of file diff --git a/codes/news_recsys/news_rec_web/Vue-newsinfo/src/components/signIn.vue b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/components/signIn.vue new file mode 100644 index 00000000..7534a90b --- /dev/null +++ b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/components/signIn.vue @@ -0,0 +1,254 @@ + + + + + \ No newline at end of file diff --git a/codes/news_recsys/news_rec_web/Vue-newsinfo/src/components/signUp.vue b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/components/signUp.vue new file mode 100644 index 00000000..2d6d7b1e --- /dev/null +++ b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/components/signUp.vue @@ -0,0 +1,336 @@ + + + + + \ No newline at end of file diff --git a/codes/news_recsys/news_rec_web/Vue-newsinfo/src/images/datawhale.png b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/images/datawhale.png new file mode 100644 index 00000000..b3b45f8d Binary files /dev/null and b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/images/datawhale.png differ diff --git a/codes/news_recsys/news_rec_web/Vue-newsinfo/src/images/dw.png b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/images/dw.png new file mode 100644 index 00000000..90a742a5 Binary files /dev/null and b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/images/dw.png differ diff --git a/codes/news_recsys/news_rec_web/Vue-newsinfo/src/index.html b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/index.html new file mode 100644 index 00000000..97f8cef9 --- /dev/null +++ b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/index.html @@ -0,0 +1,16 @@ + + + + + + + Fun-Rec + + + +
+ +
+ + + diff --git a/codes/news_recsys/news_rec_web/Vue-newsinfo/src/lib/mui/css/icons-extra.css b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/lib/mui/css/icons-extra.css new file mode 100644 index 00000000..7df87e9e --- /dev/null +++ b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/lib/mui/css/icons-extra.css @@ -0,0 +1,63 @@ +@font-face { + font-family: MuiiconSpread; + font-weight: normal; + font-style: normal; + src: url('../fonts/mui-icons-extra.ttf') format('truetype'); /* iOS 4.1- */ +} +.mui-icon-extra +{ + font-family: MuiiconSpread; + font-size: 24px; + font-weight: normal; + font-style: normal; + line-height: 1; + display: inline-block; + text-decoration: none; + -webkit-font-smoothing: antialiased; +} +.mui-icon-extra-cold:before { content: "\e500"; } +.mui-icon-extra-share:before { content: "\e200"; } +.mui-icon-extra-class:before { content: "\e118"; } +.mui-icon-extra-custom:before { content: "\e117"; } +.mui-icon-extra-new:before { content: "\e103"; } +.mui-icon-extra-card:before { content: "\e104"; } +.mui-icon-extra-grech:before { content: "\e105"; } +.mui-icon-extra-trend:before { content: "\e106"; } +.mui-icon-extra-filter:before { content: "\e207"; } +.mui-icon-extra-holiday:before { content: "\e300"; } +.mui-icon-extra-cart:before { content: "\e107"; } +.mui-icon-extra-heart:before { content: "\e180"; } +.mui-icon-extra-computer:before { content: "\e600"; } +.mui-icon-extra-express:before { content: "\e108"; } +.mui-icon-extra-gift:before { content: "\e109"; } +.mui-icon-extra-gold:before { content: "\e102"; } +.mui-icon-extra-lamp:before { content: "\e601"; } +.mui-icon-extra-rank:before { content: "\e110"; } +.mui-icon-extra-notice:before { content: "\e111"; } +.mui-icon-extra-sweep:before { content: "\e202"; } +.mui-icon-extra-arrowleftcricle:before { content: "\e401"; } +.mui-icon-extra-dictionary:before { content: "\e602"; } +.mui-icon-extra-heart-filled:before { content: "\e119"; } +.mui-icon-extra-xiaoshuo:before { content: "\e607"; } +.mui-icon-extra-top:before { content: "\e403"; } +.mui-icon-extra-people:before { content: "\e203"; } +.mui-icon-extra-topic:before { content: "\e603"; } +.mui-icon-extra-hotel:before { content: "\e301"; } +.mui-icon-extra-like:before { content: "\e206"; } +.mui-icon-extra-regist:before { content: "\e201"; } +.mui-icon-extra-order:before { content: "\e113"; } +.mui-icon-extra-alipay:before { content: "\e114"; } +.mui-icon-extra-find:before { content: "\e400"; } +.mui-icon-extra-arrowrightcricle:before { content: "\e402"; } +.mui-icon-extra-calendar:before { content: "\e115"; } +.mui-icon-extra-prech:before { content: "\e116"; } +.mui-icon-extra-cate:before { content: "\e501"; } +.mui-icon-extra-comment:before { content: "\e209"; } +.mui-icon-extra-at:before { content: "\e208"; } +.mui-icon-extra-addpeople:before { content: "\e204"; } +.mui-icon-extra-peoples:before { content: "\e205"; } +.mui-icon-extra-calc:before { content: "\e101"; } +.mui-icon-extra-classroom:before { content: "\e604"; } +.mui-icon-extra-phone:before { content: "\e404"; } +.mui-icon-extra-university:before { content: "\e605"; } +.mui-icon-extra-outline:before { content: "\e606"; } diff --git a/codes/news_recsys/news_rec_web/Vue-newsinfo/src/lib/mui/css/mui.css b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/lib/mui/css/mui.css new file mode 100644 index 00000000..2b219b2b --- /dev/null +++ b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/lib/mui/css/mui.css @@ -0,0 +1,5640 @@ +/*! + * ===================================================== + * Mui v3.7.2 (http://dev.dcloud.net.cn/mui) + * ===================================================== + */ + +/*! normalize.css v3.0.1 | MIT License | git.io/normalize */ +.icon { + width: 1em; height: 1em; + vertical-align: -0.15em; + fill: currentColor; + overflow: hidden; + } +.mint-header{ + background-color: #0062cc; + color: white; + padding: 0; + /* padding-top: 10px; */ + font-size: 20px; +} +.mint-button{ + background-color: #0062cc; +} +.mint-header-title{ + padding: 5px 0 5px 0; +} +.mint-header-button{ + padding: 0; +} +.mint-button{ + border-radius:50px; +} +.mint-header .mint-button { + padding: 0.7rem; +} +html +{ + font-family: sans-serif; + + -webkit-text-size-adjust: 100%; +} + +body +{ + margin: 0; +} + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +nav, +section, +summary +{ + display: block; +} + +audio, +canvas, +progress, +video +{ + display: inline-block; + + vertical-align: baseline; +} + +audio:not([controls]) +{ + display: none; + + height: 0; +} + +[hidden], +template +{ + display: none; +} + +a +{ + background: transparent; +} + +a:active, +a:hover +{ + outline: 0; +} + +abbr[title] +{ + border-bottom: 1px dotted; +} + +b, +strong +{ + font-weight: bold; +} + +dfn +{ + font-style: italic; +} + +h1 +{ + font-size: 2em; + + margin: .67em 0; +} + +mark +{ + color: #000; + background: #ff0; +} + +small +{ + font-size: 80%; +} + +sub, +sup +{ + font-size: 75%; + line-height: 0; + + position: relative; + + vertical-align: baseline; +} + +sup +{ + top: -.5em; +} + +sub +{ + bottom: -.25em; +} + +img +{ + border: 0; +} + +svg:not(:root) +{ + overflow: hidden; +} + +figure +{ + margin: 1em 40px; +} + +hr +{ + box-sizing: content-box; + height: 0; +} + +pre +{ + overflow: auto; +} + +code, +kbd, +pre, +samp +{ + font-family: monospace, monospace; + font-size: 1em; +} + +button, +input, +optgroup, +select, +textarea +{ + font: inherit; + + margin: 0; + + color: inherit; +} + +button +{ + overflow: visible; +} + +button, +select +{ + text-transform: none; +} + +button, +html input[type='button'], +input[type='reset'], +input[type='submit'] +{ + cursor: pointer; + + -webkit-appearance: button; +} + +button[disabled], +html input[disabled] +{ + cursor: default; +} + +input +{ + line-height: normal; +} + +input[type='checkbox'], +input[type='radio'] +{ + box-sizing: border-box; + padding: 0; +} + +input[type='number']::-webkit-inner-spin-button, +input[type='number']::-webkit-outer-spin-button +{ + height: auto; +} + +input[type='search'] +{ + -webkit-box-sizing: content-box; + box-sizing: content-box; + + -webkit-appearance: textfield; +} + +input[type='search']::-webkit-search-cancel-button, +input[type='search']::-webkit-search-decoration +{ + -webkit-appearance: none; +} + +fieldset +{ + margin: 0 2px; + padding: .35em .625em .75em; + + border: 1px solid #c0c0c0; +} + +legend +{ + padding: 0; + + border: 0; +} + +textarea +{ + overflow: auto; +} + +optgroup +{ + font-weight: bold; +} + +table +{ + border-spacing: 0; + border-collapse: collapse; +} + +td, +th +{ + padding: 0; +} + +* +{ + -webkit-box-sizing: border-box; + box-sizing: border-box; + + -webkit-user-select: none; + + outline: none; + + -webkit-tap-highlight-color: transparent; + -webkit-tap-highlight-color: transparent; +} + +body +{ + font-family: 'Helvetica Neue', Helvetica, sans-serif; + font-size: 17px; + line-height: 21px; + + color: #000; + background-color: #efeff4; + + -webkit-overflow-scrolling: touch; +} + +a +{ + text-decoration: none; + + color: #007aff; +} +a:active +{ + color: #0062cc; +} + +.mui-content +{ + background-color: #efeff4; + + -webkit-overflow-scrolling: touch; +} + +.mui-bar-nav ~ .mui-content +{ + padding-top: 44px; +} +.mui-bar-nav ~ .mui-content.mui-scroll-wrapper .mui-scrollbar-vertical +{ + top: 44px; +} + +.mui-bar-header-secondary ~ .mui-content +{ + padding-top: 88px; +} +.mui-bar-header-secondary ~ .mui-content.mui-scroll-wrapper .mui-scrollbar-vertical +{ + top: 88px; +} + +.mui-bar-footer ~ .mui-content +{ + padding-bottom: 44px; +} +.mui-bar-footer ~ .mui-content.mui-scroll-wrapper .mui-scrollbar-vertical +{ + bottom: 44px; +} + +.mui-bar-footer-secondary ~ .mui-content +{ + padding-bottom: 88px; +} +.mui-bar-footer-secondary ~ .mui-content.mui-scroll-wrapper .mui-scrollbar-vertical +{ + bottom: 88px; +} + +.mui-bar-tab ~ .mui-content +{ + padding-bottom: 50px; +} +.mui-bar-tab ~ .mui-content.mui-scroll-wrapper .mui-scrollbar-vertical +{ + bottom: 50px; +} + +.mui-bar-footer-secondary-tab ~ .mui-content +{ + padding-bottom: 94px; +} +.mui-bar-footer-secondary-tab ~ .mui-content.mui-scroll-wrapper .mui-scrollbar-vertical +{ + bottom: 94px; +} + +.mui-content-padded +{ + margin: 10px; +} + +.mui-inline +{ + display: inline-block; + + vertical-align: top; +} + +.mui-block +{ + display: block !important; +} + +.mui-visibility +{ + visibility: visible !important; +} + +.mui-hidden +{ + display: none !important; +} + +.mui-ellipsis +{ + overflow: hidden; + + white-space: nowrap; + text-overflow: ellipsis; +} + +.mui-ellipsis-2 +{ + display: -webkit-box; + overflow: hidden; + + white-space: normal !important; + text-overflow: ellipsis; + word-wrap: break-word; + + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} + +.mui-table +{ + display: table; + + width: 100%; + + table-layout: fixed; +} + +.mui-table-cell +{ + position: relative; + + display: table-cell; +} + +.mui-text-left +{ + text-align: left !important; +} + +.mui-text-center +{ + text-align: center !important; +} + +.mui-text-justify +{ + text-align: justify !important; +} + +.mui-text-right +{ + text-align: right !important; +} + +.mui-pull-left +{ + float: left; +} + +.mui-pull-right +{ + float: right; +} + +.mui-list-unstyled +{ + padding-left: 0; + + list-style: none; +} + +.mui-list-inline +{ + margin-left: -5px; + padding-left: 0; + + list-style: none; +} + +.mui-list-inline > li +{ + display: inline-block; + + padding-right: 5px; + padding-left: 5px; +} + +.mui-clearfix:before, .mui-clearfix:after +{ + display: table; + + content: ' '; +} +.mui-clearfix:after +{ + clear: both; +} + +.mui-bg-primary +{ + background-color: #007aff; +} + +.mui-bg-positive +{ + background-color: #4cd964; +} + +.mui-bg-negative +{ + background-color: #dd524d; +} + +.mui-error +{ + margin: 88px 35px; + padding: 10px; + + border-radius: 6px; + background-color: #bbb; +} + +.mui-subtitle +{ + font-size: 15px; +} + +h1, h2, h3, h4, h5, h6 +{ + line-height: 1; + + /* margin-top: 5px; */ + margin-bottom: 5px; +} + +h1, .mui-h1 +{ + font-size: 36px; +} + +h2, .mui-h2 +{ + font-size: 30px; +} + +h3, .mui-h3 +{ + font-size: 24px; +} + +h4, .mui-h4 +{ + font-size: 18px; +} + +h5, .mui-h5 +{ + font-size: 14px; + font-weight: normal; + + color: #8f8f94; +} + +h6, .mui-h6 +{ + font-size: 12px; + font-weight: normal; + + color: #8f8f94; +} + +p +{ + font-size: 14px; + + margin-top: 0; + margin-bottom: 10px; + + color: #8f8f94; +} + +.mui-row:before, .mui-row:after +{ + display: table; + + content: ' '; +} +.mui-row:after +{ + clear: both; +} + +.mui-col-xs-1, .mui-col-sm-1, .mui-col-xs-2, .mui-col-sm-2, .mui-col-xs-3, .mui-col-sm-3, .mui-col-xs-4, .mui-col-sm-4, .mui-col-xs-5, .mui-col-sm-5, .mui-col-xs-6, .mui-col-sm-6, .mui-col-xs-7, .mui-col-sm-7, .mui-col-xs-8, .mui-col-sm-8, .mui-col-xs-9, .mui-col-sm-9, .mui-col-xs-10, .mui-col-sm-10, .mui-col-xs-11, .mui-col-sm-11, .mui-col-xs-12, .mui-col-sm-12 +{ + position: relative; + + min-height: 1px; +} + +.mui-row > [class*='mui-col-'] +{ + float: left; +} + +.mui-col-xs-12 +{ + width: 100%; +} + +.mui-col-xs-11 +{ + width: 91.66666667%; +} + +.mui-col-xs-10 +{ + width: 83.33333333%; +} + +.mui-col-xs-9 +{ + width: 75%; +} + +.mui-col-xs-8 +{ + width: 66.66666667%; +} + +.mui-col-xs-7 +{ + width: 58.33333333%; +} + +.mui-col-xs-6 +{ + width: 50%; +} + +.mui-col-xs-5 +{ + width: 41.66666667%; +} + +.mui-col-xs-4 +{ + width: 33.33333333%; +} + +.mui-col-xs-3 +{ + width: 25%; +} + +.mui-col-xs-2 +{ + width: 16.66666667%; +} + +.mui-col-xs-1 +{ + width: 8.33333333%; +} + +@media (min-width: 400px) +{ + .mui-col-sm-12 + { + width: 100%; + } + + .mui-col-sm-11 + { + width: 91.66666667%; + } + + .mui-col-sm-10 + { + width: 83.33333333%; + } + + .mui-col-sm-9 + { + width: 75%; + } + + .mui-col-sm-8 + { + width: 66.66666667%; + } + + .mui-col-sm-7 + { + width: 58.33333333%; + } + + .mui-col-sm-6 + { + width: 50%; + } + + .mui-col-sm-5 + { + width: 41.66666667%; + } + + .mui-col-sm-4 + { + width: 33.33333333%; + } + + .mui-col-sm-3 + { + width: 25%; + } + + .mui-col-sm-2 + { + width: 16.66666667%; + } + + .mui-col-sm-1 + { + width: 8.33333333%; + } +} +.mui-scroll-wrapper +{ + position: absolute; + z-index: 2; + top: 0; + bottom: 0; + left: 0; + + overflow: hidden; + + width: 100%; +} + +.mui-scroll +{ + position: absolute; + z-index: 1; + + width: 100%; +} + +.mui-scrollbar +{ + position: absolute; + z-index: 9998; + + overflow: hidden; + + -webkit-transition: 500ms; + transition: 500ms; + transform: translateZ(0px); + pointer-events: none; + + opacity: 0; +} + +.mui-scrollbar-vertical +{ + top: 0; + right: 1px; + bottom: 2px; + + width: 4px; +} +.mui-scrollbar-vertical .mui-scrollbar-indicator +{ + width: 100%; +} + +.mui-scrollbar-horizontal +{ + right: 2px; + bottom: 0; + left: 2px; + + height: 4px; +} +.mui-scrollbar-horizontal .mui-scrollbar-indicator +{ + height: 100%; +} + +.mui-scrollbar-indicator +{ + position: absolute; + + display: block; + + box-sizing: border-box; + + -webkit-transition: .01s cubic-bezier(.1, .57, .1, 1); + transition: .01s cubic-bezier(.1, .57, .1, 1); + transform: translate(0px, 0px) translateZ(0px); + + border: 1px solid rgba(255, 255, 255, .80196); + border-radius: 2px; + background: rgba(0, 0, 0, .39804); +} + +.mui-plus-pullrefresh .mui-fullscreen .mui-scroll-wrapper .mui-scroll-wrapper, .mui-plus-pullrefresh .mui-fullscreen .mui-slider-group .mui-scroll-wrapper +{ + position: absolute; + top: 0; + bottom: 0; + left: 0; + + overflow: hidden; + + width: 100%; +} +.mui-plus-pullrefresh .mui-fullscreen .mui-scroll-wrapper .mui-scroll, .mui-plus-pullrefresh .mui-fullscreen .mui-slider-group .mui-scroll +{ + position: absolute; + + width: 100%; +} +.mui-plus-pullrefresh .mui-scroll-wrapper, .mui-plus-pullrefresh .mui-slider-group +{ + position: static; + top: auto; + bottom: auto; + left: auto; + + overflow: auto; + + width: auto; +} +.mui-plus-pullrefresh .mui-slider-group +{ + overflow: visible; +} +.mui-plus-pullrefresh .mui-scroll +{ + position: static; + + width: auto; +} + +.mui-off-canvas-wrap .mui-bar +{ + position: absolute !important; + + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + + -webkit-box-shadow: none; + box-shadow: none; +} + +.mui-off-canvas-wrap +{ + position: relative; + z-index: 1; + + overflow: hidden; + + width: 100%; + height: 100%; +} +.mui-off-canvas-wrap .mui-inner-wrap +{ + position: relative; + z-index: 1; + + width: 100%; + height: 100%; +} +.mui-off-canvas-wrap .mui-inner-wrap.mui-transitioning +{ + -webkit-transition: -webkit-transform 350ms; + transition: transform 350ms cubic-bezier(.165, .84, .44, 1); +} +.mui-off-canvas-wrap .mui-inner-wrap .mui-off-canvas-left +{ + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); +} +.mui-off-canvas-wrap .mui-inner-wrap .mui-off-canvas-right +{ + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); +} +.mui-off-canvas-wrap.mui-active +{ + overflow: hidden; + + height: 100%; +} +.mui-off-canvas-wrap.mui-active .mui-off-canvas-backdrop +{ + position: absolute; + z-index: 998; + top: 0; + right: 0; + bottom: 0; + left: 0; + + display: block; + + transition: background 350ms cubic-bezier(.165, .84, .44, 1); + + background: rgba(0, 0, 0, .4); + box-shadow: -4px 0 4px rgba(0, 0, 0, .5), 4px 0 4px rgba(0, 0, 0, .5); + + -webkit-tap-highlight-color: transparent; +} +.mui-off-canvas-wrap.mui-slide-in .mui-off-canvas-right +{ + z-index: 10000 !important; + + -webkit-transform: translate3d(100%, 0px, 0px); +} +.mui-off-canvas-wrap.mui-slide-in .mui-off-canvas-left +{ + z-index: 10000 !important; + + -webkit-transform: translate3d(-100%, 0px, 0px); +} + +.mui-off-canvas-left, .mui-off-canvas-right +{ + position: absolute; + z-index: -1; + top: 0; + bottom: 0; + + visibility: hidden; + + box-sizing: content-box; + width: 70%; + min-height: 100%; + + background: #333; + + -webkit-overflow-scrolling: touch; +} +.mui-off-canvas-left.mui-transitioning, .mui-off-canvas-right.mui-transitioning +{ + -webkit-transition: -webkit-transform 350ms cubic-bezier(.165, .84, .44, 1); + transition: transform 350ms cubic-bezier(.165, .84, .44, 1); +} + +.mui-off-canvas-left +{ + left: 0; +} + +.mui-off-canvas-right +{ + right: 0; +} + +.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable +{ + background-color: #333; +} +.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable > .mui-off-canvas-left, .mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable > .mui-off-canvas-right +{ + width: 80%; + + -webkit-transform: scale(.8); + transform: scale(.8); + + opacity: .1; +} +.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable > .mui-off-canvas-left.mui-transitioning, .mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable > .mui-off-canvas-right.mui-transitioning +{ + -webkit-transition: -webkit-transform 350ms cubic-bezier(.165, .84, .44, 1), opacity 350ms cubic-bezier(.165, .84, .44, 1); + transition: transform 350ms cubic-bezier(.165, .84, .44, 1), opacity 350ms cubic-bezier(.165, .84, .44, 1); +} +.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable > .mui-off-canvas-left +{ + -webkit-transform-origin: -100%; + transform-origin: -100%; +} +.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable > .mui-off-canvas-right +{ + -webkit-transform-origin: 200%; + transform-origin: 200%; +} +.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable.mui-active > .mui-inner-wrap +{ + -webkit-transform: scale(.8); + transform: scale(.8); +} +.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable.mui-active > .mui-off-canvas-left, .mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable.mui-active > .mui-off-canvas-right +{ + -webkit-transform: scale(1); + transform: scale(1); + + opacity: 1; +} + +.mui-loading .mui-spinner +{ + display: block; + + margin: 0 auto; +} + +.mui-spinner +{ + display: inline-block; + + width: 24px; + height: 24px; + + -webkit-transform-origin: 50%; + transform-origin: 50%; + -webkit-animation: spinner-spin 1s step-end infinite; + animation: spinner-spin 1s step-end infinite; +} + +.mui-spinner:after +{ + display: block; + + width: 100%; + height: 100%; + + content: ''; + + background-image: url('data:image/svg+xml;charset=utf-8,'); + background-repeat: no-repeat; + background-position: 50%; + background-size: 100%; +} + +.mui-spinner-white:after +{ + background-image: url('data:image/svg+xml;charset=utf-8,'); +} + +@-webkit-keyframes spinner-spin +{ + 0% + { + -webkit-transform: rotate(0deg); + } + + 8.33333333% + { + -webkit-transform: rotate(30deg); + } + + 16.66666667% + { + -webkit-transform: rotate(60deg); + } + + 25% + { + -webkit-transform: rotate(90deg); + } + + 33.33333333% + { + -webkit-transform: rotate(120deg); + } + + 41.66666667% + { + -webkit-transform: rotate(150deg); + } + + 50% + { + -webkit-transform: rotate(180deg); + } + + 58.33333333% + { + -webkit-transform: rotate(210deg); + } + + 66.66666667% + { + -webkit-transform: rotate(240deg); + } + + 75% + { + -webkit-transform: rotate(270deg); + } + + 83.33333333% + { + -webkit-transform: rotate(300deg); + } + + 91.66666667% + { + -webkit-transform: rotate(330deg); + } + + 100% + { + -webkit-transform: rotate(360deg); + } +} +@keyframes spinner-spin +{ + 0% + { + transform: rotate(0deg); + } + + 8.33333333% + { + transform: rotate(30deg); + } + + 16.66666667% + { + transform: rotate(60deg); + } + + 25% + { + transform: rotate(90deg); + } + + 33.33333333% + { + transform: rotate(120deg); + } + + 41.66666667% + { + transform: rotate(150deg); + } + + 50% + { + transform: rotate(180deg); + } + + 58.33333333% + { + transform: rotate(210deg); + } + + 66.66666667% + { + transform: rotate(240deg); + } + + 75% + { + transform: rotate(270deg); + } + + 83.33333333% + { + transform: rotate(300deg); + } + + 91.66666667% + { + transform: rotate(330deg); + } + + 100% + { + transform: rotate(360deg); + } +} +input[type='button'], +input[type='submit'], +input[type='reset'], +button, +.mui-btn +{ + font-size: 14px; + font-weight: 400; + line-height: 1.42; + + position: relative; + + display: inline-block; + + margin-bottom: 0; + padding: 6px 12px; + + cursor: pointer; + -webkit-transition: all; + transition: all; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transition-duration: .2s; + transition-duration: .2s; + text-align: center; + vertical-align: top; + white-space: nowrap; + + color: #333; + border: 1px solid #ccc; + border-radius: 3px; + border-top-left-radius: 3px; + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; + background-color: #fff; + background-clip: padding-box; +} +input[type='button']:enabled:active, input[type='button'].mui-active:enabled, +input[type='submit']:enabled:active, +input[type='submit'].mui-active:enabled, +input[type='reset']:enabled:active, +input[type='reset'].mui-active:enabled, +button:enabled:active, +button.mui-active:enabled, +.mui-btn:enabled:active, +.mui-btn.mui-active:enabled +{ + color: #fff; + background-color: #929292; +} +input[type='button']:disabled, input[type='button'].mui-disabled, +input[type='submit']:disabled, +input[type='submit'].mui-disabled, +input[type='reset']:disabled, +input[type='reset'].mui-disabled, +button:disabled, +button.mui-disabled, +.mui-btn:disabled, +.mui-btn.mui-disabled +{ + opacity: .6; +} + +input[type='submit'], +.mui-btn-primary, +.mui-btn-blue +{ + color: #fff; + border: 1px solid #007aff; + background-color: #007aff; +} +input[type='submit']:enabled:active, input[type='submit'].mui-active:enabled, +.mui-btn-primary:enabled:active, +.mui-btn-primary.mui-active:enabled, +.mui-btn-blue:enabled:active, +.mui-btn-blue.mui-active:enabled +{ + color: #fff; + border: 1px solid #0062cc; + background-color: #0062cc; +} + +.mui-btn-positive, +.mui-btn-success, +.mui-btn-green +{ + color: #fff; + border: 1px solid #4cd964; + background-color: #4cd964; +} +.mui-btn-positive:enabled:active, .mui-btn-positive.mui-active:enabled, +.mui-btn-success:enabled:active, +.mui-btn-success.mui-active:enabled, +.mui-btn-green:enabled:active, +.mui-btn-green.mui-active:enabled +{ + color: #fff; + border: 1px solid #2ac845; + background-color: #2ac845; +} + +.mui-btn-warning, +.mui-btn-yellow +{ + color: #fff; + border: 1px solid #f0ad4e; + background-color: #f0ad4e; +} +.mui-btn-warning:enabled:active, .mui-btn-warning.mui-active:enabled, +.mui-btn-yellow:enabled:active, +.mui-btn-yellow.mui-active:enabled +{ + color: #fff; + border: 1px solid #ec971f; + background-color: #ec971f; +} + +.mui-btn-negative, +.mui-btn-danger, +.mui-btn-red +{ + color: #fff; + border: 1px solid #dd524d; + background-color: #dd524d; +} +.mui-btn-negative:enabled:active, .mui-btn-negative.mui-active:enabled, +.mui-btn-danger:enabled:active, +.mui-btn-danger.mui-active:enabled, +.mui-btn-red:enabled:active, +.mui-btn-red.mui-active:enabled +{ + color: #fff; + border: 1px solid #cf2d28; + background-color: #cf2d28; +} + +.mui-btn-royal, +.mui-btn-purple +{ + color: #fff; + border: 1px solid #8a6de9; + background-color: #8a6de9; +} +.mui-btn-royal:enabled:active, .mui-btn-royal.mui-active:enabled, +.mui-btn-purple:enabled:active, +.mui-btn-purple.mui-active:enabled +{ + color: #fff; + border: 1px solid #6641e2; + background-color: #6641e2; +} + +.mui-btn-grey +{ + color: #fff; + border: 1px solid #c7c7cc; + background-color: #c7c7cc; +} +.mui-btn-grey:enabled:active, .mui-btn-grey.mui-active:enabled +{ + color: #fff; + border: 1px solid #acacb4; + background-color: #acacb4; +} + +.mui-btn-outlined +{ + background-color: transparent; +} +.mui-btn-outlined.mui-btn-primary, .mui-btn-outlined.mui-btn-blue +{ + color: #007aff; +} +.mui-btn-outlined.mui-btn-positive, .mui-btn-outlined.mui-btn-success, .mui-btn-outlined.mui-btn-green +{ + color: #4cd964; +} +.mui-btn-outlined.mui-btn-warning, .mui-btn-outlined.mui-btn-yellow +{ + color: #f0ad4e; +} +.mui-btn-outlined.mui-btn-negative, .mui-btn-outlined.mui-btn-danger, .mui-btn-outlined.mui-btn-red +{ + color: #dd524d; +} +.mui-btn-outlined.mui-btn-royal, .mui-btn-outlined.mui-btn-purple +{ + color: #8a6de9; +} +.mui-btn-outlined.mui-btn-primary:enabled:active, .mui-btn-outlined.mui-btn-blue:enabled:active, .mui-btn-outlined.mui-btn-positive:enabled:active, .mui-btn-outlined.mui-btn-success:enabled:active, .mui-btn-outlined.mui-btn-green:enabled:active, .mui-btn-outlined.mui-btn-warning:enabled:active, .mui-btn-outlined.mui-btn-yellow:enabled:active, .mui-btn-outlined.mui-btn-negative:enabled:active, .mui-btn-outlined.mui-btn-danger:enabled:active, .mui-btn-outlined.mui-btn-red:enabled:active, .mui-btn-outlined.mui-btn-royal:enabled:active, .mui-btn-outlined.mui-btn-purple:enabled:active +{ + color: #fff; +} + +.mui-btn-link +{ + padding-top: 6px; + padding-bottom: 6px; + + color: #007aff; + border: 0; + background-color: transparent; +} +.mui-btn-link:enabled:active, .mui-btn-link.mui-active:enabled +{ + color: #0062cc; + background-color: transparent; +} + +.mui-btn-block +{ + font-size: 18px; + + display: block; + + width: 100%; + margin-bottom: 10px; + padding: 15px 0; +} + +.mui-btn .mui-badge +{ + font-size: 14px; + + margin: -2px -4px -2px 4px; + + background-color: rgba(0, 0, 0, .15); +} + +.mui-btn .mui-badge-inverted, +.mui-btn:enabled:active .mui-badge-inverted +{ + background-color: transparent; +} + +.mui-btn-primary:enabled:active .mui-badge-inverted, +.mui-btn-positive:enabled:active .mui-badge-inverted, +.mui-btn-negative:enabled:active .mui-badge-inverted +{ + color: #fff; +} + +.mui-btn-block .mui-badge +{ + position: absolute; + right: 0; + + margin-right: 10px; +} + +.mui-btn .mui-icon +{ + font-size: inherit; +} + +.mui-btn.mui-icon +{ + font-size: 14px; + line-height: 1.42; +} + +.mui-btn.mui-fab +{ + width: 56px; + height: 56px; + padding: 16px; + + border-radius: 50%; + outline: none; +} +.mui-btn.mui-fab.mui-btn-mini +{ + width: 40px; + height: 40px; + padding: 8px; +} +.mui-btn.mui-fab .mui-icon +{ + font-size: 24px; + line-height: 24px; + + width: 24px; + height: 24px; +} + +.mui-btn .mui-spinner +{ + width: 14px; + height: 14px; + + vertical-align: text-bottom; +} + +.mui-btn-block .mui-spinner +{ + width: 22px; + height: 22px; +} + +.mui-bar +{ + position: fixed; + z-index: 10; + right: 0; + left: 0; + + height: 44px; + padding-right: 10px; + padding-left: 10px; + + border-bottom: 0; + background-color: #f7f7f7; + -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, .85); + box-shadow: 0 0 1px rgba(0, 0, 0, .85); + + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} + +.mui-bar .mui-title +{ + right: 40px; + left: 40px; + + display: inline-block; + overflow: hidden; + + width: auto; + margin: 0; + + text-overflow: ellipsis; +} +.mui-bar .mui-backdrop +{ + background: none; +} + +.mui-bar-header-secondary +{ + top: 44px; +} + +.mui-bar-footer +{ + bottom: 0; +} + +.mui-bar-footer-secondary +{ + bottom: 44px; +} + +.mui-bar-footer-secondary-tab +{ + bottom: 50px; +} + +.mui-bar-footer, +.mui-bar-footer-secondary, +.mui-bar-footer-secondary-tab +{ + border-top: 0; +} + +.mui-bar-transparent +{ + top: 0; + + background-color: rgba(247, 247, 247, 0); + -webkit-box-shadow: none; + box-shadow: none; +} + +.mui-bar-nav +{ + top: 0; + + -webkit-box-shadow: 0 1px 6px #ccc; + box-shadow: 0 1px 6px #ccc; +} +.mui-bar-nav ~ .mui-content .mui-anchor +{ + display: block; + visibility: hidden; + + height: 45px; + margin-top: -45px; +} +.mui-bar-nav.mui-bar .mui-icon +{ + margin-right: -10px; + margin-left: -10px; + padding-right: 10px; + padding-left: 10px; +} + +.mui-title +{ + font-size: 17px; + font-weight: 500; + line-height: 44px; + + position: absolute; + + display: block; + + width: 100%; + margin: 0 -10px; + padding: 0; + + text-align: center; + white-space: nowrap; + + color: #000; +} + +.mui-title a +{ + color: inherit; +} + +.mui-bar-tab +{ + bottom: 0; + + display: table; + + width: 100%; + height: 50px; + padding: 0; + + table-layout: fixed; + + border-top: 0; + border-bottom: 0; + + -webkit-touch-callout: none; +} +.mui-bar-tab .mui-tab-item +{ + display: table-cell; + overflow: hidden; + + width: 1%; + height: 50px; + + text-align: center; + vertical-align: middle; + white-space: nowrap; + text-overflow: ellipsis; + + color: #929292; +} +.mui-bar-tab .mui-tab-item.mui-active +{ + color: #007aff; +} +.mui-bar-tab .mui-tab-item .mui-icon +{ + top: 3px; + + width: 24px; + height: 24px; + padding-top: 0; + padding-bottom: 0; +} +.mui-bar-tab .mui-tab-item .mui-icon ~ .mui-tab-label +{ + font-size: 11px; + + display: block; + overflow: hidden; + + text-overflow: ellipsis; +} +.mui-bar-tab .mui-tab-item .mui-icon:active +{ + background: none; +} + +.mui-focusin > .mui-bar-nav, +.mui-focusin > .mui-bar-header-secondary +{ + position: absolute; +} + +.mui-focusin > .mui-bar ~ .mui-content +{ + padding-bottom: 0; +} + +.mui-bar .mui-btn +{ + font-weight: 400; + + position: relative; + z-index: 20; + top: 7px; + + margin-top: 0; + padding: 6px 12px 7px; +} +.mui-bar .mui-btn.mui-pull-right +{ + margin-left: 10px; +} +.mui-bar .mui-btn.mui-pull-left +{ + margin-right: 10px; +} + +.mui-bar .mui-btn-link +{ + font-size: 16px; + line-height: 44px; + + top: 0; + + padding: 0; + + color: #007aff; + border: 0; +} +.mui-bar .mui-btn-link:active, .mui-bar .mui-btn-link.mui-active +{ + color: #0062cc; +} + +.mui-bar .mui-btn-block +{ + font-size: 16px; + + top: 6px; + + margin-bottom: 0; + padding: 5px 0; +} + +.mui-bar .mui-btn-nav.mui-pull-left +{ + margin-left: -5px; +} +.mui-bar .mui-btn-nav.mui-pull-left .mui-icon-left-nav +{ + margin-right: -3px; +} +.mui-bar .mui-btn-nav.mui-pull-right +{ + margin-right: -5px; +} +.mui-bar .mui-btn-nav.mui-pull-right .mui-icon-right-nav +{ + margin-left: -3px; +} +.mui-bar .mui-btn-nav:active +{ + opacity: .3; +} + +.mui-bar .mui-icon +{ + font-size: 24px; + + position: relative; + z-index: 20; + + padding-top: 10px; + padding-bottom: 10px; +} +.mui-bar .mui-icon:active +{ + opacity: .3; +} +.mui-bar .mui-btn .mui-icon +{ + top: 1px; + + margin: 0; + padding: 0; +} +.mui-bar .mui-title .mui-icon +{ + margin: 0; + padding: 0; +} +.mui-bar .mui-title .mui-icon.mui-icon-caret +{ + top: 4px; + + margin-left: -5px; +} + +.mui-bar input[type='search'] +{ + height: 29px; + margin: 6px 0; +} + +.mui-bar .mui-input-row .mui-btn +{ + padding: 12px 10px; +} + +.mui-bar .mui-search:before +{ + margin-top: -10px; +} + +.mui-bar .mui-input-row .mui-input-clear ~ .mui-icon-clear, +.mui-bar .mui-input-row .mui-input-speech ~ .mui-icon-speech +{ + top: 0; + right: 12px; +} + +.mui-bar.mui-bar-header-secondary .mui-input-row .mui-input-clear ~ .mui-icon-clear, +.mui-bar.mui-bar-header-secondary .mui-input-row .mui-input-speech ~ .mui-icon-speech +{ + top: 0; + right: 0; +} + +.mui-bar .mui-segmented-control +{ + top: 7px; + + width: auto; + margin: 0 auto; +} + +.mui-bar.mui-bar-header-secondary .mui-segmented-control +{ + top: 0; +} + +.mui-badge +{ + font-size: 12px; + line-height: 1; + + display: inline-block; + + padding: 3px 6px; + + color: #333; + border-radius: 100px; + background-color: rgba(0, 0, 0, .15); +} +.mui-badge.mui-badge-inverted +{ + padding: 0 5px 0 0; + + color: #929292; + background-color: transparent; +} + +.mui-badge-primary, .mui-badge-blue +{ + color: #fff; + background-color: #007aff; +} +.mui-badge-primary.mui-badge-inverted, .mui-badge-blue.mui-badge-inverted +{ + color: #007aff; + background-color: transparent; +} + +.mui-badge-success, .mui-badge-green +{ + color: #fff; + background-color: #4cd964; +} +.mui-badge-success.mui-badge-inverted, .mui-badge-green.mui-badge-inverted +{ + color: #4cd964; + background-color: transparent; +} + +.mui-badge-warning, .mui-badge-yellow +{ + color: #fff; + background-color: #f0ad4e; +} +.mui-badge-warning.mui-badge-inverted, .mui-badge-yellow.mui-badge-inverted +{ + color: #f0ad4e; + background-color: transparent; +} + +.mui-badge-danger, .mui-badge-red +{ + color: #fff; + background-color: #dd524d; +} +.mui-badge-danger.mui-badge-inverted, .mui-badge-red.mui-badge-inverted +{ + color: #dd524d; + background-color: transparent; +} + +.mui-badge-royal, .mui-badge-purple +{ + color: #fff; + background-color: #8a6de9; +} +.mui-badge-royal.mui-badge-inverted, .mui-badge-purple.mui-badge-inverted +{ + color: #8a6de9; + background-color: transparent; +} + +.mui-icon .mui-badge +{ + font-size: 10px; + line-height: 1.4; + + position: absolute; + top: -2px; + left: 100%; + + margin-left: -10px; + padding: 1px 5px; + + color: white; + background: red; +} + +.mui-card +{ + font-size: 14px; + + position: relative; + + overflow: hidden; + + margin: 10px; + + border-radius: 2px; + background-color: white; + background-clip: padding-box; + box-shadow: 0 1px 2px rgba(0, 0, 0, .3); +} + +.mui-content > .mui-card:first-child +{ + margin-top: 15px; +} + +.mui-card .mui-input-group:before, .mui-card .mui-input-group:after +{ + height: 0; +} +.mui-card .mui-input-group .mui-input-row:last-child:before, .mui-card .mui-input-group .mui-input-row:last-child:after +{ + height: 0; +} + +.mui-card .mui-table-view +{ + margin-bottom: 0; + + border-top: 0; + border-bottom: 0; + border-radius: 6px; +} +.mui-card .mui-table-view .mui-table-view-divider:first-child, .mui-card .mui-table-view .mui-table-view-cell:first-child +{ + top: 0; + + border-top-left-radius: 6px; + border-top-right-radius: 6px; +} +.mui-card .mui-table-view .mui-table-view-divider:last-child, .mui-card .mui-table-view .mui-table-view-cell:last-child +{ + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} +.mui-card .mui-table-view:before, .mui-card .mui-table-view:after +{ + height: 0; +} + +.mui-card > .mui-table-view > .mui-table-view-cell:last-child:before, .mui-card > .mui-table-view > .mui-table-view-cell:last-child:after +{ + height: 0; +} + +.mui-card-header, +.mui-card-footer +{ + position: relative; + + display: -webkit-box; + display: -webkit-flex; + display: flex; + + min-height: 44px; + padding: 10px 15px; + + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + justify-content: space-between; + -webkit-box-align: center; + -webkit-align-items: center; + align-items: center; +} +.mui-card-header .mui-card-link, +.mui-card-footer .mui-card-link +{ + line-height: 44px; + + position: relative; + + display: -webkit-box; + display: -webkit-flex; + display: flex; + + height: 44px; + margin-top: -10px; + margin-bottom: -10px; + + -webkit-transition-duration: .3s; + transition-duration: .3s; + text-decoration: none; + + -webkit-box-pack: start; + -webkit-justify-content: flex-start; + justify-content: flex-start; + -webkit-box-align: center; + -webkit-align-items: center; + align-items: center; +} + +.mui-card-header:after, +.mui-card-footer:before +{ + position: absolute; + top: 0; + right: 0; + left: 0; + + height: 1px; + + content: ''; + -webkit-transform: scaleY(.5); + transform: scaleY(.5); + + background-color: #c8c7cc; +} + +.mui-card-header +{ + font-size: 17px; + + border-radius: 2px 2px 0 0; +} +.mui-card-header:after +{ + top: auto; + bottom: 0; +} +.mui-card-header > img:first-child +{ + font-size: 0; + line-height: 0; + + float: left; + + width: 34px; + height: 34px; +} + +.mui-card-footer +{ + color: #6d6d72; + border-radius: 0 0 2px 2px; +} + +.mui-card-content +{ + font-size: 14px; + + position: relative; +} + +.mui-card-content-inner +{ + position: relative; + + padding: 15px; +} + +.mui-card-media +{ + vertical-align: bottom; + + color: #fff; + background-position: center; + background-size: cover; +} + +.mui-card-header.mui-card-media +{ + display: block; + + padding: 10px; +} +.mui-card-header.mui-card-media .mui-media-body +{ + font-size: 14px; + font-weight: 500; + line-height: 17px; + + margin-bottom: 0; + margin-left: 44px; + + color: #333; +} +.mui-card-header.mui-card-media .mui-media-body p +{ + font-size: 13px; + + margin-bottom: 0; +} + +.mui-table-view +{ + position: relative; + + margin-top: 0; + margin-bottom: 0; + padding-left: 0; + + list-style: none; + + background-color: #fff; +} +.mui-table-view:after +{ + position: absolute; + right: 0; + bottom: 0; + left: 0; + + height: 1px; + + content: ''; + -webkit-transform: scaleY(.5); + transform: scaleY(.5); + + background-color: #c8c7cc; +} +.mui-table-view:before +{ + position: absolute; + top: 0; + right: 0; + left: 0; + + height: 1px; + + content: ''; + -webkit-transform: scaleY(.5); + transform: scaleY(.5); + + background-color: #c8c7cc; +} +.mui-table-view:before +{ + top: -1px; +} + +.mui-table-view-icon .mui-table-view-cell .mui-navigate-right .mui-icon +{ + font-size: 20px; + + margin-top: -1px; + margin-right: 5px; + margin-left: -5px; +} +.mui-table-view-icon .mui-table-view-cell:after +{ + left: 40px; +} + +.mui-table-view-chevron .mui-table-view-cell +{ + padding-right: 65px; +} +.mui-table-view-chevron .mui-table-view-cell > a:not(.mui-btn) +{ + margin-right: -65px; +} + +.mui-table-view-radio .mui-table-view-cell +{ + padding-right: 65px; +} +.mui-table-view-radio .mui-table-view-cell > a:not(.mui-btn) +{ + margin-right: -65px; +} +.mui-table-view-radio .mui-table-view-cell .mui-navigate-right:after +{ + font-size: 30px; + font-weight: 600; + + right: 9px; + + content: ''; + + color: #007aff; +} +.mui-table-view-radio .mui-table-view-cell.mui-selected .mui-navigate-right:after +{ + content: '\e472'; +} + +.mui-table-view-inverted +{ + color: #fff; + background: #333; +} +.mui-table-view-inverted:after +{ + position: absolute; + right: 0; + bottom: 0; + left: 0; + + height: 1px; + + content: ''; + -webkit-transform: scaleY(.5); + transform: scaleY(.5); + + background-color: #222; +} +.mui-table-view-inverted:before +{ + position: absolute; + top: 0; + right: 0; + left: 0; + + height: 1px; + + content: ''; + -webkit-transform: scaleY(.5); + transform: scaleY(.5); + + background-color: #222; +} +.mui-table-view-inverted .mui-table-view-cell:after +{ + position: absolute; + right: 0; + bottom: 0; + left: 15px; + + height: 1px; + + content: ''; + -webkit-transform: scaleY(.5); + transform: scaleY(.5); + + background-color: #222; +} +.mui-table-view-inverted .mui-table-view-cell.mui-active +{ + background-color: #242424; +} +.mui-table-view-inverted .mui-table-view-cell > a:not(.mui-btn).mui-active +{ + background-color: #242424; +} + +.mui-table-view-cell +{ + position: relative; + + overflow: hidden; + + padding: 11px 15px; + + -webkit-touch-callout: none; +} +.mui-table-view-cell:after +{ + position: absolute; + right: 0; + bottom: 0; + left: 15px; + + height: 1px; + + content: ''; + -webkit-transform: scaleY(.5); + transform: scaleY(.5); + + background-color: #c8c7cc; +} +.mui-table-view-cell.mui-radio input[type=radio], .mui-table-view-cell.mui-checkbox input[type=checkbox] +{ + top: 8px; +} +.mui-table-view-cell.mui-radio.mui-left, .mui-table-view-cell.mui-checkbox.mui-left +{ + padding-left: 58px; +} +.mui-table-view-cell.mui-active +{ + background-color: #eee; +} +.mui-table-view-cell:last-child:before, .mui-table-view-cell:last-child:after +{ + height: 0; +} +.mui-table-view-cell > a:not(.mui-btn) +{ + position: relative; + + display: block; + overflow: hidden; + + margin: -11px -15px; + padding: inherit; + + white-space: nowrap; + text-overflow: ellipsis; + + color: inherit; + /*&:active { + background-color: #eee; + }*/ +} +.mui-table-view-cell > a:not(.mui-btn).mui-active +{ + background-color: #eee; +} +.mui-table-view-cell p +{ + margin-bottom: 0; +} + +.mui-table-view-cell.mui-transitioning > .mui-slider-handle, .mui-table-view-cell.mui-transitioning > .mui-slider-left .mui-btn, .mui-table-view-cell.mui-transitioning > .mui-slider-right .mui-btn +{ + -webkit-transition: -webkit-transform 300ms ease; + transition: transform 300ms ease; +} +.mui-table-view-cell.mui-active > .mui-slider-handle +{ + background-color: #eee; +} +.mui-table-view-cell > .mui-slider-handle +{ + position: relative; + + background-color: #fff; +} +.mui-table-view-cell > .mui-slider-handle.mui-navigate-right:after, .mui-table-view-cell > .mui-slider-handle .mui-navigate-right:after +{ + right: 0; +} +.mui-table-view-cell > .mui-slider-handle, .mui-table-view-cell > .mui-slider-left .mui-btn, .mui-table-view-cell > .mui-slider-right .mui-btn +{ + -webkit-transition: -webkit-transform 0ms ease; + transition: transform 0ms ease; +} +.mui-table-view-cell > .mui-slider-left, .mui-table-view-cell > .mui-slider-right +{ + position: absolute; + top: 0; + + display: -webkit-box; + display: -webkit-flex; + display: flex; + + height: 100%; +} +.mui-table-view-cell > .mui-slider-left > .mui-btn, .mui-table-view-cell > .mui-slider-right > .mui-btn +{ + position: relative; + left: 0; + + display: -webkit-box; + display: -webkit-flex; + display: flex; + + padding: 0 30px; + + color: #fff; + border: 0; + border-radius: 0; + + -webkit-box-align: center; + -webkit-align-items: center; + align-items: center; +} +.mui-table-view-cell > .mui-slider-left > .mui-btn:after, .mui-table-view-cell > .mui-slider-right > .mui-btn:after +{ + position: absolute; + z-index: -1; + top: 0; + + width: 600%; + height: 100%; + + content: ''; + + background: inherit; +} +.mui-table-view-cell > .mui-slider-left > .mui-btn.mui-icon, .mui-table-view-cell > .mui-slider-right > .mui-btn.mui-icon +{ + font-size: 30px; +} +.mui-table-view-cell > .mui-slider-right +{ + right: 0; + + -webkit-transition: -webkit-transform 0ms ease; + transition: transform 0ms ease; + -webkit-transform: translateX(100%); + transform: translateX(100%); +} +.mui-table-view-cell > .mui-slider-left +{ + left: 0; + + -webkit-transition: -webkit-transform 0ms ease; + transition: transform 0ms ease; + -webkit-transform: translateX(-100%); + transform: translateX(-100%); +} +.mui-table-view-cell > .mui-slider-left > .mui-btn:after +{ + right: 100%; + + margin-right: -1px; +} + +.mui-table-view-divider +{ + font-weight: 500; + + position: relative; + + margin-top: -1px; + margin-left: 0; + padding-top: 6px; + padding-bottom: 6px; + padding-left: 15px; + + color: #999; + background-color: #fafafa; +} +.mui-table-view-divider:after +{ + position: absolute; + right: 0; + bottom: 0; + left: 0; + + height: 1px; + + content: ''; + -webkit-transform: scaleY(.5); + transform: scaleY(.5); + + background-color: #c8c7cc; +} +.mui-table-view-divider:before +{ + position: absolute; + top: 0; + right: 0; + left: 0; + + height: 1px; + + content: ''; + -webkit-transform: scaleY(.5); + transform: scaleY(.5); + + background-color: #c8c7cc; +} + +.mui-table-view .mui-media, +.mui-table-view .mui-media-body +{ + overflow: hidden; +} + +.mui-table-view .mui-media-large .mui-media-object +{ + line-height: 80px; + + max-width: 80px; + height: 80px; +} +.mui-table-view .mui-media .mui-subtitle +{ + color: #000; +} +.mui-table-view .mui-media-object +{ + line-height: 42px; + + max-width: 42px; + height: 42px; +} +.mui-table-view .mui-media-object.mui-pull-left +{ + margin-right: 10px; +} +.mui-table-view .mui-media-object.mui-pull-right +{ + margin-left: 10px; +} +.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object +{ + line-height: 29px; + + max-width: 29px; + height: 29px; + margin: -4px 0; +} +.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object img +{ + line-height: 29px; + + max-width: 29px; + height: 29px; +} +.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object.mui-pull-left +{ + margin-right: 10px; +} +.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object .mui-icon +{ + font-size: 29px; +} +.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-body:after +{ + position: absolute; + right: 0; + bottom: 0; + left: 55px; + + height: 1px; + + content: ''; + -webkit-transform: scaleY(.5); + transform: scaleY(.5); + + background-color: #c8c7cc; +} +.mui-table-view .mui-table-view-cell.mui-media-icon:after +{ + height: 0 !important; +} + +.mui-table-view.mui-unfold .mui-table-view-cell.mui-collapse .mui-table-view +{ + display: block; +} +.mui-table-view.mui-unfold .mui-table-view-cell.mui-collapse .mui-table-view:before, .mui-table-view.mui-unfold .mui-table-view-cell.mui-collapse .mui-table-view:after +{ + height: 0 !important; +} +.mui-table-view.mui-unfold .mui-table-view-cell.mui-media-icon.mui-collapse .mui-media-body:after +{ + position: absolute; + right: 0; + bottom: 0; + left: 70px; + + height: 1px; + + content: ''; + -webkit-transform: scaleY(.5); + transform: scaleY(.5); + + background-color: #c8c7cc; +} + +.mui-table-view-cell > .mui-btn, +.mui-table-view-cell > .mui-badge, +.mui-table-view-cell > .mui-switch, +.mui-table-view-cell > a > .mui-btn, +.mui-table-view-cell > a > .mui-badge, +.mui-table-view-cell > a > .mui-switch +{ + position: absolute; + top: 50%; + right: 15px; + + -webkit-transform: translateY(-50%); + transform: translateY(-50%); +} +.mui-table-view-cell .mui-navigate-right > .mui-btn, +.mui-table-view-cell .mui-navigate-right > .mui-badge, +.mui-table-view-cell .mui-navigate-right > .mui-switch, +.mui-table-view-cell .mui-push-left > .mui-btn, +.mui-table-view-cell .mui-push-left > .mui-badge, +.mui-table-view-cell .mui-push-left > .mui-switch, +.mui-table-view-cell .mui-push-right > .mui-btn, +.mui-table-view-cell .mui-push-right > .mui-badge, +.mui-table-view-cell .mui-push-right > .mui-switch, +.mui-table-view-cell > a .mui-navigate-right > .mui-btn, +.mui-table-view-cell > a .mui-navigate-right > .mui-badge, +.mui-table-view-cell > a .mui-navigate-right > .mui-switch, +.mui-table-view-cell > a .mui-push-left > .mui-btn, +.mui-table-view-cell > a .mui-push-left > .mui-badge, +.mui-table-view-cell > a .mui-push-left > .mui-switch, +.mui-table-view-cell > a .mui-push-right > .mui-btn, +.mui-table-view-cell > a .mui-push-right > .mui-badge, +.mui-table-view-cell > a .mui-push-right > .mui-switch +{ + right: 35px; +} + +.mui-content > .mui-table-view:first-child +{ + margin-top: 15px; +} + +.mui-table-view-cell.mui-collapse .mui-table-view:before, .mui-table-view-cell.mui-collapse .mui-table-view:after +{ + height: 0; +} +.mui-table-view-cell.mui-collapse .mui-table-view .mui-table-view-cell:last-child:after +{ + height: 0; +} +.mui-table-view-cell.mui-collapse > .mui-navigate-right:after, .mui-table-view-cell.mui-collapse > .mui-push-right:after +{ + content: '\e581'; +} +.mui-table-view-cell.mui-collapse.mui-active +{ + margin-top: -1px; +} +.mui-table-view-cell.mui-collapse.mui-active .mui-table-view, .mui-table-view-cell.mui-collapse.mui-active .mui-collapse-content +{ + display: block; +} +.mui-table-view-cell.mui-collapse.mui-active > .mui-navigate-right:after, .mui-table-view-cell.mui-collapse.mui-active > .mui-push-right:after +{ + content: '\e580'; +} +.mui-table-view-cell.mui-collapse.mui-active .mui-table-view-cell > a:not(.mui-btn).mui-active +{ + margin-left: -31px; + padding-left: 47px; +} +.mui-table-view-cell.mui-collapse .mui-collapse-content +{ + position: relative; + + display: none; + overflow: hidden; + + margin: 11px -15px -11px; + padding: 8px 15px; + + -webkit-transition: height .35s ease; + -o-transition: height .35s ease; + transition: height .35s ease; + + background: white; +} +.mui-table-view-cell.mui-collapse .mui-collapse-content > .mui-input-group, .mui-table-view-cell.mui-collapse .mui-collapse-content > .mui-slider +{ + width: auto; + height: auto; + margin: -8px -15px; +} +.mui-table-view-cell.mui-collapse .mui-collapse-content > .mui-slider +{ + margin: -8px -16px; +} +.mui-table-view-cell.mui-collapse .mui-table-view +{ + display: none; + + margin-top: 11px; + margin-right: -15px; + margin-bottom: -11px; + margin-left: -15px; + + border: 0; +} +.mui-table-view-cell.mui-collapse .mui-table-view.mui-table-view-chevron +{ + margin-right: -65px; +} +.mui-table-view-cell.mui-collapse .mui-table-view .mui-table-view-cell +{ + padding-left: 31px; + + background-position: 31px 100%; +} +.mui-table-view-cell.mui-collapse .mui-table-view .mui-table-view-cell:after +{ + position: absolute; + right: 0; + bottom: 0; + left: 30px; + + height: 1px; + + content: ''; + -webkit-transform: scaleY(.5); + transform: scaleY(.5); + + background-color: #c8c7cc; +} + +.mui-table-view.mui-grid-view +{ + font-size: 0; + + display: block; + + width: 100%; + padding: 0 10px 10px 0; + + white-space: normal; +} +.mui-table-view.mui-grid-view .mui-table-view-cell +{ + font-size: 17px; + + display: inline-block; + + margin-right: -4px; + padding: 10px 0 0 14px; + + text-align: center; + vertical-align: middle; + + background: none; +} +.mui-table-view.mui-grid-view .mui-table-view-cell .mui-media-object +{ + width: 100%; + max-width: 100%; + height: auto; +} +.mui-table-view.mui-grid-view .mui-table-view-cell > a:not(.mui-btn) +{ + margin: -10px 0 0 -14px; +} +.mui-table-view.mui-grid-view .mui-table-view-cell > a:not(.mui-btn):active, .mui-table-view.mui-grid-view .mui-table-view-cell > a:not(.mui-btn).mui-active +{ + background: none; +} +.mui-table-view.mui-grid-view .mui-table-view-cell .mui-media-body +{ + font-size: 15px; + line-height: 15px; + + display: block; + + width: 100%; + height: 15px; + margin-top: 8px; + + text-overflow: ellipsis; + + color: #333; +} +.mui-table-view.mui-grid-view .mui-table-view-cell:before, .mui-table-view.mui-grid-view .mui-table-view-cell:after +{ + height: 0; +} + +.mui-grid-view.mui-grid-9 +{ + margin: 0; + padding: 0; + + border-top: 1px solid #eee; + border-left: 1px solid #eee; + background-color: #f2f2f2; +} +.mui-grid-view.mui-grid-9:before, .mui-grid-view.mui-grid-9:after +{ + display: table; + + content: ' '; +} +.mui-grid-view.mui-grid-9:after +{ + clear: both; +} +.mui-grid-view.mui-grid-9:after +{ + position: static; +} +.mui-grid-view.mui-grid-9 .mui-table-view-cell +{ + margin: 0; + padding: 11px 15px; + + vertical-align: top; + + border-right: 1px solid #eee; + border-bottom: 1px solid #eee; +} +.mui-grid-view.mui-grid-9 .mui-table-view-cell.mui-active +{ + background-color: #eee; +} +.mui-grid-view.mui-grid-9 .mui-table-view-cell > a:not(.mui-btn) +{ + margin: 0; + padding: 10px 0; +} +.mui-grid-view.mui-grid-9:before +{ + height: 0; +} +.mui-grid-view.mui-grid-9 .mui-media +{ + color: #797979; +} +.mui-grid-view.mui-grid-9 .mui-media .mui-icon +{ + font-size: 2.4em; + + position: relative; +} + +.mui-slider-cell +{ + position: relative; +} +.mui-slider-cell > .mui-slider-handle +{ + z-index: 1; +} +.mui-slider-cell > .mui-slider-left, .mui-slider-cell > .mui-slider-right +{ + position: absolute; + z-index: 0; + top: 0; + bottom: 0; +} +.mui-slider-cell > .mui-slider-left +{ + left: 0; +} +.mui-slider-cell > .mui-slider-right +{ + right: 0; +} + +input, +textarea, +select +{ + font-family: 'Helvetica Neue', Helvetica, sans-serif; + font-size: 17px; + + -webkit-tap-highlight-color: transparent; + -webkit-tap-highlight-color: transparent; +} +input:focus, +textarea:focus, +select:focus +{ + -webkit-tap-highlight-color: transparent; + -webkit-tap-highlight-color: transparent; + -webkit-user-modify: read-write-plaintext-only; +} + +select, +textarea, +input[type='text'], +input[type='search'], +input[type='password'], +input[type='datetime'], +input[type='datetime-local'], +input[type='date'], +input[type='month'], +input[type='time'], +input[type='week'], +input[type='number'], +input[type='email'], +input[type='url'], +input[type='tel'], +input[type='color'] +{ + line-height: 21px; + + width: 100%; + height: 40px; + margin-bottom: 15px; + padding: 10px 15px; + + -webkit-user-select: text; + + border: 1px solid rgba(0, 0, 0, .2); + border-radius: 3px; + outline: none; + background-color: #fff; + + -webkit-appearance: none; +} + +input[type=number]::-webkit-inner-spin-button, +input[type=number]::-webkit-outer-spin-button +{ + margin: 0; + + -webkit-appearance: none; +} + +input[type='search'] +{ + font-size: 16px; + + -webkit-box-sizing: border-box; + box-sizing: border-box; + height: 34px; + + text-align: center; + + border: 0; + border-radius: 6px; + background-color: rgba(0, 0, 0, .1); +} + +input[type='search']:focus +{ + text-align: left; +} + +textarea +{ + height: auto; + + resize: none; +} + +select +{ + font-size: 14px; + + height: auto; + margin-top: 1px; + + border: 0 !important; + background-color: #fff; +} +select:focus +{ + -webkit-user-modify: read-only; +} + +.mui-input-group +{ + position: relative; + + padding: 0; + + border: 0; + background-color: #fff; +} +.mui-input-group:after +{ + position: absolute; + right: 0; + bottom: 0; + left: 0; + + height: 1px; + + content: ''; + -webkit-transform: scaleY(.5); + transform: scaleY(.5); + + background-color: #c8c7cc; +} +.mui-input-group:before +{ + position: absolute; + top: 0; + right: 0; + left: 0; + + height: 1px; + + content: ''; + -webkit-transform: scaleY(.5); + transform: scaleY(.5); + + background-color: #c8c7cc; +} + +.mui-input-group input, +.mui-input-group textarea +{ + margin-bottom: 0; + + border: 0; + border-radius: 0; + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; +} + +.mui-input-group input[type='search'] +{ + background: none; +} + +.mui-input-group input:last-child +{ + background-image: none; +} + +.mui-input-row +{ + clear: left; + overflow: hidden; +} +.mui-input-row select +{ + font-size: 17px; + + height: 37px; + padding: 0; +} + +.mui-input-row:last-child, +.mui-input-row label + input, .mui-input-row .mui-btn + input +{ + background: none; +} + +.mui-input-group .mui-input-row +{ + height: 40px; +} +.mui-input-group .mui-input-row:after +{ + position: absolute; + right: 0; + bottom: 0; + left: 15px; + + height: 1px; + + content: ''; + -webkit-transform: scaleY(.5); + transform: scaleY(.5); + + background-color: #c8c7cc; +} + +.mui-input-row label +{ + font-family: 'Helvetica Neue', Helvetica, sans-serif; + line-height: 1.1; + + float: left; + + width: 35%; + padding: 11px 15px; +} + +.mui-input-row label ~ input, .mui-input-row label ~ select, .mui-input-row label ~ textarea +{ + float: right; + + width: 65%; + margin-bottom: 0; + padding-left: 0; + + border: 0; +} + +.mui-input-row .mui-btn +{ + line-height: 1.1; + + float: right; + + width: 15%; + padding: 10px 15px; +} + +.mui-input-row .mui-btn ~ input, .mui-input-row .mui-btn ~ select, .mui-input-row .mui-btn ~ textarea +{ + float: left; + + width: 85%; + margin-bottom: 0; + padding-left: 0; + + border: 0; +} + +.mui-button-row +{ + position: relative; + + padding-top: 5px; + + text-align: center; +} + +.mui-input-group .mui-button-row +{ + height: 45px; +} + +.mui-input-row +{ + position: relative; +} +.mui-input-row.mui-input-range +{ + overflow: visible; + + padding-right: 20px; +} +.mui-input-row .mui-inline +{ + padding: 8px 0; +} +.mui-input-row .mui-input-clear ~ .mui-icon-clear, .mui-input-row .mui-input-speech ~ .mui-icon-speech, .mui-input-row .mui-input-password ~ .mui-icon-eye +{ + font-size: 20px; + + position: absolute; + z-index: 1; + top: 10px; + right: 0; + + width: 38px; + height: 38px; + + text-align: center; + + color: #999; +} +.mui-input-row .mui-input-clear ~ .mui-icon-clear.mui-active, .mui-input-row .mui-input-speech ~ .mui-icon-speech.mui-active, .mui-input-row .mui-input-password ~ .mui-icon-eye.mui-active +{ + color: #007aff; +} +.mui-input-row .mui-input-speech ~ .mui-icon-speech +{ + font-size: 24px; + + top: 8px; +} +.mui-input-row .mui-input-clear ~ .mui-icon-clear ~ .mui-icon-speech +{ + display: none; +} +.mui-input-row .mui-input-clear ~ .mui-icon-clear.mui-hidden ~ .mui-icon-speech +{ + display: inline-block; +} +.mui-input-row .mui-icon-speech ~ .mui-placeholder +{ + right: 38px; +} +.mui-input-row.mui-search .mui-icon-clear +{ + top: 7px; +} +.mui-input-row.mui-search .mui-icon-speech +{ + top: 5px; +} + +.mui-radio, .mui-checkbox +{ + position: relative; +} +.mui-radio label, .mui-checkbox label +{ + display: inline-block; + float: none; + + width: 100%; + padding-right: 58px; +} + +.mui-radio.mui-left input[type='radio'], .mui-checkbox.mui-left input[type='checkbox'] +{ + left: 20px; +} + +.mui-radio.mui-left label, .mui-checkbox.mui-left label +{ + padding-right: 15px; + padding-left: 58px; +} + +.mui-radio input[type='radio'], .mui-checkbox input[type='checkbox'] +{ + position: absolute; + top: 4px; + right: 20px; + + display: inline-block; + + width: 28px; + height: 26px; + + border: 0; + outline: 0 !important; + background-color: transparent; + + -webkit-appearance: none; +} +.mui-radio input[type='radio'][disabled]:before, .mui-checkbox input[type='checkbox'][disabled]:before +{ + opacity: .3; +} +.mui-radio input[type='radio']:before, .mui-checkbox input[type='checkbox']:before +{ + font-family: Muiicons; + font-size: 28px; + font-weight: normal; + line-height: 1; + + text-decoration: none; + + color: #aaa; + border-radius: 0; + background: none; + + -webkit-font-smoothing: antialiased; +} +.mui-radio input[type='radio']:checked:before, .mui-checkbox input[type='checkbox']:checked:before +{ + color: #007aff; +} + +.mui-radio.mui-disabled label, .mui-radio label.mui-disabled, .mui-checkbox.mui-disabled label, .mui-checkbox label.mui-disabled +{ + opacity: .4; +} + +.mui-radio input[type='radio']:before +{ + content: '\e411'; +} + +.mui-radio input[type='radio']:checked:before +{ + content: '\e441'; +} + +.mui-checkbox input[type='checkbox']:before +{ + content: '\e411'; +} + +.mui-checkbox input[type='checkbox']:checked:before +{ + content: '\e442'; +} + +.mui-select +{ + position: relative; +} + +.mui-select:before +{ + font-family: Muiicons; + + position: absolute; + top: 8px; + right: 21px; + + content: '\e581'; + + color: rgba(170, 170, 170, .6); +} + +.mui-input-row .mui-switch +{ + float: right; + + margin-top: 5px; + margin-right: 20px; +} + +.mui-input-range +{ + /*input[type="range"] { + -webkit-appearance: none; + background: #999; + height: 36px; + border-radius: 1px; + overflow: hidden; + margin-top: 2px; + margin-bottom: 2px; + outline:none; + position:relative; + width:100%; + }*/ + /*input[type='range']::-webkit-slider-thumb { + -webkit-appearance: none!important; + opacity: 0.5; + height:28px; + width:28px; + border-radius: 50%; + background:#00b7fb; + position: relative; + pointer-events: none; + -webkit-box-sizing: border-box; + box-sizing: border-box; + &:before{ + position: absolute; + top: 13px; + left: -2000px; + width: 2000px; + height: 2px; + background: #00b7fb; + content:' '; + } + }*/ +} +.mui-input-range input[type='range'] +{ + position: relative; + + width: 100%; + height: 2px; + margin: 17px 0; + padding: 0; + + cursor: pointer; + + border: 0; + border-radius: 3px; + outline: none; + background-color: #999; + + -webkit-appearance: none !important; +} +.mui-input-range input[type='range']::-webkit-slider-thumb +{ + width: 28px; + height: 28px; + + border-color: #0062cc; + border-radius: 50%; + background-color: #007aff; + background-clip: padding-box; + + -webkit-appearance: none !important; +} +.mui-input-range label ~ input[type='range'] +{ + width: 65%; +} +.mui-input-range .mui-tooltip +{ + font-size: 36px; + line-height: 64px; + + position: absolute; + z-index: 1; + top: -70px; + + width: 64px; + height: 64px; + + text-align: center; + + opacity: .8; + color: #333; + border: 1px solid #ddd; + border-radius: 6px; + background-color: #fff; + text-shadow: 0 1px 0 #f3f3f3; +} + +.mui-search +{ + position: relative; +} +.mui-search input[type='search'] +{ + padding-left: 30px; +} +.mui-search .mui-placeholder +{ + font-size: 16px; + line-height: 34px; + + position: absolute; + z-index: 1; + top: 0; + right: 0; + bottom: 0; + left: 0; + + display: inline-block; + + height: 34px; + + text-align: center; + + color: #999; + border: 0; + border-radius: 6px; + background: none; +} +.mui-search .mui-placeholder .mui-icon +{ + font-size: 20px; + + color: #333; +} +.mui-search:before +{ + font-family: Muiicons; + font-size: 20px; + font-weight: normal; + + position: absolute; + top: 50%; + right: 50%; + + display: none; + + margin-top: -18px; + margin-right: 31px; + + content: '\e466'; +} +.mui-search.mui-active:before +{ + font-size: 20px; + + right: auto; + left: 5px; + + display: block; + + margin-right: 0; +} +.mui-search.mui-active input[type='search'] +{ + text-align: left; +} +.mui-search.mui-active .mui-placeholder +{ + display: none; +} + +.mui-segmented-control +{ + font-size: 15px; + font-weight: 400; + + position: relative; + + display: table; + overflow: hidden; + + width: 100%; + + table-layout: fixed; + + border: 1px solid #007aff; + border-radius: 3px; + background-color: transparent; + + -webkit-touch-callout: none; +} +.mui-segmented-control.mui-segmented-control-vertical +{ + border-collapse: collapse; + + border-width: 0; + border-radius: 0; +} +.mui-segmented-control.mui-segmented-control-vertical .mui-control-item +{ + display: block; + + border-bottom: 1px solid #c8c7cc; + border-left-width: 0; +} +.mui-segmented-control.mui-scroll-wrapper +{ + height: 38px; +} +.mui-segmented-control.mui-scroll-wrapper .mui-scroll +{ + width: auto; + height: 40px; + + white-space: nowrap; +} +.mui-segmented-control.mui-scroll-wrapper .mui-control-item +{ + display: inline-block; + + width: auto; + padding: 0 20px; + + border: 0; +} +.mui-segmented-control .mui-control-item +{ + line-height: 38px; + + display: table-cell; + overflow: hidden; + + width: 1%; + + -webkit-transition: background-color .1s linear; + transition: background-color .1s linear; + text-align: center; + white-space: nowrap; + text-overflow: ellipsis; + + color: #007aff; + border-color: #007aff; + border-left: 1px solid #007aff; +} +.mui-segmented-control .mui-control-item:first-child +{ + border-left-width: 0; +} +.mui-segmented-control .mui-control-item.mui-active +{ + color: #fff; + background-color: #007aff; +} +.mui-segmented-control.mui-segmented-control-inverted +{ + width: 100%; + + border: 0; + border-radius: 0; +} +.mui-segmented-control.mui-segmented-control-inverted.mui-segmented-control-vertical .mui-control-item +{ + border-bottom: 1px solid #c8c7cc; +} +.mui-segmented-control.mui-segmented-control-inverted.mui-segmented-control-vertical .mui-control-item.mui-active +{ + border-bottom: 1px solid #c8c7cc; +} +.mui-segmented-control.mui-segmented-control-inverted .mui-control-item +{ + color: inherit; + border: 0; +} +.mui-segmented-control.mui-segmented-control-inverted .mui-control-item.mui-active +{ + color: #007aff; + border-bottom: 2px solid #007aff; + background: none; +} +.mui-segmented-control.mui-segmented-control-inverted ~ .mui-slider-progress-bar +{ + background-color: #007aff; +} + +.mui-segmented-control-positive +{ + border: 1px solid #4cd964; +} +.mui-segmented-control-positive .mui-control-item +{ + color: #4cd964; + border-color: inherit; +} +.mui-segmented-control-positive .mui-control-item.mui-active +{ + color: #fff; + background-color: #4cd964; +} +.mui-segmented-control-positive.mui-segmented-control-inverted .mui-control-item.mui-active +{ + color: #4cd964; + border-bottom: 2px solid #4cd964; + background: none; +} +.mui-segmented-control-positive.mui-segmented-control-inverted ~ .mui-slider-progress-bar +{ + background-color: #4cd964; +} + +.mui-segmented-control-negative +{ + border: 1px solid #dd524d; +} +.mui-segmented-control-negative .mui-control-item +{ + color: #dd524d; + border-color: inherit; +} +.mui-segmented-control-negative .mui-control-item.mui-active +{ + color: #fff; + background-color: #dd524d; +} +.mui-segmented-control-negative.mui-segmented-control-inverted .mui-control-item.mui-active +{ + color: #dd524d; + border-bottom: 2px solid #dd524d; + background: none; +} +.mui-segmented-control-negative.mui-segmented-control-inverted ~ .mui-slider-progress-bar +{ + background-color: #dd524d; +} + +.mui-control-content +{ + position: relative; + + display: none; +} +.mui-control-content.mui-active +{ + display: block; +} + +.mui-popover +{ + position: absolute; + z-index: 999; + + display: none; + + width: 280px; + + -webkit-transition: opacity .3s; + transition: opacity .3s; + -webkit-transition-property: opacity; + transition-property: opacity; + -webkit-transform: none; + transform: none; + + opacity: 0; + border-radius: 7px; + background-color: #f7f7f7; + -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, .1); + box-shadow: 0 0 15px rgba(0, 0, 0, .1); +} +.mui-popover .mui-popover-arrow +{ + position: absolute; + z-index: 1000; + top: -25px; + left: 0; + + overflow: hidden; + + width: 26px; + height: 26px; +} +.mui-popover .mui-popover-arrow:after +{ + position: absolute; + top: 19px; + left: 0; + + width: 26px; + height: 26px; + + content: ' '; + -webkit-transform: rotate(45deg); + transform: rotate(45deg); + + border-radius: 3px; + background: #f7f7f7; +} +.mui-popover .mui-popover-arrow.mui-bottom +{ + top: 100%; + left: -26px; + + margin-top: -1px; +} +.mui-popover .mui-popover-arrow.mui-bottom:after +{ + top: -19px; + left: 0; +} +.mui-popover.mui-popover-action +{ + bottom: 0; + + width: 100%; + + -webkit-transition: -webkit-transform .3s, opacity .3s; + transition: transform .3s, opacity .3s; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + + border-radius: 0; + background: none; + -webkit-box-shadow: none; + box-shadow: none; +} +.mui-popover.mui-popover-action .mui-popover-arrow +{ + display: none; +} +.mui-popover.mui-popover-action.mui-popover-bottom +{ + position: fixed; +} +.mui-popover.mui-popover-action.mui-active +{ + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +.mui-popover.mui-popover-action .mui-table-view +{ + margin: 8px; + + text-align: center; + + color: #007aff; + border-radius: 4px; +} +.mui-popover.mui-popover-action .mui-table-view .mui-table-view-cell:after +{ + position: absolute; + right: 0; + bottom: 0; + left: 0; + + height: 1px; + + content: ''; + -webkit-transform: scaleY(.5); + transform: scaleY(.5); + + background-color: #c8c7cc; +} +.mui-popover.mui-popover-action .mui-table-view small +{ + font-weight: 400; + line-height: 1.3; + + display: block; +} +.mui-popover.mui-active +{ + display: block; + + opacity: 1; +} +.mui-popover .mui-bar ~ .mui-table-view +{ + padding-top: 44px; +} + +.mui-backdrop +{ + position: fixed; + z-index: 998; + top: 0; + right: 0; + bottom: 0; + left: 0; + + background-color: rgba(0, 0, 0, .3); +} + +.mui-bar-backdrop.mui-backdrop +{ + bottom: 50px; + + background: none; +} + +.mui-backdrop-action.mui-backdrop +{ + background-color: rgba(0, 0, 0, .3); +} + +.mui-bar-backdrop.mui-backdrop, .mui-backdrop-action.mui-backdrop +{ + opacity: 0; +} +.mui-bar-backdrop.mui-backdrop.mui-active, .mui-backdrop-action.mui-backdrop.mui-active +{ + -webkit-transition: all .4s ease; + transition: all .4s ease; + + opacity: 1; +} + +.mui-popover .mui-btn-block +{ + margin-bottom: 5px; +} +.mui-popover .mui-btn-block:last-child +{ + margin-bottom: 0; +} + +.mui-popover .mui-bar +{ + -webkit-box-shadow: none; + box-shadow: none; +} + +.mui-popover .mui-bar-nav +{ + border-bottom: 1px solid rgba(0, 0, 0, .15); + border-top-left-radius: 12px; + border-top-right-radius: 12px; + -webkit-box-shadow: none; + box-shadow: none; +} + +.mui-popover .mui-scroll-wrapper +{ + margin: 7px 0; + + border-radius: 7px; + background-clip: padding-box; +} + +.mui-popover .mui-scroll .mui-table-view +{ + max-height: none; +} + +.mui-popover .mui-table-view +{ + overflow: auto; + + max-height: 300px; + margin-bottom: 0; + + border-radius: 7px; + background-color: #f7f7f7; + background-image: none; + + -webkit-overflow-scrolling: touch; +} +.mui-popover .mui-table-view:before, .mui-popover .mui-table-view:after +{ + height: 0; +} +.mui-popover .mui-table-view .mui-table-view-cell:first-child, +.mui-popover .mui-table-view .mui-table-view-cell:first-child > a:not(.mui-btn) +{ + border-top-left-radius: 12px; + border-top-right-radius: 12px; +} +.mui-popover .mui-table-view .mui-table-view-cell:last-child, +.mui-popover .mui-table-view .mui-table-view-cell:last-child > a:not(.mui-btn) +{ + border-bottom-right-radius: 12px; + border-bottom-left-radius: 12px; +} + +.mui-popover.mui-bar-popover .mui-table-view +{ + width: 106px; +} +.mui-popover.mui-bar-popover .mui-table-view .mui-table-view-cell +{ + padding: 11px 15px 11px 15px; + + background-position: 0 100%; +} +.mui-popover.mui-bar-popover .mui-table-view .mui-table-view-cell > a:not(.mui-btn) +{ + margin: -11px -15px -11px -15px; +} + +.mui-popup-backdrop +{ + position: fixed; + z-index: 998; + top: 0; + right: 0; + bottom: 0; + left: 0; + + -webkit-transition-duration: 400ms; + transition-duration: 400ms; + + opacity: 0; + background: rgba(0, 0, 0, .4); +} +.mui-popup-backdrop.mui-active +{ + opacity: 1; +} + +.mui-popup +{ + position: fixed; + z-index: 10000; + top: 50%; + left: 50%; + + display: none; + overflow: hidden; + + width: 270px; + + -webkit-transition-property: -webkit-transform,opacity; + transition-property: transform,opacity; + -webkit-transform: translate3d(-50%, -50%, 0) scale(1.185); + transform: translate3d(-50%, -50%, 0) scale(1.185); + text-align: center; + + opacity: 0; + color: #000; + border-radius: 13px; +} +.mui-popup.mui-popup-in +{ + display: block; + + -webkit-transition-duration: 400ms; + transition-duration: 400ms; + -webkit-transform: translate3d(-50%, -50%, 0) scale(1); + transform: translate3d(-50%, -50%, 0) scale(1); + + opacity: 1; +} +.mui-popup.mui-popup-out +{ + -webkit-transition-duration: 400ms; + transition-duration: 400ms; + -webkit-transform: translate3d(-50%, -50%, 0) scale(1); + transform: translate3d(-50%, -50%, 0) scale(1); + + opacity: 0; +} + +.mui-popup-inner +{ + position: relative; + + padding: 15px; + + border-radius: 13px 13px 0 0; + background: rgba(255, 255, 255, .95); +} +.mui-popup-inner:after +{ + position: absolute; + z-index: 15; + top: auto; + right: auto; + bottom: 0; + left: 0; + + display: block; + + width: 100%; + height: 1px; + + content: ''; + -webkit-transform: scaleY(.5); + transform: scaleY(.5); + -webkit-transform-origin: 50% 100%; + transform-origin: 50% 100%; + + background-color: rgba(0, 0, 0, .2); +} + +.mui-popup-title +{ + font-size: 18px; + font-weight: 500; + + text-align: center; +} + +.mui-popup-title + .mui-popup-text +{ + font-family: inherit; + font-size: 14px; + + margin: 5px 0 0; +} + +.mui-popup-buttons +{ + position: relative; + + display: -webkit-box; + display: -webkit-flex; + display: flex; + + height: 44px; + + -webkit-box-pack: center; + -webkit-justify-content: center; + justify-content: center; +} + +.mui-popup-button +{ + font-size: 17px; + line-height: 44px; + + position: relative; + + display: block; + overflow: hidden; + + box-sizing: border-box; + width: 100%; + height: 44px; + padding: 0 5px; + + cursor: pointer; + text-align: center; + white-space: nowrap; + text-overflow: ellipsis; + + color: #007aff; + background: rgba(255, 255, 255, .95); + + -webkit-box-flex: 1; +} +.mui-popup-button:after +{ + position: absolute; + z-index: 15; + top: 0; + right: 0; + bottom: auto; + left: auto; + + display: block; + + width: 1px; + height: 100%; + + content: ''; + -webkit-transform: scaleX(.5); + transform: scaleX(.5); + -webkit-transform-origin: 100% 50%; + transform-origin: 100% 50%; + + background-color: rgba(0, 0, 0, .2); +} +.mui-popup-button:first-child +{ + border-radius: 0 0 0 13px; +} +.mui-popup-button:first-child:last-child +{ + border-radius: 0 0 13px 13px; +} +.mui-popup-button:last-child +{ + border-radius: 0 0 13px 0; +} +.mui-popup-button:last-child:after +{ + display: none; +} +.mui-popup-button.mui-popup-button-bold +{ + font-weight: 600; +} + +.mui-popup-input input +{ + font-size: 14px; + + width: 100%; + height: 26px; + margin: 15px 0 0; + padding: 0 5px; + + border: 1px solid rgba(0, 0, 0, .3); + border-radius: 0; + background: #fff; +} + +.mui-plus.mui-android .mui-popup-backdrop +{ + -webkit-transition-duration: 1ms; + transition-duration: 1ms; +} + +.mui-plus.mui-android .mui-popup +{ + -webkit-transition-duration: 1ms; + transition-duration: 1ms; + -webkit-transform: translate3d(-50%, -50%, 0) scale(1); + transform: translate3d(-50%, -50%, 0) scale(1); +} + +/* === Progress Bar === */ +.mui-progressbar +{ + position: relative; + + display: block; + overflow: hidden; + + width: 100%; + height: 2px; + + -webkit-transform-origin: center top; + transform-origin: center top; + vertical-align: middle; + + border-radius: 2px; + background: #b6b6b6; + + -webkit-transform-style: preserve-3d; + transform-style: preserve-3d; +} +.mui-progressbar span +{ + position: absolute; + top: 0; + left: 0; + + width: 100%; + height: 100%; + + -webkit-transition: 150ms; + transition: 150ms; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + + background: #007aff; +} +.mui-progressbar.mui-progressbar-infinite:before +{ + position: absolute; + top: 0; + left: 0; + + width: 100%; + height: 100%; + + content: ''; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + -webkit-transform-origin: left center; + transform-origin: left center; + -webkit-animation: mui-progressbar-infinite 1s linear infinite; + animation: mui-progressbar-infinite 1s linear infinite; + + background: #007aff; +} + +body > .mui-progressbar +{ + position: absolute; + z-index: 10000; + top: 44px; + left: 0; + + border-radius: 0; +} + +.mui-progressbar-in +{ + -webkit-animation: mui-progressbar-in 300ms forwards; + animation: mui-progressbar-in 300ms forwards; +} + +.mui-progressbar-out +{ + -webkit-animation: mui-progressbar-out 300ms forwards; + animation: mui-progressbar-out 300ms forwards; +} + +@-webkit-keyframes mui-progressbar-in +{ + from + { + -webkit-transform: scaleY(0); + + opacity: 0; + } + + to + { + -webkit-transform: scaleY(1); + + opacity: 1; + } +} +@keyframes mui-progressbar-in +{ + from + { + transform: scaleY(0); + + opacity: 0; + } + + to + { + transform: scaleY(1); + + opacity: 1; + } +} +@-webkit-keyframes mui-progressbar-out +{ + from + { + -webkit-transform: scaleY(1); + + opacity: 1; + } + + to + { + -webkit-transform: scaleY(0); + + opacity: 0; + } +} +@keyframes mui-progressbar-out +{ + from + { + transform: scaleY(1); + + opacity: 1; + } + + to + { + transform: scaleY(0); + + opacity: 0; + } +} +@-webkit-keyframes mui-progressbar-infinite +{ + 0% + { + -webkit-transform: translate3d(-50%, 0, 0) scaleX(.5); + } + + 100% + { + -webkit-transform: translate3d(100%, 0, 0) scaleX(.5); + } +} +@keyframes mui-progressbar-infinite +{ + 0% + { + transform: translate3d(-50%, 0, 0) scaleX(.5); + } + + 100% + { + transform: translate3d(100%, 0, 0) scaleX(.5); + } +} +.mui-pagination +{ + display: inline-block; + + margin: 0 auto; + padding-left: 0; + + border-radius: 6px; +} +.mui-pagination > li +{ + display: inline; +} +.mui-pagination > li > a, +.mui-pagination > li > span +{ + line-height: 1.428571429; + + position: relative; + + float: left; + + margin-left: -1px; + padding: 6px 12px; + + text-decoration: none; + + color: #007aff; + border: 1px solid #ddd; + background-color: #fff; +} +.mui-pagination > li:first-child > a, +.mui-pagination > li:first-child > span +{ + margin-left: 0; + + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; + background-clip: padding-box; +} +.mui-pagination > li:last-child > a, +.mui-pagination > li:last-child > span +{ + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + background-clip: padding-box; +} +.mui-pagination > li:active > a, .mui-pagination > li:active > a:active, +.mui-pagination > li:active > span, +.mui-pagination > li:active > span:active, +.mui-pagination > li.mui-active > a, +.mui-pagination > li.mui-active > a:active, +.mui-pagination > li.mui-active > span, +.mui-pagination > li.mui-active > span:active +{ + z-index: 2; + + cursor: default; + + color: #fff; + border-color: #007aff; + background-color: #007aff; +} +.mui-pagination > li.mui-disabled > span, +.mui-pagination > li.mui-disabled > span:active, +.mui-pagination > li.mui-disabled > a, +.mui-pagination > li.mui-disabled > a:active +{ + opacity: .6; + color: #777; + border: 1px solid #ddd; + background-color: #fff; +} + +.mui-pagination-lg > li > a, +.mui-pagination-lg > li > span +{ + font-size: 18px; + + padding: 10px 16px; +} + +.mui-pagination-sm > li > a, +.mui-pagination-sm > li > span +{ + font-size: 12px; + + padding: 5px 10px; +} + +.mui-pager +{ + padding-left: 0; + + list-style: none; + + text-align: center; +} +.mui-pager:before, .mui-pager:after +{ + display: table; + + content: ' '; +} +.mui-pager:after +{ + clear: both; +} +.mui-pager li +{ + display: inline; +} +.mui-pager li > a, +.mui-pager li > span +{ + display: inline-block; + + padding: 5px 14px; + + border: 1px solid #ddd; + border-radius: 6px; + background-color: #fff; + background-clip: padding-box; +} +.mui-pager li:active > a, .mui-pager li:active > span, .mui-pager li.mui-active > a, .mui-pager li.mui-active > span +{ + cursor: default; + text-decoration: none; + + color: #fff; + border-color: #007aff; + background-color: #007aff; +} +.mui-pager .mui-next > a, +.mui-pager .mui-next > span +{ + float: right; +} +.mui-pager .mui-previous > a, +.mui-pager .mui-previous > span +{ + float: left; +} +.mui-pager .mui-disabled > a, +.mui-pager .mui-disabled > a:active, +.mui-pager .mui-disabled > span, +.mui-pager .mui-disabled > span:active +{ + opacity: .6; + color: #777; + border: 1px solid #ddd; + background-color: #fff; +} + +.mui-modal +{ + position: fixed; + z-index: 999; + top: 0; + + overflow: hidden; + + width: 100%; + min-height: 100%; + + -webkit-transition: -webkit-transform .25s, opacity 1ms .25s; + transition: transform .25s, opacity 1ms .25s; + -webkit-transition-timing-function: cubic-bezier(.1, .5, .1, 1); + transition-timing-function: cubic-bezier(.1, .5, .1, 1); + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + + opacity: 0; + background-color: #fff; +} +.mui-modal.mui-active +{ + height: 100%; + + -webkit-transition: -webkit-transform .25s; + transition: transform .25s; + -webkit-transition-timing-function: cubic-bezier(.1, .5, .1, 1); + transition-timing-function: cubic-bezier(.1, .5, .1, 1); + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + + opacity: 1; +} + +.mui-android .mui-modal .mui-bar +{ + position: static; +} + +.mui-android .mui-modal .mui-bar-nav ~ .mui-content +{ + padding-top: 0; +} + +.mui-slider +{ + position: relative; + z-index: 1; + + overflow: hidden; + + width: 100%; +} +.mui-slider .mui-segmented-control.mui-segmented-control-inverted .mui-control-item.mui-active +{ + border-bottom: 0; +} +.mui-slider .mui-segmented-control.mui-segmented-control-inverted ~ .mui-slider-group .mui-slider-item +{ + border-top: 1px solid #c8c7cc; + border-bottom: 1px solid #c8c7cc; +} +.mui-slider .mui-slider-group +{ + font-size: 0; + + position: relative; + + -webkit-transition: all 0s linear; + transition: all 0s linear; + white-space: nowrap; +} +.mui-slider .mui-slider-group .mui-slider-item +{ + font-size: 14px; + + position: relative; + + display: inline-block; + + width: 100%; + height: 100%; + + vertical-align: top; + white-space: normal; +} +.mui-slider .mui-slider-group .mui-slider-item > a:not(.mui-control-item) +{ + line-height: 0; + + position: relative; + + display: block; +} +.mui-slider .mui-slider-group .mui-slider-item img +{ + width: 100%; +} +.mui-slider .mui-slider-group .mui-slider-item .mui-table-view:before, .mui-slider .mui-slider-group .mui-slider-item .mui-table-view:after +{ + height: 0; +} +.mui-slider .mui-slider-group.mui-slider-loop +{ + -webkit-transform: translate(-100%, 0px); + transform: translate(-100%, 0px); +} + +.mui-slider-title +{ + line-height: 30px; + + position: absolute; + bottom: 0; + left: 0; + + width: 100%; + height: 30px; + margin: 0; + + text-align: left; + text-indent: 12px; + + opacity: .8; + background-color: #000; +} + +.mui-slider-indicator +{ + position: absolute; + bottom: 8px; + + width: 100%; + + text-align: center; + + background: none; +} +.mui-slider-indicator.mui-segmented-control +{ + position: relative; + bottom: auto; +} +.mui-slider-indicator .mui-indicator +{ + display: inline-block; + + width: 6px; + height: 6px; + margin: 1px 6px; + + cursor: pointer; + + border-radius: 50%; + background: #aaa; + -webkit-box-shadow: 0 0 1px 1px rgba(130, 130, 130, .7); + box-shadow: 0 0 1px 1px rgba(130, 130, 130, .7); +} +.mui-slider-indicator .mui-active.mui-indicator +{ + background: #fff; +} +.mui-slider-indicator .mui-icon +{ + font-size: 20px; + line-height: 30px; + + width: 40px; + height: 30px; + margin: 3px; + + text-align: center; + + border: 1px solid #ddd; +} +.mui-slider-indicator .mui-number +{ + line-height: 32px; + + display: inline-block; + + width: 58px; +} +.mui-slider-indicator .mui-number span +{ + color: #ff5053; +} + +.mui-slider-progress-bar +{ + z-index: 1; + + height: 2px; + + -webkit-transform: translateZ(0); + transform: translateZ(0); +} + +.mui-switch +{ + position: relative; + + display: block; + + width: 74px; + height: 30px; + + -webkit-transition-timing-function: ease-in-out; + transition-timing-function: ease-in-out; + -webkit-transition-duration: .2s; + transition-duration: .2s; + -webkit-transition-property: background-color, border; + transition-property: background-color, border; + + border: 2px solid #ddd; + border-radius: 20px; + background-color: #fff; + background-clip: padding-box; +} +.mui-switch.mui-disabled +{ + opacity: .3; +} +.mui-switch .mui-switch-handle +{ + position: absolute; + z-index: 1; + top: -1px; + left: -1px; + + width: 28px; + height: 28px; + + -webkit-transition: .2s ease-in-out; + transition: .2s ease-in-out; + -webkit-transition-property: -webkit-transform, width,left; + transition-property: transform, width,left; + + border-radius: 16px; + background-color: #fff; + background-clip: padding-box; + -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, .4); + box-shadow: 0 2px 5px rgba(0, 0, 0, .4); +} +.mui-switch:before +{ + font-size: 13px; + + position: absolute; + top: 3px; + right: 11px; + + content: 'Off'; + text-transform: uppercase; + + color: #999; +} +.mui-switch.mui-dragging +{ + border-color: #f7f7f7; + background-color: #f7f7f7; +} +.mui-switch.mui-dragging .mui-switch-handle +{ + width: 38px; +} +.mui-switch.mui-dragging.mui-active .mui-switch-handle +{ + left: -11px; + + width: 38px; +} +.mui-switch.mui-active +{ + border-color: #4cd964; + background-color: #4cd964; +} +.mui-switch.mui-active .mui-switch-handle +{ + -webkit-transform: translate(43px, 0); + transform: translate(43px, 0); +} +.mui-switch.mui-active:before +{ + right: auto; + left: 15px; + + content: 'On'; + + color: #fff; +} +.mui-switch input[type='checkbox'] +{ + display: none; +} + +.mui-switch-mini +{ + width: 47px; +} +.mui-switch-mini:before +{ + display: none; +} +.mui-switch-mini.mui-active .mui-switch-handle +{ + -webkit-transform: translate(16px, 0); + transform: translate(16px, 0); +} + +.mui-switch-blue.mui-active +{ + border: 2px solid #007aff; + background-color: #007aff; +} + +.mui-content.mui-fade +{ + left: 0; + + opacity: 0; +} +.mui-content.mui-fade.mui-in +{ + opacity: 1; +} +.mui-content.mui-sliding +{ + z-index: 2; + + -webkit-transition: -webkit-transform .4s; + transition: transform .4s; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +.mui-content.mui-sliding.mui-left +{ + z-index: 1; + + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); +} +.mui-content.mui-sliding.mui-right +{ + z-index: 3; + + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); +} + +.mui-navigate-right:after, +.mui-push-left:after, +.mui-push-right:after +{ + font-family: Muiicons; + font-size: inherit; + line-height: 1; + + position: absolute; + top: 50%; + + display: inline-block; + + -webkit-transform: translateY(-50%); + transform: translateY(-50%); + text-decoration: none; + + color: #bbb; + + -webkit-font-smoothing: antialiased; +} + +.mui-push-left:after +{ + left: 15px; + + content: '\e582'; +} + +.mui-navigate-right:after, +.mui-push-right:after +{ + right: 15px; + + content: '\e583'; +} + +.mui-pull-top-pocket, .mui-pull-bottom-pocket +{ + position: absolute; + left: 0; + + display: block; + visibility: hidden; + overflow: hidden; + + width: 100%; + height: 50px; +} + +.mui-plus-pullrefresh .mui-pull-top-pocket, .mui-plus-pullrefresh .mui-pull-bottom-pocket +{ + display: none; + visibility: visible; +} + +.mui-pull-top-pocket +{ + top: 0; +} + +.mui-bar-nav ~ .mui-content .mui-pull-top-pocket +{ + top: 44px; +} + +.mui-bar-nav ~ .mui-bar-header-secondary ~ .mui-content .mui-pull-top-pocket +{ + top: 88px; +} + +.mui-pull-bottom-pocket +{ + position: relative; + bottom: 0; + + height: 40px; +} +.mui-pull-bottom-pocket .mui-pull-loading +{ + visibility: hidden; +} +.mui-pull-bottom-pocket .mui-pull-loading.mui-in +{ + display: inline-block; +} + +.mui-pull +{ + font-weight: bold; + + position: absolute; + right: 0; + bottom: 10px; + left: 0; + + text-align: center; + + color: #777; +} + +.mui-pull-loading +{ + margin-right: 10px; + + -webkit-transition: -webkit-transform .4s; + transition: transform .4s; + -webkit-transition-duration: 400ms; + transition-duration: 400ms; + vertical-align: middle; +} + +.mui-pull-loading.mui-reverse +{ + -webkit-transform: rotate(180deg) translateZ(0); + transform: rotate(180deg) translateZ(0); +} + +.mui-pull-caption +{ + font-size: 15px; + line-height: 24px; + + position: relative; + + display: inline-block; + overflow: visible; + + margin-top: 0; + + vertical-align: middle; +} +.mui-pull-caption span +{ + display: none; +} +.mui-pull-caption span.mui-in +{ + display: inline; +} + +.mui-toast-container +{ + line-height: 17px; + + position: fixed; + z-index: 9999; + bottom: 50px; + left: 50%; + + -webkit-transition: opacity .3s; + transition: opacity .3s; + -webkit-transform: translate(-50%, 0); + transform: translate(-50%, 0); + + opacity: 0; +} +.mui-toast-container.mui-active +{ + opacity: .9; +} + +.mui-toast-message +{ + font-size: 14px; + + padding: 10px 25px; + + text-align: center; + + color: #fff; + border-radius: 6px; + background-color: #323232; +} + +.mui-numbox +{ + position: relative; + + display: inline-block; + overflow: hidden; + + width: 120px; + height: 35px; + padding: 0 40px 0 40px; + + vertical-align: top; + vertical-align: middle; + + border: solid 1px #bbb; + border-radius: 3px; + background-color: #efeff4; +} +.mui-numbox [class*=numbox-btn], .mui-numbox [class*=btn-numbox] +{ + font-size: 18px; + font-weight: normal; + line-height: 100%; + + position: absolute; + top: 0; + + overflow: hidden; + + width: 40px; + height: 100%; + padding: 0; + + color: #555; + border: none; + border-radius: 0; + background-color: #f9f9f9; +} +.mui-numbox [class*=numbox-btn]:active, .mui-numbox [class*=btn-numbox]:active +{ + background-color: #ccc; +} +.mui-numbox [class*=numbox-btn][disabled], .mui-numbox [class*=btn-numbox][disabled] +{ + color: #c0c0c0; +} +.mui-numbox .mui-numbox-btn-plus, .mui-numbox .mui-btn-numbox-plus +{ + right: 0; + + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; +} +.mui-numbox .mui-numbox-btn-minus, .mui-numbox .mui-btn-numbox-minus +{ + left: 0; + + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; +} +.mui-numbox .mui-numbox-input, .mui-numbox .mui-input-numbox +{ + display: inline-block; + overflow: hidden; + + width: 100% !important; + height: 100%; + margin: 0; + padding: 0 3px !important; + + text-align: center; + text-overflow: ellipsis; + word-break: normal; + + border: none !important; + border-right: solid 1px #ccc !important; + border-left: solid 1px #ccc !important; + border-radius: 0 !important; +} + +.mui-input-row .mui-numbox +{ + float: right; + + margin: 2px 8px; +} + +@font-face { + font-family: Muiicons; + font-weight: normal; + font-style: normal; + + src: url('../fonts/mui.ttf') format('truetype'); +} +.mui-icon +{ + font-family: Muiicons; + font-size: 24px; + font-weight: normal; + font-style: normal; + line-height: 1; + + display: inline-block; + + text-decoration: none; + + -webkit-font-smoothing: antialiased; +} +.mui-icon.mui-active +{ + color: #007aff; +} +.mui-icon.mui-right:before +{ + float: right; + + padding-left: .2em; +} + +.mui-icon-contact:before +{ + content: '\e100'; +} + +.mui-icon-person:before +{ + content: '\e101'; +} + +.mui-icon-personadd:before +{ + content: '\e102'; +} + +.mui-icon-contact-filled:before +{ + content: '\e130'; +} + +.mui-icon-person-filled:before +{ + content: '\e131'; +} + +.mui-icon-personadd-filled:before +{ + content: '\e132'; +} + +.mui-icon-phone:before +{ + content: '\e200'; +} + +.mui-icon-email:before +{ + content: '\e201'; +} + +.mui-icon-chatbubble:before +{ + content: '\e202'; +} + +.mui-icon-chatboxes:before +{ + content: '\e203'; +} + +.mui-icon-phone-filled:before +{ + content: '\e230'; +} + +.mui-icon-email-filled:before +{ + content: '\e231'; +} + +.mui-icon-chatbubble-filled:before +{ + content: '\e232'; +} + +.mui-icon-chatboxes-filled:before +{ + content: '\e233'; +} + +.mui-icon-weibo:before +{ + content: '\e260'; +} + +.mui-icon-weixin:before +{ + content: '\e261'; +} + +.mui-icon-pengyouquan:before +{ + content: '\e262'; +} + +.mui-icon-chat:before +{ + content: '\e263'; +} + +.mui-icon-qq:before +{ + content: '\e264'; +} + +.mui-icon-videocam:before +{ + content: '\e300'; +} + +.mui-icon-camera:before +{ + content: '\e301'; +} + +.mui-icon-mic:before +{ + content: '\e302'; +} + +.mui-icon-location:before +{ + content: '\e303'; +} + +.mui-icon-mic-filled:before, .mui-icon-speech:before +{ + content: '\e332'; +} + +.mui-icon-location-filled:before +{ + content: '\e333'; +} + +.mui-icon-micoff:before +{ + content: '\e360'; +} + +.mui-icon-image:before +{ + content: '\e363'; +} + +.mui-icon-map:before +{ + content: '\e364'; +} + +.mui-icon-compose:before +{ + content: '\e400'; +} + +.mui-icon-trash:before +{ + content: '\e401'; +} + +.mui-icon-upload:before +{ + content: '\e402'; +} + +.mui-icon-download:before +{ + content: '\e403'; +} + +.mui-icon-close:before +{ + content: '\e404'; +} + +.mui-icon-redo:before +{ + content: '\e405'; +} + +.mui-icon-undo:before +{ + content: '\e406'; +} + +.mui-icon-refresh:before +{ + content: '\e407'; +} + +.mui-icon-star:before +{ + content: '\e408'; +} + +.mui-icon-plus:before +{ + content: '\e409'; +} + +.mui-icon-minus:before +{ + content: '\e410'; +} + +.mui-icon-circle:before, .mui-icon-checkbox:before +{ + content: '\e411'; +} + +.mui-icon-close-filled:before, .mui-icon-clear:before +{ + content: '\e434'; +} + +.mui-icon-refresh-filled:before +{ + content: '\e437'; +} + +.mui-icon-star-filled:before +{ + content: '\e438'; +} + +.mui-icon-plus-filled:before +{ + content: '\e439'; +} + +.mui-icon-minus-filled:before +{ + content: '\e440'; +} + +.mui-icon-circle-filled:before +{ + content: '\e441'; +} + +.mui-icon-checkbox-filled:before +{ + content: '\e442'; +} + +.mui-icon-closeempty:before +{ + content: '\e460'; +} + +.mui-icon-refreshempty:before +{ + content: '\e461'; +} + +.mui-icon-reload:before +{ + content: '\e462'; +} + +.mui-icon-starhalf:before +{ + content: '\e463'; +} + +.mui-icon-spinner:before +{ + content: '\e464'; +} + +.mui-icon-spinner-cycle:before +{ + content: '\e465'; +} + +.mui-icon-search:before +{ + content: '\e466'; +} + +.mui-icon-plusempty:before +{ + content: '\e468'; +} + +.mui-icon-forward:before +{ + content: '\e470'; +} + +.mui-icon-back:before, .mui-icon-left-nav:before +{ + content: '\e471'; +} + +.mui-icon-checkmarkempty:before +{ + content: '\e472'; +} + +.mui-icon-home:before +{ + content: '\e500'; +} + +.mui-icon-navigate:before +{ + content: '\e501'; +} + +.mui-icon-gear:before +{ + content: '\e502'; +} + +.mui-icon-paperplane:before +{ + content: '\e503'; +} + +.mui-icon-info:before +{ + content: '\e504'; +} + +.mui-icon-help:before +{ + content: '\e505'; +} + +.mui-icon-locked:before +{ + content: '\e506'; +} + +.mui-icon-more:before +{ + content: '\e507'; +} + +.mui-icon-flag:before +{ + content: '\e508'; +} + +.mui-icon-home-filled:before +{ + content: '\e530'; +} + +.mui-icon-gear-filled:before +{ + content: '\e532'; +} + +.mui-icon-info-filled:before +{ + content: '\e534'; +} + +.mui-icon-help-filled:before +{ + content: '\e535'; +} + +.mui-icon-more-filled:before +{ + content: '\e537'; +} + +.mui-icon-settings:before +{ + content: '\e560'; +} + +.mui-icon-list:before +{ + content: '\e562'; +} + +.mui-icon-bars:before +{ + content: '\e563'; +} + +.mui-icon-loop:before +{ + content: '\e565'; +} + +.mui-icon-paperclip:before +{ + content: '\e567'; +} + +.mui-icon-eye:before +{ + content: '\e568'; +} + +.mui-icon-arrowup:before +{ + content: '\e580'; +} + +.mui-icon-arrowdown:before +{ + content: '\e581'; +} + +.mui-icon-arrowleft:before +{ + content: '\e582'; +} + +.mui-icon-arrowright:before +{ + content: '\e583'; +} + +.mui-icon-arrowthinup:before +{ + content: '\e584'; +} + +.mui-icon-arrowthindown:before +{ + content: '\e585'; +} + +.mui-icon-arrowthinleft:before +{ + content: '\e586'; +} + +.mui-icon-arrowthinright:before +{ + content: '\e587'; +} + +.mui-icon-pulldown:before +{ + content: '\e588'; +} + +.mui-fullscreen +{ + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; +} +.mui-fullscreen.mui-slider .mui-slider-group +{ + height: 100%; +} +.mui-fullscreen .mui-segmented-control ~ .mui-slider-group +{ + position: absolute; + top: 40px; + bottom: 0; + + width: 100%; + height: auto; +} +.mui-fullscreen.mui-slider .mui-slider-item > a +{ + top: 50%; + + -webkit-transform: translateY(-50%); + transform: translateY(-50%); +} +.mui-fullscreen .mui-off-canvas-wrap .mui-slider-item > a +{ + top: auto; + + -webkit-transform: none; + transform: none; +} + +.mui-bar-nav ~ .mui-content .mui-slider.mui-fullscreen +{ + top: 44px; +} + +.mui-bar-tab ~ .mui-content .mui-slider.mui-fullscreen .mui-segmented-control ~ .mui-slider-group +{ + bottom: 50px; +} + +.mui-android.mui-android-4-0 input:focus, +.mui-android.mui-android-4-0 textarea:focus +{ + -webkit-user-modify: inherit; +} + +.mui-android.mui-android-4-2 input, +.mui-android.mui-android-4-2 textarea, .mui-android.mui-android-4-3 input, +.mui-android.mui-android-4-3 textarea +{ + -webkit-user-select: text; +} + +.mui-ios .mui-table-view-cell +{ + -webkit-transform-style: preserve-3d; + transform-style: preserve-3d; +} + +.mui-plus-visible, .mui-wechat-visible +{ + display: none !important; +} + +.mui-plus-hidden, .mui-wechat-hidden +{ + display: block !important; +} + +.mui-tab-item.mui-plus-hidden, .mui-tab-item.mui-wechat-hidden +{ + display: table-cell !important; +} + +.mui-plus .mui-plus-visible, .mui-wechat .mui-wechat-visible +{ + display: block !important; +} + +.mui-plus .mui-tab-item.mui-plus-visible, .mui-wechat .mui-tab-item.mui-wechat-visible +{ + display: table-cell !important; +} + +.mui-plus .mui-plus-hidden, .mui-wechat .mui-wechat-hidden +{ + display: none !important; +} + +.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-nav +{ + height: 64px; + padding-top: 20px; +} +.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-nav ~ .mui-content +{ + padding-top: 64px; +} +.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-nav ~ .mui-content .mui-pull-top-pocket +{ + top: 64px; +} +.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-header-secondary +{ + top: 64px; +} +.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-header-secondary ~ .mui-content +{ + padding-top: 94px; +} + +.mui-iframe-wrapper +{ + position: absolute; + right: 0; + left: 0; + + -webkit-overflow-scrolling: touch; +} +.mui-iframe-wrapper iframe +{ + width: 100%; + height: 100%; + + border: 0; +} diff --git a/codes/news_recsys/news_rec_web/Vue-newsinfo/src/lib/mui/css/mui.min.css b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/lib/mui/css/mui.min.css new file mode 100644 index 00000000..7b0e1704 --- /dev/null +++ b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/lib/mui/css/mui.min.css @@ -0,0 +1,5 @@ +/*! + * ===================================================== + * Mui v3.7.2 (http://dev.dcloud.net.cn/mui) + * ===================================================== + *//*! normalize.css v3.0.1 | MIT License | git.io/normalize */html{font-family:sans-serif;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{font:inherit;margin:0;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}button[disabled],html input[disabled]{cursor:default}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{margin:0 2px;padding:.35em .625em .75em;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}*{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;outline:0;-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent}body{font-family:'Helvetica Neue',Helvetica,sans-serif;font-size:17px;line-height:21px;color:#000;background-color:#efeff4;-webkit-overflow-scrolling:touch}a{text-decoration:none;color:#007aff}a:active{color:#0062cc}.mui-content{background-color:#efeff4;-webkit-overflow-scrolling:touch}.mui-bar-nav~.mui-content{padding-top:44px}.mui-bar-nav~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{top:44px}.mui-bar-header-secondary~.mui-content{padding-top:88px}.mui-bar-header-secondary~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{top:88px}.mui-bar-footer~.mui-content{padding-bottom:44px}.mui-bar-footer~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{bottom:44px}.mui-bar-footer-secondary~.mui-content{padding-bottom:88px}.mui-bar-footer-secondary~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{bottom:88px}.mui-bar-tab~.mui-content{padding-bottom:50px}.mui-bar-tab~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{bottom:50px}.mui-bar-footer-secondary-tab~.mui-content{padding-bottom:94px}.mui-bar-footer-secondary-tab~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{bottom:94px}.mui-content-padded{margin:10px}.mui-inline{display:inline-block;vertical-align:top}.mui-block{display:block!important}.mui-visibility{visibility:visible!important}.mui-hidden{display:none!important}.mui-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mui-ellipsis-2{display:-webkit-box;overflow:hidden;white-space:normal!important;text-overflow:ellipsis;word-wrap:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical}.mui-table{display:table;width:100%;table-layout:fixed}.mui-table-cell{position:relative;display:table-cell}.mui-text-left{text-align:left!important}.mui-text-center{text-align:center!important}.mui-text-justify{text-align:justify!important}.mui-text-right{text-align:right!important}.mui-pull-left{float:left}.mui-pull-right{float:right}.mui-list-unstyled{padding-left:0;list-style:none}.mui-list-inline{margin-left:-5px;padding-left:0;list-style:none}.mui-list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}.mui-clearfix:after,.mui-clearfix:before{display:table;content:' '}.mui-clearfix:after{clear:both}.mui-bg-primary{background-color:#007aff}.mui-bg-positive{background-color:#4cd964}.mui-bg-negative{background-color:#dd524d}.mui-error{margin:88px 35px;padding:10px;border-radius:6px;background-color:#bbb}.mui-subtitle{font-size:15px}h1,h2,h3,h4,h5,h6{line-height:1;margin-top:5px;margin-bottom:5px}.mui-h1,h1{font-size:36px}.mui-h2,h2{font-size:30px}.mui-h3,h3{font-size:24px}.mui-h4,h4{font-size:18px}.mui-h5,h5{font-size:14px;font-weight:400;color:#8f8f94}.mui-h6,h6{font-size:12px;font-weight:400;color:#8f8f94}p{font-size:14px;margin-top:0;margin-bottom:10px;color:#8f8f94}.mui-row:after,.mui-row:before{display:table;content:' '}.mui-row:after{clear:both}.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9,.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{position:relative;min-height:1px}.mui-row>[class*=mui-col-]{float:left}.mui-col-xs-12{width:100%}.mui-col-xs-11{width:91.66666667%}.mui-col-xs-10{width:83.33333333%}.mui-col-xs-9{width:75%}.mui-col-xs-8{width:66.66666667%}.mui-col-xs-7{width:58.33333333%}.mui-col-xs-6{width:50%}.mui-col-xs-5{width:41.66666667%}.mui-col-xs-4{width:33.33333333%}.mui-col-xs-3{width:25%}.mui-col-xs-2{width:16.66666667%}.mui-col-xs-1{width:8.33333333%}@media (min-width:400px){.mui-col-sm-12{width:100%}.mui-col-sm-11{width:91.66666667%}.mui-col-sm-10{width:83.33333333%}.mui-col-sm-9{width:75%}.mui-col-sm-8{width:66.66666667%}.mui-col-sm-7{width:58.33333333%}.mui-col-sm-6{width:50%}.mui-col-sm-5{width:41.66666667%}.mui-col-sm-4{width:33.33333333%}.mui-col-sm-3{width:25%}.mui-col-sm-2{width:16.66666667%}.mui-col-sm-1{width:8.33333333%}}.mui-scroll-wrapper{position:absolute;z-index:2;top:0;bottom:0;left:0;overflow:hidden;width:100%}.mui-scroll{position:absolute;z-index:1;width:100%}.mui-scrollbar{position:absolute;z-index:9998;overflow:hidden;-webkit-transition:500ms;transition:500ms;transform:translateZ(0px);pointer-events:none;opacity:0}.mui-scrollbar-vertical{top:0;right:1px;bottom:2px;width:4px}.mui-scrollbar-vertical .mui-scrollbar-indicator{width:100%}.mui-scrollbar-horizontal{right:2px;bottom:0;left:2px;height:4px}.mui-scrollbar-horizontal .mui-scrollbar-indicator{height:100%}.mui-scrollbar-indicator{position:absolute;display:block;box-sizing:border-box;-webkit-transition:.01s cubic-bezier(.1,.57,.1,1);transition:.01s cubic-bezier(.1,.57,.1,1);transform:translate(0px,0) translateZ(0px);border:1px solid rgba(255,255,255,.80196);border-radius:2px;background:rgba(0,0,0,.39804)}.mui-plus-pullrefresh .mui-fullscreen .mui-scroll-wrapper .mui-scroll-wrapper,.mui-plus-pullrefresh .mui-fullscreen .mui-slider-group .mui-scroll-wrapper{position:absolute;top:0;bottom:0;left:0;overflow:hidden;width:100%}.mui-plus-pullrefresh .mui-fullscreen .mui-scroll-wrapper .mui-scroll,.mui-plus-pullrefresh .mui-fullscreen .mui-slider-group .mui-scroll{position:absolute;width:100%}.mui-plus-pullrefresh .mui-scroll-wrapper,.mui-plus-pullrefresh .mui-slider-group{position:static;top:auto;bottom:auto;left:auto;overflow:auto;width:auto}.mui-plus-pullrefresh .mui-slider-group{overflow:visible}.mui-plus-pullrefresh .mui-scroll{position:static;width:auto}.mui-off-canvas-wrap .mui-bar{position:absolute!important;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-box-shadow:none;box-shadow:none}.mui-off-canvas-wrap{position:relative;z-index:1;overflow:hidden;width:100%;height:100%}.mui-off-canvas-wrap .mui-inner-wrap{position:relative;z-index:1;width:100%;height:100%}.mui-off-canvas-wrap .mui-inner-wrap.mui-transitioning{-webkit-transition:-webkit-transform 350ms;transition:transform 350ms cubic-bezier(.165,.84,.44,1)}.mui-off-canvas-wrap .mui-inner-wrap .mui-off-canvas-left{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.mui-off-canvas-wrap .mui-inner-wrap .mui-off-canvas-right{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.mui-off-canvas-wrap.mui-active{overflow:hidden;height:100%}.mui-off-canvas-wrap.mui-active .mui-off-canvas-backdrop{position:absolute;z-index:998;top:0;right:0;bottom:0;left:0;display:block;transition:background 350ms cubic-bezier(.165,.84,.44,1);background:rgba(0,0,0,.4);box-shadow:-4px 0 4px rgba(0,0,0,.5),4px 0 4px rgba(0,0,0,.5);-webkit-tap-highlight-color:transparent}.mui-off-canvas-wrap.mui-slide-in .mui-off-canvas-right{z-index:10000!important;-webkit-transform:translate3d(100%,0,0)}.mui-off-canvas-wrap.mui-slide-in .mui-off-canvas-left{z-index:10000!important;-webkit-transform:translate3d(-100%,0,0)}.mui-off-canvas-left,.mui-off-canvas-right{position:absolute;z-index:-1;top:0;bottom:0;visibility:hidden;box-sizing:content-box;width:70%;min-height:100%;background:#333;-webkit-overflow-scrolling:touch}.mui-off-canvas-left.mui-transitioning,.mui-off-canvas-right.mui-transitioning{-webkit-transition:-webkit-transform 350ms cubic-bezier(.165,.84,.44,1);transition:transform 350ms cubic-bezier(.165,.84,.44,1)}.mui-off-canvas-left{left:0}.mui-off-canvas-right{right:0}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable{background-color:#333}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-left,.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-right{width:80%;-webkit-transform:scale(.8);transform:scale(.8);opacity:.1}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-left.mui-transitioning,.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-right.mui-transitioning{-webkit-transition:-webkit-transform 350ms cubic-bezier(.165,.84,.44,1),opacity 350ms cubic-bezier(.165,.84,.44,1);transition:transform 350ms cubic-bezier(.165,.84,.44,1),opacity 350ms cubic-bezier(.165,.84,.44,1)}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-left{-webkit-transform-origin:-100%;transform-origin:-100%}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-right{-webkit-transform-origin:200%;transform-origin:200%}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable.mui-active>.mui-inner-wrap{-webkit-transform:scale(.8);transform:scale(.8)}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable.mui-active>.mui-off-canvas-left,.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable.mui-active>.mui-off-canvas-right{-webkit-transform:scale(1);transform:scale(1);opacity:1}.mui-loading .mui-spinner{display:block;margin:0 auto}.mui-spinner{display:inline-block;width:24px;height:24px;-webkit-transform-origin:50%;transform-origin:50%;-webkit-animation:spinner-spin 1s step-end infinite;animation:spinner-spin 1s step-end infinite}.mui-spinner:after{display:block;width:100%;height:100%;content:'';background-image:url('data:image/svg+xml;charset=utf-8,');background-repeat:no-repeat;background-position:50%;background-size:100%}.mui-spinner-white:after{background-image:url('data:image/svg+xml;charset=utf-8,')}@-webkit-keyframes spinner-spin{0%{-webkit-transform:rotate(0deg)}8.33333333%{-webkit-transform:rotate(30deg)}16.66666667%{-webkit-transform:rotate(60deg)}25%{-webkit-transform:rotate(90deg)}33.33333333%{-webkit-transform:rotate(120deg)}41.66666667%{-webkit-transform:rotate(150deg)}50%{-webkit-transform:rotate(180deg)}58.33333333%{-webkit-transform:rotate(210deg)}66.66666667%{-webkit-transform:rotate(240deg)}75%{-webkit-transform:rotate(270deg)}83.33333333%{-webkit-transform:rotate(300deg)}91.66666667%{-webkit-transform:rotate(330deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes spinner-spin{0%{transform:rotate(0deg)}8.33333333%{transform:rotate(30deg)}16.66666667%{transform:rotate(60deg)}25%{transform:rotate(90deg)}33.33333333%{transform:rotate(120deg)}41.66666667%{transform:rotate(150deg)}50%{transform:rotate(180deg)}58.33333333%{transform:rotate(210deg)}66.66666667%{transform:rotate(240deg)}75%{transform:rotate(270deg)}83.33333333%{transform:rotate(300deg)}91.66666667%{transform:rotate(330deg)}100%{transform:rotate(360deg)}}.mui-btn,button,input[type=button],input[type=reset],input[type=submit]{font-size:14px;font-weight:400;line-height:1.42;position:relative;display:inline-block;margin-bottom:0;padding:6px 12px;cursor:pointer;-webkit-transition:all;transition:all;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transition-duration:.2s;transition-duration:.2s;text-align:center;vertical-align:top;white-space:nowrap;color:#333;border:1px solid #ccc;border-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;background-color:#fff;background-clip:padding-box}.mui-btn.mui-active:enabled,.mui-btn:enabled:active,button.mui-active:enabled,button:enabled:active,input[type=button].mui-active:enabled,input[type=button]:enabled:active,input[type=reset].mui-active:enabled,input[type=reset]:enabled:active,input[type=submit].mui-active:enabled,input[type=submit]:enabled:active{color:#fff;background-color:#929292}.mui-btn.mui-disabled,.mui-btn:disabled,button.mui-disabled,button:disabled,input[type=button].mui-disabled,input[type=button]:disabled,input[type=reset].mui-disabled,input[type=reset]:disabled,input[type=submit].mui-disabled,input[type=submit]:disabled{opacity:.6}.mui-btn-blue,.mui-btn-primary,input[type=submit]{color:#fff;border:1px solid #007aff;background-color:#007aff}.mui-btn-blue.mui-active:enabled,.mui-btn-blue:enabled:active,.mui-btn-primary.mui-active:enabled,.mui-btn-primary:enabled:active,input[type=submit].mui-active:enabled,input[type=submit]:enabled:active{color:#fff;border:1px solid #0062cc;background-color:#0062cc}.mui-btn-green,.mui-btn-positive,.mui-btn-success{color:#fff;border:1px solid #4cd964;background-color:#4cd964}.mui-btn-green.mui-active:enabled,.mui-btn-green:enabled:active,.mui-btn-positive.mui-active:enabled,.mui-btn-positive:enabled:active,.mui-btn-success.mui-active:enabled,.mui-btn-success:enabled:active{color:#fff;border:1px solid #2ac845;background-color:#2ac845}.mui-btn-warning,.mui-btn-yellow{color:#fff;border:1px solid #f0ad4e;background-color:#f0ad4e}.mui-btn-warning.mui-active:enabled,.mui-btn-warning:enabled:active,.mui-btn-yellow.mui-active:enabled,.mui-btn-yellow:enabled:active{color:#fff;border:1px solid #ec971f;background-color:#ec971f}.mui-btn-danger,.mui-btn-negative,.mui-btn-red{color:#fff;border:1px solid #dd524d;background-color:#dd524d}.mui-btn-danger.mui-active:enabled,.mui-btn-danger:enabled:active,.mui-btn-negative.mui-active:enabled,.mui-btn-negative:enabled:active,.mui-btn-red.mui-active:enabled,.mui-btn-red:enabled:active{color:#fff;border:1px solid #cf2d28;background-color:#cf2d28}.mui-btn-purple,.mui-btn-royal{color:#fff;border:1px solid #8a6de9;background-color:#8a6de9}.mui-btn-purple.mui-active:enabled,.mui-btn-purple:enabled:active,.mui-btn-royal.mui-active:enabled,.mui-btn-royal:enabled:active{color:#fff;border:1px solid #6641e2;background-color:#6641e2}.mui-btn-grey{color:#fff;border:1px solid #c7c7cc;background-color:#c7c7cc}.mui-btn-grey.mui-active:enabled,.mui-btn-grey:enabled:active{color:#fff;border:1px solid #acacb4;background-color:#acacb4}.mui-btn-outlined{background-color:transparent}.mui-btn-outlined.mui-btn-blue,.mui-btn-outlined.mui-btn-primary{color:#007aff}.mui-btn-outlined.mui-btn-green,.mui-btn-outlined.mui-btn-positive,.mui-btn-outlined.mui-btn-success{color:#4cd964}.mui-btn-outlined.mui-btn-warning,.mui-btn-outlined.mui-btn-yellow{color:#f0ad4e}.mui-btn-outlined.mui-btn-danger,.mui-btn-outlined.mui-btn-negative,.mui-btn-outlined.mui-btn-red{color:#dd524d}.mui-btn-outlined.mui-btn-purple,.mui-btn-outlined.mui-btn-royal{color:#8a6de9}.mui-btn-outlined.mui-btn-blue:enabled:active,.mui-btn-outlined.mui-btn-danger:enabled:active,.mui-btn-outlined.mui-btn-green:enabled:active,.mui-btn-outlined.mui-btn-negative:enabled:active,.mui-btn-outlined.mui-btn-positive:enabled:active,.mui-btn-outlined.mui-btn-primary:enabled:active,.mui-btn-outlined.mui-btn-purple:enabled:active,.mui-btn-outlined.mui-btn-red:enabled:active,.mui-btn-outlined.mui-btn-royal:enabled:active,.mui-btn-outlined.mui-btn-success:enabled:active,.mui-btn-outlined.mui-btn-warning:enabled:active,.mui-btn-outlined.mui-btn-yellow:enabled:active{color:#fff}.mui-btn-link{padding-top:6px;padding-bottom:6px;color:#007aff;border:0;background-color:transparent}.mui-btn-link.mui-active:enabled,.mui-btn-link:enabled:active{color:#0062cc;background-color:transparent}.mui-btn-block{font-size:18px;display:block;width:100%;margin-bottom:10px;padding:15px 0}.mui-btn .mui-badge{font-size:14px;margin:-2px -4px -2px 4px;background-color:rgba(0,0,0,.15)}.mui-btn .mui-badge-inverted,.mui-btn:enabled:active .mui-badge-inverted{background-color:transparent}.mui-btn-negative:enabled:active .mui-badge-inverted,.mui-btn-positive:enabled:active .mui-badge-inverted,.mui-btn-primary:enabled:active .mui-badge-inverted{color:#fff}.mui-btn-block .mui-badge{position:absolute;right:0;margin-right:10px}.mui-btn .mui-icon{font-size:inherit}.mui-btn.mui-icon{font-size:14px;line-height:1.42}.mui-btn.mui-fab{width:56px;height:56px;padding:16px;border-radius:50%;outline:0}.mui-btn.mui-fab.mui-btn-mini{width:40px;height:40px;padding:8px}.mui-btn.mui-fab .mui-icon{font-size:24px;line-height:24px;width:24px;height:24px}.mui-btn .mui-spinner{width:14px;height:14px;vertical-align:text-bottom}.mui-btn-block .mui-spinner{width:22px;height:22px}.mui-bar{position:fixed;z-index:10;right:0;left:0;height:44px;padding-right:10px;padding-left:10px;border-bottom:0;background-color:#f7f7f7;-webkit-box-shadow:0 0 1px rgba(0,0,0,.85);box-shadow:0 0 1px rgba(0,0,0,.85);-webkit-backface-visibility:hidden;backface-visibility:hidden}.mui-bar .mui-title{right:40px;left:40px;display:inline-block;overflow:hidden;width:auto;margin:0;text-overflow:ellipsis}.mui-bar .mui-backdrop{background:0 0}.mui-bar-header-secondary{top:44px}.mui-bar-footer{bottom:0}.mui-bar-footer-secondary{bottom:44px}.mui-bar-footer-secondary-tab{bottom:50px}.mui-bar-footer,.mui-bar-footer-secondary,.mui-bar-footer-secondary-tab{border-top:0}.mui-bar-transparent{top:0;background-color:rgba(247,247,247,0);-webkit-box-shadow:none;box-shadow:none}.mui-bar-nav{top:0;-webkit-box-shadow:0 1px 6px #ccc;box-shadow:0 1px 6px #ccc}.mui-bar-nav~.mui-content .mui-anchor{display:block;visibility:hidden;height:45px;margin-top:-45px}.mui-bar-nav.mui-bar .mui-icon{margin-right:-10px;margin-left:-10px;padding-right:10px;padding-left:10px}.mui-title{font-size:17px;font-weight:500;line-height:44px;position:absolute;display:block;width:100%;margin:0 -10px;padding:0;text-align:center;white-space:nowrap;color:#000}.mui-title a{color:inherit}.mui-bar-tab{bottom:0;display:table;width:100%;height:50px;padding:0;table-layout:fixed;border-top:0;border-bottom:0;-webkit-touch-callout:none}.mui-bar-tab .mui-tab-item{display:table-cell;overflow:hidden;width:1%;height:50px;text-align:center;vertical-align:middle;white-space:nowrap;text-overflow:ellipsis;color:#929292}.mui-bar-tab .mui-tab-item.mui-active{color:#007aff}.mui-bar-tab .mui-tab-item .mui-icon{top:3px;width:24px;height:24px;padding-top:0;padding-bottom:0}.mui-bar-tab .mui-tab-item .mui-icon~.mui-tab-label{font-size:11px;display:block;overflow:hidden;text-overflow:ellipsis}.mui-bar-tab .mui-tab-item .mui-icon:active{background:0 0}.mui-focusin>.mui-bar-header-secondary,.mui-focusin>.mui-bar-nav{position:absolute}.mui-focusin>.mui-bar~.mui-content{padding-bottom:0}.mui-bar .mui-btn{font-weight:400;position:relative;z-index:20;top:7px;margin-top:0;padding:6px 12px 7px}.mui-bar .mui-btn.mui-pull-right{margin-left:10px}.mui-bar .mui-btn.mui-pull-left{margin-right:10px}.mui-bar .mui-btn-link{font-size:16px;line-height:44px;top:0;padding:0;color:#007aff;border:0}.mui-bar .mui-btn-link.mui-active,.mui-bar .mui-btn-link:active{color:#0062cc}.mui-bar .mui-btn-block{font-size:16px;top:6px;margin-bottom:0;padding:5px 0}.mui-bar .mui-btn-nav.mui-pull-left{margin-left:-5px}.mui-bar .mui-btn-nav.mui-pull-left .mui-icon-left-nav{margin-right:-3px}.mui-bar .mui-btn-nav.mui-pull-right{margin-right:-5px}.mui-bar .mui-btn-nav.mui-pull-right .mui-icon-right-nav{margin-left:-3px}.mui-bar .mui-btn-nav:active{opacity:.3}.mui-bar .mui-icon{font-size:24px;position:relative;z-index:20;padding-top:10px;padding-bottom:10px}.mui-bar .mui-icon:active{opacity:.3}.mui-bar .mui-btn .mui-icon{top:1px;margin:0;padding:0}.mui-bar .mui-title .mui-icon{margin:0;padding:0}.mui-bar .mui-title .mui-icon.mui-icon-caret{top:4px;margin-left:-5px}.mui-bar input[type=search]{height:29px;margin:6px 0}.mui-bar .mui-input-row .mui-btn{padding:12px 10px}.mui-bar .mui-search:before{margin-top:-10px}.mui-bar .mui-input-row .mui-input-clear~.mui-icon-clear,.mui-bar .mui-input-row .mui-input-speech~.mui-icon-speech{top:0;right:12px}.mui-bar.mui-bar-header-secondary .mui-input-row .mui-input-clear~.mui-icon-clear,.mui-bar.mui-bar-header-secondary .mui-input-row .mui-input-speech~.mui-icon-speech{top:0;right:0}.mui-bar .mui-segmented-control{top:7px;width:auto;margin:0 auto}.mui-bar.mui-bar-header-secondary .mui-segmented-control{top:0}.mui-badge{font-size:12px;line-height:1;display:inline-block;padding:3px 6px;color:#333;border-radius:100px;background-color:rgba(0,0,0,.15)}.mui-badge.mui-badge-inverted{padding:0 5px 0 0;color:#929292;background-color:transparent}.mui-badge-blue,.mui-badge-primary{color:#fff;background-color:#007aff}.mui-badge-blue.mui-badge-inverted,.mui-badge-primary.mui-badge-inverted{color:#007aff;background-color:transparent}.mui-badge-green,.mui-badge-success{color:#fff;background-color:#4cd964}.mui-badge-green.mui-badge-inverted,.mui-badge-success.mui-badge-inverted{color:#4cd964;background-color:transparent}.mui-badge-warning,.mui-badge-yellow{color:#fff;background-color:#f0ad4e}.mui-badge-warning.mui-badge-inverted,.mui-badge-yellow.mui-badge-inverted{color:#f0ad4e;background-color:transparent}.mui-badge-danger,.mui-badge-red{color:#fff;background-color:#dd524d}.mui-badge-danger.mui-badge-inverted,.mui-badge-red.mui-badge-inverted{color:#dd524d;background-color:transparent}.mui-badge-purple,.mui-badge-royal{color:#fff;background-color:#8a6de9}.mui-badge-purple.mui-badge-inverted,.mui-badge-royal.mui-badge-inverted{color:#8a6de9;background-color:transparent}.mui-icon .mui-badge{font-size:10px;line-height:1.4;position:absolute;top:-2px;left:100%;margin-left:-10px;padding:1px 5px;color:#fff;background:red}.mui-card{font-size:14px;position:relative;overflow:hidden;margin:10px;border-radius:2px;background-color:#fff;background-clip:padding-box;box-shadow:0 1px 2px rgba(0,0,0,.3)}.mui-content>.mui-card:first-child{margin-top:15px}.mui-card .mui-input-group .mui-input-row:last-child:after,.mui-card .mui-input-group .mui-input-row:last-child:before,.mui-card .mui-input-group:after,.mui-card .mui-input-group:before{height:0}.mui-card .mui-table-view{margin-bottom:0;border-top:0;border-bottom:0;border-radius:6px}.mui-card .mui-table-view .mui-table-view-cell:first-child,.mui-card .mui-table-view .mui-table-view-divider:first-child{top:0;border-top-left-radius:6px;border-top-right-radius:6px}.mui-card .mui-table-view .mui-table-view-cell:last-child,.mui-card .mui-table-view .mui-table-view-divider:last-child{border-bottom-right-radius:6px;border-bottom-left-radius:6px}.mui-card .mui-table-view:after,.mui-card .mui-table-view:before,.mui-card>.mui-table-view>.mui-table-view-cell:last-child:after,.mui-card>.mui-table-view>.mui-table-view-cell:last-child:before{height:0}.mui-card-footer,.mui-card-header{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;min-height:44px;padding:10px 15px;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.mui-card-footer .mui-card-link,.mui-card-header .mui-card-link{line-height:44px;position:relative;display:-webkit-box;display:-webkit-flex;display:flex;height:44px;margin-top:-10px;margin-bottom:-10px;-webkit-transition-duration:.3s;transition-duration:.3s;text-decoration:none;-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.mui-card-footer:before,.mui-card-header:after{position:absolute;top:0;right:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-card-header{font-size:17px;border-radius:2px 2px 0 0}.mui-card-header:after{top:auto;bottom:0}.mui-card-header>img:first-child{font-size:0;line-height:0;float:left;width:34px;height:34px}.mui-card-footer{color:#6d6d72;border-radius:0 0 2px 2px}.mui-card-content{font-size:14px;position:relative}.mui-card-content-inner{position:relative;padding:15px}.mui-card-media{vertical-align:bottom;color:#fff;background-position:center;background-size:cover}.mui-card-header.mui-card-media{display:block;padding:10px}.mui-card-header.mui-card-media .mui-media-body{font-size:14px;font-weight:500;line-height:17px;margin-bottom:0;margin-left:44px;color:#333}.mui-card-header.mui-card-media .mui-media-body p{font-size:13px;margin-bottom:0}.mui-table-view{position:relative;margin-top:0;margin-bottom:0;padding-left:0;list-style:none;background-color:#fff}.mui-table-view:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view:before{position:absolute;right:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc;top:-1px}.mui-table-view-icon .mui-table-view-cell .mui-navigate-right .mui-icon{font-size:20px;margin-top:-1px;margin-right:5px;margin-left:-5px}.mui-table-view-icon .mui-table-view-cell:after{left:40px}.mui-table-view-chevron .mui-table-view-cell{padding-right:65px}.mui-table-view-chevron .mui-table-view-cell>a:not(.mui-btn){margin-right:-65px}.mui-table-view-radio .mui-table-view-cell{padding-right:65px}.mui-table-view-radio .mui-table-view-cell>a:not(.mui-btn){margin-right:-65px}.mui-table-view-radio .mui-table-view-cell .mui-navigate-right:after{font-size:30px;font-weight:600;right:9px;content:'';color:#007aff}.mui-table-view-radio .mui-table-view-cell.mui-selected .mui-navigate-right:after{content:'\e472'}.mui-table-view-inverted{color:#fff;background:#333}.mui-table-view-inverted:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#222}.mui-table-view-inverted:before{position:absolute;top:0;right:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#222}.mui-table-view-inverted .mui-table-view-cell:after{position:absolute;right:0;bottom:0;left:15px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#222}.mui-table-view-inverted .mui-table-view-cell.mui-active,.mui-table-view-inverted .mui-table-view-cell>a:not(.mui-btn).mui-active{background-color:#242424}.mui-table-view-cell{position:relative;overflow:hidden;padding:11px 15px;-webkit-touch-callout:none}.mui-table-view-cell:after{position:absolute;right:0;bottom:0;left:15px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view-cell.mui-checkbox input[type=checkbox],.mui-table-view-cell.mui-radio input[type=radio]{top:8px}.mui-table-view-cell.mui-checkbox.mui-left,.mui-table-view-cell.mui-radio.mui-left{padding-left:58px}.mui-table-view-cell.mui-active{background-color:#eee}.mui-table-view-cell:last-child:after,.mui-table-view-cell:last-child:before{height:0}.mui-table-view-cell>a:not(.mui-btn){position:relative;display:block;overflow:hidden;margin:-11px -15px;padding:inherit;white-space:nowrap;text-overflow:ellipsis;color:inherit}.mui-table-view-cell>a:not(.mui-btn).mui-active{background-color:#eee}.mui-table-view-cell p{margin-bottom:0}.mui-table-view-cell.mui-transitioning>.mui-slider-handle,.mui-table-view-cell.mui-transitioning>.mui-slider-left .mui-btn,.mui-table-view-cell.mui-transitioning>.mui-slider-right .mui-btn{-webkit-transition:-webkit-transform 300ms ease;transition:transform 300ms ease}.mui-table-view-cell.mui-active>.mui-slider-handle{background-color:#eee}.mui-table-view-cell>.mui-slider-handle{position:relative;background-color:#fff}.mui-table-view-cell>.mui-slider-handle .mui-navigate-right:after,.mui-table-view-cell>.mui-slider-handle.mui-navigate-right:after{right:0}.mui-table-view-cell>.mui-slider-handle,.mui-table-view-cell>.mui-slider-left .mui-btn,.mui-table-view-cell>.mui-slider-right .mui-btn{-webkit-transition:-webkit-transform 0ms ease;transition:transform 0ms ease}.mui-table-view-cell>.mui-slider-left,.mui-table-view-cell>.mui-slider-right{position:absolute;top:0;display:-webkit-box;display:-webkit-flex;display:flex;height:100%}.mui-table-view-cell>.mui-slider-left>.mui-btn,.mui-table-view-cell>.mui-slider-right>.mui-btn{position:relative;left:0;display:-webkit-box;display:-webkit-flex;display:flex;padding:0 30px;color:#fff;border:0;border-radius:0;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.mui-table-view-cell>.mui-slider-left>.mui-btn:after,.mui-table-view-cell>.mui-slider-right>.mui-btn:after{position:absolute;z-index:-1;top:0;width:600%;height:100%;content:'';background:inherit}.mui-table-view-cell>.mui-slider-left>.mui-btn.mui-icon,.mui-table-view-cell>.mui-slider-right>.mui-btn.mui-icon{font-size:30px}.mui-table-view-cell>.mui-slider-right{right:0;-webkit-transition:-webkit-transform 0ms ease;transition:transform 0ms ease;-webkit-transform:translateX(100%);transform:translateX(100%)}.mui-table-view-cell>.mui-slider-left{left:0;-webkit-transition:-webkit-transform 0ms ease;transition:transform 0ms ease;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.mui-table-view-cell>.mui-slider-left>.mui-btn:after{right:100%;margin-right:-1px}.mui-table-view-divider{font-weight:500;position:relative;margin-top:-1px;margin-left:0;padding-top:6px;padding-bottom:6px;padding-left:15px;color:#999;background-color:#fafafa}.mui-table-view-divider:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view-divider:before{position:absolute;top:0;right:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view .mui-media,.mui-table-view .mui-media-body{overflow:hidden}.mui-table-view .mui-media-large .mui-media-object{line-height:80px;max-width:80px;height:80px}.mui-table-view .mui-media .mui-subtitle{color:#000}.mui-table-view .mui-media-object{line-height:42px;max-width:42px;height:42px}.mui-table-view .mui-media-object.mui-pull-left{margin-right:10px}.mui-table-view .mui-media-object.mui-pull-right{margin-left:10px}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object{line-height:29px;max-width:29px;height:29px;margin:-4px 0}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object img{line-height:29px;max-width:29px;height:29px}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object.mui-pull-left{margin-right:10px}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object .mui-icon{font-size:29px}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-body:after{position:absolute;right:0;bottom:0;left:55px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view .mui-table-view-cell.mui-media-icon:after{height:0!important}.mui-table-view.mui-unfold .mui-table-view-cell.mui-collapse .mui-table-view{display:block}.mui-table-view.mui-unfold .mui-table-view-cell.mui-collapse .mui-table-view:after,.mui-table-view.mui-unfold .mui-table-view-cell.mui-collapse .mui-table-view:before{height:0!important}.mui-table-view.mui-unfold .mui-table-view-cell.mui-media-icon.mui-collapse .mui-media-body:after{position:absolute;right:0;bottom:0;left:70px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view-cell>.mui-badge,.mui-table-view-cell>.mui-btn,.mui-table-view-cell>.mui-switch,.mui-table-view-cell>a>.mui-badge,.mui-table-view-cell>a>.mui-btn,.mui-table-view-cell>a>.mui-switch{position:absolute;top:50%;right:15px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.mui-table-view-cell .mui-navigate-right>.mui-badge,.mui-table-view-cell .mui-navigate-right>.mui-btn,.mui-table-view-cell .mui-navigate-right>.mui-switch,.mui-table-view-cell .mui-push-left>.mui-badge,.mui-table-view-cell .mui-push-left>.mui-btn,.mui-table-view-cell .mui-push-left>.mui-switch,.mui-table-view-cell .mui-push-right>.mui-badge,.mui-table-view-cell .mui-push-right>.mui-btn,.mui-table-view-cell .mui-push-right>.mui-switch,.mui-table-view-cell>a .mui-navigate-right>.mui-badge,.mui-table-view-cell>a .mui-navigate-right>.mui-btn,.mui-table-view-cell>a .mui-navigate-right>.mui-switch,.mui-table-view-cell>a .mui-push-left>.mui-badge,.mui-table-view-cell>a .mui-push-left>.mui-btn,.mui-table-view-cell>a .mui-push-left>.mui-switch,.mui-table-view-cell>a .mui-push-right>.mui-badge,.mui-table-view-cell>a .mui-push-right>.mui-btn,.mui-table-view-cell>a .mui-push-right>.mui-switch{right:35px}.mui-content>.mui-table-view:first-child{margin-top:15px}.mui-table-view-cell.mui-collapse .mui-table-view .mui-table-view-cell:last-child:after,.mui-table-view-cell.mui-collapse .mui-table-view:after,.mui-table-view-cell.mui-collapse .mui-table-view:before{height:0}.mui-table-view-cell.mui-collapse>.mui-navigate-right:after,.mui-table-view-cell.mui-collapse>.mui-push-right:after{content:'\e581'}.mui-table-view-cell.mui-collapse.mui-active{margin-top:-1px}.mui-table-view-cell.mui-collapse.mui-active .mui-collapse-content,.mui-table-view-cell.mui-collapse.mui-active .mui-table-view{display:block}.mui-table-view-cell.mui-collapse.mui-active>.mui-navigate-right:after,.mui-table-view-cell.mui-collapse.mui-active>.mui-push-right:after{content:'\e580'}.mui-table-view-cell.mui-collapse.mui-active .mui-table-view-cell>a:not(.mui-btn).mui-active{margin-left:-31px;padding-left:47px}.mui-table-view-cell.mui-collapse .mui-collapse-content{position:relative;display:none;overflow:hidden;margin:11px -15px -11px;padding:8px 15px;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease;background:#fff}.mui-table-view-cell.mui-collapse .mui-collapse-content>.mui-input-group,.mui-table-view-cell.mui-collapse .mui-collapse-content>.mui-slider{width:auto;height:auto;margin:-8px -15px}.mui-table-view-cell.mui-collapse .mui-collapse-content>.mui-slider{margin:-8px -16px}.mui-table-view-cell.mui-collapse .mui-table-view{display:none;margin-top:11px;margin-right:-15px;margin-bottom:-11px;margin-left:-15px;border:0}.mui-table-view-cell.mui-collapse .mui-table-view.mui-table-view-chevron{margin-right:-65px}.mui-table-view-cell.mui-collapse .mui-table-view .mui-table-view-cell{padding-left:31px;background-position:31px 100%}.mui-table-view-cell.mui-collapse .mui-table-view .mui-table-view-cell:after{position:absolute;right:0;bottom:0;left:30px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view.mui-grid-view{font-size:0;display:block;width:100%;padding:0 10px 10px 0;white-space:normal}.mui-table-view.mui-grid-view .mui-table-view-cell{font-size:17px;display:inline-block;margin-right:-4px;padding:10px 0 0 14px;text-align:center;vertical-align:middle;background:0 0}.mui-table-view.mui-grid-view .mui-table-view-cell .mui-media-object{width:100%;max-width:100%;height:auto}.mui-table-view.mui-grid-view .mui-table-view-cell>a:not(.mui-btn){margin:-10px 0 0 -14px}.mui-table-view.mui-grid-view .mui-table-view-cell>a:not(.mui-btn).mui-active,.mui-table-view.mui-grid-view .mui-table-view-cell>a:not(.mui-btn):active{background:0 0}.mui-table-view.mui-grid-view .mui-table-view-cell .mui-media-body{font-size:15px;line-height:15px;display:block;width:100%;height:15px;margin-top:8px;text-overflow:ellipsis;color:#333}.mui-table-view.mui-grid-view .mui-table-view-cell:after,.mui-table-view.mui-grid-view .mui-table-view-cell:before{height:0}.mui-grid-view.mui-grid-9{margin:0;padding:0;border-top:1px solid #eee;border-left:1px solid #eee;background-color:#f2f2f2}.mui-grid-view.mui-grid-9:after,.mui-grid-view.mui-grid-9:before{display:table;content:' '}.mui-grid-view.mui-grid-9:after{clear:both;position:static}.mui-grid-view.mui-grid-9 .mui-table-view-cell{margin:0;padding:11px 15px;vertical-align:top;border-right:1px solid #eee;border-bottom:1px solid #eee}.mui-grid-view.mui-grid-9 .mui-table-view-cell.mui-active{background-color:#eee}.mui-grid-view.mui-grid-9 .mui-table-view-cell>a:not(.mui-btn){margin:0;padding:10px 0}.mui-grid-view.mui-grid-9:before{height:0}.mui-grid-view.mui-grid-9 .mui-media{color:#797979}.mui-grid-view.mui-grid-9 .mui-media .mui-icon{font-size:2.4em;position:relative}.mui-slider-cell{position:relative}.mui-slider-cell>.mui-slider-handle{z-index:1}.mui-slider-cell>.mui-slider-left,.mui-slider-cell>.mui-slider-right{position:absolute;z-index:0;top:0;bottom:0}.mui-slider-cell>.mui-slider-left{left:0}.mui-slider-cell>.mui-slider-right{right:0}input,select,textarea{font-family:'Helvetica Neue',Helvetica,sans-serif;font-size:17px;-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent}input:focus,select:focus,textarea:focus{-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent;-webkit-user-modify:read-write-plaintext-only}input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{line-height:21px;width:100%;height:40px;margin-bottom:15px;padding:10px 15px;-webkit-user-select:text;border:1px solid rgba(0,0,0,.2);border-radius:3px;outline:0;background-color:#fff;-webkit-appearance:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}input[type=search]{font-size:16px;-webkit-box-sizing:border-box;box-sizing:border-box;height:34px;text-align:center;border:0;border-radius:6px;background-color:rgba(0,0,0,.1)}input[type=search]:focus{text-align:left}textarea{height:auto;resize:none}select{font-size:14px;height:auto;margin-top:1px;border:0!important;background-color:#fff}select:focus{-webkit-user-modify:read-only}.mui-input-group{position:relative;padding:0;border:0;background-color:#fff}.mui-input-group:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-input-group:before{position:absolute;top:0;right:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-input-group input,.mui-input-group textarea{margin-bottom:0;border:0;border-radius:0;background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.mui-input-group input[type=search]{background:0 0}.mui-input-group input:last-child{background-image:none}.mui-input-row{clear:left;overflow:hidden}.mui-input-row select{font-size:17px;height:37px;padding:0}.mui-input-row .mui-btn+input,.mui-input-row label+input,.mui-input-row:last-child{background:0 0}.mui-input-group .mui-input-row{height:40px}.mui-input-group .mui-input-row:after{position:absolute;right:0;bottom:0;left:15px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-input-row label{font-family:'Helvetica Neue',Helvetica,sans-serif;line-height:1.1;float:left;width:35%;padding:11px 15px}.mui-input-row label~input,.mui-input-row label~select,.mui-input-row label~textarea{float:right;width:65%;margin-bottom:0;padding-left:0;border:0}.mui-input-row .mui-btn{line-height:1.1;float:right;width:15%;padding:10px 15px}.mui-input-row .mui-btn~input,.mui-input-row .mui-btn~select,.mui-input-row .mui-btn~textarea{float:left;width:85%;margin-bottom:0;padding-left:0;border:0}.mui-button-row{position:relative;padding-top:5px;text-align:center}.mui-input-group .mui-button-row{height:45px}.mui-input-row{position:relative}.mui-input-row.mui-input-range{overflow:visible;padding-right:20px}.mui-input-row .mui-inline{padding:8px 0}.mui-input-row .mui-input-clear~.mui-icon-clear,.mui-input-row .mui-input-password~.mui-icon-eye,.mui-input-row .mui-input-speech~.mui-icon-speech{font-size:20px;position:absolute;z-index:1;top:10px;right:0;width:38px;height:38px;text-align:center;color:#999}.mui-input-row .mui-input-clear~.mui-icon-clear.mui-active,.mui-input-row .mui-input-password~.mui-icon-eye.mui-active,.mui-input-row .mui-input-speech~.mui-icon-speech.mui-active{color:#007aff}.mui-input-row .mui-input-speech~.mui-icon-speech{font-size:24px;top:8px}.mui-input-row .mui-input-clear~.mui-icon-clear~.mui-icon-speech{display:none}.mui-input-row .mui-input-clear~.mui-icon-clear.mui-hidden~.mui-icon-speech{display:inline-block}.mui-input-row .mui-icon-speech~.mui-placeholder{right:38px}.mui-input-row.mui-search .mui-icon-clear{top:7px}.mui-input-row.mui-search .mui-icon-speech{top:5px}.mui-checkbox,.mui-radio{position:relative}.mui-checkbox label,.mui-radio label{display:inline-block;float:none;width:100%;padding-right:58px}.mui-checkbox.mui-left input[type=checkbox],.mui-radio.mui-left input[type=radio]{left:20px}.mui-checkbox.mui-left label,.mui-radio.mui-left label{padding-right:15px;padding-left:58px}.mui-checkbox input[type=checkbox],.mui-radio input[type=radio]{position:absolute;top:4px;right:20px;display:inline-block;width:28px;height:26px;border:0;outline:0!important;background-color:transparent;-webkit-appearance:none}.mui-checkbox input[type=checkbox][disabled]:before,.mui-radio input[type=radio][disabled]:before{opacity:.3}.mui-checkbox input[type=checkbox]:before,.mui-radio input[type=radio]:before{font-family:Muiicons;font-size:28px;font-weight:400;line-height:1;text-decoration:none;color:#aaa;border-radius:0;background:0 0;-webkit-font-smoothing:antialiased}.mui-checkbox input[type=checkbox]:checked:before,.mui-radio input[type=radio]:checked:before{color:#007aff}.mui-checkbox label.mui-disabled,.mui-checkbox.mui-disabled label,.mui-radio label.mui-disabled,.mui-radio.mui-disabled label{opacity:.4}.mui-radio input[type=radio]:before{content:'\e411'}.mui-radio input[type=radio]:checked:before{content:'\e441'}.mui-checkbox input[type=checkbox]:before{content:'\e411'}.mui-checkbox input[type=checkbox]:checked:before{content:'\e442'}.mui-select{position:relative}.mui-select:before{font-family:Muiicons;position:absolute;top:8px;right:21px;content:'\e581';color:rgba(170,170,170,.6)}.mui-input-row .mui-switch{float:right;margin-top:5px;margin-right:20px}.mui-input-range input[type=range]{position:relative;width:100%;height:2px;margin:17px 0;padding:0;cursor:pointer;border:0;border-radius:3px;outline:0;background-color:#999;-webkit-appearance:none!important}.mui-input-range input[type=range]::-webkit-slider-thumb{width:28px;height:28px;border-color:#0062cc;border-radius:50%;background-color:#007aff;background-clip:padding-box;-webkit-appearance:none!important}.mui-input-range label~input[type=range]{width:65%}.mui-input-range .mui-tooltip{font-size:36px;line-height:64px;position:absolute;z-index:1;top:-70px;width:64px;height:64px;text-align:center;opacity:.8;color:#333;border:1px solid #ddd;border-radius:6px;background-color:#fff;text-shadow:0 1px 0 #f3f3f3}.mui-search{position:relative}.mui-search input[type=search]{padding-left:30px}.mui-search .mui-placeholder{font-size:16px;line-height:34px;position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;display:inline-block;height:34px;text-align:center;color:#999;border:0;border-radius:6px;background:0 0}.mui-search .mui-placeholder .mui-icon{font-size:20px;color:#333}.mui-search:before{font-family:Muiicons;font-size:20px;font-weight:400;position:absolute;top:50%;right:50%;display:none;margin-top:-18px;margin-right:31px;content:'\e466'}.mui-search.mui-active:before{font-size:20px;right:auto;left:5px;display:block;margin-right:0}.mui-search.mui-active input[type=search]{text-align:left}.mui-search.mui-active .mui-placeholder{display:none}.mui-segmented-control{font-size:15px;font-weight:400;position:relative;display:table;overflow:hidden;width:100%;table-layout:fixed;border:1px solid #007aff;border-radius:3px;background-color:transparent;-webkit-touch-callout:none}.mui-segmented-control.mui-segmented-control-vertical{border-collapse:collapse;border-width:0;border-radius:0}.mui-segmented-control.mui-segmented-control-vertical .mui-control-item{display:block;border-bottom:1px solid #c8c7cc;border-left-width:0}.mui-segmented-control.mui-scroll-wrapper{height:38px}.mui-segmented-control.mui-scroll-wrapper .mui-scroll{width:auto;height:40px;white-space:nowrap}.mui-segmented-control.mui-scroll-wrapper .mui-control-item{display:inline-block;width:auto;padding:0 20px;border:0}.mui-segmented-control .mui-control-item{line-height:38px;display:table-cell;overflow:hidden;width:1%;-webkit-transition:background-color .1s linear;transition:background-color .1s linear;text-align:center;white-space:nowrap;text-overflow:ellipsis;color:#007aff;border-color:#007aff;border-left:1px solid #007aff}.mui-segmented-control .mui-control-item:first-child{border-left-width:0}.mui-segmented-control .mui-control-item.mui-active{color:#fff;background-color:#007aff}.mui-segmented-control.mui-segmented-control-inverted{width:100%;border:0;border-radius:0}.mui-segmented-control.mui-segmented-control-inverted.mui-segmented-control-vertical .mui-control-item,.mui-segmented-control.mui-segmented-control-inverted.mui-segmented-control-vertical .mui-control-item.mui-active{border-bottom:1px solid #c8c7cc}.mui-segmented-control.mui-segmented-control-inverted .mui-control-item{color:inherit;border:0}.mui-segmented-control.mui-segmented-control-inverted .mui-control-item.mui-active{color:#007aff;border-bottom:2px solid #007aff;background:0 0}.mui-segmented-control.mui-segmented-control-inverted~.mui-slider-progress-bar{background-color:#007aff}.mui-segmented-control-positive{border:1px solid #4cd964}.mui-segmented-control-positive .mui-control-item{color:#4cd964;border-color:inherit}.mui-segmented-control-positive .mui-control-item.mui-active{color:#fff;background-color:#4cd964}.mui-segmented-control-positive.mui-segmented-control-inverted .mui-control-item.mui-active{color:#4cd964;border-bottom:2px solid #4cd964;background:0 0}.mui-segmented-control-positive.mui-segmented-control-inverted~.mui-slider-progress-bar{background-color:#4cd964}.mui-segmented-control-negative{border:1px solid #dd524d}.mui-segmented-control-negative .mui-control-item{color:#dd524d;border-color:inherit}.mui-segmented-control-negative .mui-control-item.mui-active{color:#fff;background-color:#dd524d}.mui-segmented-control-negative.mui-segmented-control-inverted .mui-control-item.mui-active{color:#dd524d;border-bottom:2px solid #dd524d;background:0 0}.mui-segmented-control-negative.mui-segmented-control-inverted~.mui-slider-progress-bar{background-color:#dd524d}.mui-control-content{position:relative;display:none}.mui-control-content.mui-active{display:block}.mui-popover{position:absolute;z-index:999;display:none;width:280px;-webkit-transition:opacity .3s;transition:opacity .3s;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transform:none;transform:none;opacity:0;border-radius:7px;background-color:#f7f7f7;-webkit-box-shadow:0 0 15px rgba(0,0,0,.1);box-shadow:0 0 15px rgba(0,0,0,.1)}.mui-popover .mui-popover-arrow{position:absolute;z-index:1000;top:-25px;left:0;overflow:hidden;width:26px;height:26px}.mui-popover .mui-popover-arrow:after{position:absolute;top:19px;left:0;width:26px;height:26px;content:' ';-webkit-transform:rotate(45deg);transform:rotate(45deg);border-radius:3px;background:#f7f7f7}.mui-popover .mui-popover-arrow.mui-bottom{top:100%;left:-26px;margin-top:-1px}.mui-popover .mui-popover-arrow.mui-bottom:after{top:-19px;left:0}.mui-popover.mui-popover-action{bottom:0;width:100%;-webkit-transition:-webkit-transform .3s,opacity .3s;transition:transform .3s,opacity .3s;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);border-radius:0;background:0 0;-webkit-box-shadow:none;box-shadow:none}.mui-popover.mui-popover-action .mui-popover-arrow{display:none}.mui-popover.mui-popover-action.mui-popover-bottom{position:fixed}.mui-popover.mui-popover-action.mui-active{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.mui-popover.mui-popover-action .mui-table-view{margin:8px;text-align:center;color:#007aff;border-radius:4px}.mui-popover.mui-popover-action .mui-table-view .mui-table-view-cell:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-popover.mui-popover-action .mui-table-view small{font-weight:400;line-height:1.3;display:block}.mui-popover.mui-active{display:block;opacity:1}.mui-popover .mui-bar~.mui-table-view{padding-top:44px}.mui-backdrop{position:fixed;z-index:998;top:0;right:0;bottom:0;left:0;background-color:rgba(0,0,0,.3)}.mui-bar-backdrop.mui-backdrop{bottom:50px;background:0 0}.mui-backdrop-action.mui-backdrop{background-color:rgba(0,0,0,.3)}.mui-backdrop-action.mui-backdrop,.mui-bar-backdrop.mui-backdrop{opacity:0}.mui-backdrop-action.mui-backdrop.mui-active,.mui-bar-backdrop.mui-backdrop.mui-active{-webkit-transition:all .4s ease;transition:all .4s ease;opacity:1}.mui-popover .mui-btn-block{margin-bottom:5px}.mui-popover .mui-btn-block:last-child{margin-bottom:0}.mui-popover .mui-bar{-webkit-box-shadow:none;box-shadow:none}.mui-popover .mui-bar-nav{border-bottom:1px solid rgba(0,0,0,.15);border-top-left-radius:12px;border-top-right-radius:12px;-webkit-box-shadow:none;box-shadow:none}.mui-popover .mui-scroll-wrapper{margin:7px 0;border-radius:7px;background-clip:padding-box}.mui-popover .mui-scroll .mui-table-view{max-height:none}.mui-popover .mui-table-view{overflow:auto;max-height:300px;margin-bottom:0;border-radius:7px;background-color:#f7f7f7;background-image:none;-webkit-overflow-scrolling:touch}.mui-popover .mui-table-view:after,.mui-popover .mui-table-view:before{height:0}.mui-popover .mui-table-view .mui-table-view-cell:first-child,.mui-popover .mui-table-view .mui-table-view-cell:first-child>a:not(.mui-btn){border-top-left-radius:12px;border-top-right-radius:12px}.mui-popover .mui-table-view .mui-table-view-cell:last-child,.mui-popover .mui-table-view .mui-table-view-cell:last-child>a:not(.mui-btn){border-bottom-right-radius:12px;border-bottom-left-radius:12px}.mui-popover.mui-bar-popover .mui-table-view{width:106px}.mui-popover.mui-bar-popover .mui-table-view .mui-table-view-cell{padding:11px 15px;background-position:0 100%}.mui-popover.mui-bar-popover .mui-table-view .mui-table-view-cell>a:not(.mui-btn){margin:-11px -15px -11px -15px}.mui-popup-backdrop{position:fixed;z-index:998;top:0;right:0;bottom:0;left:0;-webkit-transition-duration:400ms;transition-duration:400ms;opacity:0;background:rgba(0,0,0,.4)}.mui-popup-backdrop.mui-active{opacity:1}.mui-popup{position:fixed;z-index:10000;top:50%;left:50%;display:none;overflow:hidden;width:270px;-webkit-transition-property:-webkit-transform,opacity;transition-property:transform,opacity;-webkit-transform:translate3d(-50%,-50%,0) scale(1.185);transform:translate3d(-50%,-50%,0) scale(1.185);text-align:center;opacity:0;color:#000;border-radius:13px}.mui-popup.mui-popup-in{display:block;-webkit-transition-duration:400ms;transition-duration:400ms;-webkit-transform:translate3d(-50%,-50%,0) scale(1);transform:translate3d(-50%,-50%,0) scale(1);opacity:1}.mui-popup.mui-popup-out{-webkit-transition-duration:400ms;transition-duration:400ms;-webkit-transform:translate3d(-50%,-50%,0) scale(1);transform:translate3d(-50%,-50%,0) scale(1);opacity:0}.mui-popup-inner{position:relative;padding:15px;border-radius:13px 13px 0 0;background:rgba(255,255,255,.95)}.mui-popup-inner:after{position:absolute;z-index:15;top:auto;right:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;background-color:rgba(0,0,0,.2)}.mui-popup-title{font-size:18px;font-weight:500;text-align:center}.mui-popup-title+.mui-popup-text{font-family:inherit;font-size:14px;margin:5px 0 0}.mui-popup-buttons{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;height:44px;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.mui-popup-button{font-size:17px;line-height:44px;position:relative;display:block;overflow:hidden;box-sizing:border-box;width:100%;height:44px;padding:0 5px;cursor:pointer;text-align:center;white-space:nowrap;text-overflow:ellipsis;color:#007aff;background:rgba(255,255,255,.95);-webkit-box-flex:1}.mui-popup-button:after{position:absolute;z-index:15;top:0;right:0;bottom:auto;left:auto;display:block;width:1px;height:100%;content:'';-webkit-transform:scaleX(.5);transform:scaleX(.5);-webkit-transform-origin:100% 50%;transform-origin:100% 50%;background-color:rgba(0,0,0,.2)}.mui-popup-button:first-child{border-radius:0 0 0 13px}.mui-popup-button:first-child:last-child{border-radius:0 0 13px 13px}.mui-popup-button:last-child{border-radius:0 0 13px}.mui-popup-button:last-child:after{display:none}.mui-popup-button.mui-popup-button-bold{font-weight:600}.mui-popup-input input{font-size:14px;width:100%;height:26px;margin:15px 0 0;padding:0 5px;border:1px solid rgba(0,0,0,.3);border-radius:0;background:#fff}.mui-plus.mui-android .mui-popup-backdrop{-webkit-transition-duration:1ms;transition-duration:1ms}.mui-plus.mui-android .mui-popup{-webkit-transition-duration:1ms;transition-duration:1ms;-webkit-transform:translate3d(-50%,-50%,0) scale(1);transform:translate3d(-50%,-50%,0) scale(1)}.mui-progressbar{position:relative;display:block;overflow:hidden;width:100%;height:2px;-webkit-transform-origin:center top;transform-origin:center top;vertical-align:middle;border-radius:2px;background:#b6b6b6;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.mui-progressbar span{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transition:150ms;transition:150ms;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);background:#007aff}.mui-progressbar.mui-progressbar-infinite:before{position:absolute;top:0;left:0;width:100%;height:100%;content:'';-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transform-origin:left center;transform-origin:left center;-webkit-animation:mui-progressbar-infinite 1s linear infinite;animation:mui-progressbar-infinite 1s linear infinite;background:#007aff}body>.mui-progressbar{position:absolute;z-index:10000;top:44px;left:0;border-radius:0}.mui-progressbar-in{-webkit-animation:mui-progressbar-in 300ms forwards;animation:mui-progressbar-in 300ms forwards}.mui-progressbar-out{-webkit-animation:mui-progressbar-out 300ms forwards;animation:mui-progressbar-out 300ms forwards}@-webkit-keyframes mui-progressbar-in{from{-webkit-transform:scaleY(0);opacity:0}to{-webkit-transform:scaleY(1);opacity:1}}@keyframes mui-progressbar-in{from{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}@-webkit-keyframes mui-progressbar-out{from{-webkit-transform:scaleY(1);opacity:1}to{-webkit-transform:scaleY(0);opacity:0}}@keyframes mui-progressbar-out{from{transform:scaleY(1);opacity:1}to{transform:scaleY(0);opacity:0}}@-webkit-keyframes mui-progressbar-infinite{0%{-webkit-transform:translate3d(-50%,0,0) scaleX(.5)}100%{-webkit-transform:translate3d(100%,0,0) scaleX(.5)}}@keyframes mui-progressbar-infinite{0%{transform:translate3d(-50%,0,0) scaleX(.5)}100%{transform:translate3d(100%,0,0) scaleX(.5)}}.mui-pagination{display:inline-block;margin:0 auto;padding-left:0;border-radius:6px}.mui-pagination>li{display:inline}.mui-pagination>li>a,.mui-pagination>li>span{line-height:1.428571429;position:relative;float:left;margin-left:-1px;padding:6px 12px;text-decoration:none;color:#007aff;border:1px solid #ddd;background-color:#fff}.mui-pagination>li:first-child>a,.mui-pagination>li:first-child>span{margin-left:0;border-top-left-radius:6px;border-bottom-left-radius:6px;background-clip:padding-box}.mui-pagination>li:last-child>a,.mui-pagination>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px;background-clip:padding-box}.mui-pagination>li.mui-active>a,.mui-pagination>li.mui-active>a:active,.mui-pagination>li.mui-active>span,.mui-pagination>li.mui-active>span:active,.mui-pagination>li:active>a,.mui-pagination>li:active>a:active,.mui-pagination>li:active>span,.mui-pagination>li:active>span:active{z-index:2;cursor:default;color:#fff;border-color:#007aff;background-color:#007aff}.mui-pagination>li.mui-disabled>a,.mui-pagination>li.mui-disabled>a:active,.mui-pagination>li.mui-disabled>span,.mui-pagination>li.mui-disabled>span:active{opacity:.6;color:#777;border:1px solid #ddd;background-color:#fff}.mui-pagination-lg>li>a,.mui-pagination-lg>li>span{font-size:18px;padding:10px 16px}.mui-pagination-sm>li>a,.mui-pagination-sm>li>span{font-size:12px;padding:5px 10px}.mui-pager{padding-left:0;list-style:none;text-align:center}.mui-pager:after,.mui-pager:before{display:table;content:' '}.mui-pager:after{clear:both}.mui-pager li{display:inline}.mui-pager li>a,.mui-pager li>span{display:inline-block;padding:5px 14px;border:1px solid #ddd;border-radius:6px;background-color:#fff;background-clip:padding-box}.mui-pager li.mui-active>a,.mui-pager li.mui-active>span,.mui-pager li:active>a,.mui-pager li:active>span{cursor:default;text-decoration:none;color:#fff;border-color:#007aff;background-color:#007aff}.mui-pager .mui-next>a,.mui-pager .mui-next>span{float:right}.mui-pager .mui-previous>a,.mui-pager .mui-previous>span{float:left}.mui-pager .mui-disabled>a,.mui-pager .mui-disabled>a:active,.mui-pager .mui-disabled>span,.mui-pager .mui-disabled>span:active{opacity:.6;color:#777;border:1px solid #ddd;background-color:#fff}.mui-modal{position:fixed;z-index:999;top:0;overflow:hidden;width:100%;min-height:100%;-webkit-transition:-webkit-transform .25s,opacity 1ms .25s;transition:transform .25s,opacity 1ms .25s;-webkit-transition-timing-function:cubic-bezier(.1,.5,.1,1);transition-timing-function:cubic-bezier(.1,.5,.1,1);-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);opacity:0;background-color:#fff}.mui-modal.mui-active{height:100%;-webkit-transition:-webkit-transform .25s;transition:transform .25s;-webkit-transition-timing-function:cubic-bezier(.1,.5,.1,1);transition-timing-function:cubic-bezier(.1,.5,.1,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}.mui-android .mui-modal .mui-bar{position:static}.mui-android .mui-modal .mui-bar-nav~.mui-content{padding-top:0}.mui-slider{position:relative;z-index:1;overflow:hidden;width:100%}.mui-slider .mui-segmented-control.mui-segmented-control-inverted .mui-control-item.mui-active{border-bottom:0}.mui-slider .mui-segmented-control.mui-segmented-control-inverted~.mui-slider-group .mui-slider-item{border-top:1px solid #c8c7cc;border-bottom:1px solid #c8c7cc}.mui-slider .mui-slider-group{font-size:0;position:relative;-webkit-transition:all 0s linear;transition:all 0s linear;white-space:nowrap}.mui-slider .mui-slider-group .mui-slider-item{font-size:14px;position:relative;display:inline-block;width:100%;height:100%;vertical-align:top;white-space:normal}.mui-slider .mui-slider-group .mui-slider-item>a:not(.mui-control-item){line-height:0;position:relative;display:block}.mui-slider .mui-slider-group .mui-slider-item img{width:100%}.mui-slider .mui-slider-group .mui-slider-item .mui-table-view:after,.mui-slider .mui-slider-group .mui-slider-item .mui-table-view:before{height:0}.mui-slider .mui-slider-group.mui-slider-loop{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}.mui-slider-title{line-height:30px;position:absolute;bottom:0;left:0;width:100%;height:30px;margin:0;text-align:left;text-indent:12px;opacity:.8;background-color:#000}.mui-slider-indicator{position:absolute;bottom:8px;width:100%;text-align:center;background:0 0}.mui-slider-indicator.mui-segmented-control{position:relative;bottom:auto}.mui-slider-indicator .mui-indicator{display:inline-block;width:6px;height:6px;margin:1px 6px;cursor:pointer;border-radius:50%;background:#aaa;-webkit-box-shadow:0 0 1px 1px rgba(130,130,130,.7);box-shadow:0 0 1px 1px rgba(130,130,130,.7)}.mui-slider-indicator .mui-active.mui-indicator{background:#fff}.mui-slider-indicator .mui-icon{font-size:20px;line-height:30px;width:40px;height:30px;margin:3px;text-align:center;border:1px solid #ddd}.mui-slider-indicator .mui-number{line-height:32px;display:inline-block;width:58px}.mui-slider-indicator .mui-number span{color:#ff5053}.mui-slider-progress-bar{z-index:1;height:2px;-webkit-transform:translateZ(0);transform:translateZ(0)}.mui-switch{position:relative;display:block;width:74px;height:30px;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:background-color,border;transition-property:background-color,border;border:2px solid #ddd;border-radius:20px;background-color:#fff;background-clip:padding-box}.mui-switch.mui-disabled{opacity:.3}.mui-switch .mui-switch-handle{position:absolute;z-index:1;top:-1px;left:-1px;width:28px;height:28px;-webkit-transition:.2s ease-in-out;transition:.2s ease-in-out;-webkit-transition-property:-webkit-transform,width,left;transition-property:transform,width,left;border-radius:16px;background-color:#fff;background-clip:padding-box;-webkit-box-shadow:0 2px 5px rgba(0,0,0,.4);box-shadow:0 2px 5px rgba(0,0,0,.4)}.mui-switch:before{font-size:13px;position:absolute;top:3px;right:11px;content:'Off';text-transform:uppercase;color:#999}.mui-switch.mui-dragging{border-color:#f7f7f7;background-color:#f7f7f7}.mui-switch.mui-dragging .mui-switch-handle{width:38px}.mui-switch.mui-dragging.mui-active .mui-switch-handle{left:-11px;width:38px}.mui-switch.mui-active{border-color:#4cd964;background-color:#4cd964}.mui-switch.mui-active .mui-switch-handle{-webkit-transform:translate(43px,0);transform:translate(43px,0)}.mui-switch.mui-active:before{right:auto;left:15px;content:'On';color:#fff}.mui-switch input[type=checkbox]{display:none}.mui-switch-mini{width:47px}.mui-switch-mini:before{display:none}.mui-switch-mini.mui-active .mui-switch-handle{-webkit-transform:translate(16px,0);transform:translate(16px,0)}.mui-switch-blue.mui-active{border:2px solid #007aff;background-color:#007aff}.mui-content.mui-fade{left:0;opacity:0}.mui-content.mui-fade.mui-in{opacity:1}.mui-content.mui-sliding{z-index:2;-webkit-transition:-webkit-transform .4s;transition:transform .4s;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.mui-content.mui-sliding.mui-left{z-index:1;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.mui-content.mui-sliding.mui-right{z-index:3;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.mui-navigate-right:after,.mui-push-left:after,.mui-push-right:after{font-family:Muiicons;font-size:inherit;line-height:1;position:absolute;top:50%;display:inline-block;-webkit-transform:translateY(-50%);transform:translateY(-50%);text-decoration:none;color:#bbb;-webkit-font-smoothing:antialiased}.mui-push-left:after{left:15px;content:'\e582'}.mui-navigate-right:after,.mui-push-right:after{right:15px;content:'\e583'}.mui-pull-bottom-pocket,.mui-pull-top-pocket{position:absolute;left:0;display:block;visibility:hidden;overflow:hidden;width:100%;height:50px}.mui-plus-pullrefresh .mui-pull-bottom-pocket,.mui-plus-pullrefresh .mui-pull-top-pocket{display:none;visibility:visible}.mui-pull-top-pocket{top:0}.mui-bar-nav~.mui-content .mui-pull-top-pocket{top:44px}.mui-bar-nav~.mui-bar-header-secondary~.mui-content .mui-pull-top-pocket{top:88px}.mui-pull-bottom-pocket{position:relative;bottom:0;height:40px}.mui-pull-bottom-pocket .mui-pull-loading{visibility:hidden}.mui-pull-bottom-pocket .mui-pull-loading.mui-in{display:inline-block}.mui-pull{font-weight:700;position:absolute;right:0;bottom:10px;left:0;text-align:center;color:#777}.mui-pull-loading{margin-right:10px;-webkit-transition:-webkit-transform .4s;transition:transform .4s;-webkit-transition-duration:400ms;transition-duration:400ms;vertical-align:middle}.mui-pull-loading.mui-reverse{-webkit-transform:rotate(180deg) translateZ(0);transform:rotate(180deg) translateZ(0)}.mui-pull-caption{font-size:15px;line-height:24px;position:relative;display:inline-block;overflow:visible;margin-top:0;vertical-align:middle}.mui-pull-caption span{display:none}.mui-pull-caption span.mui-in{display:inline}.mui-toast-container{line-height:17px;position:fixed;z-index:9999;bottom:50px;left:50%;-webkit-transition:opacity .3s;transition:opacity .3s;-webkit-transform:translate(-50%,0);transform:translate(-50%,0);opacity:0}.mui-toast-container.mui-active{opacity:.9}.mui-toast-message{font-size:14px;padding:10px 25px;text-align:center;color:#fff;border-radius:6px;background-color:#323232}.mui-numbox{position:relative;display:inline-block;overflow:hidden;width:120px;height:35px;padding:0 40px;vertical-align:top;vertical-align:middle;border:solid 1px #bbb;border-radius:3px;background-color:#efeff4}.mui-numbox [class*=btn-numbox],.mui-numbox [class*=numbox-btn]{font-size:18px;font-weight:400;line-height:100%;position:absolute;top:0;overflow:hidden;width:40px;height:100%;padding:0;color:#555;border:none;border-radius:0;background-color:#f9f9f9}.mui-numbox [class*=btn-numbox]:active,.mui-numbox [class*=numbox-btn]:active{background-color:#ccc}.mui-numbox [class*=btn-numbox][disabled],.mui-numbox [class*=numbox-btn][disabled]{color:silver}.mui-numbox .mui-btn-numbox-plus,.mui-numbox .mui-numbox-btn-plus{right:0;border-top-right-radius:3px;border-bottom-right-radius:3px}.mui-numbox .mui-btn-numbox-minus,.mui-numbox .mui-numbox-btn-minus{left:0;border-top-left-radius:3px;border-bottom-left-radius:3px}.mui-numbox .mui-input-numbox,.mui-numbox .mui-numbox-input{display:inline-block;overflow:hidden;width:100%!important;height:100%;margin:0;padding:0 3px!important;text-align:center;text-overflow:ellipsis;word-break:normal;border:none!important;border-right:solid 1px #ccc!important;border-left:solid 1px #ccc!important;border-radius:0!important}.mui-input-row .mui-numbox{float:right;margin:2px 8px}@font-face{font-family:Muiicons;font-weight:400;font-style:normal;src:url(../fonts/mui.ttf) format('truetype')}.mui-icon{font-family:Muiicons;font-size:24px;font-weight:400;font-style:normal;line-height:1;display:inline-block;text-decoration:none;-webkit-font-smoothing:antialiased}.mui-icon.mui-active{color:#007aff}.mui-icon.mui-right:before{float:right;padding-left:.2em}.mui-icon-contact:before{content:'\e100'}.mui-icon-person:before{content:'\e101'}.mui-icon-personadd:before{content:'\e102'}.mui-icon-contact-filled:before{content:'\e130'}.mui-icon-person-filled:before{content:'\e131'}.mui-icon-personadd-filled:before{content:'\e132'}.mui-icon-phone:before{content:'\e200'}.mui-icon-email:before{content:'\e201'}.mui-icon-chatbubble:before{content:'\e202'}.mui-icon-chatboxes:before{content:'\e203'}.mui-icon-phone-filled:before{content:'\e230'}.mui-icon-email-filled:before{content:'\e231'}.mui-icon-chatbubble-filled:before{content:'\e232'}.mui-icon-chatboxes-filled:before{content:'\e233'}.mui-icon-weibo:before{content:'\e260'}.mui-icon-weixin:before{content:'\e261'}.mui-icon-pengyouquan:before{content:'\e262'}.mui-icon-chat:before{content:'\e263'}.mui-icon-qq:before{content:'\e264'}.mui-icon-videocam:before{content:'\e300'}.mui-icon-camera:before{content:'\e301'}.mui-icon-mic:before{content:'\e302'}.mui-icon-location:before{content:'\e303'}.mui-icon-mic-filled:before,.mui-icon-speech:before{content:'\e332'}.mui-icon-location-filled:before{content:'\e333'}.mui-icon-micoff:before{content:'\e360'}.mui-icon-image:before{content:'\e363'}.mui-icon-map:before{content:'\e364'}.mui-icon-compose:before{content:'\e400'}.mui-icon-trash:before{content:'\e401'}.mui-icon-upload:before{content:'\e402'}.mui-icon-download:before{content:'\e403'}.mui-icon-close:before{content:'\e404'}.mui-icon-redo:before{content:'\e405'}.mui-icon-undo:before{content:'\e406'}.mui-icon-refresh:before{content:'\e407'}.mui-icon-star:before{content:'\e408'}.mui-icon-plus:before{content:'\e409'}.mui-icon-minus:before{content:'\e410'}.mui-icon-checkbox:before,.mui-icon-circle:before{content:'\e411'}.mui-icon-clear:before,.mui-icon-close-filled:before{content:'\e434'}.mui-icon-refresh-filled:before{content:'\e437'}.mui-icon-star-filled:before{content:'\e438'}.mui-icon-plus-filled:before{content:'\e439'}.mui-icon-minus-filled:before{content:'\e440'}.mui-icon-circle-filled:before{content:'\e441'}.mui-icon-checkbox-filled:before{content:'\e442'}.mui-icon-closeempty:before{content:'\e460'}.mui-icon-refreshempty:before{content:'\e461'}.mui-icon-reload:before{content:'\e462'}.mui-icon-starhalf:before{content:'\e463'}.mui-icon-spinner:before{content:'\e464'}.mui-icon-spinner-cycle:before{content:'\e465'}.mui-icon-search:before{content:'\e466'}.mui-icon-plusempty:before{content:'\e468'}.mui-icon-forward:before{content:'\e470'}.mui-icon-back:before,.mui-icon-left-nav:before{content:'\e471'}.mui-icon-checkmarkempty:before{content:'\e472'}.mui-icon-home:before{content:'\e500'}.mui-icon-navigate:before{content:'\e501'}.mui-icon-gear:before{content:'\e502'}.mui-icon-paperplane:before{content:'\e503'}.mui-icon-info:before{content:'\e504'}.mui-icon-help:before{content:'\e505'}.mui-icon-locked:before{content:'\e506'}.mui-icon-more:before{content:'\e507'}.mui-icon-flag:before{content:'\e508'}.mui-icon-home-filled:before{content:'\e530'}.mui-icon-gear-filled:before{content:'\e532'}.mui-icon-info-filled:before{content:'\e534'}.mui-icon-help-filled:before{content:'\e535'}.mui-icon-more-filled:before{content:'\e537'}.mui-icon-settings:before{content:'\e560'}.mui-icon-list:before{content:'\e562'}.mui-icon-bars:before{content:'\e563'}.mui-icon-loop:before{content:'\e565'}.mui-icon-paperclip:before{content:'\e567'}.mui-icon-eye:before{content:'\e568'}.mui-icon-arrowup:before{content:'\e580'}.mui-icon-arrowdown:before{content:'\e581'}.mui-icon-arrowleft:before{content:'\e582'}.mui-icon-arrowright:before{content:'\e583'}.mui-icon-arrowthinup:before{content:'\e584'}.mui-icon-arrowthindown:before{content:'\e585'}.mui-icon-arrowthinleft:before{content:'\e586'}.mui-icon-arrowthinright:before{content:'\e587'}.mui-icon-pulldown:before{content:'\e588'}.mui-fullscreen{position:absolute;top:0;right:0;bottom:0;left:0}.mui-fullscreen.mui-slider .mui-slider-group{height:100%}.mui-fullscreen .mui-segmented-control~.mui-slider-group{position:absolute;top:40px;bottom:0;width:100%;height:auto}.mui-fullscreen.mui-slider .mui-slider-item>a{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.mui-fullscreen .mui-off-canvas-wrap .mui-slider-item>a{top:auto;-webkit-transform:none;transform:none}.mui-bar-nav~.mui-content .mui-slider.mui-fullscreen{top:44px}.mui-bar-tab~.mui-content .mui-slider.mui-fullscreen .mui-segmented-control~.mui-slider-group{bottom:50px}.mui-android.mui-android-4-0 input:focus,.mui-android.mui-android-4-0 textarea:focus{-webkit-user-modify:inherit}.mui-android.mui-android-4-2 input,.mui-android.mui-android-4-2 textarea,.mui-android.mui-android-4-3 input,.mui-android.mui-android-4-3 textarea{-webkit-user-select:text}.mui-ios .mui-table-view-cell{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.mui-plus-visible,.mui-wechat-visible{display:none!important}.mui-plus-hidden,.mui-wechat-hidden{display:block!important}.mui-tab-item.mui-plus-hidden,.mui-tab-item.mui-wechat-hidden{display:table-cell!important}.mui-plus .mui-plus-visible,.mui-wechat .mui-wechat-visible{display:block!important}.mui-plus .mui-tab-item.mui-plus-visible,.mui-wechat .mui-tab-item.mui-wechat-visible{display:table-cell!important}.mui-plus .mui-plus-hidden,.mui-wechat .mui-wechat-hidden{display:none!important}.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-nav{height:64px;padding-top:20px}.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-nav~.mui-content{padding-top:64px}.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-header-secondary,.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-nav~.mui-content .mui-pull-top-pocket{top:64px}.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-header-secondary~.mui-content{padding-top:94px}.mui-iframe-wrapper{position:absolute;right:0;left:0;-webkit-overflow-scrolling:touch}.mui-iframe-wrapper iframe{width:100%;height:100%;border:0} \ No newline at end of file diff --git a/codes/news_recsys/news_rec_web/Vue-newsinfo/src/lib/mui/fonts/mui-icons-extra.ttf b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/lib/mui/fonts/mui-icons-extra.ttf new file mode 100644 index 00000000..8b5c92db Binary files /dev/null and b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/lib/mui/fonts/mui-icons-extra.ttf differ diff --git a/codes/news_recsys/news_rec_web/Vue-newsinfo/src/lib/mui/fonts/mui.ttf b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/lib/mui/fonts/mui.ttf new file mode 100644 index 00000000..45d3b04a Binary files /dev/null and b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/lib/mui/fonts/mui.ttf differ diff --git a/codes/news_recsys/news_rec_web/Vue-newsinfo/src/lib/mui/js/mui.js b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/lib/mui/js/mui.js new file mode 100644 index 00000000..1a8cce17 --- /dev/null +++ b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/lib/mui/js/mui.js @@ -0,0 +1,8386 @@ +/*! + * ===================================================== + * Mui v3.7.2 (http://dev.dcloud.net.cn/mui) + * ===================================================== + */ +/** + * MUI核心JS + * @type _L4.$|Function + */ +var mui = (function(document, undefined) { + var readyRE = /complete|loaded|interactive/; + var idSelectorRE = /^#([\w-]+)$/; + var classSelectorRE = /^\.([\w-]+)$/; + var tagSelectorRE = /^[\w-]+$/; + var translateRE = /translate(?:3d)?\((.+?)\)/; + var translateMatrixRE = /matrix(3d)?\((.+?)\)/; + + var $ = function(selector, context) { + context = context || document; + if (!selector) + return wrap(); + if (typeof selector === 'object') + if ($.isArrayLike(selector)) { + return wrap($.slice.call(selector), null); + } else { + return wrap([selector], null); + } + if (typeof selector === 'function') + return $.ready(selector); + if (typeof selector === 'string') { + try { + selector = selector.trim(); + if (idSelectorRE.test(selector)) { + var found = document.getElementById(RegExp.$1); + return wrap(found ? [found] : []); + } + return wrap($.qsa(selector, context), selector); + } catch (e) {} + } + return wrap(); + }; + + var wrap = function(dom, selector) { + dom = dom || []; + Object.setPrototypeOf(dom, $.fn); + dom.selector = selector || ''; + return dom; + }; + + $.uuid = 0; + + $.data = {}; + /** + * extend(simple) + * @param {type} target + * @param {type} source + * @param {type} deep + * @returns {unresolved} + */ + $.extend = function() { //from jquery2 + var options, name, src, copy, copyIsArray, clone, + target = arguments[0] || {}, + i = 1, + length = arguments.length, + deep = false; + + if (typeof target === "boolean") { + deep = target; + + target = arguments[i] || {}; + i++; + } + + if (typeof target !== "object" && !$.isFunction(target)) { + target = {}; + } + + if (i === length) { + target = this; + i--; + } + + for (; i < length; i++) { + if ((options = arguments[i]) != null) { + for (name in options) { + src = target[name]; + copy = options[name]; + + if (target === copy) { + continue; + } + + if (deep && copy && ($.isPlainObject(copy) || (copyIsArray = $.isArray(copy)))) { + if (copyIsArray) { + copyIsArray = false; + clone = src && $.isArray(src) ? src : []; + + } else { + clone = src && $.isPlainObject(src) ? src : {}; + } + + target[name] = $.extend(deep, clone, copy); + + } else if (copy !== undefined) { + target[name] = copy; + } + } + } + } + + return target; + }; + /** + * mui noop(function) + */ + $.noop = function() {}; + /** + * mui slice(array) + */ + $.slice = [].slice; + /** + * mui filter(array) + */ + $.filter = [].filter; + + $.type = function(obj) { + return obj == null ? String(obj) : class2type[{}.toString.call(obj)] || "object"; + }; + /** + * mui isArray + */ + $.isArray = Array.isArray || + function(object) { + return object instanceof Array; + }; + /** + * mui isArrayLike + * @param {Object} obj + */ + $.isArrayLike = function(obj) { + var length = !!obj && "length" in obj && obj.length; + var type = $.type(obj); + if (type === "function" || $.isWindow(obj)) { + return false; + } + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && (length - 1) in obj; + }; + /** + * mui isWindow(需考虑obj为undefined的情况) + */ + $.isWindow = function(obj) { + return obj != null && obj === obj.window; + }; + /** + * mui isObject + */ + $.isObject = function(obj) { + return $.type(obj) === "object"; + }; + /** + * mui isPlainObject + */ + $.isPlainObject = function(obj) { + return $.isObject(obj) && !$.isWindow(obj) && Object.getPrototypeOf(obj) === Object.prototype; + }; + /** + * mui isEmptyObject + * @param {Object} o + */ + $.isEmptyObject = function(o) { + for (var p in o) { + if (p !== undefined) { + return false; + } + } + return true; + }; + /** + * mui isFunction + */ + $.isFunction = function(value) { + return $.type(value) === "function"; + }; + /** + * mui querySelectorAll + * @param {type} selector + * @param {type} context + * @returns {Array} + */ + $.qsa = function(selector, context) { + context = context || document; + return $.slice.call(classSelectorRE.test(selector) ? context.getElementsByClassName(RegExp.$1) : tagSelectorRE.test(selector) ? context.getElementsByTagName(selector) : context.querySelectorAll(selector)); + }; + /** + * ready(DOMContentLoaded) + * @param {type} callback + * @returns {_L6.$} + */ + $.ready = function(callback) { + if (readyRE.test(document.readyState)) { + callback($); + } else { + document.addEventListener('DOMContentLoaded', function() { + callback($); + }, false); + } + return this; + }; + /** + * 将 fn 缓存一段时间后, 再被调用执行 + * 此方法为了避免在 ms 段时间内, 执行 fn 多次. 常用于 resize , scroll , mousemove 等连续性事件中; + * 当 ms 设置为 -1, 表示立即执行 fn, 即和直接调用 fn 一样; + * 调用返回函数的 stop 停止最后一次的 buffer 效果 + * @param {Object} fn + * @param {Object} ms + * @param {Object} context + */ + $.buffer = function(fn, ms, context) { + var timer; + var lastStart = 0; + var lastEnd = 0; + var ms = ms || 150; + + function run() { + if (timer) { + timer.cancel(); + timer = 0; + } + lastStart = $.now(); + fn.apply(context || this, arguments); + lastEnd = $.now(); + } + + return $.extend(function() { + if ( + (!lastStart) || // 从未运行过 + (lastEnd >= lastStart && $.now() - lastEnd > ms) || // 上次运行成功后已经超过ms毫秒 + (lastEnd < lastStart && $.now() - lastStart > ms * 8) // 上次运行或未完成,后8*ms毫秒 + ) { + run.apply(this, arguments); + } else { + if (timer) { + timer.cancel(); + } + timer = $.later(run, ms, null, $.slice.call(arguments)); + } + }, { + stop: function() { + if (timer) { + timer.cancel(); + timer = 0; + } + } + }); + }; + /** + * each + * @param {type} elements + * @param {type} callback + * @returns {_L8.$} + */ + $.each = function(elements, callback, hasOwnProperty) { + if (!elements) { + return this; + } + if (typeof elements.length === 'number') { + [].every.call(elements, function(el, idx) { + return callback.call(el, idx, el) !== false; + }); + } else { + for (var key in elements) { + if (hasOwnProperty) { + if (elements.hasOwnProperty(key)) { + if (callback.call(elements[key], key, elements[key]) === false) return elements; + } + } else { + if (callback.call(elements[key], key, elements[key]) === false) return elements; + } + } + } + return this; + }; + $.focus = function(element) { + if ($.os.ios) { + setTimeout(function() { + element.focus(); + }, 10); + } else { + element.focus(); + } + }; + /** + * trigger event + * @param {type} element + * @param {type} eventType + * @param {type} eventData + * @returns {_L8.$} + */ + $.trigger = function(element, eventType, eventData) { + element.dispatchEvent(new CustomEvent(eventType, { + detail: eventData, + bubbles: true, + cancelable: true + })); + return this; + }; + /** + * getStyles + * @param {type} element + * @param {type} property + * @returns {styles} + */ + $.getStyles = function(element, property) { + var styles = element.ownerDocument.defaultView.getComputedStyle(element, null); + if (property) { + return styles.getPropertyValue(property) || styles[property]; + } + return styles; + }; + /** + * parseTranslate + * @param {type} translateString + * @param {type} position + * @returns {Object} + */ + $.parseTranslate = function(translateString, position) { + var result = translateString.match(translateRE || ''); + if (!result || !result[1]) { + result = ['', '0,0,0']; + } + result = result[1].split(","); + result = { + x: parseFloat(result[0]), + y: parseFloat(result[1]), + z: parseFloat(result[2]) + }; + if (position && result.hasOwnProperty(position)) { + return result[position]; + } + return result; + }; + /** + * parseTranslateMatrix + * @param {type} translateString + * @param {type} position + * @returns {Object} + */ + $.parseTranslateMatrix = function(translateString, position) { + var matrix = translateString.match(translateMatrixRE); + var is3D = matrix && matrix[1]; + if (matrix) { + matrix = matrix[2].split(","); + if (is3D === "3d") + matrix = matrix.slice(12, 15); + else { + matrix.push(0); + matrix = matrix.slice(4, 7); + } + } else { + matrix = [0, 0, 0]; + } + var result = { + x: parseFloat(matrix[0]), + y: parseFloat(matrix[1]), + z: parseFloat(matrix[2]) + }; + if (position && result.hasOwnProperty(position)) { + return result[position]; + } + return result; + }; + $.hooks = {}; + $.addAction = function(type, hook) { + var hooks = $.hooks[type]; + if (!hooks) { + hooks = []; + } + hook.index = hook.index || 1000; + hooks.push(hook); + hooks.sort(function(a, b) { + return a.index - b.index; + }); + $.hooks[type] = hooks; + return $.hooks[type]; + }; + $.doAction = function(type, callback) { + if ($.isFunction(callback)) { //指定了callback + $.each($.hooks[type], callback); + } else { //未指定callback,直接执行 + $.each($.hooks[type], function(index, hook) { + return !hook.handle(); + }); + } + }; + /** + * setTimeout封装 + * @param {Object} fn + * @param {Object} when + * @param {Object} context + * @param {Object} data + */ + $.later = function(fn, when, context, data) { + when = when || 0; + var m = fn; + var d = data; + var f; + var r; + + if (typeof fn === 'string') { + m = context[fn]; + } + + f = function() { + m.apply(context, $.isArray(d) ? d : [d]); + }; + + r = setTimeout(f, when); + + return { + id: r, + cancel: function() { + clearTimeout(r); + } + }; + }; + $.now = Date.now || function() { + return +new Date(); + }; + var class2type = {}; + $.each(['Boolean', 'Number', 'String', 'Function', 'Array', 'Date', 'RegExp', 'Object', 'Error'], function(i, name) { + class2type["[object " + name + "]"] = name.toLowerCase(); + }); + if (window.JSON) { + $.parseJSON = JSON.parse; + } + /** + * $.fn + */ + $.fn = { + each: function(callback) { + [].every.call(this, function(el, idx) { + return callback.call(el, idx, el) !== false; + }); + return this; + } + }; + + /** + * 兼容 AMD 模块 + **/ + if (typeof define === 'function' && define.amd) { + define('mui', [], function() { + return $; + }); + } + + return $; +})(document); +//window.mui = mui; +//'$' in window || (window.$ = mui); +/** + * $.os + * @param {type} $ + * @returns {undefined} + */ +(function($, window) { + function detect(ua) { + this.os = {}; + var funcs = [ + + function() { //wechat + var wechat = ua.match(/(MicroMessenger)\/([\d\.]+)/i); + if (wechat) { //wechat + this.os.wechat = { + version: wechat[2].replace(/_/g, '.') + }; + } + return false; + }, + function() { //android + var android = ua.match(/(Android);?[\s\/]+([\d.]+)?/); + if (android) { + this.os.android = true; + this.os.version = android[2]; + + this.os.isBadAndroid = !(/Chrome\/\d/.test(window.navigator.appVersion)); + } + return this.os.android === true; + }, + function() { //ios + var iphone = ua.match(/(iPhone\sOS)\s([\d_]+)/); + if (iphone) { //iphone + this.os.ios = this.os.iphone = true; + this.os.version = iphone[2].replace(/_/g, '.'); + } else { + var ipad = ua.match(/(iPad).*OS\s([\d_]+)/); + if (ipad) { //ipad + this.os.ios = this.os.ipad = true; + this.os.version = ipad[2].replace(/_/g, '.'); + } + } + return this.os.ios === true; + } + ]; + [].every.call(funcs, function(func) { + return !func.call($); + }); + } + detect.call($, navigator.userAgent); +})(mui, window); +/** + * $.os.plus + * @param {type} $ + * @returns {undefined} + */ +(function($, document) { + function detect(ua) { + this.os = this.os || {}; + var plus = ua.match(/Html5Plus/i); //TODO 5\+Browser? + if (plus) { + this.os.plus = true; + $(function() { + document.body.classList.add('mui-plus'); + }); + if (ua.match(/StreamApp/i)) { //TODO 最好有流应用自己的标识 + this.os.stream = true; + $(function() { + document.body.classList.add('mui-plus-stream'); + }); + } + } + } + detect.call($, navigator.userAgent); +})(mui, document); +/** + * 仅提供简单的on,off(仅支持事件委托,不支持当前元素绑定,当前元素绑定请直接使用addEventListener,removeEventListener) + * @param {Object} $ + */ +(function($) { + if ('ontouchstart' in window) { + $.isTouchable = true; + $.EVENT_START = 'touchstart'; + $.EVENT_MOVE = 'touchmove'; + $.EVENT_END = 'touchend'; + } else { + $.isTouchable = false; + $.EVENT_START = 'mousedown'; + $.EVENT_MOVE = 'mousemove'; + $.EVENT_END = 'mouseup'; + } + $.EVENT_CANCEL = 'touchcancel'; + $.EVENT_CLICK = 'click'; + + var _mid = 1; + var delegates = {}; + //需要wrap的函数 + var eventMethods = { + preventDefault: 'isDefaultPrevented', + stopImmediatePropagation: 'isImmediatePropagationStopped', + stopPropagation: 'isPropagationStopped' + }; + //默认true返回函数 + var returnTrue = function() { + return true + }; + //默认false返回函数 + var returnFalse = function() { + return false + }; + //wrap浏览器事件 + var compatible = function(event, target) { + if (!event.detail) { + event.detail = { + currentTarget: target + }; + } else { + event.detail.currentTarget = target; + } + $.each(eventMethods, function(name, predicate) { + var sourceMethod = event[name]; + event[name] = function() { + this[predicate] = returnTrue; + return sourceMethod && sourceMethod.apply(event, arguments) + } + event[predicate] = returnFalse; + }, true); + return event; + }; + //简单的wrap对象_mid + var mid = function(obj) { + return obj && (obj._mid || (obj._mid = _mid++)); + }; + //事件委托对象绑定的事件回调列表 + var delegateFns = {}; + //返回事件委托的wrap事件回调 + var delegateFn = function(element, event, selector, callback) { + return function(e) { + //same event + var callbackObjs = delegates[element._mid][event]; + var handlerQueue = []; + var target = e.target; + var selectorAlls = {}; + for (; target && target !== document; target = target.parentNode) { + if (target === element) { + break; + } + if (~['click', 'tap', 'doubletap', 'longtap', 'hold'].indexOf(event) && (target.disabled || target.classList.contains('mui-disabled'))) { + break; + } + var matches = {}; + $.each(callbackObjs, function(selector, callbacks) { //same selector + selectorAlls[selector] || (selectorAlls[selector] = $.qsa(selector, element)); + if (selectorAlls[selector] && ~(selectorAlls[selector]).indexOf(target)) { + if (!matches[selector]) { + matches[selector] = callbacks; + } + } + }, true); + if (!$.isEmptyObject(matches)) { + handlerQueue.push({ + element: target, + handlers: matches + }); + } + } + selectorAlls = null; + e = compatible(e); //compatible event + $.each(handlerQueue, function(index, handler) { + target = handler.element; + var tagName = target.tagName; + if (event === 'tap' && (tagName !== 'INPUT' && tagName !== 'TEXTAREA' && tagName !== 'SELECT')) { + e.preventDefault(); + e.detail && e.detail.gesture && e.detail.gesture.preventDefault(); + } + $.each(handler.handlers, function(index, handler) { + $.each(handler, function(index, callback) { + if (callback.call(target, e) === false) { + e.preventDefault(); + e.stopPropagation(); + } + }, true); + }, true) + if (e.isPropagationStopped()) { + return false; + } + }, true); + }; + }; + var findDelegateFn = function(element, event) { + var delegateCallbacks = delegateFns[mid(element)]; + var result = []; + if (delegateCallbacks) { + result = []; + if (event) { + var filterFn = function(fn) { + return fn.type === event; + } + return delegateCallbacks.filter(filterFn); + } else { + result = delegateCallbacks; + } + } + return result; + }; + var preventDefaultException = /^(INPUT|TEXTAREA|BUTTON|SELECT)$/; + /** + * mui delegate events + * @param {type} event + * @param {type} selector + * @param {type} callback + * @returns {undefined} + */ + $.fn.on = function(event, selector, callback) { //仅支持简单的事件委托,主要是tap事件使用,类似mouse,focus之类暂不封装支持 + return this.each(function() { + var element = this; + mid(element); + mid(callback); + var isAddEventListener = false; + var delegateEvents = delegates[element._mid] || (delegates[element._mid] = {}); + var delegateCallbackObjs = delegateEvents[event] || ((delegateEvents[event] = {})); + if ($.isEmptyObject(delegateCallbackObjs)) { + isAddEventListener = true; + } + var delegateCallbacks = delegateCallbackObjs[selector] || (delegateCallbackObjs[selector] = []); + delegateCallbacks.push(callback); + if (isAddEventListener) { + var delegateFnArray = delegateFns[mid(element)]; + if (!delegateFnArray) { + delegateFnArray = []; + } + var delegateCallback = delegateFn(element, event, selector, callback); + delegateFnArray.push(delegateCallback); + delegateCallback.i = delegateFnArray.length - 1; + delegateCallback.type = event; + delegateFns[mid(element)] = delegateFnArray; + element.addEventListener(event, delegateCallback); + if (event === 'tap') { //TODO 需要找个更好的解决方案 + element.addEventListener('click', function(e) { + if (e.target) { + var tagName = e.target.tagName; + if (!preventDefaultException.test(tagName)) { + if (tagName === 'A') { + var href = e.target.href; + if (!(href && ~href.indexOf('tel:'))) { + e.preventDefault(); + } + } else { + e.preventDefault(); + } + } + } + }); + } + } + }); + }; + $.fn.off = function(event, selector, callback) { + return this.each(function() { + var _mid = mid(this); + if (!event) { //mui(selector).off(); + delegates[_mid] && delete delegates[_mid]; + } else if (!selector) { //mui(selector).off(event); + delegates[_mid] && delete delegates[_mid][event]; + } else if (!callback) { //mui(selector).off(event,selector); + delegates[_mid] && delegates[_mid][event] && delete delegates[_mid][event][selector]; + } else { //mui(selector).off(event,selector,callback); + var delegateCallbacks = delegates[_mid] && delegates[_mid][event] && delegates[_mid][event][selector]; + $.each(delegateCallbacks, function(index, delegateCallback) { + if (mid(delegateCallback) === mid(callback)) { + delegateCallbacks.splice(index, 1); + return false; + } + }, true); + } + if (delegates[_mid]) { + //如果off掉了所有当前element的指定的event事件,则remove掉当前element的delegate回调 + if ((!delegates[_mid][event] || $.isEmptyObject(delegates[_mid][event]))) { + findDelegateFn(this, event).forEach(function(fn) { + this.removeEventListener(fn.type, fn); + delete delegateFns[_mid][fn.i]; + }.bind(this)); + } + } else { + //如果delegates[_mid]已不存在,删除所有 + findDelegateFn(this).forEach(function(fn) { + this.removeEventListener(fn.type, fn); + delete delegateFns[_mid][fn.i]; + }.bind(this)); + } + }); + + }; +})(mui); +/** + * mui target(action>popover>modal>tab>toggle) + */ +(function($, window, document) { + /** + * targets + */ + $.targets = {}; + /** + * target handles + */ + $.targetHandles = []; + /** + * register target + * @param {type} target + * @returns {$.targets} + */ + $.registerTarget = function(target) { + + target.index = target.index || 1000; + + $.targetHandles.push(target); + + $.targetHandles.sort(function(a, b) { + return a.index - b.index; + }); + + return $.targetHandles; + }; + window.addEventListener($.EVENT_START, function(event) { + var target = event.target; + var founds = {}; + for (; target && target !== document; target = target.parentNode) { + var isFound = false; + $.each($.targetHandles, function(index, targetHandle) { + var name = targetHandle.name; + if (!isFound && !founds[name] && targetHandle.hasOwnProperty('handle')) { + $.targets[name] = targetHandle.handle(event, target); + if ($.targets[name]) { + founds[name] = true; + if (targetHandle.isContinue !== true) { + isFound = true; + } + } + } else { + if (!founds[name]) { + if (targetHandle.isReset !== false) + $.targets[name] = false; + } + } + }); + if (isFound) { + break; + } + } + }); + window.addEventListener('click', function(event) { //解决touch与click的target不一致的问题(比如链接边缘点击时,touch的target为html,而click的target为A) + var target = event.target; + var isFound = false; + for (; target && target !== document; target = target.parentNode) { + if (target.tagName === 'A') { + $.each($.targetHandles, function(index, targetHandle) { + var name = targetHandle.name; + if (targetHandle.hasOwnProperty('handle')) { + if (targetHandle.handle(event, target)) { + isFound = true; + event.preventDefault(); + return false; + } + } + }); + if (isFound) { + break; + } + } + } + }); +})(mui, window, document); +/** + * fixed trim + * @param {type} undefined + * @returns {undefined} + */ +(function(undefined) { + if (String.prototype.trim === undefined) { // fix for iOS 3.2 + String.prototype.trim = function() { + return this.replace(/^\s+|\s+$/g, ''); + }; + } + Object.setPrototypeOf = Object.setPrototypeOf || function(obj, proto) { + obj['__proto__'] = proto; + return obj; + }; + +})(); +/** + * fixed CustomEvent + */ +(function() { + if (typeof window.CustomEvent === 'undefined') { + function CustomEvent(event, params) { + params = params || { + bubbles: false, + cancelable: false, + detail: undefined + }; + var evt = document.createEvent('Events'); + var bubbles = true; + for (var name in params) { + (name === 'bubbles') ? (bubbles = !!params[name]) : (evt[name] = params[name]); + } + evt.initEvent(event, bubbles, true); + return evt; + }; + CustomEvent.prototype = window.Event.prototype; + window.CustomEvent = CustomEvent; + } +})(); +/* + A shim for non ES5 supporting browsers. + Adds function bind to Function prototype, so that you can do partial application. + Works even with the nasty thing, where the first word is the opposite of extranet, the second one is the profession of Columbus, and the version number is 9, flipped 180 degrees. +*/ + +Function.prototype.bind = Function.prototype.bind || function(to) { + // Make an array of our arguments, starting from second argument + var partial = Array.prototype.splice.call(arguments, 1), + // We'll need the original function. + fn = this; + var bound = function() { + // Join the already applied arguments to the now called ones (after converting to an array again). + var args = partial.concat(Array.prototype.splice.call(arguments, 0)); + // If not being called as a constructor + if (!(this instanceof bound)) { + // return the result of the function called bound to target and partially applied. + return fn.apply(to, args); + } + // If being called as a constructor, apply the function bound to self. + fn.apply(this, args); + } + // Attach the prototype of the function to our newly created function. + bound.prototype = fn.prototype; + return bound; +}; +/** + * mui fixed classList + * @param {type} document + * @returns {undefined} + */ +(function(document) { + if (!("classList" in document.documentElement) && Object.defineProperty && typeof HTMLElement !== 'undefined') { + + Object.defineProperty(HTMLElement.prototype, 'classList', { + get: function() { + var self = this; + function update(fn) { + return function(value) { + var classes = self.className.split(/\s+/), + index = classes.indexOf(value); + + fn(classes, index, value); + self.className = classes.join(" "); + }; + } + + var ret = { + add: update(function(classes, index, value) { + ~index || classes.push(value); + }), + remove: update(function(classes, index) { + ~index && classes.splice(index, 1); + }), + toggle: update(function(classes, index, value) { + ~index ? classes.splice(index, 1) : classes.push(value); + }), + contains: function(value) { + return !!~self.className.split(/\s+/).indexOf(value); + }, + item: function(i) { + return self.className.split(/\s+/)[i] || null; + } + }; + + Object.defineProperty(ret, 'length', { + get: function() { + return self.className.split(/\s+/).length; + } + }); + + return ret; + } + }); + } +})(document); + +/** + * mui fixed requestAnimationFrame + * @param {type} window + * @returns {undefined} + */ +(function(window) { + if (!window.requestAnimationFrame) { + var lastTime = 0; + window.requestAnimationFrame = window.webkitRequestAnimationFrame || function(callback, element) { + var currTime = new Date().getTime(); + var timeToCall = Math.max(0, 16.7 - (currTime - lastTime)); + var id = window.setTimeout(function() { + callback(currTime + timeToCall); + }, timeToCall); + lastTime = currTime + timeToCall; + return id; + }; + window.cancelAnimationFrame = window.webkitCancelAnimationFrame || window.webkitCancelRequestAnimationFrame || function(id) { + clearTimeout(id); + }; + }; +}(window)); +/** + * fastclick(only for radio,checkbox) + */ +(function($, window, name) { + if (!$.os.android && !$.os.ios) { //目前仅识别android和ios + return; + } + if (window.FastClick) { + return; + } + + var handle = function(event, target) { + if (target.tagName === 'LABEL') { + if (target.parentNode) { + target = target.parentNode.querySelector('input'); + } + } + if (target && (target.type === 'radio' || target.type === 'checkbox')) { + if (!target.disabled) { //disabled + return target; + } + } + return false; + }; + + $.registerTarget({ + name: name, + index: 40, + handle: handle, + target: false + }); + var dispatchEvent = function(event) { + var targetElement = $.targets.click; + if (targetElement) { + var clickEvent, touch; + // On some Android devices activeElement needs to be blurred otherwise the synthetic click will have no effect + if (document.activeElement && document.activeElement !== targetElement) { + document.activeElement.blur(); + } + touch = event.detail.gesture.changedTouches[0]; + // Synthesise a click event, with an extra attribute so it can be tracked + clickEvent = document.createEvent('MouseEvents'); + clickEvent.initMouseEvent('click', true, true, window, 1, touch.screenX, touch.screenY, touch.clientX, touch.clientY, false, false, false, false, 0, null); + clickEvent.forwardedTouchEvent = true; + targetElement.dispatchEvent(clickEvent); + event.detail && event.detail.gesture.preventDefault(); + } + }; + window.addEventListener('tap', dispatchEvent); + window.addEventListener('doubletap', dispatchEvent); + //捕获 + window.addEventListener('click', function(event) { + if ($.targets.click) { + if (!event.forwardedTouchEvent) { //stop click + if (event.stopImmediatePropagation) { + event.stopImmediatePropagation(); + } else { + // Part of the hack for browsers that don't support Event#stopImmediatePropagation + event.propagationStopped = true; + } + event.stopPropagation(); + event.preventDefault(); + return false; + } + } + }, true); + +})(mui, window, 'click'); +(function($, document) { + $(function() { + if (!$.os.ios) { + return; + } + var CLASS_FOCUSIN = 'mui-focusin'; + var CLASS_BAR_TAB = 'mui-bar-tab'; + var CLASS_BAR_FOOTER = 'mui-bar-footer'; + var CLASS_BAR_FOOTER_SECONDARY = 'mui-bar-footer-secondary'; + var CLASS_BAR_FOOTER_SECONDARY_TAB = 'mui-bar-footer-secondary-tab'; + // var content = document.querySelector('.' + CLASS_CONTENT); + // if (content) { + // document.body.insertBefore(content, document.body.firstElementChild); + // } + document.addEventListener('focusin', function(e) { + if ($.os.plus) { //在父webview里边不fix + if (window.plus) { + if (plus.webview.currentWebview().children().length > 0) { + return; + } + } + } + var target = e.target; + //TODO 需考虑所有键盘弹起的情况 + if (target.tagName && (target.tagName === 'TEXTAREA' || (target.tagName === 'INPUT' && (target.type === 'text' || target.type === 'search' || target.type === 'number')))) { + if (target.disabled || target.readOnly) { + return; + } + document.body.classList.add(CLASS_FOCUSIN); + var isFooter = false; + for (; target && target !== document; target = target.parentNode) { + var classList = target.classList; + if (classList && classList.contains(CLASS_BAR_TAB) || classList.contains(CLASS_BAR_FOOTER) || classList.contains(CLASS_BAR_FOOTER_SECONDARY) || classList.contains(CLASS_BAR_FOOTER_SECONDARY_TAB)) { + isFooter = true; + break; + } + } + if (isFooter) { + var scrollTop = document.body.scrollHeight; + var scrollLeft = document.body.scrollLeft; + setTimeout(function() { + window.scrollTo(scrollLeft, scrollTop); + }, 20); + } + } + }); + document.addEventListener('focusout', function(e) { + var classList = document.body.classList; + if (classList.contains(CLASS_FOCUSIN)) { + classList.remove(CLASS_FOCUSIN); + setTimeout(function() { + window.scrollTo(document.body.scrollLeft, document.body.scrollTop); + }, 20); + } + }); + }); +})(mui, document); +/** + * mui namespace(optimization) + * @param {type} $ + * @returns {undefined} + */ +(function($) { + $.namespace = 'mui'; + $.classNamePrefix = $.namespace + '-'; + $.classSelectorPrefix = '.' + $.classNamePrefix; + /** + * 返回正确的className + * @param {type} className + * @returns {String} + */ + $.className = function(className) { + return $.classNamePrefix + className; + }; + /** + * 返回正确的classSelector + * @param {type} classSelector + * @returns {String} + */ + $.classSelector = function(classSelector) { + return classSelector.replace(/\./g, $.classSelectorPrefix); + }; + /** + * 返回正确的eventName + * @param {type} event + * @param {type} module + * @returns {String} + */ + $.eventName = function(event, module) { + return event + ($.namespace ? ('.' + $.namespace) : '') + ( module ? ('.' + module) : ''); + }; +})(mui); + +/** + * mui gestures + * @param {type} $ + * @param {type} window + * @returns {undefined} + */ +(function($, window) { + $.gestures = { + session: {} + }; + /** + * Gesture preventDefault + * @param {type} e + * @returns {undefined} + */ + $.preventDefault = function(e) { + e.preventDefault(); + }; + /** + * Gesture stopPropagation + * @param {type} e + * @returns {undefined} + */ + $.stopPropagation = function(e) { + e.stopPropagation(); + }; + + /** + * register gesture + * @param {type} gesture + * @returns {$.gestures} + */ + $.addGesture = function(gesture) { + return $.addAction('gestures', gesture); + + }; + + var round = Math.round; + var abs = Math.abs; + var sqrt = Math.sqrt; + var atan = Math.atan; + var atan2 = Math.atan2; + /** + * distance + * @param {type} p1 + * @param {type} p2 + * @returns {Number} + */ + var getDistance = function(p1, p2, props) { + if(!props) { + props = ['x', 'y']; + } + var x = p2[props[0]] - p1[props[0]]; + var y = p2[props[1]] - p1[props[1]]; + return sqrt((x * x) + (y * y)); + }; + /** + * scale + * @param {Object} starts + * @param {Object} moves + */ + var getScale = function(starts, moves) { + if(starts.length >= 2 && moves.length >= 2) { + var props = ['pageX', 'pageY']; + return getDistance(moves[1], moves[0], props) / getDistance(starts[1], starts[0], props); + } + return 1; + }; + /** + * angle + * @param {type} p1 + * @param {type} p2 + * @returns {Number} + */ + var getAngle = function(p1, p2, props) { + if(!props) { + props = ['x', 'y']; + } + var x = p2[props[0]] - p1[props[0]]; + var y = p2[props[1]] - p1[props[1]]; + return atan2(y, x) * 180 / Math.PI; + }; + /** + * direction + * @param {Object} x + * @param {Object} y + */ + var getDirection = function(x, y) { + if(x === y) { + return ''; + } + if(abs(x) >= abs(y)) { + return x > 0 ? 'left' : 'right'; + } + return y > 0 ? 'up' : 'down'; + }; + /** + * rotation + * @param {Object} start + * @param {Object} end + */ + var getRotation = function(start, end) { + var props = ['pageX', 'pageY']; + return getAngle(end[1], end[0], props) - getAngle(start[1], start[0], props); + }; + /** + * px per ms + * @param {Object} deltaTime + * @param {Object} x + * @param {Object} y + */ + var getVelocity = function(deltaTime, x, y) { + return { + x: x / deltaTime || 0, + y: y / deltaTime || 0 + }; + }; + /** + * detect gestures + * @param {type} event + * @param {type} touch + * @returns {undefined} + */ + var detect = function(event, touch) { + if($.gestures.stoped) { + return; + } + $.doAction('gestures', function(index, gesture) { + if(!$.gestures.stoped) { + if($.options.gestureConfig[gesture.name] !== false) { + gesture.handle(event, touch); + } + } + }); + }; + /** + * 暂时无用 + * @param {Object} node + * @param {Object} parent + */ + var hasParent = function(node, parent) { + while(node) { + if(node == parent) { + return true; + } + node = node.parentNode; + } + return false; + }; + + var uniqueArray = function(src, key, sort) { + var results = []; + var values = []; + var i = 0; + + while(i < src.length) { + var val = key ? src[i][key] : src[i]; + if(values.indexOf(val) < 0) { + results.push(src[i]); + } + values[i] = val; + i++; + } + + if(sort) { + if(!key) { + results = results.sort(); + } else { + results = results.sort(function sortUniqueArray(a, b) { + return a[key] > b[key]; + }); + } + } + + return results; + }; + var getMultiCenter = function(touches) { + var touchesLength = touches.length; + if(touchesLength === 1) { + return { + x: round(touches[0].pageX), + y: round(touches[0].pageY) + }; + } + + var x = 0; + var y = 0; + var i = 0; + while(i < touchesLength) { + x += touches[i].pageX; + y += touches[i].pageY; + i++; + } + + return { + x: round(x / touchesLength), + y: round(y / touchesLength) + }; + }; + var multiTouch = function() { + return $.options.gestureConfig.pinch; + }; + var copySimpleTouchData = function(touch) { + var touches = []; + var i = 0; + while(i < touch.touches.length) { + touches[i] = { + pageX: round(touch.touches[i].pageX), + pageY: round(touch.touches[i].pageY) + }; + i++; + } + return { + timestamp: $.now(), + gesture: touch.gesture, + touches: touches, + center: getMultiCenter(touch.touches), + deltaX: touch.deltaX, + deltaY: touch.deltaY + }; + }; + + var calDelta = function(touch) { + var session = $.gestures.session; + var center = touch.center; + var offset = session.offsetDelta || {}; + var prevDelta = session.prevDelta || {}; + var prevTouch = session.prevTouch || {}; + + if(touch.gesture.type === $.EVENT_START || touch.gesture.type === $.EVENT_END) { + prevDelta = session.prevDelta = { + x: prevTouch.deltaX || 0, + y: prevTouch.deltaY || 0 + }; + + offset = session.offsetDelta = { + x: center.x, + y: center.y + }; + } + touch.deltaX = prevDelta.x + (center.x - offset.x); + touch.deltaY = prevDelta.y + (center.y - offset.y); + }; + var calTouchData = function(touch) { + var session = $.gestures.session; + var touches = touch.touches; + var touchesLength = touches.length; + + if(!session.firstTouch) { + session.firstTouch = copySimpleTouchData(touch); + } + + if(multiTouch() && touchesLength > 1 && !session.firstMultiTouch) { + session.firstMultiTouch = copySimpleTouchData(touch); + } else if(touchesLength === 1) { + session.firstMultiTouch = false; + } + + var firstTouch = session.firstTouch; + var firstMultiTouch = session.firstMultiTouch; + var offsetCenter = firstMultiTouch ? firstMultiTouch.center : firstTouch.center; + + var center = touch.center = getMultiCenter(touches); + touch.timestamp = $.now(); + touch.deltaTime = touch.timestamp - firstTouch.timestamp; + + touch.angle = getAngle(offsetCenter, center); + touch.distance = getDistance(offsetCenter, center); + + calDelta(touch); + + touch.offsetDirection = getDirection(touch.deltaX, touch.deltaY); + + touch.scale = firstMultiTouch ? getScale(firstMultiTouch.touches, touches) : 1; + touch.rotation = firstMultiTouch ? getRotation(firstMultiTouch.touches, touches) : 0; + + calIntervalTouchData(touch); + + }; + var CAL_INTERVAL = 25; + var calIntervalTouchData = function(touch) { + var session = $.gestures.session; + var last = session.lastInterval || touch; + var deltaTime = touch.timestamp - last.timestamp; + var velocity; + var velocityX; + var velocityY; + var direction; + + if(touch.gesture.type != $.EVENT_CANCEL && (deltaTime > CAL_INTERVAL || last.velocity === undefined)) { + var deltaX = last.deltaX - touch.deltaX; + var deltaY = last.deltaY - touch.deltaY; + + var v = getVelocity(deltaTime, deltaX, deltaY); + velocityX = v.x; + velocityY = v.y; + velocity = (abs(v.x) > abs(v.y)) ? v.x : v.y; + direction = getDirection(deltaX, deltaY) || last.direction; + + session.lastInterval = touch; + } else { + velocity = last.velocity; + velocityX = last.velocityX; + velocityY = last.velocityY; + direction = last.direction; + } + + touch.velocity = velocity; + touch.velocityX = velocityX; + touch.velocityY = velocityY; + touch.direction = direction; + }; + var targetIds = {}; + var convertTouches = function(touches) { + for(var i = 0; i < touches.length; i++) { + !touches['identifier'] && (touches['identifier'] = 0); + } + return touches; + }; + var getTouches = function(event, touch) { + var allTouches = convertTouches($.slice.call(event.touches || [event])); + + var type = event.type; + + var targetTouches = []; + var changedTargetTouches = []; + + //当touchstart或touchmove且touches长度为1,直接获得all和changed + if((type === $.EVENT_START || type === $.EVENT_MOVE) && allTouches.length === 1) { + targetIds[allTouches[0].identifier] = true; + targetTouches = allTouches; + changedTargetTouches = allTouches; + touch.target = event.target; + } else { + var i = 0; + var targetTouches = []; + var changedTargetTouches = []; + var changedTouches = convertTouches($.slice.call(event.changedTouches || [event])); + + touch.target = event.target; + var sessionTarget = $.gestures.session.target || event.target; + targetTouches = allTouches.filter(function(touch) { + return hasParent(touch.target, sessionTarget); + }); + + if(type === $.EVENT_START) { + i = 0; + while(i < targetTouches.length) { + targetIds[targetTouches[i].identifier] = true; + i++; + } + } + + i = 0; + while(i < changedTouches.length) { + if(targetIds[changedTouches[i].identifier]) { + changedTargetTouches.push(changedTouches[i]); + } + if(type === $.EVENT_END || type === $.EVENT_CANCEL) { + delete targetIds[changedTouches[i].identifier]; + } + i++; + } + + if(!changedTargetTouches.length) { + return false; + } + } + targetTouches = uniqueArray(targetTouches.concat(changedTargetTouches), 'identifier', true); + var touchesLength = targetTouches.length; + var changedTouchesLength = changedTargetTouches.length; + if(type === $.EVENT_START && touchesLength - changedTouchesLength === 0) { //first + touch.isFirst = true; + $.gestures.touch = $.gestures.session = { + target: event.target + }; + } + touch.isFinal = ((type === $.EVENT_END || type === $.EVENT_CANCEL) && (touchesLength - changedTouchesLength === 0)); + + touch.touches = targetTouches; + touch.changedTouches = changedTargetTouches; + return true; + + }; + var handleTouchEvent = function(event) { + var touch = { + gesture: event + }; + var touches = getTouches(event, touch); + if(!touches) { + return; + } + calTouchData(touch); + detect(event, touch); + $.gestures.session.prevTouch = touch; + if(event.type === $.EVENT_END && !$.isTouchable) { + $.gestures.touch = $.gestures.session = {}; + } + }; + var supportsPassive = (function checkPassiveListener() { + var supportsPassive = false; + try { + var opts = Object.defineProperty({}, 'passive', { + get: function get() { + supportsPassive = true; + }, + }); + window.addEventListener('testPassiveListener', null, opts); + } catch(e) { + // No support + } + return supportsPassive; + }()) + window.addEventListener($.EVENT_START, handleTouchEvent); + window.addEventListener($.EVENT_MOVE, handleTouchEvent, supportsPassive ? { + passive: false, + capture: false + } : false); + window.addEventListener($.EVENT_END, handleTouchEvent); + window.addEventListener($.EVENT_CANCEL, handleTouchEvent); + //fixed hashchange(android) + window.addEventListener($.EVENT_CLICK, function(e) { + //TODO 应该判断当前target是不是在targets.popover内部,而不是非要相等 + if(($.os.android || $.os.ios) && (($.targets.popover && e.target === $.targets.popover) || ($.targets.tab) || $.targets.offcanvas || $.targets.modal)) { + e.preventDefault(); + } + }, true); + + //增加原生滚动识别 + $.isScrolling = false; + var scrollingTimeout = null; + window.addEventListener('scroll', function() { + $.isScrolling = true; + scrollingTimeout && clearTimeout(scrollingTimeout); + scrollingTimeout = setTimeout(function() { + $.isScrolling = false; + }, 250); + }); +})(mui, window); +/** + * mui gesture flick[left|right|up|down] + * @param {type} $ + * @param {type} name + * @returns {undefined} + */ +(function($, name) { + var flickStartTime = 0; + var handle = function(event, touch) { + var session = $.gestures.session; + var options = this.options; + var now = $.now(); + switch (event.type) { + case $.EVENT_MOVE: + if (now - flickStartTime > 300) { + flickStartTime = now; + session.flickStart = touch.center; + } + break; + case $.EVENT_END: + case $.EVENT_CANCEL: + touch.flick = false; + if (session.flickStart && options.flickMaxTime > (now - flickStartTime) && touch.distance > options.flickMinDistince) { + touch.flick = true; + touch.flickTime = now - flickStartTime; + touch.flickDistanceX = touch.center.x - session.flickStart.x; + touch.flickDistanceY = touch.center.y - session.flickStart.y; + $.trigger(session.target, name, touch); + $.trigger(session.target, name + touch.direction, touch); + } + break; + } + + }; + /** + * mui gesture flick + */ + $.addGesture({ + name: name, + index: 5, + handle: handle, + options: { + flickMaxTime: 200, + flickMinDistince: 10 + } + }); +})(mui, 'flick'); +/** + * mui gesture swipe[left|right|up|down] + * @param {type} $ + * @param {type} name + * @returns {undefined} + */ +(function($, name) { + var handle = function(event, touch) { + var session = $.gestures.session; + if (event.type === $.EVENT_END || event.type === $.EVENT_CANCEL) { + var options = this.options; + touch.swipe = false; + //TODO 后续根据velocity计算 + if (touch.direction && options.swipeMaxTime > touch.deltaTime && touch.distance > options.swipeMinDistince) { + touch.swipe = true; + $.trigger(session.target, name, touch); + $.trigger(session.target, name + touch.direction, touch); + } + } + }; + /** + * mui gesture swipe + */ + $.addGesture({ + name: name, + index: 10, + handle: handle, + options: { + swipeMaxTime: 300, + swipeMinDistince: 18 + } + }); +})(mui, 'swipe'); +/** + * mui gesture drag[start|left|right|up|down|end] + * @param {type} $ + * @param {type} name + * @returns {undefined} + */ +(function($, name) { + var handle = function(event, touch) { + var session = $.gestures.session; + switch (event.type) { + case $.EVENT_START: + break; + case $.EVENT_MOVE: + if (!touch.direction || !session.target) { + return; + } + //修正direction,可在session期间自行锁定拖拽方向,方便开发scroll类不同方向拖拽插件嵌套 + if (session.lockDirection && session.startDirection) { + if (session.startDirection && session.startDirection !== touch.direction) { + if (session.startDirection === 'up' || session.startDirection === 'down') { + touch.direction = touch.deltaY < 0 ? 'up' : 'down'; + } else { + touch.direction = touch.deltaX < 0 ? 'left' : 'right'; + } + } + } + + if (!session.drag) { + session.drag = true; + $.trigger(session.target, name + 'start', touch); + } + $.trigger(session.target, name, touch); + $.trigger(session.target, name + touch.direction, touch); + break; + case $.EVENT_END: + case $.EVENT_CANCEL: + if (session.drag && touch.isFinal) { + $.trigger(session.target, name + 'end', touch); + } + break; + } + }; + /** + * mui gesture drag + */ + $.addGesture({ + name: name, + index: 20, + handle: handle, + options: { + fingers: 1 + } + }); +})(mui, 'drag'); +/** + * mui gesture tap and doubleTap + * @param {type} $ + * @param {type} name + * @returns {undefined} + */ +(function($, name) { + var lastTarget; + var lastTapTime; + var handle = function(event, touch) { + var session = $.gestures.session; + var options = this.options; + switch (event.type) { + case $.EVENT_END: + if (!touch.isFinal) { + return; + } + var target = session.target; + if (!target || (target.disabled || (target.classList && target.classList.contains('mui-disabled')))) { + return; + } + if (touch.distance < options.tapMaxDistance && touch.deltaTime < options.tapMaxTime) { + if ($.options.gestureConfig.doubletap && lastTarget && (lastTarget === target)) { //same target + if (lastTapTime && (touch.timestamp - lastTapTime) < options.tapMaxInterval) { + $.trigger(target, 'doubletap', touch); + lastTapTime = $.now(); + lastTarget = target; + return; + } + } + $.trigger(target, name, touch); + lastTapTime = $.now(); + lastTarget = target; + } + break; + } + }; + /** + * mui gesture tap + */ + $.addGesture({ + name: name, + index: 30, + handle: handle, + options: { + fingers: 1, + tapMaxInterval: 300, + tapMaxDistance: 5, + tapMaxTime: 250 + } + }); +})(mui, 'tap'); +/** + * mui gesture longtap + * @param {type} $ + * @param {type} name + * @returns {undefined} + */ +(function($, name) { + var timer; + var handle = function(event, touch) { + var session = $.gestures.session; + var options = this.options; + switch (event.type) { + case $.EVENT_START: + clearTimeout(timer); + timer = setTimeout(function() { + $.trigger(session.target, name, touch); + }, options.holdTimeout); + break; + case $.EVENT_MOVE: + if (touch.distance > options.holdThreshold) { + clearTimeout(timer); + } + break; + case $.EVENT_END: + case $.EVENT_CANCEL: + clearTimeout(timer); + break; + } + }; + /** + * mui gesture longtap + */ + $.addGesture({ + name: name, + index: 10, + handle: handle, + options: { + fingers: 1, + holdTimeout: 500, + holdThreshold: 2 + } + }); +})(mui, 'longtap'); +/** + * mui gesture hold + * @param {type} $ + * @param {type} name + * @returns {undefined} + */ +(function($, name) { + var timer; + var handle = function(event, touch) { + var session = $.gestures.session; + var options = this.options; + switch (event.type) { + case $.EVENT_START: + if ($.options.gestureConfig.hold) { + timer && clearTimeout(timer); + timer = setTimeout(function() { + touch.hold = true; + $.trigger(session.target, name, touch); + }, options.holdTimeout); + } + break; + case $.EVENT_MOVE: + break; + case $.EVENT_END: + case $.EVENT_CANCEL: + if (timer) { + clearTimeout(timer) && (timer = null); + $.trigger(session.target, 'release', touch); + } + break; + } + }; + /** + * mui gesture hold + */ + $.addGesture({ + name: name, + index: 10, + handle: handle, + options: { + fingers: 1, + holdTimeout: 0 + } + }); +})(mui, 'hold'); +/** + * mui gesture pinch + * @param {type} $ + * @param {type} name + * @returns {undefined} + */ +(function($, name) { + var handle = function(event, touch) { + var options = this.options; + var session = $.gestures.session; + switch (event.type) { + case $.EVENT_START: + break; + case $.EVENT_MOVE: + if ($.options.gestureConfig.pinch) { + if (touch.touches.length < 2) { + return; + } + if (!session.pinch) { //start + session.pinch = true; + $.trigger(session.target, name + 'start', touch); + } + $.trigger(session.target, name, touch); + var scale = touch.scale; + var rotation = touch.rotation; + var lastScale = typeof touch.lastScale === 'undefined' ? 1 : touch.lastScale; + var scaleDiff = 0.000000000001; //防止scale与lastScale相等,不触发事件的情况。 + if (scale > lastScale) { //out + lastScale = scale - scaleDiff; + $.trigger(session.target, name + 'out', touch); + } //in + else if (scale < lastScale) { + lastScale = scale + scaleDiff; + $.trigger(session.target, name + 'in', touch); + } + if (Math.abs(rotation) > options.minRotationAngle) { + $.trigger(session.target, 'rotate', touch); + } + } + break; + case $.EVENT_END: + case $.EVENT_CANCEL: + if ($.options.gestureConfig.pinch && session.pinch && touch.touches.length === 2) { + session.pinch = false; + $.trigger(session.target, name + 'end', touch); + } + break; + } + }; + /** + * mui gesture pinch + */ + $.addGesture({ + name: name, + index: 10, + handle: handle, + options: { + minRotationAngle: 0 + } + }); +})(mui, 'pinch'); +/** + * mui.init + * @param {type} $ + * @returns {undefined} + */ +(function($) { + $.global = $.options = { + gestureConfig: { + tap: true, + doubletap: false, + longtap: false, + hold: false, + flick: true, + swipe: true, + drag: true, + pinch: false + } + }; + /** + * + * @param {type} options + * @returns {undefined} + */ + $.initGlobal = function(options) { + $.options = $.extend(true, $.global, options); + return this; + }; + var inits = {}; + + /** + * 单页配置 初始化 + * @param {object} options + */ + $.init = function(options) { + $.options = $.extend(true, $.global, options || {}); + $.ready(function() { + $.doAction('inits', function(index, init) { + var isInit = !!(!inits[init.name] || init.repeat); + if (isInit) { + init.handle.call($); + inits[init.name] = true; + } + }); + }); + return this; + }; + + /** + * 增加初始化执行流程 + * @param {function} init + */ + $.addInit = function(init) { + return $.addAction('inits', init); + }; + /** + * 处理html5版本subpages + */ + $.addInit({ + name: 'iframe', + index: 100, + handle: function() { + var options = $.options; + var subpages = options.subpages || []; + if (!$.os.plus && subpages.length) { + //暂时只处理单个subpage。后续可以考虑支持多个subpage + createIframe(subpages[0]); + } + } + }); + var createIframe = function(options) { + var wrapper = document.createElement('div'); + wrapper.className = 'mui-iframe-wrapper'; + var styles = options.styles || {}; + if (typeof styles.top !== 'string') { + styles.top = '0px'; + } + if (typeof styles.bottom !== 'string') { + styles.bottom = '0px'; + } + wrapper.style.top = styles.top; + wrapper.style.bottom = styles.bottom; + var iframe = document.createElement('iframe'); + iframe.src = options.url; + iframe.id = options.id || options.url; + iframe.name = iframe.id; + wrapper.appendChild(iframe); + document.body.appendChild(wrapper); + //目前仅处理微信 + $.os.wechat && handleScroll(wrapper, iframe); + }; + + function handleScroll(wrapper, iframe) { + var key = 'MUI_SCROLL_POSITION_' + document.location.href + '_' + iframe.src; + var scrollTop = (parseFloat(localStorage.getItem(key)) || 0); + if (scrollTop) { + (function(y) { + iframe.onload = function() { + window.scrollTo(0, y); + }; + })(scrollTop); + } + setInterval(function() { + var _scrollTop = window.scrollY; + if (scrollTop !== _scrollTop) { + localStorage.setItem(key, _scrollTop + ''); + scrollTop = _scrollTop; + } + }, 100); + }; + $(function() { + var classList = document.body.classList; + var os = []; + if ($.os.ios) { + os.push({ + os: 'ios', + version: $.os.version + }); + classList.add('mui-ios'); + } else if ($.os.android) { + os.push({ + os: 'android', + version: $.os.version + }); + classList.add('mui-android'); + } + if ($.os.wechat) { + os.push({ + os: 'wechat', + version: $.os.wechat.version + }); + classList.add('mui-wechat'); + } + if (os.length) { + $.each(os, function(index, osObj) { + var version = ''; + var classArray = []; + if (osObj.version) { + $.each(osObj.version.split('.'), function(i, v) { + version = version + (version ? '-' : '') + v; + classList.add($.className(osObj.os + '-' + version)); + }); + } + }); + } + }); +})(mui); +/** + * mui.init 5+ + * @param {type} $ + * @returns {undefined} + */ +(function($) { + var defaultOptions = { + swipeBack: false, + preloadPages: [], //5+ lazyLoad webview + preloadLimit: 10, //预加载窗口的数量限制(一旦超出,先进先出) + keyEventBind: { + backbutton: true, + menubutton: true + }, + titleConfig: { + height: "44px", + backgroundColor: "#f7f7f7", //导航栏背景色 + bottomBorderColor: "#cccccc", //底部边线颜色 + title: { //标题配置 + text: "", //标题文字 + position: { + top: 0, + left: 0, + width: "100%", + height: "100%" + }, + styles: { + color: "#000000", + align: "center", + family: "'Helvetica Neue',Helvetica,sans-serif", + size: "17px", + style: "normal", + weight: "normal", + fontSrc: "" + } + }, + back: { + image: { + base64Data: '', + imgSrc: '', + sprite: { + top: '0px', + left: '0px', + width: '100%', + height: '100%' + }, + position: { + top: "10px", + left: "10px", + width: "24px", + height: "24px" + } + } + } + } + }; + + //默认页面动画 + var defaultShow = { + event:"titleUpdate", + autoShow: true, + duration: 300, + aniShow: 'slide-in-right', + extras:{} + }; + //若执行了显示动画初始化操作,则要覆盖默认配置 + if($.options.show) { + defaultShow = $.extend(true, defaultShow, $.options.show); + } + + $.currentWebview = null; + + $.extend(true, $.global, defaultOptions); + $.extend(true, $.options, defaultOptions); + /** + * 等待动画配置 + * @param {type} options + * @returns {Object} + */ + $.waitingOptions = function(options) { + return $.extend(true, {}, { + autoShow: true, + title: '', + modal: false + }, options); + }; + /** + * 窗口显示配置 + * @param {type} options + * @returns {Object} + */ + $.showOptions = function(options) { + return $.extend(true, {}, defaultShow, options); + }; + /** + * 窗口默认配置 + * @param {type} options + * @returns {Object} + */ + $.windowOptions = function(options) { + return $.extend({ + scalable: false, + bounce: "" //vertical + }, options); + }; + /** + * plusReady + * @param {type} callback + * @returns {_L6.$} + */ + $.plusReady = function(callback) { + if(window.plus) { + setTimeout(function() { //解决callback与plusready事件的执行时机问题(典型案例:showWaiting,closeWaiting) + callback(); + }, 0); + } else { + document.addEventListener("plusready", function() { + callback(); + }, false); + } + return this; + }; + /** + * 5+ event(5+没提供之前我自己实现) + * @param {type} webview + * @param {type} eventType + * @param {type} data + * @returns {undefined} + */ + $.fire = function(webview, eventType, data) { + if(webview) { + if(typeof data === 'undefined') { + data = ''; + } else if(typeof data === 'boolean' || typeof data === 'number') { + webview.evalJS("typeof mui!=='undefined'&&mui.receive('" + eventType + "'," + data + ")"); + return; + } else if($.isPlainObject(data) || $.isArray(data)) { + data = JSON.stringify(data || {}).replace(/\'/g, "\\u0027").replace(/\\/g, "\\u005c"); + } + webview.evalJS("typeof mui!=='undefined'&&mui.receive('" + eventType + "','" + data + "')"); + } + }; + /** + * 5+ event(5+没提供之前我自己实现) + * @param {type} eventType + * @param {type} data + * @returns {undefined} + */ + $.receive = function(eventType, data) { + if(eventType) { + try { + if(data && typeof data === 'string') { + data = JSON.parse(data); + } + } catch(e) {} + $.trigger(document, eventType, data); + } + }; + var triggerPreload = function(webview) { + if(!webview.preloaded) { //保证仅触发一次 + $.fire(webview, 'preload'); + var list = webview.children(); + for(var i = 0; i < list.length; i++) { + $.fire(list[i], 'preload'); + } + webview.preloaded = true; + } + }; + var trigger = function(webview, eventType, timeChecked) { + if(timeChecked) { + if(!webview[eventType + 'ed']) { + $.fire(webview, eventType); + var list = webview.children(); + for(var i = 0; i < list.length; i++) { + $.fire(list[i], eventType); + } + webview[eventType + 'ed'] = true; + } + } else { + $.fire(webview, eventType); + var list = webview.children(); + for(var i = 0; i < list.length; i++) { + $.fire(list[i], eventType); + } + } + + }; + /** + * 打开新窗口 + * @param {string} url 要打开的页面地址 + * @param {string} id 指定页面ID + * @param {object} options 可选:参数,等待,窗口,显示配置{params:{},waiting:{},styles:{},show:{}} + */ + $.openWindow = function(url, id, options) { + if(typeof url === 'object') { + options = url; + url = options.url; + id = options.id || url; + } else { + if(typeof id === 'object') { + options = id; + id = options.id || url; + } else { + id = id || url; + } + } + if(!$.os.plus) { + //TODO 先临时这么处理:手机上顶层跳,PC上parent跳 + if($.os.ios || $.os.android) { + window.top.location.href = url; + } else { + window.parent.location.href = url; + } + return; + } + if(!window.plus) { + return; + } + + options = options || {}; + var params = options.params || {}; + var webview = null, + webviewCache = null, + nShow, nWaiting; + + if($.webviews[id]) { + webviewCache = $.webviews[id]; + //webview真实存在,才能获取 + if(plus.webview.getWebviewById(id)) { + webview = webviewCache.webview; + } + } else if(options.createNew !== true) { + webview = plus.webview.getWebviewById(id); + } + + if(webview) { //已缓存 + //每次show都需要传递动画参数; + //预加载的动画参数优先级:openWindow配置>preloadPages配置>mui默认配置; + nShow = webviewCache ? webviewCache.show : defaultShow; + nShow = options.show ? $.extend(nShow, options.show) : nShow; + nShow.autoShow && webview.show(nShow.aniShow, nShow.duration, function() { + triggerPreload(webview); + trigger(webview, 'pagebeforeshow', false); + }); + if(webviewCache) { + webviewCache.afterShowMethodName && webview.evalJS(webviewCache.afterShowMethodName + '(\'' + JSON.stringify(params) + '\')'); + } + return webview; + } else { //新窗口 + if(!url) { + throw new Error('webview[' + id + '] does not exist'); + } + + //显示waiting + var waitingConfig = $.waitingOptions(options.waiting); + if(waitingConfig.autoShow) { + nWaiting = plus.nativeUI.showWaiting(waitingConfig.title, waitingConfig.options); + } + + //创建页面 + options = $.extend(options, { + id: id, + url: url + }); + + webview = $.createWindow(options); + + //显示 + nShow = $.showOptions(options.show); + if(nShow.autoShow) { + var showWebview = function() { + //关闭等待框 + if(nWaiting) { + nWaiting.close(); + } + //显示页面 + webview.show(nShow.aniShow, nShow.duration, function() {},nShow.extras); + options.afterShowMethodName && webview.evalJS(options.afterShowMethodName + '(\'' + JSON.stringify(params) + '\')'); + }; + //titleUpdate触发时机早于loaded,更换为titleUpdate后,可以更早的显示webview + webview.addEventListener(nShow.event, showWebview, false); + //loaded事件发生后,触发预加载和pagebeforeshow事件 + webview.addEventListener("loaded", function() { + triggerPreload(webview); + trigger(webview, 'pagebeforeshow', false); + }, false); + } + } + return webview; + }; + + $.openWindowWithTitle = function(options, titleConfig) { + options = options || {}; + var url = options.url; + var id = options.id || url; + + if(!$.os.plus) { + //TODO 先临时这么处理:手机上顶层跳,PC上parent跳 + if($.os.ios || $.os.android) { + window.top.location.href = url; + } else { + window.parent.location.href = url; + } + return; + } + if(!window.plus) { + return; + } + + var params = options.params || {}; + var webview = null, + webviewCache = null, + nShow, nWaiting; + + if($.webviews[id]) { + webviewCache = $.webviews[id]; + //webview真实存在,才能获取 + if(plus.webview.getWebviewById(id)) { + webview = webviewCache.webview; + } + } else if(options.createNew !== true) { + webview = plus.webview.getWebviewById(id); + } + + if(webview) { //已缓存 + //每次show都需要传递动画参数; + //预加载的动画参数优先级:openWindow配置>preloadPages配置>mui默认配置; + nShow = webviewCache ? webviewCache.show : defaultShow; + nShow = options.show ? $.extend(nShow, options.show) : nShow; + nShow.autoShow && webview.show(nShow.aniShow, nShow.duration, function() { + triggerPreload(webview); + trigger(webview, 'pagebeforeshow', false); + }); + if(webviewCache) { + webviewCache.afterShowMethodName && webview.evalJS(webviewCache.afterShowMethodName + '(\'' + JSON.stringify(params) + '\')'); + } + return webview; + } else { //新窗口 + if(!url) { + throw new Error('webview[' + id + '] does not exist'); + } + + //显示waiting + var waitingConfig = $.waitingOptions(options.waiting); + if(waitingConfig.autoShow) { + nWaiting = plus.nativeUI.showWaiting(waitingConfig.title, waitingConfig.options); + } + + //创建页面 + options = $.extend(options, { + id: id, + url: url + }); + + webview = $.createWindow(options); + + if(titleConfig) { //处理原生头 + $.extend(true, $.options.titleConfig, titleConfig); + var tid = $.options.titleConfig.id ? $.options.titleConfig.id : id + "_title"; + var view = new plus.nativeObj.View(tid, { + top: 0, + height: $.options.titleConfig.height, + width: "100%", + dock: "top", + position: "dock" + }); + view.drawRect($.options.titleConfig.backgroundColor); //绘制背景色 + var _b = parseInt($.options.titleConfig.height) - 1; + view.drawRect($.options.titleConfig.bottomBorderColor, { + top: _b + "px", + left: "0px" + }); //绘制底部边线 + + //绘制文字 + if($.options.titleConfig.title.text){ + var _title = $.options.titleConfig.title; + view.drawText(_title.text,_title.position , _title.styles); + } + + //返回图标绘制 + var _back = $.options.titleConfig.back; + var backClick = null; + //优先字体 + + //其次是图片 + var _backImage = _back.image; + if(_backImage.base64Data || _backImage.imgSrc) { + //TODO 此处需要处理百分比的情况 + backClick = { + left:parseInt(_backImage.position.left), + right:parseInt(_backImage.position.left) + parseInt(_backImage.position.width) + }; + var bitmap = new plus.nativeObj.Bitmap(id + "_back"); + if(_backImage.base64Data) { //优先base64编码字符串 + bitmap.loadBase64Data(_backImage.base64Data); + } else { //其次加载图片文件 + bitmap.load(_backImage.imgSrc); + } + view.drawBitmap(bitmap,_backImage.sprite , _backImage.position); + } + + //处理点击事件 + view.setTouchEventRect({ + top: "0px", + left: "0px", + width: "100%", + height: "100%" + }); + view.interceptTouchEvent(true); + view.addEventListener("click", function(e) { + var x = e.clientX; + + //返回按钮点击 + if(backClick&& x > backClick.left && x < backClick.right){ + if( _back.click && $.isFunction(_back.click)){ + _back.click(); + }else{ + webview.evalJS("window.mui&&mui.back();"); + } + } + }, false); + webview.append(view); + + } + + //显示 + nShow = $.showOptions(options.show); + if(nShow.autoShow) { + //titleUpdate触发时机早于loaded,更换为titleUpdate后,可以更早的显示webview + webview.addEventListener(nShow.event, function () { + //关闭等待框 + if(nWaiting) { + nWaiting.close(); + } + //显示页面 + webview.show(nShow.aniShow, nShow.duration, function() {},nShow.extras); + }, false); + } + } + return webview; + }; + + /** + * 根据配置信息创建一个webview + * @param {type} options + * @param {type} isCreate + * @returns {webview} + */ + $.createWindow = function(options, isCreate) { + if(!window.plus) { + return; + } + var id = options.id || options.url; + var webview; + if(options.preload) { + if($.webviews[id] && $.webviews[id].webview.getURL()) { //已经cache + webview = $.webviews[id].webview; + } else { //新增预加载窗口 + //判断是否携带createNew参数,默认为false + if(options.createNew !== true) { + webview = plus.webview.getWebviewById(id); + } + + //之前没有,那就新创建 + if(!webview) { + webview = plus.webview.create(options.url, id, $.windowOptions(options.styles), $.extend({ + preload: true + }, options.extras)); + if(options.subpages) { + $.each(options.subpages, function(index, subpage) { + var subpageId = subpage.id || subpage.url; + if(subpageId) { //过滤空对象 + var subWebview = plus.webview.getWebviewById(subpageId); + if(!subWebview) { //如果该webview不存在,则创建 + subWebview = plus.webview.create(subpage.url, subpageId, $.windowOptions(subpage.styles), $.extend({ + preload: true + }, subpage.extras)); + } + webview.append(subWebview); + } + }); + } + } + } + + //TODO 理论上,子webview也应该计算到预加载队列中,但这样就麻烦了,要退必须退整体,否则可能出现问题; + $.webviews[id] = { + webview: webview, //目前仅preload的缓存webview + preload: true, + show: $.showOptions(options.show), + afterShowMethodName: options.afterShowMethodName //就不应该用evalJS。应该是通过事件消息通讯 + }; + //索引该预加载窗口 + var preloads = $.data.preloads; + var index = preloads.indexOf(id); + if(~index) { //删除已存在的(变相调整插入位置) + preloads.splice(index, 1); + } + preloads.push(id); + if(preloads.length > $.options.preloadLimit) { + //先进先出 + var first = $.data.preloads.shift(); + var webviewCache = $.webviews[first]; + if(webviewCache && webviewCache.webview) { + //需要将自己打开的所有页面,全部close; + //关闭该预加载webview + $.closeAll(webviewCache.webview); + } + //删除缓存 + delete $.webviews[first]; + } + } else { + if(isCreate !== false) { //直接创建非预加载窗口 + webview = plus.webview.create(options.url, id, $.windowOptions(options.styles), options.extras); + if(options.subpages) { + $.each(options.subpages, function(index, subpage) { + var subpageId = subpage.id || subpage.url; + var subWebview = plus.webview.getWebviewById(subpageId); + if(!subWebview) { + subWebview = plus.webview.create(subpage.url, subpageId, $.windowOptions(subpage.styles), subpage.extras); + } + webview.append(subWebview); + }); + } + } + } + return webview; + }; + + /** + * 预加载 + */ + $.preload = function(options) { + //调用预加载函数,不管是否传递preload参数,强制变为true + if(!options.preload) { + options.preload = true; + } + return $.createWindow(options); + }; + + /** + *关闭当前webview打开的所有webview; + */ + $.closeOpened = function(webview) { + var opened = webview.opened(); + if(opened) { + for(var i = 0, len = opened.length; i < len; i++) { + var openedWebview = opened[i]; + var open_open = openedWebview.opened(); + if(open_open && open_open.length > 0) { + //关闭打开的webview + $.closeOpened(openedWebview); + //关闭自己 + openedWebview.close("none"); + } else { + //如果直接孩子节点,就不用关闭了,因为父关闭的时候,会自动关闭子; + if(openedWebview.parent() !== webview) { + openedWebview.close('none'); + } + } + } + } + }; + $.closeAll = function(webview, aniShow) { + $.closeOpened(webview); + if(aniShow) { + webview.close(aniShow); + } else { + webview.close(); + } + }; + + /** + * 批量创建webview + * @param {type} options + * @returns {undefined} + */ + $.createWindows = function(options) { + $.each(options, function(index, option) { + //初始化预加载窗口(创建)和非预加载窗口(仅配置,不创建) + $.createWindow(option, false); + }); + }; + /** + * 创建当前页面的子webview + * @param {type} options + * @returns {webview} + */ + $.appendWebview = function(options) { + if(!window.plus) { + return; + } + var id = options.id || options.url; + var webview; + if(!$.webviews[id]) { //保证执行一遍 + //TODO 这里也有隐患,比如某个webview不是作为subpage创建的,而是作为target webview的话; + if(!plus.webview.getWebviewById(id)) { + webview = plus.webview.create(options.url, id, options.styles, options.extras); + } + //之前的实现方案:子窗口loaded之后再append到父窗口中; + //问题:部分子窗口loaded事件发生较晚,此时执行父窗口的children方法会返回空,导致父子通讯失败; + // 比如父页面执行完preload事件后,需触发子页面的preload事件,此时未append的话,就无法触发; + //修改方式:不再监控loaded事件,直接append + //by chb@20150521 + // webview.addEventListener('loaded', function() { + plus.webview.currentWebview().append(webview); + // }); + $.webviews[id] = options; + + } + return webview; + }; + + //全局webviews + $.webviews = {}; + //预加载窗口索引 + $.data.preloads = []; + //$.currentWebview + $.plusReady(function() { + $.currentWebview = plus.webview.currentWebview(); + }); + $.addInit({ + name: '5+', + index: 100, + handle: function() { + var options = $.options; + var subpages = options.subpages || []; + if($.os.plus) { + $.plusReady(function() { + //TODO 这里需要判断一下,最好等子窗口加载完毕后,再调用主窗口的show方法; + //或者:在openwindow方法中,监听实现; + $.each(subpages, function(index, subpage) { + $.appendWebview(subpage); + }); + //判断是否首页 + if(plus.webview.currentWebview() === plus.webview.getWebviewById(plus.runtime.appid)) { + //首页需要自己激活预加载; + //timeout因为子页面loaded之后才append的,防止子页面尚未append、从而导致其preload未触发的问题; + setTimeout(function() { + triggerPreload(plus.webview.currentWebview()); + }, 300); + } + //设置ios顶部状态栏颜色; + if($.os.ios && $.options.statusBarBackground) { + plus.navigator.setStatusBarBackground($.options.statusBarBackground); + } + if($.os.android && parseFloat($.os.version) < 4.4) { + //解决Android平台4.4版本以下,resume后,父窗体标题延迟渲染的问题; + if(plus.webview.currentWebview().parent() == null) { + document.addEventListener("resume", function() { + var body = document.body; + body.style.display = 'none'; + setTimeout(function() { + body.style.display = ''; + }, 10); + }); + } + } + }); + } else { + //已支持iframe嵌入 + // if (subpages.length > 0) { + // var err = document.createElement('div'); + // err.className = 'mui-error'; + // //文字描述 + // var span = document.createElement('span'); + // span.innerHTML = '在该浏览器下,不支持创建子页面,具体参考'; + // err.appendChild(span); + // var a = document.createElement('a'); + // a.innerHTML = '"mui框架适用场景"'; + // a.href = 'http://ask.dcloud.net.cn/article/113'; + // err.appendChild(a); + // document.body.appendChild(err); + // console.log('在该浏览器下,不支持创建子页面'); + // } + + } + + } + }); + window.addEventListener('preload', function() { + //处理预加载部分 + var webviews = $.options.preloadPages || []; + $.plusReady(function() { + $.each(webviews, function(index, webview) { + $.createWindow($.extend(webview, { + preload: true + })); + }); + + }); + }); + $.supportStatusbarOffset = function() { + return $.os.plus && $.os.ios && parseFloat($.os.version) >= 7; + }; + $.ready(function() { + //标识当前环境支持statusbar + if($.supportStatusbarOffset()) { + document.body.classList.add('mui-statusbar'); + } + }); +})(mui); + +/** + * mui back + * @param {type} $ + * @param {type} window + * @returns {undefined} + */ +(function($, window) { + /** + * register back + * @param {type} back + * @returns {$.gestures} + */ + $.addBack = function(back) { + return $.addAction('backs', back); + }; + /** + * default + */ + $.addBack({ + name: 'browser', + index: 100, + handle: function() { + if (window.history.length > 1) { + window.history.back(); + return true; + } + return false; + } + }); + /** + * 后退 + */ + $.back = function() { + if (typeof $.options.beforeback === 'function') { + if ($.options.beforeback() === false) { + return; + } + } + $.doAction('backs'); + }; + window.addEventListener('tap', function(e) { + var action = $.targets.action; + if (action && action.classList.contains('mui-action-back')) { + $.back(); + $.targets.action = false; + } + }); + window.addEventListener('swiperight', function(e) { + var detail = e.detail; + if ($.options.swipeBack === true && Math.abs(detail.angle) < 3) { + $.back(); + } + }); + +})(mui, window); +/** + * mui back 5+ + * @param {type} $ + * @param {type} window + * @returns {undefined} + */ +(function($, window) { + if ($.os.plus && $.os.android) { + $.addBack({ + name: 'mui', + index: 5, + handle: function() { + //后续重新设计此处,将back放到各个空间内部实现 + //popover + if ($.targets._popover && $.targets._popover.classList.contains('mui-active')) { + $($.targets._popover).popover('hide'); + return true; + } + //offcanvas + var offCanvas = document.querySelector('.mui-off-canvas-wrap.mui-active'); + if (offCanvas) { + $(offCanvas).offCanvas('close'); + return true; + } + var previewImage = $.isFunction($.getPreviewImage) && $.getPreviewImage(); + if (previewImage && previewImage.isShown()) { + previewImage.close(); + return true; + } + //popup + return $.closePopup(); + } + }); + } + //首次按下back按键的时间 + $.__back__first = null; + /** + * 5+ back + */ + $.addBack({ + name: '5+', + index: 10, + handle: function() { + if (!window.plus) { + return false; + } + var wobj = plus.webview.currentWebview(); + var parent = wobj.parent(); + if (parent) { + parent.evalJS('mui&&mui.back();'); + } else { + wobj.canBack(function(e) { + //by chb 暂时注释,在碰到类似popover之类的锚点的时候,需多次点击才能返回; + if (e.canBack) { //webview history back + window.history.back(); + } else { //webview close or hide + //fixed by fxy 此处不应该用opener判断,因为用户有可能自己close掉当前窗口的opener。这样的话。opener就为空了,导致不能执行close + if (wobj.id === plus.runtime.appid) { //首页 + //首页不存在opener的情况下,后退实际上应该是退出应用; + //首次按键,提示‘再按一次退出应用’ + if (!$.__back__first) { + $.__back__first = new Date().getTime(); + mui.toast('再按一次退出应用'); + setTimeout(function() { + $.__back__first = null; + }, 2000); + } else { + if (new Date().getTime() - $.__back__first < 2000) { + plus.runtime.quit(); + } + } + } else { //其他页面, + if (wobj.preload) { + wobj.hide("auto"); + } else { + //关闭页面时,需要将其打开的所有子页面全部关闭; + $.closeAll(wobj); + } + } + } + }); + } + return true; + } + }); + + + $.menu = function() { + var menu = document.querySelector('.mui-action-menu'); + if (menu) { + $.trigger(menu, $.EVENT_START); //临时处理menu无touchstart的话,找不到当前targets的问题 + $.trigger(menu, 'tap'); + } else { //执行父窗口的menu + if (window.plus) { + var wobj = $.currentWebview; + var parent = wobj.parent(); + if (parent) { //又得evalJS + parent.evalJS('mui&&mui.menu();'); + } + } + } + }; + var __back = function() { + $.back(); + }; + var __menu = function() { + $.menu(); + }; + //默认监听 + $.plusReady(function() { + if ($.options.keyEventBind.backbutton) { + plus.key.addEventListener('backbutton', __back, false); + } + if ($.options.keyEventBind.menubutton) { + plus.key.addEventListener('menubutton', __menu, false); + } + }); + //处理按键监听事件 + $.addInit({ + name: 'keyEventBind', + index: 1000, + handle: function() { + $.plusReady(function() { + //如果不为true,则移除默认监听 + if (!$.options.keyEventBind.backbutton) { + plus.key.removeEventListener('backbutton', __back); + } + if (!$.options.keyEventBind.menubutton) { + plus.key.removeEventListener('menubutton', __menu); + } + }); + } + }); +})(mui, window); +/** + * mui.init pulldownRefresh + * @param {type} $ + * @returns {undefined} + */ +(function($) { + $.addInit({ + name: 'pullrefresh', + index: 1000, + handle: function() { + var options = $.options; + var pullRefreshOptions = options.pullRefresh || {}; + var hasPulldown = pullRefreshOptions.down && pullRefreshOptions.down.hasOwnProperty('callback'); + var hasPullup = pullRefreshOptions.up && pullRefreshOptions.up.hasOwnProperty('callback'); + if(hasPulldown || hasPullup) { + var container = pullRefreshOptions.container; + if(container) { + var $container = $(container); + if($container.length === 1) { + if($.os.plus) { //5+环境 + if(hasPulldown && pullRefreshOptions.down.style == "circle") { //原生转圈 + $.plusReady(function() { + //这里改写$.fn.pullRefresh + $.fn.pullRefresh = $.fn.pullRefresh_native; + $container.pullRefresh(pullRefreshOptions); + }); + + } else if($.os.android) { //非原生转圈,但是Android环境 + $.plusReady(function() { + //这里改写$.fn.pullRefresh + $.fn.pullRefresh = $.fn.pullRefresh_native + var webview = plus.webview.currentWebview(); + if(window.__NWin_Enable__ === false) { //不支持多webview + $container.pullRefresh(pullRefreshOptions); + } else { + if(hasPullup) { + //当前页面初始化pullup + var upOptions = {}; + upOptions.up = pullRefreshOptions.up; + upOptions.webviewId = webview.id || webview.getURL(); + $container.pullRefresh(upOptions); + } + if(hasPulldown) { + var parent = webview.parent(); + var id = webview.id || webview.getURL(); + if(parent) { + if(!hasPullup) { //如果没有上拉加载,需要手动初始化一个默认的pullRefresh,以便当前页面容器可以调用endPulldownToRefresh等方法 + $container.pullRefresh({ + webviewId: id + }); + } + var downOptions = { + webviewId: id//子页面id + }; + downOptions.down = $.extend({}, pullRefreshOptions.down); + downOptions.down.callback = '_CALLBACK'; + //改写父页面的$.fn.pullRefresh + parent.evalJS("mui.fn.pullRefresh=mui.fn.pullRefresh_native"); + //父页面初始化pulldown + parent.evalJS("mui&&mui(document.querySelector('.mui-content')).pullRefresh('" + JSON.stringify(downOptions) + "')"); + } + } + } + }); + } else { //非原生转圈,iOS环境 + $container.pullRefresh(pullRefreshOptions); + } + } else { + $container.pullRefresh(pullRefreshOptions); + } + } + } + } + } + }); +})(mui); +/** + * mui ajax + * @param {type} $ + * @returns {undefined} + */ +(function($, window, undefined) { + + var jsonType = 'application/json'; + var htmlType = 'text/html'; + var rscript = /)<[^<]*)*<\/script>/gi; + var scriptTypeRE = /^(?:text|application)\/javascript/i; + var xmlTypeRE = /^(?:text|application)\/xml/i; + var blankRE = /^\s*$/; + + $.ajaxSettings = { + type: 'GET', + beforeSend: $.noop, + success: $.noop, + error: $.noop, + complete: $.noop, + context: null, + xhr: function(protocol) { + return new window.XMLHttpRequest(); + }, + accepts: { + script: 'text/javascript, application/javascript, application/x-javascript', + json: jsonType, + xml: 'application/xml, text/xml', + html: htmlType, + text: 'text/plain' + }, + timeout: 0, + processData: true, + cache: true + }; + var ajaxBeforeSend = function(xhr, settings) { + var context = settings.context + if(settings.beforeSend.call(context, xhr, settings) === false) { + return false; + } + }; + var ajaxSuccess = function(data, xhr, settings) { + settings.success.call(settings.context, data, 'success', xhr); + ajaxComplete('success', xhr, settings); + }; + // type: "timeout", "error", "abort", "parsererror" + var ajaxError = function(error, type, xhr, settings) { + settings.error.call(settings.context, xhr, type, error); + ajaxComplete(type, xhr, settings); + }; + // status: "success", "notmodified", "error", "timeout", "abort", "parsererror" + var ajaxComplete = function(status, xhr, settings) { + settings.complete.call(settings.context, xhr, status); + }; + + var serialize = function(params, obj, traditional, scope) { + var type, array = $.isArray(obj), + hash = $.isPlainObject(obj); + $.each(obj, function(key, value) { + type = $.type(value); + if(scope) { + key = traditional ? scope : + scope + '[' + (hash || type === 'object' || type === 'array' ? key : '') + ']'; + } + // handle data in serializeArray() format + if(!scope && array) { + params.add(value.name, value.value); + } + // recurse into nested objects + else if(type === "array" || (!traditional && type === "object")) { + serialize(params, value, traditional, key); + } else { + params.add(key, value); + } + }); + }; + var serializeData = function(options) { + if(options.processData && options.data && typeof options.data !== "string") { + var contentType = options.contentType; + if(!contentType && options.headers) { + contentType = options.headers['Content-Type']; + } + if(contentType && ~contentType.indexOf(jsonType)) { //application/json + options.data = JSON.stringify(options.data); + } else { + options.data = $.param(options.data, options.traditional); + } + } + if(options.data && (!options.type || options.type.toUpperCase() === 'GET')) { + options.url = appendQuery(options.url, options.data); + options.data = undefined; + } + }; + var appendQuery = function(url, query) { + if(query === '') { + return url; + } + return(url + '&' + query).replace(/[&?]{1,2}/, '?'); + }; + var mimeToDataType = function(mime) { + if(mime) { + mime = mime.split(';', 2)[0]; + } + return mime && (mime === htmlType ? 'html' : + mime === jsonType ? 'json' : + scriptTypeRE.test(mime) ? 'script' : + xmlTypeRE.test(mime) && 'xml') || 'text'; + }; + var parseArguments = function(url, data, success, dataType) { + if($.isFunction(data)) { + dataType = success, success = data, data = undefined; + } + if(!$.isFunction(success)) { + dataType = success, success = undefined; + } + return { + url: url, + data: data, + success: success, + dataType: dataType + }; + }; + $.ajax = function(url, options) { + if(typeof url === "object") { + options = url; + url = undefined; + } + var settings = options || {}; + settings.url = url || settings.url; + for(var key in $.ajaxSettings) { + if(settings[key] === undefined) { + settings[key] = $.ajaxSettings[key]; + } + } + serializeData(settings); + var dataType = settings.dataType; + + if(settings.cache === false || ((!options || options.cache !== true) && ('script' === dataType))) { + settings.url = appendQuery(settings.url, '_=' + $.now()); + } + var mime = settings.accepts[dataType && dataType.toLowerCase()]; + var headers = {}; + var setHeader = function(name, value) { + headers[name.toLowerCase()] = [name, value]; + }; + var protocol = /^([\w-]+:)\/\//.test(settings.url) ? RegExp.$1 : window.location.protocol; + var xhr = settings.xhr(settings); + var nativeSetHeader = xhr.setRequestHeader; + var abortTimeout; + + setHeader('X-Requested-With', 'XMLHttpRequest'); + setHeader('Accept', mime || '*/*'); + if(!!(mime = settings.mimeType || mime)) { + if(mime.indexOf(',') > -1) { + mime = mime.split(',', 2)[0]; + } + xhr.overrideMimeType && xhr.overrideMimeType(mime); + } + if(settings.contentType || (settings.contentType !== false && settings.data && settings.type.toUpperCase() !== 'GET')) { + setHeader('Content-Type', settings.contentType || 'application/x-www-form-urlencoded'); + } + if(settings.headers) { + for(var name in settings.headers) + setHeader(name, settings.headers[name]); + } + xhr.setRequestHeader = setHeader; + + xhr.onreadystatechange = function() { + if(xhr.readyState === 4) { + xhr.onreadystatechange = $.noop; + clearTimeout(abortTimeout); + var result, error = false; + var isLocal = protocol === 'file:'; + if((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304 || (xhr.status === 0 && isLocal && xhr.responseText)) { + dataType = dataType || mimeToDataType(settings.mimeType || xhr.getResponseHeader('content-type')); + result = xhr.responseText; + try { + // http://perfectionkills.com/global-eval-what-are-the-options/ + if(dataType === 'script') { + (1, eval)(result); + } else if(dataType === 'xml') { + result = xhr.responseXML; + } else if(dataType === 'json') { + result = blankRE.test(result) ? null : $.parseJSON(result); + } + } catch(e) { + error = e; + } + + if(error) { + ajaxError(error, 'parsererror', xhr, settings); + } else { + ajaxSuccess(result, xhr, settings); + } + } else { + var status = xhr.status ? 'error' : 'abort'; + var statusText = xhr.statusText || null; + if(isLocal) { + status = 'error'; + statusText = '404'; + } + ajaxError(statusText, status, xhr, settings); + } + } + }; + if(ajaxBeforeSend(xhr, settings) === false) { + xhr.abort(); + ajaxError(null, 'abort', xhr, settings); + return xhr; + } + + if(settings.xhrFields) { + for(var name in settings.xhrFields) { + xhr[name] = settings.xhrFields[name]; + } + } + + var async = 'async' in settings ? settings.async : true; + + xhr.open(settings.type.toUpperCase(), settings.url, async, settings.username, settings.password); + + for(var name in headers) { + if(headers.hasOwnProperty(name)) { + nativeSetHeader.apply(xhr, headers[name]); + } + } + if(settings.timeout > 0) { + abortTimeout = setTimeout(function() { + xhr.onreadystatechange = $.noop; + xhr.abort(); + ajaxError(null, 'timeout', xhr, settings); + }, settings.timeout); + } + xhr.send(settings.data ? settings.data : null); + return xhr; + }; + + $.param = function(obj, traditional) { + var params = []; + params.add = function(k, v) { + this.push(encodeURIComponent(k) + '=' + encodeURIComponent(v)); + }; + serialize(params, obj, traditional); + return params.join('&').replace(/%20/g, '+'); + }; + $.get = function( /* url, data, success, dataType */ ) { + return $.ajax(parseArguments.apply(null, arguments)); + }; + + $.post = function( /* url, data, success, dataType */ ) { + var options = parseArguments.apply(null, arguments); + options.type = 'POST'; + return $.ajax(options); + }; + + $.getJSON = function( /* url, data, success */ ) { + var options = parseArguments.apply(null, arguments); + options.dataType = 'json'; + return $.ajax(options); + }; + + $.fn.load = function(url, data, success) { + if(!this.length) + return this; + var self = this, + parts = url.split(/\s/), + selector, + options = parseArguments(url, data, success), + callback = options.success; + if(parts.length > 1) + options.url = parts[0], selector = parts[1]; + options.success = function(response) { + if(selector) { + var div = document.createElement('div'); + div.innerHTML = response.replace(rscript, ""); + var selectorDiv = document.createElement('div'); + var childs = div.querySelectorAll(selector); + if(childs && childs.length > 0) { + for(var i = 0, len = childs.length; i < len; i++) { + selectorDiv.appendChild(childs[i]); + } + } + self[0].innerHTML = selectorDiv.innerHTML; + } else { + self[0].innerHTML = response; + } + callback && callback.apply(self, arguments); + }; + $.ajax(options); + return this; + }; + +})(mui, window); +/** + * 5+ ajax + */ +(function($) { + var originAnchor = document.createElement('a'); + originAnchor.href = window.location.href; + $.plusReady(function() { + $.ajaxSettings = $.extend($.ajaxSettings, { + xhr: function(settings) { + if (settings.crossDomain) { //强制使用plus跨域 + return new plus.net.XMLHttpRequest(); + } + //仅在webview的url为远程文件,且ajax请求的资源不同源下使用plus.net.XMLHttpRequest + if (originAnchor.protocol !== 'file:') { + var urlAnchor = document.createElement('a'); + urlAnchor.href = settings.url; + urlAnchor.href = urlAnchor.href; + settings.crossDomain = (originAnchor.protocol + '//' + originAnchor.host) !== (urlAnchor.protocol + '//' + urlAnchor.host); + if (settings.crossDomain) { + return new plus.net.XMLHttpRequest(); + } + } + if ($.os.ios && window.webkit && window.webkit.messageHandlers) { //wkwebview下同样使用5+ xhr + return new plus.net.XMLHttpRequest(); + } + return new window.XMLHttpRequest(); + } + }); + }); +})(mui); +/** + * mui layout(offset[,position,width,height...]) + * @param {type} $ + * @param {type} window + * @param {type} undefined + * @returns {undefined} + */ +(function($, window, undefined) { + $.offset = function(element) { + var box = { + top : 0, + left : 0 + }; + if ( typeof element.getBoundingClientRect !== undefined) { + box = element.getBoundingClientRect(); + } + return { + top : box.top + window.pageYOffset - element.clientTop, + left : box.left + window.pageXOffset - element.clientLeft + }; + }; +})(mui, window); +/** + * mui animation + */ +(function($, window) { + /** + * scrollTo + */ + $.scrollTo = function(scrollTop, duration, callback) { + duration = duration || 1000; + var scroll = function(duration) { + if (duration <= 0) { + window.scrollTo(0, scrollTop); + callback && callback(); + return; + } + var distaince = scrollTop - window.scrollY; + setTimeout(function() { + window.scrollTo(0, window.scrollY + distaince / duration * 10); + scroll(duration - 10); + }, 16.7); + }; + scroll(duration); + }; + $.animationFrame = function(cb) { + var args, isQueued, context; + return function() { + args = arguments; + context = this; + if (!isQueued) { + isQueued = true; + requestAnimationFrame(function() { + cb.apply(context, args); + isQueued = false; + }); + } + }; + }; + +})(mui, window); +(function($) { + var initializing = false, + fnTest = /xyz/.test(function() { + xyz; + }) ? /\b_super\b/ : /.*/; + + var Class = function() {}; + Class.extend = function(prop) { + var _super = this.prototype; + initializing = true; + var prototype = new this(); + initializing = false; + for (var name in prop) { + prototype[name] = typeof prop[name] == "function" && + typeof _super[name] == "function" && fnTest.test(prop[name]) ? + (function(name, fn) { + return function() { + var tmp = this._super; + + this._super = _super[name]; + + var ret = fn.apply(this, arguments); + this._super = tmp; + + return ret; + }; + })(name, prop[name]) : + prop[name]; + } + function Class() { + if (!initializing && this.init) + this.init.apply(this, arguments); + } + Class.prototype = prototype; + Class.prototype.constructor = Class; + Class.extend = arguments.callee; + return Class; + }; + $.Class = Class; +})(mui); +(function($, document, undefined) { + var CLASS_PULL_TOP_POCKET = 'mui-pull-top-pocket'; + var CLASS_PULL_BOTTOM_POCKET = 'mui-pull-bottom-pocket'; + var CLASS_PULL = 'mui-pull'; + var CLASS_PULL_LOADING = 'mui-pull-loading'; + var CLASS_PULL_CAPTION = 'mui-pull-caption'; + var CLASS_PULL_CAPTION_DOWN = 'mui-pull-caption-down'; + var CLASS_PULL_CAPTION_REFRESH = 'mui-pull-caption-refresh'; + var CLASS_PULL_CAPTION_NOMORE = 'mui-pull-caption-nomore'; + + var CLASS_ICON = 'mui-icon'; + var CLASS_SPINNER = 'mui-spinner'; + var CLASS_ICON_PULLDOWN = 'mui-icon-pulldown'; + + var CLASS_BLOCK = 'mui-block'; + var CLASS_HIDDEN = 'mui-hidden'; + var CLASS_VISIBILITY = 'mui-visibility'; + + var CLASS_LOADING_UP = CLASS_PULL_LOADING + ' ' + CLASS_ICON + ' ' + CLASS_ICON_PULLDOWN; + var CLASS_LOADING_DOWN = CLASS_PULL_LOADING + ' ' + CLASS_ICON + ' ' + CLASS_ICON_PULLDOWN; + var CLASS_LOADING = CLASS_PULL_LOADING + ' ' + CLASS_ICON + ' ' + CLASS_SPINNER; + + var pocketHtml = ['
', '
', '
{contentrefresh}
', '
'].join(''); + + var PullRefresh = { + init: function(element, options) { + this._super(element, $.extend(true, { + scrollY: true, + scrollX: false, + indicators: true, + deceleration: 0.003, + down: { + height: 50, + contentinit: '下拉可以刷新', + contentdown: '下拉可以刷新', + contentover: '释放立即刷新', + contentrefresh: '正在刷新...' + }, + up: { + height: 50, + auto: false, + contentinit: '上拉显示更多', + contentdown: '上拉显示更多', + contentrefresh: '正在加载...', + contentnomore: '没有更多数据了', + duration: 300 + } + }, options)); + }, + _init: function() { + this._super(); + this._initPocket(); + }, + _initPulldownRefresh: function() { + this.pulldown = true; + if (this.topPocket) { + this.pullPocket = this.topPocket; + this.pullPocket.classList.add(CLASS_BLOCK); + this.pullPocket.classList.add(CLASS_VISIBILITY); + this.pullCaption = this.topCaption; + this.pullLoading = this.topLoading; + } + }, + _initPullupRefresh: function() { + this.pulldown = false; + if (this.bottomPocket) { + this.pullPocket = this.bottomPocket; + this.pullPocket.classList.add(CLASS_BLOCK); + this.pullPocket.classList.add(CLASS_VISIBILITY); + this.pullCaption = this.bottomCaption; + this.pullLoading = this.bottomLoading; + } + }, + _initPocket: function() { + var options = this.options; + if (options.down && options.down.hasOwnProperty('callback')) { + this.topPocket = this.scroller.querySelector('.' + CLASS_PULL_TOP_POCKET); + if (!this.topPocket) { + this.topPocket = this._createPocket(CLASS_PULL_TOP_POCKET, options.down, CLASS_LOADING_DOWN); + this.wrapper.insertBefore(this.topPocket, this.wrapper.firstChild); + } + this.topLoading = this.topPocket.querySelector('.' + CLASS_PULL_LOADING); + this.topCaption = this.topPocket.querySelector('.' + CLASS_PULL_CAPTION); + } + if (options.up && options.up.hasOwnProperty('callback')) { + this.bottomPocket = this.scroller.querySelector('.' + CLASS_PULL_BOTTOM_POCKET); + if (!this.bottomPocket) { + this.bottomPocket = this._createPocket(CLASS_PULL_BOTTOM_POCKET, options.up, CLASS_LOADING); + this.scroller.appendChild(this.bottomPocket); + } + this.bottomLoading = this.bottomPocket.querySelector('.' + CLASS_PULL_LOADING); + this.bottomCaption = this.bottomPocket.querySelector('.' + CLASS_PULL_CAPTION); + //TODO only for h5 + this.wrapper.addEventListener('scrollbottom', this); + } + }, + _createPocket: function(clazz, options, iconClass) { + var pocket = document.createElement('div'); + pocket.className = clazz; + pocket.innerHTML = pocketHtml.replace('{contentrefresh}', options.contentinit).replace('{icon}', iconClass); + return pocket; + }, + _resetPullDownLoading: function() { + var loading = this.pullLoading; + if (loading) { + this.pullCaption.innerHTML = this.options.down.contentdown; + loading.style.webkitTransition = ""; + loading.style.webkitTransform = ""; + loading.style.webkitAnimation = ""; + loading.className = CLASS_LOADING_DOWN; + } + }, + _setCaptionClass: function(isPulldown, caption, title) { + if (!isPulldown) { + switch (title) { + case this.options.up.contentdown: + caption.className = CLASS_PULL_CAPTION + ' ' + CLASS_PULL_CAPTION_DOWN; + break; + case this.options.up.contentrefresh: + caption.className = CLASS_PULL_CAPTION + ' ' + CLASS_PULL_CAPTION_REFRESH + break; + case this.options.up.contentnomore: + caption.className = CLASS_PULL_CAPTION + ' ' + CLASS_PULL_CAPTION_NOMORE; + break; + } + } + }, + _setCaption: function(title, reset) { + if (this.loading) { + return; + } + var options = this.options; + var pocket = this.pullPocket; + var caption = this.pullCaption; + var loading = this.pullLoading; + var isPulldown = this.pulldown; + var self = this; + if (pocket) { + if (reset) { + setTimeout(function() { + caption.innerHTML = self.lastTitle = title; + if (isPulldown) { + loading.className = CLASS_LOADING_DOWN; + } else { + self._setCaptionClass(false, caption, title); + loading.className = CLASS_LOADING; + } + loading.style.webkitAnimation = ""; + loading.style.webkitTransition = ""; + loading.style.webkitTransform = ""; + }, 100); + } else { + if (title !== this.lastTitle) { + caption.innerHTML = title; + if (isPulldown) { + if (title === options.down.contentrefresh) { + loading.className = CLASS_LOADING; + loading.style.webkitAnimation = "spinner-spin 1s step-end infinite"; + } else if (title === options.down.contentover) { + loading.className = CLASS_LOADING_UP; + loading.style.webkitTransition = "-webkit-transform 0.3s ease-in"; + loading.style.webkitTransform = "rotate(180deg)"; + } else if (title === options.down.contentdown) { + loading.className = CLASS_LOADING_DOWN; + loading.style.webkitTransition = "-webkit-transform 0.3s ease-in"; + loading.style.webkitTransform = "rotate(0deg)"; + } + } else { + if (title === options.up.contentrefresh) { + loading.className = CLASS_LOADING + ' ' + CLASS_VISIBILITY; + } else { + loading.className = CLASS_LOADING + ' ' + CLASS_HIDDEN; + } + self._setCaptionClass(false, caption, title); + } + this.lastTitle = title; + } + } + + } + } + }; + $.PullRefresh = PullRefresh; +})(mui, document); +(function($, window, document, undefined) { + var CLASS_SCROLL = 'mui-scroll'; + var CLASS_SCROLLBAR = 'mui-scrollbar'; + var CLASS_INDICATOR = 'mui-scrollbar-indicator'; + var CLASS_SCROLLBAR_VERTICAL = CLASS_SCROLLBAR + '-vertical'; + var CLASS_SCROLLBAR_HORIZONTAL = CLASS_SCROLLBAR + '-horizontal'; + + var CLASS_ACTIVE = 'mui-active'; + + var ease = { + quadratic: { + style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)', + fn: function(k) { + return k * (2 - k); + } + }, + circular: { + style: 'cubic-bezier(0.1, 0.57, 0.1, 1)', + fn: function(k) { + return Math.sqrt(1 - (--k * k)); + } + }, + outCirc: { + style: 'cubic-bezier(0.075, 0.82, 0.165, 1)' + }, + outCubic: { + style: 'cubic-bezier(0.165, 0.84, 0.44, 1)' + } + } + var Scroll = $.Class.extend({ + init: function(element, options) { + this.wrapper = this.element = element; + this.scroller = this.wrapper.children[0]; + this.scrollerStyle = this.scroller && this.scroller.style; + this.stopped = false; + + this.options = $.extend(true, { + scrollY: true, //是否竖向滚动 + scrollX: false, //是否横向滚动 + startX: 0, //初始化时滚动至x + startY: 0, //初始化时滚动至y + + indicators: true, //是否显示滚动条 + stopPropagation: false, + hardwareAccelerated: true, + fixedBadAndorid: false, + preventDefaultException: { + tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT|VIDEO)$/ + }, + momentum: true, + + snapX: 0.5, //横向切换距离(以当前容器宽度为基准) + snap: false, //图片轮播,拖拽式选项卡 + + bounce: true, //是否启用回弹 + bounceTime: 500, //回弹动画时间 + bounceEasing: ease.outCirc, //回弹动画曲线 + + scrollTime: 500, + scrollEasing: ease.outCubic, //轮播动画曲线 + + directionLockThreshold: 5, + + parallaxElement: false, //视差元素 + parallaxRatio: 0.5 + }, options); + + this.x = 0; + this.y = 0; + this.translateZ = this.options.hardwareAccelerated ? ' translateZ(0)' : ''; + + this._init(); + if (this.scroller) { + this.refresh(); + // if (this.options.startX !== 0 || this.options.startY !== 0) { //需要判断吗?后续根据实际情况再看看 + this.scrollTo(this.options.startX, this.options.startY); + // } + } + }, + _init: function() { + this._initParallax(); + this._initIndicators(); + this._initEvent(); + }, + _initParallax: function() { + if (this.options.parallaxElement) { + this.parallaxElement = document.querySelector(this.options.parallaxElement); + this.parallaxStyle = this.parallaxElement.style; + this.parallaxHeight = this.parallaxElement.offsetHeight; + this.parallaxImgStyle = this.parallaxElement.querySelector('img').style; + } + }, + _initIndicators: function() { + var self = this; + self.indicators = []; + if (!this.options.indicators) { + return; + } + var indicators = [], + indicator; + + // Vertical scrollbar + if (self.options.scrollY) { + indicator = { + el: this._createScrollBar(CLASS_SCROLLBAR_VERTICAL), + listenX: false + }; + + this.wrapper.appendChild(indicator.el); + indicators.push(indicator); + } + + // Horizontal scrollbar + if (this.options.scrollX) { + indicator = { + el: this._createScrollBar(CLASS_SCROLLBAR_HORIZONTAL), + listenY: false + }; + + this.wrapper.appendChild(indicator.el); + indicators.push(indicator); + } + + for (var i = indicators.length; i--;) { + this.indicators.push(new Indicator(this, indicators[i])); + } + + }, + _initSnap: function() { + this.currentPage = {}; + this.pages = []; + var snaps = this.snaps; + var length = snaps.length; + var m = 0; + var n = -1; + var x = 0; + var leftX = 0; + var rightX = 0; + var snapX = 0; + for (var i = 0; i < length; i++) { + var snap = snaps[i]; + var offsetLeft = snap.offsetLeft; + var offsetWidth = snap.offsetWidth; + if (i === 0 || offsetLeft <= snaps[i - 1].offsetLeft) { + m = 0; + n++; + } + if (!this.pages[m]) { + this.pages[m] = []; + } + x = this._getSnapX(offsetLeft); + snapX = Math.round((offsetWidth) * this.options.snapX); + leftX = x - snapX; + rightX = x - offsetWidth + snapX; + this.pages[m][n] = { + x: x, + leftX: leftX, + rightX: rightX, + pageX: m, + element: snap + } + if (snap.classList.contains(CLASS_ACTIVE)) { + this.currentPage = this.pages[m][0]; + } + if (x >= this.maxScrollX) { + m++; + } + } + this.options.startX = this.currentPage.x || 0; + }, + _getSnapX: function(offsetLeft) { + return Math.max(Math.min(0, -offsetLeft + (this.wrapperWidth / 2)), this.maxScrollX); + }, + _gotoPage: function(index) { + this.currentPage = this.pages[Math.min(index, this.pages.length - 1)][0]; + for (var i = 0, len = this.snaps.length; i < len; i++) { + if (i === index) { + this.snaps[i].classList.add(CLASS_ACTIVE); + } else { + this.snaps[i].classList.remove(CLASS_ACTIVE); + } + } + this.scrollTo(this.currentPage.x, 0, this.options.scrollTime); + }, + _nearestSnap: function(x) { + if (!this.pages.length) { + return { + x: 0, + pageX: 0 + }; + } + var i = 0; + var length = this.pages.length; + if (x > 0) { + x = 0; + } else if (x < this.maxScrollX) { + x = this.maxScrollX; + } + for (; i < length; i++) { + var nearestX = this.direction === 'left' ? this.pages[i][0].leftX : this.pages[i][0].rightX; + if (x >= nearestX) { + return this.pages[i][0]; + } + } + return { + x: 0, + pageX: 0 + }; + }, + _initEvent: function(detach) { + var action = detach ? 'removeEventListener' : 'addEventListener'; + window[action]('orientationchange', this); + window[action]('resize', this); + + this.scroller[action]('webkitTransitionEnd', this); + + this.wrapper[action]($.EVENT_START, this); + this.wrapper[action]($.EVENT_CANCEL, this); + this.wrapper[action]($.EVENT_END, this); + this.wrapper[action]('drag', this); + this.wrapper[action]('dragend', this); + this.wrapper[action]('flick', this); + this.wrapper[action]('scrollend', this); + if (this.options.scrollX) { + this.wrapper[action]('swiperight', this); + } + var segmentedControl = this.wrapper.querySelector('.mui-segmented-control'); + if (segmentedControl) { //靠,这个bug排查了一下午,阻止hash跳转,一旦hash跳转会导致可拖拽选项卡的tab不见 + mui(segmentedControl)[detach ? 'off' : 'on']('click', 'a', $.preventDefault); + } + + this.wrapper[action]('scrollstart', this); + this.wrapper[action]('refresh', this); + }, + _handleIndicatorScrollend: function() { + this.indicators.map(function(indicator) { + indicator.fade(); + }); + }, + _handleIndicatorScrollstart: function() { + this.indicators.map(function(indicator) { + indicator.fade(1); + }); + }, + _handleIndicatorRefresh: function() { + this.indicators.map(function(indicator) { + indicator.refresh(); + }); + }, + handleEvent: function(e) { + if (this.stopped) { + this.resetPosition(); + return; + } + + switch (e.type) { + case $.EVENT_START: + this._start(e); + break; + case 'drag': + this.options.stopPropagation && e.stopPropagation(); + this._drag(e); + break; + case 'dragend': + case 'flick': + this.options.stopPropagation && e.stopPropagation(); + this._flick(e); + break; + case $.EVENT_CANCEL: + case $.EVENT_END: + this._end(e); + break; + case 'webkitTransitionEnd': + this.transitionTimer && this.transitionTimer.cancel(); + this._transitionEnd(e); + break; + case 'scrollstart': + this._handleIndicatorScrollstart(e); + break; + case 'scrollend': + this._handleIndicatorScrollend(e); + this._scrollend(e); + e.stopPropagation(); + break; + case 'orientationchange': + case 'resize': + this._resize(); + break; + case 'swiperight': + e.stopPropagation(); + break; + case 'refresh': + this._handleIndicatorRefresh(e); + break; + + } + }, + _start: function(e) { + this.moved = this.needReset = false; + this._transitionTime(); + if (this.isInTransition) { + this.needReset = true; + this.isInTransition = false; + var pos = $.parseTranslateMatrix($.getStyles(this.scroller, 'webkitTransform')); + this.setTranslate(Math.round(pos.x), Math.round(pos.y)); + // this.resetPosition(); //reset + $.trigger(this.scroller, 'scrollend', this); + // e.stopPropagation(); + e.preventDefault(); + } + this.reLayout(); + $.trigger(this.scroller, 'beforescrollstart', this); + }, + _getDirectionByAngle: function(angle) { + if (angle < -80 && angle > -100) { + return 'up'; + } else if (angle >= 80 && angle < 100) { + return 'down'; + } else if (angle >= 170 || angle <= -170) { + return 'left'; + } else if (angle >= -35 && angle <= 10) { + return 'right'; + } + return null; + }, + _drag: function(e) { + // if (this.needReset) { + // e.stopPropagation(); //disable parent drag(nested scroller) + // return; + // } + var detail = e.detail; + if (this.options.scrollY || detail.direction === 'up' || detail.direction === 'down') { //如果是竖向滚动或手势方向是上或下 + //ios8 hack + if ($.os.ios && parseFloat($.os.version) >= 8) { //多webview时,离开当前webview会导致后续touch事件不触发 + var clientY = detail.gesture.touches[0].clientY; + //下拉刷新 or 上拉加载 + if ((clientY + 10) > window.innerHeight || clientY < 10) { + this.resetPosition(this.options.bounceTime); + return; + } + } + } + var isPreventDefault = isReturn = false; + var direction = this._getDirectionByAngle(detail.angle); + if (detail.direction === 'left' || detail.direction === 'right') { + if (this.options.scrollX) { + isPreventDefault = true; + if (!this.moved) { //识别角度(该角度导致轮播不灵敏) + // if (direction !== 'left' && direction !== 'right') { + // isReturn = true; + // } else { + $.gestures.session.lockDirection = true; //锁定方向 + $.gestures.session.startDirection = detail.direction; + // } + } + } else if (this.options.scrollY && !this.moved) { + isReturn = true; + } + } else if (detail.direction === 'up' || detail.direction === 'down') { + if (this.options.scrollY) { + isPreventDefault = true; + // if (!this.moved) { //识别角度,竖向滚动似乎没必要进行小角度验证 + // if (direction !== 'up' && direction !== 'down') { + // isReturn = true; + // } + // } + if (!this.moved) { + $.gestures.session.lockDirection = true; //锁定方向 + $.gestures.session.startDirection = detail.direction; + } + } else if (this.options.scrollX && !this.moved) { + isReturn = true; + } + } else { + isReturn = true; + } + if (this.moved || isPreventDefault) { + e.stopPropagation(); //阻止冒泡(scroll类嵌套) + detail.gesture && detail.gesture.preventDefault(); + } + if (isReturn) { //禁止非法方向滚动 + return; + } + if (!this.moved) { + $.trigger(this.scroller, 'scrollstart', this); + } else { + e.stopPropagation(); //move期间阻止冒泡(scroll嵌套) + } + var deltaX = 0; + var deltaY = 0; + if (!this.moved) { //start + deltaX = detail.deltaX; + deltaY = detail.deltaY; + } else { //move + deltaX = detail.deltaX - $.gestures.session.prevTouch.deltaX; + deltaY = detail.deltaY - $.gestures.session.prevTouch.deltaY; + } + var absDeltaX = Math.abs(detail.deltaX); + var absDeltaY = Math.abs(detail.deltaY); + if (absDeltaX > absDeltaY + this.options.directionLockThreshold) { + deltaY = 0; + } else if (absDeltaY >= absDeltaX + this.options.directionLockThreshold) { + deltaX = 0; + } + + deltaX = this.hasHorizontalScroll ? deltaX : 0; + deltaY = this.hasVerticalScroll ? deltaY : 0; + var newX = this.x + deltaX; + var newY = this.y + deltaY; + // Slow down if outside of the boundaries + if (newX > 0 || newX < this.maxScrollX) { + newX = this.options.bounce ? this.x + deltaX / 3 : newX > 0 ? 0 : this.maxScrollX; + } + if (newY > 0 || newY < this.maxScrollY) { + newY = this.options.bounce ? this.y + deltaY / 3 : newY > 0 ? 0 : this.maxScrollY; + } + + if (!this.requestAnimationFrame) { + this._updateTranslate(); + } + this.direction = detail.deltaX > 0 ? 'right' : 'left'; + this.moved = true; + this.x = newX; + this.y = newY; + $.trigger(this.scroller, 'scroll', this); + }, + _flick: function(e) { + // if (!this.moved || this.needReset) { + // return; + // } + if (!this.moved) { + return; + } + e.stopPropagation(); + var detail = e.detail; + this._clearRequestAnimationFrame(); + if (e.type === 'dragend' && detail.flick) { //dragend + return; + } + + var newX = Math.round(this.x); + var newY = Math.round(this.y); + + this.isInTransition = false; + // reset if we are outside of the boundaries + if (this.resetPosition(this.options.bounceTime)) { + return; + } + + this.scrollTo(newX, newY); // ensures that the last position is rounded + + if (e.type === 'dragend') { //dragend + $.trigger(this.scroller, 'scrollend', this); + return; + } + var time = 0; + var easing = ''; + // start momentum animation if needed + if (this.options.momentum && detail.flickTime < 300) { + momentumX = this.hasHorizontalScroll ? this._momentum(this.x, detail.flickDistanceX, detail.flickTime, this.maxScrollX, this.options.bounce ? this.wrapperWidth : 0, this.options.deceleration) : { + destination: newX, + duration: 0 + }; + momentumY = this.hasVerticalScroll ? this._momentum(this.y, detail.flickDistanceY, detail.flickTime, this.maxScrollY, this.options.bounce ? this.wrapperHeight : 0, this.options.deceleration) : { + destination: newY, + duration: 0 + }; + newX = momentumX.destination; + newY = momentumY.destination; + time = Math.max(momentumX.duration, momentumY.duration); + this.isInTransition = true; + } + + if (newX != this.x || newY != this.y) { + if (newX > 0 || newX < this.maxScrollX || newY > 0 || newY < this.maxScrollY) { + easing = ease.quadratic; + } + this.scrollTo(newX, newY, time, easing); + return; + } + + $.trigger(this.scroller, 'scrollend', this); + // e.stopPropagation(); + }, + _end: function(e) { + this.needReset = false; + if ((!this.moved && this.needReset) || e.type === $.EVENT_CANCEL) { + this.resetPosition(); + } + }, + _transitionEnd: function(e) { + if (e.target != this.scroller || !this.isInTransition) { + return; + } + this._transitionTime(); + if (!this.resetPosition(this.options.bounceTime)) { + this.isInTransition = false; + $.trigger(this.scroller, 'scrollend', this); + } + }, + _scrollend: function(e) { + if ((this.y === 0 && this.maxScrollY === 0) || (Math.abs(this.y) > 0 && this.y <= this.maxScrollY)) { + $.trigger(this.scroller, 'scrollbottom', this); + } + }, + _resize: function() { + var that = this; + clearTimeout(that.resizeTimeout); + that.resizeTimeout = setTimeout(function() { + that.refresh(); + }, that.options.resizePolling); + }, + _transitionTime: function(time) { + time = time || 0; + this.scrollerStyle['webkitTransitionDuration'] = time + 'ms'; + if (this.parallaxElement && this.options.scrollY) { //目前仅支持竖向视差效果 + this.parallaxStyle['webkitTransitionDuration'] = time + 'ms'; + } + if (this.options.fixedBadAndorid && !time && $.os.isBadAndroid) { + this.scrollerStyle['webkitTransitionDuration'] = '0.001s'; + if (this.parallaxElement && this.options.scrollY) { //目前仅支持竖向视差效果 + this.parallaxStyle['webkitTransitionDuration'] = '0.001s'; + } + } + if (this.indicators) { + for (var i = this.indicators.length; i--;) { + this.indicators[i].transitionTime(time); + } + } + if (time) { //自定义timer,保证webkitTransitionEnd始终触发 + this.transitionTimer && this.transitionTimer.cancel(); + this.transitionTimer = $.later(function() { + $.trigger(this.scroller, 'webkitTransitionEnd'); + }, time + 100, this); + } + }, + _transitionTimingFunction: function(easing) { + this.scrollerStyle['webkitTransitionTimingFunction'] = easing; + if (this.parallaxElement && this.options.scrollY) { //目前仅支持竖向视差效果 + this.parallaxStyle['webkitTransitionDuration'] = easing; + } + if (this.indicators) { + for (var i = this.indicators.length; i--;) { + this.indicators[i].transitionTimingFunction(easing); + } + } + }, + _translate: function(x, y) { + this.x = x; + this.y = y; + }, + _clearRequestAnimationFrame: function() { + if (this.requestAnimationFrame) { + cancelAnimationFrame(this.requestAnimationFrame); + this.requestAnimationFrame = null; + } + }, + _updateTranslate: function() { + var self = this; + if (self.x !== self.lastX || self.y !== self.lastY) { + self.setTranslate(self.x, self.y); + } + self.requestAnimationFrame = requestAnimationFrame(function() { + self._updateTranslate(); + }); + }, + _createScrollBar: function(clazz) { + var scrollbar = document.createElement('div'); + var indicator = document.createElement('div'); + scrollbar.className = CLASS_SCROLLBAR + ' ' + clazz; + indicator.className = CLASS_INDICATOR; + scrollbar.appendChild(indicator); + if (clazz === CLASS_SCROLLBAR_VERTICAL) { + this.scrollbarY = scrollbar; + this.scrollbarIndicatorY = indicator; + } else if (clazz === CLASS_SCROLLBAR_HORIZONTAL) { + this.scrollbarX = scrollbar; + this.scrollbarIndicatorX = indicator; + } + this.wrapper.appendChild(scrollbar); + return scrollbar; + }, + _preventDefaultException: function(el, exceptions) { + for (var i in exceptions) { + if (exceptions[i].test(el[i])) { + return true; + } + } + return false; + }, + _reLayout: function() { + if (!this.hasHorizontalScroll) { + this.maxScrollX = 0; + this.scrollerWidth = this.wrapperWidth; + } + + if (!this.hasVerticalScroll) { + this.maxScrollY = 0; + this.scrollerHeight = this.wrapperHeight; + } + + this.indicators.map(function(indicator) { + indicator.refresh(); + }); + + //以防slider类嵌套使用 + if (this.options.snap && typeof this.options.snap === 'string') { + var items = this.scroller.querySelectorAll(this.options.snap); + this.itemLength = 0; + this.snaps = []; + for (var i = 0, len = items.length; i < len; i++) { + var item = items[i]; + if (item.parentNode === this.scroller) { + this.itemLength++; + this.snaps.push(item); + } + } + this._initSnap(); //需要每次都_initSnap么。其实init的时候执行一次,后续resize的时候执行一次就行了吧.先这么做吧,如果影响性能,再调整 + } + }, + _momentum: function(current, distance, time, lowerMargin, wrapperSize, deceleration) { + var speed = parseFloat(Math.abs(distance) / time), + destination, + duration; + + deceleration = deceleration === undefined ? 0.0006 : deceleration; + destination = current + (speed * speed) / (2 * deceleration) * (distance < 0 ? -1 : 1); + duration = speed / deceleration; + if (destination < lowerMargin) { + destination = wrapperSize ? lowerMargin - (wrapperSize / 2.5 * (speed / 8)) : lowerMargin; + distance = Math.abs(destination - current); + duration = distance / speed; + } else if (destination > 0) { + destination = wrapperSize ? wrapperSize / 2.5 * (speed / 8) : 0; + distance = Math.abs(current) + destination; + duration = distance / speed; + } + + return { + destination: Math.round(destination), + duration: duration + }; + }, + _getTranslateStr: function(x, y) { + if (this.options.hardwareAccelerated) { + return 'translate3d(' + x + 'px,' + y + 'px,0px) ' + this.translateZ; + } + return 'translate(' + x + 'px,' + y + 'px) '; + }, + //API + setStopped: function(stopped) { + // this.stopped = !!stopped; + + // fixed ios双webview模式下拉刷新 + if(stopped) { + this.disablePullupToRefresh(); + this.disablePulldownToRefresh(); + } else { + this.enablePullupToRefresh(); + this.enablePulldownToRefresh(); + } + }, + setTranslate: function(x, y) { + this.x = x; + this.y = y; + this.scrollerStyle['webkitTransform'] = this._getTranslateStr(x, y); + if (this.parallaxElement && this.options.scrollY) { //目前仅支持竖向视差效果 + var parallaxY = y * this.options.parallaxRatio; + var scale = 1 + parallaxY / ((this.parallaxHeight - parallaxY) / 2); + if (scale > 1) { + this.parallaxImgStyle['opacity'] = 1 - parallaxY / 100 * this.options.parallaxRatio; + this.parallaxStyle['webkitTransform'] = this._getTranslateStr(0, -parallaxY) + ' scale(' + scale + ',' + scale + ')'; + } else { + this.parallaxImgStyle['opacity'] = 1; + this.parallaxStyle['webkitTransform'] = this._getTranslateStr(0, -1) + ' scale(1,1)'; + } + } + if (this.indicators) { + for (var i = this.indicators.length; i--;) { + this.indicators[i].updatePosition(); + } + } + this.lastX = this.x; + this.lastY = this.y; + $.trigger(this.scroller, 'scroll', this); + }, + reLayout: function() { + this.wrapper.offsetHeight; + + var paddingLeft = parseFloat($.getStyles(this.wrapper, 'padding-left')) || 0; + var paddingRight = parseFloat($.getStyles(this.wrapper, 'padding-right')) || 0; + var paddingTop = parseFloat($.getStyles(this.wrapper, 'padding-top')) || 0; + var paddingBottom = parseFloat($.getStyles(this.wrapper, 'padding-bottom')) || 0; + + var clientWidth = this.wrapper.clientWidth; + var clientHeight = this.wrapper.clientHeight; + + this.scrollerWidth = this.scroller.offsetWidth; + this.scrollerHeight = this.scroller.offsetHeight; + + this.wrapperWidth = clientWidth - paddingLeft - paddingRight; + this.wrapperHeight = clientHeight - paddingTop - paddingBottom; + + this.maxScrollX = Math.min(this.wrapperWidth - this.scrollerWidth, 0); + this.maxScrollY = Math.min(this.wrapperHeight - this.scrollerHeight, 0); + this.hasHorizontalScroll = this.options.scrollX && this.maxScrollX < 0; + this.hasVerticalScroll = this.options.scrollY && this.maxScrollY < 0; + this._reLayout(); + }, + resetPosition: function(time) { + var x = this.x, + y = this.y; + + time = time || 0; + if (!this.hasHorizontalScroll || this.x > 0) { + x = 0; + } else if (this.x < this.maxScrollX) { + x = this.maxScrollX; + } + + if (!this.hasVerticalScroll || this.y > 0) { + y = 0; + } else if (this.y < this.maxScrollY) { + y = this.maxScrollY; + } + + if (x == this.x && y == this.y) { + return false; + } + this.scrollTo(x, y, time, this.options.scrollEasing); + + return true; + }, + _reInit: function() { + var groups = this.wrapper.querySelectorAll('.' + CLASS_SCROLL); + for (var i = 0, len = groups.length; i < len; i++) { + if (groups[i].parentNode === this.wrapper) { + this.scroller = groups[i]; + break; + } + } + this.scrollerStyle = this.scroller && this.scroller.style; + }, + refresh: function() { + this._reInit(); + this.reLayout(); + $.trigger(this.scroller, 'refresh', this); + this.resetPosition(); + }, + scrollTo: function(x, y, time, easing) { + var easing = easing || ease.circular; + // this.isInTransition = time > 0 && (this.lastX != x || this.lastY != y); + //暂不严格判断x,y,否则会导致部分版本上不正常触发轮播 + this.isInTransition = time > 0; + if (this.isInTransition) { + this._clearRequestAnimationFrame(); + this._transitionTimingFunction(easing.style); + this._transitionTime(time); + this.setTranslate(x, y); + } else { + this.setTranslate(x, y); + } + + }, + scrollToBottom: function(time, easing) { + time = time || this.options.scrollTime; + this.scrollTo(0, this.maxScrollY, time, easing); + }, + gotoPage: function(index) { + this._gotoPage(index); + }, + destroy: function() { + this._initEvent(true); //detach + delete $.data[this.wrapper.getAttribute('data-scroll')]; + this.wrapper.setAttribute('data-scroll', ''); + } + }); + //Indicator + var Indicator = function(scroller, options) { + this.wrapper = typeof options.el == 'string' ? document.querySelector(options.el) : options.el; + this.wrapperStyle = this.wrapper.style; + this.indicator = this.wrapper.children[0]; + this.indicatorStyle = this.indicator.style; + this.scroller = scroller; + + this.options = $.extend({ + listenX: true, + listenY: true, + fade: false, + speedRatioX: 0, + speedRatioY: 0 + }, options); + + this.sizeRatioX = 1; + this.sizeRatioY = 1; + this.maxPosX = 0; + this.maxPosY = 0; + + if (this.options.fade) { + this.wrapperStyle['webkitTransform'] = this.scroller.translateZ; + this.wrapperStyle['webkitTransitionDuration'] = this.options.fixedBadAndorid && $.os.isBadAndroid ? '0.001s' : '0ms'; + this.wrapperStyle.opacity = '0'; + } + } + Indicator.prototype = { + handleEvent: function(e) { + + }, + transitionTime: function(time) { + time = time || 0; + this.indicatorStyle['webkitTransitionDuration'] = time + 'ms'; + if (this.scroller.options.fixedBadAndorid && !time && $.os.isBadAndroid) { + this.indicatorStyle['webkitTransitionDuration'] = '0.001s'; + } + }, + transitionTimingFunction: function(easing) { + this.indicatorStyle['webkitTransitionTimingFunction'] = easing; + }, + refresh: function() { + this.transitionTime(); + + if (this.options.listenX && !this.options.listenY) { + this.indicatorStyle.display = this.scroller.hasHorizontalScroll ? 'block' : 'none'; + } else if (this.options.listenY && !this.options.listenX) { + this.indicatorStyle.display = this.scroller.hasVerticalScroll ? 'block' : 'none'; + } else { + this.indicatorStyle.display = this.scroller.hasHorizontalScroll || this.scroller.hasVerticalScroll ? 'block' : 'none'; + } + + this.wrapper.offsetHeight; // force refresh + + if (this.options.listenX) { + this.wrapperWidth = this.wrapper.clientWidth; + this.indicatorWidth = Math.max(Math.round(this.wrapperWidth * this.wrapperWidth / (this.scroller.scrollerWidth || this.wrapperWidth || 1)), 8); + this.indicatorStyle.width = this.indicatorWidth + 'px'; + + this.maxPosX = this.wrapperWidth - this.indicatorWidth; + + this.minBoundaryX = 0; + this.maxBoundaryX = this.maxPosX; + + this.sizeRatioX = this.options.speedRatioX || (this.scroller.maxScrollX && (this.maxPosX / this.scroller.maxScrollX)); + } + + if (this.options.listenY) { + this.wrapperHeight = this.wrapper.clientHeight; + this.indicatorHeight = Math.max(Math.round(this.wrapperHeight * this.wrapperHeight / (this.scroller.scrollerHeight || this.wrapperHeight || 1)), 8); + this.indicatorStyle.height = this.indicatorHeight + 'px'; + + this.maxPosY = this.wrapperHeight - this.indicatorHeight; + + this.minBoundaryY = 0; + this.maxBoundaryY = this.maxPosY; + + this.sizeRatioY = this.options.speedRatioY || (this.scroller.maxScrollY && (this.maxPosY / this.scroller.maxScrollY)); + } + + this.updatePosition(); + }, + + updatePosition: function() { + var x = this.options.listenX && Math.round(this.sizeRatioX * this.scroller.x) || 0, + y = this.options.listenY && Math.round(this.sizeRatioY * this.scroller.y) || 0; + + if (x < this.minBoundaryX) { + this.width = Math.max(this.indicatorWidth + x, 8); + this.indicatorStyle.width = this.width + 'px'; + x = this.minBoundaryX; + } else if (x > this.maxBoundaryX) { + this.width = Math.max(this.indicatorWidth - (x - this.maxPosX), 8); + this.indicatorStyle.width = this.width + 'px'; + x = this.maxPosX + this.indicatorWidth - this.width; + } else if (this.width != this.indicatorWidth) { + this.width = this.indicatorWidth; + this.indicatorStyle.width = this.width + 'px'; + } + + if (y < this.minBoundaryY) { + this.height = Math.max(this.indicatorHeight + y * 3, 8); + this.indicatorStyle.height = this.height + 'px'; + y = this.minBoundaryY; + } else if (y > this.maxBoundaryY) { + this.height = Math.max(this.indicatorHeight - (y - this.maxPosY) * 3, 8); + this.indicatorStyle.height = this.height + 'px'; + y = this.maxPosY + this.indicatorHeight - this.height; + } else if (this.height != this.indicatorHeight) { + this.height = this.indicatorHeight; + this.indicatorStyle.height = this.height + 'px'; + } + + this.x = x; + this.y = y; + + this.indicatorStyle['webkitTransform'] = this.scroller._getTranslateStr(x, y); + + }, + fade: function(val, hold) { + if (hold && !this.visible) { + return; + } + + clearTimeout(this.fadeTimeout); + this.fadeTimeout = null; + + var time = val ? 250 : 500, + delay = val ? 0 : 300; + + val = val ? '1' : '0'; + + this.wrapperStyle['webkitTransitionDuration'] = time + 'ms'; + + this.fadeTimeout = setTimeout((function(val) { + this.wrapperStyle.opacity = val; + this.visible = +val; + }).bind(this, val), delay); + } + }; + + $.Scroll = Scroll; + + $.fn.scroll = function(options) { + var scrollApis = []; + this.each(function() { + var scrollApi = null; + var self = this; + var id = self.getAttribute('data-scroll'); + if (!id) { + id = ++$.uuid; + var _options = $.extend({}, options); + if (self.classList.contains('mui-segmented-control')) { + _options = $.extend(_options, { + scrollY: false, + scrollX: true, + indicators: false, + snap: '.mui-control-item' + }); + } + $.data[id] = scrollApi = new Scroll(self, _options); + self.setAttribute('data-scroll', id); + } else { + scrollApi = $.data[id]; + } + scrollApis.push(scrollApi); + }); + return scrollApis.length === 1 ? scrollApis[0] : scrollApis; + }; +})(mui, window, document); +(function($, window, document, undefined) { + + var CLASS_VISIBILITY = 'mui-visibility'; + var CLASS_HIDDEN = 'mui-hidden'; + + var PullRefresh = $.Scroll.extend($.extend({ + handleEvent: function(e) { + this._super(e); + if (e.type === 'scrollbottom') { + if (e.target === this.scroller) { + this._scrollbottom(); + } + } + }, + _scrollbottom: function() { + if (!this.pulldown && !this.loading) { + this.pulldown = false; + this._initPullupRefresh(); + this.pullupLoading(); + } + }, + _start: function(e) { + //仅下拉刷新在start阻止默认事件 + if (e.touches && e.touches.length && e.touches[0].clientX > 30) { + e.target && !this._preventDefaultException(e.target, this.options.preventDefaultException) && e.preventDefault(); + } + if (!this.loading) { + this.pulldown = this.pullPocket = this.pullCaption = this.pullLoading = false + } + this._super(e); + }, + _drag: function(e) { + if (this.y >= 0 && this.disablePulldown && e.detail.direction === 'down') { //禁用下拉刷新 + return; + } + this._super(e); + if (!this.pulldown && !this.loading && this.topPocket && e.detail.direction === 'down' && this.y >= 0) { + this._initPulldownRefresh(); + } + if (this.pulldown) { + this._setCaption(this.y > this.options.down.height ? this.options.down.contentover : this.options.down.contentdown); + } + }, + + _reLayout: function() { + this.hasVerticalScroll = true; + this._super(); + }, + //API + resetPosition: function(time) { + if (this.pulldown && !this.disablePulldown) { + if (this.y >= this.options.down.height) { + this.pulldownLoading(undefined, time || 0); + return true; + } else { + !this.loading && this.topPocket.classList.remove(CLASS_VISIBILITY); + } + } + return this._super(time); + }, + pulldownLoading: function(y, time) { + typeof y === 'undefined' && (y = this.options.down.height); //默认高度 + this.scrollTo(0, y, time, this.options.bounceEasing); + if (this.loading) { + return; + } + // if (!this.pulldown) { + this._initPulldownRefresh(); + // } + this._setCaption(this.options.down.contentrefresh); + this.loading = true; + this.indicators.map(function(indicator) { + indicator.fade(0); + }); + var callback = this.options.down.callback; + callback && callback.call(this); + }, + endPulldownToRefresh: function() { + var self = this; + if (self.topPocket && self.loading && this.pulldown) { + self.scrollTo(0, 0, self.options.bounceTime, self.options.bounceEasing); + self.loading = false; + self._setCaption(self.options.down.contentdown, true); + setTimeout(function() { + self.loading || self.topPocket.classList.remove(CLASS_VISIBILITY); + }, 350); + } + }, + pullupLoading: function(callback, x, time) { + x = x || 0; + this.scrollTo(x, this.maxScrollY, time, this.options.bounceEasing); + if (this.loading) { + return; + } + this._initPullupRefresh(); + this._setCaption(this.options.up.contentrefresh); + this.indicators.map(function(indicator) { + indicator.fade(0); + }); + this.loading = true; + callback = callback || this.options.up.callback; + callback && callback.call(this); + }, + endPullupToRefresh: function(finished) { + var self = this; + if (self.bottomPocket) { // && self.loading && !this.pulldown + self.loading = false; + if (finished) { + this.finished = true; + self._setCaption(self.options.up.contentnomore); + // self.bottomPocket.classList.remove(CLASS_VISIBILITY); + // self.bottomPocket.classList.add(CLASS_HIDDEN); + self.wrapper.removeEventListener('scrollbottom', self); + } else { + self._setCaption(self.options.up.contentdown); + // setTimeout(function() { + self.loading || self.bottomPocket.classList.remove(CLASS_VISIBILITY); + // }, 300); + } + } + }, + disablePullupToRefresh: function() { + this._initPullupRefresh(); + this.bottomPocket.className = 'mui-pull-bottom-pocket' + ' ' + CLASS_HIDDEN; + this.wrapper.removeEventListener('scrollbottom', this); + }, + disablePulldownToRefresh: function() { + this._initPulldownRefresh(); + this.topPocket.className = 'mui-pull-top-pocket' + ' ' + CLASS_HIDDEN; + this.disablePulldown = true; + }, + enablePulldownToRefresh: function() { + this._initPulldownRefresh(); + this.topPocket.classList.remove(CLASS_HIDDEN); + this._setCaption(this.options.down.contentdown); + this.disablePulldown = false; + }, + enablePullupToRefresh: function() { + this._initPullupRefresh(); + this.bottomPocket.classList.remove(CLASS_HIDDEN); + this._setCaption(this.options.up.contentdown); + this.wrapper.addEventListener('scrollbottom', this); + }, + refresh: function(isReset) { + if (isReset && this.finished) { + this.enablePullupToRefresh(); + this.finished = false; + } + this._super(); + }, + }, $.PullRefresh)); + $.fn.pullRefresh = function(options) { + if (this.length === 1) { + var self = this[0]; + var pullRefreshApi = null; + var id = self.getAttribute('data-pullrefresh'); + if (!id && typeof options === 'undefined') { + return false; + } + options = options || {}; + if (!id) { + id = ++$.uuid; + $.data[id] = pullRefreshApi = new PullRefresh(self, options); + self.setAttribute('data-pullrefresh', id); + } else { + pullRefreshApi = $.data[id]; + } + if (options.down && options.down.auto) { //如果设置了auto,则自动下拉一次 + pullRefreshApi.pulldownLoading(options.down.autoY); + } else if (options.up && options.up.auto) { //如果设置了auto,则自动上拉一次 + pullRefreshApi.pullupLoading(); + } + //暂不提供这种调用方式吧 + // if (typeof options === 'string') { + // var methodValue = pullRefreshApi[options].apply(pullRefreshApi, $.slice.call(arguments, 1)); + // if (methodValue !== undefined) { + // return methodValue; + // } + // } + return pullRefreshApi; + } + }; +})(mui, window, document); +/** + * snap 重构 + * @param {Object} $ + * @param {Object} window + */ +(function($, window) { + var CLASS_SLIDER = 'mui-slider'; + var CLASS_SLIDER_GROUP = 'mui-slider-group'; + var CLASS_SLIDER_LOOP = 'mui-slider-loop'; + var CLASS_SLIDER_INDICATOR = 'mui-slider-indicator'; + var CLASS_ACTION_PREVIOUS = 'mui-action-previous'; + var CLASS_ACTION_NEXT = 'mui-action-next'; + var CLASS_SLIDER_ITEM = 'mui-slider-item'; + + var CLASS_ACTIVE = 'mui-active'; + + var SELECTOR_SLIDER_ITEM = '.' + CLASS_SLIDER_ITEM; + var SELECTOR_SLIDER_INDICATOR = '.' + CLASS_SLIDER_INDICATOR; + var SELECTOR_SLIDER_PROGRESS_BAR = '.mui-slider-progress-bar'; + + var Slider = $.Slider = $.Scroll.extend({ + init: function(element, options) { + this._super(element, $.extend(true, { + fingers: 1, + interval: 0, //设置为0,则不定时轮播 + scrollY: false, + scrollX: true, + indicators: false, + scrollTime: 1000, + startX: false, + slideTime: 0, //滑动动画时间 + snap: SELECTOR_SLIDER_ITEM + }, options)); + if (this.options.startX) { + // $.trigger(this.wrapper, 'scrollend', this); + } + }, + _init: function() { + this._reInit(); + if (this.scroller) { + this.scrollerStyle = this.scroller.style; + this.progressBar = this.wrapper.querySelector(SELECTOR_SLIDER_PROGRESS_BAR); + if (this.progressBar) { + this.progressBarWidth = this.progressBar.offsetWidth; + this.progressBarStyle = this.progressBar.style; + } + //忘记这个代码是干什么的了? + // this.x = this._getScroll(); + // if (this.options.startX === false) { + // this.options.startX = this.x; + // } + //根据active修正startX + + this._super(); + this._initTimer(); + } + }, + _triggerSlide: function() { + var self = this; + self.isInTransition = false; + var page = self.currentPage; + self.slideNumber = self._fixedSlideNumber(); + if (self.loop) { + if (self.slideNumber === 0) { + self.setTranslate(self.pages[1][0].x, 0); + } else if (self.slideNumber === self.itemLength - 3) { + self.setTranslate(self.pages[self.itemLength - 2][0].x, 0); + } + } + if (self.lastSlideNumber != self.slideNumber) { + self.lastSlideNumber = self.slideNumber; + self.lastPage = self.currentPage; + $.trigger(self.wrapper, 'slide', { + slideNumber: self.slideNumber + }); + } + self._initTimer(); + }, + _handleSlide: function(e) { + var self = this; + if (e.target !== self.wrapper) { + return; + } + var detail = e.detail; + detail.slideNumber = detail.slideNumber || 0; + var temps = self.scroller.querySelectorAll(SELECTOR_SLIDER_ITEM); + var items = []; + for (var i = 0, len = temps.length; i < len; i++) { + var item = temps[i]; + if (item.parentNode === self.scroller) { + items.push(item); + } + } + var _slideNumber = detail.slideNumber; + if (self.loop) { + _slideNumber += 1; + } + if (!self.wrapper.classList.contains('mui-segmented-control')) { + for (var i = 0, len = items.length; i < len; i++) { + var item = items[i]; + if (item.parentNode === self.scroller) { + if (i === _slideNumber) { + item.classList.add(CLASS_ACTIVE); + } else { + item.classList.remove(CLASS_ACTIVE); + } + } + } + } + var indicatorWrap = self.wrapper.querySelector('.mui-slider-indicator'); + if (indicatorWrap) { + if (indicatorWrap.getAttribute('data-scroll')) { //scroll + $(indicatorWrap).scroll().gotoPage(detail.slideNumber); + } + var indicators = indicatorWrap.querySelectorAll('.mui-indicator'); + if (indicators.length > 0) { //图片轮播 + for (var i = 0, len = indicators.length; i < len; i++) { + indicators[i].classList[i === detail.slideNumber ? 'add' : 'remove'](CLASS_ACTIVE); + } + } else { + var number = indicatorWrap.querySelector('.mui-number span'); + if (number) { //图文表格 + number.innerText = (detail.slideNumber + 1); + } else { //segmented controls + var controlItems = indicatorWrap.querySelectorAll('.mui-control-item'); + for (var i = 0, len = controlItems.length; i < len; i++) { + controlItems[i].classList[i === detail.slideNumber ? 'add' : 'remove'](CLASS_ACTIVE); + } + } + } + } + e.stopPropagation(); + }, + _handleTabShow: function(e) { + var self = this; + self.gotoItem((e.detail.tabNumber || 0), self.options.slideTime); + }, + _handleIndicatorTap: function(event) { + var self = this; + var target = event.target; + if (target.classList.contains(CLASS_ACTION_PREVIOUS) || target.classList.contains(CLASS_ACTION_NEXT)) { + self[target.classList.contains(CLASS_ACTION_PREVIOUS) ? 'prevItem' : 'nextItem'](); + event.stopPropagation(); + } + }, + _initEvent: function(detach) { + var self = this; + self._super(detach); + var action = detach ? 'removeEventListener' : 'addEventListener'; + self.wrapper[action]('slide', this); + self.wrapper[action]($.eventName('shown', 'tab'), this); + }, + handleEvent: function(e) { + this._super(e); + switch (e.type) { + case 'slide': + this._handleSlide(e); + break; + case $.eventName('shown', 'tab'): + if (~this.snaps.indexOf(e.target)) { //避免嵌套监听错误的tab show + this._handleTabShow(e); + } + break; + } + }, + _scrollend: function(e) { + this._super(e); + this._triggerSlide(e); + }, + _drag: function(e) { + this._super(e); + var direction = e.detail.direction; + if (direction === 'left' || direction === 'right') { + //拖拽期间取消定时 + var slidershowTimer = this.wrapper.getAttribute('data-slidershowTimer'); + slidershowTimer && window.clearTimeout(slidershowTimer); + + e.stopPropagation(); + } + }, + _initTimer: function() { + var self = this; + var slider = self.wrapper; + var interval = self.options.interval; + var slidershowTimer = slider.getAttribute('data-slidershowTimer'); + slidershowTimer && window.clearTimeout(slidershowTimer); + if (interval) { + slidershowTimer = window.setTimeout(function() { + if (!slider) { + return; + } + //仅slider显示状态进行自动轮播 + if (!!(slider.offsetWidth || slider.offsetHeight)) { + self.nextItem(true); + //下一个 + } + self._initTimer(); + }, interval); + slider.setAttribute('data-slidershowTimer', slidershowTimer); + } + }, + + _fixedSlideNumber: function(page) { + page = page || this.currentPage; + var slideNumber = page.pageX; + if (this.loop) { + if (page.pageX === 0) { + slideNumber = this.itemLength - 3; + } else if (page.pageX === (this.itemLength - 1)) { + slideNumber = 0; + } else { + slideNumber = page.pageX - 1; + } + } + return slideNumber; + }, + _reLayout: function() { + this.hasHorizontalScroll = true; + this.loop = this.scroller.classList.contains(CLASS_SLIDER_LOOP); + this._super(); + }, + _getScroll: function() { + var result = $.parseTranslateMatrix($.getStyles(this.scroller, 'webkitTransform')); + return result ? result.x : 0; + }, + _transitionEnd: function(e) { + if (e.target !== this.scroller || !this.isInTransition) { + return; + } + this._transitionTime(); + this.isInTransition = false; + $.trigger(this.wrapper, 'scrollend', this); + }, + _flick: function(e) { + if (!this.moved) { //无moved + return; + } + var detail = e.detail; + var direction = detail.direction; + this._clearRequestAnimationFrame(); + this.isInTransition = true; + // if (direction === 'up' || direction === 'down') { + // this.resetPosition(this.options.bounceTime); + // return; + // } + if (e.type === 'flick') { + if (detail.deltaTime < 200) { //flick,太容易触发,额外校验一下deltaTime + this.x = this._getPage((this.slideNumber + (direction === 'right' ? -1 : 1)), true).x; + } + this.resetPosition(this.options.bounceTime); + } else if (e.type === 'dragend' && !detail.flick) { + this.resetPosition(this.options.bounceTime); + } + e.stopPropagation(); + }, + _initSnap: function() { + this.scrollerWidth = this.itemLength * this.scrollerWidth; + this.maxScrollX = Math.min(this.wrapperWidth - this.scrollerWidth, 0); + this._super(); + if (!this.currentPage.x) { + //当slider处于隐藏状态时,导致snap计算是错误的,临时先这么判断一下,后续要考虑解决所有scroll在隐藏状态下初始化属性不正确的问题 + var currentPage = this.pages[this.loop ? 1 : 0]; + currentPage = currentPage || this.pages[0]; + if (!currentPage) { + return; + } + this.currentPage = currentPage[0]; + this.slideNumber = 0; + this.lastSlideNumber = typeof this.lastSlideNumber === 'undefined' ? 0 : this.lastSlideNumber; + } else { + this.slideNumber = this._fixedSlideNumber(); + this.lastSlideNumber = typeof this.lastSlideNumber === 'undefined' ? this.slideNumber : this.lastSlideNumber; + } + this.options.startX = this.currentPage.x || 0; + }, + _getSnapX: function(offsetLeft) { + return Math.max(-offsetLeft, this.maxScrollX); + }, + _getPage: function(slideNumber, isFlick) { + if (this.loop) { + if (slideNumber > (this.itemLength - (isFlick ? 2 : 3))) { + slideNumber = 1; + time = 0; + } else if (slideNumber < (isFlick ? -1 : 0)) { + slideNumber = this.itemLength - 2; + time = 0; + } else { + slideNumber += 1; + } + } else { + if (!isFlick) { + if (slideNumber > (this.itemLength - 1)) { + slideNumber = 0; + time = 0; + } else if (slideNumber < 0) { + slideNumber = this.itemLength - 1; + time = 0; + } + } + slideNumber = Math.min(Math.max(0, slideNumber), this.itemLength - 1); + } + return this.pages[slideNumber][0]; + }, + _gotoItem: function(slideNumber, time) { + this.currentPage = this._getPage(slideNumber, true); //此处传true。可保证程序切换时,动画与人手操作一致(第一张,最后一张的切换动画) + this.scrollTo(this.currentPage.x, 0, time, this.options.scrollEasing); + if (time === 0) { + $.trigger(this.wrapper, 'scrollend', this); + } + }, + //API + setTranslate: function(x, y) { + this._super(x, y); + var progressBar = this.progressBar; + if (progressBar) { + this.progressBarStyle.webkitTransform = this._getTranslateStr((-x * (this.progressBarWidth / this.wrapperWidth)), 0); + } + }, + resetPosition: function(time) { + time = time || 0; + if (this.x > 0) { + this.x = 0; + } else if (this.x < this.maxScrollX) { + this.x = this.maxScrollX; + } + this.currentPage = this._nearestSnap(this.x); + this.scrollTo(this.currentPage.x, 0, time, this.options.scrollEasing); + return true; + }, + gotoItem: function(slideNumber, time) { + this._gotoItem(slideNumber, typeof time === 'undefined' ? this.options.scrollTime : time); + }, + nextItem: function() { + this._gotoItem(this.slideNumber + 1, this.options.scrollTime); + }, + prevItem: function() { + this._gotoItem(this.slideNumber - 1, this.options.scrollTime); + }, + getSlideNumber: function() { + return this.slideNumber || 0; + }, + _reInit: function() { + var groups = this.wrapper.querySelectorAll('.' + CLASS_SLIDER_GROUP); + for (var i = 0, len = groups.length; i < len; i++) { + if (groups[i].parentNode === this.wrapper) { + this.scroller = groups[i]; + break; + } + } + this.scrollerStyle = this.scroller && this.scroller.style; + if (this.progressBar) { + this.progressBarWidth = this.progressBar.offsetWidth; + this.progressBarStyle = this.progressBar.style; + } + }, + refresh: function(options) { + if (options) { + $.extend(this.options, options); + this._super(); + this._initTimer(); + } else { + this._super(); + } + }, + destroy: function() { + this._initEvent(true); //detach + delete $.data[this.wrapper.getAttribute('data-slider')]; + this.wrapper.setAttribute('data-slider', ''); + } + }); + $.fn.slider = function(options) { + var slider = null; + this.each(function() { + var sliderElement = this; + if (!this.classList.contains(CLASS_SLIDER)) { + sliderElement = this.querySelector('.' + CLASS_SLIDER); + } + if (sliderElement && sliderElement.querySelector(SELECTOR_SLIDER_ITEM)) { + var id = sliderElement.getAttribute('data-slider'); + if (!id) { + id = ++$.uuid; + $.data[id] = slider = new Slider(sliderElement, options); + sliderElement.setAttribute('data-slider', id); + } else { + slider = $.data[id]; + if (slider && options) { + slider.refresh(options); + } + } + } + }); + return slider; + }; + $.ready(function() { + // setTimeout(function() { + $('.mui-slider').slider(); + $('.mui-scroll-wrapper.mui-slider-indicator.mui-segmented-control').scroll({ + scrollY: false, + scrollX: true, + indicators: false, + snap: '.mui-control-item' + }); + // }, 500); //临时处理slider宽度计算不正确的问题(初步确认是scrollbar导致的) + + }); +})(mui, window); +/** + * pullRefresh 5+ + * @param {type} $ + * @returns {undefined} + */ +(function($, document) { + if (!($.os.plus)) { //仅在5+android支持多webview的使用 + return; + } + $.plusReady(function() { + if (window.__NWin_Enable__ === false) { //不支持多webview,则不用5+下拉刷新 + return; + } + var CLASS_PLUS_PULLREFRESH = 'mui-plus-pullrefresh'; + var CLASS_VISIBILITY = 'mui-visibility'; + var CLASS_HIDDEN = 'mui-hidden'; + var CLASS_BLOCK = 'mui-block'; + + var CLASS_PULL_CAPTION = 'mui-pull-caption'; + var CLASS_PULL_CAPTION_DOWN = 'mui-pull-caption-down'; + var CLASS_PULL_CAPTION_REFRESH = 'mui-pull-caption-refresh'; + var CLASS_PULL_CAPTION_NOMORE = 'mui-pull-caption-nomore'; + + var PlusPullRefresh = $.Class.extend({ + init: function(element, options) { + this.element = element; + this.options = options; + this.wrapper = this.scroller = element; + this._init(); + this._initPulldownRefreshEvent(); + }, + _init: function() { + var self = this; + //document.addEventListener('plusscrollbottom', this); + window.addEventListener('dragup', self); + document.addEventListener("plusscrollbottom", self); + self.scrollInterval = window.setInterval(function() { + if (self.isScroll && !self.loading) { + if (window.pageYOffset + window.innerHeight + 10 >= document.documentElement.scrollHeight) { + self.isScroll = false; //放在这里是因为快速滚动的话,有可能检测时,还没到底,所以只要有滚动,没到底之前一直检测高度变化 + if (self.bottomPocket) { + self.pullupLoading(); + } + } + } + }, 100); + }, + _initPulldownRefreshEvent: function() { + var self = this; + $.plusReady(function() { + if (self.options.down.style == "circle") { + //单webview、原生转圈 + self.options.webview = plus.webview.currentWebview(); + self.options.webview.setPullToRefresh({ + support: true, + color: self.options.down.color || '#2BD009', + height: self.options.down.height || '50px', + range: self.options.down.range || '100px', + style: 'circle', + offset: self.options.down.offset || '0px' + }, function() { + self.options.down.callback(); + }); + } else if (self.topPocket && self.options.webviewId) { + var webview = plus.webview.getWebviewById(self.options.webviewId); //子窗口 + if (!webview) { + return; + } + self.options.webview = webview; + var downOptions = self.options.down; + var height = downOptions.height; + webview.addEventListener('close', function() { + var attrWebviewId = self.options.webviewId && self.options.webviewId.replace(/\//g, "_"); //替换所有"/" + self.element.removeAttribute('data-pullrefresh-plus-' + attrWebviewId); + }); + webview.addEventListener("dragBounce", function(e) { + if (!self.pulldown) { + self._initPulldownRefresh(); + } else { + self.pullPocket.classList.add(CLASS_BLOCK); + } + switch (e.status) { + case "beforeChangeOffset": //下拉可刷新状态 + self._setCaption(downOptions.contentdown); + break; + case "afterChangeOffset": //松开可刷新状态 + self._setCaption(downOptions.contentover); + break; + case "dragEndAfterChangeOffset": //正在刷新状态 + //执行下拉刷新所在webview的回调函数 + webview.evalJS("window.mui&&mui.options.pullRefresh.down.callback()"); + self._setCaption(downOptions.contentrefresh); + break; + default: + break; + } + }, false); + + webview.setBounce({ + position: { + top: height * 2 + 'px' + }, + changeoffset: { + top: height + 'px' + } + }); + + } + }); + }, + handleEvent: function(e) { + var self = this; + if (self.stopped) { + return; + } + self.isScroll = false; + if (e.type === 'dragup' || e.type === 'plusscrollbottom') { + self.isScroll = true; + setTimeout(function() { + self.isScroll = false; + }, 1000); + } + } + }).extend($.extend({ + setStopped: function(stopped) { //该方法是子页面调用的 + this.stopped = !!stopped; + // TODO 此处需要设置当前webview的bounce为none,目前5+有BUG + if (this.stopped) { + this.disablePullupToRefresh(); + this.disablePulldownToRefresh(); + } else { + this.enablePullupToRefresh(); + this.enablePulldownToRefresh(); + } + }, + beginPulldown: function() { + var self = this; + $.plusReady(function() { + //这里延时的目的是为了保证下拉刷新组件初始化完成,后续应该做成有状态的 + setTimeout(function() { + if (self.options.down.style == "circle") { //单webview下拉刷新 + plus.webview.currentWebview().beginPullToRefresh(); + } else { //双webview模式 + var webview = self.options.webview; + if (webview) { + webview.setBounce({ + offset: { + top: self.options.down.height + "px" + } + }); + } + } + }, 15); + }.bind(this)); + }, + pulldownLoading: function() { //该方法是子页面调用的,兼容老的历史API + this.beginPulldown(); + }, + _pulldownLoading: function() { //该方法是父页面调用的 + var self = this; + $.plusReady(function() { + var childWebview = plus.webview.getWebviewById(self.options.webviewId); + childWebview && childWebview.setBounce({ + offset: { + top: self.options.down.height + "px" + } + }); + }); + }, + endPulldown: function() { + var _wv = plus.webview.currentWebview(); + //双webview的下拉刷新,需要修改父窗口提示信息 + if (_wv.parent() && this.options.down.style !== "circle") { + _wv.parent().evalJS("mui&&mui(document.querySelector('.mui-content')).pullRefresh('" + JSON.stringify({ + webviewId: _wv.id + }) + "')._endPulldownToRefresh()"); + } else { + _wv.endPullToRefresh(); + } + }, + endPulldownToRefresh: function() { //该方法是子页面调用的,兼容老的历史API + this.endPulldown(); + }, + _endPulldownToRefresh: function() { //该方法是父页面调用的 + var self = this; + if (self.topPocket && self.options.webview) { + self.options.webview.endPullToRefresh(); //下拉刷新所在webview回弹 + self.loading = false; + self._setCaption(self.options.down.contentdown, true); + setTimeout(function() { + self.loading || self.topPocket.classList.remove(CLASS_BLOCK); + }, 350); + } + }, + beginPullup: function(callback) { //开始上拉加载 + var self = this; + if (self.isLoading) return; + self.isLoading = true; + if (self.pulldown !== false) { + self._initPullupRefresh(); + } else { + this.pullPocket.classList.add(CLASS_BLOCK); + } + setTimeout(function() { + self.pullLoading.classList.add(CLASS_VISIBILITY); + self.pullLoading.classList.remove(CLASS_HIDDEN); + self.pullCaption.innerHTML = ''; //修正5+里边第一次加载时,文字显示的bug(还会显示出来个“多”,猜测应该是渲染问题导致的) + self.pullCaption.className = CLASS_PULL_CAPTION + ' ' + CLASS_PULL_CAPTION_REFRESH; + self.pullCaption.innerHTML = self.options.up.contentrefresh; + callback = callback || self.options.up.callback; + callback && callback.call(self); + }, 300); + }, + pullupLoading: function(callback) { //兼容老的API + this.beginPullup(callback); + }, + endPullup: function(finished) { //上拉加载结束 + var self = this; + if (self.pullLoading) { + self.pullLoading.classList.remove(CLASS_VISIBILITY); + self.pullLoading.classList.add(CLASS_HIDDEN); + self.isLoading = false; + if (finished) { + self.finished = true; + self.pullCaption.className = CLASS_PULL_CAPTION + ' ' + CLASS_PULL_CAPTION_NOMORE; + self.pullCaption.innerHTML = self.options.up.contentnomore; + //取消5+的plusscrollbottom事件 + document.removeEventListener('plusscrollbottom', self); + window.removeEventListener('dragup', self); + } else { //初始化时隐藏,后续不再隐藏 + self.pullCaption.className = CLASS_PULL_CAPTION + ' ' + CLASS_PULL_CAPTION_DOWN; + self.pullCaption.innerHTML = self.options.up.contentdown; + } + } + }, + endPullupToRefresh: function(finished) { //上拉加载结束,兼容老的API + this.endPullup(finished); + }, + disablePulldownToRefresh: function() { + var webview = plus.webview.currentWebview(); + if (this.options.down.style && this.options.down.style == 'circle') { // 单webview模式禁止原生下拉刷新 + this.options.webview.setPullToRefresh({ + support: false, + style: 'circle' + }); + } else { // 双webview模式禁止下拉刷新 + webview.setStyle({ + bounce: 'none' + }); + webview.setBounce({ + position: { + top: 'none' + } + }); + } + }, + enablePulldownToRefresh: function() { + var self = this, + webview = plus.webview.currentWebview(), + height = this.options.down.height; + // 单webview模式禁止原生下拉刷新 + if (this.options.down.style && this.options.down.style == 'circle') { + webview.setPullToRefresh({ + support: true, + height: height || '50px', + range: self.options.down.range || '100px', + style: 'circle', + offset: self.options.down.offset || '0px' + }); + } else { // 重新初始化双webview模式下拉刷新 + webview.setStyle({ + bounce: 'vertical' + }); + webview.setBounce({ + position: { + top: height * 2 + 'px' + }, + changeoffset: { + top: height + 'px' + } + }); + } + }, + disablePullupToRefresh: function() { + this._initPullupRefresh(); + this.bottomPocket.className = 'mui-pull-bottom-pocket' + ' ' + CLASS_HIDDEN; + window.removeEventListener('dragup', this); + }, + enablePullupToRefresh: function() { + this._initPullupRefresh(); + this.bottomPocket.classList.remove(CLASS_HIDDEN); + this.pullCaption.className = CLASS_PULL_CAPTION + ' ' + CLASS_PULL_CAPTION_DOWN; + this.pullCaption.innerHTML = this.options.up.contentdown; + document.addEventListener("plusscrollbottom", this); + window.addEventListener('dragup', this); + }, + scrollTo: function(x, y, time) { + $.scrollTo(y, time); + }, + scrollToBottom: function(time) { + $.scrollTo(document.documentElement.scrollHeight, time); + }, + refresh: function(isReset) { + if (isReset && this.finished) { + this.enablePullupToRefresh(); + this.finished = false; + } + } + }, $.PullRefresh)); + + //override h5 pullRefresh + $.fn.pullRefresh_native = function(options) { + var self; + if (this.length === 0) { + self = document.createElement('div'); + self.className = 'mui-content'; + document.body.appendChild(self); + } else { + self = this[0]; + } + var args = options; + //一个父需要支持多个子下拉刷新 + options = options || {} + if (typeof options === 'string') { + options = $.parseJSON(options); + }; + !options.webviewId && (options.webviewId = (plus.webview.currentWebview().id || plus.webview.currentWebview().getURL())); + var pullRefreshApi = null; + var attrWebviewId = options.webviewId && options.webviewId.replace(/\//g, "_"); //替换所有"/" + var id = self.getAttribute('data-pullrefresh-plus-' + attrWebviewId); + if (!id && typeof args === 'undefined') { + return false; + } + if (!id) { //避免重复初始化5+ pullrefresh + id = ++$.uuid; + self.setAttribute('data-pullrefresh-plus-' + attrWebviewId, id); + document.body.classList.add(CLASS_PLUS_PULLREFRESH); + $.data[id] = pullRefreshApi = new PlusPullRefresh(self, options); + } else { + pullRefreshApi = $.data[id]; + } + if (options.down && options.down.auto) { //如果设置了auto,则自动下拉一次 + //pullRefreshApi._pulldownLoading(); //parent webview + pullRefreshApi.beginPulldown(); + } else if (options.up && options.up.auto) { //如果设置了auto,则自动上拉一次 + pullRefreshApi.beginPullup(); + } + return pullRefreshApi; + }; + }); + +})(mui, document); +/** + * off-canvas + * @param {type} $ + * @param {type} window + * @param {type} document + * @param {type} action + * @returns {undefined} + */ +(function($, window, document, name) { + var CLASS_OFF_CANVAS_LEFT = 'mui-off-canvas-left'; + var CLASS_OFF_CANVAS_RIGHT = 'mui-off-canvas-right'; + var CLASS_ACTION_BACKDROP = 'mui-off-canvas-backdrop'; + var CLASS_OFF_CANVAS_WRAP = 'mui-off-canvas-wrap'; + + var CLASS_SLIDE_IN = 'mui-slide-in'; + var CLASS_ACTIVE = 'mui-active'; + + + var CLASS_TRANSITIONING = 'mui-transitioning'; + + var SELECTOR_INNER_WRAP = '.mui-inner-wrap'; + + + var OffCanvas = $.Class.extend({ + init: function(element, options) { + this.wrapper = this.element = element; + this.scroller = this.wrapper.querySelector(SELECTOR_INNER_WRAP); + this.classList = this.wrapper.classList; + if (this.scroller) { + this.options = $.extend(true, { + dragThresholdX: 10, + scale: 0.8, + opacity: 0.1, + preventDefaultException: { + tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT|VIDEO)$/ + }, + }, options); + document.body.classList.add('mui-fullscreen'); //fullscreen + this.refresh(); + this.initEvent(); + } + }, + _preventDefaultException: function(el, exceptions) { + for (var i in exceptions) { + if (exceptions[i].test(el[i])) { + return true; + } + } + return false; + }, + refresh: function(offCanvas) { + // offCanvas && !offCanvas.classList.contains(CLASS_ACTIVE) && this.classList.remove(CLASS_ACTIVE); + this.slideIn = this.classList.contains(CLASS_SLIDE_IN); + this.scalable = this.classList.contains('mui-scalable') && !this.slideIn; + this.scroller = this.wrapper.querySelector(SELECTOR_INNER_WRAP); + // !offCanvas && this.scroller.classList.remove(CLASS_TRANSITIONING); + // !offCanvas && this.scroller.setAttribute('style', ''); + this.offCanvasLefts = this.wrapper.querySelectorAll('.' + CLASS_OFF_CANVAS_LEFT); + this.offCanvasRights = this.wrapper.querySelectorAll('.' + CLASS_OFF_CANVAS_RIGHT); + if (offCanvas) { + if (offCanvas.classList.contains(CLASS_OFF_CANVAS_LEFT)) { + this.offCanvasLeft = offCanvas; + } else if (offCanvas.classList.contains(CLASS_OFF_CANVAS_RIGHT)) { + this.offCanvasRight = offCanvas; + } + } else { + this.offCanvasRight = this.wrapper.querySelector('.' + CLASS_OFF_CANVAS_RIGHT); + this.offCanvasLeft = this.wrapper.querySelector('.' + CLASS_OFF_CANVAS_LEFT); + } + this.offCanvasRightWidth = this.offCanvasLeftWidth = 0; + this.offCanvasLeftSlideIn = this.offCanvasRightSlideIn = false; + if (this.offCanvasRight) { + this.offCanvasRightWidth = this.offCanvasRight.offsetWidth; + this.offCanvasRightSlideIn = this.slideIn && (this.offCanvasRight.parentNode === this.wrapper); + // this.offCanvasRight.classList.remove(CLASS_TRANSITIONING); + // this.offCanvasRight.classList.remove(CLASS_ACTIVE); + // this.offCanvasRight.setAttribute('style', ''); + } + if (this.offCanvasLeft) { + this.offCanvasLeftWidth = this.offCanvasLeft.offsetWidth; + this.offCanvasLeftSlideIn = this.slideIn && (this.offCanvasLeft.parentNode === this.wrapper); + // this.offCanvasLeft.classList.remove(CLASS_TRANSITIONING); + // this.offCanvasLeft.classList.remove(CLASS_ACTIVE); + // this.offCanvasLeft.setAttribute('style', ''); + } + this.backdrop = this.scroller.querySelector('.' + CLASS_ACTION_BACKDROP); + + this.options.dragThresholdX = this.options.dragThresholdX || 10; + + this.visible = false; + this.startX = null; + this.lastX = null; + this.offsetX = null; + this.lastTranslateX = null; + }, + handleEvent: function(e) { + switch (e.type) { + case $.EVENT_START: + e.target && !this._preventDefaultException(e.target, this.options.preventDefaultException) && e.preventDefault(); + break; + case 'webkitTransitionEnd': //有个bug需要处理,需要考虑假设没有触发webkitTransitionEnd的情况 + if (e.target === this.scroller) { + this._dispatchEvent(); + } + break; + case 'drag': + var detail = e.detail; + if (!this.startX) { + this.startX = detail.center.x; + this.lastX = this.startX; + } else { + this.lastX = detail.center.x; + } + if (!this.isDragging && Math.abs(this.lastX - this.startX) > this.options.dragThresholdX && (detail.direction === 'left' || (detail.direction === 'right'))) { + if (this.slideIn) { + this.scroller = this.wrapper.querySelector(SELECTOR_INNER_WRAP); + if (this.classList.contains(CLASS_ACTIVE)) { + if (this.offCanvasRight && this.offCanvasRight.classList.contains(CLASS_ACTIVE)) { + this.offCanvas = this.offCanvasRight; + this.offCanvasWidth = this.offCanvasRightWidth; + } else { + this.offCanvas = this.offCanvasLeft; + this.offCanvasWidth = this.offCanvasLeftWidth; + } + } else { + if (detail.direction === 'left' && this.offCanvasRight) { + this.offCanvas = this.offCanvasRight; + this.offCanvasWidth = this.offCanvasRightWidth; + } else if (detail.direction === 'right' && this.offCanvasLeft) { + this.offCanvas = this.offCanvasLeft; + this.offCanvasWidth = this.offCanvasLeftWidth; + } else { + this.scroller = null; + } + } + } else { + if (this.classList.contains(CLASS_ACTIVE)) { + if (detail.direction === 'left') { + this.offCanvas = this.offCanvasLeft; + this.offCanvasWidth = this.offCanvasLeftWidth; + } else { + this.offCanvas = this.offCanvasRight; + this.offCanvasWidth = this.offCanvasRightWidth; + } + } else { + if (detail.direction === 'right') { + this.offCanvas = this.offCanvasLeft; + this.offCanvasWidth = this.offCanvasLeftWidth; + } else { + this.offCanvas = this.offCanvasRight; + this.offCanvasWidth = this.offCanvasRightWidth; + } + } + } + if (this.offCanvas && this.scroller) { + this.startX = this.lastX; + this.isDragging = true; + + $.gestures.session.lockDirection = true; //锁定方向 + $.gestures.session.startDirection = detail.direction; + + this.offCanvas.classList.remove(CLASS_TRANSITIONING); + this.scroller.classList.remove(CLASS_TRANSITIONING); + this.offsetX = this.getTranslateX(); + this._initOffCanvasVisible(); + } + } + if (this.isDragging) { + this.updateTranslate(this.offsetX + (this.lastX - this.startX)); + detail.gesture.preventDefault(); + e.stopPropagation(); + } + break; + case 'dragend': + if (this.isDragging) { + var detail = e.detail; + var direction = detail.direction; + this.isDragging = false; + this.offCanvas.classList.add(CLASS_TRANSITIONING); + this.scroller.classList.add(CLASS_TRANSITIONING); + var ratio = 0; + var x = this.getTranslateX(); + if (!this.slideIn) { + if (x >= 0) { + ratio = (this.offCanvasLeftWidth && (x / this.offCanvasLeftWidth)) || 0; + } else { + ratio = (this.offCanvasRightWidth && (x / this.offCanvasRightWidth)) || 0; + } + if (ratio === 0) { + this.openPercentage(0); + this._dispatchEvent(); //此处不触发webkitTransitionEnd,所以手动dispatch + return; + } + if (direction === 'right' && ratio >= 0 && (ratio >= 0.5 || detail.swipe)) { //右滑打开 + this.openPercentage(100); + } else if (direction === 'right' && ratio < 0 && (ratio > -0.5 || detail.swipe)) { //右滑关闭 + this.openPercentage(0); + } else if (direction === 'right' && ratio > 0 && ratio < 0.5) { //右滑还原关闭 + this.openPercentage(0); + } else if (direction === 'right' && ratio < 0.5) { //右滑还原打开 + this.openPercentage(-100); + } else if (direction === 'left' && ratio <= 0 && (ratio <= -0.5 || detail.swipe)) { //左滑打开 + this.openPercentage(-100); + } else if (direction === 'left' && ratio > 0 && (ratio <= 0.5 || detail.swipe)) { //左滑关闭 + this.openPercentage(0); + } else if (direction === 'left' && ratio < 0 && ratio >= -0.5) { //左滑还原关闭 + this.openPercentage(0); + } else if (direction === 'left' && ratio > 0.5) { //左滑还原打开 + this.openPercentage(100); + } else { //默认关闭 + this.openPercentage(0); + } + if (ratio === 1 || ratio === -1) { //此处不触发webkitTransitionEnd,所以手动dispatch + this._dispatchEvent(); + } + } else { + if (x >= 0) { + ratio = (this.offCanvasRightWidth && (x / this.offCanvasRightWidth)) || 0; + } else { + ratio = (this.offCanvasLeftWidth && (x / this.offCanvasLeftWidth)) || 0; + } + if (direction === 'right' && ratio <= 0 && (ratio >= -0.5 || detail.swipe)) { //右滑打开 + this.openPercentage(100); + } else if (direction === 'right' && ratio > 0 && (ratio >= 0.5 || detail.swipe)) { //右滑关闭 + this.openPercentage(0); + } else if (direction === 'right' && ratio <= -0.5) { //右滑还原关闭 + this.openPercentage(0); + } else if (direction === 'right' && ratio > 0 && ratio <= 0.5) { //右滑还原打开 + this.openPercentage(-100); + } else if (direction === 'left' && ratio >= 0 && (ratio <= 0.5 || detail.swipe)) { //左滑打开 + this.openPercentage(-100); + } else if (direction === 'left' && ratio < 0 && (ratio <= -0.5 || detail.swipe)) { //左滑关闭 + this.openPercentage(0); + } else if (direction === 'left' && ratio >= 0.5) { //左滑还原关闭 + this.openPercentage(0); + } else if (direction === 'left' && ratio >= -0.5 && ratio < 0) { //左滑还原打开 + this.openPercentage(100); + } else { + this.openPercentage(0); + } + if (ratio === 1 || ratio === -1 || ratio === 0) { + this._dispatchEvent(); + return; + } + + } + } + break; + } + }, + _dispatchEvent: function() { + if (this.classList.contains(CLASS_ACTIVE)) { + $.trigger(this.wrapper, 'shown', this); + } else { + $.trigger(this.wrapper, 'hidden', this); + } + }, + _initOffCanvasVisible: function() { + if (!this.visible) { + this.visible = true; + if (this.offCanvasLeft) { + this.offCanvasLeft.style.visibility = 'visible'; + } + if (this.offCanvasRight) { + this.offCanvasRight.style.visibility = 'visible'; + } + } + }, + initEvent: function() { + var self = this; + if (self.backdrop) { + self.backdrop.addEventListener('tap', function(e) { + self.close(); + e.detail.gesture.preventDefault(); + }); + } + if (this.classList.contains('mui-draggable')) { + this.wrapper.addEventListener($.EVENT_START, this); //临时处理 + this.wrapper.addEventListener('drag', this); + this.wrapper.addEventListener('dragend', this); + } + this.wrapper.addEventListener('webkitTransitionEnd', this); + }, + openPercentage: function(percentage) { + var p = percentage / 100; + if (!this.slideIn) { + if (this.offCanvasLeft && percentage >= 0) { + this.updateTranslate(this.offCanvasLeftWidth * p); + this.offCanvasLeft.classList[p !== 0 ? 'add' : 'remove'](CLASS_ACTIVE); + } else if (this.offCanvasRight && percentage <= 0) { + this.updateTranslate(this.offCanvasRightWidth * p); + this.offCanvasRight.classList[p !== 0 ? 'add' : 'remove'](CLASS_ACTIVE); + } + this.classList[p !== 0 ? 'add' : 'remove'](CLASS_ACTIVE); + } else { + if (this.offCanvasLeft && percentage >= 0) { + p = p === 0 ? -1 : 0; + this.updateTranslate(this.offCanvasLeftWidth * p); + this.offCanvasLeft.classList[percentage !== 0 ? 'add' : 'remove'](CLASS_ACTIVE); + } else if (this.offCanvasRight && percentage <= 0) { + p = p === 0 ? 1 : 0; + this.updateTranslate(this.offCanvasRightWidth * p); + this.offCanvasRight.classList[percentage !== 0 ? 'add' : 'remove'](CLASS_ACTIVE); + } + this.classList[percentage !== 0 ? 'add' : 'remove'](CLASS_ACTIVE); + } + }, + updateTranslate: function(x) { + if (x !== this.lastTranslateX) { + if (!this.slideIn) { + if ((!this.offCanvasLeft && x > 0) || (!this.offCanvasRight && x < 0)) { + this.setTranslateX(0); + return; + } + if (this.leftShowing && x > this.offCanvasLeftWidth) { + this.setTranslateX(this.offCanvasLeftWidth); + return; + } + if (this.rightShowing && x < -this.offCanvasRightWidth) { + this.setTranslateX(-this.offCanvasRightWidth); + return; + } + this.setTranslateX(x); + if (x >= 0) { + this.leftShowing = true; + this.rightShowing = false; + if (x > 0) { + if (this.offCanvasLeft) { + $.each(this.offCanvasLefts, function(index, offCanvas) { + if (offCanvas === this.offCanvasLeft) { + this.offCanvasLeft.style.zIndex = 0; + } else { + offCanvas.style.zIndex = -1; + } + }.bind(this)); + } + if (this.offCanvasRight) { + this.offCanvasRight.style.zIndex = -1; + } + } + } else { + this.rightShowing = true; + this.leftShowing = false; + if (this.offCanvasRight) { + $.each(this.offCanvasRights, function(index, offCanvas) { + if (offCanvas === this.offCanvasRight) { + offCanvas.style.zIndex = 0; + } else { + offCanvas.style.zIndex = -1; + } + }.bind(this)); + } + if (this.offCanvasLeft) { + this.offCanvasLeft.style.zIndex = -1; + } + } + } else { + if (this.offCanvas.classList.contains(CLASS_OFF_CANVAS_RIGHT)) { + if (x < 0) { + this.setTranslateX(0); + return; + } + if (x > this.offCanvasRightWidth) { + this.setTranslateX(this.offCanvasRightWidth); + return; + } + } else { + if (x > 0) { + this.setTranslateX(0); + return; + } + if (x < -this.offCanvasLeftWidth) { + this.setTranslateX(-this.offCanvasLeftWidth); + return; + } + } + this.setTranslateX(x); + } + this.lastTranslateX = x; + } + }, + setTranslateX: $.animationFrame(function(x) { + if (this.scroller) { + if (this.scalable && this.offCanvas.parentNode === this.wrapper) { + var percent = Math.abs(x) / this.offCanvasWidth; + var zoomOutScale = 1 - (1 - this.options.scale) * percent; + var zoomInScale = this.options.scale + (1 - this.options.scale) * percent; + var zoomOutOpacity = 1 - (1 - this.options.opacity) * percent; + var zoomInOpacity = this.options.opacity + (1 - this.options.opacity) * percent; + if (this.offCanvas.classList.contains(CLASS_OFF_CANVAS_LEFT)) { + this.offCanvas.style.webkitTransformOrigin = '-100%'; + this.scroller.style.webkitTransformOrigin = 'left'; + } else { + this.offCanvas.style.webkitTransformOrigin = '200%'; + this.scroller.style.webkitTransformOrigin = 'right'; + } + this.offCanvas.style.opacity = zoomInOpacity; + this.offCanvas.style.webkitTransform = 'translate3d(0,0,0) scale(' + zoomInScale + ')'; + this.scroller.style.webkitTransform = 'translate3d(' + x + 'px,0,0) scale(' + zoomOutScale + ')'; + } else { + if (this.slideIn) { + this.offCanvas.style.webkitTransform = 'translate3d(' + x + 'px,0,0)'; + } else { + this.scroller.style.webkitTransform = 'translate3d(' + x + 'px,0,0)'; + } + } + } + }), + getTranslateX: function() { + if (this.offCanvas) { + var scroller = this.slideIn ? this.offCanvas : this.scroller; + var result = $.parseTranslateMatrix($.getStyles(scroller, 'webkitTransform')); + return (result && result.x) || 0; + } + return 0; + }, + isShown: function(direction) { + var shown = false; + if (!this.slideIn) { + var x = this.getTranslateX(); + if (direction === 'right') { + shown = this.classList.contains(CLASS_ACTIVE) && x < 0; + } else if (direction === 'left') { + shown = this.classList.contains(CLASS_ACTIVE) && x > 0; + } else { + shown = this.classList.contains(CLASS_ACTIVE) && x !== 0; + } + } else { + if (direction === 'left') { + shown = this.classList.contains(CLASS_ACTIVE) && this.wrapper.querySelector('.' + CLASS_OFF_CANVAS_LEFT + '.' + CLASS_ACTIVE); + } else if (direction === 'right') { + shown = this.classList.contains(CLASS_ACTIVE) && this.wrapper.querySelector('.' + CLASS_OFF_CANVAS_RIGHT + '.' + CLASS_ACTIVE); + } else { + shown = this.classList.contains(CLASS_ACTIVE) && (this.wrapper.querySelector('.' + CLASS_OFF_CANVAS_LEFT + '.' + CLASS_ACTIVE) || this.wrapper.querySelector('.' + CLASS_OFF_CANVAS_RIGHT + '.' + CLASS_ACTIVE)); + } + } + return shown; + }, + close: function() { + this._initOffCanvasVisible(); + this.offCanvas = this.wrapper.querySelector('.' + CLASS_OFF_CANVAS_RIGHT + '.' + CLASS_ACTIVE) || this.wrapper.querySelector('.' + CLASS_OFF_CANVAS_LEFT + '.' + CLASS_ACTIVE); + this.offCanvasWidth = this.offCanvas.offsetWidth; + if (this.scroller) { + this.offCanvas.offsetHeight; + this.offCanvas.classList.add(CLASS_TRANSITIONING); + this.scroller.classList.add(CLASS_TRANSITIONING); + this.openPercentage(0); + } + }, + show: function(direction) { + this._initOffCanvasVisible(); + if (this.isShown(direction)) { + return false; + } + if (!direction) { + direction = this.wrapper.querySelector('.' + CLASS_OFF_CANVAS_RIGHT) ? 'right' : 'left'; + } + if (direction === 'right') { + this.offCanvas = this.offCanvasRight; + this.offCanvasWidth = this.offCanvasRightWidth; + } else { + this.offCanvas = this.offCanvasLeft; + this.offCanvasWidth = this.offCanvasLeftWidth; + } + if (this.scroller) { + this.offCanvas.offsetHeight; + this.offCanvas.classList.add(CLASS_TRANSITIONING); + this.scroller.classList.add(CLASS_TRANSITIONING); + this.openPercentage(direction === 'left' ? 100 : -100); + } + return true; + }, + toggle: function(directionOrOffCanvas) { + var direction = directionOrOffCanvas; + if (directionOrOffCanvas && directionOrOffCanvas.classList) { + direction = directionOrOffCanvas.classList.contains(CLASS_OFF_CANVAS_LEFT) ? 'left' : 'right'; + this.refresh(directionOrOffCanvas); + } + if (!this.show(direction)) { + this.close(); + } + } + }); + + //hash to offcanvas + var findOffCanvasContainer = function(target) { + parentNode = target.parentNode; + if (parentNode) { + if (parentNode.classList.contains(CLASS_OFF_CANVAS_WRAP)) { + return parentNode; + } else { + parentNode = parentNode.parentNode; + if (parentNode.classList.contains(CLASS_OFF_CANVAS_WRAP)) { + return parentNode; + } + } + } + }; + var handle = function(event, target) { + if (target.tagName === 'A' && target.hash) { + var offcanvas = document.getElementById(target.hash.replace('#', '')); + if (offcanvas) { + var container = findOffCanvasContainer(offcanvas); + if (container) { + $.targets._container = container; + return offcanvas; + } + } + } + return false; + }; + + $.registerTarget({ + name: name, + index: 60, + handle: handle, + target: false, + isReset: false, + isContinue: true + }); + + window.addEventListener('tap', function(e) { + if (!$.targets.offcanvas) { + return; + } + //TODO 此处类型的代码后续考虑统一优化(target机制),现在的实现费力不讨好 + var target = e.target; + for (; target && target !== document; target = target.parentNode) { + if (target.tagName === 'A' && target.hash && target.hash === ('#' + $.targets.offcanvas.id)) { + e.detail && e.detail.gesture && e.detail.gesture.preventDefault(); //fixed hashchange + $($.targets._container).offCanvas().toggle($.targets.offcanvas); + $.targets.offcanvas = $.targets._container = null; + break; + } + } + }); + + $.fn.offCanvas = function(options) { + var offCanvasApis = []; + this.each(function() { + var offCanvasApi = null; + var self = this; + //hack old version + if (!self.classList.contains(CLASS_OFF_CANVAS_WRAP)) { + self = findOffCanvasContainer(self); + } + var id = self.getAttribute('data-offCanvas'); + if (!id) { + id = ++$.uuid; + $.data[id] = offCanvasApi = new OffCanvas(self, options); + self.setAttribute('data-offCanvas', id); + } else { + offCanvasApi = $.data[id]; + } + if (options === 'show' || options === 'close' || options === 'toggle') { + offCanvasApi.toggle(); + } + offCanvasApis.push(offCanvasApi); + }); + return offCanvasApis.length === 1 ? offCanvasApis[0] : offCanvasApis; + }; + $.ready(function() { + $('.mui-off-canvas-wrap').offCanvas(); + }); +})(mui, window, document, 'offcanvas'); +/** + * actions + * @param {type} $ + * @param {type} name + * @returns {undefined} + */ +(function($, name) { + var CLASS_ACTION = 'mui-action'; + + var handle = function(event, target) { + var className = target.className || ''; + if (typeof className !== 'string') { //svg className(SVGAnimatedString) + className = ''; + } + if (className && ~className.indexOf(CLASS_ACTION)) { + if (target.classList.contains('mui-action-back')) { + event.preventDefault(); + } + return target; + } + return false; + }; + + $.registerTarget({ + name: name, + index: 50, + handle: handle, + target: false, + isContinue: true + }); + +})(mui, 'action'); +/** + * Modals + * @param {type} $ + * @param {type} window + * @param {type} document + * @param {type} name + * @returns {undefined} + */ +(function($, window, document, name) { + var CLASS_MODAL = 'mui-modal'; + + var handle = function(event, target) { + if (target.tagName === 'A' && target.hash) { + var modal = document.getElementById(target.hash.replace('#', '')); + if (modal && modal.classList.contains(CLASS_MODAL)) { + return modal; + } + } + return false; + }; + + $.registerTarget({ + name: name, + index: 50, + handle: handle, + target: false, + isReset: false, + isContinue: true + }); + + window.addEventListener('tap', function(event) { + if ($.targets.modal) { + event.detail.gesture.preventDefault(); //fixed hashchange + $.targets.modal.classList.toggle('mui-active'); + } + }); +})(mui, window, document, 'modal'); +/** + * Popovers + * @param {type} $ + * @param {type} window + * @param {type} document + * @param {type} name + * @param {type} undefined + * @returns {undefined} + */ +(function($, window, document, name) { + + var CLASS_POPOVER = 'mui-popover'; + var CLASS_POPOVER_ARROW = 'mui-popover-arrow'; + var CLASS_ACTION_POPOVER = 'mui-popover-action'; + var CLASS_BACKDROP = 'mui-backdrop'; + var CLASS_BAR_POPOVER = 'mui-bar-popover'; + var CLASS_BAR_BACKDROP = 'mui-bar-backdrop'; + var CLASS_ACTION_BACKDROP = 'mui-backdrop-action'; + var CLASS_ACTIVE = 'mui-active'; + var CLASS_BOTTOM = 'mui-bottom'; + + + + var handle = function(event, target) { + if (target.tagName === 'A' && target.hash) { + $.targets._popover = document.getElementById(target.hash.replace('#', '')); + if ($.targets._popover && $.targets._popover.classList.contains(CLASS_POPOVER)) { + return target; + } else { + $.targets._popover = null; + } + } + return false; + }; + + $.registerTarget({ + name: name, + index: 60, + handle: handle, + target: false, + isReset: false, + isContinue: true + }); + + var onPopoverShown = function(e) { + this.removeEventListener('webkitTransitionEnd', onPopoverShown); + this.addEventListener($.EVENT_MOVE, $.preventDefault); + $.trigger(this, 'shown', this); + } + var onPopoverHidden = function(e) { + setStyle(this, 'none'); + this.removeEventListener('webkitTransitionEnd', onPopoverHidden); + this.removeEventListener($.EVENT_MOVE, $.preventDefault); + $.trigger(this, 'hidden', this); + }; + + var backdrop = (function() { + var element = document.createElement('div'); + element.classList.add(CLASS_BACKDROP); + element.addEventListener($.EVENT_MOVE, $.preventDefault); + element.addEventListener('tap', function(e) { + var popover = $.targets._popover; + if (popover) { + popover.addEventListener('webkitTransitionEnd', onPopoverHidden); + popover.classList.remove(CLASS_ACTIVE); + removeBackdrop(popover); + } + }); + + return element; + }()); + var removeBackdropTimer; + var removeBackdrop = function(popover) { + backdrop.setAttribute('style', 'opacity:0'); + $.targets.popover = $.targets._popover = null; //reset + removeBackdropTimer = $.later(function() { + if (!popover.classList.contains(CLASS_ACTIVE) && backdrop.parentNode && backdrop.parentNode === document.body) { + document.body.removeChild(backdrop); + } + }, 350); + }; + window.addEventListener('tap', function(e) { + if (!$.targets.popover) { + return; + } + var toggle = false; + var target = e.target; + for (; target && target !== document; target = target.parentNode) { + if (target === $.targets.popover) { + toggle = true; + } + } + if (toggle) { + e.detail.gesture.preventDefault(); //fixed hashchange + togglePopover($.targets._popover, $.targets.popover); + } + + }); + + var togglePopover = function(popover, anchor, state) { + if ((state === 'show' && popover.classList.contains(CLASS_ACTIVE)) || (state === 'hide' && !popover.classList.contains(CLASS_ACTIVE))) { + return; + } + removeBackdropTimer && removeBackdropTimer.cancel(); //取消remove的timer + //remove一遍,以免来回快速切换,导致webkitTransitionEnd不触发,无法remove + popover.removeEventListener('webkitTransitionEnd', onPopoverShown); + popover.removeEventListener('webkitTransitionEnd', onPopoverHidden); + backdrop.classList.remove(CLASS_BAR_BACKDROP); + backdrop.classList.remove(CLASS_ACTION_BACKDROP); + var _popover = document.querySelector('.mui-popover.mui-active'); + if (_popover) { + // _popover.setAttribute('style', ''); + _popover.addEventListener('webkitTransitionEnd', onPopoverHidden); + _popover.classList.remove(CLASS_ACTIVE); + // _popover.removeEventListener('webkitTransitionEnd', onPopoverHidden); + //同一个弹出则直接返回,解决同一个popover的toggle + if (popover === _popover) { + removeBackdrop(_popover); + return; + } + } + var isActionSheet = false; + if (popover.classList.contains(CLASS_BAR_POPOVER) || popover.classList.contains(CLASS_ACTION_POPOVER)) { //navBar + if (popover.classList.contains(CLASS_ACTION_POPOVER)) { //action sheet popover + isActionSheet = true; + backdrop.classList.add(CLASS_ACTION_BACKDROP); + } else { //bar popover + backdrop.classList.add(CLASS_BAR_BACKDROP); + // if (anchor) { + // if (anchor.parentNode) { + // var offsetWidth = anchor.offsetWidth; + // var offsetLeft = anchor.offsetLeft; + // var innerWidth = window.innerWidth; + // popover.style.left = (Math.min(Math.max(offsetLeft, defaultPadding), innerWidth - offsetWidth - defaultPadding)) + "px"; + // } else { + // //TODO anchor is position:{left,top,bottom,right} + // } + // } + } + } + setStyle(popover, 'block'); //actionsheet transform + popover.offsetHeight; + popover.classList.add(CLASS_ACTIVE); + backdrop.setAttribute('style', ''); + document.body.appendChild(backdrop); + calPosition(popover, anchor, isActionSheet); //position + backdrop.classList.add(CLASS_ACTIVE); + popover.addEventListener('webkitTransitionEnd', onPopoverShown); + }; + var setStyle = function(popover, display, top, left) { + var style = popover.style; + if (typeof display !== 'undefined') + style.display = display; + if (typeof top !== 'undefined') + style.top = top + 'px'; + if (typeof left !== 'undefined') + style.left = left + 'px'; + }; + var calPosition = function(popover, anchor, isActionSheet) { + if (!popover || !anchor) { + return; + } + + if (isActionSheet) { //actionsheet + setStyle(popover, 'block') + return; + } + + var wWidth = window.innerWidth; + var wHeight = window.innerHeight; + + var pWidth = popover.offsetWidth; + var pHeight = popover.offsetHeight; + + var aWidth = anchor.offsetWidth; + var aHeight = anchor.offsetHeight; + var offset = $.offset(anchor); + + var arrow = popover.querySelector('.' + CLASS_POPOVER_ARROW); + if (!arrow) { + arrow = document.createElement('div'); + arrow.className = CLASS_POPOVER_ARROW; + popover.appendChild(arrow); + } + var arrowSize = arrow && arrow.offsetWidth / 2 || 0; + + + + var pTop = 0; + var pLeft = 0; + var diff = 0; + var arrowLeft = 0; + var defaultPadding = popover.classList.contains(CLASS_ACTION_POPOVER) ? 0 : 5; + + var position = 'top'; + if ((pHeight + arrowSize) < (offset.top - window.pageYOffset)) { //top + pTop = offset.top - pHeight - arrowSize; + } else if ((pHeight + arrowSize) < (wHeight - (offset.top - window.pageYOffset) - aHeight)) { //bottom + position = 'bottom'; + pTop = offset.top + aHeight + arrowSize; + } else { //middle + position = 'middle'; + pTop = Math.max((wHeight - pHeight) / 2 + window.pageYOffset, 0); + pLeft = Math.max((wWidth - pWidth) / 2 + window.pageXOffset, 0); + } + if (position === 'top' || position === 'bottom') { + pLeft = aWidth / 2 + offset.left - pWidth / 2; + diff = pLeft; + if (pLeft < defaultPadding) pLeft = defaultPadding; + if (pLeft + pWidth > wWidth) pLeft = wWidth - pWidth - defaultPadding; + + if (arrow) { + if (position === 'top') { + arrow.classList.add(CLASS_BOTTOM); + } else { + arrow.classList.remove(CLASS_BOTTOM); + } + diff = diff - pLeft; + arrowLeft = (pWidth / 2 - arrowSize / 2 + diff); + arrowLeft = Math.max(Math.min(arrowLeft, pWidth - arrowSize * 2 - 6), 6); + arrow.setAttribute('style', 'left:' + arrowLeft + 'px'); + } + } else if (position === 'middle') { + arrow.setAttribute('style', 'display:none'); + } + setStyle(popover, 'block', pTop, pLeft); + }; + + $.createMask = function(callback) { + var element = document.createElement('div'); + element.classList.add(CLASS_BACKDROP); + element.addEventListener($.EVENT_MOVE, $.preventDefault); + element.addEventListener('tap', function() { + mask.close(); + }); + var mask = [element]; + mask._show = false; + mask.show = function() { + mask._show = true; + element.setAttribute('style', 'opacity:1'); + document.body.appendChild(element); + return mask; + }; + mask._remove = function() { + if (mask._show) { + mask._show = false; + element.setAttribute('style', 'opacity:0'); + $.later(function() { + var body = document.body; + element.parentNode === body && body.removeChild(element); + }, 350); + } + return mask; + }; + mask.close = function() { + if (callback) { + if (callback() !== false) { + mask._remove(); + } + } else { + mask._remove(); + } + }; + return mask; + }; + $.fn.popover = function() { + var args = arguments; + this.each(function() { + $.targets._popover = this; + if (args[0] === 'show' || args[0] === 'hide' || args[0] === 'toggle') { + togglePopover(this, args[1], args[0]); + } + }); + }; + +})(mui, window, document, 'popover'); +/** + * segmented-controllers + * @param {type} $ + * @param {type} window + * @param {type} document + * @param {type} undefined + * @returns {undefined} + */ +(function($, window, document, name, undefined) { + + var CLASS_CONTROL_ITEM = 'mui-control-item'; + var CLASS_SEGMENTED_CONTROL = 'mui-segmented-control'; + var CLASS_SEGMENTED_CONTROL_VERTICAL = 'mui-segmented-control-vertical'; + var CLASS_CONTROL_CONTENT = 'mui-control-content'; + var CLASS_TAB_BAR = 'mui-bar-tab'; + var CLASS_TAB_ITEM = 'mui-tab-item'; + var CLASS_SLIDER_ITEM = 'mui-slider-item'; + + var handle = function(event, target) { + if (target.classList && (target.classList.contains(CLASS_CONTROL_ITEM) || target.classList.contains(CLASS_TAB_ITEM))) { + if (target.parentNode && target.parentNode.classList && target.parentNode.classList.contains(CLASS_SEGMENTED_CONTROL_VERTICAL)) { + //vertical 如果preventDefault会导致无法滚动 + } else { + + event.preventDefault(); + // if(target.tagName == 'A') { + // // fixed 底部选项卡href 无法跳转 && stop hash change + // var curr_href = location.hostname + location.pathname, + // target_href = target.hostname + target.pathname; + + // if (curr_href == target_href && target.hash !== "") { + // event.preventDefault(); + // return target; + // }else{ + // return false + // } + // } + } + // if (target.hash) { + return target; + // } + } + return false; + }; + + $.registerTarget({ + name: name, + index: 80, + handle: handle, + target: false + }); + + window.addEventListener('tap', function(e) { + + var targetTab = $.targets.tab; + if (!targetTab) { + return; + } + var activeTab; + var activeBodies; + var targetBody; + var className = 'mui-active'; + var classSelector = '.' + className; + var segmentedControl = targetTab.parentNode; + + for (; segmentedControl && segmentedControl !== document; segmentedControl = segmentedControl.parentNode) { + if (segmentedControl.classList.contains(CLASS_SEGMENTED_CONTROL)) { + activeTab = segmentedControl.querySelector(classSelector + '.' + CLASS_CONTROL_ITEM); + break; + } else if (segmentedControl.classList.contains(CLASS_TAB_BAR)) { + activeTab = segmentedControl.querySelector(classSelector + '.' + CLASS_TAB_ITEM); + } + } + + if (activeTab) { + activeTab.classList.remove(className); + } + + var isLastActive = targetTab === activeTab; + if (targetTab) { + targetTab.classList.add(className); + } + + if (!targetTab.hash) { + return; + } + targetBody = document.getElementById(targetTab.hash.replace('#', '')); + + if (!targetBody) { + return; + } + if (!targetBody.classList.contains(CLASS_CONTROL_CONTENT)) { //tab bar popover + targetTab.classList[isLastActive ? 'remove' : 'add'](className); + return; + } + if (isLastActive) { //same + return; + } + var parentNode = targetBody.parentNode; + activeBodies = parentNode.querySelectorAll('.' + CLASS_CONTROL_CONTENT + classSelector); + for (var i = 0; i < activeBodies.length; i++) { + var activeBody = activeBodies[i]; + activeBody.parentNode === parentNode && activeBody.classList.remove(className); + } + + targetBody.classList.add(className); + + var contents = []; + var _contents = parentNode.querySelectorAll('.' + CLASS_CONTROL_CONTENT); + for (var i = 0; i < _contents.length; i++) { //查找直属子节点 + _contents[i].parentNode === parentNode && (contents.push(_contents[i])); + } + $.trigger(targetBody, $.eventName('shown', name), { + tabNumber: Array.prototype.indexOf.call(contents, targetBody) + }); + e.detail && e.detail.gesture.preventDefault(); //fixed hashchange + }); + +})(mui, window, document, 'tab'); +/** + * Toggles switch + * @param {type} $ + * @param {type} window + * @param {type} name + * @returns {undefined} + */ +(function($, window, name) { + + var CLASS_SWITCH = 'mui-switch'; + var CLASS_SWITCH_HANDLE = 'mui-switch-handle'; + var CLASS_ACTIVE = 'mui-active'; + var CLASS_DRAGGING = 'mui-dragging'; + + var CLASS_DISABLED = 'mui-disabled'; + + var SELECTOR_SWITCH_HANDLE = '.' + CLASS_SWITCH_HANDLE; + + var handle = function(event, target) { + if (target.classList && target.classList.contains(CLASS_SWITCH)) { + return target; + } + return false; + }; + + $.registerTarget({ + name: name, + index: 100, + handle: handle, + target: false + }); + + + var Toggle = function(element) { + this.element = element; + this.classList = this.element.classList; + this.handle = this.element.querySelector(SELECTOR_SWITCH_HANDLE); + this.init(); + this.initEvent(); + }; + Toggle.prototype.init = function() { + this.toggleWidth = this.element.offsetWidth; + this.handleWidth = this.handle.offsetWidth; + this.handleX = this.toggleWidth - this.handleWidth - 3; + }; + Toggle.prototype.initEvent = function() { + this.element.addEventListener($.EVENT_START, this); + this.element.addEventListener('drag', this); + this.element.addEventListener('swiperight', this); + this.element.addEventListener($.EVENT_END, this); + this.element.addEventListener($.EVENT_CANCEL, this); + + }; + Toggle.prototype.handleEvent = function(e) { + if (this.classList.contains(CLASS_DISABLED)) { + return; + } + switch (e.type) { + case $.EVENT_START: + this.start(e); + break; + case 'drag': + this.drag(e); + break; + case 'swiperight': + this.swiperight(); + break; + case $.EVENT_END: + case $.EVENT_CANCEL: + this.end(e); + break; + } + }; + Toggle.prototype.start = function(e) { + this.handle.style.webkitTransitionDuration = this.element.style.webkitTransitionDuration = '.2s'; + this.classList.add(CLASS_DRAGGING); + if (this.toggleWidth === 0 || this.handleWidth === 0) { //当switch处于隐藏状态时,width为0,需要重新初始化 + this.init(); + } + }; + Toggle.prototype.drag = function(e) { + var detail = e.detail; + if (!this.isDragging) { + if (detail.direction === 'left' || detail.direction === 'right') { + this.isDragging = true; + this.lastChanged = undefined; + this.initialState = this.classList.contains(CLASS_ACTIVE); + } + } + if (this.isDragging) { + this.setTranslateX(detail.deltaX); + e.stopPropagation(); + detail.gesture.preventDefault(); + } + }; + Toggle.prototype.swiperight = function(e) { + if (this.isDragging) { + e.stopPropagation(); + } + }; + Toggle.prototype.end = function(e) { + this.classList.remove(CLASS_DRAGGING); + if (this.isDragging) { + this.isDragging = false; + e.stopPropagation(); + $.trigger(this.element, 'toggle', { + isActive: this.classList.contains(CLASS_ACTIVE) + }); + } else { + this.toggle(); + } + }; + Toggle.prototype.toggle = function(animate) { + var classList = this.classList; + if (animate === false) { + this.handle.style.webkitTransitionDuration = this.element.style.webkitTransitionDuration = '0s'; + } else { + this.handle.style.webkitTransitionDuration = this.element.style.webkitTransitionDuration = '.2s'; + } + if (classList.contains(CLASS_ACTIVE)) { + classList.remove(CLASS_ACTIVE); + this.handle.style.webkitTransform = 'translate(0,0)'; + } else { + classList.add(CLASS_ACTIVE); + this.handle.style.webkitTransform = 'translate(' + this.handleX + 'px,0)'; + } + $.trigger(this.element, 'toggle', { + isActive: this.classList.contains(CLASS_ACTIVE) + }); + }; + Toggle.prototype.setTranslateX = $.animationFrame(function(x) { + if (!this.isDragging) { + return; + } + var isChanged = false; + if ((this.initialState && -x > (this.handleX / 2)) || (!this.initialState && x > (this.handleX / 2))) { + isChanged = true; + } + if (this.lastChanged !== isChanged) { + if (isChanged) { + this.handle.style.webkitTransform = 'translate(' + (this.initialState ? 0 : this.handleX) + 'px,0)'; + this.classList[this.initialState ? 'remove' : 'add'](CLASS_ACTIVE); + } else { + this.handle.style.webkitTransform = 'translate(' + (this.initialState ? this.handleX : 0) + 'px,0)'; + this.classList[this.initialState ? 'add' : 'remove'](CLASS_ACTIVE); + } + this.lastChanged = isChanged; + } + + }); + + $.fn['switch'] = function(options) { + var switchApis = []; + this.each(function() { + var switchApi = null; + var id = this.getAttribute('data-switch'); + if (!id) { + id = ++$.uuid; + $.data[id] = new Toggle(this); + this.setAttribute('data-switch', id); + } else { + switchApi = $.data[id]; + } + switchApis.push(switchApi); + }); + return switchApis.length > 1 ? switchApis : switchApis[0]; + }; + $.ready(function() { + $('.' + CLASS_SWITCH)['switch'](); + }); +})(mui, window, 'toggle'); +/** + * Tableviews + * @param {type} $ + * @param {type} window + * @param {type} document + * @returns {undefined} + */ +(function($, window, document) { + + var CLASS_ACTIVE = 'mui-active'; + var CLASS_SELECTED = 'mui-selected'; + var CLASS_GRID_VIEW = 'mui-grid-view'; + var CLASS_RADIO_VIEW = 'mui-table-view-radio'; + var CLASS_TABLE_VIEW_CELL = 'mui-table-view-cell'; + var CLASS_COLLAPSE_CONTENT = 'mui-collapse-content'; + var CLASS_DISABLED = 'mui-disabled'; + var CLASS_TOGGLE = 'mui-switch'; + var CLASS_BTN = 'mui-btn'; + + var CLASS_SLIDER_HANDLE = 'mui-slider-handle'; + var CLASS_SLIDER_LEFT = 'mui-slider-left'; + var CLASS_SLIDER_RIGHT = 'mui-slider-right'; + var CLASS_TRANSITIONING = 'mui-transitioning'; + + + var SELECTOR_SLIDER_HANDLE = '.' + CLASS_SLIDER_HANDLE; + var SELECTOR_SLIDER_LEFT = '.' + CLASS_SLIDER_LEFT; + var SELECTOR_SLIDER_RIGHT = '.' + CLASS_SLIDER_RIGHT; + var SELECTOR_SELECTED = '.' + CLASS_SELECTED; + var SELECTOR_BUTTON = '.' + CLASS_BTN; + var overFactor = 0.8; + var cell, a; + + var isMoved = isOpened = openedActions = progress = false; + var sliderHandle = sliderActionLeft = sliderActionRight = buttonsLeft = buttonsRight = sliderDirection = sliderRequestAnimationFrame = false; + var timer = translateX = lastTranslateX = sliderActionLeftWidth = sliderActionRightWidth = 0; + + + + var toggleActive = function(isActive) { + if (isActive) { + if (a) { + a.classList.add(CLASS_ACTIVE); + } else if (cell) { + cell.classList.add(CLASS_ACTIVE); + } + } else { + timer && timer.cancel(); + if (a) { + a.classList.remove(CLASS_ACTIVE); + } else if (cell) { + cell.classList.remove(CLASS_ACTIVE); + } + } + }; + + var updateTranslate = function() { + if (translateX !== lastTranslateX) { + if (buttonsRight && buttonsRight.length > 0) { + progress = translateX / sliderActionRightWidth; + if (translateX < -sliderActionRightWidth) { + translateX = -sliderActionRightWidth - Math.pow(-translateX - sliderActionRightWidth, overFactor); + } + for (var i = 0, len = buttonsRight.length; i < len; i++) { + var buttonRight = buttonsRight[i]; + if (typeof buttonRight._buttonOffset === 'undefined') { + buttonRight._buttonOffset = buttonRight.offsetLeft; + } + buttonOffset = buttonRight._buttonOffset; + setTranslate(buttonRight, (translateX - buttonOffset * (1 + Math.max(progress, -1)))); + } + } + if (buttonsLeft && buttonsLeft.length > 0) { + progress = translateX / sliderActionLeftWidth; + if (translateX > sliderActionLeftWidth) { + translateX = sliderActionLeftWidth + Math.pow(translateX - sliderActionLeftWidth, overFactor); + } + for (var i = 0, len = buttonsLeft.length; i < len; i++) { + var buttonLeft = buttonsLeft[i]; + if (typeof buttonLeft._buttonOffset === 'undefined') { + buttonLeft._buttonOffset = sliderActionLeftWidth - buttonLeft.offsetLeft - buttonLeft.offsetWidth; + } + buttonOffset = buttonLeft._buttonOffset; + if (buttonsLeft.length > 1) { + buttonLeft.style.zIndex = buttonsLeft.length - i; + } + setTranslate(buttonLeft, (translateX + buttonOffset * (1 - Math.min(progress, 1)))); + } + } + setTranslate(sliderHandle, translateX); + lastTranslateX = translateX; + } + sliderRequestAnimationFrame = requestAnimationFrame(function() { + updateTranslate(); + }); + }; + var setTranslate = function(element, x) { + if (element) { + element.style.webkitTransform = 'translate(' + x + 'px,0)'; + } + }; + + window.addEventListener($.EVENT_START, function(event) { + if (cell) { + toggleActive(false); + } + cell = a = false; + isMoved = isOpened = openedActions = false; + var target = event.target; + var isDisabled = false; + for (; target && target !== document; target = target.parentNode) { + if (target.classList) { + var classList = target.classList; + if ((target.tagName === 'INPUT' && target.type !== 'radio' && target.type !== 'checkbox') || target.tagName === 'BUTTON' || classList.contains(CLASS_TOGGLE) || classList.contains(CLASS_BTN) || classList.contains(CLASS_DISABLED)) { + isDisabled = true; + } + if (classList.contains(CLASS_COLLAPSE_CONTENT)) { //collapse content + break; + } + if (classList.contains(CLASS_TABLE_VIEW_CELL)) { + cell = target; + //TODO swipe to delete close + var selected = cell.parentNode.querySelector(SELECTOR_SELECTED); + if (!cell.parentNode.classList.contains(CLASS_RADIO_VIEW) && selected && selected !== cell) { + $.swipeoutClose(selected); + cell = isDisabled = false; + return; + } + if (!cell.parentNode.classList.contains(CLASS_GRID_VIEW)) { + var link = cell.querySelector('a'); + if (link && link.parentNode === cell) { //li>a + a = link; + } + } + var handle = cell.querySelector(SELECTOR_SLIDER_HANDLE); + if (handle) { + toggleEvents(cell); + event.stopPropagation(); + } + if (!isDisabled) { + if (handle) { + if (timer) { + timer.cancel(); + } + timer = $.later(function() { + toggleActive(true); + }, 100); + } else { + toggleActive(true); + } + } + break; + } + } + } + }); + window.addEventListener($.EVENT_MOVE, function(event) { + toggleActive(false); + }); + + var handleEvent = { + handleEvent: function(event) { + switch (event.type) { + case 'drag': + this.drag(event); + break; + case 'dragend': + this.dragend(event); + break; + case 'flick': + this.flick(event); + break; + case 'swiperight': + this.swiperight(event); + break; + case 'swipeleft': + this.swipeleft(event); + break; + } + }, + drag: function(event) { + if (!cell) { + return; + } + if (!isMoved) { //init + sliderHandle = sliderActionLeft = sliderActionRight = buttonsLeft = buttonsRight = sliderDirection = sliderRequestAnimationFrame = false; + sliderHandle = cell.querySelector(SELECTOR_SLIDER_HANDLE); + if (sliderHandle) { + sliderActionLeft = cell.querySelector(SELECTOR_SLIDER_LEFT); + sliderActionRight = cell.querySelector(SELECTOR_SLIDER_RIGHT); + if (sliderActionLeft) { + sliderActionLeftWidth = sliderActionLeft.offsetWidth; + buttonsLeft = sliderActionLeft.querySelectorAll(SELECTOR_BUTTON); + } + if (sliderActionRight) { + sliderActionRightWidth = sliderActionRight.offsetWidth; + buttonsRight = sliderActionRight.querySelectorAll(SELECTOR_BUTTON); + } + cell.classList.remove(CLASS_TRANSITIONING); + isOpened = cell.classList.contains(CLASS_SELECTED); + if (isOpened) { + openedActions = cell.querySelector(SELECTOR_SLIDER_LEFT + SELECTOR_SELECTED) ? 'left' : 'right'; + } + } + } + var detail = event.detail; + var direction = detail.direction; + var angle = detail.angle; + if (direction === 'left' && (angle > 150 || angle < -150)) { + if (buttonsRight || (buttonsLeft && isOpened)) { //存在右侧按钮或存在左侧按钮且是已打开状态 + isMoved = true; + } + } else if (direction === 'right' && (angle > -30 && angle < 30)) { + if (buttonsLeft || (buttonsRight && isOpened)) { //存在左侧按钮或存在右侧按钮且是已打开状态 + isMoved = true; + } + } + if (isMoved) { + event.stopPropagation(); + event.detail.gesture.preventDefault(); + var translate = event.detail.deltaX; + if (isOpened) { + if (openedActions === 'right') { + translate = translate - sliderActionRightWidth; + } else { + translate = translate + sliderActionLeftWidth; + } + } + if ((translate > 0 && !buttonsLeft) || (translate < 0 && !buttonsRight)) { + if (!isOpened) { + return; + } + translate = 0; + } + if (translate < 0) { + sliderDirection = 'toLeft'; + } else if (translate > 0) { + sliderDirection = 'toRight'; + } else { + if (!sliderDirection) { + sliderDirection = 'toLeft'; + } + } + if (!sliderRequestAnimationFrame) { + updateTranslate(); + } + translateX = translate; + } + }, + flick: function(event) { + if (isMoved) { + event.stopPropagation(); + } + }, + swipeleft: function(event) { + if (isMoved) { + event.stopPropagation(); + } + }, + swiperight: function(event) { + if (isMoved) { + event.stopPropagation(); + } + }, + dragend: function(event) { + if (!isMoved) { + return; + } + event.stopPropagation(); + if (sliderRequestAnimationFrame) { + cancelAnimationFrame(sliderRequestAnimationFrame); + sliderRequestAnimationFrame = null; + } + var detail = event.detail; + isMoved = false; + var action = 'close'; + var actionsWidth = sliderDirection === 'toLeft' ? sliderActionRightWidth : sliderActionLeftWidth; + var isToggle = detail.swipe || (Math.abs(translateX) > actionsWidth / 2); + if (isToggle) { + if (!isOpened) { + action = 'open'; + } else if (detail.direction === 'left' && openedActions === 'right') { + action = 'open'; + } else if (detail.direction === 'right' && openedActions === 'left') { + action = 'open'; + } + + } + cell.classList.add(CLASS_TRANSITIONING); + var buttons; + if (action === 'open') { + var newTranslate = sliderDirection === 'toLeft' ? -actionsWidth : actionsWidth; + setTranslate(sliderHandle, newTranslate); + buttons = sliderDirection === 'toLeft' ? buttonsRight : buttonsLeft; + if (typeof buttons !== 'undefined') { + var button = null; + for (var i = 0; i < buttons.length; i++) { + button = buttons[i]; + setTranslate(button, newTranslate); + } + button.parentNode.classList.add(CLASS_SELECTED); + cell.classList.add(CLASS_SELECTED); + if (!isOpened) { + $.trigger(cell, sliderDirection === 'toLeft' ? 'slideleft' : 'slideright'); + } + } + } else { + setTranslate(sliderHandle, 0); + sliderActionLeft && sliderActionLeft.classList.remove(CLASS_SELECTED); + sliderActionRight && sliderActionRight.classList.remove(CLASS_SELECTED); + cell.classList.remove(CLASS_SELECTED); + } + var buttonOffset; + if (buttonsLeft && buttonsLeft.length > 0 && buttonsLeft !== buttons) { + for (var i = 0, len = buttonsLeft.length; i < len; i++) { + var buttonLeft = buttonsLeft[i]; + buttonOffset = buttonLeft._buttonOffset; + if (typeof buttonOffset === 'undefined') { + buttonLeft._buttonOffset = sliderActionLeftWidth - buttonLeft.offsetLeft - buttonLeft.offsetWidth; + } + setTranslate(buttonLeft, buttonOffset); + } + } + if (buttonsRight && buttonsRight.length > 0 && buttonsRight !== buttons) { + for (var i = 0, len = buttonsRight.length; i < len; i++) { + var buttonRight = buttonsRight[i]; + buttonOffset = buttonRight._buttonOffset; + if (typeof buttonOffset === 'undefined') { + buttonRight._buttonOffset = buttonRight.offsetLeft; + } + setTranslate(buttonRight, -buttonOffset); + } + } + } + }; + + function toggleEvents(element, isRemove) { + var method = !!isRemove ? 'removeEventListener' : 'addEventListener'; + element[method]('drag', handleEvent); + element[method]('dragend', handleEvent); + element[method]('swiperight', handleEvent); + element[method]('swipeleft', handleEvent); + element[method]('flick', handleEvent); + }; + /** + * 打开滑动菜单 + * @param {Object} el + * @param {Object} direction + */ + $.swipeoutOpen = function(el, direction) { + if (!el) return; + var classList = el.classList; + if (classList.contains(CLASS_SELECTED)) return; + if (!direction) { + if (el.querySelector(SELECTOR_SLIDER_RIGHT)) { + direction = 'right'; + } else { + direction = 'left'; + } + } + var swipeoutAction = el.querySelector($.classSelector(".slider-" + direction)); + if (!swipeoutAction) return; + swipeoutAction.classList.add(CLASS_SELECTED); + classList.add(CLASS_SELECTED); + classList.remove(CLASS_TRANSITIONING); + var buttons = swipeoutAction.querySelectorAll(SELECTOR_BUTTON); + var swipeoutWidth = swipeoutAction.offsetWidth; + var translate = (direction === 'right') ? -swipeoutWidth : swipeoutWidth; + var length = buttons.length; + var button; + for (var i = 0; i < length; i++) { + button = buttons[i]; + if (direction === 'right') { + setTranslate(button, -button.offsetLeft); + } else { + setTranslate(button, (swipeoutWidth - button.offsetWidth - button.offsetLeft)); + } + } + classList.add(CLASS_TRANSITIONING); + for (var i = 0; i < length; i++) { + setTranslate(buttons[i], translate); + } + setTranslate(el.querySelector(SELECTOR_SLIDER_HANDLE), translate); + }; + /** + * 关闭滑动菜单 + * @param {Object} el + */ + $.swipeoutClose = function(el) { + if (!el) return; + var classList = el.classList; + if (!classList.contains(CLASS_SELECTED)) return; + var direction = el.querySelector(SELECTOR_SLIDER_RIGHT + SELECTOR_SELECTED) ? 'right' : 'left'; + var swipeoutAction = el.querySelector($.classSelector(".slider-" + direction)); + if (!swipeoutAction) return; + swipeoutAction.classList.remove(CLASS_SELECTED); + classList.remove(CLASS_SELECTED); + classList.add(CLASS_TRANSITIONING); + var buttons = swipeoutAction.querySelectorAll(SELECTOR_BUTTON); + var swipeoutWidth = swipeoutAction.offsetWidth; + var length = buttons.length; + var button; + setTranslate(el.querySelector(SELECTOR_SLIDER_HANDLE), 0); + for (var i = 0; i < length; i++) { + button = buttons[i]; + if (direction === 'right') { + setTranslate(button, (-button.offsetLeft)); + } else { + setTranslate(button, (swipeoutWidth - button.offsetWidth - button.offsetLeft)); + } + } + }; + + window.addEventListener($.EVENT_END, function(event) { //使用touchend来取消高亮,避免一次点击既不触发tap,doubletap,longtap的事件 + if (!cell) { + return; + } + toggleActive(false); + sliderHandle && toggleEvents(cell, true); + }); + window.addEventListener($.EVENT_CANCEL, function(event) { //使用touchcancel来取消高亮,避免一次点击既不触发tap,doubletap,longtap的事件 + if (!cell) { + return; + } + toggleActive(false); + sliderHandle && toggleEvents(cell, true); + }); + var radioOrCheckboxClick = function(event) { + var type = event.target && event.target.type || ''; + if (type === 'radio' || type === 'checkbox') { + return; + } + var classList = cell.classList; + if (classList.contains('mui-radio')) { + var input = cell.querySelector('input[type=radio]'); + if (input) { + // input.click(); + if (!input.disabled && !input.readOnly) { + input.checked = !input.checked; + $.trigger(input, 'change'); + } + } + } else if (classList.contains('mui-checkbox')) { + var input = cell.querySelector('input[type=checkbox]'); + if (input) { + // input.click(); + if (!input.disabled && !input.readOnly) { + input.checked = !input.checked; + $.trigger(input, 'change'); + } + } + } + }; + //fixed hashchange(android) + window.addEventListener($.EVENT_CLICK, function(e) { + if (cell && cell.classList.contains('mui-collapse')) { + e.preventDefault(); + } + }); + window.addEventListener('doubletap', function(event) { + if (cell) { + radioOrCheckboxClick(event); + } + }); + var preventDefaultException = /^(INPUT|TEXTAREA|BUTTON|SELECT)$/; + window.addEventListener('tap', function(event) { + if (!cell) { + return; + } + var isExpand = false; + var classList = cell.classList; + var ul = cell.parentNode; + if (ul && ul.classList.contains(CLASS_RADIO_VIEW)) { + if (classList.contains(CLASS_SELECTED)) { + return; + } + var selected = ul.querySelector('li' + SELECTOR_SELECTED); + if (selected) { + selected.classList.remove(CLASS_SELECTED); + } + classList.add(CLASS_SELECTED); + $.trigger(cell, 'selected', { + el: cell + }); + return; + } + if (classList.contains('mui-collapse') && !cell.parentNode.classList.contains('mui-unfold')) { + if (!preventDefaultException.test(event.target.tagName)) { + event.detail.gesture.preventDefault(); + } + + if (!classList.contains(CLASS_ACTIVE)) { //展开时,需要收缩其他同类 + var collapse = cell.parentNode.querySelector('.mui-collapse.mui-active'); + if (collapse) { + collapse.classList.remove(CLASS_ACTIVE); + } + isExpand = true; + } + classList.toggle(CLASS_ACTIVE); + if (isExpand) { + //触发展开事件 + $.trigger(cell, 'expand'); + + //scroll + //暂不滚动 + // var offsetTop = $.offset(cell).top; + // var scrollTop = document.body.scrollTop; + // var height = window.innerHeight; + // var offsetHeight = cell.offsetHeight; + // var cellHeight = (offsetTop - scrollTop + offsetHeight); + // if (offsetHeight > height) { + // $.scrollTo(offsetTop, 300); + // } else if (cellHeight > height) { + // $.scrollTo(cellHeight - height + scrollTop, 300); + // } + } + } else { + radioOrCheckboxClick(event); + } + }); +})(mui, window, document); +(function($, window) { + /** + * 警告消息框 + */ + $.alert = function(message, title, btnValue, callback) { + if ($.os.plus) { + if (typeof message === 'undefined') { + return; + } else { + if (typeof title === 'function') { + callback = title; + title = null; + btnValue = '确定'; + } else if (typeof btnValue === 'function') { + callback = btnValue; + btnValue = null; + } + $.plusReady(function() { + plus.nativeUI.alert(message, callback, title, btnValue); + }); + } + + } else { + //TODO H5版本 + window.alert(message); + } + }; + +})(mui, window); +(function($, window) { + /** + * 确认消息框 + */ + $.confirm = function(message, title, btnArray, callback) { + if ($.os.plus) { + if (typeof message === 'undefined') { + return; + } else { + if (typeof title === 'function') { + callback = title; + title = null; + btnArray = null; + } else if (typeof btnArray === 'function') { + callback = btnArray; + btnArray = null; + } + $.plusReady(function() { + plus.nativeUI.confirm(message, callback, title, btnArray); + }); + } + + } else { + //H5版本,0为确认,1为取消 + if (window.confirm(message)) { + callback({ + index: 0 + }); + } else { + callback({ + index: 1 + }); + } + } + }; + +})(mui, window); +(function($, window) { + /** + * 输入对话框 + */ + $.prompt = function(text, defaultText, title, btnArray, callback) { + if ($.os.plus) { + if (typeof message === 'undefined') { + return; + } else { + + if (typeof defaultText === 'function') { + callback = defaultText; + defaultText = null; + title = null; + btnArray = null; + } else if (typeof title === 'function') { + callback = title; + title = null; + btnArray = null; + } else if (typeof btnArray === 'function') { + callback = btnArray; + btnArray = null; + } + $.plusReady(function() { + plus.nativeUI.prompt(text, callback, title, defaultText, btnArray); + }); + } + + } else { + //H5版本(确认index为0,取消index为1) + var result = window.prompt(text); + if (result) { + callback({ + index: 0, + value: result + }); + } else { + callback({ + index: 1, + value: '' + }); + } + } + }; + +})(mui, window); +(function($, window) { + var CLASS_ACTIVE = 'mui-active'; + /** + * 自动消失提示框 + */ + $.toast = function(message,options) { + var durations = { + 'long': 3500, + 'short': 2000 + }; + + //计算显示时间 + options = $.extend({ + duration: 'short' + }, options || {}); + + + if ($.os.plus && options.type !== 'div') { + //默认显示在底部; + $.plusReady(function() { + plus.nativeUI.toast(message, { + verticalAlign: 'bottom', + duration:options.duration + }); + }); + } else { + if (typeof options.duration === 'number') { + duration = options.duration>0 ? options.duration:durations['short']; + } else { + duration = durations[options.duration]; + } + if (!duration) { + duration = durations['short']; + } + var toast = document.createElement('div'); + toast.classList.add('mui-toast-container'); + toast.innerHTML = '
' + message + '
'; + toast.addEventListener('webkitTransitionEnd', function() { + if (!toast.classList.contains(CLASS_ACTIVE)) { + toast.parentNode.removeChild(toast); + toast = null; + } + }); + //点击则自动消失 + toast.addEventListener('click', function() { + toast.parentNode.removeChild(toast); + toast = null; + }); + document.body.appendChild(toast); + toast.offsetHeight; + toast.classList.add(CLASS_ACTIVE); + setTimeout(function() { + toast && toast.classList.remove(CLASS_ACTIVE); + }, duration); + + return { + isVisible: function() {return !!toast;} + } + } + }; + +})(mui, window); +/** + * Popup(alert,confirm,prompt) + * @param {Object} $ + * @param {Object} window + * @param {Object} document + */ +(function($, window, document) { + var CLASS_POPUP = 'mui-popup'; + var CLASS_POPUP_BACKDROP = 'mui-popup-backdrop'; + var CLASS_POPUP_IN = 'mui-popup-in'; + var CLASS_POPUP_OUT = 'mui-popup-out'; + var CLASS_POPUP_INNER = 'mui-popup-inner'; + var CLASS_POPUP_TITLE = 'mui-popup-title'; + var CLASS_POPUP_TEXT = 'mui-popup-text'; + var CLASS_POPUP_INPUT = 'mui-popup-input'; + var CLASS_POPUP_BUTTONS = 'mui-popup-buttons'; + var CLASS_POPUP_BUTTON = 'mui-popup-button'; + var CLASS_POPUP_BUTTON_BOLD = 'mui-popup-button-bold'; + var CLASS_POPUP_BACKDROP = 'mui-popup-backdrop'; + var CLASS_ACTIVE = 'mui-active'; + + var popupStack = []; + var backdrop = (function() { + var element = document.createElement('div'); + element.classList.add(CLASS_POPUP_BACKDROP); + element.addEventListener($.EVENT_MOVE, $.preventDefault); + element.addEventListener('webkitTransitionEnd', function() { + if (!this.classList.contains(CLASS_ACTIVE)) { + element.parentNode && element.parentNode.removeChild(element); + } + }); + return element; + }()); + + var createInput = function(placeholder) { + return '
'; + }; + var createInner = function(message, title, extra) { + return '
' + title + '
' + message.replace(/\r\n/g, "
").replace(/\n/g, "
") + '
' + (extra || '') + '
'; + }; + var createButtons = function(btnArray) { + var length = btnArray.length; + var btns = []; + for (var i = 0; i < length; i++) { + btns.push('' + btnArray[i] + ''); + } + return '
' + btns.join('') + '
'; + }; + + var createPopup = function(html, callback) { + var popupElement = document.createElement('div'); + popupElement.className = CLASS_POPUP; + popupElement.innerHTML = html; + var removePopupElement = function() { + popupElement.parentNode && popupElement.parentNode.removeChild(popupElement); + popupElement = null; + }; + popupElement.addEventListener($.EVENT_MOVE, $.preventDefault); + popupElement.addEventListener('webkitTransitionEnd', function(e) { + if (popupElement && e.target === popupElement && popupElement.classList.contains(CLASS_POPUP_OUT)) { + removePopupElement(); + } + }); + popupElement.style.display = 'block'; + document.body.appendChild(popupElement); + popupElement.offsetHeight; + popupElement.classList.add(CLASS_POPUP_IN); + + if (!backdrop.classList.contains(CLASS_ACTIVE)) { + backdrop.style.display = 'block'; + document.body.appendChild(backdrop); + backdrop.offsetHeight; + backdrop.classList.add(CLASS_ACTIVE); + } + var btns = $.qsa('.' + CLASS_POPUP_BUTTON, popupElement); + var input = popupElement.querySelector('.' + CLASS_POPUP_INPUT + ' input'); + var popup = { + element: popupElement, + close: function(index, animate) { + if (popupElement) { + var result = callback && callback({ + index: index || 0, + value: input && input.value || '' + }); + if (result === false) { //返回false则不关闭当前popup + return; + } + if (animate !== false) { + popupElement.classList.remove(CLASS_POPUP_IN); + popupElement.classList.add(CLASS_POPUP_OUT); + } else { + removePopupElement(); + } + popupStack.pop(); + //如果还有其他popup,则不remove backdrop + if (popupStack.length) { + popupStack[popupStack.length - 1]['show'](animate); + } else { + backdrop.classList.remove(CLASS_ACTIVE); + } + } + } + }; + var handleEvent = function(e) { + popup.close(btns.indexOf(e.target)); + }; + $(popupElement).on('tap', '.' + CLASS_POPUP_BUTTON, handleEvent); + if (popupStack.length) { + popupStack[popupStack.length - 1]['hide'](); + } + popupStack.push({ + close: popup.close, + show: function(animate) { + popupElement.style.display = 'block'; + popupElement.offsetHeight; + popupElement.classList.add(CLASS_POPUP_IN); + }, + hide: function() { + popupElement.style.display = 'none'; + popupElement.classList.remove(CLASS_POPUP_IN); + } + }); + return popup; + }; + var createAlert = function(message, title, btnValue, callback, type) { + if (typeof message === 'undefined') { + return; + } else { + if (typeof title === 'function') { + callback = title; + type = btnValue; + title = null; + btnValue = null; + } else if (typeof btnValue === 'function') { + type = callback; + callback = btnValue; + btnValue = null; + } + } + if (!$.os.plus || type === 'div') { + return createPopup(createInner(message, title || '提示') + createButtons([btnValue || '确定']), callback); + } + return plus.nativeUI.alert(message, callback, title || '提示', btnValue || '确定'); + }; + var createConfirm = function(message, title, btnArray, callback, type) { + if (typeof message === 'undefined') { + return; + } else { + if (typeof title === 'function') { + callback = title; + type = btnArray; + title = null; + btnArray = null; + } else if (typeof btnArray === 'function') { + type = callback; + callback = btnArray; + btnArray = null; + } + } + if (!$.os.plus || type === 'div') { + return createPopup(createInner(message, title || '提示') + createButtons(btnArray || ['取消', '确认']), callback); + } + return plus.nativeUI.confirm(message, callback, title, btnArray || ['取消', '确认']); + }; + var createPrompt = function(message, placeholder, title, btnArray, callback, type) { + if (typeof message === 'undefined') { + return; + } else { + if (typeof placeholder === 'function') { + callback = placeholder; + type = title; + placeholder = null; + title = null; + btnArray = null; + } else if (typeof title === 'function') { + callback = title; + type = btnArray; + title = null; + btnArray = null; + } else if (typeof btnArray === 'function') { + type = callback; + callback = btnArray; + btnArray = null; + } + } + if (!$.os.plus || type === 'div') { + return createPopup(createInner(message, title || '提示', createInput(placeholder)) + createButtons(btnArray || ['取消', '确认']), callback); + } + return plus.nativeUI.prompt(message, callback, title || '提示', placeholder, btnArray || ['取消', '确认']); + }; + var closePopup = function() { + if (popupStack.length) { + popupStack[popupStack.length - 1]['close'](); + return true; + } else { + return false; + } + }; + var closePopups = function() { + while (popupStack.length) { + popupStack[popupStack.length - 1]['close'](); + } + }; + + $.closePopup = closePopup; + $.closePopups = closePopups; + $.alert = createAlert; + $.confirm = createConfirm; + $.prompt = createPrompt; +})(mui, window, document); +(function($, document) { + var CLASS_PROGRESSBAR = 'mui-progressbar'; + var CLASS_PROGRESSBAR_IN = 'mui-progressbar-in'; + var CLASS_PROGRESSBAR_OUT = 'mui-progressbar-out'; + var CLASS_PROGRESSBAR_INFINITE = 'mui-progressbar-infinite'; + + var SELECTOR_PROGRESSBAR = '.mui-progressbar'; + + var _findProgressbar = function(container) { + container = $(container || 'body'); + if (container.length === 0) return; + container = container[0]; + if (container.classList.contains(CLASS_PROGRESSBAR)) { + return container; + } + var progressbars = container.querySelectorAll(SELECTOR_PROGRESSBAR); + if (progressbars) { + for (var i = 0, len = progressbars.length; i < len; i++) { + var progressbar = progressbars[i]; + if (progressbar.parentNode === container) { + return progressbar; + } + } + } + }; + /** + * 创建并显示进度条 + * @param {Object} container 可选,默认body,支持selector,DOM Node,mui wrapper + * @param {Object} progress 可选,undefined表示循环,数字表示具体进度 + * @param {Object} color 可选,指定颜色样式(目前暂未提供实际样式,可暂时不暴露此参数) + */ + var showProgressbar = function(container, progress, color) { + if (typeof container === 'number') { + color = progress; + progress = container; + container = 'body'; + } + container = $(container || 'body'); + if (container.length === 0) return; + container = container[0]; + var progressbar; + if (container.classList.contains(CLASS_PROGRESSBAR)) { + progressbar = container; + } else { + var progressbars = container.querySelectorAll(SELECTOR_PROGRESSBAR + ':not(.' + CLASS_PROGRESSBAR_OUT + ')'); + if (progressbars) { + for (var i = 0, len = progressbars.length; i < len; i++) { + var _progressbar = progressbars[i]; + if (_progressbar.parentNode === container) { + progressbar = _progressbar; + break; + } + } + } + if (!progressbar) { + progressbar = document.createElement('span'); + progressbar.className = CLASS_PROGRESSBAR + ' ' + CLASS_PROGRESSBAR_IN + (typeof progress !== 'undefined' ? '' : (' ' + CLASS_PROGRESSBAR_INFINITE)) + (color ? (' ' + CLASS_PROGRESSBAR + '-' + color) : ''); + if (typeof progress !== 'undefined') { + progressbar.innerHTML = ''; + } + container.appendChild(progressbar); + } else { + progressbar.classList.add(CLASS_PROGRESSBAR_IN); + } + } + if (progress) setProgressbar(container, progress); + return progressbar; + }; + /** + * 关闭进度条 + * @param {Object} container 可选,默认body,支持selector,DOM Node,mui wrapper + */ + var hideProgressbar = function(container) { + var progressbar = _findProgressbar(container); + if (!progressbar) { + return; + } + var classList = progressbar.classList; + if (!classList.contains(CLASS_PROGRESSBAR_IN) || classList.contains(CLASS_PROGRESSBAR_OUT)) { + return; + } + classList.remove(CLASS_PROGRESSBAR_IN); + classList.add(CLASS_PROGRESSBAR_OUT); + progressbar.addEventListener('webkitAnimationEnd', function() { + progressbar.parentNode && progressbar.parentNode.removeChild(progressbar); + progressbar = null; + }); + return; + }; + /** + * 设置指定进度条进度 + * @param {Object} container 可选,默认body,支持selector,DOM Node,mui wrapper + * @param {Object} progress 可选,默认0 取值范围[0-100] + * @param {Object} speed 进度条动画时间 + */ + var setProgressbar = function(container, progress, speed) { + if (typeof container === 'number') { + speed = progress; + progress = container; + container = false; + } + var progressbar = _findProgressbar(container); + if (!progressbar || progressbar.classList.contains(CLASS_PROGRESSBAR_INFINITE)) { + return; + } + if (progress) progress = Math.min(Math.max(progress, 0), 100); + progressbar.offsetHeight; + var span = progressbar.querySelector('span'); + if (span) { + var style = span.style; + style.webkitTransform = 'translate3d(' + (-100 + progress) + '%,0,0)'; + if (typeof speed !== 'undefined') { + style.webkitTransitionDuration = speed + 'ms'; + } else { + style.webkitTransitionDuration = ''; + } + } + return progressbar; + }; + $.fn.progressbar = function(options) { + var progressbarApis = []; + options = options || {}; + this.each(function() { + var self = this; + var progressbarApi = self.mui_plugin_progressbar; + if (!progressbarApi) { + self.mui_plugin_progressbar = progressbarApi = { + options: options, + setOptions: function(options) { + this.options = options; + }, + show: function() { + return showProgressbar(self, this.options.progress, this.options.color); + }, + setProgress: function(progress) { + return setProgressbar(self, progress); + }, + hide: function() { + return hideProgressbar(self); + } + }; + } else if (options) { + progressbarApi.setOptions(options); + } + progressbarApis.push(progressbarApi); + }); + return progressbarApis.length === 1 ? progressbarApis[0] : progressbarApis; + }; + // $.setProgressbar = setProgressbar; + // $.showProgressbar = showProgressbar; + // $.hideProgressbar = hideProgressbar; +})(mui, document); +/** + * Input(TODO resize) + * @param {type} $ + * @param {type} window + * @param {type} document + * @returns {undefined} + */ +(function($, window, document) { + var CLASS_ICON = 'mui-icon'; + var CLASS_ICON_CLEAR = 'mui-icon-clear'; + var CLASS_ICON_SPEECH = 'mui-icon-speech'; + var CLASS_ICON_SEARCH = 'mui-icon-search'; + var CLASS_ICON_PASSWORD = 'mui-icon-eye'; + var CLASS_INPUT_ROW = 'mui-input-row'; + var CLASS_PLACEHOLDER = 'mui-placeholder'; + var CLASS_TOOLTIP = 'mui-tooltip'; + var CLASS_HIDDEN = 'mui-hidden'; + var CLASS_FOCUSIN = 'mui-focusin'; + var SELECTOR_ICON_CLOSE = '.' + CLASS_ICON_CLEAR; + var SELECTOR_ICON_SPEECH = '.' + CLASS_ICON_SPEECH; + var SELECTOR_ICON_PASSWORD = '.' + CLASS_ICON_PASSWORD; + var SELECTOR_PLACEHOLDER = '.' + CLASS_PLACEHOLDER; + var SELECTOR_TOOLTIP = '.' + CLASS_TOOLTIP; + + var findRow = function(target) { + for (; target && target !== document; target = target.parentNode) { + if (target.classList && target.classList.contains(CLASS_INPUT_ROW)) { + return target; + } + } + return null; + }; + var Input = function(element, options) { + this.element = element; + this.options = options || { + actions: 'clear' + }; + if (~this.options.actions.indexOf('slider')) { //slider + this.sliderActionClass = CLASS_TOOLTIP + ' ' + CLASS_HIDDEN; + this.sliderActionSelector = SELECTOR_TOOLTIP; + } else { //clear,speech,search + if (~this.options.actions.indexOf('clear')) { + this.clearActionClass = CLASS_ICON + ' ' + CLASS_ICON_CLEAR + ' ' + CLASS_HIDDEN; + this.clearActionSelector = SELECTOR_ICON_CLOSE; + } + if (~this.options.actions.indexOf('speech')) { //only for 5+ + this.speechActionClass = CLASS_ICON + ' ' + CLASS_ICON_SPEECH; + this.speechActionSelector = SELECTOR_ICON_SPEECH; + } + if (~this.options.actions.indexOf('search')) { + this.searchActionClass = CLASS_PLACEHOLDER; + this.searchActionSelector = SELECTOR_PLACEHOLDER; + } + if (~this.options.actions.indexOf('password')) { + this.passwordActionClass = CLASS_ICON + ' ' + CLASS_ICON_PASSWORD; + this.passwordActionSelector = SELECTOR_ICON_PASSWORD; + } + } + this.init(); + }; + Input.prototype.init = function() { + this.initAction(); + this.initElementEvent(); + }; + Input.prototype.initAction = function() { + var self = this; + + var row = self.element.parentNode; + if (row) { + if (self.sliderActionClass) { + self.sliderAction = self.createAction(row, self.sliderActionClass, self.sliderActionSelector); + } else { + if (self.searchActionClass) { + self.searchAction = self.createAction(row, self.searchActionClass, self.searchActionSelector); + self.searchAction.addEventListener('tap', function(e) { + $.focus(self.element); + e.stopPropagation(); + }); + } + if (self.speechActionClass) { + self.speechAction = self.createAction(row, self.speechActionClass, self.speechActionSelector); + self.speechAction.addEventListener('click', $.stopPropagation); + self.speechAction.addEventListener('tap', function(event) { + self.speechActionClick(event); + }); + } + if (self.clearActionClass) { + self.clearAction = self.createAction(row, self.clearActionClass, self.clearActionSelector); + self.clearAction.addEventListener('tap', function(event) { + self.clearActionClick(event); + }); + } + if (self.passwordActionClass) { + self.passwordAction = self.createAction(row, self.passwordActionClass, self.passwordActionSelector); + self.passwordAction.addEventListener('tap', function(event) { + self.passwordActionClick(event); + }); + } + } + } + }; + Input.prototype.createAction = function(row, actionClass, actionSelector) { + var action = row.querySelector(actionSelector); + if (!action) { + var action = document.createElement('span'); + action.className = actionClass; + if (actionClass === this.searchActionClass) { + action.innerHTML = '' + this.element.getAttribute('placeholder') + ''; + this.element.setAttribute('placeholder', ''); + if (this.element.value.trim()) { + row.classList.add('mui-active'); + } + } + row.insertBefore(action, this.element.nextSibling); + } + return action; + }; + Input.prototype.initElementEvent = function() { + var element = this.element; + + if (this.sliderActionClass) { + var tooltip = this.sliderAction; + var timer = null; + var showTip = function() { //每次重新计算是因为控件可能被隐藏,初始化时计算是不正确的 + tooltip.classList.remove(CLASS_HIDDEN); + var offsetLeft = element.offsetLeft; + var width = element.offsetWidth - 28; + var tooltipWidth = tooltip.offsetWidth; + var distince = Math.abs(element.max - element.min); + var scaleWidth = (width / distince) * Math.abs(element.value - element.min); + tooltip.style.left = (14 + offsetLeft + scaleWidth - tooltipWidth / 2) + 'px'; + tooltip.innerText = element.value; + if (timer) { + clearTimeout(timer); + } + timer = setTimeout(function() { + tooltip.classList.add(CLASS_HIDDEN); + }, 1000); + }; + element.addEventListener('input', showTip); + element.addEventListener('tap', showTip); + element.addEventListener($.EVENT_MOVE, function(e) { + e.stopPropagation(); + }); + } else { + if (this.clearActionClass) { + var action = this.clearAction; + if (!action) { + return; + } + $.each(['keyup', 'change', 'input', 'focus', 'cut', 'paste'], function(index, type) { + (function(type) { + element.addEventListener(type, function() { + action.classList[element.value.trim() ? 'remove' : 'add'](CLASS_HIDDEN); + }); + })(type); + }); + element.addEventListener('blur', function() { + action.classList.add(CLASS_HIDDEN); + }); + } + if (this.searchActionClass) { + element.addEventListener('focus', function() { + element.parentNode.classList.add('mui-active'); + }); + element.addEventListener('blur', function() { + if (!element.value.trim()) { + element.parentNode.classList.remove('mui-active'); + } + }); + } + } + }; + Input.prototype.setPlaceholder = function(text) { + if (this.searchActionClass) { + var placeholder = this.element.parentNode.querySelector(SELECTOR_PLACEHOLDER); + placeholder && (placeholder.getElementsByTagName('span')[1].innerText = text); + } else { + this.element.setAttribute('placeholder', text); + } + }; + Input.prototype.passwordActionClick = function(event) { + if (this.element.type === 'text') { + this.element.type = 'password'; + } else { + this.element.type = 'text'; + } + this.passwordAction.classList.toggle('mui-active'); + event.preventDefault(); + }; + Input.prototype.clearActionClick = function(event) { + var self = this; + self.element.value = ''; + $.focus(self.element); + self.clearAction.classList.add(CLASS_HIDDEN); + event.preventDefault(); + }; + Input.prototype.speechActionClick = function(event) { + if (window.plus) { + var self = this; + var oldValue = self.element.value; + self.element.value = ''; + document.body.classList.add(CLASS_FOCUSIN); + plus.speech.startRecognize({ + engine: 'iFly' + }, function(s) { + self.element.value += s; + $.focus(self.element); + plus.speech.stopRecognize(); + $.trigger(self.element, 'recognized', { + value: self.element.value + }); + if (oldValue !== self.element.value) { + $.trigger(self.element, 'change'); + $.trigger(self.element, 'input'); + } + // document.body.classList.remove(CLASS_FOCUSIN); + }, function(e) { + document.body.classList.remove(CLASS_FOCUSIN); + }); + } else { + alert('only for 5+'); + } + event.preventDefault(); + }; + $.fn.input = function(options) { + var inputApis = []; + this.each(function() { + var inputApi = null; + var actions = []; + var row = findRow(this.parentNode); + if (this.type === 'range' && row.classList.contains('mui-input-range')) { + actions.push('slider'); + } else { + var classList = this.classList; + if (classList.contains('mui-input-clear')) { + actions.push('clear'); + } + if (!($.os.android && $.os.stream) && classList.contains('mui-input-speech')) { + actions.push('speech'); + } + if (classList.contains('mui-input-password')) { + actions.push('password'); + } + if (this.type === 'search' && row.classList.contains('mui-search')) { + actions.push('search'); + } + } + var id = this.getAttribute('data-input-' + actions[0]); + if (!id) { + id = ++$.uuid; + inputApi = $.data[id] = new Input(this, { + actions: actions.join(',') + }); + for (var i = 0, len = actions.length; i < len; i++) { + this.setAttribute('data-input-' + actions[i], id); + } + } else { + inputApi = $.data[id]; + } + inputApis.push(inputApi); + }); + return inputApis.length === 1 ? inputApis[0] : inputApis; + }; + $.ready(function() { + $('.mui-input-row input').input(); + }); +})(mui, window, document); +(function($, window) { + var CLASS_ACTIVE = 'mui-active'; + var rgbaRegex = /^rgba\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3}),\s*(\d*(?:\.\d+)?)\)$/; + var getColor = function(colorStr) { + var matches = colorStr.match(rgbaRegex); + if (matches && matches.length === 5) { + return [ + matches[1], + matches[2], + matches[3], + matches[4] + ]; + } + return []; + }; + var Transparent = function(element, options) { + this.element = element; + this.options = $.extend({ + top: 0, //距离顶部高度(到达该高度即触发) + offset: 150, //滚动透明距离 + duration: 16, //过渡时间 + scrollby: window//监听滚动距离容器 + }, options || {}); + + this.scrollByElem = this.options.scrollby || window; + if (!this.scrollByElem) { + throw new Error("监听滚动的元素不存在"); + } + this.isNativeScroll = false; + if (this.scrollByElem === window) { + this.isNativeScroll = true; + } else if (!~this.scrollByElem.className.indexOf('mui-scroll-wrapper')) { + this.isNativeScroll = true; + } + + this._style = this.element.style; + this._bgColor = this._style.backgroundColor; + var color = getColor(mui.getStyles(this.element, 'backgroundColor')); + if (color.length) { + this._R = color[0]; + this._G = color[1]; + this._B = color[2]; + this._A = parseFloat(color[3]); + this.lastOpacity = this._A; + this._bufferFn = $.buffer(this.handleScroll, this.options.duration, this); + this.initEvent(); + } else { + throw new Error("元素背景颜色必须为RGBA"); + } + }; + + Transparent.prototype.initEvent = function() { + this.scrollByElem.addEventListener('scroll', this._bufferFn); + if (this.isNativeScroll) { //原生scroll + this.scrollByElem.addEventListener($.EVENT_MOVE, this._bufferFn); + } + } + Transparent.prototype.handleScroll = function(e) { + var y = window.scrollY; + if (!this.isNativeScroll && e && e.detail) { + y = -e.detail.y; + } + var opacity = (y - this.options.top) / this.options.offset + this._A; + opacity = Math.min(Math.max(this._A, opacity), 1); + this._style.backgroundColor = 'rgba(' + this._R + ',' + this._G + ',' + this._B + ',' + opacity + ')'; + if (opacity > this._A) { + this.element.classList.add(CLASS_ACTIVE); + } else { + this.element.classList.remove(CLASS_ACTIVE); + } + if (this.lastOpacity !== opacity) { + $.trigger(this.element, 'alpha', { + alpha: opacity + }); + this.lastOpacity = opacity; + } + }; + Transparent.prototype.destory = function() { + this.scrollByElem.removeEventListener('scroll', this._bufferFn); + this.scrollByElem.removeEventListener($.EVENT_MOVE, this._bufferFn); + this.element.style.backgroundColor = this._bgColor; + this.element.mui_plugin_transparent = null; + }; + $.fn.transparent = function(options) { + options = options || {}; + var transparentApis = []; + this.each(function() { + var transparentApi = this.mui_plugin_transparent; + if (!transparentApi) { + var top = this.getAttribute('data-top'); + var offset = this.getAttribute('data-offset'); + var duration = this.getAttribute('data-duration'); + var scrollby = this.getAttribute('data-scrollby'); + if (top !== null && typeof options.top === 'undefined') { + options.top = top; + } + if (offset !== null && typeof options.offset === 'undefined') { + options.offset = offset; + } + if (duration !== null && typeof options.duration === 'undefined') { + options.duration = duration; + } + if (scrollby !== null && typeof options.scrollby === 'undefined') { + options.scrollby = document.querySelector(scrollby) || window; + } + transparentApi = this.mui_plugin_transparent = new Transparent(this, options); + } + transparentApis.push(transparentApi); + }); + return transparentApis.length === 1 ? transparentApis[0] : transparentApis; + }; + $.ready(function() { + $('.mui-bar-transparent').transparent(); + }); +})(mui, window); +/** + * 数字输入框 + * varstion 1.0.1 + * by Houfeng + * Houfeng@DCloud.io + */ + +(function($) { + + var touchSupport = ('ontouchstart' in document); + var tapEventName = touchSupport ? 'tap' : 'click'; + var changeEventName = 'change'; + var holderClassName = 'mui-numbox'; + var plusClassSelector = '.mui-btn-numbox-plus,.mui-numbox-btn-plus'; + var minusClassSelector = '.mui-btn-numbox-minus,.mui-numbox-btn-minus'; + var inputClassSelector = '.mui-input-numbox,.mui-numbox-input'; + + var Numbox = $.Numbox = $.Class.extend({ + /** + * 构造函数 + **/ + init: function(holder, options) { + var self = this; + if (!holder) { + throw "构造 numbox 时缺少容器元素"; + } + self.holder = holder; + options = options || {}; + options.step = parseInt(options.step || 1); + self.options = options; + self.input = $.qsa(inputClassSelector, self.holder)[0]; + self.plus = $.qsa(plusClassSelector, self.holder)[0]; + self.minus = $.qsa(minusClassSelector, self.holder)[0]; + self.checkValue(); + self.initEvent(); + }, + /** + * 初始化事件绑定 + **/ + initEvent: function() { + var self = this; + self.plus.addEventListener(tapEventName, function(event) { + var val = parseInt(self.input.value) + self.options.step; + self.input.value = val.toString(); + $.trigger(self.input, changeEventName, null); + }); + self.minus.addEventListener(tapEventName, function(event) { + var val = parseInt(self.input.value) - self.options.step; + self.input.value = val.toString(); + $.trigger(self.input, changeEventName, null); + }); + self.input.addEventListener(changeEventName, function(event) { + self.checkValue(); + var val = parseInt(self.input.value); + //触发顶层容器 + $.trigger(self.holder, changeEventName, { + value: val + }); + }); + }, + /** + * 获取当前值 + **/ + getValue: function() { + var self = this; + return parseInt(self.input.value); + }, + /** + * 验证当前值是法合法 + **/ + checkValue: function() { + var self = this; + var val = self.input.value; + if (val == null || val == '' || isNaN(val)) { + self.input.value = self.options.min || 0; + self.minus.disabled = self.options.min != null; + } else { + var val = parseInt(val); + if (self.options.max != null && !isNaN(self.options.max) && val >= parseInt(self.options.max)) { + val = self.options.max; + self.plus.disabled = true; + } else { + self.plus.disabled = false; + } + if (self.options.min != null && !isNaN(self.options.min) && val <= parseInt(self.options.min)) { + val = self.options.min; + self.minus.disabled = true; + } else { + self.minus.disabled = false; + } + self.input.value = val; + } + }, + /** + * 更新选项 + **/ + setOption: function(name, value) { + var self = this; + self.options[name] = value; + }, + /** + * 动态设置新值 + **/ + setValue: function(value) { + this.input.value = value; + this.checkValue(); + } + }); + + $.fn.numbox = function(options) { + var instanceArray = []; + //遍历选择的元素 + this.each(function(i, element) { + if (element.numbox) { + return; + } + if (options) { + element.numbox = new Numbox(element, options); + } else { + var optionsText = element.getAttribute('data-numbox-options'); + var options = optionsText ? JSON.parse(optionsText) : {}; + options.step = element.getAttribute('data-numbox-step') || options.step; + options.min = element.getAttribute('data-numbox-min') || options.min; + options.max = element.getAttribute('data-numbox-max') || options.max; + element.numbox = new Numbox(element, options); + } + }); + return this[0] ? this[0].numbox : null; + } + + //自动处理 class='mui-locker' 的 dom + $.ready(function() { + $('.' + holderClassName).numbox(); + }); + +}(mui)); +/** + * Button + * @param {type} $ + * @param {type} window + * @param {type} document + * @returns {undefined} + */ +(function($, window, document) { + var CLASS_ICON = 'mui-icon'; + var CLASS_DISABLED = 'mui-disabled'; + + var STATE_RESET = 'reset'; + var STATE_LOADING = 'loading'; + + var defaultOptions = { + loadingText: 'Loading...', //文案 + loadingIcon: 'mui-spinner' + ' ' + 'mui-spinner-white', //图标,可为空 + loadingIconPosition: 'left' //图标所处位置,仅支持left|right + }; + + var Button = function(element, options) { + this.element = element; + this.options = $.extend({}, defaultOptions, options); + if (!this.options.loadingText) { + this.options.loadingText = defaultOptions.loadingText; + } + if (this.options.loadingIcon === null) { + this.options.loadingIcon = 'mui-spinner'; + if ($.getStyles(this.element, 'color') === 'rgb(255, 255, 255)') { + this.options.loadingIcon += ' ' + 'mui-spinner-white'; + } + } + this.isInput = this.element.tagName === 'INPUT'; + this.resetHTML = this.isInput ? this.element.value : this.element.innerHTML; + this.state = ''; + }; + Button.prototype.loading = function() { + this.setState(STATE_LOADING); + }; + Button.prototype.reset = function() { + this.setState(STATE_RESET); + }; + Button.prototype.setState = function(state) { + if (this.state === state) { + return false; + } + this.state = state; + if (state === STATE_RESET) { + this.element.disabled = false; + this.element.classList.remove(CLASS_DISABLED); + this.setHtml(this.resetHTML); + } else if (state === STATE_LOADING) { + this.element.disabled = true; + this.element.classList.add(CLASS_DISABLED); + var html = this.isInput ? this.options.loadingText : ('' + this.options.loadingText + ''); + if (this.options.loadingIcon && !this.isInput) { + if (this.options.loadingIconPosition === 'right') { + html += ' '; + } else { + html = ' ' + html; + } + } + this.setHtml(html); + } + }; + Button.prototype.setHtml = function(html) { + if (this.isInput) { + this.element.value = html; + } else { + this.element.innerHTML = html; + } + } + $.fn.button = function(state) { + var buttonApis = []; + this.each(function() { + var buttonApi = this.mui_plugin_button; + if (!buttonApi) { + var loadingText = this.getAttribute('data-loading-text'); + var loadingIcon = this.getAttribute('data-loading-icon'); + var loadingIconPosition = this.getAttribute('data-loading-icon-position'); + this.mui_plugin_button = buttonApi = new Button(this, { + loadingText: loadingText, + loadingIcon: loadingIcon, + loadingIconPosition: loadingIconPosition + }); + } + if (state === STATE_LOADING || state === STATE_RESET) { + buttonApi.setState(state); + } + buttonApis.push(buttonApi); + }); + return buttonApis.length === 1 ? buttonApis[0] : buttonApis; + }; +})(mui, window, document); \ No newline at end of file diff --git a/codes/news_recsys/news_rec_web/Vue-newsinfo/src/lib/mui/js/mui.min.js b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/lib/mui/js/mui.min.js new file mode 100644 index 00000000..53ecf178 --- /dev/null +++ b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/lib/mui/js/mui.min.js @@ -0,0 +1,9 @@ +/*! + * ===================================================== + * Mui v3.7.2 (http://dev.dcloud.net.cn/mui) + * ===================================================== + */ +var mui=function(a,b){var c=/complete|loaded|interactive/,d=/^#([\w-]+)$/,e=/^\.([\w-]+)$/,f=/^[\w-]+$/,g=/translate(?:3d)?\((.+?)\)/,h=/matrix(3d)?\((.+?)\)/,i=function(b,c){if(c=c||a,!b)return j();if("object"==typeof b)return i.isArrayLike(b)?j(i.slice.call(b),null):j([b],null);if("function"==typeof b)return i.ready(b);if("string"==typeof b)try{if(b=b.trim(),d.test(b)){var e=a.getElementById(RegExp.$1);return j(e?[e]:[])}return j(i.qsa(b,c),b)}catch(f){}return j()},j=function(a,b){return a=a||[],Object.setPrototypeOf(a,i.fn),a.selector=b||"",a};i.uuid=0,i.data={},i.extend=function(){var a,c,d,e,f,g,h=arguments[0]||{},j=1,k=arguments.length,l=!1;for("boolean"==typeof h&&(l=h,h=arguments[j]||{},j++),"object"==typeof h||i.isFunction(h)||(h={}),j===k&&(h=this,j--);k>j;j++)if(null!=(a=arguments[j]))for(c in a)d=h[c],e=a[c],h!==e&&(l&&e&&(i.isPlainObject(e)||(f=i.isArray(e)))?(f?(f=!1,g=d&&i.isArray(d)?d:[]):g=d&&i.isPlainObject(d)?d:{},h[c]=i.extend(l,g,e)):e!==b&&(h[c]=e));return h},i.noop=function(){},i.slice=[].slice,i.filter=[].filter,i.type=function(a){return null==a?String(a):k[{}.toString.call(a)]||"object"},i.isArray=Array.isArray||function(a){return a instanceof Array},i.isArrayLike=function(a){var b=!!a&&"length"in a&&a.length,c=i.type(a);return"function"===c||i.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a},i.isWindow=function(a){return null!=a&&a===a.window},i.isObject=function(a){return"object"===i.type(a)},i.isPlainObject=function(a){return i.isObject(a)&&!i.isWindow(a)&&Object.getPrototypeOf(a)===Object.prototype},i.isEmptyObject=function(a){for(var c in a)if(c!==b)return!1;return!0},i.isFunction=function(a){return"function"===i.type(a)},i.qsa=function(b,c){return c=c||a,i.slice.call(e.test(b)?c.getElementsByClassName(RegExp.$1):f.test(b)?c.getElementsByTagName(b):c.querySelectorAll(b))},i.ready=function(b){return c.test(a.readyState)?b(i):a.addEventListener("DOMContentLoaded",function(){b(i)},!1),this},i.buffer=function(a,b,c){function d(){e&&(e.cancel(),e=0),f=i.now(),a.apply(c||this,arguments),g=i.now()}var e,f=0,g=0,b=b||150;return i.extend(function(){!f||g>=f&&i.now()-g>b||f>g&&i.now()-f>8*b?d.apply(this,arguments):(e&&e.cancel(),e=i.later(d,b,null,i.slice.call(arguments)))},{stop:function(){e&&(e.cancel(),e=0)}})},i.each=function(a,b,c){if(!a)return this;if("number"==typeof a.length)[].every.call(a,function(a,c){return b.call(a,c,a)!==!1});else for(var d in a)if(c){if(a.hasOwnProperty(d)&&b.call(a[d],d,a[d])===!1)return a}else if(b.call(a[d],d,a[d])===!1)return a;return this},i.focus=function(a){i.os.ios?setTimeout(function(){a.focus()},10):a.focus()},i.trigger=function(a,b,c){return a.dispatchEvent(new CustomEvent(b,{detail:c,bubbles:!0,cancelable:!0})),this},i.getStyles=function(a,b){var c=a.ownerDocument.defaultView.getComputedStyle(a,null);return b?c.getPropertyValue(b)||c[b]:c},i.parseTranslate=function(a,b){var c=a.match(g||"");return c&&c[1]||(c=["","0,0,0"]),c=c[1].split(","),c={x:parseFloat(c[0]),y:parseFloat(c[1]),z:parseFloat(c[2])},b&&c.hasOwnProperty(b)?c[b]:c},i.parseTranslateMatrix=function(a,b){var c=a.match(h),d=c&&c[1];c?(c=c[2].split(","),"3d"===d?c=c.slice(12,15):(c.push(0),c=c.slice(4,7))):c=[0,0,0];var e={x:parseFloat(c[0]),y:parseFloat(c[1]),z:parseFloat(c[2])};return b&&e.hasOwnProperty(b)?e[b]:e},i.hooks={},i.addAction=function(a,b){var c=i.hooks[a];return c||(c=[]),b.index=b.index||1e3,c.push(b),c.sort(function(a,b){return a.index-b.index}),i.hooks[a]=c,i.hooks[a]},i.doAction=function(a,b){i.isFunction(b)?i.each(i.hooks[a],b):i.each(i.hooks[a],function(a,b){return!b.handle()})},i.later=function(a,b,c,d){b=b||0;var e,f,g=a,h=d;return"string"==typeof a&&(g=c[a]),e=function(){g.apply(c,i.isArray(h)?h:[h])},f=setTimeout(e,b),{id:f,cancel:function(){clearTimeout(f)}}},i.now=Date.now||function(){return+new Date};var k={};return i.each(["Boolean","Number","String","Function","Array","Date","RegExp","Object","Error"],function(a,b){k["[object "+b+"]"]=b.toLowerCase()}),window.JSON&&(i.parseJSON=JSON.parse),i.fn={each:function(a){return[].every.call(this,function(b,c){return a.call(b,c,b)!==!1}),this}},"function"==typeof define&&define.amd&&define("mui",[],function(){return i}),i}(document);!function(a,b){function c(c){this.os={};var d=[function(){var a=c.match(/(MicroMessenger)\/([\d\.]+)/i);return a&&(this.os.wechat={version:a[2].replace(/_/g,".")}),!1},function(){var a=c.match(/(Android);?[\s\/]+([\d.]+)?/);return a&&(this.os.android=!0,this.os.version=a[2],this.os.isBadAndroid=!/Chrome\/\d/.test(b.navigator.appVersion)),this.os.android===!0},function(){var a=c.match(/(iPhone\sOS)\s([\d_]+)/);if(a)this.os.ios=this.os.iphone=!0,this.os.version=a[2].replace(/_/g,".");else{var b=c.match(/(iPad).*OS\s([\d_]+)/);b&&(this.os.ios=this.os.ipad=!0,this.os.version=b[2].replace(/_/g,"."))}return this.os.ios===!0}];[].every.call(d,function(b){return!b.call(a)})}c.call(a,navigator.userAgent)}(mui,window),function(a,b){function c(c){this.os=this.os||{};var d=c.match(/Html5Plus/i);d&&(this.os.plus=!0,a(function(){b.body.classList.add("mui-plus")}),c.match(/StreamApp/i)&&(this.os.stream=!0,a(function(){b.body.classList.add("mui-plus-stream")})))}c.call(a,navigator.userAgent)}(mui,document),function(a){"ontouchstart"in window?(a.isTouchable=!0,a.EVENT_START="touchstart",a.EVENT_MOVE="touchmove",a.EVENT_END="touchend"):(a.isTouchable=!1,a.EVENT_START="mousedown",a.EVENT_MOVE="mousemove",a.EVENT_END="mouseup"),a.EVENT_CANCEL="touchcancel",a.EVENT_CLICK="click";var b=1,c={},d={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"},e=function(){return!0},f=function(){return!1},g=function(b,c){return b.detail?b.detail.currentTarget=c:b.detail={currentTarget:c},a.each(d,function(a,c){var d=b[a];b[a]=function(){return this[c]=e,d&&d.apply(b,arguments)},b[c]=f},!0),b},h=function(a){return a&&(a._mid||(a._mid=b++))},i={},j=function(b,d,e,f){return function(e){for(var f=c[b._mid][d],h=[],i=e.target,j={};i&&i!==document&&i!==b&&(!~["click","tap","doubletap","longtap","hold"].indexOf(d)||!i.disabled&&!i.classList.contains("mui-disabled"));i=i.parentNode){var k={};a.each(f,function(c,d){j[c]||(j[c]=a.qsa(c,b)),j[c]&&~j[c].indexOf(i)&&(k[c]||(k[c]=d))},!0),a.isEmptyObject(k)||h.push({element:i,handlers:k})}j=null,e=g(e),a.each(h,function(b,c){i=c.element;var f=i.tagName;return"tap"===d&&"INPUT"!==f&&"TEXTAREA"!==f&&"SELECT"!==f&&(e.preventDefault(),e.detail&&e.detail.gesture&&e.detail.gesture.preventDefault()),a.each(c.handlers,function(b,c){a.each(c,function(a,b){b.call(i,e)===!1&&(e.preventDefault(),e.stopPropagation())},!0)},!0),e.isPropagationStopped()?!1:void 0},!0)}},k=function(a,b){var c=i[h(a)],d=[];if(c){if(d=[],b){var e=function(a){return a.type===b};return c.filter(e)}d=c}return d},l=/^(INPUT|TEXTAREA|BUTTON|SELECT)$/;a.fn.on=function(b,d,e){return this.each(function(){var f=this;h(f),h(e);var g=!1,k=c[f._mid]||(c[f._mid]={}),m=k[b]||(k[b]={});a.isEmptyObject(m)&&(g=!0);var n=m[d]||(m[d]=[]);if(n.push(e),g){var o=i[h(f)];o||(o=[]);var p=j(f,b,d,e);o.push(p),p.i=o.length-1,p.type=b,i[h(f)]=o,f.addEventListener(b,p),"tap"===b&&f.addEventListener("click",function(a){if(a.target){var b=a.target.tagName;if(!l.test(b))if("A"===b){var c=a.target.href;c&&~c.indexOf("tel:")||a.preventDefault()}else a.preventDefault()}})}})},a.fn.off=function(b,d,e){return this.each(function(){var f=h(this);if(b)if(d)if(e){var g=c[f]&&c[f][b]&&c[f][b][d];a.each(g,function(a,b){return h(b)===h(e)?(g.splice(a,1),!1):void 0},!0)}else c[f]&&c[f][b]&&delete c[f][b][d];else c[f]&&delete c[f][b];else c[f]&&delete c[f];c[f]?(!c[f][b]||a.isEmptyObject(c[f][b]))&&k(this,b).forEach(function(a){this.removeEventListener(a.type,a),delete i[f][a.i]}.bind(this)):k(this).forEach(function(a){this.removeEventListener(a.type,a),delete i[f][a.i]}.bind(this))})}}(mui),function(a,b,c){a.targets={},a.targetHandles=[],a.registerTarget=function(b){return b.index=b.index||1e3,a.targetHandles.push(b),a.targetHandles.sort(function(a,b){return a.index-b.index}),a.targetHandles},b.addEventListener(a.EVENT_START,function(b){for(var d=b.target,e={};d&&d!==c;d=d.parentNode){var f=!1;if(a.each(a.targetHandles,function(c,g){var h=g.name;f||e[h]||!g.hasOwnProperty("handle")?e[h]||g.isReset!==!1&&(a.targets[h]=!1):(a.targets[h]=g.handle(b,d),a.targets[h]&&(e[h]=!0,g.isContinue!==!0&&(f=!0)))}),f)break}}),b.addEventListener("click",function(b){for(var d=b.target,e=!1;d&&d!==c&&("A"!==d.tagName||(a.each(a.targetHandles,function(a,c){c.name;return c.hasOwnProperty("handle")&&c.handle(b,d)?(e=!0,b.preventDefault(),!1):void 0}),!e));d=d.parentNode);})}(mui,window,document),function(a){String.prototype.trim===a&&(String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")}),Object.setPrototypeOf=Object.setPrototypeOf||function(a,b){return a.__proto__=b,a}}(),function(){function a(a,b){b=b||{bubbles:!1,cancelable:!1,detail:void 0};var c=document.createEvent("Events"),d=!0;for(var e in b)"bubbles"===e?d=!!b[e]:c[e]=b[e];return c.initEvent(a,d,!0),c}"undefined"==typeof window.CustomEvent&&(a.prototype=window.Event.prototype,window.CustomEvent=a)}(),Function.prototype.bind=Function.prototype.bind||function(a){var b=Array.prototype.splice.call(arguments,1),c=this,d=function(){var e=b.concat(Array.prototype.splice.call(arguments,0));return this instanceof d?void c.apply(this,e):c.apply(a,e)};return d.prototype=c.prototype,d},function(a){"classList"in a.documentElement||!Object.defineProperty||"undefined"==typeof HTMLElement||Object.defineProperty(HTMLElement.prototype,"classList",{get:function(){function a(a){return function(c){var d=b.className.split(/\s+/),e=d.indexOf(c);a(d,e,c),b.className=d.join(" ")}}var b=this,c={add:a(function(a,b,c){~b||a.push(c)}),remove:a(function(a,b){~b&&a.splice(b,1)}),toggle:a(function(a,b,c){~b?a.splice(b,1):a.push(c)}),contains:function(a){return!!~b.className.split(/\s+/).indexOf(a)},item:function(a){return b.className.split(/\s+/)[a]||null}};return Object.defineProperty(c,"length",{get:function(){return b.className.split(/\s+/).length}}),c}})}(document),function(a){if(!a.requestAnimationFrame){var b=0;a.requestAnimationFrame=a.webkitRequestAnimationFrame||function(c,d){var e=(new Date).getTime(),f=Math.max(0,16.7-(e-b)),g=a.setTimeout(function(){c(e+f)},f);return b=e+f,g},a.cancelAnimationFrame=a.webkitCancelAnimationFrame||a.webkitCancelRequestAnimationFrame||function(a){clearTimeout(a)}}}(window),function(a,b,c){if((a.os.android||a.os.ios)&&!b.FastClick){var d=function(a,b){return"LABEL"===b.tagName&&b.parentNode&&(b=b.parentNode.querySelector("input")),!b||"radio"!==b.type&&"checkbox"!==b.type||b.disabled?!1:b};a.registerTarget({name:c,index:40,handle:d,target:!1});var e=function(c){var d=a.targets.click;if(d){var e,f;document.activeElement&&document.activeElement!==d&&document.activeElement.blur(),f=c.detail.gesture.changedTouches[0],e=document.createEvent("MouseEvents"),e.initMouseEvent("click",!0,!0,b,1,f.screenX,f.screenY,f.clientX,f.clientY,!1,!1,!1,!1,0,null),e.forwardedTouchEvent=!0,d.dispatchEvent(e),c.detail&&c.detail.gesture.preventDefault()}};b.addEventListener("tap",e),b.addEventListener("doubletap",e),b.addEventListener("click",function(b){return a.targets.click&&!b.forwardedTouchEvent?(b.stopImmediatePropagation?b.stopImmediatePropagation():b.propagationStopped=!0,b.stopPropagation(),b.preventDefault(),!1):void 0},!0)}}(mui,window,"click"),function(a,b){a(function(){if(a.os.ios){var c="mui-focusin",d="mui-bar-tab",e="mui-bar-footer",f="mui-bar-footer-secondary",g="mui-bar-footer-secondary-tab";b.addEventListener("focusin",function(h){if(!(a.os.plus&&window.plus&&plus.webview.currentWebview().children().length>0)){var i=h.target;if(i.tagName&&("TEXTAREA"===i.tagName||"INPUT"===i.tagName&&("text"===i.type||"search"===i.type||"number"===i.type))){if(i.disabled||i.readOnly)return;b.body.classList.add(c);for(var j=!1;i&&i!==b;i=i.parentNode){var k=i.classList;if(k&&k.contains(d)||k.contains(e)||k.contains(f)||k.contains(g)){j=!0;break}}if(j){var l=b.body.scrollHeight,m=b.body.scrollLeft;setTimeout(function(){window.scrollTo(m,l)},20)}}}}),b.addEventListener("focusout",function(a){var d=b.body.classList;d.contains(c)&&(d.remove(c),setTimeout(function(){window.scrollTo(b.body.scrollLeft,b.body.scrollTop)},20))})}})}(mui,document),function(a){a.namespace="mui",a.classNamePrefix=a.namespace+"-",a.classSelectorPrefix="."+a.classNamePrefix,a.className=function(b){return a.classNamePrefix+b},a.classSelector=function(b){return b.replace(/\./g,a.classSelectorPrefix)},a.eventName=function(b,c){return b+(a.namespace?"."+a.namespace:"")+(c?"."+c:"")}}(mui),function(a,b){a.gestures={session:{}},a.preventDefault=function(a){a.preventDefault()},a.stopPropagation=function(a){a.stopPropagation()},a.addGesture=function(b){return a.addAction("gestures",b)};var c=Math.round,d=Math.abs,e=Math.sqrt,f=(Math.atan,Math.atan2),g=function(a,b,c){c||(c=["x","y"]);var d=b[c[0]]-a[c[0]],f=b[c[1]]-a[c[1]];return e(d*d+f*f)},h=function(a,b){if(a.length>=2&&b.length>=2){var c=["pageX","pageY"];return g(b[1],b[0],c)/g(a[1],a[0],c)}return 1},i=function(a,b,c){c||(c=["x","y"]);var d=b[c[0]]-a[c[0]],e=b[c[1]]-a[c[1]];return 180*f(e,d)/Math.PI},j=function(a,b){return a===b?"":d(a)>=d(b)?a>0?"left":"right":b>0?"up":"down"},k=function(a,b){var c=["pageX","pageY"];return i(b[1],b[0],c)-i(a[1],a[0],c)},l=function(a,b,c){return{x:b/a||0,y:c/a||0}},m=function(b,c){a.gestures.stoped||a.doAction("gestures",function(d,e){a.gestures.stoped||a.options.gestureConfig[e.name]!==!1&&e.handle(b,c)})},n=function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},o=function(a,b,c){for(var d=[],e=[],f=0;fc[b]}):d.sort()),d},p=function(a){var b=a.length;if(1===b)return{x:c(a[0].pageX),y:c(a[0].pageY)};for(var d=0,e=0,f=0;b>f;)d+=a[f].pageX,e+=a[f].pageY,f++;return{x:c(d/b),y:c(e/b)}},q=function(){return a.options.gestureConfig.pinch},r=function(b){for(var d=[],e=0;e1&&!c.firstMultiTouch?c.firstMultiTouch=r(b):1===e&&(c.firstMultiTouch=!1);var f=c.firstTouch,l=c.firstMultiTouch,m=l?l.center:f.center,n=b.center=p(d);b.timestamp=a.now(),b.deltaTime=b.timestamp-f.timestamp,b.angle=i(m,n),b.distance=g(m,n),s(b),b.offsetDirection=j(b.deltaX,b.deltaY),b.scale=l?h(l.touches,d):1,b.rotation=l?k(l.touches,d):0,v(b)},u=25,v=function(b){var c,e,f,g,h=a.gestures.session,i=h.lastInterval||b,k=b.timestamp-i.timestamp;if(b.gesture.type!=a.EVENT_CANCEL&&(k>u||void 0===i.velocity)){var m=i.deltaX-b.deltaX,n=i.deltaY-b.deltaY,o=l(k,m,n);e=o.x,f=o.y,c=d(o.x)>d(o.y)?o.x:o.y,g=j(m,n)||i.direction,h.lastInterval=b}else c=i.velocity,e=i.velocityX,f=i.velocityY,g=i.direction;b.velocity=c,b.velocityX=e,b.velocityY=f,b.direction=g},w={},x=function(a){for(var b=0;b300&&(c=h,f.flickStart=e.center);break;case a.EVENT_END:case a.EVENT_CANCEL:e.flick=!1,f.flickStart&&g.flickMaxTime>h-c&&e.distance>g.flickMinDistince&&(e.flick=!0,e.flickTime=h-c,e.flickDistanceX=e.center.x-f.flickStart.x,e.flickDistanceY=e.center.y-f.flickStart.y,a.trigger(f.target,b,e),a.trigger(f.target,b+e.direction,e))}};a.addGesture({name:b,index:5,handle:d,options:{flickMaxTime:200,flickMinDistince:10}})}(mui,"flick"),function(a,b){var c=function(c,d){var e=a.gestures.session;if(c.type===a.EVENT_END||c.type===a.EVENT_CANCEL){var f=this.options;d.swipe=!1,d.direction&&f.swipeMaxTime>d.deltaTime&&d.distance>f.swipeMinDistince&&(d.swipe=!0,a.trigger(e.target,b,d),a.trigger(e.target,b+d.direction,d))}};a.addGesture({name:b,index:10,handle:c,options:{swipeMaxTime:300,swipeMinDistince:18}})}(mui,"swipe"),function(a,b){var c=function(c,d){var e=a.gestures.session;switch(c.type){case a.EVENT_START:break;case a.EVENT_MOVE:if(!d.direction||!e.target)return;e.lockDirection&&e.startDirection&&e.startDirection&&e.startDirection!==d.direction&&("up"===e.startDirection||"down"===e.startDirection?d.direction=d.deltaY<0?"up":"down":d.direction=d.deltaX<0?"left":"right"),e.drag||(e.drag=!0,a.trigger(e.target,b+"start",d)),a.trigger(e.target,b,d),a.trigger(e.target,b+d.direction,d);break;case a.EVENT_END:case a.EVENT_CANCEL:e.drag&&d.isFinal&&a.trigger(e.target,b+"end",d)}};a.addGesture({name:b,index:20,handle:c,options:{fingers:1}})}(mui,"drag"),function(a,b){var c,d,e=function(e,f){var g=a.gestures.session,h=this.options;switch(e.type){case a.EVENT_END:if(!f.isFinal)return;var i=g.target;if(!i||i.disabled||i.classList&&i.classList.contains("mui-disabled"))return;if(f.distanceg.holdThreshold&&clearTimeout(c);break;case a.EVENT_END:case a.EVENT_CANCEL:clearTimeout(c)}};a.addGesture({name:b,index:10,handle:d,options:{fingers:1,holdTimeout:500,holdThreshold:2}})}(mui,"longtap"),function(a,b){var c,d=function(d,e){var f=a.gestures.session,g=this.options;switch(d.type){case a.EVENT_START:a.options.gestureConfig.hold&&(c&&clearTimeout(c),c=setTimeout(function(){e.hold=!0,a.trigger(f.target,b,e)},g.holdTimeout));break;case a.EVENT_MOVE:break;case a.EVENT_END:case a.EVENT_CANCEL:c&&(clearTimeout(c)&&(c=null),a.trigger(f.target,"release",e))}};a.addGesture({name:b,index:10,handle:d,options:{fingers:1,holdTimeout:0}})}(mui,"hold"),function(a,b){var c=function(c,d){var e=this.options,f=a.gestures.session;switch(c.type){case a.EVENT_START:break;case a.EVENT_MOVE:if(a.options.gestureConfig.pinch){if(d.touches.length<2)return;f.pinch||(f.pinch=!0,a.trigger(f.target,b+"start",d)),a.trigger(f.target,b,d);var g=d.scale,h=d.rotation,i="undefined"==typeof d.lastScale?1:d.lastScale,j=1e-12;g>i?(i=g-j,a.trigger(f.target,b+"out",d)):i>g&&(i=g+j,a.trigger(f.target,b+"in",d)),Math.abs(h)>e.minRotationAngle&&a.trigger(f.target,"rotate",d)}break;case a.EVENT_END:case a.EVENT_CANCEL:a.options.gestureConfig.pinch&&f.pinch&&2===d.touches.length&&(f.pinch=!1,a.trigger(f.target,b+"end",d))}};a.addGesture({name:b,index:10,handle:c,options:{minRotationAngle:0}})}(mui,"pinch"),function(a){function b(a,b){var c="MUI_SCROLL_POSITION_"+document.location.href+"_"+b.src,d=parseFloat(localStorage.getItem(c))||0;d&&!function(a){b.onload=function(){window.scrollTo(0,a)}}(d),setInterval(function(){var a=window.scrollY;d!==a&&(localStorage.setItem(c,a+""),d=a)},100)}a.global=a.options={gestureConfig:{tap:!0,doubletap:!1,longtap:!1,hold:!1,flick:!0,swipe:!0,drag:!0,pinch:!1}},a.initGlobal=function(b){return a.options=a.extend(!0,a.global,b),this};var c={};a.init=function(b){return a.options=a.extend(!0,a.global,b||{}),a.ready(function(){a.doAction("inits",function(b,d){var e=!(c[d.name]&&!d.repeat);e&&(d.handle.call(a),c[d.name]=!0)})}),this},a.addInit=function(b){return a.addAction("inits",b)},a.addInit({name:"iframe",index:100,handle:function(){var b=a.options,c=b.subpages||[];!a.os.plus&&c.length&&d(c[0])}});var d=function(c){var d=document.createElement("div");d.className="mui-iframe-wrapper";var e=c.styles||{};"string"!=typeof e.top&&(e.top="0px"),"string"!=typeof e.bottom&&(e.bottom="0px"),d.style.top=e.top,d.style.bottom=e.bottom;var f=document.createElement("iframe");f.src=c.url,f.id=c.id||c.url,f.name=f.id,d.appendChild(f),document.body.appendChild(d),a.os.wechat&&b(d,f)};a(function(){var b=document.body.classList,c=[];a.os.ios?(c.push({os:"ios",version:a.os.version}),b.add("mui-ios")):a.os.android&&(c.push({os:"android",version:a.os.version}),b.add("mui-android")),a.os.wechat&&(c.push({os:"wechat",version:a.os.wechat.version}),b.add("mui-wechat")),c.length&&a.each(c,function(c,d){var e="";d.version&&a.each(d.version.split("."),function(c,f){e=e+(e?"-":"")+f,b.add(a.className(d.os+"-"+e))})})})}(mui),function(a){var b={swipeBack:!1,preloadPages:[],preloadLimit:10,keyEventBind:{backbutton:!0,menubutton:!0},titleConfig:{height:"44px",backgroundColor:"#f7f7f7",bottomBorderColor:"#cccccc",title:{text:"",position:{top:0,left:0,width:"100%",height:"100%"},styles:{color:"#000000",align:"center",family:"'Helvetica Neue',Helvetica,sans-serif",size:"17px",style:"normal",weight:"normal",fontSrc:""}},back:{image:{base64Data:"",imgSrc:"",sprite:{top:"0px",left:"0px",width:"100%",height:"100%"},position:{top:"10px",left:"10px",width:"24px",height:"24px"}}}}},c={event:"titleUpdate",autoShow:!0,duration:300,aniShow:"slide-in-right",extras:{}};a.options.show&&(c=a.extend(!0,c,a.options.show)),a.currentWebview=null,a.extend(!0,a.global,b),a.extend(!0,a.options,b),a.waitingOptions=function(b){return a.extend(!0,{},{autoShow:!0,title:"",modal:!1},b)},a.showOptions=function(b){return a.extend(!0,{},c,b)},a.windowOptions=function(b){return a.extend({scalable:!1,bounce:""},b)},a.plusReady=function(a){return window.plus?setTimeout(function(){a()},0):document.addEventListener("plusready",function(){a()},!1),this},a.fire=function(b,c,d){if(b){if("undefined"==typeof d)d="";else{if("boolean"==typeof d||"number"==typeof d)return void b.evalJS("typeof mui!=='undefined'&&mui.receive('"+c+"',"+d+")");(a.isPlainObject(d)||a.isArray(d))&&(d=JSON.stringify(d||{}).replace(/\'/g,"\\u0027").replace(/\\/g,"\\u005c"))}b.evalJS("typeof mui!=='undefined'&&mui.receive('"+c+"','"+d+"')")}},a.receive=function(b,c){if(b){try{c&&"string"==typeof c&&(c=JSON.parse(c))}catch(d){}a.trigger(document,b,c)}};var d=function(b){if(!b.preloaded){a.fire(b,"preload");for(var c=b.children(),d=0;dt.left&&ca.options.preloadLimit){var h=a.data.preloads.shift(),i=a.webviews[h];i&&i.webview&&a.closeAll(i.webview),delete a.webviews[h]}}else c!==!1&&(d=plus.webview.create(b.url,e,a.windowOptions(b.styles),b.extras),b.subpages&&a.each(b.subpages,function(b,c){var e=c.id||c.url,f=plus.webview.getWebviewById(e);f||(f=plus.webview.create(c.url,e,a.windowOptions(c.styles),c.extras)),d.append(f)}));return d}},a.preload=function(b){return b.preload||(b.preload=!0),a.createWindow(b)},a.closeOpened=function(b){var c=b.opened();if(c)for(var d=0,e=c.length;e>d;d++){var f=c[d],g=f.opened();g&&g.length>0?(a.closeOpened(f),f.close("none")):f.parent()!==b&&f.close("none")}},a.closeAll=function(b,c){a.closeOpened(b),c?b.close(c):b.close()},a.createWindows=function(b){a.each(b,function(b,c){a.createWindow(c,!1)})},a.appendWebview=function(b){if(window.plus){var c,d=b.id||b.url;return a.webviews[d]||(plus.webview.getWebviewById(d)||(c=plus.webview.create(b.url,d,b.styles,b.extras)),plus.webview.currentWebview().append(c),a.webviews[d]=b),c}},a.webviews={},a.data.preloads=[],a.plusReady(function(){a.currentWebview=plus.webview.currentWebview()}),a.addInit({name:"5+",index:100,handle:function(){var b=a.options,c=b.subpages||[];a.os.plus&&a.plusReady(function(){a.each(c,function(b,c){a.appendWebview(c)}),plus.webview.currentWebview()===plus.webview.getWebviewById(plus.runtime.appid)&&setTimeout(function(){d(plus.webview.currentWebview())},300),a.os.ios&&a.options.statusBarBackground&&plus.navigator.setStatusBarBackground(a.options.statusBarBackground),a.os.android&&parseFloat(a.os.version)<4.4&&null==plus.webview.currentWebview().parent()&&document.addEventListener("resume",function(){var a=document.body;a.style.display="none",setTimeout(function(){a.style.display=""},10)})})}}),window.addEventListener("preload",function(){var b=a.options.preloadPages||[];a.plusReady(function(){a.each(b,function(b,c){a.createWindow(a.extend(c,{preload:!0}))})})}),a.supportStatusbarOffset=function(){return a.os.plus&&a.os.ios&&parseFloat(a.os.version)>=7},a.ready(function(){a.supportStatusbarOffset()&&document.body.classList.add("mui-statusbar")})}(mui),function(a,b){a.addBack=function(b){return a.addAction("backs",b)},a.addBack({name:"browser",index:100,handle:function(){return b.history.length>1?(b.history.back(),!0):!1}}),a.back=function(){("function"!=typeof a.options.beforeback||a.options.beforeback()!==!1)&&a.doAction("backs")},b.addEventListener("tap",function(b){var c=a.targets.action;c&&c.classList.contains("mui-action-back")&&(a.back(),a.targets.action=!1)}),b.addEventListener("swiperight",function(b){var c=b.detail;a.options.swipeBack===!0&&Math.abs(c.angle)<3&&a.back()})}(mui,window),function(a,b){a.os.plus&&a.os.android&&a.addBack({name:"mui",index:5,handle:function(){if(a.targets._popover&&a.targets._popover.classList.contains("mui-active"))return a(a.targets._popover).popover("hide"),!0;var b=document.querySelector(".mui-off-canvas-wrap.mui-active");if(b)return a(b).offCanvas("close"),!0;var c=a.isFunction(a.getPreviewImage)&&a.getPreviewImage();return c&&c.isShown()?(c.close(),!0):a.closePopup()}}),a.__back__first=null,a.addBack({name:"5+",index:10,handle:function(){if(!b.plus)return!1;var c=plus.webview.currentWebview(),d=c.parent();return d?d.evalJS("mui&&mui.back();"):c.canBack(function(d){d.canBack?b.history.back():c.id===plus.runtime.appid?a.__back__first?(new Date).getTime()-a.__back__first<2e3&&plus.runtime.quit():(a.__back__first=(new Date).getTime(),mui.toast("再按一次退出应用"),setTimeout(function(){a.__back__first=null},2e3)):c.preload?c.hide("auto"):a.closeAll(c); +}),!0}}),a.menu=function(){var c=document.querySelector(".mui-action-menu");if(c)a.trigger(c,a.EVENT_START),a.trigger(c,"tap");else if(b.plus){var d=a.currentWebview,e=d.parent();e&&e.evalJS("mui&&mui.menu();")}};var c=function(){a.back()},d=function(){a.menu()};a.plusReady(function(){a.options.keyEventBind.backbutton&&plus.key.addEventListener("backbutton",c,!1),a.options.keyEventBind.menubutton&&plus.key.addEventListener("menubutton",d,!1)}),a.addInit({name:"keyEventBind",index:1e3,handle:function(){a.plusReady(function(){a.options.keyEventBind.backbutton||plus.key.removeEventListener("backbutton",c),a.options.keyEventBind.menubutton||plus.key.removeEventListener("menubutton",d)})}})}(mui,window),function(a){a.addInit({name:"pullrefresh",index:1e3,handle:function(){var b=a.options,c=b.pullRefresh||{},d=c.down&&c.down.hasOwnProperty("callback"),e=c.up&&c.up.hasOwnProperty("callback");if(d||e){var f=c.container;if(f){var g=a(f);1===g.length&&(a.os.plus?d&&"circle"==c.down.style?a.plusReady(function(){a.fn.pullRefresh=a.fn.pullRefresh_native,g.pullRefresh(c)}):a.os.android?a.plusReady(function(){a.fn.pullRefresh=a.fn.pullRefresh_native;var b=plus.webview.currentWebview();if(window.__NWin_Enable__===!1)g.pullRefresh(c);else{if(e){var f={};f.up=c.up,f.webviewId=b.id||b.getURL(),g.pullRefresh(f)}if(d){var h=b.parent(),i=b.id||b.getURL();if(h){e||g.pullRefresh({webviewId:i});var j={webviewId:i};j.down=a.extend({},c.down),j.down.callback="_CALLBACK",h.evalJS("mui.fn.pullRefresh=mui.fn.pullRefresh_native"),h.evalJS("mui&&mui(document.querySelector('.mui-content')).pullRefresh('"+JSON.stringify(j)+"')")}}}}):g.pullRefresh(c):g.pullRefresh(c))}}}})}(mui),function(a,b,c){var d="application/json",e="text/html",f=/)<[^<]*)*<\/script>/gi,g=/^(?:text|application)\/javascript/i,h=/^(?:text|application)\/xml/i,i=/^\s*$/;a.ajaxSettings={type:"GET",beforeSend:a.noop,success:a.noop,error:a.noop,complete:a.noop,context:null,xhr:function(a){return new b.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript, application/x-javascript",json:d,xml:"application/xml, text/xml",html:e,text:"text/plain"},timeout:0,processData:!0,cache:!0};var j=function(a,b){var c=b.context;return b.beforeSend.call(c,a,b)===!1?!1:void 0},k=function(a,b,c){c.success.call(c.context,a,"success",b),m("success",b,c)},l=function(a,b,c,d){d.error.call(d.context,c,b,a),m(b,c,d)},m=function(a,b,c){c.complete.call(c.context,b,a)},n=function(b,c,d,e){var f,g=a.isArray(c),h=a.isPlainObject(c);a.each(c,function(c,i){f=a.type(i),e&&(c=d?e:e+"["+(h||"object"===f||"array"===f?c:"")+"]"),!e&&g?b.add(i.name,i.value):"array"===f||!d&&"object"===f?n(b,i,d,c):b.add(c,i)})},o=function(b){if(b.processData&&b.data&&"string"!=typeof b.data){var e=b.contentType;!e&&b.headers&&(e=b.headers["Content-Type"]),e&&~e.indexOf(d)?b.data=JSON.stringify(b.data):b.data=a.param(b.data,b.traditional)}!b.data||b.type&&"GET"!==b.type.toUpperCase()||(b.url=p(b.url,b.data),b.data=c)},p=function(a,b){return""===b?a:(a+"&"+b).replace(/[&?]{1,2}/,"?")},q=function(a){return a&&(a=a.split(";",2)[0]),a&&(a===e?"html":a===d?"json":g.test(a)?"script":h.test(a)&&"xml")||"text"},r=function(b,d,e,f){return a.isFunction(d)&&(f=e,e=d,d=c),a.isFunction(e)||(f=e,e=c),{url:b,data:d,success:e,dataType:f}};a.ajax=function(d,e){"object"==typeof d&&(e=d,d=c);var f=e||{};f.url=d||f.url;for(var g in a.ajaxSettings)f[g]===c&&(f[g]=a.ajaxSettings[g]);o(f);var h=f.dataType;f.cache!==!1&&(e&&e.cache===!0||"script"!==h)||(f.url=p(f.url,"_="+a.now()));var m,n=f.accepts[h&&h.toLowerCase()],r={},s=function(a,b){r[a.toLowerCase()]=[a,b]},t=/^([\w-]+:)\/\//.test(f.url)?RegExp.$1:b.location.protocol,u=f.xhr(f),v=u.setRequestHeader;if(s("X-Requested-With","XMLHttpRequest"),s("Accept",n||"*/*"),(n=f.mimeType||n)&&(n.indexOf(",")>-1&&(n=n.split(",",2)[0]),u.overrideMimeType&&u.overrideMimeType(n)),(f.contentType||f.contentType!==!1&&f.data&&"GET"!==f.type.toUpperCase())&&s("Content-Type",f.contentType||"application/x-www-form-urlencoded"),f.headers)for(var w in f.headers)s(w,f.headers[w]);if(u.setRequestHeader=s,u.onreadystatechange=function(){if(4===u.readyState){u.onreadystatechange=a.noop,clearTimeout(m);var b,c=!1,d="file:"===t;if(u.status>=200&&u.status<300||304===u.status||0===u.status&&d&&u.responseText){h=h||q(f.mimeType||u.getResponseHeader("content-type")),b=u.responseText;try{"script"===h?(1,eval)(b):"xml"===h?b=u.responseXML:"json"===h&&(b=i.test(b)?null:a.parseJSON(b))}catch(e){c=e}c?l(c,"parsererror",u,f):k(b,u,f)}else{var g=u.status?"error":"abort",j=u.statusText||null;d&&(g="error",j="404"),l(j,g,u,f)}}},j(u,f)===!1)return u.abort(),l(null,"abort",u,f),u;if(f.xhrFields)for(var w in f.xhrFields)u[w]=f.xhrFields[w];var x="async"in f?f.async:!0;u.open(f.type.toUpperCase(),f.url,x,f.username,f.password);for(var w in r)r.hasOwnProperty(w)&&v.apply(u,r[w]);return f.timeout>0&&(m=setTimeout(function(){u.onreadystatechange=a.noop,u.abort(),l(null,"timeout",u,f)},f.timeout)),u.send(f.data?f.data:null),u},a.param=function(a,b){var c=[];return c.add=function(a,b){this.push(encodeURIComponent(a)+"="+encodeURIComponent(b))},n(c,a,b),c.join("&").replace(/%20/g,"+")},a.get=function(){return a.ajax(r.apply(null,arguments))},a.post=function(){var b=r.apply(null,arguments);return b.type="POST",a.ajax(b)},a.getJSON=function(){var b=r.apply(null,arguments);return b.dataType="json",a.ajax(b)},a.fn.load=function(b,c,d){if(!this.length)return this;var e,g=this,h=b.split(/\s/),i=r(b,c,d),j=i.success;return h.length>1&&(i.url=h[0],e=h[1]),i.success=function(a){if(e){var b=document.createElement("div");b.innerHTML=a.replace(f,"");var c=document.createElement("div"),d=b.querySelectorAll(e);if(d&&d.length>0)for(var h=0,i=d.length;i>h;h++)c.appendChild(d[h]);g[0].innerHTML=c.innerHTML}else g[0].innerHTML=a;j&&j.apply(g,arguments)},a.ajax(i),this}}(mui,window),function(a){var b=document.createElement("a");b.href=window.location.href,a.plusReady(function(){a.ajaxSettings=a.extend(a.ajaxSettings,{xhr:function(c){if(c.crossDomain)return new plus.net.XMLHttpRequest;if("file:"!==b.protocol){var d=document.createElement("a");if(d.href=c.url,d.href=d.href,c.crossDomain=b.protocol+"//"+b.host!=d.protocol+"//"+d.host,c.crossDomain)return new plus.net.XMLHttpRequest}return a.os.ios&&window.webkit&&window.webkit.messageHandlers?new plus.net.XMLHttpRequest:new window.XMLHttpRequest}})})}(mui),function(a,b,c){a.offset=function(a){var d={top:0,left:0};return typeof a.getBoundingClientRect!==c&&(d=a.getBoundingClientRect()),{top:d.top+b.pageYOffset-a.clientTop,left:d.left+b.pageXOffset-a.clientLeft}}}(mui,window),function(a,b){a.scrollTo=function(a,c,d){c=c||1e3;var e=function(c){if(0>=c)return b.scrollTo(0,a),void(d&&d());var f=a-b.scrollY;setTimeout(function(){b.scrollTo(0,b.scrollY+f/c*10),e(c-10)},16.7)};e(c)},a.animationFrame=function(a){var b,c,d;return function(){b=arguments,d=this,c||(c=!0,requestAnimationFrame(function(){a.apply(d,b),c=!1}))}}}(mui,window),function(a){var b=!1,c=/xyz/.test(function(){xyz})?/\b_super\b/:/.*/,d=function(){};d.extend=function(a){function d(){!b&&this.init&&this.init.apply(this,arguments)}var e=this.prototype;b=!0;var f=new this;b=!1;for(var g in a)f[g]="function"==typeof a[g]&&"function"==typeof e[g]&&c.test(a[g])?function(a,b){return function(){var c=this._super;this._super=e[a];var d=b.apply(this,arguments);return this._super=c,d}}(g,a[g]):a[g];return d.prototype=f,d.prototype.constructor=d,d.extend=arguments.callee,d},a.Class=d}(mui),function(a,b,c){var d="mui-pull-top-pocket",e="mui-pull-bottom-pocket",f="mui-pull",g="mui-pull-loading",h="mui-pull-caption",i="mui-pull-caption-down",j="mui-pull-caption-refresh",k="mui-pull-caption-nomore",l="mui-icon",m="mui-spinner",n="mui-icon-pulldown",o="mui-block",p="mui-hidden",q="mui-visibility",r=g+" "+l+" "+n,s=g+" "+l+" "+n,t=g+" "+l+" "+m,u=['
','
','
{contentrefresh}
',"
"].join(""),v={init:function(b,c){this._super(b,a.extend(!0,{scrollY:!0,scrollX:!1,indicators:!0,deceleration:.003,down:{height:50,contentinit:"下拉可以刷新",contentdown:"下拉可以刷新",contentover:"释放立即刷新",contentrefresh:"正在刷新..."},up:{height:50,auto:!1,contentinit:"上拉显示更多",contentdown:"上拉显示更多",contentrefresh:"正在加载...",contentnomore:"没有更多数据了",duration:300}},c))},_init:function(){this._super(),this._initPocket()},_initPulldownRefresh:function(){this.pulldown=!0,this.topPocket&&(this.pullPocket=this.topPocket,this.pullPocket.classList.add(o),this.pullPocket.classList.add(q),this.pullCaption=this.topCaption,this.pullLoading=this.topLoading)},_initPullupRefresh:function(){this.pulldown=!1,this.bottomPocket&&(this.pullPocket=this.bottomPocket,this.pullPocket.classList.add(o),this.pullPocket.classList.add(q),this.pullCaption=this.bottomCaption,this.pullLoading=this.bottomLoading)},_initPocket:function(){var a=this.options;a.down&&a.down.hasOwnProperty("callback")&&(this.topPocket=this.scroller.querySelector("."+d),this.topPocket||(this.topPocket=this._createPocket(d,a.down,s),this.wrapper.insertBefore(this.topPocket,this.wrapper.firstChild)),this.topLoading=this.topPocket.querySelector("."+g),this.topCaption=this.topPocket.querySelector("."+h)),a.up&&a.up.hasOwnProperty("callback")&&(this.bottomPocket=this.scroller.querySelector("."+e),this.bottomPocket||(this.bottomPocket=this._createPocket(e,a.up,t),this.scroller.appendChild(this.bottomPocket)),this.bottomLoading=this.bottomPocket.querySelector("."+g),this.bottomCaption=this.bottomPocket.querySelector("."+h),this.wrapper.addEventListener("scrollbottom",this))},_createPocket:function(a,c,d){var e=b.createElement("div");return e.className=a,e.innerHTML=u.replace("{contentrefresh}",c.contentinit).replace("{icon}",d),e},_resetPullDownLoading:function(){var a=this.pullLoading;a&&(this.pullCaption.innerHTML=this.options.down.contentdown,a.style.webkitTransition="",a.style.webkitTransform="",a.style.webkitAnimation="",a.className=s)},_setCaptionClass:function(a,b,c){if(!a)switch(c){case this.options.up.contentdown:b.className=h+" "+i;break;case this.options.up.contentrefresh:b.className=h+" "+j;break;case this.options.up.contentnomore:b.className=h+" "+k}},_setCaption:function(a,b){if(!this.loading){var c=this.options,d=this.pullPocket,e=this.pullCaption,f=this.pullLoading,g=this.pulldown,h=this;d&&(b?setTimeout(function(){e.innerHTML=h.lastTitle=a,g?f.className=s:(h._setCaptionClass(!1,e,a),f.className=t),f.style.webkitAnimation="",f.style.webkitTransition="",f.style.webkitTransform=""},100):a!==this.lastTitle&&(e.innerHTML=a,g?a===c.down.contentrefresh?(f.className=t,f.style.webkitAnimation="spinner-spin 1s step-end infinite"):a===c.down.contentover?(f.className=r,f.style.webkitTransition="-webkit-transform 0.3s ease-in",f.style.webkitTransform="rotate(180deg)"):a===c.down.contentdown&&(f.className=s,f.style.webkitTransition="-webkit-transform 0.3s ease-in",f.style.webkitTransform="rotate(0deg)"):(a===c.up.contentrefresh?f.className=t+" "+q:f.className=t+" "+p,h._setCaptionClass(!1,e,a)),this.lastTitle=a))}}};a.PullRefresh=v}(mui,document),function(a,b,c,d){var e="mui-scroll",f="mui-scrollbar",g="mui-scrollbar-indicator",h=f+"-vertical",i=f+"-horizontal",j="mui-active",k={quadratic:{style:"cubic-bezier(0.25, 0.46, 0.45, 0.94)",fn:function(a){return a*(2-a)}},circular:{style:"cubic-bezier(0.1, 0.57, 0.1, 1)",fn:function(a){return Math.sqrt(1- --a*a)}},outCirc:{style:"cubic-bezier(0.075, 0.82, 0.165, 1)"},outCubic:{style:"cubic-bezier(0.165, 0.84, 0.44, 1)"}},l=a.Class.extend({init:function(b,c){this.wrapper=this.element=b,this.scroller=this.wrapper.children[0],this.scrollerStyle=this.scroller&&this.scroller.style,this.stopped=!1,this.options=a.extend(!0,{scrollY:!0,scrollX:!1,startX:0,startY:0,indicators:!0,stopPropagation:!1,hardwareAccelerated:!0,fixedBadAndorid:!1,preventDefaultException:{tagName:/^(INPUT|TEXTAREA|BUTTON|SELECT|VIDEO)$/},momentum:!0,snapX:.5,snap:!1,bounce:!0,bounceTime:500,bounceEasing:k.outCirc,scrollTime:500,scrollEasing:k.outCubic,directionLockThreshold:5,parallaxElement:!1,parallaxRatio:.5},c),this.x=0,this.y=0,this.translateZ=this.options.hardwareAccelerated?" translateZ(0)":"",this._init(),this.scroller&&(this.refresh(),this.scrollTo(this.options.startX,this.options.startY))},_init:function(){this._initParallax(),this._initIndicators(),this._initEvent()},_initParallax:function(){this.options.parallaxElement&&(this.parallaxElement=c.querySelector(this.options.parallaxElement),this.parallaxStyle=this.parallaxElement.style,this.parallaxHeight=this.parallaxElement.offsetHeight,this.parallaxImgStyle=this.parallaxElement.querySelector("img").style)},_initIndicators:function(){var a=this;if(a.indicators=[],this.options.indicators){var b,c=[];a.options.scrollY&&(b={el:this._createScrollBar(h),listenX:!1},this.wrapper.appendChild(b.el),c.push(b)),this.options.scrollX&&(b={el:this._createScrollBar(i),listenY:!1},this.wrapper.appendChild(b.el),c.push(b));for(var d=c.length;d--;)this.indicators.push(new m(this,c[d]))}},_initSnap:function(){this.currentPage={},this.pages=[];for(var a=this.snaps,b=a.length,c=0,d=-1,e=0,f=0,g=0,h=0,i=0;b>i;i++){var k=a[i],l=k.offsetLeft,m=k.offsetWidth;(0===i||l<=a[i-1].offsetLeft)&&(c=0,d++),this.pages[c]||(this.pages[c]=[]),e=this._getSnapX(l),h=Math.round(m*this.options.snapX),f=e-h,g=e-m+h,this.pages[c][d]={x:e,leftX:f,rightX:g,pageX:c,element:k},k.classList.contains(j)&&(this.currentPage=this.pages[c][0]),e>=this.maxScrollX&&c++}this.options.startX=this.currentPage.x||0},_getSnapX:function(a){return Math.max(Math.min(0,-a+this.wrapperWidth/2),this.maxScrollX)},_gotoPage:function(a){this.currentPage=this.pages[Math.min(a,this.pages.length-1)][0];for(var b=0,c=this.snaps.length;c>b;b++)b===a?this.snaps[b].classList.add(j):this.snaps[b].classList.remove(j);this.scrollTo(this.currentPage.x,0,this.options.scrollTime)},_nearestSnap:function(a){if(!this.pages.length)return{x:0,pageX:0};var b=0,c=this.pages.length;for(a>0?a=0:ab;b++){var d="left"===this.direction?this.pages[b][0].leftX:this.pages[b][0].rightX;if(a>=d)return this.pages[b][0]}return{x:0,pageX:0}},_initEvent:function(c){var d=c?"removeEventListener":"addEventListener";b[d]("orientationchange",this),b[d]("resize",this),this.scroller[d]("webkitTransitionEnd",this),this.wrapper[d](a.EVENT_START,this),this.wrapper[d](a.EVENT_CANCEL,this),this.wrapper[d](a.EVENT_END,this),this.wrapper[d]("drag",this),this.wrapper[d]("dragend",this),this.wrapper[d]("flick",this),this.wrapper[d]("scrollend",this),this.options.scrollX&&this.wrapper[d]("swiperight",this);var e=this.wrapper.querySelector(".mui-segmented-control");e&&mui(e)[c?"off":"on"]("click","a",a.preventDefault),this.wrapper[d]("scrollstart",this),this.wrapper[d]("refresh",this)},_handleIndicatorScrollend:function(){this.indicators.map(function(a){a.fade()})},_handleIndicatorScrollstart:function(){this.indicators.map(function(a){a.fade(1)})},_handleIndicatorRefresh:function(){this.indicators.map(function(a){a.refresh()})},handleEvent:function(b){if(this.stopped)return void this.resetPosition();switch(b.type){case a.EVENT_START:this._start(b);break;case"drag":this.options.stopPropagation&&b.stopPropagation(),this._drag(b);break;case"dragend":case"flick":this.options.stopPropagation&&b.stopPropagation(),this._flick(b);break;case a.EVENT_CANCEL:case a.EVENT_END:this._end(b);break;case"webkitTransitionEnd":this.transitionTimer&&this.transitionTimer.cancel(),this._transitionEnd(b);break;case"scrollstart":this._handleIndicatorScrollstart(b);break;case"scrollend":this._handleIndicatorScrollend(b),this._scrollend(b),b.stopPropagation();break;case"orientationchange":case"resize":this._resize();break;case"swiperight":b.stopPropagation();break;case"refresh":this._handleIndicatorRefresh(b)}},_start:function(b){if(this.moved=this.needReset=!1,this._transitionTime(),this.isInTransition){this.needReset=!0,this.isInTransition=!1;var c=a.parseTranslateMatrix(a.getStyles(this.scroller,"webkitTransform"));this.setTranslate(Math.round(c.x),Math.round(c.y)),a.trigger(this.scroller,"scrollend",this),b.preventDefault()}this.reLayout(),a.trigger(this.scroller,"beforescrollstart",this)},_getDirectionByAngle:function(a){return-80>a&&a>-100?"up":a>=80&&100>a?"down":a>=170||-170>=a?"left":a>=-35&&10>=a?"right":null},_drag:function(c){var d=c.detail;if((this.options.scrollY||"up"===d.direction||"down"===d.direction)&&a.os.ios&&parseFloat(a.os.version)>=8){var e=d.gesture.touches[0].clientY;if(e+10>b.innerHeight||10>e)return void this.resetPosition(this.options.bounceTime)}var f=isReturn=!1;this._getDirectionByAngle(d.angle);if("left"===d.direction||"right"===d.direction?this.options.scrollX?(f=!0,this.moved||(a.gestures.session.lockDirection=!0,a.gestures.session.startDirection=d.direction)):this.options.scrollY&&!this.moved&&(isReturn=!0):"up"===d.direction||"down"===d.direction?this.options.scrollY?(f=!0,this.moved||(a.gestures.session.lockDirection=!0,a.gestures.session.startDirection=d.direction)):this.options.scrollX&&!this.moved&&(isReturn=!0):isReturn=!0,(this.moved||f)&&(c.stopPropagation(),d.gesture&&d.gesture.preventDefault()),!isReturn){this.moved?c.stopPropagation():a.trigger(this.scroller,"scrollstart",this);var g=0,h=0;this.moved?(g=d.deltaX-a.gestures.session.prevTouch.deltaX,h=d.deltaY-a.gestures.session.prevTouch.deltaY):(g=d.deltaX,h=d.deltaY);var i=Math.abs(d.deltaX),j=Math.abs(d.deltaY);i>j+this.options.directionLockThreshold?h=0:j>=i+this.options.directionLockThreshold&&(g=0),g=this.hasHorizontalScroll?g:0,h=this.hasVerticalScroll?h:0;var k=this.x+g,l=this.y+h;(k>0||k0?0:this.maxScrollX),(l>0||l0?0:this.maxScrollY),this.requestAnimationFrame||this._updateTranslate(),this.direction=d.deltaX>0?"right":"left",this.moved=!0,this.x=k,this.y=l,a.trigger(this.scroller,"scroll",this)}},_flick:function(b){if(this.moved){b.stopPropagation();var c=b.detail;if(this._clearRequestAnimationFrame(),"dragend"!==b.type||!c.flick){var d=Math.round(this.x),e=Math.round(this.y);if(this.isInTransition=!1,!this.resetPosition(this.options.bounceTime)){if(this.scrollTo(d,e),"dragend"===b.type)return void a.trigger(this.scroller,"scrollend",this);var f=0,g="";return this.options.momentum&&c.flickTime<300&&(momentumX=this.hasHorizontalScroll?this._momentum(this.x,c.flickDistanceX,c.flickTime,this.maxScrollX,this.options.bounce?this.wrapperWidth:0,this.options.deceleration):{destination:d,duration:0},momentumY=this.hasVerticalScroll?this._momentum(this.y,c.flickDistanceY,c.flickTime,this.maxScrollY,this.options.bounce?this.wrapperHeight:0,this.options.deceleration):{destination:e,duration:0},d=momentumX.destination,e=momentumY.destination,f=Math.max(momentumX.duration,momentumY.duration),this.isInTransition=!0),d!=this.x||e!=this.y?((d>0||d0||e0&&this.y<=this.maxScrollY)&&a.trigger(this.scroller,"scrollbottom",this)},_resize:function(){var a=this;clearTimeout(a.resizeTimeout),a.resizeTimeout=setTimeout(function(){a.refresh()},a.options.resizePolling)},_transitionTime:function(b){if(b=b||0,this.scrollerStyle.webkitTransitionDuration=b+"ms",this.parallaxElement&&this.options.scrollY&&(this.parallaxStyle.webkitTransitionDuration=b+"ms"),this.options.fixedBadAndorid&&!b&&a.os.isBadAndroid&&(this.scrollerStyle.webkitTransitionDuration="0.001s",this.parallaxElement&&this.options.scrollY&&(this.parallaxStyle.webkitTransitionDuration="0.001s")),this.indicators)for(var c=this.indicators.length;c--;)this.indicators[c].transitionTime(b);b&&(this.transitionTimer&&this.transitionTimer.cancel(),this.transitionTimer=a.later(function(){a.trigger(this.scroller,"webkitTransitionEnd")},b+100,this))},_transitionTimingFunction:function(a){if(this.scrollerStyle.webkitTransitionTimingFunction=a,this.parallaxElement&&this.options.scrollY&&(this.parallaxStyle.webkitTransitionDuration=a),this.indicators)for(var b=this.indicators.length;b--;)this.indicators[b].transitionTimingFunction(a)},_translate:function(a,b){this.x=a,this.y=b},_clearRequestAnimationFrame:function(){this.requestAnimationFrame&&(cancelAnimationFrame(this.requestAnimationFrame),this.requestAnimationFrame=null)},_updateTranslate:function(){var a=this;(a.x!==a.lastX||a.y!==a.lastY)&&a.setTranslate(a.x,a.y),a.requestAnimationFrame=requestAnimationFrame(function(){a._updateTranslate()})},_createScrollBar:function(a){var b=c.createElement("div"),d=c.createElement("div");return b.className=f+" "+a,d.className=g,b.appendChild(d),a===h?(this.scrollbarY=b,this.scrollbarIndicatorY=d):a===i&&(this.scrollbarX=b,this.scrollbarIndicatorX=d),this.wrapper.appendChild(b),b},_preventDefaultException:function(a,b){for(var c in b)if(b[c].test(a[c]))return!0;return!1},_reLayout:function(){if(this.hasHorizontalScroll||(this.maxScrollX=0,this.scrollerWidth=this.wrapperWidth),this.hasVerticalScroll||(this.maxScrollY=0,this.scrollerHeight=this.wrapperHeight),this.indicators.map(function(a){a.refresh()}),this.options.snap&&"string"==typeof this.options.snap){var a=this.scroller.querySelectorAll(this.options.snap);this.itemLength=0,this.snaps=[];for(var b=0,c=a.length;c>b;b++){var d=a[b];d.parentNode===this.scroller&&(this.itemLength++,this.snaps.push(d))}this._initSnap()}},_momentum:function(a,b,c,e,f,g){var h,i,j=parseFloat(Math.abs(b)/c);return g=g===d?6e-4:g,h=a+j*j/(2*g)*(0>b?-1:1),i=j/g,e>h?(h=f?e-f/2.5*(j/8):e,b=Math.abs(h-a),i=b/j):h>0&&(h=f?f/2.5*(j/8):0,b=Math.abs(a)+h,i=b/j),{destination:Math.round(h),duration:i}},_getTranslateStr:function(a,b){return this.options.hardwareAccelerated?"translate3d("+a+"px,"+b+"px,0px) "+this.translateZ:"translate("+a+"px,"+b+"px) "},setStopped:function(a){a?(this.disablePullupToRefresh(),this.disablePulldownToRefresh()):(this.enablePullupToRefresh(),this.enablePulldownToRefresh())},setTranslate:function(b,c){if(this.x=b,this.y=c,this.scrollerStyle.webkitTransform=this._getTranslateStr(b,c),this.parallaxElement&&this.options.scrollY){var d=c*this.options.parallaxRatio,e=1+d/((this.parallaxHeight-d)/2);e>1?(this.parallaxImgStyle.opacity=1-d/100*this.options.parallaxRatio,this.parallaxStyle.webkitTransform=this._getTranslateStr(0,-d)+" scale("+e+","+e+")"):(this.parallaxImgStyle.opacity=1,this.parallaxStyle.webkitTransform=this._getTranslateStr(0,-1)+" scale(1,1)")}if(this.indicators)for(var f=this.indicators.length;f--;)this.indicators[f].updatePosition();this.lastX=this.x,this.lastY=this.y,a.trigger(this.scroller,"scroll",this)},reLayout:function(){this.wrapper.offsetHeight;var b=parseFloat(a.getStyles(this.wrapper,"padding-left"))||0,c=parseFloat(a.getStyles(this.wrapper,"padding-right"))||0,d=parseFloat(a.getStyles(this.wrapper,"padding-top"))||0,e=parseFloat(a.getStyles(this.wrapper,"padding-bottom"))||0,f=this.wrapper.clientWidth,g=this.wrapper.clientHeight;this.scrollerWidth=this.scroller.offsetWidth,this.scrollerHeight=this.scroller.offsetHeight,this.wrapperWidth=f-b-c,this.wrapperHeight=g-d-e,this.maxScrollX=Math.min(this.wrapperWidth-this.scrollerWidth,0),this.maxScrollY=Math.min(this.wrapperHeight-this.scrollerHeight,0),this.hasHorizontalScroll=this.options.scrollX&&this.maxScrollX<0,this.hasVerticalScroll=this.options.scrollY&&this.maxScrollY<0,this._reLayout()},resetPosition:function(a){var b=this.x,c=this.y;return a=a||0,!this.hasHorizontalScroll||this.x>0?b=0:this.x0?c=0:this.yb;b++)if(a[b].parentNode===this.wrapper){this.scroller=a[b];break}this.scrollerStyle=this.scroller&&this.scroller.style},refresh:function(){this._reInit(),this.reLayout(),a.trigger(this.scroller,"refresh",this),this.resetPosition()},scrollTo:function(a,b,c,d){var d=d||k.circular;this.isInTransition=c>0,this.isInTransition?(this._clearRequestAnimationFrame(),this._transitionTimingFunction(d.style),this._transitionTime(c),this.setTranslate(a,b)):this.setTranslate(a,b)},scrollToBottom:function(a,b){a=a||this.options.scrollTime,this.scrollTo(0,this.maxScrollY,a,b)},gotoPage:function(a){this._gotoPage(a)},destroy:function(){this._initEvent(!0),delete a.data[this.wrapper.getAttribute("data-scroll")],this.wrapper.setAttribute("data-scroll","")}}),m=function(b,d){this.wrapper="string"==typeof d.el?c.querySelector(d.el):d.el,this.wrapperStyle=this.wrapper.style,this.indicator=this.wrapper.children[0],this.indicatorStyle=this.indicator.style,this.scroller=b,this.options=a.extend({listenX:!0,listenY:!0,fade:!1,speedRatioX:0,speedRatioY:0},d),this.sizeRatioX=1,this.sizeRatioY=1,this.maxPosX=0,this.maxPosY=0,this.options.fade&&(this.wrapperStyle.webkitTransform=this.scroller.translateZ,this.wrapperStyle.webkitTransitionDuration=this.options.fixedBadAndorid&&a.os.isBadAndroid?"0.001s":"0ms",this.wrapperStyle.opacity="0")};m.prototype={handleEvent:function(a){},transitionTime:function(b){b=b||0,this.indicatorStyle.webkitTransitionDuration=b+"ms",this.scroller.options.fixedBadAndorid&&!b&&a.os.isBadAndroid&&(this.indicatorStyle.webkitTransitionDuration="0.001s")},transitionTimingFunction:function(a){this.indicatorStyle.webkitTransitionTimingFunction=a},refresh:function(){this.transitionTime(),this.options.listenX&&!this.options.listenY?this.indicatorStyle.display=this.scroller.hasHorizontalScroll?"block":"none":this.options.listenY&&!this.options.listenX?this.indicatorStyle.display=this.scroller.hasVerticalScroll?"block":"none":this.indicatorStyle.display=this.scroller.hasHorizontalScroll||this.scroller.hasVerticalScroll?"block":"none",this.wrapper.offsetHeight,this.options.listenX&&(this.wrapperWidth=this.wrapper.clientWidth,this.indicatorWidth=Math.max(Math.round(this.wrapperWidth*this.wrapperWidth/(this.scroller.scrollerWidth||this.wrapperWidth||1)),8),this.indicatorStyle.width=this.indicatorWidth+"px",this.maxPosX=this.wrapperWidth-this.indicatorWidth,this.minBoundaryX=0,this.maxBoundaryX=this.maxPosX,this.sizeRatioX=this.options.speedRatioX||this.scroller.maxScrollX&&this.maxPosX/this.scroller.maxScrollX),this.options.listenY&&(this.wrapperHeight=this.wrapper.clientHeight,this.indicatorHeight=Math.max(Math.round(this.wrapperHeight*this.wrapperHeight/(this.scroller.scrollerHeight||this.wrapperHeight||1)),8),this.indicatorStyle.height=this.indicatorHeight+"px",this.maxPosY=this.wrapperHeight-this.indicatorHeight,this.minBoundaryY=0,this.maxBoundaryY=this.maxPosY,this.sizeRatioY=this.options.speedRatioY||this.scroller.maxScrollY&&this.maxPosY/this.scroller.maxScrollY),this.updatePosition()},updatePosition:function(){var a=this.options.listenX&&Math.round(this.sizeRatioX*this.scroller.x)||0,b=this.options.listenY&&Math.round(this.sizeRatioY*this.scroller.y)||0;athis.maxBoundaryX?(this.width=Math.max(this.indicatorWidth-(a-this.maxPosX),8),this.indicatorStyle.width=this.width+"px",a=this.maxPosX+this.indicatorWidth-this.width):this.width!=this.indicatorWidth&&(this.width=this.indicatorWidth,this.indicatorStyle.width=this.width+"px"),bthis.maxBoundaryY?(this.height=Math.max(this.indicatorHeight-3*(b-this.maxPosY),8),this.indicatorStyle.height=this.height+"px",b=this.maxPosY+this.indicatorHeight-this.height):this.height!=this.indicatorHeight&&(this.height=this.indicatorHeight,this.indicatorStyle.height=this.height+"px"),this.x=a,this.y=b,this.indicatorStyle.webkitTransform=this.scroller._getTranslateStr(a,b)},fade:function(a,b){if(!b||this.visible){clearTimeout(this.fadeTimeout),this.fadeTimeout=null;var c=a?250:500,d=a?0:300;a=a?"1":"0",this.wrapperStyle.webkitTransitionDuration=c+"ms",this.fadeTimeout=setTimeout(function(a){this.wrapperStyle.opacity=a,this.visible=+a}.bind(this,a),d)}}},a.Scroll=l,a.fn.scroll=function(b){var c=[];return this.each(function(){var d=null,e=this,f=e.getAttribute("data-scroll");if(f)d=a.data[f];else{f=++a.uuid;var g=a.extend({},b);e.classList.contains("mui-segmented-control")&&(g=a.extend(g,{scrollY:!1,scrollX:!0,indicators:!1,snap:".mui-control-item"})),a.data[f]=d=new l(e,g),e.setAttribute("data-scroll",f)}c.push(d)}),1===c.length?c[0]:c}}(mui,window,document),function(a,b,c,d){var e="mui-visibility",f="mui-hidden",g=a.Scroll.extend(a.extend({handleEvent:function(a){this._super(a),"scrollbottom"===a.type&&a.target===this.scroller&&this._scrollbottom()},_scrollbottom:function(){this.pulldown||this.loading||(this.pulldown=!1,this._initPullupRefresh(),this.pullupLoading())},_start:function(a){a.touches&&a.touches.length&&a.touches[0].clientX>30&&a.target&&!this._preventDefaultException(a.target,this.options.preventDefaultException)&&a.preventDefault(),this.loading||(this.pulldown=this.pullPocket=this.pullCaption=this.pullLoading=!1),this._super(a)},_drag:function(a){this.y>=0&&this.disablePulldown&&"down"===a.detail.direction||(this._super(a),!this.pulldown&&!this.loading&&this.topPocket&&"down"===a.detail.direction&&this.y>=0&&this._initPulldownRefresh(),this.pulldown&&this._setCaption(this.y>this.options.down.height?this.options.down.contentover:this.options.down.contentdown))},_reLayout:function(){this.hasVerticalScroll=!0,this._super()},resetPosition:function(a){if(this.pulldown&&!this.disablePulldown){if(this.y>=this.options.down.height)return this.pulldownLoading(d,a||0),!0;!this.loading&&this.topPocket.classList.remove(e)}return this._super(a)},pulldownLoading:function(a,b){if("undefined"==typeof a&&(a=this.options.down.height),this.scrollTo(0,a,b,this.options.bounceEasing),!this.loading){this._initPulldownRefresh(),this._setCaption(this.options.down.contentrefresh),this.loading=!0,this.indicators.map(function(a){a.fade(0)});var c=this.options.down.callback;c&&c.call(this)}},endPulldownToRefresh:function(){var a=this;a.topPocket&&a.loading&&this.pulldown&&(a.scrollTo(0,0,a.options.bounceTime,a.options.bounceEasing),a.loading=!1,a._setCaption(a.options.down.contentdown,!0),setTimeout(function(){a.loading||a.topPocket.classList.remove(e)},350))},pullupLoading:function(a,b,c){b=b||0,this.scrollTo(b,this.maxScrollY,c,this.options.bounceEasing),this.loading||(this._initPullupRefresh(),this._setCaption(this.options.up.contentrefresh),this.indicators.map(function(a){a.fade(0)}),this.loading=!0,a=a||this.options.up.callback,a&&a.call(this))},endPullupToRefresh:function(a){var b=this;b.bottomPocket&&(b.loading=!1,a?(this.finished=!0,b._setCaption(b.options.up.contentnomore),b.wrapper.removeEventListener("scrollbottom",b)):(b._setCaption(b.options.up.contentdown),b.loading||b.bottomPocket.classList.remove(e)))},disablePullupToRefresh:function(){this._initPullupRefresh(),this.bottomPocket.className="mui-pull-bottom-pocket "+f,this.wrapper.removeEventListener("scrollbottom",this)},disablePulldownToRefresh:function(){this._initPulldownRefresh(),this.topPocket.className="mui-pull-top-pocket "+f,this.disablePulldown=!0},enablePulldownToRefresh:function(){this._initPulldownRefresh(),this.topPocket.classList.remove(f),this._setCaption(this.options.down.contentdown),this.disablePulldown=!1},enablePullupToRefresh:function(){this._initPullupRefresh(),this.bottomPocket.classList.remove(f), +this._setCaption(this.options.up.contentdown),this.wrapper.addEventListener("scrollbottom",this)},refresh:function(a){a&&this.finished&&(this.enablePullupToRefresh(),this.finished=!1),this._super()}},a.PullRefresh));a.fn.pullRefresh=function(b){if(1===this.length){var c=this[0],d=null,e=c.getAttribute("data-pullrefresh");return e||"undefined"!=typeof b?(b=b||{},e?d=a.data[e]:(e=++a.uuid,a.data[e]=d=new g(c,b),c.setAttribute("data-pullrefresh",e)),b.down&&b.down.auto?d.pulldownLoading(b.down.autoY):b.up&&b.up.auto&&d.pullupLoading(),d):!1}}}(mui,window,document),function(a,b){var c="mui-slider",d="mui-slider-group",e="mui-slider-loop",f="mui-action-previous",g="mui-action-next",h="mui-slider-item",i="mui-active",j="."+h,k=".mui-slider-progress-bar",l=a.Slider=a.Scroll.extend({init:function(b,c){this._super(b,a.extend(!0,{fingers:1,interval:0,scrollY:!1,scrollX:!0,indicators:!1,scrollTime:1e3,startX:!1,slideTime:0,snap:j},c)),this.options.startX},_init:function(){this._reInit(),this.scroller&&(this.scrollerStyle=this.scroller.style,this.progressBar=this.wrapper.querySelector(k),this.progressBar&&(this.progressBarWidth=this.progressBar.offsetWidth,this.progressBarStyle=this.progressBar.style),this._super(),this._initTimer())},_triggerSlide:function(){var b=this;b.isInTransition=!1;b.currentPage;b.slideNumber=b._fixedSlideNumber(),b.loop&&(0===b.slideNumber?b.setTranslate(b.pages[1][0].x,0):b.slideNumber===b.itemLength-3&&b.setTranslate(b.pages[b.itemLength-2][0].x,0)),b.lastSlideNumber!=b.slideNumber&&(b.lastSlideNumber=b.slideNumber,b.lastPage=b.currentPage,a.trigger(b.wrapper,"slide",{slideNumber:b.slideNumber})),b._initTimer()},_handleSlide:function(b){var c=this;if(b.target===c.wrapper){var d=b.detail;d.slideNumber=d.slideNumber||0;for(var e=c.scroller.querySelectorAll(j),f=[],g=0,h=e.length;h>g;g++){var k=e[g];k.parentNode===c.scroller&&f.push(k)}var l=d.slideNumber;if(c.loop&&(l+=1),!c.wrapper.classList.contains("mui-segmented-control"))for(var g=0,h=f.length;h>g;g++){var k=f[g];k.parentNode===c.scroller&&(g===l?k.classList.add(i):k.classList.remove(i))}var m=c.wrapper.querySelector(".mui-slider-indicator");if(m){m.getAttribute("data-scroll")&&a(m).scroll().gotoPage(d.slideNumber);var n=m.querySelectorAll(".mui-indicator");if(n.length>0)for(var g=0,h=n.length;h>g;g++)n[g].classList[g===d.slideNumber?"add":"remove"](i);else{var o=m.querySelector(".mui-number span");if(o)o.innerText=d.slideNumber+1;else for(var p=m.querySelectorAll(".mui-control-item"),g=0,h=p.length;h>g;g++)p[g].classList[g===d.slideNumber?"add":"remove"](i)}}b.stopPropagation()}},_handleTabShow:function(a){var b=this;b.gotoItem(a.detail.tabNumber||0,b.options.slideTime)},_handleIndicatorTap:function(a){var b=this,c=a.target;(c.classList.contains(f)||c.classList.contains(g))&&(b[c.classList.contains(f)?"prevItem":"nextItem"](),a.stopPropagation())},_initEvent:function(b){var c=this;c._super(b);var d=b?"removeEventListener":"addEventListener";c.wrapper[d]("slide",this),c.wrapper[d](a.eventName("shown","tab"),this)},handleEvent:function(b){switch(this._super(b),b.type){case"slide":this._handleSlide(b);break;case a.eventName("shown","tab"):~this.snaps.indexOf(b.target)&&this._handleTabShow(b)}},_scrollend:function(a){this._super(a),this._triggerSlide(a)},_drag:function(a){this._super(a);var c=a.detail.direction;if("left"===c||"right"===c){var d=this.wrapper.getAttribute("data-slidershowTimer");d&&b.clearTimeout(d),a.stopPropagation()}},_initTimer:function(){var a=this,c=a.wrapper,d=a.options.interval,e=c.getAttribute("data-slidershowTimer");e&&b.clearTimeout(e),d&&(e=b.setTimeout(function(){c&&((c.offsetWidth||c.offsetHeight)&&a.nextItem(!0),a._initTimer())},d),c.setAttribute("data-slidershowTimer",e))},_fixedSlideNumber:function(a){a=a||this.currentPage;var b=a.pageX;return this.loop&&(b=0===a.pageX?this.itemLength-3:a.pageX===this.itemLength-1?0:a.pageX-1),b},_reLayout:function(){this.hasHorizontalScroll=!0,this.loop=this.scroller.classList.contains(e),this._super()},_getScroll:function(){var b=a.parseTranslateMatrix(a.getStyles(this.scroller,"webkitTransform"));return b?b.x:0},_transitionEnd:function(b){b.target===this.scroller&&this.isInTransition&&(this._transitionTime(),this.isInTransition=!1,a.trigger(this.wrapper,"scrollend",this))},_flick:function(a){if(this.moved){var b=a.detail,c=b.direction;this._clearRequestAnimationFrame(),this.isInTransition=!0,"flick"===a.type?(b.deltaTime<200&&(this.x=this._getPage(this.slideNumber+("right"===c?-1:1),!0).x),this.resetPosition(this.options.bounceTime)):"dragend"!==a.type||b.flick||this.resetPosition(this.options.bounceTime),a.stopPropagation()}},_initSnap:function(){if(this.scrollerWidth=this.itemLength*this.scrollerWidth,this.maxScrollX=Math.min(this.wrapperWidth-this.scrollerWidth,0),this._super(),this.currentPage.x)this.slideNumber=this._fixedSlideNumber(),this.lastSlideNumber="undefined"==typeof this.lastSlideNumber?this.slideNumber:this.lastSlideNumber;else{var a=this.pages[this.loop?1:0];if(a=a||this.pages[0],!a)return;this.currentPage=a[0],this.slideNumber=0,this.lastSlideNumber="undefined"==typeof this.lastSlideNumber?0:this.lastSlideNumber}this.options.startX=this.currentPage.x||0},_getSnapX:function(a){return Math.max(-a,this.maxScrollX)},_getPage:function(a,b){return this.loop?a>this.itemLength-(b?2:3)?(a=1,time=0):(b?-1:0)>a?(a=this.itemLength-2,time=0):a+=1:(b||(a>this.itemLength-1?(a=0,time=0):0>a&&(a=this.itemLength-1,time=0)),a=Math.min(Math.max(0,a),this.itemLength-1)),this.pages[a][0]},_gotoItem:function(b,c){this.currentPage=this._getPage(b,!0),this.scrollTo(this.currentPage.x,0,c,this.options.scrollEasing),0===c&&a.trigger(this.wrapper,"scrollend",this)},setTranslate:function(a,b){this._super(a,b);var c=this.progressBar;c&&(this.progressBarStyle.webkitTransform=this._getTranslateStr(-a*(this.progressBarWidth/this.wrapperWidth),0))},resetPosition:function(a){return a=a||0,this.x>0?this.x=0:this.xb;b++)if(a[b].parentNode===this.wrapper){this.scroller=a[b];break}this.scrollerStyle=this.scroller&&this.scroller.style,this.progressBar&&(this.progressBarWidth=this.progressBar.offsetWidth,this.progressBarStyle=this.progressBar.style)},refresh:function(b){b?(a.extend(this.options,b),this._super(),this._initTimer()):this._super()},destroy:function(){this._initEvent(!0),delete a.data[this.wrapper.getAttribute("data-slider")],this.wrapper.setAttribute("data-slider","")}});a.fn.slider=function(b){var d=null;return this.each(function(){var e=this;if(this.classList.contains(c)||(e=this.querySelector("."+c)),e&&e.querySelector(j)){var f=e.getAttribute("data-slider");f?(d=a.data[f],d&&b&&d.refresh(b)):(f=++a.uuid,a.data[f]=d=new l(e,b),e.setAttribute("data-slider",f))}}),d},a.ready(function(){a(".mui-slider").slider(),a(".mui-scroll-wrapper.mui-slider-indicator.mui-segmented-control").scroll({scrollY:!1,scrollX:!0,indicators:!1,snap:".mui-control-item"})})}(mui,window),function(a,b){a.os.plus&&a.plusReady(function(){if(window.__NWin_Enable__!==!1){var c="mui-plus-pullrefresh",d="mui-visibility",e="mui-hidden",f="mui-block",g="mui-pull-caption",h="mui-pull-caption-down",i="mui-pull-caption-refresh",j="mui-pull-caption-nomore",k=a.Class.extend({init:function(a,b){this.element=a,this.options=b,this.wrapper=this.scroller=a,this._init(),this._initPulldownRefreshEvent()},_init:function(){var a=this;window.addEventListener("dragup",a),b.addEventListener("plusscrollbottom",a),a.scrollInterval=window.setInterval(function(){a.isScroll&&!a.loading&&window.pageYOffset+window.innerHeight+10>=b.documentElement.scrollHeight&&(a.isScroll=!1,a.bottomPocket&&a.pullupLoading())},100)},_initPulldownRefreshEvent:function(){var b=this;a.plusReady(function(){if("circle"==b.options.down.style)b.options.webview=plus.webview.currentWebview(),b.options.webview.setPullToRefresh({support:!0,color:b.options.down.color||"#2BD009",height:b.options.down.height||"50px",range:b.options.down.range||"100px",style:"circle",offset:b.options.down.offset||"0px"},function(){b.options.down.callback()});else if(b.topPocket&&b.options.webviewId){var a=plus.webview.getWebviewById(b.options.webviewId);if(!a)return;b.options.webview=a;var c=b.options.down,d=c.height;a.addEventListener("close",function(){var a=b.options.webviewId&&b.options.webviewId.replace(/\//g,"_");b.element.removeAttribute("data-pullrefresh-plus-"+a)}),a.addEventListener("dragBounce",function(d){switch(b.pulldown?b.pullPocket.classList.add(f):b._initPulldownRefresh(),d.status){case"beforeChangeOffset":b._setCaption(c.contentdown);break;case"afterChangeOffset":b._setCaption(c.contentover);break;case"dragEndAfterChangeOffset":a.evalJS("window.mui&&mui.options.pullRefresh.down.callback()"),b._setCaption(c.contentrefresh)}},!1),a.setBounce({position:{top:2*d+"px"},changeoffset:{top:d+"px"}})}})},handleEvent:function(a){var b=this;b.stopped||(b.isScroll=!1,("dragup"===a.type||"plusscrollbottom"===a.type)&&(b.isScroll=!0,setTimeout(function(){b.isScroll=!1},1e3)))}}).extend(a.extend({setStopped:function(a){this.stopped=!!a,this.stopped?(this.disablePullupToRefresh(),this.disablePulldownToRefresh()):(this.enablePullupToRefresh(),this.enablePulldownToRefresh())},beginPulldown:function(){var b=this;a.plusReady(function(){setTimeout(function(){if("circle"==b.options.down.style)plus.webview.currentWebview().beginPullToRefresh();else{var a=b.options.webview;a&&a.setBounce({offset:{top:b.options.down.height+"px"}})}},15)}.bind(this))},pulldownLoading:function(){this.beginPulldown()},_pulldownLoading:function(){var b=this;a.plusReady(function(){var a=plus.webview.getWebviewById(b.options.webviewId);a&&a.setBounce({offset:{top:b.options.down.height+"px"}})})},endPulldown:function(){var a=plus.webview.currentWebview();a.parent()&&"circle"!==this.options.down.style?a.parent().evalJS("mui&&mui(document.querySelector('.mui-content')).pullRefresh('"+JSON.stringify({webviewId:a.id})+"')._endPulldownToRefresh()"):a.endPullToRefresh()},endPulldownToRefresh:function(){this.endPulldown()},_endPulldownToRefresh:function(){var a=this;a.topPocket&&a.options.webview&&(a.options.webview.endPullToRefresh(),a.loading=!1,a._setCaption(a.options.down.contentdown,!0),setTimeout(function(){a.loading||a.topPocket.classList.remove(f)},350))},beginPullup:function(a){var b=this;b.isLoading||(b.isLoading=!0,b.pulldown!==!1?b._initPullupRefresh():this.pullPocket.classList.add(f),setTimeout(function(){b.pullLoading.classList.add(d),b.pullLoading.classList.remove(e),b.pullCaption.innerHTML="",b.pullCaption.className=g+" "+i,b.pullCaption.innerHTML=b.options.up.contentrefresh,a=a||b.options.up.callback,a&&a.call(b)},300))},pullupLoading:function(a){this.beginPullup(a)},endPullup:function(a){var c=this;c.pullLoading&&(c.pullLoading.classList.remove(d),c.pullLoading.classList.add(e),c.isLoading=!1,a?(c.finished=!0,c.pullCaption.className=g+" "+j,c.pullCaption.innerHTML=c.options.up.contentnomore,b.removeEventListener("plusscrollbottom",c),window.removeEventListener("dragup",c)):(c.pullCaption.className=g+" "+h,c.pullCaption.innerHTML=c.options.up.contentdown))},endPullupToRefresh:function(a){this.endPullup(a)},disablePulldownToRefresh:function(){var a=plus.webview.currentWebview();this.options.down.style&&"circle"==this.options.down.style?this.options.webview.setPullToRefresh({support:!1,style:"circle"}):(a.setStyle({bounce:"none"}),a.setBounce({position:{top:"none"}}))},enablePulldownToRefresh:function(){var a=this,b=plus.webview.currentWebview(),c=this.options.down.height;this.options.down.style&&"circle"==this.options.down.style?b.setPullToRefresh({support:!0,height:c||"50px",range:a.options.down.range||"100px",style:"circle",offset:a.options.down.offset||"0px"}):(b.setStyle({bounce:"vertical"}),b.setBounce({position:{top:2*c+"px"},changeoffset:{top:c+"px"}}))},disablePullupToRefresh:function(){this._initPullupRefresh(),this.bottomPocket.className="mui-pull-bottom-pocket "+e,window.removeEventListener("dragup",this)},enablePullupToRefresh:function(){this._initPullupRefresh(),this.bottomPocket.classList.remove(e),this.pullCaption.className=g+" "+h,this.pullCaption.innerHTML=this.options.up.contentdown,b.addEventListener("plusscrollbottom",this),window.addEventListener("dragup",this)},scrollTo:function(b,c,d){a.scrollTo(c,d)},scrollToBottom:function(c){a.scrollTo(b.documentElement.scrollHeight,c)},refresh:function(a){a&&this.finished&&(this.enablePullupToRefresh(),this.finished=!1)}},a.PullRefresh));a.fn.pullRefresh_native=function(d){var e;0===this.length?(e=b.createElement("div"),e.className="mui-content",b.body.appendChild(e)):e=this[0];var f=d;d=d||{},"string"==typeof d&&(d=a.parseJSON(d)),!d.webviewId&&(d.webviewId=plus.webview.currentWebview().id||plus.webview.currentWebview().getURL());var g=null,h=d.webviewId&&d.webviewId.replace(/\//g,"_"),i=e.getAttribute("data-pullrefresh-plus-"+h);return i||"undefined"!=typeof f?(i?g=a.data[i]:(i=++a.uuid,e.setAttribute("data-pullrefresh-plus-"+h,i),b.body.classList.add(c),a.data[i]=g=new k(e,d)),d.down&&d.down.auto?g.beginPulldown():d.up&&d.up.auto&&g.beginPullup(),g):!1}}})}(mui,document),function(a,b,c,d){var e="mui-off-canvas-left",f="mui-off-canvas-right",g="mui-off-canvas-backdrop",h="mui-off-canvas-wrap",i="mui-slide-in",j="mui-active",k="mui-transitioning",l=".mui-inner-wrap",m=a.Class.extend({init:function(b,d){this.wrapper=this.element=b,this.scroller=this.wrapper.querySelector(l),this.classList=this.wrapper.classList,this.scroller&&(this.options=a.extend(!0,{dragThresholdX:10,scale:.8,opacity:.1,preventDefaultException:{tagName:/^(INPUT|TEXTAREA|BUTTON|SELECT|VIDEO)$/}},d),c.body.classList.add("mui-fullscreen"),this.refresh(),this.initEvent())},_preventDefaultException:function(a,b){for(var c in b)if(b[c].test(a[c]))return!0;return!1},refresh:function(a){this.slideIn=this.classList.contains(i),this.scalable=this.classList.contains("mui-scalable")&&!this.slideIn,this.scroller=this.wrapper.querySelector(l),this.offCanvasLefts=this.wrapper.querySelectorAll("."+e),this.offCanvasRights=this.wrapper.querySelectorAll("."+f),a?a.classList.contains(e)?this.offCanvasLeft=a:a.classList.contains(f)&&(this.offCanvasRight=a):(this.offCanvasRight=this.wrapper.querySelector("."+f),this.offCanvasLeft=this.wrapper.querySelector("."+e)),this.offCanvasRightWidth=this.offCanvasLeftWidth=0,this.offCanvasLeftSlideIn=this.offCanvasRightSlideIn=!1,this.offCanvasRight&&(this.offCanvasRightWidth=this.offCanvasRight.offsetWidth,this.offCanvasRightSlideIn=this.slideIn&&this.offCanvasRight.parentNode===this.wrapper),this.offCanvasLeft&&(this.offCanvasLeftWidth=this.offCanvasLeft.offsetWidth,this.offCanvasLeftSlideIn=this.slideIn&&this.offCanvasLeft.parentNode===this.wrapper),this.backdrop=this.scroller.querySelector("."+g),this.options.dragThresholdX=this.options.dragThresholdX||10,this.visible=!1,this.startX=null,this.lastX=null,this.offsetX=null,this.lastTranslateX=null},handleEvent:function(b){switch(b.type){case a.EVENT_START:b.target&&!this._preventDefaultException(b.target,this.options.preventDefaultException)&&b.preventDefault();break;case"webkitTransitionEnd":b.target===this.scroller&&this._dispatchEvent();break;case"drag":var c=b.detail;this.startX?this.lastX=c.center.x:(this.startX=c.center.x,this.lastX=this.startX),!this.isDragging&&Math.abs(this.lastX-this.startX)>this.options.dragThresholdX&&("left"===c.direction||"right"===c.direction)&&(this.slideIn?(this.scroller=this.wrapper.querySelector(l),this.classList.contains(j)?this.offCanvasRight&&this.offCanvasRight.classList.contains(j)?(this.offCanvas=this.offCanvasRight,this.offCanvasWidth=this.offCanvasRightWidth):(this.offCanvas=this.offCanvasLeft,this.offCanvasWidth=this.offCanvasLeftWidth):"left"===c.direction&&this.offCanvasRight?(this.offCanvas=this.offCanvasRight,this.offCanvasWidth=this.offCanvasRightWidth):"right"===c.direction&&this.offCanvasLeft?(this.offCanvas=this.offCanvasLeft,this.offCanvasWidth=this.offCanvasLeftWidth):this.scroller=null):this.classList.contains(j)?"left"===c.direction?(this.offCanvas=this.offCanvasLeft,this.offCanvasWidth=this.offCanvasLeftWidth):(this.offCanvas=this.offCanvasRight,this.offCanvasWidth=this.offCanvasRightWidth):"right"===c.direction?(this.offCanvas=this.offCanvasLeft,this.offCanvasWidth=this.offCanvasLeftWidth):(this.offCanvas=this.offCanvasRight,this.offCanvasWidth=this.offCanvasRightWidth),this.offCanvas&&this.scroller&&(this.startX=this.lastX,this.isDragging=!0,a.gestures.session.lockDirection=!0,a.gestures.session.startDirection=c.direction,this.offCanvas.classList.remove(k),this.scroller.classList.remove(k),this.offsetX=this.getTranslateX(),this._initOffCanvasVisible())),this.isDragging&&(this.updateTranslate(this.offsetX+(this.lastX-this.startX)),c.gesture.preventDefault(),b.stopPropagation());break;case"dragend":if(this.isDragging){var c=b.detail,d=c.direction;this.isDragging=!1,this.offCanvas.classList.add(k),this.scroller.classList.add(k);var e=0,f=this.getTranslateX();if(this.slideIn){if(e=f>=0?this.offCanvasRightWidth&&f/this.offCanvasRightWidth||0:this.offCanvasLeftWidth&&f/this.offCanvasLeftWidth||0,"right"===d&&0>=e&&(e>=-.5||c.swipe)?this.openPercentage(100):"right"===d&&e>0&&(e>=.5||c.swipe)?this.openPercentage(0):"right"===d&&-.5>=e?this.openPercentage(0):"right"===d&&e>0&&.5>=e?this.openPercentage(-100):"left"===d&&e>=0&&(.5>=e||c.swipe)?this.openPercentage(-100):"left"===d&&0>e&&(-.5>=e||c.swipe)?this.openPercentage(0):"left"===d&&e>=.5?this.openPercentage(0):"left"===d&&e>=-.5&&0>e?this.openPercentage(100):this.openPercentage(0),1===e||-1===e||0===e)return void this._dispatchEvent()}else{if(e=f>=0?this.offCanvasLeftWidth&&f/this.offCanvasLeftWidth||0:this.offCanvasRightWidth&&f/this.offCanvasRightWidth||0,0===e)return this.openPercentage(0),void this._dispatchEvent();"right"===d&&e>=0&&(e>=.5||c.swipe)?this.openPercentage(100):"right"===d&&0>e&&(e>-.5||c.swipe)?this.openPercentage(0):"right"===d&&e>0&&.5>e?this.openPercentage(0):"right"===d&&.5>e?this.openPercentage(-100):"left"===d&&0>=e&&(-.5>=e||c.swipe)?this.openPercentage(-100):"left"===d&&e>0&&(.5>=e||c.swipe)?this.openPercentage(0):"left"===d&&0>e&&e>=-.5?this.openPercentage(0):"left"===d&&e>.5?this.openPercentage(100):this.openPercentage(0),(1===e||-1===e)&&this._dispatchEvent()}}}},_dispatchEvent:function(){this.classList.contains(j)?a.trigger(this.wrapper,"shown",this):a.trigger(this.wrapper,"hidden",this)},_initOffCanvasVisible:function(){this.visible||(this.visible=!0,this.offCanvasLeft&&(this.offCanvasLeft.style.visibility="visible"),this.offCanvasRight&&(this.offCanvasRight.style.visibility="visible"))},initEvent:function(){var b=this;b.backdrop&&b.backdrop.addEventListener("tap",function(a){b.close(),a.detail.gesture.preventDefault()}),this.classList.contains("mui-draggable")&&(this.wrapper.addEventListener(a.EVENT_START,this),this.wrapper.addEventListener("drag",this),this.wrapper.addEventListener("dragend",this)),this.wrapper.addEventListener("webkitTransitionEnd",this)},openPercentage:function(a){var b=a/100;this.slideIn?(this.offCanvasLeft&&a>=0?(b=0===b?-1:0,this.updateTranslate(this.offCanvasLeftWidth*b),this.offCanvasLeft.classList[0!==a?"add":"remove"](j)):this.offCanvasRight&&0>=a&&(b=0===b?1:0,this.updateTranslate(this.offCanvasRightWidth*b),this.offCanvasRight.classList[0!==a?"add":"remove"](j)),this.classList[0!==a?"add":"remove"](j)):(this.offCanvasLeft&&a>=0?(this.updateTranslate(this.offCanvasLeftWidth*b),this.offCanvasLeft.classList[0!==b?"add":"remove"](j)):this.offCanvasRight&&0>=a&&(this.updateTranslate(this.offCanvasRightWidth*b),this.offCanvasRight.classList[0!==b?"add":"remove"](j)),this.classList[0!==b?"add":"remove"](j))},updateTranslate:function(b){if(b!==this.lastTranslateX){if(this.slideIn){if(this.offCanvas.classList.contains(f)){if(0>b)return void this.setTranslateX(0);if(b>this.offCanvasRightWidth)return void this.setTranslateX(this.offCanvasRightWidth)}else{if(b>0)return void this.setTranslateX(0);if(b<-this.offCanvasLeftWidth)return void this.setTranslateX(-this.offCanvasLeftWidth)}this.setTranslateX(b)}else{if(!this.offCanvasLeft&&b>0||!this.offCanvasRight&&0>b)return void this.setTranslateX(0);if(this.leftShowing&&b>this.offCanvasLeftWidth)return void this.setTranslateX(this.offCanvasLeftWidth);if(this.rightShowing&&b<-this.offCanvasRightWidth)return void this.setTranslateX(-this.offCanvasRightWidth);this.setTranslateX(b),b>=0?(this.leftShowing=!0,this.rightShowing=!1,b>0&&(this.offCanvasLeft&&a.each(this.offCanvasLefts,function(a,b){b===this.offCanvasLeft?this.offCanvasLeft.style.zIndex=0:b.style.zIndex=-1}.bind(this)),this.offCanvasRight&&(this.offCanvasRight.style.zIndex=-1))):(this.rightShowing=!0,this.leftShowing=!1,this.offCanvasRight&&a.each(this.offCanvasRights,function(a,b){b===this.offCanvasRight?b.style.zIndex=0:b.style.zIndex=-1}.bind(this)),this.offCanvasLeft&&(this.offCanvasLeft.style.zIndex=-1))}this.lastTranslateX=b}},setTranslateX:a.animationFrame(function(a){if(this.scroller)if(this.scalable&&this.offCanvas.parentNode===this.wrapper){var b=Math.abs(a)/this.offCanvasWidth,c=1-(1-this.options.scale)*b,d=this.options.scale+(1-this.options.scale)*b,f=(1-(1-this.options.opacity)*b,this.options.opacity+(1-this.options.opacity)*b);this.offCanvas.classList.contains(e)?(this.offCanvas.style.webkitTransformOrigin="-100%",this.scroller.style.webkitTransformOrigin="left"):(this.offCanvas.style.webkitTransformOrigin="200%",this.scroller.style.webkitTransformOrigin="right"),this.offCanvas.style.opacity=f,this.offCanvas.style.webkitTransform="translate3d(0,0,0) scale("+d+")",this.scroller.style.webkitTransform="translate3d("+a+"px,0,0) scale("+c+")"}else this.slideIn?this.offCanvas.style.webkitTransform="translate3d("+a+"px,0,0)":this.scroller.style.webkitTransform="translate3d("+a+"px,0,0)"}),getTranslateX:function(){if(this.offCanvas){var b=this.slideIn?this.offCanvas:this.scroller,c=a.parseTranslateMatrix(a.getStyles(b,"webkitTransform"));return c&&c.x||0}return 0},isShown:function(a){var b=!1;if(this.slideIn)b="left"===a?this.classList.contains(j)&&this.wrapper.querySelector("."+e+"."+j):"right"===a?this.classList.contains(j)&&this.wrapper.querySelector("."+f+"."+j):this.classList.contains(j)&&(this.wrapper.querySelector("."+e+"."+j)||this.wrapper.querySelector("."+f+"."+j));else{var c=this.getTranslateX();b="right"===a?this.classList.contains(j)&&0>c:"left"===a?this.classList.contains(j)&&c>0:this.classList.contains(j)&&0!==c}return b},close:function(){this._initOffCanvasVisible(),this.offCanvas=this.wrapper.querySelector("."+f+"."+j)||this.wrapper.querySelector("."+e+"."+j),this.offCanvasWidth=this.offCanvas.offsetWidth,this.scroller&&(this.offCanvas.offsetHeight,this.offCanvas.classList.add(k),this.scroller.classList.add(k),this.openPercentage(0))},show:function(a){return this._initOffCanvasVisible(),this.isShown(a)?!1:(a||(a=this.wrapper.querySelector("."+f)?"right":"left"),"right"===a?(this.offCanvas=this.offCanvasRight,this.offCanvasWidth=this.offCanvasRightWidth):(this.offCanvas=this.offCanvasLeft,this.offCanvasWidth=this.offCanvasLeftWidth),this.scroller&&(this.offCanvas.offsetHeight,this.offCanvas.classList.add(k),this.scroller.classList.add(k),this.openPercentage("left"===a?100:-100)),!0)},toggle:function(a){var b=a;a&&a.classList&&(b=a.classList.contains(e)?"left":"right",this.refresh(a)),this.show(b)||this.close()}}),n=function(a){if(parentNode=a.parentNode,parentNode){if(parentNode.classList.contains(h))return parentNode;if(parentNode=parentNode.parentNode,parentNode.classList.contains(h))return parentNode}},o=function(b,d){if("A"===d.tagName&&d.hash){var e=c.getElementById(d.hash.replace("#",""));if(e){var f=n(e);if(f)return a.targets._container=f,e}}return!1};a.registerTarget({name:d,index:60,handle:o,target:!1,isReset:!1,isContinue:!0}),b.addEventListener("tap",function(b){if(a.targets.offcanvas)for(var d=b.target;d&&d!==c;d=d.parentNode)if("A"===d.tagName&&d.hash&&d.hash==="#"+a.targets.offcanvas.id){b.detail&&b.detail.gesture&&b.detail.gesture.preventDefault(),a(a.targets._container).offCanvas().toggle(a.targets.offcanvas),a.targets.offcanvas=a.targets._container=null;break}}),a.fn.offCanvas=function(b){var c=[];return this.each(function(){var d=null,e=this;e.classList.contains(h)||(e=n(e));var f=e.getAttribute("data-offCanvas");f?d=a.data[f]:(f=++a.uuid,a.data[f]=d=new m(e,b),e.setAttribute("data-offCanvas",f)),("show"===b||"close"===b||"toggle"===b)&&d.toggle(),c.push(d)}),1===c.length?c[0]:c},a.ready(function(){a(".mui-off-canvas-wrap").offCanvas()})}(mui,window,document,"offcanvas"),function(a,b){var c="mui-action",d=function(a,b){var d=b.className||"";return"string"!=typeof d&&(d=""),d&&~d.indexOf(c)?(b.classList.contains("mui-action-back")&&a.preventDefault(),b):!1};a.registerTarget({name:b,index:50,handle:d,target:!1,isContinue:!0})}(mui,"action"),function(a,b,c,d){var e="mui-modal",f=function(a,b){if("A"===b.tagName&&b.hash){var d=c.getElementById(b.hash.replace("#",""));if(d&&d.classList.contains(e))return d}return!1};a.registerTarget({name:d,index:50,handle:f,target:!1,isReset:!1,isContinue:!0}),b.addEventListener("tap",function(b){a.targets.modal&&(b.detail.gesture.preventDefault(),a.targets.modal.classList.toggle("mui-active"))})}(mui,window,document,"modal"),function(a,b,c,d){var e="mui-popover",f="mui-popover-arrow",g="mui-popover-action",h="mui-backdrop",i="mui-bar-popover",j="mui-bar-backdrop",k="mui-backdrop-action",l="mui-active",m="mui-bottom",n=function(b,d){if("A"===d.tagName&&d.hash){if(a.targets._popover=c.getElementById(d.hash.replace("#","")),a.targets._popover&&a.targets._popover.classList.contains(e))return d;a.targets._popover=null}return!1};a.registerTarget({name:d,index:60,handle:n,target:!1,isReset:!1,isContinue:!0});var o,p=function(b){this.removeEventListener("webkitTransitionEnd",p),this.addEventListener(a.EVENT_MOVE,a.preventDefault),a.trigger(this,"shown",this)},q=function(b){u(this,"none"),this.removeEventListener("webkitTransitionEnd",q),this.removeEventListener(a.EVENT_MOVE,a.preventDefault),a.trigger(this,"hidden",this)},r=function(){var b=c.createElement("div");return b.classList.add(h),b.addEventListener(a.EVENT_MOVE,a.preventDefault),b.addEventListener("tap",function(b){var c=a.targets._popover;c&&(c.addEventListener("webkitTransitionEnd",q),c.classList.remove(l),s(c))}),b}(),s=function(b){r.setAttribute("style","opacity:0"),a.targets.popover=a.targets._popover=null,o=a.later(function(){!b.classList.contains(l)&&r.parentNode&&r.parentNode===c.body&&c.body.removeChild(r)},350)};b.addEventListener("tap",function(b){if(a.targets.popover){for(var d=!1,e=b.target;e&&e!==c;e=e.parentNode)e===a.targets.popover&&(d=!0);d&&(b.detail.gesture.preventDefault(),t(a.targets._popover,a.targets.popover))}});var t=function(a,b,d){if(!("show"===d&&a.classList.contains(l)||"hide"===d&&!a.classList.contains(l))){o&&o.cancel(),a.removeEventListener("webkitTransitionEnd",p),a.removeEventListener("webkitTransitionEnd",q),r.classList.remove(j),r.classList.remove(k);var e=c.querySelector(".mui-popover.mui-active");if(e&&(e.addEventListener("webkitTransitionEnd",q),e.classList.remove(l),a===e))return void s(e);var f=!1;(a.classList.contains(i)||a.classList.contains(g))&&(a.classList.contains(g)?(f=!0,r.classList.add(k)):r.classList.add(j)),u(a,"block"),a.offsetHeight,a.classList.add(l),r.setAttribute("style",""),c.body.appendChild(r),v(a,b,f),r.classList.add(l),a.addEventListener("webkitTransitionEnd",p)}},u=function(a,b,c,d){var e=a.style;"undefined"!=typeof b&&(e.display=b),"undefined"!=typeof c&&(e.top=c+"px"),"undefined"!=typeof d&&(e.left=d+"px")},v=function(d,e,h){if(d&&e){if(h)return void u(d,"block");var i=b.innerWidth,j=b.innerHeight,k=d.offsetWidth,l=d.offsetHeight,n=e.offsetWidth,o=e.offsetHeight,p=a.offset(e),q=d.querySelector("."+f);q||(q=c.createElement("div"),q.className=f,d.appendChild(q));var r=q&&q.offsetWidth/2||0,s=0,t=0,v=0,w=0,x=d.classList.contains(g)?0:5,y="top";l+rt&&(t=x),t+k>i&&(t=i-k-x),q&&("top"===y?q.classList.add(m):q.classList.remove(m),v-=t,w=k/2-r/2+v,w=Math.max(Math.min(w,k-2*r-6),6),q.setAttribute("style","left:"+w+"px"))):"middle"===y&&q.setAttribute("style","display:none"),u(d,"block",s,t)}};a.createMask=function(b){var d=c.createElement("div");d.classList.add(h),d.addEventListener(a.EVENT_MOVE,a.preventDefault),d.addEventListener("tap",function(){e.close()});var e=[d];return e._show=!1,e.show=function(){return e._show=!0,d.setAttribute("style","opacity:1"),c.body.appendChild(d),e},e._remove=function(){return e._show&&(e._show=!1,d.setAttribute("style","opacity:0"),a.later(function(){var a=c.body;d.parentNode===a&&a.removeChild(d)},350)),e},e.close=function(){b?b()!==!1&&e._remove():e._remove()},e},a.fn.popover=function(){var b=arguments;this.each(function(){a.targets._popover=this,("show"===b[0]||"hide"===b[0]||"toggle"===b[0])&&t(this,b[1],b[0])})}}(mui,window,document,"popover"),function(a,b,c,d,e){var f="mui-control-item",g="mui-segmented-control",h="mui-segmented-control-vertical",i="mui-control-content",j="mui-bar-tab",k="mui-tab-item",l=function(a,b){return b.classList&&(b.classList.contains(f)||b.classList.contains(k))?(b.parentNode&&b.parentNode.classList&&b.parentNode.classList.contains(h)||a.preventDefault(),b):!1};a.registerTarget({name:d,index:80,handle:l,target:!1}),b.addEventListener("tap",function(b){var e=a.targets.tab;if(e){for(var h,l,m,n="mui-active",o="."+n,p=e.parentNode;p&&p!==c;p=p.parentNode){if(p.classList.contains(g)){h=p.querySelector(o+"."+f);break}p.classList.contains(j)&&(h=p.querySelector(o+"."+k))}h&&h.classList.remove(n);var q=e===h;if(e&&e.classList.add(n),e.hash&&(m=c.getElementById(e.hash.replace("#","")))){if(!m.classList.contains(i))return void e.classList[q?"remove":"add"](n);if(!q){var r=m.parentNode;l=r.querySelectorAll("."+i+o);for(var s=0;sthis.handleX/2||!this.initialState&&a>this.handleX/2)&&(b=!0),this.lastChanged!==b&&(b?(this.handle.style.webkitTransform="translate("+(this.initialState?0:this.handleX)+"px,0)",this.classList[this.initialState?"remove":"add"](f)):(this.handle.style.webkitTransform="translate("+(this.initialState?this.handleX:0)+"px,0)",this.classList[this.initialState?"add":"remove"](f)),this.lastChanged=b)}}),a.fn["switch"]=function(b){var c=[];return this.each(function(){var b=null,d=this.getAttribute("data-switch");d?b=a.data[d]:(d=++a.uuid,a.data[d]=new k(this),this.setAttribute("data-switch",d)),c.push(b)}),c.length>1?c:c[0]},a.ready(function(){a("."+d)["switch"]()})}(mui,window,"toggle"),function(a,b,c){function d(a,b){var c=b?"removeEventListener":"addEventListener";a[c]("drag",F),a[c]("dragend",F),a[c]("swiperight",F),a[c]("swipeleft",F),a[c]("flick",F)}var e,f,g="mui-active",h="mui-selected",i="mui-grid-view",j="mui-table-view-radio",k="mui-table-view-cell",l="mui-collapse-content",m="mui-disabled",n="mui-switch",o="mui-btn",p="mui-slider-handle",q="mui-slider-left",r="mui-slider-right",s="mui-transitioning",t="."+p,u="."+q,v="."+r,w="."+h,x="."+o,y=.8,z=isOpened=openedActions=progress=!1,A=sliderActionLeft=sliderActionRight=buttonsLeft=buttonsRight=sliderDirection=sliderRequestAnimationFrame=!1,B=translateX=lastTranslateX=sliderActionLeftWidth=sliderActionRightWidth=0,C=function(a){a?f?f.classList.add(g):e&&e.classList.add(g):(B&&B.cancel(),f?f.classList.remove(g):e&&e.classList.remove(g))},D=function(){if(translateX!==lastTranslateX){if(buttonsRight&&buttonsRight.length>0){progress=translateX/sliderActionRightWidth,translateX<-sliderActionRightWidth&&(translateX=-sliderActionRightWidth-Math.pow(-translateX-sliderActionRightWidth,y));for(var a=0,b=buttonsRight.length;b>a;a++){var c=buttonsRight[a];"undefined"==typeof c._buttonOffset&&(c._buttonOffset=c.offsetLeft),buttonOffset=c._buttonOffset,E(c,translateX-buttonOffset*(1+Math.max(progress,-1)))}}if(buttonsLeft&&buttonsLeft.length>0){progress=translateX/sliderActionLeftWidth,translateX>sliderActionLeftWidth&&(translateX=sliderActionLeftWidth+Math.pow(translateX-sliderActionLeftWidth,y));for(var a=0,b=buttonsLeft.length;b>a;a++){var d=buttonsLeft[a];"undefined"==typeof d._buttonOffset&&(d._buttonOffset=sliderActionLeftWidth-d.offsetLeft-d.offsetWidth),buttonOffset=d._buttonOffset,buttonsLeft.length>1&&(d.style.zIndex=buttonsLeft.length-a),E(d,translateX+buttonOffset*(1-Math.min(progress,1)))}}E(A,translateX),lastTranslateX=translateX}sliderRequestAnimationFrame=requestAnimationFrame(function(){D()})},E=function(a,b){a&&(a.style.webkitTransform="translate("+b+"px,0)")};b.addEventListener(a.EVENT_START,function(b){e&&C(!1),e=f=!1,z=isOpened=openedActions=!1;for(var g=b.target,h=!1;g&&g!==c;g=g.parentNode)if(g.classList){var p=g.classList;if(("INPUT"===g.tagName&&"radio"!==g.type&&"checkbox"!==g.type||"BUTTON"===g.tagName||p.contains(n)||p.contains(o)||p.contains(m))&&(h=!0),p.contains(l))break;if(p.contains(k)){e=g;var q=e.parentNode.querySelector(w);if(!e.parentNode.classList.contains(j)&&q&&q!==e)return a.swipeoutClose(q),void(e=h=!1);if(!e.parentNode.classList.contains(i)){var r=e.querySelector("a");r&&r.parentNode===e&&(f=r)}var s=e.querySelector(t);s&&(d(e),b.stopPropagation()),h||(s?(B&&B.cancel(),B=a.later(function(){C(!0)},100)):C(!0));break}}}),b.addEventListener(a.EVENT_MOVE,function(a){C(!1)});var F={handleEvent:function(a){switch(a.type){case"drag":this.drag(a);break;case"dragend":this.dragend(a);break;case"flick":this.flick(a);break;case"swiperight":this.swiperight(a);break;case"swipeleft":this.swipeleft(a)}},drag:function(a){if(e){z||(A=sliderActionLeft=sliderActionRight=buttonsLeft=buttonsRight=sliderDirection=sliderRequestAnimationFrame=!1,A=e.querySelector(t),A&&(sliderActionLeft=e.querySelector(u),sliderActionRight=e.querySelector(v),sliderActionLeft&&(sliderActionLeftWidth=sliderActionLeft.offsetWidth,buttonsLeft=sliderActionLeft.querySelectorAll(x)),sliderActionRight&&(sliderActionRightWidth=sliderActionRight.offsetWidth,buttonsRight=sliderActionRight.querySelectorAll(x)),e.classList.remove(s),isOpened=e.classList.contains(h),isOpened&&(openedActions=e.querySelector(u+w)?"left":"right")));var b=a.detail,c=b.direction,d=b.angle;if("left"===c&&(d>150||-150>d)?(buttonsRight||buttonsLeft&&isOpened)&&(z=!0):"right"===c&&d>-30&&30>d&&(buttonsLeft||buttonsRight&&isOpened)&&(z=!0),z){a.stopPropagation(),a.detail.gesture.preventDefault();var f=a.detail.deltaX;if(isOpened&&("right"===openedActions?f-=sliderActionRightWidth:f+=sliderActionLeftWidth),f>0&&!buttonsLeft||0>f&&!buttonsRight){if(!isOpened)return;f=0}0>f?sliderDirection="toLeft":f>0?sliderDirection="toRight":sliderDirection||(sliderDirection="toLeft"),sliderRequestAnimationFrame||D(),translateX=f}}},flick:function(a){z&&a.stopPropagation()},swipeleft:function(a){z&&a.stopPropagation()},swiperight:function(a){z&&a.stopPropagation()},dragend:function(b){if(z){b.stopPropagation(),sliderRequestAnimationFrame&&(cancelAnimationFrame(sliderRequestAnimationFrame),sliderRequestAnimationFrame=null);var c=b.detail;z=!1;var d="close",f="toLeft"===sliderDirection?sliderActionRightWidth:sliderActionLeftWidth,g=c.swipe||Math.abs(translateX)>f/2;g&&(isOpened?"left"===c.direction&&"right"===openedActions?d="open":"right"===c.direction&&"left"===openedActions&&(d="open"):d="open"),e.classList.add(s);var i;if("open"===d){var j="toLeft"===sliderDirection?-f:f;if(E(A,j),i="toLeft"===sliderDirection?buttonsRight:buttonsLeft,"undefined"!=typeof i){for(var k=null,l=0;l0&&buttonsLeft!==i)for(var l=0,n=buttonsLeft.length;n>l;l++){var o=buttonsLeft[l];m=o._buttonOffset,"undefined"==typeof m&&(o._buttonOffset=sliderActionLeftWidth-o.offsetLeft-o.offsetWidth),E(o,m)}if(buttonsRight&&buttonsRight.length>0&&buttonsRight!==i)for(var l=0,n=buttonsRight.length;n>l;l++){var p=buttonsRight[l];m=p._buttonOffset,"undefined"==typeof m&&(p._buttonOffset=p.offsetLeft),E(p,-m)}}}};a.swipeoutOpen=function(b,c){if(b){var d=b.classList;if(!d.contains(h)){c||(c=b.querySelector(v)?"right":"left");var e=b.querySelector(a.classSelector(".slider-"+c));if(e){e.classList.add(h),d.add(h),d.remove(s);for(var f,g=e.querySelectorAll(x),i=e.offsetWidth,j="right"===c?-i:i,k=g.length,l=0;k>l;l++)f=g[l],"right"===c?E(f,-f.offsetLeft):E(f,i-f.offsetWidth-f.offsetLeft);d.add(s);for(var l=0;k>l;l++)E(g[l],j);E(b.querySelector(t),j)}}}},a.swipeoutClose=function(b){if(b){var c=b.classList;if(c.contains(h)){var d=b.querySelector(v+w)?"right":"left",e=b.querySelector(a.classSelector(".slider-"+d));if(e){e.classList.remove(h),c.remove(h),c.add(s);var f,g=e.querySelectorAll(x),i=e.offsetWidth,j=g.length;E(b.querySelector(t),0);for(var k=0;j>k;k++)f=g[k],"right"===d?E(f,-f.offsetLeft):E(f,i-f.offsetWidth-f.offsetLeft)}}}},b.addEventListener(a.EVENT_END,function(a){e&&(C(!1),A&&d(e,!0))}),b.addEventListener(a.EVENT_CANCEL,function(a){e&&(C(!1),A&&d(e,!0))});var G=function(b){var c=b.target&&b.target.type||"";if("radio"!==c&&"checkbox"!==c){var d=e.classList;if(d.contains("mui-radio")){var f=e.querySelector("input[type=radio]");f&&(f.disabled||f.readOnly||(f.checked=!f.checked,a.trigger(f,"change")))}else if(d.contains("mui-checkbox")){var f=e.querySelector("input[type=checkbox]");f&&(f.disabled||f.readOnly||(f.checked=!f.checked,a.trigger(f,"change")))}}};b.addEventListener(a.EVENT_CLICK,function(a){e&&e.classList.contains("mui-collapse")&&a.preventDefault()}),b.addEventListener("doubletap",function(a){e&&G(a)});var H=/^(INPUT|TEXTAREA|BUTTON|SELECT)$/;b.addEventListener("tap",function(b){if(e){var c=!1,d=e.classList,f=e.parentNode;if(f&&f.classList.contains(j)){if(d.contains(h))return;var i=f.querySelector("li"+w);return i&&i.classList.remove(h),d.add(h),void a.trigger(e,"selected",{el:e})}if(d.contains("mui-collapse")&&!e.parentNode.classList.contains("mui-unfold")){if(H.test(b.target.tagName)||b.detail.gesture.preventDefault(),!d.contains(g)){var k=e.parentNode.querySelector(".mui-collapse.mui-active");k&&k.classList.remove(g),c=!0}d.toggle(g),c&&a.trigger(e,"expand")}else G(b)}})}(mui,window,document),function(a,b){a.alert=function(c,d,e,f){if(a.os.plus){if("undefined"==typeof c)return;"function"==typeof d?(f=d,d=null,e="确定"):"function"==typeof e&&(f=e,e=null),a.plusReady(function(){plus.nativeUI.alert(c,f,d,e)})}else b.alert(c)}}(mui,window),function(a,b){a.confirm=function(c,d,e,f){if(a.os.plus){if("undefined"==typeof c)return;"function"==typeof d?(f=d,d=null,e=null):"function"==typeof e&&(f=e,e=null),a.plusReady(function(){plus.nativeUI.confirm(c,f,d,e)})}else f(b.confirm(c)?{index:0}:{index:1})}}(mui,window),function(a,b){a.prompt=function(c,d,e,f,g){if(a.os.plus){if("undefined"==typeof message)return;"function"==typeof d?(g=d,d=null,e=null,f=null):"function"==typeof e?(g=e,e=null,f=null):"function"==typeof f&&(g=f,f=null),a.plusReady(function(){plus.nativeUI.prompt(c,g,e,d,f)})}else{var h=b.prompt(c);g(h?{index:0,value:h}:{index:1,value:""})}}}(mui,window),function(a,b){var c="mui-active";a.toast=function(b,d){var e={"long":3500,"short":2e3};if(d=a.extend({duration:"short"},d||{}),!a.os.plus||"div"===d.type){"number"==typeof d.duration?duration=d.duration>0?d.duration:e["short"]:duration=e[d.duration],duration||(duration=e["short"]);var f=document.createElement("div");return f.classList.add("mui-toast-container"),f.innerHTML='
'+b+"
",f.addEventListener("webkitTransitionEnd",function(){f.classList.contains(c)||(f.parentNode.removeChild(f),f=null)}),f.addEventListener("click",function(){f.parentNode.removeChild(f),f=null}),document.body.appendChild(f),f.offsetHeight,f.classList.add(c),setTimeout(function(){f&&f.classList.remove(c)},duration),{isVisible:function(){return!!f}}}a.plusReady(function(){plus.nativeUI.toast(b,{verticalAlign:"bottom",duration:d.duration})})}}(mui,window),function(a,b,c){var d="mui-popup",e="mui-popup-backdrop",f="mui-popup-in",g="mui-popup-out",h="mui-popup-inner",i="mui-popup-title",j="mui-popup-text",k="mui-popup-input",l="mui-popup-buttons",m="mui-popup-button",n="mui-popup-button-bold",e="mui-popup-backdrop",o="mui-active",p=[],q=function(){var b=c.createElement("div");return b.classList.add(e),b.addEventListener(a.EVENT_MOVE,a.preventDefault),b.addEventListener("webkitTransitionEnd",function(){this.classList.contains(o)||b.parentNode&&b.parentNode.removeChild(b)}),b}(),r=function(a){return'
'},s=function(a,b,c){return'
'+b+'
'+a.replace(/\r\n/g,"
").replace(/\n/g,"
")+"
"+(c||"")+"
"},t=function(a){for(var b=a.length,c=[],d=0;b>d;d++)c.push(''+a[d]+"");return'
'+c.join("")+"
"},u=function(b,e){var h=c.createElement("div");h.className=d,h.innerHTML=b;var i=function(){h.parentNode&&h.parentNode.removeChild(h),h=null};h.addEventListener(a.EVENT_MOVE,a.preventDefault),h.addEventListener("webkitTransitionEnd",function(a){h&&a.target===h&&h.classList.contains(g)&&i()}),h.style.display="block",c.body.appendChild(h),h.offsetHeight,h.classList.add(f),q.classList.contains(o)||(q.style.display="block",c.body.appendChild(q),q.offsetHeight,q.classList.add(o));var j=a.qsa("."+m,h),l=h.querySelector("."+k+" input"),n={element:h,close:function(a,b){if(h){var c=e&&e({index:a||0,value:l&&l.value||""});if(c===!1)return;b!==!1?(h.classList.remove(f),h.classList.add(g)):i(),p.pop(),p.length?p[p.length-1].show(b):q.classList.remove(o)}}},r=function(a){n.close(j.indexOf(a.target))};return a(h).on("tap","."+m,r),p.length&&p[p.length-1].hide(),p.push({close:n.close,show:function(a){h.style.display="block",h.offsetHeight,h.classList.add(f)},hide:function(){h.style.display="none",h.classList.remove(f)}}),n},v=function(b,c,d,e,f){return"undefined"!=typeof b?("function"==typeof c?(e=c,f=d,c=null,d=null):"function"==typeof d&&(f=e,e=d,d=null),a.os.plus&&"div"!==f?plus.nativeUI.alert(b,e,c||"提示",d||"确定"):u(s(b,c||"提示")+t([d||"确定"]),e)):void 0},w=function(b,c,d,e,f){return"undefined"!=typeof b?("function"==typeof c?(e=c,f=d,c=null,d=null):"function"==typeof d&&(f=e,e=d,d=null),a.os.plus&&"div"!==f?plus.nativeUI.confirm(b,e,c,d||["取消","确认"]):u(s(b,c||"提示")+t(d||["取消","确认"]),e)):void 0},x=function(b,c,d,e,f,g){return"undefined"!=typeof b?("function"==typeof c?(f=c,g=d,c=null,d=null,e=null):"function"==typeof d?(f=d,g=e,d=null,e=null):"function"==typeof e&&(g=f,f=e,e=null),a.os.plus&&"div"!==g?plus.nativeUI.prompt(b,f,d||"提示",c,e||["取消","确认"]):u(s(b,d||"提示",r(c))+t(e||["取消","确认"]),f)):void 0},y=function(){return p.length?(p[p.length-1].close(),!0):!1},z=function(){for(;p.length;)p[p.length-1].close()};a.closePopup=y,a.closePopups=z,a.alert=v,a.confirm=w,a.prompt=x}(mui,window,document),function(a,b){var c="mui-progressbar",d="mui-progressbar-in",e="mui-progressbar-out",f="mui-progressbar-infinite",g=".mui-progressbar",h=function(b){if(b=a(b||"body"),0!==b.length){if(b=b[0],b.classList.contains(c))return b;var d=b.querySelectorAll(g);if(d)for(var e=0,f=d.length;f>e;e++){var h=d[e];if(h.parentNode===b)return h}}},i=function(h,i,j){if("number"==typeof h&&(j=i,i=h,h="body"),h=a(h||"body"),0!==h.length){h=h[0];var l;if(h.classList.contains(c))l=h;else{var m=h.querySelectorAll(g+":not(."+e+")");if(m)for(var n=0,o=m.length;o>n;n++){var p=m[n];if(p.parentNode===h){l=p;break}}l?l.classList.add(d):(l=b.createElement("span"),l.className=c+" "+d+("undefined"!=typeof i?"":" "+f)+(j?" "+c+"-"+j:""),"undefined"!=typeof i&&(l.innerHTML=""),h.appendChild(l))}return i&&k(h,i),l}},j=function(a){var b=h(a);if(b){var c=b.classList;c.contains(d)&&!c.contains(e)&&(c.remove(d),c.add(e),b.addEventListener("webkitAnimationEnd",function(){b.parentNode&&b.parentNode.removeChild(b),b=null}))}},k=function(a,b,c){"number"==typeof a&&(c=b,b=a,a=!1);var d=h(a);if(d&&!d.classList.contains(f)){b&&(b=Math.min(Math.max(b,0),100)),d.offsetHeight;var e=d.querySelector("span");if(e){var g=e.style;g.webkitTransform="translate3d("+(-100+b)+"%,0,0)","undefined"!=typeof c?g.webkitTransitionDuration=c+"ms":g.webkitTransitionDuration=""}return d}};a.fn.progressbar=function(a){var b=[];return a=a||{},this.each(function(){var c=this,d=c.mui_plugin_progressbar;d?a&&d.setOptions(a):c.mui_plugin_progressbar=d={options:a,setOptions:function(a){this.options=a},show:function(){return i(c,this.options.progress,this.options.color)},setProgress:function(a){return k(c,a)},hide:function(){return j(c)}},b.push(d)}),1===b.length?b[0]:b}}(mui,document),function(a,b,c){var d="mui-icon",e="mui-icon-clear",f="mui-icon-speech",g="mui-icon-search",h="mui-icon-eye",i="mui-input-row",j="mui-placeholder",k="mui-tooltip",l="mui-hidden",m="mui-focusin",n="."+e,o="."+f,p="."+h,q="."+j,r="."+k,s=function(a){for(;a&&a!==c;a=a.parentNode)if(a.classList&&a.classList.contains(i))return a;return null},t=function(a,b){this.element=a,this.options=b||{actions:"clear"},~this.options.actions.indexOf("slider")?(this.sliderActionClass=k+" "+l,this.sliderActionSelector=r):(~this.options.actions.indexOf("clear")&&(this.clearActionClass=d+" "+e+" "+l,this.clearActionSelector=n),~this.options.actions.indexOf("speech")&&(this.speechActionClass=d+" "+f,this.speechActionSelector=o),~this.options.actions.indexOf("search")&&(this.searchActionClass=j,this.searchActionSelector=q),~this.options.actions.indexOf("password")&&(this.passwordActionClass=d+" "+h,this.passwordActionSelector=p)),this.init()};t.prototype.init=function(){this.initAction(),this.initElementEvent()},t.prototype.initAction=function(){var b=this,c=b.element.parentNode;c&&(b.sliderActionClass?b.sliderAction=b.createAction(c,b.sliderActionClass,b.sliderActionSelector):(b.searchActionClass&&(b.searchAction=b.createAction(c,b.searchActionClass,b.searchActionSelector),b.searchAction.addEventListener("tap",function(c){a.focus(b.element),c.stopPropagation()})),b.speechActionClass&&(b.speechAction=b.createAction(c,b.speechActionClass,b.speechActionSelector),b.speechAction.addEventListener("click",a.stopPropagation),b.speechAction.addEventListener("tap",function(a){b.speechActionClick(a)})),b.clearActionClass&&(b.clearAction=b.createAction(c,b.clearActionClass,b.clearActionSelector),b.clearAction.addEventListener("tap",function(a){b.clearActionClick(a)})),b.passwordActionClass&&(b.passwordAction=b.createAction(c,b.passwordActionClass,b.passwordActionSelector),b.passwordAction.addEventListener("tap",function(a){b.passwordActionClick(a)}))))},t.prototype.createAction=function(a,b,e){var f=a.querySelector(e);if(!f){var f=c.createElement("span");f.className=b,b===this.searchActionClass&&(f.innerHTML=''+this.element.getAttribute("placeholder")+"",this.element.setAttribute("placeholder",""),this.element.value.trim()&&a.classList.add("mui-active")),a.insertBefore(f,this.element.nextSibling)}return f},t.prototype.initElementEvent=function(){var b=this.element;if(this.sliderActionClass){var c=this.sliderAction,d=null,e=function(){c.classList.remove(l);var a=b.offsetLeft,e=b.offsetWidth-28,f=c.offsetWidth,g=Math.abs(b.max-b.min),h=e/g*Math.abs(b.value-b.min);c.style.left=14+a+h-f/2+"px",c.innerText=b.value,d&&clearTimeout(d),d=setTimeout(function(){c.classList.add(l)},1e3)};b.addEventListener("input",e),b.addEventListener("tap",e),b.addEventListener(a.EVENT_MOVE,function(a){a.stopPropagation()})}else{if(this.clearActionClass){var f=this.clearAction;if(!f)return;a.each(["keyup","change","input","focus","cut","paste"],function(a,c){!function(a){b.addEventListener(a,function(){f.classList[b.value.trim()?"remove":"add"](l)})}(c)}),b.addEventListener("blur",function(){f.classList.add(l)})}this.searchActionClass&&(b.addEventListener("focus",function(){b.parentNode.classList.add("mui-active")}),b.addEventListener("blur",function(){b.value.trim()||b.parentNode.classList.remove("mui-active")}))}},t.prototype.setPlaceholder=function(a){if(this.searchActionClass){var b=this.element.parentNode.querySelector(q);b&&(b.getElementsByTagName("span")[1].innerText=a)}else this.element.setAttribute("placeholder",a)},t.prototype.passwordActionClick=function(a){"text"===this.element.type?this.element.type="password":this.element.type="text",this.passwordAction.classList.toggle("mui-active"),a.preventDefault()},t.prototype.clearActionClick=function(b){var c=this;c.element.value="",a.focus(c.element),c.clearAction.classList.add(l),b.preventDefault()},t.prototype.speechActionClick=function(d){if(b.plus){var e=this,f=e.element.value;e.element.value="",c.body.classList.add(m),plus.speech.startRecognize({engine:"iFly"},function(b){e.element.value+=b,a.focus(e.element),plus.speech.stopRecognize(),a.trigger(e.element,"recognized",{value:e.element.value}),f!==e.element.value&&(a.trigger(e.element,"change"),a.trigger(e.element,"input"))},function(a){c.body.classList.remove(m)})}else alert("only for 5+");d.preventDefault()},a.fn.input=function(b){var c=[];return this.each(function(){var b=null,d=[],e=s(this.parentNode);if("range"===this.type&&e.classList.contains("mui-input-range"))d.push("slider");else{var f=this.classList;f.contains("mui-input-clear")&&d.push("clear"),a.os.android&&a.os.stream||!f.contains("mui-input-speech")||d.push("speech"),f.contains("mui-input-password")&&d.push("password"),"search"===this.type&&e.classList.contains("mui-search")&&d.push("search")}var g=this.getAttribute("data-input-"+d[0]);if(g)b=a.data[g];else{g=++a.uuid,b=a.data[g]=new t(this,{actions:d.join(",")});for(var h=0,i=d.length;i>h;h++)this.setAttribute("data-input-"+d[h],g)}c.push(b)}),1===c.length?c[0]:c},a.ready(function(){a(".mui-input-row input").input()})}(mui,window,document),function(a,b){var c="mui-active",d=/^rgba\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3}),\s*(\d*(?:\.\d+)?)\)$/,e=function(a){var b=a.match(d);return b&&5===b.length?[b[1],b[2],b[3],b[4]]:[]},f=function(c,d){if(this.element=c,this.options=a.extend({top:0,offset:150,duration:16,scrollby:b},d||{}),this.scrollByElem=this.options.scrollby||b,!this.scrollByElem)throw new Error("监听滚动的元素不存在");this.isNativeScroll=!1,this.scrollByElem===b?this.isNativeScroll=!0:~this.scrollByElem.className.indexOf("mui-scroll-wrapper")||(this.isNativeScroll=!0),this._style=this.element.style,this._bgColor=this._style.backgroundColor;var f=e(mui.getStyles(this.element,"backgroundColor"));if(!f.length)throw new Error("元素背景颜色必须为RGBA");this._R=f[0],this._G=f[1],this._B=f[2],this._A=parseFloat(f[3]),this.lastOpacity=this._A,this._bufferFn=a.buffer(this.handleScroll,this.options.duration,this),this.initEvent()};f.prototype.initEvent=function(){this.scrollByElem.addEventListener("scroll",this._bufferFn),this.isNativeScroll&&this.scrollByElem.addEventListener(a.EVENT_MOVE,this._bufferFn)},f.prototype.handleScroll=function(d){var e=b.scrollY;!this.isNativeScroll&&d&&d.detail&&(e=-d.detail.y);var f=(e-this.options.top)/this.options.offset+this._A;f=Math.min(Math.max(this._A,f),1),this._style.backgroundColor="rgba("+this._R+","+this._G+","+this._B+","+f+")",f>this._A?this.element.classList.add(c):this.element.classList.remove(c),this.lastOpacity!==f&&(a.trigger(this.element,"alpha",{alpha:f}),this.lastOpacity=f)},f.prototype.destory=function(){this.scrollByElem.removeEventListener("scroll",this._bufferFn),this.scrollByElem.removeEventListener(a.EVENT_MOVE,this._bufferFn),this.element.style.backgroundColor=this._bgColor,this.element.mui_plugin_transparent=null},a.fn.transparent=function(a){a=a||{};var c=[];return this.each(function(){var d=this.mui_plugin_transparent;if(!d){var e=this.getAttribute("data-top"),g=this.getAttribute("data-offset"),h=this.getAttribute("data-duration"),i=this.getAttribute("data-scrollby");null!==e&&"undefined"==typeof a.top&&(a.top=e),null!==g&&"undefined"==typeof a.offset&&(a.offset=g),null!==h&&"undefined"==typeof a.duration&&(a.duration=h),null!==i&&"undefined"==typeof a.scrollby&&(a.scrollby=document.querySelector(i)||b),d=this.mui_plugin_transparent=new f(this,a)}c.push(d)}),1===c.length?c[0]:c},a.ready(function(){a(".mui-bar-transparent").transparent()})}(mui,window),function(a){var b="ontouchstart"in document,c=b?"tap":"click",d="change",e="mui-numbox",f=".mui-btn-numbox-plus,.mui-numbox-btn-plus",g=".mui-btn-numbox-minus,.mui-numbox-btn-minus",h=".mui-input-numbox,.mui-numbox-input",i=a.Numbox=a.Class.extend({init:function(b,c){var d=this;if(!b)throw"构造 numbox 时缺少容器元素";d.holder=b,c=c||{},c.step=parseInt(c.step||1),d.options=c,d.input=a.qsa(h,d.holder)[0],d.plus=a.qsa(f,d.holder)[0],d.minus=a.qsa(g,d.holder)[0],d.checkValue(),d.initEvent()},initEvent:function(){var b=this;b.plus.addEventListener(c,function(c){var e=parseInt(b.input.value)+b.options.step;b.input.value=e.toString(),a.trigger(b.input,d,null)}),b.minus.addEventListener(c,function(c){var e=parseInt(b.input.value)-b.options.step;b.input.value=e.toString(),a.trigger(b.input,d,null)}),b.input.addEventListener(d,function(c){b.checkValue();var e=parseInt(b.input.value);a.trigger(b.holder,d,{value:e})})},getValue:function(){var a=this;return parseInt(a.input.value)},checkValue:function(){var a=this,b=a.input.value;if(null==b||""==b||isNaN(b))a.input.value=a.options.min||0,a.minus.disabled=null!=a.options.min;else{var b=parseInt(b);null!=a.options.max&&!isNaN(a.options.max)&&b>=parseInt(a.options.max)?(b=a.options.max,a.plus.disabled=!0):a.plus.disabled=!1,null!=a.options.min&&!isNaN(a.options.min)&&b<=parseInt(a.options.min)?(b=a.options.min,a.minus.disabled=!0):a.minus.disabled=!1,a.input.value=b}},setOption:function(a,b){var c=this;c.options[a]=b},setValue:function(a){this.input.value=a,this.checkValue()}});a.fn.numbox=function(a){return this.each(function(a,b){if(!b.numbox)if(d)b.numbox=new i(b,d);else{var c=b.getAttribute("data-numbox-options"),d=c?JSON.parse(c):{};d.step=b.getAttribute("data-numbox-step")||d.step,d.min=b.getAttribute("data-numbox-min")||d.min,d.max=b.getAttribute("data-numbox-max")||d.max,b.numbox=new i(b,d)}}),this[0]?this[0].numbox:null},a.ready(function(){a("."+e).numbox()})}(mui),function(a,b,c){var d="mui-disabled",e="reset",f="loading",g={loadingText:"Loading...",loadingIcon:"mui-spinner mui-spinner-white",loadingIconPosition:"left"},h=function(b,c){this.element=b,this.options=a.extend({},g,c),this.options.loadingText||(this.options.loadingText=g.loadingText),null===this.options.loadingIcon&&(this.options.loadingIcon="mui-spinner","rgb(255, 255, 255)"===a.getStyles(this.element,"color")&&(this.options.loadingIcon+=" mui-spinner-white")),this.isInput="INPUT"===this.element.tagName,this.resetHTML=this.isInput?this.element.value:this.element.innerHTML,this.state=""};h.prototype.loading=function(){this.setState(f)},h.prototype.reset=function(){this.setState(e)},h.prototype.setState=function(a){if(this.state===a)return!1;if(this.state=a,a===e)this.element.disabled=!1,this.element.classList.remove(d),this.setHtml(this.resetHTML);else if(a===f){this.element.disabled=!0,this.element.classList.add(d);var b=this.isInput?this.options.loadingText:""+this.options.loadingText+"";this.options.loadingIcon&&!this.isInput&&("right"===this.options.loadingIconPosition?b+=' ':b=' '+b),this.setHtml(b)}},h.prototype.setHtml=function(a){this.isInput?this.element.value=a:this.element.innerHTML=a},a.fn.button=function(a){var b=[];return this.each(function(){var c=this.mui_plugin_button;if(!c){var d=this.getAttribute("data-loading-text"),g=this.getAttribute("data-loading-icon"),i=this.getAttribute("data-loading-icon-position");this.mui_plugin_button=c=new h(this,{loadingText:d,loadingIcon:g,loadingIconPosition:i})}(a===f||a===e)&&c.setState(a),b.push(c)}),1===b.length?b[0]:b}}(mui,window,document); \ No newline at end of file diff --git a/codes/news_recsys/news_rec_web/Vue-newsinfo/src/main.js b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/main.js new file mode 100644 index 00000000..45866877 --- /dev/null +++ b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/main.js @@ -0,0 +1,132 @@ +// 导入vue +import Vue from 'vue' +// 导入根组件 +import App from './App.vue' + +// 导入路由 +import VueRouter from 'vue-router' + +Vue.use(VueRouter); + +// 导入axios,axios不是一个插件所以不能Vue.use使用,vue-axios是个插件。 +import axios from 'axios' +import VueAxios from 'vue-axios' + + +// Vue.prototype.$http = axios +Vue.use(VueAxios, axios); +// axios公共基路径,以后所有的请求都会在前面加上这个路径 +axios.defaults.baseURL = "http://10.170.4.60:3000"; + +// 设置表单提交方式,默认是 json +axios.defaults.headers['Content-Type'] = 'application/x-www-form-urlencoded'; +// 请求超时时间 +// axios.defaults.timeout=5000; + +// 导入缩略图插件 +import VuePreview from 'vue-preview' + +Vue.use(VuePreview); + +// 导入Vue的组件 +import routerObj from './router.js' + +// 全局组件 +// 时间过滤组件 +import moment from 'moment' // node的一个时间格式化插件 +// 定义全局时间过滤的组件 +Vue.filter('timeFormat', function (dataStr, pattern = "YYYY-MM-DD HH:mm:ss") { + return moment(dataStr).format(pattern) +}); + + +// 三方组件 +// 导入mint-ui组件,不建议全部导入体积太大 +// 按需导入:先安装babel-plugin-component,然后在.babelrc加上官网说的配置加载css,如下 +import Mint from 'mint-ui'; + + +import CityPicker from 'vue-addr-picker'; +Vue.use(CityPicker) + +Vue.use(Mint); +import 'mint-ui/lib/style.css' + + +// 导入mui的css样式 +import './lib/mui/css/mui.css' +import './lib/mui/css/icons-extra.css' + +// import { Field } from 'mint-ui'; + +// Vue.component(Field.name, Field); + + +// import './assets/css/index.less' +import { Form } from 'vant'; +import { Field } from 'vant'; +import { RadioGroup, Radio } from 'vant'; +import 'vant/lib/radio/style' +import 'vant/lib/radio-group/style' +import { Area } from 'vant'; +import 'vant/lib/area/style' +import { Popup } from 'vant'; +import 'vant/lib/popup/style' +Vue.use(Popup); + +Vue.use(Area); +Vue.use(Form); +Vue.use(Field); +Vue.use(Radio); +Vue.use(RadioGroup); + +import { Checkbox } from 'vant'; +Vue.use(Checkbox); + +import { List } from 'vant'; +Vue.use(List); +import { Cell } from 'vant' +Vue.use(Cell) +import { PullRefresh } from 'vant' +Vue.use(PullRefresh) +import { Tab, Tabs } from 'vant'; +import 'vant/lib/tab/style' +import 'vant/lib/tabs/style' +Vue.use(Tab); +Vue.use(Tabs); +import { Tabbar, TabbarItem } from 'vant'; +import 'vant/lib/tabbar/style' +import 'vant/lib/tabbar-item/style' +Vue.use(Tabbar); +Vue.use(TabbarItem); +import { NavBar } from 'vant'; +import 'vant/lib/nav-bar/style' +Vue.use(NavBar); +import { Button } from 'vant'; +import 'vant/lib/button/style' +Vue.use(Button); + + + +Vue.config.devtools = false; //生产环境中需要设置为false +Vue.config.productionTip = false; //阻止vue启动时生成生产消息 + + +import cookie from './assets/js/cookie' +Vue.prototype.cookie = cookie + + + + +// 创建vue对象 +let vm = new Vue({ + el: '#app', + data() { + return {} + }, + methods: {}, + render: c => c(App), + router: routerObj +}); + + diff --git a/codes/news_recsys/news_rec_web/Vue-newsinfo/src/router.js b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/router.js new file mode 100644 index 00000000..b13bd1cd --- /dev/null +++ b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/router.js @@ -0,0 +1,123 @@ +// 导入VueRoute路由组件 +import VueRouter from 'vue-router' + +//导入cookie +import cookie from './assets/js/cookie' + +import Myself from "./components/Myself.vue"; +// 新闻组件 +import NewsLists from "./components/NewsLists.vue"; +import NewsInfo from "./components/NewsInfo.vue"; +import Login from './components/Login.vue' +import signIn from './components/signIn.vue' +import signUp from './components/signUp.vue' + +let routerObj = new VueRouter({ + // mode: 'history', + routes: [ + { + path: '/', + component: signIn, + meta: { + isPublic: true, + keepAlive: false, + scrollTop: 0 + }, + + }, + { + path: '/signUp', + component: signUp, + meta: { + isPublic: true, + keepAlive: false, + scrollTop: 0 + }, + + }, + { + path: '/NewsLists', + component: NewsLists, + meta: { + isPublic: false, + keepAlive: true, + scrollTop: 0 + } + }, + { + path: '/Myself', + component: Myself, + meta: { + isPublic: false, + keepAlive: false, + scrollTop: 0 + }, + + }, + { + path: '/NewsInfo/:id', + name: 'NewsInfo', + component: NewsInfo, + meta: { + isPublic: false, + keepAlive: false, + scrollTop: 0 + } + }, + ], + linkActiveClass: 'mui-active', +}) + +// 解决ElementUI导航栏中的vue-router在3.0版本以上重复点菜单报错问题 +const originalPush = VueRouter.prototype.push +VueRouter.prototype.push = function push(location) { + return originalPush.call(this, location).catch(err => err) +} + +// 未登录直接跳转至登录页 +// routerObj.beforeEach(async (to, from, next) => { +// console.log(localStorage.tokens) +// if (!to.meta.isPublic && !localStorage.username) { +// return next('/login') +// } +// next() +// }) + +/* +* beforeEach:从一个页面跳转到另外一个页面时触发 +* to:要跳转的页面 +* from:从哪个页面出来 +* next:决定是否通过 +*/ + +/* router.beforeEach意思是在router.index设置了一个全局守卫, +只要发生页面跳转,会执行里面的代码,首先先去判断跳转的页面是否存在, +调用cookie.getCookie()方法读取用户信息, +如果不存在代表没有登录,用next('/Login')进入Login登录页面进行登录, +如果读取到了用户信息,不做拦截直接放行。 */ + +routerObj.beforeEach((to, from, next) => { + if (cookie.getCookie("openId")) { + next() + } else { + if (to.path === "/") { + next() + } if (to.path == '/signUp') { + next() + } else { + next('/') + } + } + // if (from.meta.keepAlive) { + // const $wrapper = document.querySelector('.van-tabs__content'); // 列表的外层容器 注意找到滚动的盒子 + // console.log($wrapper); + // const scrollTop = $wrapper ? $wrapper.scrollTop : 0; + // console.log('scrollTop=', scrollTop) + // from.meta.scrollTop = scrollTop; + // } + // next(); +}) + + +// 把routerObj对象暴漏出去。main.js导入这个数据 +export default routerObj \ No newline at end of file diff --git a/codes/news_recsys/news_rec_web/Vue-newsinfo/vue.config.js b/codes/news_recsys/news_rec_web/Vue-newsinfo/vue.config.js new file mode 100644 index 00000000..a2cc6b6b --- /dev/null +++ b/codes/news_recsys/news_rec_web/Vue-newsinfo/vue.config.js @@ -0,0 +1,22 @@ +module.exports = { + publicPath: './', // 基本路径 + outputDir: 'dist', // 输出文件目录 + assetsDir: "static", //放置生成的静态文件目录(js css img) + productionSourceMap: false, // 生产环境是否生成 sourceMap 文件 + + chainWebpack: config => { + config.resolve.alias + .set('@', resolve('src')) + .set('assets', resolve('src/assets')) + .set('components', resolve('src/components')) + }, + configureWebpack: (config) => { + if (process.env.NODE_ENV === 'production') {// 为生产环境修改配置... + config.mode = 'production'; + config["performance"] = {//打包文件大小配置 + "maxEntrypointSize": 10000000, + "maxAssetSize": 30000000 + } + } + } +} diff --git a/codes/news_recsys/news_rec_web/Vue-newsinfo/webpack.config.js b/codes/news_recsys/news_rec_web/Vue-newsinfo/webpack.config.js new file mode 100644 index 00000000..6eaebc8c --- /dev/null +++ b/codes/news_recsys/news_rec_web/Vue-newsinfo/webpack.config.js @@ -0,0 +1,110 @@ +// 导入处理路径的模块 +const path = require('path'); + + +// 导入在内存中生成 HTML 页面的 插件 +// 只要是插件,都一定要 放到 plugins 节点中去 +// 这个插件的两个作用: +// 1. 自动在内存中根据指定页面生成一个内存的页面 +// 2. 自动,把打包好的 bundle.js 追加到页面中去 +const htmlWebpackPlugin = require('html-webpack-plugin'); + +// 配置vue这个插件是必须的! 它的职责是将你定义过的其它规则复制并应用到 .vue 文件里相应语言的块。例如,如果你有一条匹配 /\.js$/ 的规则,那么它会应用到 .vue 文件里的